]> scripts.mit.edu Git - autoinstalls/wordpress.git/commitdiff
WordPress 3.9-scripts wordpress-3.9-scripts
authorEdward Z. Yang <ezyang@cs.stanford.edu>
Wed, 21 May 2014 23:18:14 +0000 (16:18 -0700)
committerEdward Z. Yang <ezyang@cs.stanford.edu>
Wed, 21 May 2014 23:18:14 +0000 (16:18 -0700)
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
863 files changed:
license.txt
readme.html
wp-activate.php
wp-admin/about.php
wp-admin/admin-ajax.php
wp-admin/admin-footer.php
wp-admin/admin-functions.php
wp-admin/admin-header.php
wp-admin/admin.php
wp-admin/async-upload.php
wp-admin/comment.php
wp-admin/credits.php
wp-admin/css/about-rtl.css [new file with mode: 0644]
wp-admin/css/about.css [new file with mode: 0644]
wp-admin/css/admin-menu-rtl.css [new file with mode: 0644]
wp-admin/css/admin-menu.css [new file with mode: 0644]
wp-admin/css/color-picker-rtl.css
wp-admin/css/color-picker-rtl.min.css
wp-admin/css/color-picker.css
wp-admin/css/color-picker.min.css
wp-admin/css/colors-rtl.css [deleted file]
wp-admin/css/colors-rtl.min.css [deleted file]
wp-admin/css/colors.css [deleted file]
wp-admin/css/colors.min.css [deleted file]
wp-admin/css/colors/_admin.scss
wp-admin/css/colors/_mixins.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/blue/colors.scss
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/coffee/colors.scss
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/ectoplasm/colors.scss
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/midnight/colors.scss
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/ocean/colors.scss
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/colors/sunrise/colors.scss
wp-admin/css/common-rtl.css [new file with mode: 0644]
wp-admin/css/common.css [new file with mode: 0644]
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-widgets-rtl.css [new file with mode: 0644]
wp-admin/css/customize-widgets-rtl.min.css [new file with mode: 0644]
wp-admin/css/customize-widgets.css [new file with mode: 0644]
wp-admin/css/customize-widgets.min.css [new file with mode: 0644]
wp-admin/css/dashboard-rtl.css [new file with mode: 0644]
wp-admin/css/dashboard.css [new file with mode: 0644]
wp-admin/css/deprecated-media-rtl.css [new file with mode: 0644]
wp-admin/css/deprecated-media-rtl.min.css [new file with mode: 0644]
wp-admin/css/deprecated-media.css [new file with mode: 0644]
wp-admin/css/deprecated-media.min.css [new file with mode: 0644]
wp-admin/css/edit-rtl.css [new file with mode: 0644]
wp-admin/css/edit.css [new file with mode: 0644]
wp-admin/css/farbtastic-rtl.min.css [deleted file]
wp-admin/css/forms-rtl.css [new file with mode: 0644]
wp-admin/css/forms.css [new file with mode: 0644]
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 [new file with mode: 0644]
wp-admin/css/l10n.css [new file with mode: 0644]
wp-admin/css/list-tables-rtl.css [new file with mode: 0644]
wp-admin/css/list-tables.css [new file with mode: 0644]
wp-admin/css/login-rtl.css [new file with mode: 0644]
wp-admin/css/login-rtl.min.css [new file with mode: 0644]
wp-admin/css/login.css [new file with mode: 0644]
wp-admin/css/login.min.css [new file with mode: 0644]
wp-admin/css/media-rtl.css
wp-admin/css/media-rtl.min.css [deleted file]
wp-admin/css/media.css
wp-admin/css/media.min.css [deleted file]
wp-admin/css/nav-menus-rtl.css [new file with mode: 0644]
wp-admin/css/nav-menus.css [new file with mode: 0644]
wp-admin/css/press-this-rtl.css [new file with mode: 0644]
wp-admin/css/press-this.css [new file with mode: 0644]
wp-admin/css/revisions-rtl.css [new file with mode: 0644]
wp-admin/css/revisions.css [new file with mode: 0644]
wp-admin/css/themes-rtl.css [new file with mode: 0644]
wp-admin/css/themes.css [new file with mode: 0644]
wp-admin/css/widgets-rtl.css [new file with mode: 0644]
wp-admin/css/widgets.css [new file with mode: 0644]
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/bubble_bg-2x.gif
wp-admin/images/bubble_bg.gif
wp-admin/images/comment-grey-bubble-2x.png
wp-admin/images/date-button-2x.gif
wp-admin/images/date-button.gif
wp-admin/images/loading.gif
wp-admin/images/lock-2x.png [deleted file]
wp-admin/images/lock.png [deleted file]
wp-admin/images/marker.png
wp-admin/images/media-button-image.gif
wp-admin/images/media-button-music.gif
wp-admin/images/media-button-other.gif
wp-admin/images/media-button-video.gif
wp-admin/images/post-formats.png
wp-admin/images/resize-2x.gif
wp-admin/images/resize-rtl-2x.gif
wp-admin/images/resize-rtl.gif
wp-admin/images/resize.gif
wp-admin/images/sort-2x.gif
wp-admin/images/sort.gif
wp-admin/images/spinner-2x.gif
wp-admin/images/spinner.gif
wp-admin/images/w-logo-blue.png
wp-admin/images/w-logo-white.png
wp-admin/images/wpspin_light.gif
wp-admin/images/xit-2x.gif
wp-admin/images/xit.gif
wp-admin/import.php
wp-admin/includes/ajax-actions.php
wp-admin/includes/class-ftp-pure.php
wp-admin/includes/class-ftp-sockets.php
wp-admin/includes/class-wp-comments-list-table.php
wp-admin/includes/class-wp-filesystem-direct.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-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-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/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/media.php
wp-admin/includes/menu.php
wp-admin/includes/meta-boxes.php
wp-admin/includes/misc.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/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/color-picker.min.js
wp-admin/js/common.js
wp-admin/js/common.min.js
wp-admin/js/custom-background.min.js
wp-admin/js/customize-controls.js
wp-admin/js/customize-controls.min.js
wp-admin/js/customize-widgets.js [new file with mode: 0644]
wp-admin/js/customize-widgets.min.js [new file with mode: 0644]
wp-admin/js/dashboard.js
wp-admin/js/dashboard.min.js
wp-admin/js/edit-comments.js
wp-admin/js/edit-comments.min.js
wp-admin/js/editor.js
wp-admin/js/editor.min.js
wp-admin/js/gallery.min.js
wp-admin/js/image-edit.js
wp-admin/js/image-edit.min.js
wp-admin/js/inline-edit-post.min.js
wp-admin/js/inline-edit-tax.min.js
wp-admin/js/media-upload.js
wp-admin/js/media-upload.min.js
wp-admin/js/media.js
wp-admin/js/media.min.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/postbox.min.js
wp-admin/js/revisions.js
wp-admin/js/revisions.min.js
wp-admin/js/svg-painter.min.js
wp-admin/js/theme-install.js [deleted file]
wp-admin/js/theme-install.min.js [deleted file]
wp-admin/js/theme-preview.js [deleted file]
wp-admin/js/theme-preview.min.js [deleted file]
wp-admin/js/theme.js
wp-admin/js/theme.min.js
wp-admin/js/updates.js [new file with mode: 0644]
wp-admin/js/updates.min.js [new file with mode: 0644]
wp-admin/js/user-profile.js
wp-admin/js/user-profile.min.js
wp-admin/js/user-suggest.js
wp-admin/js/user-suggest.min.js
wp-admin/js/widgets.js
wp-admin/js/widgets.min.js
wp-admin/js/wp-fullscreen.js
wp-admin/js/wp-fullscreen.min.js
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-upload.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/admin.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.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/update.php
wp-admin/upgrade-functions.php
wp-admin/upgrade.php
wp-admin/upload.php
wp-admin/user-edit.php
wp-admin/user-new.php
wp-admin/user/admin.php
wp-admin/user/menu.php
wp-admin/users.php
wp-admin/widgets.php
wp-comments-post.php
wp-content/plugins/akismet/_inc/akismet.css [new file with mode: 0644]
wp-content/plugins/akismet/_inc/akismet.js [moved from wp-content/plugins/akismet/akismet.js with 55% similarity]
wp-content/plugins/akismet/_inc/form.js [new file with mode: 0644]
wp-content/plugins/akismet/_inc/img/logo-full-2x.png [new file with mode: 0644]
wp-content/plugins/akismet/admin.php [deleted file]
wp-content/plugins/akismet/akismet.css [deleted file]
wp-content/plugins/akismet/akismet.gif [deleted file]
wp-content/plugins/akismet/akismet.php
wp-content/plugins/akismet/class.akismet-admin.php [new file with mode: 0644]
wp-content/plugins/akismet/class.akismet-widget.php [moved from wp-content/plugins/akismet/widget.php with 83% similarity]
wp-content/plugins/akismet/class.akismet.php [new file with mode: 0644]
wp-content/plugins/akismet/img/logo.png [deleted file]
wp-content/plugins/akismet/img/logo@2x.png [deleted file]
wp-content/plugins/akismet/index.php
wp-content/plugins/akismet/legacy.php [deleted file]
wp-content/plugins/akismet/readme.txt
wp-content/plugins/akismet/views/config.php [new file with mode: 0644]
wp-content/plugins/akismet/views/get.php [new file with mode: 0644]
wp-content/plugins/akismet/views/notice.php [new file with mode: 0644]
wp-content/plugins/akismet/views/start.php [new file with mode: 0644]
wp-content/plugins/akismet/views/stats.php [new file with mode: 0644]
wp-content/plugins/akismet/views/strict.php [new file with mode: 0644]
wp-content/plugins/akismet/wrapper.php [new file with mode: 0644]
wp-content/themes/twentyfourteen/css/editor-style.css
wp-content/themes/twentyfourteen/css/ie.css
wp-content/themes/twentyfourteen/functions.php
wp-content/themes/twentyfourteen/header.php
wp-content/themes/twentyfourteen/inc/back-compat.php
wp-content/themes/twentyfourteen/inc/customizer.php
wp-content/themes/twentyfourteen/inc/featured-content.php
wp-content/themes/twentyfourteen/inc/template-tags.php
wp-content/themes/twentyfourteen/inc/widgets.php
wp-content/themes/twentyfourteen/js/functions.js
wp-content/themes/twentyfourteen/js/html5.js
wp-content/themes/twentyfourteen/languages/twentyfourteen.pot
wp-content/themes/twentyfourteen/style.css
wp-content/themes/twentythirteen/content.php
wp-content/themes/twentythirteen/css/editor-style.css
wp-content/themes/twentythirteen/css/ie.css
wp-content/themes/twentythirteen/functions.php
wp-content/themes/twentythirteen/inc/back-compat.php
wp-content/themes/twentythirteen/inc/custom-header.php
wp-content/themes/twentythirteen/js/functions.js
wp-content/themes/twentythirteen/js/html5.js
wp-content/themes/twentythirteen/style.css
wp-content/themes/twentytwelve/content.php
wp-content/themes/twentytwelve/css/ie.css
wp-content/themes/twentytwelve/functions.php
wp-content/themes/twentytwelve/inc/custom-header.php
wp-content/themes/twentytwelve/js/html5.js
wp-content/themes/twentytwelve/js/navigation.js
wp-content/themes/twentytwelve/languages/twentytwelve.pot
wp-content/themes/twentytwelve/style.css
wp-includes/admin-bar.php
wp-includes/atomlib.php
wp-includes/author-template.php
wp-includes/bookmark-template.php
wp-includes/cache.php
wp-includes/canonical.php
wp-includes/capabilities.php
wp-includes/category-template.php
wp-includes/category.php
wp-includes/certificates/ca-bundle.crt
wp-includes/class-IXR.php
wp-includes/class-http.php
wp-includes/class-oembed.php
wp-includes/class-phpass.php
wp-includes/class-phpmailer.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-section.php
wp-includes/class-wp-customize-setting.php
wp-includes/class-wp-customize-widgets.php [new file with mode: 0644]
wp-includes/class-wp-editor.php
wp-includes/class-wp-embed.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-xmlrpc-server.php
wp-includes/class-wp.php
wp-includes/class.wp-scripts.php
wp-includes/class.wp-styles.php
wp-includes/comment-template.php
wp-includes/comment.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/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.css
wp-includes/css/jquery-ui-dialog-rtl.min.css
wp-includes/css/jquery-ui-dialog.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.css
wp-includes/css/wp-auth-check-rtl.min.css
wp-includes/css/wp-auth-check.css
wp-includes/css/wp-auth-check.min.css
wp-includes/css/wp-pointer-rtl.css
wp-includes/css/wp-pointer-rtl.min.css
wp-includes/css/wp-pointer.css
wp-includes/css/wp-pointer.min.css
wp-includes/date.php
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.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/general-template.php
wp-includes/http.php
wp-includes/images/admin-bar-sprite-2x.png
wp-includes/images/admin-bar-sprite.png
wp-includes/images/arrow-pointer-blue-2x.png
wp-includes/images/blank.gif
wp-includes/images/crystal/default.png
wp-includes/images/crystal/license.txt
wp-includes/images/crystal/text.png
wp-includes/images/down_arrow-2x.gif
wp-includes/images/down_arrow.gif
wp-includes/images/media/archive.png [new file with mode: 0644]
wp-includes/images/media/audio.png [new file with mode: 0644]
wp-includes/images/media/code.png [new file with mode: 0644]
wp-includes/images/media/default.png [new file with mode: 0644]
wp-includes/images/media/document.png [new file with mode: 0644]
wp-includes/images/media/interactive.png [new file with mode: 0644]
wp-includes/images/media/spreadsheet.png [new file with mode: 0644]
wp-includes/images/media/text.png [new file with mode: 0644]
wp-includes/images/media/video.png [new file with mode: 0644]
wp-includes/images/smilies/icon_arrow.gif
wp-includes/images/smilies/icon_biggrin.gif
wp-includes/images/smilies/icon_confused.gif
wp-includes/images/smilies/icon_cool.gif
wp-includes/images/smilies/icon_cry.gif
wp-includes/images/smilies/icon_eek.gif
wp-includes/images/smilies/icon_evil.gif
wp-includes/images/smilies/icon_exclaim.gif
wp-includes/images/smilies/icon_idea.gif
wp-includes/images/smilies/icon_lol.gif
wp-includes/images/smilies/icon_mad.gif
wp-includes/images/smilies/icon_mrgreen.gif
wp-includes/images/smilies/icon_neutral.gif
wp-includes/images/smilies/icon_question.gif
wp-includes/images/smilies/icon_razz.gif
wp-includes/images/smilies/icon_redface.gif
wp-includes/images/smilies/icon_rolleyes.gif
wp-includes/images/smilies/icon_sad.gif
wp-includes/images/smilies/icon_smile.gif
wp-includes/images/smilies/icon_surprised.gif
wp-includes/images/smilies/icon_twisted.gif
wp-includes/images/smilies/icon_wink.gif
wp-includes/images/spinner-2x.gif
wp-includes/images/spinner.gif
wp-includes/images/uploader-icons-2x.png
wp-includes/images/uploader-icons.png
wp-includes/images/wlw/wp-watermark.png
wp-includes/images/wpicons-2x.png
wp-includes/images/wpicons.png
wp-includes/images/wpspin.gif
wp-includes/images/xit-2x.gif
wp-includes/images/xit.gif
wp-includes/js/admin-bar.min.js
wp-includes/js/autosave.js
wp-includes/js/autosave.min.js
wp-includes/js/backbone.min.js
wp-includes/js/colorpicker.min.js
wp-includes/js/customize-base.min.js
wp-includes/js/customize-models.js [new file with mode: 0644]
wp-includes/js/customize-models.min.js [new file with mode: 0644]
wp-includes/js/customize-preview-widgets.js [new file with mode: 0644]
wp-includes/js/customize-preview-widgets.min.js [new file with mode: 0644]
wp-includes/js/customize-preview.js
wp-includes/js/customize-preview.min.js
wp-includes/js/customize-views.js [new file with mode: 0644]
wp-includes/js/customize-views.min.js [new file with mode: 0644]
wp-includes/js/heartbeat.js
wp-includes/js/heartbeat.min.js
wp-includes/js/jquery/jquery.hotkeys.js
wp-includes/js/jquery/jquery.js
wp-includes/js/jquery/jquery.masonry.min.js
wp-includes/js/jquery/suggest.min.js
wp-includes/js/jquery/ui/jquery.ui.accordion.min.js
wp-includes/js/jquery/ui/jquery.ui.autocomplete.min.js
wp-includes/js/jquery/ui/jquery.ui.button.min.js
wp-includes/js/jquery/ui/jquery.ui.core.min.js
wp-includes/js/jquery/ui/jquery.ui.datepicker.min.js
wp-includes/js/jquery/ui/jquery.ui.dialog.min.js
wp-includes/js/jquery/ui/jquery.ui.draggable.min.js
wp-includes/js/jquery/ui/jquery.ui.droppable.min.js
wp-includes/js/jquery/ui/jquery.ui.effect-blind.min.js
wp-includes/js/jquery/ui/jquery.ui.effect-bounce.min.js
wp-includes/js/jquery/ui/jquery.ui.effect-clip.min.js
wp-includes/js/jquery/ui/jquery.ui.effect-drop.min.js
wp-includes/js/jquery/ui/jquery.ui.effect-explode.min.js
wp-includes/js/jquery/ui/jquery.ui.effect-fade.min.js
wp-includes/js/jquery/ui/jquery.ui.effect-fold.min.js
wp-includes/js/jquery/ui/jquery.ui.effect-highlight.min.js
wp-includes/js/jquery/ui/jquery.ui.effect-pulsate.min.js
wp-includes/js/jquery/ui/jquery.ui.effect-scale.min.js
wp-includes/js/jquery/ui/jquery.ui.effect-shake.min.js
wp-includes/js/jquery/ui/jquery.ui.effect-slide.min.js
wp-includes/js/jquery/ui/jquery.ui.effect-transfer.min.js
wp-includes/js/jquery/ui/jquery.ui.effect.min.js
wp-includes/js/jquery/ui/jquery.ui.menu.min.js
wp-includes/js/jquery/ui/jquery.ui.mouse.min.js
wp-includes/js/jquery/ui/jquery.ui.position.min.js
wp-includes/js/jquery/ui/jquery.ui.progressbar.min.js
wp-includes/js/jquery/ui/jquery.ui.resizable.min.js
wp-includes/js/jquery/ui/jquery.ui.selectable.min.js
wp-includes/js/jquery/ui/jquery.ui.slider.min.js
wp-includes/js/jquery/ui/jquery.ui.sortable.min.js
wp-includes/js/jquery/ui/jquery.ui.spinner.min.js
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/masonry.min.js [new file with mode: 0644]
wp-includes/js/mce-view.js
wp-includes/js/mce-view.min.js
wp-includes/js/media-audiovideo.js [new file with mode: 0644]
wp-includes/js/media-audiovideo.min.js [new file with mode: 0644]
wp-includes/js/media-editor.js
wp-includes/js/media-editor.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/mediaelementplayer.min.css
wp-includes/js/mediaelement/wp-mediaelement.css
wp-includes/js/mediaelement/wp-mediaelement.js
wp-includes/js/mediaelement/wp-playlist.js [new file with mode: 0644]
wp-includes/js/plupload/changelog.txt [deleted file]
wp-includes/js/plupload/handlers.js
wp-includes/js/plupload/handlers.min.js
wp-includes/js/plupload/plupload.flash.js [deleted file]
wp-includes/js/plupload/plupload.flash.swf
wp-includes/js/plupload/plupload.full.min.js [new file with mode: 0644]
wp-includes/js/plupload/plupload.html4.js [deleted file]
wp-includes/js/plupload/plupload.html5.js [deleted file]
wp-includes/js/plupload/plupload.js [deleted file]
wp-includes/js/plupload/plupload.silverlight.js [deleted file]
wp-includes/js/plupload/plupload.silverlight.xap
wp-includes/js/plupload/wp-plupload.js
wp-includes/js/plupload/wp-plupload.min.js
wp-includes/js/quicktags.js
wp-includes/js/quicktags.min.js
wp-includes/js/swfupload/handlers.js
wp-includes/js/thickbox/thickbox.css
wp-includes/js/thickbox/thickbox.js
wp-includes/js/tinymce/langs/wp-langs-en.js
wp-includes/js/tinymce/langs/wp-langs.php [deleted file]
wp-includes/js/tinymce/mark_loaded_src.js [deleted file]
wp-includes/js/tinymce/plugins/charmap/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/charmap/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/compat3x/css/dialog.css [moved from wp-includes/js/tinymce/themes/advanced/skins/wp_theme/dialog.css with 87% similarity]
wp-includes/js/tinymce/plugins/compat3x/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/compat3x/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/directionality/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/directionality/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/directionality/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/directionality/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/fullscreen/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/fullscreen/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm [deleted file]
wp-includes/js/tinymce/plugins/fullscreen/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/fullscreen/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/hr/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/hr/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/image/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/image/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/drag.gif [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/template.htm [deleted file]
wp-includes/js/tinymce/plugins/media/css/media.css [deleted file]
wp-includes/js/tinymce/plugins/media/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/media/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/media/js/embed.js [deleted file]
wp-includes/js/tinymce/plugins/media/js/media.js [deleted file]
wp-includes/js/tinymce/plugins/media/media.htm [deleted file]
wp-includes/js/tinymce/plugins/media/moxieplayer.swf
wp-includes/js/tinymce/plugins/media/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/media/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/paste/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/paste/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/paste/js/pastetext.js [deleted file]
wp-includes/js/tinymce/plugins/paste/js/pasteword.js [deleted file]
wp-includes/js/tinymce/plugins/paste/pastetext.htm [deleted file]
wp-includes/js/tinymce/plugins/paste/pasteword.htm [deleted file]
wp-includes/js/tinymce/plugins/paste/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/paste/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/spellchecker/changelog.txt [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/classes/EnchantSpell.php [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/classes/GoogleSpell.php [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/classes/PSpell.php [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/classes/PSpellShell.php [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/classes/SpellChecker.php [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/classes/utils/JSON.php [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/classes/utils/Logger.php [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/config.php [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/css/content.css [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/img/wline.gif [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/includes/general.php [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/rpc.php [deleted file]
wp-includes/js/tinymce/plugins/tabfocus/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/tabfocus/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/tabfocus/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/textcolor/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/textcolor/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/wordpress/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/wordpress/img/audio.gif [deleted file]
wp-includes/js/tinymce/plugins/wordpress/img/image.gif [deleted file]
wp-includes/js/tinymce/plugins/wordpress/img/media.gif [deleted file]
wp-includes/js/tinymce/plugins/wordpress/img/page.gif [deleted file]
wp-includes/js/tinymce/plugins/wordpress/img/video.gif [deleted file]
wp-includes/js/tinymce/plugins/wordpress/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wordpress/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/wpdialogs/js/popup.js [deleted file]
wp-includes/js/tinymce/plugins/wpdialogs/js/popup.min.js [deleted file]
wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.js [deleted file]
wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.min.js [deleted file]
wp-includes/js/tinymce/plugins/wpdialogs/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wpdialogs/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wpeditimage/css/editimage.css [deleted file]
wp-includes/js/tinymce/plugins/wpeditimage/editimage.html [deleted file]
wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/wpeditimage/img/delete-2x.png [deleted file]
wp-includes/js/tinymce/plugins/wpeditimage/img/delete.png [deleted file]
wp-includes/js/tinymce/plugins/wpeditimage/img/image-2x.png [deleted file]
wp-includes/js/tinymce/plugins/wpeditimage/img/image.png [deleted file]
wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js [deleted file]
wp-includes/js/tinymce/plugins/wpeditimage/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css [deleted file]
wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wpfullscreen/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/wpgallery/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/wpgallery/img/delete-2x.png [deleted file]
wp-includes/js/tinymce/plugins/wpgallery/img/delete.png [deleted file]
wp-includes/js/tinymce/plugins/wpgallery/img/edit-2x.png [deleted file]
wp-includes/js/tinymce/plugins/wpgallery/img/edit.png [deleted file]
wp-includes/js/tinymce/plugins/wpgallery/img/t.gif [deleted file]
wp-includes/js/tinymce/plugins/wpgallery/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wpgallery/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wplink/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/wplink/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/wplink/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wplink/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wpview/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/wpview/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/wpview/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wpview/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/content.inline.min.css [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/content.min.css [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/fonts/readme.md [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.eot [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.svg [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.woff [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.svg [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/img/anchor.gif [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/img/loader.gif [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/img/object.gif [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/img/trans.gif [moved from wp-includes/js/tinymce/plugins/wordpress/img/trans.gif with 100% similarity]
wp-includes/js/tinymce/skins/lightgray/skin.ie7.min.css [new file with mode: 0644]
wp-includes/js/tinymce/skins/lightgray/skin.min.css [new file with mode: 0644]
wp-includes/js/tinymce/skins/wordpress/images/audio.png [new file with mode: 0644]
wp-includes/js/tinymce/skins/wordpress/images/dashicon-edit.png [new file with mode: 0644]
wp-includes/js/tinymce/skins/wordpress/images/dashicon-no-alt.png [new file with mode: 0644]
wp-includes/js/tinymce/skins/wordpress/images/embedded.png [new file with mode: 0644]
wp-includes/js/tinymce/skins/wordpress/images/gallery-2x.png [new file with mode: 0644]
wp-includes/js/tinymce/skins/wordpress/images/gallery.png [new file with mode: 0644]
wp-includes/js/tinymce/skins/wordpress/images/more-2x.png [new file with mode: 0644]
wp-includes/js/tinymce/skins/wordpress/images/more.png [new file with mode: 0644]
wp-includes/js/tinymce/skins/wordpress/images/pagebreak-2x.png [new file with mode: 0644]
wp-includes/js/tinymce/skins/wordpress/images/pagebreak.png [new file with mode: 0644]
wp-includes/js/tinymce/skins/wordpress/images/playlist-audio.png [new file with mode: 0644]
wp-includes/js/tinymce/skins/wordpress/images/playlist-video.png [new file with mode: 0644]
wp-includes/js/tinymce/skins/wordpress/images/video.png [new file with mode: 0644]
wp-includes/js/tinymce/skins/wordpress/wp-content.css [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/about.htm [deleted file]
wp-includes/js/tinymce/themes/advanced/anchor.htm [deleted file]
wp-includes/js/tinymce/themes/advanced/charmap.htm [deleted file]
wp-includes/js/tinymce/themes/advanced/color_picker.htm [deleted file]
wp-includes/js/tinymce/themes/advanced/editor_template.js [deleted file]
wp-includes/js/tinymce/themes/advanced/editor_template_src.js [deleted file]
wp-includes/js/tinymce/themes/advanced/image.htm [deleted file]
wp-includes/js/tinymce/themes/advanced/img/colorpicker.jpg [deleted file]
wp-includes/js/tinymce/themes/advanced/img/flash.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/img/gotmoxie.png [deleted file]
wp-includes/js/tinymce/themes/advanced/img/icons.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/img/iframe.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/img/pagebreak.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/img/quicktime.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/img/realmedia.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/img/shockwave.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/img/trans.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/img/video.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/img/windowsmedia.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/js/about.js [deleted file]
wp-includes/js/tinymce/themes/advanced/js/anchor.js [deleted file]
wp-includes/js/tinymce/themes/advanced/js/charmap.js [deleted file]
wp-includes/js/tinymce/themes/advanced/js/color_picker.js [deleted file]
wp-includes/js/tinymce/themes/advanced/js/image.js [deleted file]
wp-includes/js/tinymce/themes/advanced/js/link.js [deleted file]
wp-includes/js/tinymce/themes/advanced/js/source_editor.js [deleted file]
wp-includes/js/tinymce/themes/advanced/link.htm [deleted file]
wp-includes/js/tinymce/themes/advanced/shortcuts.htm [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/default/content.css [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/default/dialog.css [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/default/img/buttons.png [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/default/img/items.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/default/img/menu_check.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/default/img/progress.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/default/img/tabs.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/default/ui.css [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/highcontrast/content.css [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/highcontrast/dialog.css [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/highcontrast/ui.css [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/content.css [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/dialog.css [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg.png [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui.css [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_black.css [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_silver.css [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/embedded.png [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/gallery-2x.png [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/gallery.png [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-more-2x.png [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-more.png [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-nextpage-2x.png [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-nextpage.png [deleted file]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/tabs.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/source_editor.htm [deleted file]
wp-includes/js/tinymce/themes/modern/theme.js [new file with mode: 0644]
wp-includes/js/tinymce/themes/modern/theme.min.js [new file with mode: 0644]
wp-includes/js/tinymce/tiny_mce.js [deleted file]
wp-includes/js/tinymce/tiny_mce_popup.js
wp-includes/js/tinymce/tinymce.min.js [new file with mode: 0644]
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
wp-includes/js/tinymce/wp-tinymce-schema.js [deleted file]
wp-includes/js/tinymce/wp-tinymce.js.gz
wp-includes/js/tinymce/wp-tinymce.php
wp-includes/js/tw-sack.min.js
wp-includes/js/underscore.min.js
wp-includes/js/wp-auth-check.min.js
wp-includes/js/wp-backbone.js
wp-includes/js/wp-backbone.min.js
wp-includes/js/wp-lists.js
wp-includes/js/wp-lists.min.js
wp-includes/js/wp-util.min.js
wp-includes/js/wpdialog.js [new file with mode: 0644]
wp-includes/js/wpdialog.min.js [new file with mode: 0644]
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/media-template.php
wp-includes/media.php
wp-includes/meta.php
wp-includes/ms-blogs.php
wp-includes/ms-deprecated.php
wp-includes/ms-functions.php
wp-includes/ms-load.php
wp-includes/ms-settings.php
wp-includes/nav-menu-template.php
wp-includes/nav-menu.php
wp-includes/option.php
wp-includes/pluggable-deprecated.php
wp-includes/pluggable.php
wp-includes/plugin.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/script-loader.php
wp-includes/shortcodes.php
wp-includes/taxonomy.php
wp-includes/template.php
wp-includes/theme-compat/comments-popup.php
wp-includes/theme-compat/footer.php
wp-includes/theme-compat/header.php
wp-includes/theme-compat/sidebar.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
xmlrpc.php

index 06c105b129adb885fbad99c37672d3ee0429252d..93c388148a6331dddeca7d1eda4316d21b74bbb0 100644 (file)
@@ -1,6 +1,6 @@
 WordPress - Web publishing software\r
 \r
-Copyright 2013 by the contributors\r
+Copyright 2014 by the contributors\r
 \r
 This program is free software; you can redistribute it and/or modify\r
 it under the terms of the GNU General Public License as published by\r
@@ -382,4 +382,4 @@ WRITTEN OFFER
 The source code for any program binaries or compressed scripts that are\r
 included with WordPress can be freely obtained at the following URL:\r
 \r
-       http://wordpress.org/download/source/\r
+       https://wordpress.org/download/source/\r
index dbcd9a6d11eeee996dd0b8df78e484461573bb30..3688bb380768f1563a1fe2ed61e81ca1cc6ed0d7 100644 (file)
@@ -8,8 +8,8 @@
 </head>
 <body>
 <h1 id="logo">
-       <a href="http://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a>
-       <br /> Version 3.8.3
+       <a href="https://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a>
+       <br /> Version 3.9
 </h1>
 <p style="text-align: center">Semantic Personal Publishing Platform</p>
 
@@ -27,7 +27,7 @@
                        <li>Open <span class="file"><a href="wp-admin/install.php">wp-admin/install.php</a></span> in your browser.</li>
                </ol>
        </li>
-       <li>Once the configuration file is set up, the installer will set up the tables needed for your blog. If there is an error, double check your <code>wp-config.php</code> file, and try again. If it fails again, please go to the <a href="http://wordpress.org/support/" title="WordPress support">support forums</a> with as much data as you can gather.</li>
+       <li>Once the configuration file is set up, the installer will set up the tables needed for your blog. If there is an error, double check your <code>wp-config.php</code> file, and try again. If it fails again, please go to the <a href="https://wordpress.org/support/" title="WordPress support">support forums</a> with as much data as you can gather.</li>
        <li><strong>If you did not enter a password, note the password given to you.</strong> If you did not provide a username, it will be <code>admin</code>.</li>
        <li>The installer should then send you to the <a href="wp-login.php">login page</a>. Sign in with the username and password you chose during the installation. If a password was generated for you, you can then click on &#8220;Profile&#8221; to change the password.</li>
 </ol>
@@ -60,7 +60,7 @@
 <h2>System Recommendations</h2>
 <ul>
        <li>The <a href="http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html">mod_rewrite</a> Apache module.</li>
-       <li>A link to <a href="http://wordpress.org/">http://wordpress.org</a> on your site.</li>
+       <li>A link to <a href="https://wordpress.org/">https://wordpress.org</a> on your site.</li>
 </ul>
 
 <h1>Online Resources</h1>
 <dl>
        <dt><a href="http://codex.wordpress.org/">The WordPress Codex</a></dt>
                <dd>The Codex is the encyclopedia of all things WordPress. It is the most comprehensive source of information for WordPress available.</dd>
-       <dt><a href="http://wordpress.org/news/">The WordPress Blog</a></dt>
+       <dt><a href="https://wordpress.org/news/">The WordPress Blog</a></dt>
                <dd>This is where you&#8217;ll find the latest updates and news related to WordPress. Recent WordPress news appears in your administrative dashboard by default.</dd>
        <dt><a href="http://planet.wordpress.org/">WordPress Planet</a></dt>
                <dd>The WordPress Planet is a news aggregator that brings together posts from WordPress blogs around the web.</dd>
-       <dt><a href="http://wordpress.org/support/">WordPress Support Forums</a></dt>
+       <dt><a href="https://wordpress.org/support/">WordPress Support Forums</a></dt>
                <dd>If you&#8217;ve looked everywhere and still can&#8217;t find an answer, the support forums are very active and have a large community ready to help. To help them help you be sure to use a descriptive thread title and describe your question in as much detail as possible.</dd>
        <dt><a href="http://codex.wordpress.org/IRC">WordPress <abbr title="Internet Relay Chat">IRC</abbr> Channel</a></dt>
                <dd>There is an online chat channel that is used for discussion among people who use WordPress and occasionally support topics. The above wiki page should point you in the right direction. (<a href="irc://irc.freenode.net/wordpress">irc.freenode.net #wordpress</a>)</dd>
 
 <h1>Final Notes</h1>
 <ul>
-       <li>If you have any suggestions, ideas, or comments, or if you (gasp!) found a bug, join us in the <a href="http://wordpress.org/support/">Support Forums</a>.</li>
+       <li>If you have any suggestions, ideas, or comments, or if you (gasp!) found a bug, join us in the <a href="https://wordpress.org/support/">Support Forums</a>.</li>
        <li>WordPress has a robust plugin <abbr title="application programming interface">API</abbr> that makes extending the code easy. If you are a developer interested in utilizing this, see the <a href="http://codex.wordpress.org/Plugin_API" title="WordPress plugin API">plugin documentation in the Codex</a>. You shouldn&#8217;t modify any of the core code.</li>
 </ul>
 
 <h1>Share the Love</h1>
 <p>WordPress has no multi-million dollar marketing campaign or celebrity sponsors, but we do have something even better&#8212;you. If you enjoy WordPress please consider telling a friend, setting it up for someone less knowledgable than yourself, or writing the author of a media article that overlooks us.</p>
 
-<p>WordPress is the official continuation of <a href="http://cafelog.com/">b2/caf&#233;log</a>, which came from Michel V. The work has been continued by the <a href="http://wordpress.org/about/">WordPress developers</a>. If you would like to support WordPress, please consider <a href="http://wordpress.org/donate/" title="Donate to WordPress">donating</a>.</p>
+<p>WordPress is the official continuation of <a href="http://cafelog.com/">b2/caf&#233;log</a>, which came from Michel V. The work has been continued by the <a href="https://wordpress.org/about/">WordPress developers</a>. If you would like to support WordPress, please consider <a href="https://wordpress.org/donate/" title="Donate to WordPress">donating</a>.</p>
 
 <h1>License</h1>
 <p>WordPress is free software, and is released under the terms of the <abbr title="GNU General Public License">GPL</abbr> version 2 or (at your option) any later version. See <a href="license.txt">license.txt</a>.</p>
index 226780c34ea816d0dda5df7e87f0af59874fabba..5e9be6ea828a4566babf4670d813b410c9b1986b 100644 (file)
@@ -27,7 +27,7 @@ $wp_query->is_404 = false;
 /**
  * Fires before the Site Activation page is loaded.
  *
- * @since 3.0
+ * @since 3.0.0
  */
 do_action( 'activate_header' );
 
@@ -40,7 +40,7 @@ function do_activate_header() {
     /**
      * Fires before the Site Activation page is loaded, but on the wp_head action.
      *
-     * @since 3.0
+     * @since 3.0.0
      */
     do_action( 'activate_wp_head' );
 }
index ce9c80226d51d79b8be571e0940428b975c3b2b2..daf9c3a45c21c4a3fedb203a1328d0bbb325b7e2 100644 (file)
@@ -9,22 +9,22 @@
 /** WordPress Administration Bootstrap */
 require_once( dirname( __FILE__ ) . '/admin.php' );
 
+wp_enqueue_style( 'wp-mediaelement' );
+wp_enqueue_script( 'wp-playlist' );
+add_action( 'admin_footer', 'wp_underscore_playlist_templates', 0 );
+
 $title = __( 'About' );
 
 list( $display_version ) = explode( '-', $wp_version );
 
-// Temporary 3.8 hack: We want to use user-profile for the color schemes but don't need the heavy zxcvbn.
-wp_deregister_script( 'zxcvbn-async' );
-wp_register_script( 'zxcvbn-async', false );
-wp_enqueue_script( 'user-profile' );
-
 include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
+<!--[if lt IE 9]><script>document.createElement('audio');document.createElement('video');</script><![endif]-->
 <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 to WordPress %s, the most beautiful WordPress&nbsp;yet.' ), $display_version ); ?></div>
+<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s has lots of refinements we think you&#8217;ll love.' ), $display_version ); ?></div>
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
@@ -38,113 +38,195 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
        </a>
 </h2>
 
-<div class="changelog point-releases">
-       <h3><?php echo _n( 'Maintenance and Security Release', 'Maintenance and Security Releases', 3 ); ?></h3>
-       <p><?php printf( _n( '<strong>Version %1$s</strong> addressed %2$s bug.',
-               '<strong>Version %1$s</strong> addressed %2$s bugs.', 2 ), '3.8.3', number_format_i18n( 2 ) ); ?>
-               <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.8.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.', 9 ), '3.8.2', number_format_i18n( 9 ) ); ?>
-               <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.8.2' ); ?>
-       </p>
-       <p><?php printf( _n( '<strong>Version %1$s</strong> addressed %2$s bug.',
-               '<strong>Version %1$s</strong> addressed %2$s bugs.', 31 ), '3.8.1', number_format_i18n( 31 ) ); ?>
-               <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.8.1' ); ?>
-       </p>
-</div>
-
 <div class="changelog">
-       <h2 class="about-headline-callout"><?php _e( 'Introducing a modern new&nbsp;design' ); ?></h2>
-       <img class="about-overview-img" src="<?php echo is_ssl() ? 'https://' : '//s.'; ?>wordpress.org/images/core/3.8/overview.png?1" />
-       <div class="feature-section col three-col about-updates">
+       <div class="about-overview">
+       <?php
+       if ( ( $locale = get_locale() ) && 'en_' === substr( $locale, 0, 3 ) ) : ?>
+               <embed src="//v0.wordpress.com/player.swf?v=1.03" type="application/x-shockwave-flash" width="640" height="360" wmode="direct" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true" flashvars="guid=sAiXhCfV&amp;isDynamicSeeking=true" title=""></embed>
+       <?php else : ?>
+               <img class="about-overview-img" src="//s.w.org/images/core/3.9/overview.png?0" />
+       <?php endif; ?>
+       </div>
+       <h2 class="about-headline-callout"><?php _e( 'A smoother media editing&nbsp;experience' ); ?></h2>
+       <div class="feature-section col three-col">
                <div class="col-1">
-                       <img src="<?php echo is_ssl() ? 'https://' : '//s.'; ?>wordpress.org/images/core/3.8/aesthetics.png?1" />
-                       <h3><?php _e( 'Modern aesthetic' ); ?></h3>
-                       <p><?php _e( 'The new WordPress dashboard has a fresh, uncluttered design that embraces clarity and simplicity.' ); ?></p>
+                       <img src="//s.w.org/images/core/3.9/editor.jpg?0" />
+                       <h4><?php _e( 'Improved visual editing' ); ?></h4>
+                       <p><?php _e( 'The updated visual editor has improved speed, accessibility, and mobile support.' );
+                               echo ' ' . __( 'You can paste into the visual editor from your word processor without wasting time to clean up messy styling. (Yeah, we&#8217;re talking about you, Microsoft Word.)' ); ?></p>
                </div>
                <div class="col-2">
-                       <img src="<?php echo is_ssl() ? 'https://' : '//s.'; ?>wordpress.org/images/core/3.8/typography.png?1" />
-                       <h3><?php _e( 'Clean typography' ); ?></h3>
-                       <p><?php _e( 'The Open Sans typeface provides simple, friendly text that is optimized for both desktop and mobile viewing. It&#8217;s even open source, just like WordPress.' ); ?></p>
+                       <img src="//s.w.org/images/core/3.9/image.gif?0" />
+                       <h4><?php _e( 'Edit images easily' ); ?></h4>
+                       <p><?php _e( 'With quicker access to crop and rotation tools, it&#8217;s now much easier to edit your images while editing posts. You can also scale images directly in the editor to find just the right fit.' ); ?></p>
                </div>
                <div class="col-3 last-feature">
-                       <img src="<?php echo is_ssl() ? 'https://' : '//s.'; ?>wordpress.org/images/core/3.8/contrast.png?1" />
-                       <h3><?php _e( 'Refined contrast' ); ?></h3>
-                       <p><?php _e( 'We think beautiful design should never sacrifice legibility. With superior contrast and large, comfortable type, the new design is easy to read and a pleasure to navigate.' ); ?></p>
+                       <img src="//s.w.org/images/core/3.9/drop.jpg?0" />
+                       <h4><?php _e( 'Drag and drop your images' ); ?></h4>
+                       <p><?php _e( 'Uploading your images is easier than ever. Just grab them from your desktop and drop them onto the editor.' ); ?></p>
                </div>
        </div>
-</div>
 
-<hr>
+       <hr>
 
-<div class="changelog">
        <div class="feature-section col two-col">
-               <div>
-                       <h3><?php _e( 'WordPress on every&nbsp;device' ); ?></h3>
-                       <p><?php _e( 'We all access the internet in different ways. Smartphone, tablet, notebook, desktop &mdash; no matter what you use, WordPress will adapt and you&#8217;ll feel right at home.' ); ?></p>
-                       <h4><?php _e( 'High definition at high&nbsp;speed' ); ?></h4>
-                       <p><?php _e( 'WordPress is sharper than ever with new vector-based icons that scale to your screen. By ditching pixels, pages load significantly faster, too.' ); ?></p>
-               </div>
-               <div class="last-feature about-colors-img">
-                       <img src="<?php echo is_ssl() ? 'https://' : '//s.'; ?>wordpress.org/images/core/3.8/colors.png?1" />
+               <div class="col-1">
+                       <img src="//s.w.org/images/core/3.9/gallery.jpg?0" />
+                       <h4><?php _e( 'Gallery previews' ); ?></h4>
+                       <p><?php _e( 'Galleries display a beautiful grid of images right in the editor, just like they do in your published post.' ); ?></p>
                </div>
-       </div>
-</div>
-
-<hr>
-
-<?php
-global $_wp_admin_css_colors;
-$new_colors = array( 'fresh', 'light', 'blue', 'midnight', 'sunrise', 'ectoplasm', 'ocean', 'coffee' );
-$_wp_admin_css_colors = array_intersect_key( $_wp_admin_css_colors, array_fill_keys( $new_colors, true ) );
-
-if ( count( $_wp_admin_css_colors ) > 1 && has_action( 'admin_color_scheme_picker' ) ) : ?>
-<div class="changelog about-colors">
-       <div class="feature-section col one-col">
-               <div>
-                       <h3><?php _e( 'Pick a color' ); ?></h3>
-                       <p><?php _e( 'We&#8217;ve included eight color schemes so you can pick your favorite. Choose from any of them below to change it instantly.' ); ?>
+               <div class="col-2 last-feature">
+                       <div class="wp-playlist wp-audio-playlist wp-playlist-light">
+                               <div class="wp-playlist-current-item"></div>
+                               <audio controls="controls" preload="metadata"></audio>
+                               <div class="wp-playlist-next"></div>
+                               <div class="wp-playlist-prev"></div>
                                <?php
-                               /** This action is documented in wp-admin/user-edit.php */
-                               do_action( 'admin_color_scheme_picker' );
+                               $audio_icon_js = esc_js( includes_url( 'images/media/audio.png' ) );
+                               $wp_host = '//s.w.org/images/core/3.9/';
                                ?>
-                       <p><?php printf( __( 'To change your color scheme later, just <a href="%1$s">visit your profile</a>.' ), get_edit_profile_url( get_current_user_id() ) ); ?></p>
+
+                               <script type="application/json">{
+                                       "type":"audio",
+                                       "tracklist":true,
+                                       "tracknumbers":true,
+                                       "images":true,
+                                       "artists":true,
+                                       "tracks":[{
+                                               "src":"<?php echo $wp_host ?>AintMisbehavin.mp3",
+                                               "type":"audio\/mpeg","title":"Ain't Misbehavin'","caption":"","description":"",
+                                               "meta":{
+                                                       "artist":"Louis Armstrong & His Orchestra",
+                                                       "album":"78 RPMs & Cylinder Recordings",
+                                                       "genre":"Jazz",
+                                                       "length_formatted":"3:21"
+                                               },
+                                               "image":{"src":"//s.w.org/images/core/3.9/louis.jpg","width":308,"height":240},
+                                               "thumb":{"src":"//s.w.org/images/core/3.9/louis.jpg","width":308,"height":240}
+                                       },
+                                       {
+                                               "src":"<?php echo $wp_host ?>JellyRollMorton-BuddyBoldensBlues.mp3",
+                                               "type":"audio\/mpeg","title":"Buddy Bolden's Blues","caption":"","description":"",
+                                               "meta":{
+                                                       "artist":"Jelly Roll Morten",
+                                                       "album":"78 RPMs & Cylinder Recordings",
+                                                       "genre":"Jazz",
+                                                       "length_formatted":"2:09"
+                                               },
+                                               "image":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64},
+                                               "thumb":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64}
+                                       },
+                                       {
+                                               "src":"<?php echo $wp_host ?>DavenportBlues.mp3",
+                                               "type":"audio\/mpeg","title":"Davenport Blues","caption":"","description":"",
+                                               "meta":{
+                                                       "artist":"Bix Beiderbecke & His Rhythm Jugglers",
+                                                       "album":"78 RPMs & Cylinder Recordings",
+                                                       "genre":"Jazz",
+                                                       "length_formatted":"2:48"
+                                               },
+                                               "image":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64},
+                                               "thumb":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64}
+                                       },
+                                       {
+                                               "src":"<?php echo $wp_host ?>WolverineBlues.mp3",
+                                               "type":"audio\/mpeg","title":"Wolverine Blues","caption":"","description":"",
+                                               "meta":{
+                                                       "artist":"Benny Goodman's Boys",
+                                                       "album":"78 RPMs & Cylinder Recordings",
+                                                       "genre":"Jazz",
+                                                       "length_formatted":"2:55"
+                                               },
+                                               "image":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64},
+                                               "thumb":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64}
+                                       },
+                                       {
+                                               "src":"<?php echo $wp_host ?>Louisiana_Five-Dixie_Blues-1919.mp3",
+                                               "type":"audio\/mpeg","title":"Dixie Blues","caption":"","description":"",
+                                               "meta":{
+                                                       "artist":"Louisiana Five",
+                                                       "album":"78 RPMs & Cylinder Recordings",
+                                                       "genre":"Jazz",
+                                                       "length_formatted":"3:01"
+                                               },
+                                               "image":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64},
+                                               "thumb":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64}
+                                       },
+                                       {
+                                               "src":"<?php echo $wp_host ?>Johnny_Hodges_Orchestra-Squaty_Roo-1941.mp3",
+                                               "type":"audio\/mpeg","title":"Squaty Roo","caption":"","description":"",
+                                               "meta":{
+                                                       "artist":"Johnny Hodges Orchestra",
+                                                       "album":"78 RPMs & Cylinder Recordings",
+                                                       "genre":"Jazz",
+                                                       "length_formatted":"2:24"
+                                               },
+                                               "image":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64},
+                                               "thumb":{"src":"<?php echo $audio_icon_js ?>","width":48,"height":64}
+                                       }]
+                               }</script>
+                       </div>
+                       <h4><?php _e( 'Do more with audio and video' ); ?></h4>
+                       <p><?php _e( 'Images have galleries; now we&#8217;ve added simple audio and video playlists, so you can showcase your music and clips.' ); ?></p>
                </div>
        </div>
 </div>
 
 <hr>
-<?php endif; ?>
 
-<div class="changelog">
+<div class="changelog customize">
        <div class="feature-section col two-col">
                <div>
-                       <h3><?php _e( 'Refined theme management' ); ?></h3>
-                       <p><?php _e( 'The new themes screen lets you survey your themes at a glance. Or want more information? Click to discover more. Then sit back and use your keyboard&#8217;s navigation arrows to flip through every theme you&#8217;ve got.' ); ?></p>
-                       <h4><?php _e( 'Smoother widget experience' ); ?></h4>
-                       <p><?php _e( 'Drag-drag-drag. Scroll-scroll-scroll. Widget management can be complicated. With the new design, we&#8217;ve worked to streamline the widgets&nbsp;screen.' ); ?></p>
-                       <p><?php _e( 'Have a large monitor? Multiple widget areas stack side-by-side to use the available space. Using a tablet? Just tap a widget to add it.' ); ?></p>
+                       <?php
+                               echo wp_video_shortcode( array(
+                                       'mp4'      => '//s.w.org/images/core/3.9/widgets.mp4',
+                                       'ogv'      => '//s.w.org/images/core/3.9/widgets.ogv',
+                                       'webm'     => '//s.w.org/images/core/3.9/widgets.webm',
+                                       'loop'     => true,
+                                       'autoplay' => true,
+                                       'width'    => 499
+                               ) );
+                       ?>
+                       <h4><?php _e( 'Live widget and header previews' ); ?></h4>
+                       <p><?php _e( 'Add, edit, and rearrange your site&#8217;s widgets right in the theme customizer. No &#8220;save and surprise&#8221; &mdash; preview your changes live and only save them when you&#8217;re ready.' ); ?></p>
+                       <p><?php _e( 'The improved header image tool also lets you upload, crop, and manage headers while customizing your theme.' ); ?></p>
                </div>
-               <div class="last-feature about-themes-img">
-                       <img src="<?php echo is_ssl() ? 'https://' : '//s.'; ?>wordpress.org/images/core/3.8/themes.png?1" />
+               <div class="last-feature">
+                       <img src="//s.w.org/images/core/3.9/theme.jpg?0" />
+                       <h4><?php _e( 'Stunning new theme browser' ); ?></h4>
+                       <p><?php _e( 'Looking for a new theme should be easy and fun. Lose yourself in the boundless supply of free WordPress.org themes with the beautiful new theme browser.' ); ?></p>
+               <?php if ( current_user_can( 'install_themes' ) ) { ?>
+                       <p><a href="<?php echo network_admin_url( 'theme-install.php' ); ?>" class="button button-large button-primary"><?php _e( 'Browse Themes' ); ?></a></p>
+               <?php } ?>
                </div>
        </div>
 </div>
 
 <hr>
 
-<div class="changelog about-twentyfourteen">
-       <h2 class="about-headline-callout"><?php _e( 'Twenty Fourteen, a sleek new magazine&nbsp;theme' ); ?></h2>
-       <img src="<?php echo is_ssl() ? 'https://' : '//s.'; ?>wordpress.org/images/core/3.8/twentyfourteen.jpg?1" />
+<div class="changelog under-the-hood">
+       <h3><?php _e( 'Under the Hood' ); ?></h3>
 
-       <div class="feature-section col one-col center-col">
+       <div class="feature-section col three-col">
                <div>
-                       <h3><?php _e( 'Turn your blog into a&nbsp;magazine' ); ?></h3>
-                       <p><?php _e( 'Create a beautiful magazine-style site with WordPress and Twenty Fourteen. Choose a grid or a slider to display featured content on your homepage. Customize your site with three widget areas or change your layout with two page templates.' ); ?></p>
-                       <p><?php _e( 'With a striking design that does not compromise our trademark simplicity, Twenty Fourteen is our most intrepid default theme yet.' ); ?></p>
+                       <h4><?php _e( 'Semantic Captions and Galleries' ); ?></h4>
+                       <p><?php _e( 'Theme developers have new options for images and galleries that use intelligent HTML5 markup.' ); ?></p>
+
+                       <h4><?php _e( 'Inline Code Documentation' ); ?></h4>
+                       <p><?php _e( 'Every action and filter hook in WordPress is now documented, along with expanded documentation for the media manager and customizer APIs.' ); ?></p>
+               </div>
+               <div>
+                       <h4><?php _e( 'External Libraries' ); ?></h4>
+                       <p><?php _e( 'Updated libraries: TinyMCE&nbsp;4, jQuery&nbsp;1.11, Backbone&nbsp;1.1, Underscore&nbsp;1.6, Plupload&nbsp;2, MediaElement&nbsp;2.14, Masonry&nbsp;3.' ); ?></p>
+
+                       <h4><?php _e( 'Improved Database Layer' ); ?></h4>
+                       <p><?php _e( 'Database connections are now more fault-resistant and have improved compatibility with PHP 5.5 and MySQL 5.6.' ); ?></p>
+               </div>
+               <div class="last-feature">
+                       <h4><?php _e( 'New Utility Functions' ); ?></h4>
+                       <p><?php _e( 'Identify a hook in progress with <code>doing_action()</code> and <code>doing_filter()</code>, and manipulate custom image sizes with <code>has_image_size()</code> and <code>remove_image_size()</code>.' ); ?></p>
+                       <p><?php _e( 'Plugins and themes registering custom image sizes can now register suggested cropping points. For example, prevent heads from being cropped out of photos with a top-center crop.' ); ?></p>
                </div>
-       </div>
 </div>
 
 <hr>
index 8847cda8b9240668870ae1d6c103c00120b02e4f..f7aae0ff52b46ff41c4d468f21feea4fcbc9fda5 100644 (file)
@@ -50,7 +50,7 @@ $core_actions_post = array(
        'oembed-cache', 'image-editor', 'delete-comment', 'delete-tag', 'delete-link',
        'delete-meta', 'delete-post', 'trash-post', 'untrash-post', 'delete-page', 'dim-comment',
        'add-link-category', 'add-tag', 'get-tagcloud', 'get-comments', 'replyto-comment',
-       'edit-comment', 'add-menu-item', 'add-meta', 'add-user', 'autosave', 'closed-postboxes',
+       'edit-comment', 'add-menu-item', 'add-meta', 'add-user', 'closed-postboxes',
        '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',
@@ -58,7 +58,7 @@ $core_actions_post = array(
        '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',
+       'save-user-color-scheme', 'update-widget', 'query-themes',
 );
 
 // Register core Ajax calls.
index 08d9debc9b4c34b4b2369a323178f8bfeefb600a..0619c86292f57150f9135f572f7c31803b997645 100644 (file)
@@ -26,13 +26,15 @@ if ( !defined('ABSPATH') )
        ?>
        <p id="footer-left" class="alignleft">
                <?php
+               $text = sprintf( __( 'Thank you for creating with <a href="%s">WordPress</a>.' ), __( 'https://wordpress.org/' ) );
                /**
                 * Filter the "Thank you" text displayed in the admin footer.
                 *
                 * @since 2.8.0
-                * @param string The content that will be printed.
+                *
+                * @param string $text The content that will be printed.
                 */
-               echo apply_filters( 'admin_footer_text', '<span id="footer-thankyou">' . __( 'Thank you for creating with <a href="http://wordpress.org/">WordPress</a>.' ) . '</span>' );
+               echo apply_filters( 'admin_footer_text', '<span id="footer-thankyou">' . $text . '</span>' );
                ?>
        </p>
        <p id="footer-upgrade" class="alignright">
@@ -40,11 +42,14 @@ if ( !defined('ABSPATH') )
                /**
                 * Filter the version/update text displayed in the admin footer.
                 *
-                * @see core_update_footer() WordPress prints the current version and update information,
-                *      using core_update_footer() at priority 10.
+                * WordPress prints the current version and update information,
+                * using core_update_footer() at priority 10.
                 *
                 * @since 2.3.0
-                * @param string The content that will be printed.
+                *
+                * @see core_update_footer()
+                *
+                * @param string $content The content that will be printed.
                 */
                echo apply_filters( 'update_footer', '' );
                ?>
@@ -56,25 +61,29 @@ if ( !defined('ABSPATH') )
  * Print scripts or data before the default footer scripts.
  *
  * @since 1.2.0
- * @param string The data to print.
+ *
+ * @param string $data The data to print.
  */
-do_action('admin_footer', '');
+do_action( 'admin_footer', '' );
 
 /**
  * Prints any scripts and data queued for the footer.
  *
  * @since 2.8.0
  */
-do_action('admin_print_footer_scripts');
+do_action( 'admin_print_footer_scripts' );
 
 /**
  * Print scripts or data after the default footer scripts.
  *
+ * The dynamic portion of the hook name, $GLOBALS['hook_suffix'],
+ * refers to the global hook suffix of the current page.
+ *
  * @since 2.8.0
  *
- * @param string $GLOBALS['hook_suffix'] The current admin page.
+ * @param string $hook_suffix The current admin page.
  */
-do_action("admin_footer-" . $GLOBALS['hook_suffix']);
+do_action( "admin_footer-" . $GLOBALS['hook_suffix'] );
 
 // get_site_option() won't exist when auto upgrading from <= 2.7
 if ( function_exists('get_site_option') ) {
index f59674908931d8c67ec8504970fac7f3f795d733..11bd30cd19d2ed3bfe77988a9736b52b92b46561 100644 (file)
@@ -4,7 +4,7 @@
  *
  * This file is deprecated, use 'wp-admin/includes/admin.php' instead.
  *
- * @deprecated 2.5
+ * @deprecated 2.5.0
  * @package WordPress
  * @subpackage Administration
  */
index 6b6dd79f20606669bc46caa4018c5f5ff6682279..10349750ebec4e8e9cd4cd86d2187bde4f190c1c 100644 (file)
@@ -80,28 +80,28 @@ var ajaxurl = '<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>',
 do_action( 'admin_enqueue_scripts', $hook_suffix );
 
 /**
- * Print styles for a specific admin page based on $hook_suffix.
+ * Fires when styles are printed for a specific admin page based on $hook_suffix.
  *
  * @since 2.6.0
  */
 do_action( "admin_print_styles-$hook_suffix" );
 
 /**
- * Print styles for all admin pages.
+ * Fires when styles are printed for all admin pages.
  *
  * @since 2.6.0
  */
 do_action( 'admin_print_styles' );
 
 /**
- * Print scripts for a specific admin page based on $hook_suffix.
+ * Fires when scripts are printed for a specific admin page based on $hook_suffix.
  *
  * @since 2.1.0
  */
 do_action( "admin_print_scripts-$hook_suffix" );
 
 /**
- * Print scripts for all admin pages.
+ * Fires when scripts are printed for all admin pages.
  *
  * @since 2.1.0
  */
index 85979327011b8f06f83b882d7a7bb7d6d78c84b7..a617d113f767ca6dc4f72b34b7705c7755eb13e5 100644 (file)
@@ -66,13 +66,7 @@ if ( get_option('db_upgraded') ) {
                if ( $c <= 50 || ( $c > 50 && mt_rand( 0, (int)( $c / 50 ) ) == 1 ) ) {
                        require_once( ABSPATH . WPINC . '/http.php' );
                        $response = wp_remote_get( admin_url( 'upgrade.php?step=1' ), array( 'timeout' => 120, 'httpversion' => '1.1' ) );
-                       /**
-                        * Fires after the multisite DB upgrade is complete.
-                        *
-                        * @since 3.0.0
-                        *
-                        * @param array|WP_Error $response The upgrade response array or WP_Error on failure.
-                        */
+                       /** This action is documented in wp-admin/network/upgrade.php */
                        do_action( 'after_mu_upgrade', $response );
                        unset($response);
                }
index a16c8d3aa8ca6f4583349ef05ee342d021eaddcf..e43fb58449d19265e053741b7576e96f031c146c 100644 (file)
@@ -6,6 +6,10 @@
  * @subpackage Administration
  */
 
+if ( isset( $_REQUEST['action'] ) && 'upload-attachment' === $_REQUEST['action'] ) {
+       define( 'DOING_AJAX', true );
+}
+
 define('WP_ADMIN', true);
 
 if ( defined('ABSPATH') )
@@ -32,7 +36,6 @@ if ( !current_user_can('upload_files') )
 header('Content-Type: text/html; charset=' . get_option('blog_charset'));
 
 if ( isset( $_REQUEST['action'] ) && 'upload-attachment' === $_REQUEST['action'] ) {
-       define( 'DOING_AJAX', true );
        include ABSPATH . 'wp-admin/includes/ajax-actions.php';
 
        send_nosniff_header();
@@ -99,7 +102,7 @@ if ( $_REQUEST['short'] ) {
         * Filter the returned ID of an uploaded attachment.
         *
         * The dynamic portion of the hook name, $type, refers to the attachment type,
-        * such as 'iamge', 'audio', 'video', 'file', etc.
+        * such as 'image', 'audio', 'video', 'file', etc.
         *
         * @since 2.5.0
         *
index d4d37ee21d66d87590bf2dce5c3b7f68360bfd8a..30c8d6d83b4dbdeb8300121dbcb7fc92f1ae96bc 100644 (file)
@@ -56,7 +56,7 @@ case 'editcomment' :
        get_current_screen()->set_help_sidebar(
        '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
        '<p>' . __( '<a href="http://codex.wordpress.org/Administration_Screens#Comments" target="_blank">Documentation on Comments</a>' ) . '</p>' .
-       '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
+       '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
        );
 
        wp_enqueue_script('comment');
@@ -174,7 +174,7 @@ if ( $comment->comment_approved != '0' ) { // if not unapproved
 </tr>
 <?php } ?>
 <tr>
-<th scope="row" valign="top"><?php /* translators: field name in comment form */ _ex('Comment', 'noun'); ?></th>
+<th scope="row"><?php /* translators: field name in comment form */ _ex('Comment', 'noun'); ?></th>
 <td><?php echo $comment->comment_content; ?></td>
 </tr>
 </table>
index 8624af031dcaf552a62021d366018a825e01b612..6d4eae1064340baca0e821da3c139cd13cd7eb02 100644 (file)
@@ -27,6 +27,7 @@ function wp_credits() {
        $results = get_site_transient( 'wordpress_credits_' . $locale );
 
        if ( ! is_array( $results )
+               || false !== strpos( $wp_version, '-' )
                || ( isset( $results['data']['version'] ) && strpos( $wp_version, $results['data']['version'] ) !== 0 )
        ) {
                $response = wp_remote_get( "http://api.wordpress.org/core/credits/1.1/?version=$wp_version&locale=$locale" );
@@ -101,7 +102,7 @@ $credits = wp_credits();
 
 if ( ! $credits ) {
        echo '<p class="about-description">' . sprintf( __( 'WordPress is created by a <a href="%1$s">worldwide team</a> of passionate individuals. <a href="%2$s">Get involved in WordPress</a>.' ),
-               'http://wordpress.org/about/',
+               'https://wordpress.org/about/',
                /* translators: Url to the codex documentation on contributing to WordPress used on the credits page */
                __( 'http://codex.wordpress.org/Contributing_to_WordPress' ) ) . '</p>';
        include( ABSPATH . 'wp-admin/admin-footer.php' );
@@ -160,7 +161,7 @@ foreach ( $credits['groups'] as $group_slug => $group_data ) {
 ?>
 <p class="clear"><?php printf( __( 'Want to see your name in lights on this page? <a href="%s">Get involved in WordPress</a>.' ),
        /* translators: URL to the Make WordPress 'Get Involved' landing page used on the credits page */
-       __( 'http://make.wordpress.org/' ) ); ?></p>
+       __( 'https://make.wordpress.org/' ) ); ?></p>
 
 </div>
 <?php
diff --git a/wp-admin/css/about-rtl.css b/wp-admin/css/about-rtl.css
new file mode 100644 (file)
index 0000000..873f7ac
--- /dev/null
@@ -0,0 +1,388 @@
+/*------------------------------------------------------------------------------
+  22.0 - About Pages
+------------------------------------------------------------------------------*/
+
+.about-wrap {
+       position: relative;
+       margin: 25px 20px 0 40px;
+       max-width: 1050px; /* readability */
+
+       font-size: 15px;
+}
+
+.about-wrap div.updated,
+.about-wrap div.error {
+       display: none !important;
+}
+
+.about-wrap hr {
+       border: 0;
+       height: 0;
+       margin: 0;
+       border-top: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+.about-wrap img {
+       margin: 0;
+       max-width: 100%;
+       vertical-align: middle;
+}
+
+/* Typography */
+
+.about-wrap p {
+       line-height: 1.6em;
+       font-size: 14px;
+}
+
+.about-wrap h1 {
+       margin: 0.2em 0 0 200px;
+       color: #333;
+       line-height: 1.2em;
+       font-size: 2.8em;
+       font-weight: 400;
+}
+
+.about-wrap h4 {
+       color: #222;
+}
+
+.about-wrap .about-text,
+.about-wrap p.about-description,
+.about-wrap li.wp-person a.web {
+       font-weight: normal;
+       line-height: 1.6em;
+       font-size: 19px;
+}
+
+.about-description {
+       margin-top: 1.4em;
+}
+
+.about-text {
+       margin: 1em 0 1em 200px;
+       min-height: 60px;
+       color: #777;
+       font-size: 24px;
+}
+
+.about-wrap .changelog h2.about-headline-callout {
+       margin: 1.1em 0 0.2em;
+       font-size: 2.4em;
+       font-weight: 300;
+       line-height: 1.3;
+       text-align: center;
+}
+
+.about-wrap h3 {
+       margin: 1em 0 .6em;
+       font-size: 1.5em;
+       line-height: 1.5em;
+}
+
+.customize h3 {
+       margin-top: 1.75em;
+       text-align: center;
+}
+
+.about-wrap .feature-section h4 {
+       margin: 1.4em 0 0.6em 0;
+       font-size: 1.2em;
+}
+
+.about-wrap .feature-section p {
+       margin-top: 0.6em;
+}
+
+.about-wrap code,
+.about-wrap ol li p {
+       font-size: 14px;
+}
+
+.about-wrap .button.button-large {
+       padding: 8px 20px 10px !important;
+       height: 46px !important;
+       font-size: 14px;
+       line-height: 28px !important;
+}
+
+/* 3.8 Images */
+
+.about-wrap .about-overview-img {
+       margin: 0;
+}
+
+/* Point Releases */
+
+.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;
+}
+
+/* WordPress Version Badge */
+
+.wp-badge {
+       background: #0074a2 url(../images/w-logo-white.png?ver=20131202) no-repeat;
+       background: #0074a2, url(../images/wordpress-logo-white.svg?ver=20131110) no-repeat; /* multiple backgrounds are ignored by browsers that don't support SVGs */
+       background-position: center 24px;
+       -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,0.2);
+       box-shadow: 0 1px 3px rgba(0,0,0,0.2);
+}
+
+
+.about-wrap .wp-badge {
+       position: absolute;
+       top: 0;
+       left: 0;
+}
+
+/* Tabs */
+
+.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;
+}
+
+/* Changelog / Update screen */
+
+.about-overview {
+       margin-top: 40px;
+       text-align: center;
+}
+
+.about-overview .wp-video {
+       margin: 0 auto;
+}
+
+.changelog .wp-playlist .wp-playlist-current-item img {
+       height: 64px;
+       width: auto;
+       max-width: 100%;
+}
+
+.about-wrap .feature-section {
+       margin-top: 40px;
+       padding-bottom: 20px;
+}
+
+.about-wrap .feature-section.two-col > div {
+       position: relative;
+       width: 47.5%;
+       margin-left: 4.999999999%;
+       float: right;
+}
+
+.about-wrap .feature-section.three-col > div {
+       position: relative;
+       width: 29.95%;
+       margin-left: 4.999999999%;
+       float: right;
+}
+
+.about-wrap .feature-section.col .last-feature {
+       margin-left: 0;
+}
+
+.about-wrap .under-the-hood .feature-section {
+       margin-top: 0;
+}
+
+.about-wrap .changelog .feature-section {
+       overflow: hidden;
+}
+
+.about-wrap .feature-section.two-col div p {
+       margin-left: 3%;
+}
+
+.about-wrap .feature-section div p img {
+       float: left;
+       margin-right: 10px;
+       max-width: 20%;
+}
+
+.about-wrap .changelog li {
+       list-style-type: disc;
+       margin-right: 3em;
+}
+
+/* Return to Dashboard Home link */
+
+.about-wrap .return-to-dashboard {
+       margin: 30px -5px 0 0;
+       font-size: 14px;
+       font-weight: bold;
+}
+
+.about-wrap .return-to-dashboard a {
+       text-decoration: none;
+       padding: 0 5px;
+}
+
+/* Credits */
+
+.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 {
+       float: right;
+       margin-left: 10px;
+}
+
+.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;
+}
+
+/* @todo: combine this */
+.about-wrap li.wp-person {
+       height: 70px;
+       width: 280px;
+       padding-bottom: 15px;
+}
+
+.about-wrap ul.compact li.wp-person {
+       height: auto;
+       width: 180px;
+       padding-bottom: 0;
+       margin-bottom: 0;
+}
+
+.about-wrap #wp-people-group-validators + p.wp-credits-list {
+       margin-top: 0;
+}
+
+.about-wrap li.wp-person a.web {
+       display: block;
+       margin: 6px 0 2px;
+       font-size: 16px;
+       text-decoration: none;
+}
+
+.about-wrap p.wp-credits-list a {
+       white-space: nowrap;
+}
+
+/* Freedoms */
+
+.freedoms-php .about-wrap ol {
+       margin: 40px 60px;
+}
+
+.freedoms-php .about-wrap ol li {
+       list-style-type: decimal;
+       font-weight: bold;
+}
+
+.freedoms-php .about-wrap ol p {
+       font-weight: normal;
+       margin: 0.6em 0;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+@media screen and ( max-width: 782px ) {
+       .about-wrap .feature-section.one-col > div,
+       .about-wrap .feature-section.two-col > div,
+       .about-wrap .feature-section.three-col > div {
+               width: 100%;
+               margin: 0 0 40px;
+               padding: 0 0 40px;
+               float: none;
+               border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+       }
+
+       .about-wrap .under-the-hood .feature-section > div,
+       .about-wrap .feature-section.col > div.last-feature {
+               margin: 0;
+               padding: 0;
+               border-bottom: none;
+       }
+
+}
+
+@media only screen and (max-width: 500px) {
+       .about-wrap {
+               margin-left: 20px;
+               margin-right: 10px;
+       }
+
+       .about-wrap h1,
+       .about-text {
+               margin-left: 0;
+       }
+
+       .about-text {
+               margin-bottom: 0.25em;
+       }
+
+       .about-wrap .wp-badge {
+               position: relative;
+               margin-bottom: 1.5em;
+               width: 100%;
+       }
+
+       .about-wrap .feature-section.three-col div {
+               width: 100%;
+               float: none;
+       }
+
+       .about-wrap .three-col.about-updates .col-1 {
+               padding: 0;
+               float: none;
+       }
+
+       .about-wrap .three-col.about-updates .col-2 {
+               margin: 0 0 20px;
+               width: 100%;
+               float: none;
+       }
+}
\ No newline at end of file
diff --git a/wp-admin/css/about.css b/wp-admin/css/about.css
new file mode 100644 (file)
index 0000000..44c85c8
--- /dev/null
@@ -0,0 +1,388 @@
+/*------------------------------------------------------------------------------
+  22.0 - About Pages
+------------------------------------------------------------------------------*/
+
+.about-wrap {
+       position: relative;
+       margin: 25px 40px 0 20px;
+       max-width: 1050px; /* readability */
+
+       font-size: 15px;
+}
+
+.about-wrap div.updated,
+.about-wrap div.error {
+       display: none !important;
+}
+
+.about-wrap hr {
+       border: 0;
+       height: 0;
+       margin: 0;
+       border-top: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+.about-wrap img {
+       margin: 0;
+       max-width: 100%;
+       vertical-align: middle;
+}
+
+/* Typography */
+
+.about-wrap p {
+       line-height: 1.6em;
+       font-size: 14px;
+}
+
+.about-wrap h1 {
+       margin: 0.2em 200px 0 0;
+       color: #333;
+       line-height: 1.2em;
+       font-size: 2.8em;
+       font-weight: 400;
+}
+
+.about-wrap h4 {
+       color: #222;
+}
+
+.about-wrap .about-text,
+.about-wrap p.about-description,
+.about-wrap li.wp-person a.web {
+       font-weight: normal;
+       line-height: 1.6em;
+       font-size: 19px;
+}
+
+.about-description {
+       margin-top: 1.4em;
+}
+
+.about-text {
+       margin: 1em 200px 1em 0;
+       min-height: 60px;
+       color: #777;
+       font-size: 24px;
+}
+
+.about-wrap .changelog h2.about-headline-callout {
+       margin: 1.1em 0 0.2em;
+       font-size: 2.4em;
+       font-weight: 300;
+       line-height: 1.3;
+       text-align: center;
+}
+
+.about-wrap h3 {
+       margin: 1em 0 .6em;
+       font-size: 1.5em;
+       line-height: 1.5em;
+}
+
+.customize h3 {
+       margin-top: 1.75em;
+       text-align: center;
+}
+
+.about-wrap .feature-section h4 {
+       margin: 1.4em 0 0.6em 0;
+       font-size: 1.2em;
+}
+
+.about-wrap .feature-section p {
+       margin-top: 0.6em;
+}
+
+.about-wrap code,
+.about-wrap ol li p {
+       font-size: 14px;
+}
+
+.about-wrap .button.button-large {
+       padding: 8px 20px 10px !important;
+       height: 46px !important;
+       font-size: 14px;
+       line-height: 28px !important;
+}
+
+/* 3.8 Images */
+
+.about-wrap .about-overview-img {
+       margin: 0;
+}
+
+/* Point Releases */
+
+.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;
+}
+
+/* WordPress Version Badge */
+
+.wp-badge {
+       background: #0074a2 url(../images/w-logo-white.png?ver=20131202) no-repeat;
+       background: #0074a2, url(../images/wordpress-logo-white.svg?ver=20131110) no-repeat; /* multiple backgrounds are ignored by browsers that don't support SVGs */
+       background-position: center 24px;
+       -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,0.2);
+       box-shadow: 0 1px 3px rgba(0,0,0,0.2);
+}
+
+
+.about-wrap .wp-badge {
+       position: absolute;
+       top: 0;
+       right: 0;
+}
+
+/* Tabs */
+
+.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;
+}
+
+/* Changelog / Update screen */
+
+.about-overview {
+       margin-top: 40px;
+       text-align: center;
+}
+
+.about-overview .wp-video {
+       margin: 0 auto;
+}
+
+.changelog .wp-playlist .wp-playlist-current-item img {
+       height: 64px;
+       width: auto;
+       max-width: 100%;
+}
+
+.about-wrap .feature-section {
+       margin-top: 40px;
+       padding-bottom: 20px;
+}
+
+.about-wrap .feature-section.two-col > div {
+       position: relative;
+       width: 47.5%;
+       margin-right: 4.999999999%;
+       float: left;
+}
+
+.about-wrap .feature-section.three-col > div {
+       position: relative;
+       width: 29.95%;
+       margin-right: 4.999999999%;
+       float: left;
+}
+
+.about-wrap .feature-section.col .last-feature {
+       margin-right: 0;
+}
+
+.about-wrap .under-the-hood .feature-section {
+       margin-top: 0;
+}
+
+.about-wrap .changelog .feature-section {
+       overflow: hidden;
+}
+
+.about-wrap .feature-section.two-col div p {
+       margin-right: 3%;
+}
+
+.about-wrap .feature-section div p img {
+       float: right;
+       margin-left: 10px;
+       max-width: 20%;
+}
+
+.about-wrap .changelog li {
+       list-style-type: disc;
+       margin-left: 3em;
+}
+
+/* Return to Dashboard Home link */
+
+.about-wrap .return-to-dashboard {
+       margin: 30px 0 0 -5px;
+       font-size: 14px;
+       font-weight: bold;
+}
+
+.about-wrap .return-to-dashboard a {
+       text-decoration: none;
+       padding: 0 5px;
+}
+
+/* Credits */
+
+.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 {
+       float: left;
+       margin-right: 10px;
+}
+
+.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;
+}
+
+/* @todo: combine this */
+.about-wrap li.wp-person {
+       height: 70px;
+       width: 280px;
+       padding-bottom: 15px;
+}
+
+.about-wrap ul.compact li.wp-person {
+       height: auto;
+       width: 180px;
+       padding-bottom: 0;
+       margin-bottom: 0;
+}
+
+.about-wrap #wp-people-group-validators + p.wp-credits-list {
+       margin-top: 0;
+}
+
+.about-wrap li.wp-person a.web {
+       display: block;
+       margin: 6px 0 2px;
+       font-size: 16px;
+       text-decoration: none;
+}
+
+.about-wrap p.wp-credits-list a {
+       white-space: nowrap;
+}
+
+/* Freedoms */
+
+.freedoms-php .about-wrap ol {
+       margin: 40px 60px;
+}
+
+.freedoms-php .about-wrap ol li {
+       list-style-type: decimal;
+       font-weight: bold;
+}
+
+.freedoms-php .about-wrap ol p {
+       font-weight: normal;
+       margin: 0.6em 0;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+@media screen and ( max-width: 782px ) {
+       .about-wrap .feature-section.one-col > div,
+       .about-wrap .feature-section.two-col > div,
+       .about-wrap .feature-section.three-col > div {
+               width: 100%;
+               margin: 0 0 40px;
+               padding: 0 0 40px;
+               float: none;
+               border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+       }
+
+       .about-wrap .under-the-hood .feature-section > div,
+       .about-wrap .feature-section.col > div.last-feature {
+               margin: 0;
+               padding: 0;
+               border-bottom: none;
+       }
+
+}
+
+@media only screen and (max-width: 500px) {
+       .about-wrap {
+               margin-right: 20px;
+               margin-left: 10px;
+       }
+
+       .about-wrap h1,
+       .about-text {
+               margin-right: 0;
+       }
+
+       .about-text {
+               margin-bottom: 0.25em;
+       }
+
+       .about-wrap .wp-badge {
+               position: relative;
+               margin-bottom: 1.5em;
+               width: 100%;
+       }
+
+       .about-wrap .feature-section.three-col div {
+               width: 100%;
+               float: none;
+       }
+
+       .about-wrap .three-col.about-updates .col-1 {
+               padding: 0;
+               float: none;
+       }
+
+       .about-wrap .three-col.about-updates .col-2 {
+               margin: 0 0 20px;
+               width: 100%;
+               float: none;
+       }
+}
\ No newline at end of file
diff --git a/wp-admin/css/admin-menu-rtl.css b/wp-admin/css/admin-menu-rtl.css
new file mode 100644 (file)
index 0000000..5790ec0
--- /dev/null
@@ -0,0 +1,917 @@
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu,
+#adminmenu .wp-submenu {
+       width: 160px;
+       background-color: #222;
+}
+
+#adminmenuback {
+       position: absolute;
+       top: 0;
+       bottom: 0;
+       z-index: -1;
+}
+
+#adminmenu {
+       clear: right;
+       margin: 12px 0 0;
+       padding: 0;
+       list-style: none;
+}
+
+.folded #adminmenuback,
+.folded #adminmenuwrap,
+.folded #adminmenu,
+.folded #adminmenu li.menu-top {
+       width: 36px;
+}
+
+.icon16 {
+       height: 18px;
+       width: 18px;
+       padding: 6px 6px;
+       margin: -6px -8px 0 0;
+       float: right;
+}
+
+/* New Menu icons */
+
+.icon16:before {
+       color: #999;
+       font: normal 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';
+}
+
+/* hide background-image for icons above */
+.icon16.icon-dashboard,
+.menu-icon-dashboard div.wp-menu-image,
+.icon16.icon-post,
+.menu-icon-post div.wp-menu-image,
+.icon16.icon-media,
+.menu-icon-media div.wp-menu-image,
+.icon16.icon-links,
+.menu-icon-links div.wp-menu-image,
+.icon16.icon-page,
+.menu-icon-page div.wp-menu-image,
+.icon16.icon-comments,
+.menu-icon-comments div.wp-menu-image,
+.icon16.icon-appearance,
+.menu-icon-appearance div.wp-menu-image,
+.icon16.icon-plugins,
+.menu-icon-plugins div.wp-menu-image,
+.icon16.icon-users,
+.menu-icon-users div.wp-menu-image,
+.icon16.icon-tools,
+.menu-icon-tools div.wp-menu-image,
+.icon16.icon-settings,
+.menu-icon-settings div.wp-menu-image,
+.icon16.icon-site,
+.menu-icon-site div.wp-menu-image,
+.icon16.icon-generic,
+.menu-icon-generic div.wp-menu-image {
+       background-image: none !important;
+}
+
+/*------------------------------------------------------------------------------
+  7.0 - Main Navigation (Left Menu)
+------------------------------------------------------------------------------*/
+
+#adminmenuwrap {
+       position: relative;
+       float: right;
+}
+
+/* side admin menu */
+#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: #bbb;
+}
+
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-submenu a:focus {
+       background: none;
+}
+
+#adminmenu a:hover,
+#adminmenu li.menu-top > a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-submenu a:focus {
+       color: #2ea2cc;
+}
+
+#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 a.wp-has-current-submenu:focus + .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu {
+       padding: 7px 0 8px;
+       z-index: 9999;
+       background-color: #333;
+       -webkit-box-shadow: 0 3px 5px rgba(0,0,0,0.2);
+       box-shadow: 0 3px 5px rgba(0,0,0,0.2);
+}
+
+.js #adminmenu .sub-open,
+.js #adminmenu .opensub .wp-submenu,
+#adminmenu a.menu-top:focus + .wp-submenu,
+.no-js li.wp-has-submenu:hover .wp-submenu {
+       top: -1px;
+}
+
+#adminmenu .wp-has-current-submenu .wp-submenu,
+.no-js li.wp-has-current-submenu:hover .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu {
+       position: relative;
+       z-index: 3;
+       top: auto;
+       right: auto;
+       left: auto;
+       bottom: auto;
+       border: 0 none;
+       margin-top: 0;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       background-color: #333;
+}
+
+/* ensure that wp-submenu's box shadow doesn't appear on top of the focused menu item's background. */
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
+       position: relative;
+       background-color: #111;
+}
+
+.folded #adminmenu li.menu-top:hover,
+.folded #adminmenu li.opensub > a.menu-top,
+.folded #adminmenu li > a.menu-top:focus {
+       z-index: 10000;
+}
+
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.current a.menu-top,
+.folded #adminmenu li.wp-has-current-submenu,
+.folded #adminmenu li.current.menu-top,
+#adminmenu .wp-menu-arrow,
+#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,
+#adminmenu .wp-menu-arrow div {
+       background: #0074a2;
+       color: #fff;
+}
+
+.folded #adminmenu .wp-submenu.sub-open,
+.folded #adminmenu .opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,
+.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu a.menu-top:focus + .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu a.menu-top:focus + .wp-submenu,
+.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu  {
+       top: 0;
+       right: 36px;
+}
+
+.folded #adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .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 .wp-submenu li.current,
+#adminmenu .wp-submenu li.current a,
+#adminmenu .opensub .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus {
+       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 a.menu-top,
+#adminmenu .wp-submenu-head {
+       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 0;
+       opacity: 0.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: #999;
+       padding: 7px 0;
+       -webkit-transition: all .1s ease-in-out;
+       transition: all .1s ease-in-out;
+}
+
+#adminmenu div.wp-menu-image:before {
+       color: #999;
+}
+
+#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before,
+#adminmenu .wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu .current div.wp-menu-image:before,
+#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before {
+       color: #fff;
+}
+
+#adminmenu li:hover div.wp-menu-image:before {
+       color: #2ea2cc;
+}
+
+.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 support */
+.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;
+}
+/* End no @font-face support */
+
+/* Sticky admin menu */
+.sticky-menu #adminmenuwrap {
+       position: fixed;
+       z-index: 9999; /* Match the z-index of .wp-submenu to ensure flyout menus don't appear underneath main column elements */
+}
+
+/* A new arrow */
+
+.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: solid 8px 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;
+}
+
+/* flyout menu arrow */
+#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: #333;
+}
+
+#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 0;
+       cursor: inherit;
+}
+
+/* @todo: is this even needed given that it's nested beneath the above li.wp-menu-separator? */
+#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 0px 4px;
+}
+
+#adminmenu li.current,
+.folded #adminmenu li.wp-menu-open {
+       border: 0 none;
+}
+
+#adminmenu .awaiting-mod,
+#adminmenu span.update-plugins,
+#sidemenu li a span.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,
+#sidemenu li a span.update-plugins span {
+       display: block;
+       padding: 0 6px;
+}
+
+#adminmenu li.current a .awaiting-mod,
+#adminmenu     li a.wp-has-current-submenu .update-plugins {
+       background-color: #2ea2cc;
+       color: #fff;
+}
+
+#adminmenu li span.count-0,
+#sidemenu li a .count-0 {
+       display: none;
+}
+
+#collapse-menu {
+       font-size: 13px;
+       line-height: 34px;
+       margin-top: 10px;
+       color: #aaa;
+       -webkit-transition: all .1s ease-in-out;
+       transition: all .1s ease-in-out;
+}
+
+#collapse-menu:hover,
+#collapse-menu:hover #collapse-button div:after {
+       color: #2ea2cc;
+}
+
+.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: #aaa;
+       font: normal 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;
+}
+
+/**
+ * Toolbar menu toggle
+ */
+li#wp-admin-bar-menu-toggle {
+       display: none;
+}
+
+
+/* Auto-folding of the admin menu */
+@media only screen and (max-width: 900px) {
+       .auto-fold #wpcontent,
+       .auto-fold #wpfooter {
+               margin-right: 56px;
+       }
+
+       .auto-fold #adminmenuback,
+       .auto-fold #adminmenuwrap,
+       .auto-fold #adminmenu,
+       .auto-fold #adminmenu li.menu-top {
+               width: 36px;
+       }
+
+       .auto-fold #adminmenu .wp-submenu.sub-open,
+       .auto-fold #adminmenu .opensub .wp-submenu,
+       .auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,
+       .auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+       .auto-fold #adminmenu a.menu-top:focus + .wp-submenu,
+       .auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus + .wp-submenu  {
+               top: 0px;
+               right: 36px;
+       }
+
+       .auto-fold #adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
+       .auto-fold #adminmenu .wp-has-current-submenu .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 none;
+       }
+
+       .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: none;
+       }
+
+       .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;
+       }
+
+       /* Sidebar Adjustments */
+       .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%;
+       }
+
+       /* Resize the admin menu items to a comfortable touch size */
+       .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;
+       }
+
+       /* Restore the menu names */
+       .auto-fold #adminmenu .wp-menu-name {
+               display: block;
+               margin-right: 35px;
+       }
+
+       /* Switch the arrow side */
+       .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;
+       }
+
+       /* Make the submenus appear correctly when tapped. */
+       #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 .selected .wp-submenu:after,
+       .auto-fold #adminmenu .wp-menu-open .wp-submenu:after {
+               display: none;
+       }
+
+       .auto-fold #adminmenu .opensub .wp-submenu {
+               display: none;
+       }
+
+       .auto-fold #adminmenu .selected .wp-submenu {
+               display: block;
+       }
+
+       .auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after {
+               display: block;
+       }
+
+       .auto-fold #adminmenu a.menu-top:focus + .wp-submenu,
+       .auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus + .wp-submenu {
+               position: relative;
+               right: -1px;
+               left: 0;
+               top: 0;
+       }
+
+       /* Remove submenu headers and adjust sub meu*/
+       #adminmenu .wp-submenu .wp-submenu-head {
+               display: none;
+       }
+
+       /* Toolbar menu toggle */
+       #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: none;
+               text-decoration: none;
+               border: 1px solid transparent;
+               background: none;
+               height: 44px;
+               margin-right: -1px;
+       }
+
+       .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
+               background: #333;
+       }
+
+       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: normal 40px/45px 'Dashicons';
+               vertical-align: middle;
+               outline: none;
+               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;
+       }
+}
+
+/* Smartphone */
+@media screen and (max-width: 600px) {
+       #adminmenuwrap,
+       #adminmenuback {
+               display: none;
+       }
+
+       .wp-responsive-open #adminmenuwrap,
+       .wp-responsive-open #adminmenuback {
+               display: block;
+       }
+
+       .auto-fold #adminmenu {
+               top: 46px;
+       }
+}
+
diff --git a/wp-admin/css/admin-menu.css b/wp-admin/css/admin-menu.css
new file mode 100644 (file)
index 0000000..a79ea56
--- /dev/null
@@ -0,0 +1,917 @@
+#adminmenuback,
+#adminmenuwrap,
+#adminmenu,
+#adminmenu .wp-submenu {
+       width: 160px;
+       background-color: #222;
+}
+
+#adminmenuback {
+       position: absolute;
+       top: 0;
+       bottom: 0;
+       z-index: -1;
+}
+
+#adminmenu {
+       clear: left;
+       margin: 12px 0 0;
+       padding: 0;
+       list-style: none;
+}
+
+.folded #adminmenuback,
+.folded #adminmenuwrap,
+.folded #adminmenu,
+.folded #adminmenu li.menu-top {
+       width: 36px;
+}
+
+.icon16 {
+       height: 18px;
+       width: 18px;
+       padding: 6px 6px;
+       margin: -6px 0 0 -8px;
+       float: left;
+}
+
+/* New Menu icons */
+
+.icon16:before {
+       color: #999;
+       font: normal 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';
+}
+
+/* hide background-image for icons above */
+.icon16.icon-dashboard,
+.menu-icon-dashboard div.wp-menu-image,
+.icon16.icon-post,
+.menu-icon-post div.wp-menu-image,
+.icon16.icon-media,
+.menu-icon-media div.wp-menu-image,
+.icon16.icon-links,
+.menu-icon-links div.wp-menu-image,
+.icon16.icon-page,
+.menu-icon-page div.wp-menu-image,
+.icon16.icon-comments,
+.menu-icon-comments div.wp-menu-image,
+.icon16.icon-appearance,
+.menu-icon-appearance div.wp-menu-image,
+.icon16.icon-plugins,
+.menu-icon-plugins div.wp-menu-image,
+.icon16.icon-users,
+.menu-icon-users div.wp-menu-image,
+.icon16.icon-tools,
+.menu-icon-tools div.wp-menu-image,
+.icon16.icon-settings,
+.menu-icon-settings div.wp-menu-image,
+.icon16.icon-site,
+.menu-icon-site div.wp-menu-image,
+.icon16.icon-generic,
+.menu-icon-generic div.wp-menu-image {
+       background-image: none !important;
+}
+
+/*------------------------------------------------------------------------------
+  7.0 - Main Navigation (Left Menu)
+------------------------------------------------------------------------------*/
+
+#adminmenuwrap {
+       position: relative;
+       float: left;
+}
+
+/* side admin menu */
+#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: #bbb;
+}
+
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-submenu a:focus {
+       background: none;
+}
+
+#adminmenu a:hover,
+#adminmenu li.menu-top > a:focus,
+#adminmenu .wp-submenu a:hover,
+#adminmenu .wp-submenu a:focus {
+       color: #2ea2cc;
+}
+
+#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 a.wp-has-current-submenu:focus + .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu {
+       padding: 7px 0 8px;
+       z-index: 9999;
+       background-color: #333;
+       -webkit-box-shadow: 0 3px 5px rgba(0,0,0,0.2);
+       box-shadow: 0 3px 5px rgba(0,0,0,0.2);
+}
+
+.js #adminmenu .sub-open,
+.js #adminmenu .opensub .wp-submenu,
+#adminmenu a.menu-top:focus + .wp-submenu,
+.no-js li.wp-has-submenu:hover .wp-submenu {
+       top: -1px;
+}
+
+#adminmenu .wp-has-current-submenu .wp-submenu,
+.no-js li.wp-has-current-submenu:hover .wp-submenu,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
+#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,
+#adminmenu .wp-has-current-submenu.opensub .wp-submenu {
+       position: relative;
+       z-index: 3;
+       top: auto;
+       left: auto;
+       right: auto;
+       bottom: auto;
+       border: 0 none;
+       margin-top: 0;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       background-color: #333;
+}
+
+/* ensure that wp-submenu's box shadow doesn't appear on top of the focused menu item's background. */
+#adminmenu li.menu-top:hover,
+#adminmenu li.opensub > a.menu-top,
+#adminmenu li > a.menu-top:focus {
+       position: relative;
+       background-color: #111;
+}
+
+.folded #adminmenu li.menu-top:hover,
+.folded #adminmenu li.opensub > a.menu-top,
+.folded #adminmenu li > a.menu-top:focus {
+       z-index: 10000;
+}
+
+#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
+#adminmenu li.current a.menu-top,
+.folded #adminmenu li.wp-has-current-submenu,
+.folded #adminmenu li.current.menu-top,
+#adminmenu .wp-menu-arrow,
+#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,
+#adminmenu .wp-menu-arrow div {
+       background: #0074a2;
+       color: #fff;
+}
+
+.folded #adminmenu .wp-submenu.sub-open,
+.folded #adminmenu .opensub .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,
+.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+.folded #adminmenu a.menu-top:focus + .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu a.menu-top:focus + .wp-submenu,
+.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu  {
+       top: 0;
+       left: 36px;
+}
+
+.folded #adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
+.folded #adminmenu .wp-has-current-submenu .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 .wp-submenu li.current,
+#adminmenu .wp-submenu li.current a,
+#adminmenu .opensub .wp-submenu li.current a,
+#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
+#adminmenu .wp-submenu li.current a:hover,
+#adminmenu .wp-submenu li.current a:focus {
+       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 a.menu-top,
+#adminmenu .wp-submenu-head {
+       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 0;
+       opacity: 0.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: #999;
+       padding: 7px 0;
+       -webkit-transition: all .1s ease-in-out;
+       transition: all .1s ease-in-out;
+}
+
+#adminmenu div.wp-menu-image:before {
+       color: #999;
+}
+
+#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before,
+#adminmenu .wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu .current div.wp-menu-image:before,
+#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before {
+       color: #fff;
+}
+
+#adminmenu li:hover div.wp-menu-image:before {
+       color: #2ea2cc;
+}
+
+.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 support */
+.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;
+}
+/* End no @font-face support */
+
+/* Sticky admin menu */
+.sticky-menu #adminmenuwrap {
+       position: fixed;
+       z-index: 9999; /* Match the z-index of .wp-submenu to ensure flyout menus don't appear underneath main column elements */
+}
+
+/* A new arrow */
+
+.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: solid 8px 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;
+}
+
+/* flyout menu arrow */
+#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: #333;
+}
+
+#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 0;
+       cursor: inherit;
+}
+
+/* @todo: is this even needed given that it's nested beneath the above li.wp-menu-separator? */
+#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 0px 4px;
+}
+
+#adminmenu li.current,
+.folded #adminmenu li.wp-menu-open {
+       border: 0 none;
+}
+
+#adminmenu .awaiting-mod,
+#adminmenu span.update-plugins,
+#sidemenu li a span.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,
+#sidemenu li a span.update-plugins span {
+       display: block;
+       padding: 0 6px;
+}
+
+#adminmenu li.current a .awaiting-mod,
+#adminmenu     li a.wp-has-current-submenu .update-plugins {
+       background-color: #2ea2cc;
+       color: #fff;
+}
+
+#adminmenu li span.count-0,
+#sidemenu li a .count-0 {
+       display: none;
+}
+
+#collapse-menu {
+       font-size: 13px;
+       line-height: 34px;
+       margin-top: 10px;
+       color: #aaa;
+       -webkit-transition: all .1s ease-in-out;
+       transition: all .1s ease-in-out;
+}
+
+#collapse-menu:hover,
+#collapse-menu:hover #collapse-button div:after {
+       color: #2ea2cc;
+}
+
+.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: #aaa;
+       font: normal 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;
+}
+
+/**
+ * Toolbar menu toggle
+ */
+li#wp-admin-bar-menu-toggle {
+       display: none;
+}
+
+
+/* Auto-folding of the admin menu */
+@media only screen and (max-width: 900px) {
+       .auto-fold #wpcontent,
+       .auto-fold #wpfooter {
+               margin-left: 56px;
+       }
+
+       .auto-fold #adminmenuback,
+       .auto-fold #adminmenuwrap,
+       .auto-fold #adminmenu,
+       .auto-fold #adminmenu li.menu-top {
+               width: 36px;
+       }
+
+       .auto-fold #adminmenu .wp-submenu.sub-open,
+       .auto-fold #adminmenu .opensub .wp-submenu,
+       .auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,
+       .auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,
+       .auto-fold #adminmenu a.menu-top:focus + .wp-submenu,
+       .auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus + .wp-submenu  {
+               top: 0px;
+               left: 36px;
+       }
+
+       .auto-fold #adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
+       .auto-fold #adminmenu .wp-has-current-submenu .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 none;
+       }
+
+       .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: none;
+       }
+
+       .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;
+       }
+
+       /* Sidebar Adjustments */
+       .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%;
+       }
+
+       /* Resize the admin menu items to a comfortable touch size */
+       .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;
+       }
+
+       /* Restore the menu names */
+       .auto-fold #adminmenu .wp-menu-name {
+               display: block;
+               margin-left: 35px;
+       }
+
+       /* Switch the arrow side */
+       .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;
+       }
+
+       /* Make the submenus appear correctly when tapped. */
+       #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 .selected .wp-submenu:after,
+       .auto-fold #adminmenu .wp-menu-open .wp-submenu:after {
+               display: none;
+       }
+
+       .auto-fold #adminmenu .opensub .wp-submenu {
+               display: none;
+       }
+
+       .auto-fold #adminmenu .selected .wp-submenu {
+               display: block;
+       }
+
+       .auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after {
+               display: block;
+       }
+
+       .auto-fold #adminmenu a.menu-top:focus + .wp-submenu,
+       .auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus + .wp-submenu {
+               position: relative;
+               left: -1px;
+               right: 0;
+               top: 0;
+       }
+
+       /* Remove submenu headers and adjust sub meu*/
+       #adminmenu .wp-submenu .wp-submenu-head {
+               display: none;
+       }
+
+       /* Toolbar menu toggle */
+       #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: none;
+               text-decoration: none;
+               border: 1px solid transparent;
+               background: none;
+               height: 44px;
+               margin-left: -1px;
+       }
+
+       .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
+               background: #333;
+       }
+
+       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: normal 40px/45px 'Dashicons';
+               vertical-align: middle;
+               outline: none;
+               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;
+       }
+}
+
+/* Smartphone */
+@media screen and (max-width: 600px) {
+       #adminmenuwrap,
+       #adminmenuback {
+               display: none;
+       }
+
+       .wp-responsive-open #adminmenuwrap,
+       .wp-responsive-open #adminmenuback {
+               display: block;
+       }
+
+       .auto-fold #adminmenu {
+               top: 46px;
+       }
+}
+
index ac0b3c56fcea641b0eb4d01cce0b32a885f8d413..f95cbc6efdfe4ca2af1209cc3adc4f38de57ed45 100644 (file)
@@ -9,6 +9,7 @@
 .wp-color-result {
        background-color: #f7f7f7;
        border: 1px solid #ccc;
+       -webkit-border-radius: 3px;
        border-radius: 3px;
        cursor: pointer;
        display: inline-block;
        margin: 0 0px 6px 6px;
        position: relative;
        top: 1px;
-       user-select: none;
+       -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
-       -webkit-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;
@@ -42,7 +43,6 @@
        left: 0;
        text-align: center;
        top: 0;
-
        -webkit-box-shadow: inset 0 1px 0 #fff;
        box-shadow: inset 0 1px 0 #fff;
 }
@@ -96,6 +96,7 @@
 }
 
 .wp-picker-container .iris-picker {
+       -webkit-border-radius: 0;
        border-radius: 0;
        border-color: #dfdfdf;
        margin-top: 6px;
index 7efa4b17b30eb64f51a1630772914efb6b33c782..023eccbab754e4bf6811d573526ec0d5b66e01a0 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;border-radius:3px;cursor:pointer;display:inline-block;height:22px;margin:0 0 6px 6px;position:relative;top:1px;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-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;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:hover{background:#fafafa;border-color:#999;color:#222}.wp-color-result:hover:after{color:#222;border-color:#aaa;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{border-color:#888;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.wp-color-result:focus:after{border-color:#888}.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{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)}.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:hover{background:#fafafa;border-color:#999;color:#222}.wp-color-result:hover:after{color:#222;border-color:#aaa;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{border-color:#888;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.wp-color-result:focus:after{border-color:#888}.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 320d1266a5a725c395598746b7a2d2e2cadbecb5..1d00d96aa186de1fd2ea66c85c8c98b8d502bc36 100644 (file)
@@ -9,6 +9,7 @@
 .wp-color-result {
        background-color: #f7f7f7;
        border: 1px solid #ccc;
+       -webkit-border-radius: 3px;
        border-radius: 3px;
        cursor: pointer;
        display: inline-block;
        margin: 0 6px 6px 0px;
        position: relative;
        top: 1px;
-       user-select: none;
+       -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
-       -webkit-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;
@@ -42,7 +43,6 @@
        right: 0;
        text-align: center;
        top: 0;
-
        -webkit-box-shadow: inset 0 1px 0 #fff;
        box-shadow: inset 0 1px 0 #fff;
 }
@@ -96,6 +96,7 @@
 }
 
 .wp-picker-container .iris-picker {
+       -webkit-border-radius: 0;
        border-radius: 0;
        border-color: #dfdfdf;
        margin-top: 6px;
index a2af22d21ff5f6cec425a5d6b59fa31cc8bdd70c..8c225dd0092d0974a01514539f100189a6fe4ded 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;border-radius:3px;cursor:pointer;display:inline-block;height:22px;margin:0 6px 6px 0;position:relative;top:1px;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-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;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:hover{background:#fafafa;border-color:#999;color:#222}.wp-color-result:hover:after{color:#222;border-color:#aaa;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{border-color:#888;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.wp-color-result:focus:after{border-color:#888}.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{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)}.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:hover{background:#fafafa;border-color:#999;color:#222}.wp-color-result:hover:after{color:#222;border-color:#aaa;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{border-color:#888;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.wp-color-result:focus:after{border-color:#888}.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
diff --git a/wp-admin/css/colors-rtl.css b/wp-admin/css/colors-rtl.css
deleted file mode 100644 (file)
index 718c988..0000000
+++ /dev/null
@@ -1,2034 +0,0 @@
-/*------------------------------------------------------------------------------
-
-Howdy! This is the CSS file that controls the
-fresh color style on the WordPress Dashboard.
-
-
-TABLE OF CONTENTS:
-------------------
- 1.0 - General
-
-
-------------------------------------------------------------------------------*/
-
-
-/*------------------------------------------------------------------------------
-  1.0 - General
-------------------------------------------------------------------------------*/
-
-html {
-       background: #f1f1f1;
-}
-
-/* Checkbooms */
-
-input[type=checkbox],
-input[type=radio] {
-       background: #fff;
-       border-color: #bbb;
-       color: #555;
-
-       -webkit-box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
-       box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
-}
-
-input[type=checkbox]:checked:before {
-       color: #1e8cbe;
-}
-
-input[type=radio]:checked:before {
-       background-color: #1e8cbe;
-}
-
-.wp-core-ui input[type="reset"]:hover,
-.wp-core-ui input[type="reset"]:active {
-       color: #2ea2cc;
-}
-
-
-/* Helper classes for plugins to leverage the active WordPress color scheme */
-
-.wp-ui-primary {
-       color: #fff;
-       background-color: #333;
-}
-.wp-ui-text-primary {
-       color: #333;
-}
-
-.wp-ui-highlight {
-       color: white;
-       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;
-}
-
-
-#adminmenu .wp-has-current-submenu .wp-submenu,
-.no-js li.wp-has-current-submenu:hover .wp-submenu,
-#adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
-#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,
-#adminmenu .wp-has-current-submenu.opensub .wp-submenu {
-       background-color: #333;
-}
-
-#adminmenu .wp-has-current-submenu .wp-submenu a,
-.no-js li.wp-has-current-submenu:hover .wp-submenu a,
-#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
-#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,
-#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-       color: #bbb;
-}
-
-#adminmenu .wp-submenu a:hover,
-#adminmenu .wp-submenu a:focus,
-#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
-#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
-#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
-#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,
-#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,
-#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,
-#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,
-.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,
-.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,
-.folded #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
-.folded #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
-.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
-.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus {
-       background: none;
-       color: #2ea2cc;
-}
-
-ul#adminmenu a.wp-has-current-submenu:after,
-ul#adminmenu > li.current > a.current:after {
-       border-left-color: #f1f1f1;
-}
-
-.row-actions {
-       color: #ddd;
-}
-
-.find-box-search,
-.find-box-buttons {
-       background-color: #f7f7f7;
-       border-top: 1px solid #dfdfdf;
-}
-
-.find-box {
-       background-color: #444;
-}
-
-.find-box-head {
-       color: #eee;
-}
-
-.find-box-inside {
-       background-color: #fff;
-}
-
-a.page-numbers:hover {
-       border-color: #999;
-}
-
-body,
-#wpbody,
-.form-table .pre,
-.ui-autocomplete li a {
-       color: #444;
-}
-
-body > #upload-menu {
-       border-bottom-color: #fff;
-}
-
-#postcustomstuff table,
-#your-profile fieldset,
-#rightnow,
-div.dashboard-widget,
-#dashboard-widgets p.dashboard-widget-links {
-       border-color: #ccc;
-}
-
-#dashboard-widgets h4 {
-       color: #222;
-}
-
-#poststuff .inside label.spam,
-#poststuff .inside label.deleted {
-       color: red;
-}
-
-#poststuff .inside label.waiting {
-       color: orange;
-}
-
-#poststuff .inside label.approved {
-       color: green;
-}
-
-#postcustomstuff table {
-       border-color: #dfdfdf;
-       background-color: #f9f9f9;
-}
-
-#postcustomstuff thead th {
-       background-color: #f1f1f1;
-}
-
-table.widefat {
-       border-color: #fff;
-       background-color: #fff;
-}
-
-th .comment-grey-bubble:before {
-       color: #444;
-}
-
-.sorting-indicator:before {
-       color: #444;
-}
-
-div.dashboard-widget-error {
-       background-color: #c43;
-}
-
-div.dashboard-widget-notice {
-       background-color: #cfe1ef;
-}
-
-div.dashboard-widget-submit {
-       border-top-color: #ccc;
-}
-
-ul.category-tabs li {
-       border-color: transparent;
-}
-
-div.tabs-panel,
-.wp-tab-panel,
-ul.add-menu-item-tabs li.tabs,
-.wp-tab-active {
-       border-color: #dfdfdf;
-       background-color: #fdfdfd;
-}
-
-ul.category-tabs li.tabs {
-       border-color: #dfdfdf #dfdfdf #fdfdfd;
-}
-
-ul.category-tabs li.tabs,
-ul.add-menu-item-tabs li.tabs,
-.wp-tab-active {
-       background-color: #fdfdfd;
-}
-
-kbd,
-code {
-       background: #eaeaea;
-       background: rgba(0,0,0,0.07);
-}
-
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="email"],
-input[type="number"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-.titlewrap input,
-select {
-       border-color: #ddd;
-       box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
-}
-
-textarea:focus,
-input[type="text"]:focus,
-input[type="password"]:focus,
-input[type="email"]:focus,
-input[type="number"]:focus,
-input[type="search"]:focus,
-input[type="tel"]:focus,
-input[type="url"]:focus,
-input[type="checkbox"]:focus,
-input[type="radio"]:focus,
-select:focus,
-#widgets-left .widget-in-question .widget-top,
-#available-widgets .widget-top:hover,
-#widgets-right .widget-top:hover,
-#widgets-left .widget-top:hover,
-.menu-item-bar .menu-item-handle:hover {
-       border-color: #999;
-}
-
-input:disabled,
-input.disabled,
-textarea:disabled,
-textarea.disabled {
-       -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
-       box-shadow:         inset 0 1px 2px rgba(0,0,0,0.04);
-       border-color: rgba(222, 222, 222, .75);
-       background: rgba(255, 255, 255, .5);
-       color: rgba(51, 51, 51, .5);
-}
-
-#plugin-information .action-button a,
-#plugin-information .action-button a:hover,
-#plugin-information .action-button a:visited {
-       color: #fff;
-}
-
-/*
-.widget .widget-top,
-.postbox h3,
-.stuffbox h3,
-.control-section .accordion-section-title,
-h3.dashboard-widget-title,
-h3.dashboard-widget-title span,
-h3.dashboard-widget-title small,
-.sidebar-name,
-#nav-menu-header,
-#nav-menu-footer,
-.menu-item-handle,
-.checkbox,
-.side-info,
-.widefat thead th,
-.widefat tfoot th {
-       background: #fcfcfc;
-       border-top: none;
-       border-bottom: 1px solid #e1e1e1;
-}
-*/
-
-.accordion-section-content {
-       border-right: none;
-       border-left: none;
-}
-
-/*
-.js .control-section:hover .accordion-section-title,
-.js .control-section .accordion-section-title:hover,
-.js .control-section.open .accordion-section-title,
-.js .control-section .accordion-section-title:focus {
-       background: #0074a2;
-       border-color: #0074a2 !important;
-}
-*/
-
-.widefat tfoot th {
-       border-bottom: none;
-       border-top: 1px solid #e1e1e1;
-}
-
-.widefat thead th {
-       border-bottom: 1px solid #e1e1e1;
-}
-
-.form-table th,
-.form-wrap label {
-       color: #222;
-}
-
-.form-table.editcomment td {
-       border-bottom: none;
-}
-
-.description,
-.form-wrap p {
-       color: #666;
-}
-
-strong .post-com-count span {
-       background-color: #0074a2;
-}
-
-.post-com-count:after {                /* draw bubble connector using CSS! */
-       border-top: 5px solid #bbbbbb;
-       border-left: 5px solid transparent;
-}
-
-strong .post-com-count:after {
-       border-top: 5px solid #0076a0;
-}
-
-.post-com-count:hover:after {
-       border-top: 5px solid #2ea2cc;
-}
-
-.sorthelper {
-       background-color: #ccf3fa;
-}
-
-.ac_match,
-.subsubsub a.current {
-       color: #000;
-}
-
-h2,
-h3 {
-       color: #222;
-}
-
-.wrap .add-new-h2,
-.wrap .add-new-h2:active {
-       background: #e0e0e0;
-}
-
-.wrap .add-new-h2:hover {
-       background: #2ea2cc;
-       color: #fff;
-}
-
-.subtitle {
-       color: #777;
-}
-
-.ac_over {
-       background-color: #f0f0b8;
-}
-
-.ac_results {
-       background-color: #fff;
-       border-color: #808080;
-}
-
-.ac_results li {
-       color: #101010;
-}
-
-.alternate,
-.alt {
-       background-color: #f9f9f9;
-}
-
-.available-theme a.screenshot {
-       background-color: #fff;
-       border-color: #ccc;
-}
-
-#current-theme {
-       border-bottom-color: #dfdfdf;
-}
-
-.bar {
-       background-color: #e8e8e8;
-       border-left-color: #99d;
-}
-
-.form-invalid {
-       background-color: #ffebe8 !important;
-}
-
-.form-invalid input,
-.form-invalid select {
-       border-color: #c00 !important;
-}
-
-.submit {
-       border: none;
-}
-
-.highlight {
-       background-color: #e4f2fd;
-       color: #000;
-}
-
-.howto,
-.nonessential,
-#edit-slug-box,
-.form-input-tip,
-.subsubsub {
-       color: #666;
-}
-
-.media-upload-form label.form-help,
-td.help {
-       color: #9a9a9a;
-}
-
-.ui-autocomplete {
-       border-color: #aaa;
-       background-color: #efefef;
-}
-
-.ui-autocomplete li a.ui-state-focus {
-       background-color: #ddd;
-}
-
-.post-com-count {
-       color: #fff;
-}
-
-.post-com-count span {
-       background-color: #bbb;
-       color: #fff;
-}
-
-.post-com-count:hover span {
-       background-color: #2ea2cc;
-}
-
-.quicktags, .search {
-       background-color: #ccc;
-       color: #000;
-}
-
-.side-info h5 {
-       border-bottom-color: #dadada;
-}
-
-.side-info ul {
-       color: #666;
-}
-
-a:hover,
-a:active {
-       color: #2ea2cc;
-}
-
-a:focus {
-       color: #124964;
-}
-
-#adminmenu a:hover,
-#adminmenu li.menu-top > a:focus,
-#adminmenu .wp-submenu a:hover,
-#rightnow a:hover,
-#media-upload a.del-link:hover,
-div.dashboard-widget-submit input:hover,
-.subsubsub a:hover,
-.subsubsub a.current:hover,
-.ui-tabs-nav a:hover {
-       color: #2ea2cc;
-}
-
-#the-comment-list .comment-item {
-       border: none;
-}
-
-#side-sortables .category-tabs .tabs a,
-#side-sortables .add-menu-item-tabs .tabs a,
-.wp-tab-bar .wp-tab-active a {
-       color: #333;
-}
-
-#rightnow .rbutton {
-       background-color: #ebebeb;
-       color: #264761;
-}
-
-p.submit {
-       border-top-color: #dfdfdf;
-}
-
-.submitbox .submit {
-       background-color: #464646;
-       color: #ccc;
-}
-
-table.widefat span.delete a,
-table.widefat span.trash a,
-table.widefat span.spam a,
-.plugins a.delete,
-#all-plugins-table .plugins a.delete,
-#search-plugins-table .plugins a.delete,
-.submitbox .submitdelete,
-#media-items a.delete,
-#media-items a.delete-permanently,
-#nav-menu-footer .menu-delete {
-       color: #a00;
-}
-
-table.widefat span.delete a:hover,
-table.widefat span.trash a:hover,
-table.widefat span.spam a:hover,
-.plugins a.delete:hover,
-#all-plugins-table .plugins a.delete:hover,
-#search-plugins-table .plugins a.delete:hover,
-.submitbox .submitdelete:hover,
-#media-items a.delete:hover,
-#media-items a.delete-permanently:hover,
-#nav-menu-footer .menu-delete:hover {
-       color: #f00;
-}
-
-#normal-sortables .submitbox .submitdelete:hover {
-       color: #000;
-       background-color: #f00;
-       border-bottom-color: #f00;
-}
-
-.tablenav .dots {
-       border-color: transparent;
-}
-
-.tablenav .next,
-.tablenav .prev {
-       border-color: transparent;
-       color: #0074a2;
-}
-
-.tablenav .next:hover,
-.tablenav .prev:hover {
-       border-color: transparent;
-       color: #2ea2cc;
-}
-
-div.updated,
-.login .message,
-.press-this #message {
-       background-color: #fff;
-       border-right: 4px solid #7ad03a;
-
-       -webkit-box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.1);
-       box-shadow:         0px 1px 1px 0px rgba(0,0,0,0.1);
-}
-
-#update-nag,
-.update-nag {
-       background-color: #fff;
-       border-right: 4px solid #ffba00;
-
-       -webkit-box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.1);
-       box-shadow:         0px 1px 1px 0px rgba(0,0,0,0.1);
-}
-
-div.error,
-.login #login_error {
-       background: #fff;
-       border-right: 4px solid #dd3d36;
-
-       -webkit-box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.1);
-       box-shadow:         0px 1px 1px 0px rgba(0,0,0,0.1);
-}
-
-.update-message {
-       color: #000;
-}
-
-a.page-numbers {
-       border-bottom-color: #b8d3e2;
-}
-
-.commentlist li {
-       border-bottom-color: #ccc;
-}
-
-.widefat td,
-.widefat th {
-       color: #555;
-}
-
-.widefat p,
-.widefat ol,
-.widefat ul {
-       color: #333;
-}
-
-.widefat thead tr th,
-.widefat tfoot tr th,
-h3.dashboard-widget-title,
-h3.dashboard-widget-title span,
-h3.dashboard-widget-title small {
-       color: #333;
-}
-
-th.manage-column a,
-th.sortable a:hover,
-th.sortable a:active,
-th.sortable a:focus {
-       color: #333;
-}
-
-th.sortable a:focus {
-       background: #e1e1e1;
-}
-
-h3.dashboard-widget-title small a {
-       color: #d7d7d7;
-}
-
-h3.dashboard-widget-title small a:hover {
-       color: #fff;
-}
-
-a,
-#the-comment-list p.comment-author strong a,
-#media-upload a.del-link,
-#media-items a.delete,
-#media-items a.delete-permanently,
-.plugins a.delete,
-.ui-tabs-nav a,
-.plugins .inactive a {
-       color: #0074a2;
-       -webkit-transition-property: border, background, color;
-       -moz-transition-property:    border, background, color;
-       transition-property:         border, background, color;
-       -webkit-transition-duration: .05s;
-       -moz-transition-duration:    .05s;
-       transition-duration:         .05s;
-       -webkit-transition-timing-function: ease-in-out;
-       -moz-transition-timing-function:    ease-in-out;
-       transition-timing-function:         ease-in-out;
-}
-
-.wp-list-table a,
-.media-router a {
-       -moz-transition: none;
-       -webkit-transition: none;
-       transition: none;
-}
-
-#adminmenu a {
-       color: #eee;
-}
-
-#adminmenu .awaiting-mod,
-#adminmenu .update-plugins,
-#sidemenu a .update-plugins,
-#rightnow .reallynow {
-       background-color: #d54e21;
-       color: #fff;
-}
-#plugin-information .action-button {
-       background-color: #2ea2cc;
-       color: #fff;
-}
-
-#adminmenu li.current a .awaiting-mod,
-#adminmenu     li a.wp-has-current-submenu .update-plugins {
-       background-color: #2ea2cc;
-       color: #fff;
-}
-
-div#media-upload-header,
-div#plugin-information-header {
-       background-color: #f9f9f9;
-       border-bottom-color: #dfdfdf;
-}
-
-#currenttheme img {
-       border-color: #666;
-}
-
-input.readonly, textarea.readonly {
-       background-color: #ddd;
-}
-
-#editable-post-name {
-       background-color: #fffbcc;
-}
-
-#edit-slug-box strong,
-.tablenav .displaying-num,
-#submitted-on,
-.submitted-on {
-       color: #777;
-}
-
-.plugins .inactive a:hover {
-       color: #2ea2cc;
-}
-
-#wpfooter {
-       color: #777;
-       border-color: transparent;
-}
-
-.imgedit-group,
-#media-items .media-item,
-.media-item .describe {
-       border-color: #dfdfdf;
-}
-
-.plugins .plugin-description p,
-.plugins .plugin-version-author-uri {
-       color: #333;
-}
-
-.plugins .inactive .plugin-title strong {
-       color: #333;
-}
-
-.plugin-update-tr .plugin-update {
-       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);
-}
-
-.plugin-update-tr .update-message {
-       background-color: #f7f7f7;
-       background-color: rgba(0,0,0,0.03);
-}
-
-tr.active.update + tr.plugin-update-tr .plugin-update .update-message {
-       background-color: #fcf3ef;
-}
-
-.plugin-update-tr .update-message:before {
-       color: #d54e21;
-}
-
-.plugins,
-.plugins th,
-.plugins td {
-       color: #000;
-}
-
-.plugins .inactive a {
-       color: #579;
-}
-
-.plugins tr {
-       background: #fff;
-}
-
-.plugins .inactive td,
-.plugins .inactive th,
-.plugins .active td,
-.plugins .active th,
-.plugin-install #the-list td {
-       -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);
-}
-
-.plugins .update td,
-.plugins .update th {
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-.plugins .active td,
-.plugins .active th,
-tr.active + tr.plugin-update-tr .plugin-update {
-       background-color: #f7fcfe;
-}
-
-.plugins .active.update td,
-.plugins .active.update th,
-tr.active.update + tr.plugin-update-tr .plugin-update,
-#activity-widget #the-comment-list .unapproved {
-       background-color: #fefaf7;
-}
-
-.plugins tr.active.plugin-update-tr + tr.inactive th,
-.plugins tr.active.plugin-update-tr + tr.inactive td,
-.plugins tr.active + tr.inactive th,
-.plugins tr.active + tr.inactive td {
-       border-top: 1px solid rgba(0,0,0,0.03);
-
-       -webkit-box-shadow: inset 0px 1px 0 rgba(0,0,0,0.02), inset 0 -1px 0 #e1e1e1;
-       box-shadow:         inset 0px 1px 0 rgba(0,0,0,0.02), inset 0 -1px 0 #e1e1e1;
-}
-
-.plugins tr.active + tr.inactive.update th,
-.plugins tr.active + tr.inactive.update td {
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-.plugins .active th.check-column {
-       border-right: 4px solid #2ea2cc;
-}
-
-.plugins .active.update th.check-column,
-.plugins .active.update + .plugin-update-tr .plugin-update {
-       border-right: 4px solid #d54e21;
-}
-
-.post-state-format:before,
-.post-format-icon:before {
-       color: #ddd;
-       -webkit-transition: all .1s ease-in-out;
-       -moz-transition:    all .1s ease-in-out;
-       transition:         all .1s ease-in-out;
-}
-
-input[type="radio"]:checked+label:before {
-       color: #888888;
-}
-
-a.post-state-format:hover:before,
-a.post-format-icon:hover:before {
-       color: #2ea2cc;
-}
-
-#the-list tr:last-child td,
-#the-list tr:last-child th {
-       border-bottom: none !important;
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-#the-comment-list tr.undo,
-#the-comment-list div.undo {
-       background-color: #f4f4f4;
-}
-
-#the-comment-list .unapproved th,
-#the-comment-list .unapproved td {
-       background-color: #fefaf7;
-}
-
-#the-comment-list .unapproved th.check-column {
-       border-right: 4px solid #d54e21;
-}
-
-#the-comment-list .approve a {
-       color: #006505;
-}
-
-#the-comment-list .unapprove a {
-       color: #d98500;
-}
-
-#the-comment-list th,
-#the-comment-list td {
-       -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);
-}
-
-#activity-widget #the-comment-list .comment {
-       -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.06);
-       box-shadow:         inset 0 1px 0 rgba(0, 0, 0, 0.06);
-}
-
-#the-comment-list tr:last-child th,
-#the-comment-list tr:last-child td {
-    -webkit-box-shadow: none;
-    box-shadow: none;
-}
-
-#the-comment-list tr.unapproved + tr.approved th,
-#the-comment-list tr.unapproved + tr.approved td {
-    border-top: 1px solid rgba(0, 0, 0, 0.03);
-}
-
-#activity-widget .comments #the-comment-list .alt {
-       background-color: transparent;
-}
-
-.welcome-panel p {
-       color: #777;
-}
-
-.welcome-panel a {
-       text-decoration: none;
-}
-
-.welcome-panel-column p {
-       color: #464646;
-}
-
-.welcome-panel .welcome-icon:before {
-       color: #888;
-}
-
-.widget-top,
-.menu-item-handle,
-.menu-item-settings,
-.widget-inside,
-.postbox,
-#menu-settings-column .accordion-container,
-#menu-management .menu-edit,
-.manage-menus,
-table.widefat,
-.stuffbox,
-p.popular-tags,
-.widgets-holder-wrap,
-.welcome-panel,
-.wp-editor-container,
-#post-status-info,
-.popular-tags,
-.feature-filter,
-.imgedit-group {
-       border: 1px solid #e5e5e5;
-       -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
-       box-shadow: 0 1px 1px rgba(0,0,0,0.04);
-}
-
-#post-status-info {
-       border-top: none;
-}
-
-.postbox table.widefat {
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-.welcome-panel,
-.postbox,
-table.widefat,
-.wp-editor-container,
-.stuffbox,
-p.popular-tags,
-.widgets-holder-wrap,
-.popular-tags,
-.feature-filter,
-.imgedit-group {
-       background: #fff;
-}
-
-.postbox h3,
-#namediv h3,
-#submitdiv h3 {
-       border-bottom: 1px solid #eeeeee;
-}
-
-.widget .widget-top,
-.menu-item-handle {
-       background: #fafafa;
-       color: #222;
-}
-
-#misc-publishing-actions label[for="post_status"]:before,
-#post-body #visibility:before,
-.curtime #timestamp:before,
-#post-body .misc-pub-revisions:before,
-span.wp-media-buttons-icon:before {
-       color: #888;
-}
-
-#rightnow .youhave {
-       background-color: #f0f6fb;
-}
-
-#rightnow a {
-       color: #448abd;
-}
-
-#welcome-panel.welcome-panel .welcome-panel-close::before,
-.tagchecklist span a:before,
-#bulk-titles div a:before,
-.wp-pointer-buttons a.close:before {
-       background: none;
-       color: #bbb;
-}
-
-#welcome-panel.welcome-panel .welcome-panel-close:hover:before,
-.tagchecklist span a:hover:before,
-#bulk-titles div a:hover:before,
-.wp-pointer-buttons a.close:hover:before {
-       color: #c00;
-}
-
-#screen-meta {
-       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-back {
-       background: #f6fbfd;
-}
-
-.contextual-help-tabs a:hover {
-       color: #333;
-}
-
-#contextual-help-back,
-.contextual-help-tabs .active a {
-       border-color: #e1e1e1;
-}
-
-.contextual-help-tabs .active {
-       border-color: #2ea2cc;
-
-       -webkit-box-shadow: 0px 2px 0 rgba(0,0,0,0.02), 0 1px 0 rgba(0,0,0,0.02);
-       box-shadow:         0px 2px 0 rgba(0,0,0,0.02), 0 1px 0 rgba(0,0,0,0.02);
-}
-
-.contextual-help-tabs .active,
-.contextual-help-tabs .active a,
-.contextual-help-tabs .active a:hover {
-       background: #f6fbfd;
-       color: #333;
-}
-
-/* screen options and help tabs */
-#screen-options-link-wrap,
-#contextual-help-link-wrap {
-       border: 1px solid #ddd;
-       border-top: none;
-       background: #fff;
-       -webkit-box-shadow: 0px 1px 1px -1px rgba(0,0,0,0.1);
-       box-shadow:         0px 1px 1px -1px rgba(0,0,0,0.1);
-}
-
-#screen-meta-links a {
-       color: #777;
-}
-
-#screen-meta-links a:after {
-       color: #bbb;
-}
-
-#screen-meta-links a:hover,
-#screen-meta-links a:active {
-       color: #333;
-}
-
-#screen-meta-links a:focus {
-       border-color: #aaa;
-       color: #333;
-       -webkit-box-shadow: 0 2px 3px rgba(0,0,0,0.15);
-       box-shadow: 0 2px 3px rgba(0,0,0,0.15);
-}
-/* end screen options and help tabs */
-
-#wphead {
-       border-bottom-color: #dfdfdf;
-}
-
-#wphead h1 a {
-       color: #464646;
-}
-
-.file-error,
-abbr.required,
-.widget-control-remove:hover,
-table.widefat .delete a:hover,
-table.widefat .trash a:hover,
-table.widefat .spam a:hover {
-       color: #f00;
-}
-
-#pass-strength-result {
-       background-color: #eee;
-       border-color: #ddd !important;
-}
-
-#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;
-}
-
-#post-status-info {
-       background-color: #f7f7f7;
-}
-
-.widget-inside,
-.menu-item-settings {
-       background: #fff;
-}
-
-.menu-item-settings {
-       border-top: none;
-}
-
-#titlediv #title {
-       background-color: #fff;
-}
-
-#tTips p#tTips_inside {
-       background-color: #ddd;
-       color: #333;
-}
-
-#poststuff .inside .the-tagcloud {
-       border-color: #ddd;
-}
-
-/* menu */
-#adminmenuback,
-#adminmenuwrap,
-#adminmenu {
-       background-color: #222;
-}
-
-#adminmenu li.wp-menu-separator {
-       background: transparent;
-       border-color: transparent;
-}
-
-#adminmenu div.separator {
-       border-color: transparent;
-}
-
-#adminmenu li.wp-menu-open {
-       border-color: #dfdfdf;
-}
-
-#adminmenu li.menu-top:hover,
-#adminmenu li.opensub > a.menu-top,
-#adminmenu li > a.menu-top:focus {
-       background-color: #111;
-       color: #2ea2cc;
-}
-
-/* flyout menu arrow */
-#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-       border-left-color: #333;
-}
-
-#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
-#adminmenu li.current a.menu-top,
-.folded #adminmenu li.wp-has-current-submenu,
-.folded #adminmenu li.current.menu-top,
-#adminmenu .wp-menu-arrow,
-#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,
-#adminmenu .wp-menu-arrow div {
-       background: #0074a2;
-}
-
-#adminmenu li.wp-not-current-submenu .wp-menu-arrow {
-       border-top-color: #f9f9f9;
-       border-bottom-color: #dfdfdf;
-       background: transparent;
-}
-
-#adminmenu li.wp-not-current-submenu .wp-menu-arrow div {
-       background: #111;
-       border-color: #111;
-}
-
-#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
-#adminmenu li.current a.menu-top,
-#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head {
-       color: #fff;
-}
-
-.folded #adminmenu li.wp-has-current-submenu,
-.folded #adminmenu li.current.menu-top {
-       border-color: #666;     /* Match the background color of the current menu item for a flat appearance */
-}
-
-#adminmenu .wp-submenu li.current,
-#adminmenu .wp-submenu li.current a,
-#adminmenu .opensub .wp-submenu li.current a,
-#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
-#adminmenu .wp-submenu li.current a:hover,
-#adminmenu .wp-submenu li.current a:focus {
-       color: #fff;
-       background: transparent;
-}
-
-#adminmenu .wp-submenu,
-.folded #adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
-.folded #adminmenu .wp-has-current-submenu .wp-submenu {
-       background-color: #333;
-
-       -webkit-box-shadow: 0 3px 5px rgba(0,0,0,0.2);
-       box-shadow:         0 3px 5px rgba(0,0,0,0.2);
-}
-
-#adminmenu .wp-submenu a,
-.folded #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
-.folded #adminmenu .wp-has-current-submenu .wp-submenu a {
-       color: #bbb;
-}
-
-#adminmenu .wp-submenu .wp-submenu-head {
-       color: #fff;
-}
-
-/* collapse menu button */
-#collapse-menu {
-       color: #aaa;
-       -webkit-transition: all .1s ease-in-out;
-       -moz-transition:    all .1s ease-in-out;
-       transition:         all .1s ease-in-out;
-}
-
-#collapse-menu:hover {
-       color: #2ea2cc;
-}
-
-#collapse-button div:after {
-       color: #aaa;
-}
-
-#collapse-menu:hover #collapse-button div:after {
-       color: #2ea2cc;
-}
-
-#adminmenu div.wp-menu-image:before {
-       color: #999;
-}
-
-.icon16:before {
-       color: #999;
-}
-
-#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before {
-       color: #fff;
-}
-
-#adminmenu li:hover div.wp-menu-image:before {
-       color: #2ea2cc;
-}
-
-#adminmenu .wp-has-current-submenu div.wp-menu-image:before,
-#adminmenu .current div.wp-menu-image:before,
-#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,
-#adminmenu a.current:hover div.wp-menu-image:before {
-       color: #fff;
-}
-
-/* Collapse button in theme preview */
-
-.wp-full-overlay a.collapse-sidebar {
-       color: #777;
-}
-
-.wp-full-overlay a.collapse-sidebar:hover {
-       color: #0074a2;
-}
-
-.wp-full-overlay .collapse-sidebar-arrow:before {
-       background: #eee;
-}
-
-/* Diff */
-
-table.diff .diff-deletedline del {
-       background-color: #f99;
-}
-
-.ui-tooltip, .arrow::after {
-       background-color: #fff;
-       box-shadow: 0 1px 3px rgba(0,0,0,0.1);
-}
-
-.revisions-meta,
-.revisions-diff,
-.revisions.pinned .revisions-controls {
-       background-color: #fff;
-       box-shadow: 0 1px 3px rgba(0,0,0,0.1);
-}
-
-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;
-}
-
-.revisions-tooltip,
-.revisions-tooltip-arrow span {
-       border-color: #d7d7d7;
-       background-color: #fff;
-}
-
-.revisions-tickmarks {
-       background-color: #fff;
-}
-
-.revisions-tickmarks > div {
-       border-color: #aaa;
-}
-
-.revisions.pinned .revisions-controls {
-       background: #fff;
-}
-
-.revisions.pinned .revisions-meta {
-       box-shadow: none;
-}
-
-/* jQuery UI Slider */
-
-.wp-slider.ui-slider {
-       border-color: #d7d7d7;
-}
-
-.wp-slider .ui-slider-handle,
-.wp-slider .ui-slider-handle.ui-state-hover,
-.wp-slider .ui-slider-handle.focus {
-       background: #2ea2cc;
-       border: 1px solid #0074a2;
-       -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 {
-       color: #fff;
-}
-
-/* edit image */
-#sidemenu a {
-       background-color: #f9f9f9;
-       border-color: #f9f9f9;
-       border-bottom-color: #dfdfdf;
-}
-
-#sidemenu a.current {
-       background-color: #f1f1f1;
-       border-color: #dfdfdf #dfdfdf #f1f1f1;
-       color: #000;
-}
-
-#replyerror {
-       border-color: #ddd;
-       background-color: #f9f9f9;
-}
-
-/* table vim shortcuts */
-.vim-current,
-.vim-current th,
-.vim-current td {
-       background-color: #E4F2FD !important;
-}
-
-/* Install Plugins */
-
-#plugin-information {
-       height: auto;
-}
-
-#plugin-information .fyi ul {
-       background-color: #eaf3fa;
-}
-
-#plugin-information .fyi h2.mainheader {
-       background-color: #cee1ef;
-}
-
-#plugin-information pre,
-#plugin-information code {
-       background-color: #ededff;
-}
-
-#plugin-information pre {
-       border-color: #ccc;
-}
-
-/* inline editor */
-#bulk-titles {
-       border-color: #ddd;
-}
-
-.inline-editor div.title {
-       background-color: #eaf3fa;
-}
-
-.inline-editor ul.cat-checklist {
-       background-color: #fff;
-       border-color: #ddd;
-}
-
-.inline-editor .quick-edit-save {
-       background-color: #f1f1f1;
-}
-
-fieldset.inline-edit-col-right .inline-edit-col {
-       border-color: #dfdfdf;
-}
-
-.attention {
-       color: #2ea2cc;
-}
-
-.tablenav .tablenav-pages {
-       color: #555;
-}
-
-.tablenav .tablenav-pages a {
-       background: #eee;
-       background: rgba( 0, 0, 0, 0.05 );
-}
-
-.tablenav .tablenav-pages a:hover,
-.tablenav .tablenav-pages a:focus {
-       color: #fff;
-       background: #2ea2cc;
-}
-
-.tablenav .tablenav-pages a.disabled,
-.tablenav .tablenav-pages a.disabled:hover,
-.tablenav .tablenav-pages a.disabled:focus {
-       color: #aaa;
-       background: #eee;
-       background: rgba( 0, 0, 0, 0.05 );
-}
-
-.tablenav .tablenav-pages .current {
-       background: #dfdfdf;
-       border-color: #d3d3d3;
-}
-
-#availablethemes,
-#availablethemes td {
-       border-color: #ddd;
-}
-
-#current-theme img {
-       border-color: #999;
-}
-
-#TB_window #TB_title a.tb-theme-preview-link,
-#TB_window #TB_title a.tb-theme-preview-link:visited {
-       color: #999;
-}
-
-#TB_window #TB_title a.tb-theme-preview-link:hover,
-#TB_window #TB_title a.tb-theme-preview-link:focus {
-       color: #ccc;
-}
-
-.misc-pub-section {
-}
-
-#minor-publishing {
-       border-bottom-color: #dfdfdf;
-}
-
-#post-body .misc-pub-section {
-}
-
-.post-com-count span {
-       background-color: #bbb;
-}
-
-.sortable-placeholder {
-       border-color: #bbb;
-}
-
-#post-body ul.category-tabs li.tabs a,
-#post-body ul.add-menu-item-tabs li.tabs a,
-body.press-this ul.category-tabs li.tabs a {
-       color: #333;
-}
-
-.view-switch>a:before {
-       color: #bbb;
-}
-
-.view-switch a:hover:before {
-       color: #727272;
-}
-
-.view-switch a.current:before {
-       color: #0074a2;
-}
-
-div.widgets-sortables,
-#widgets-left .inactive,
-#available-widgets .widget-holder {
-       background-color: #fff;
-       border-color: #fff;
-}
-
-#widgets-left #available-widgets {
-       background: transparent;
-}
-
-#widgets-left .widgets-holder-wrap {
-       border: none;
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-.sidebar-name {
-       border-bottom-color: #e1e1e1;
-}
-
-.js #removing-widget {
-       color: #2ea2cc;
-}
-
-#removing-widget span {
-       color: black;
-}
-
-.in-widget-title,
-#widgets-right .widget-top a.widget-control-edit,
-#wp_inactive_widgets .in-widget-title,
-#available-widgets .widget-description {
-       color: #666;
-}
-
-#widgets-right .widget-top a.widget-control-edit:hover {
-       color: #fff;
-}
-
-.deleting .widget-title,
-.deleting .widget-top a.widget-action:after {
-       color: #aaa;
-}
-
-.imgedit-menu div {
-       border-color: #d5d5d5;
-       background-color: #f1f1f1;
-}
-
-.imgedit-menu div:hover {
-       border-color: #c1c1c1;
-       background-color: #eaeaea;
-}
-
-.imgedit-menu div.disabled {
-       border-color: #ccc;
-       background-color: #ddd;
-       filter: alpha(opacity=50);
-       opacity: 0.5;
-}
-
-/* added from nav-menu.css */
-#menu-management {
-       background: #f5f5f5
-}
-
-#menu-management #post-body {
-       background: #fff;
-       border-top-color: #fff;
-       border-bottom-color: #dfdfdf;
-}
-
-#nav-menu-header {
-       border-bottom-color: #dfdfdf;
-}
-
-#menu-management .nav-tabs-arrow a {
-       color: #c1c1c1;
-}
-
-#menu-management .nav-tabs-arrow a:hover {
-       color: #2ea2cc;
-}
-
-#menu-management .nav-tabs-arrow a:active {
-       color: #464646;
-}
-
-#menu-management .nav-tab-active {
-       border-color: #dfdfdf;
-}
-
-#menu-management .nav-tab {
-       background: #fbfbfb;
-       border-color: #dfdfdf;
-}
-
-.js .input-with-default-title {
-       color: #aaa;
-}
-
-#cancel-save {
-       color: #f00;
-}
-
-#cancel-save:hover {
-       background-color: #f00;
-       color: #fff;
-}
-
-.list-container,
-.menu-item-handle {
-       border-color: #dfdfdf;
-}
-
-.menu li.deleting .menu-item-handle {
-       background-color: #f66;
-}
-
-.item-type { /* Menu item controls */
-       color: #777;
-}
-
-.item-controls .menu-item-delete:hover {
-       color: #f00;
-}
-
-.widget-action,
-.handlediv,
-.item-edit,
-.sidebar-name-arrow,
-.accordion-section-title:after {
-       color: #aaa;
-}
-
-.widget-action:hover,
-.handlediv:hover,
-.item-edit:hover,
-.sidebar-name:hover .sidebar-name-arrow,
-.accordion-section-title:hover:after {
-       color: #777;
-}
-
-/* Menu editing */
-
-.link-to-original {
-       color: #777;
-       border-color: #dfdfdf;
-}
-
-#cancel-save:hover {
-       color: #fff !important;
-}
-
-#update-menu-item {
-       color: #fff !important;
-}
-
-#update-menu-item:hover,
-#update-menu-item:active,
-#update-menu-item:focus {
-       color: #eaf2fa !important;
-       border-color: #13455b !important;
-}
-
-.submitbox .submitcancel {
-       color: #0074a2;
-       border-bottom-color: #0074a2;
-}
-
-.submitbox .submitcancel:hover {
-       background: #0074a2;
-       color: #fff;
-}
-
-.manage-menus {
-       background: #fbfbfb;
-}
-
-.menu-settings {
-       border-top-color: #eeeeee;
-}
-
-.theme-location-set {
-       color: #999999;
-}
-
-.nav-menus-php .delete-action a {
-       color: #bc0b0b;
-}
-
-.is-submenu {
-       color: #999999;
-}
-
-.nav-tab {
-       color: #555;
-       border-color: #ccc;
-       background: #e4e4e4;
-}
-
-.nav-tab:hover {
-       background-color: #fff;
-       color: #464646;
-}
-
-.nav-tab-active {
-       color: #464646;
-}
-
-.nav-tab-active,
-.nav-tab-active:hover {
-       color: #000;
-       background: none;
-       border-color: #ccc;
-       border-bottom-color: #f1f1f1;
-}
-
-h2.nav-tab-wrapper, h3.nav-tab-wrapper {
-       border-bottom-color: #ccc;
-}
-
-#upload-form label {
-       color: #777;
-}
-
-/* Begin About Pages */
-.about-wrap h1 {
-       color: #333;
-}
-
-.about-text {
-       color: #777;
-}
-
-.wp-badge {
-       background-color: #0074a2;
-       color: #78c8e6;
-       -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.2);
-       box-shadow:         0 1px 3px rgba(0,0,0,0.2);
-}
-
-.about-wrap h2 .nav-tab-active {
-       border-color: #ccc;
-       border-bottom-color: #f1f1f1;
-}
-
-.about-wrap h2,
-.about-wrap h3,
-.about-wrap h4 {
-       color: #222;
-}
-
-.about-wrap .feature-section .col-2:before,
-.about-wrap .feature-section .col-2:after,
-.about-wrap .feature-section.two-col p:before {
-       color: #1e8cbe;
-}
-
-.about-wrap .point-releases {
-       border-bottom: 1px solid #dfdfdf;
-}
-
-.about-wrap .point-releases h3 {
-       border-top-color: #dfdfdf;
-}
-
-.about-wrap li.wp-person img.gravatar {
-       border-color: #ccc;
-}
-
-.about-wrap li.wp-person .title {
-       color: #464646;
-}
-
-.freedoms-php .about-wrap ol li {
-       color: #999;
-}
-
-.freedoms-php .about-wrap ol p {
-       color: #464646;
-}
-
-/* End About Pages */
-
-/* Press This and Image editing icons */
-
-.pressthis a span:before {
-       color:#777;
-}
-
-.imgedit-menu div {
-       color:#777;
-}
-
-.imgedit-menu div:hover {
-       color:#333;
-}
-
-/* End Press This and Image editing icons */
-
-/* Media Manager */
-
-.media-modal-content {
-       background: #fcfcfc;
-       box-shadow: 0 5px 15px rgba(0,0,0,0.7);
-}
-
-.media-menu {
-       background: #f3f3f3;
-       border-left-color: #ccc;
-}
-
-.media-menu > a {
-       color: #0074a2;
-}
-
-.media-menu .active,
-.media-menu .active:hover {
-       color: #222;
-}
-
-.media-frame-content {
-       background: #fff;
-       border-top-color: #ddd;
-       border-bottom-color: #ddd;
-}
-
-.media-menu .separator {
-       border-top-color: #ddd;
-       border-bottom: none;
-}
-
-.media-sidebar {
-       background: #f3f3f3;
-       border-color: #ddd;
-}
-
-.media-router .active,
-.media-router > a.active:last-child {
-       background: #fff;
-       border: 1px solid #ddd;
-       border-bottom: none;
-}
-
-.details.attachment {
-       box-shadow: 0 0 0 1px #fff, 0 0 0 5px #1e8cbe;
-}
-
-.attachment .check {
-       background: #eee;
-       box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.4 );
-}
-
-.attachment.details .check {
-       background-color: #1e8cbe;
-       box-shadow: 0 0 0 1px #fff, 0 0 0 2px #1e8cbe;
-}
-
-/* TinyMCE modal */
-
-.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: #222;
-}
-
-.clearlooks2 .mceClose:before {
-       color: #999;
-}
-
-.clearlooks2 .mceClose:hover:before {
-       color: #2ea2cc;
-}
-
-
-/* Lightbox */
-
-.sticky-menu #TB_window {
-       background: #f1f1f1;
-}
-
-/* tinymce */
-a .mceIcon, .mceAction {
-       color:#777;
-}
-
-a .mceIcon:hover {
-       color:#333;
-}
-
-/* Log in page */
-
-.login form .input,
-.login input[type="text"],
-.login form input[type="checkbox"] {
-       background: #fbfbfb;
-}
-
-.login form {
-       background: #fff;
-       -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.13);
-       box-shadow: 0 1px 3px rgba(0,0,0,0.13);
-}
-
-body.login {
-       background: #f1f1f1;
-}
-
-.login #nav a,
-.login #backtoblog a {
-       text-decoration: none;
-       color: #999;
-}
-
-.login #nav a:hover,
-.login #backtoblog a:hover {
-       color: #2ea2cc;
-}
-
-.login h1 a:hover {
-       color: #2ea2cc;
-}
-
-@media print,
-  (-o-min-device-pixel-ratio: 5/4),
-  (-webkit-min-device-pixel-ratio: 1.25),
-  (min-resolution: 120dpi) {
-       .curtime #timestamp,
-       #screen-meta-links a.show-settings,
-       .widget-top a.widget-action,
-       .widget-top a.widget-action:hover,
-       .sidebar-name-arrow,
-       .sidebar-name:hover .sidebar-name-arrow,
-       .meta-box-sortables .postbox:hover .handlediv,
-       .tagchecklist span a,
-       #bulk-titles div a,
-       .tagchecklist span a:hover,
-       #bulk-titles div a:hover,
-       .wp_themeSkin .mceToolbar span.mce_undo,
-       .wp_themeSkin .mceToolbar span.mce_redo,
-       .wp_themeSkin .mceToolbar span.mce_bullist,
-       .wp_themeSkin .mceToolbar span.mce_numlist,
-       .wp_themeSkin .mceToolbar span.mce_blockquote,
-       .wp_themeSkin .mceToolbar span.mce_charmap,
-       .wp_themeSkin .mceToolbar span.mce_bold,
-       .wp_themeSkin .mceToolbar span.mce_italic,
-       .wp_themeSkin .mceToolbar span.mce_underline,
-       .wp_themeSkin .mceToolbar span.mce_justifyleft,
-       .wp_themeSkin .mceToolbar span.mce_justifyright,
-       .wp_themeSkin .mceToolbar span.mce_justifycenter,
-       .wp_themeSkin .mceToolbar span.mce_justifyfull,
-       .wp_themeSkin .mceToolbar span.mce_indent,
-       .wp_themeSkin .mceToolbar span.mce_outdent,
-       .wp_themeSkin .mceToolbar span.mce_link,
-       .wp_themeSkin .mceToolbar span.mce_unlink,
-       .wp_themeSkin .mceToolbar span.mce_help,
-       .wp_themeSkin .mceToolbar span.mce_removeformat,
-       .wp_themeSkin .mceToolbar span.mce_fullscreen,
-       .wp_themeSkin .mceToolbar span.mce_wp_fullscreen,
-       .wp_themeSkin .mceToolbar span.mce_media,
-       .wp_themeSkin .mceToolbar span.mce_pastetext,
-       .wp_themeSkin .mceToolbar span.mce_pasteword,
-       .wp_themeSkin .mceToolbar span.mce_wp_help,
-       .wp_themeSkin .mceToolbar span.mce_wp_adv,
-       .wp_themeSkin .mceToolbar span.mce_wp_more,
-       .wp_themeSkin .mceToolbar span.mce_strikethrough,
-       .wp_themeSkin .mceToolbar span.mce_spellchecker,
-       .wp_themeSkin .mceToolbar span.mce_forecolor,
-       .wp_themeSkin .mceToolbar .mce_forecolorpicker,
-       .wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,
-       .wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,
-       .wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,
-       .wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist {
-               background: none !important;
-       }
-}
diff --git a/wp-admin/css/colors-rtl.min.css b/wp-admin/css/colors-rtl.min.css
deleted file mode 100644 (file)
index b861cc8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-right:0;border-left:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-left:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-left-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-right:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-right:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-right:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-right:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-left-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}
\ No newline at end of file
diff --git a/wp-admin/css/colors.css b/wp-admin/css/colors.css
deleted file mode 100644 (file)
index 6eafbf2..0000000
+++ /dev/null
@@ -1,2034 +0,0 @@
-/*------------------------------------------------------------------------------
-
-Howdy! This is the CSS file that controls the
-fresh color style on the WordPress Dashboard.
-
-
-TABLE OF CONTENTS:
-------------------
- 1.0 - General
-
-
-------------------------------------------------------------------------------*/
-
-
-/*------------------------------------------------------------------------------
-  1.0 - General
-------------------------------------------------------------------------------*/
-
-html {
-       background: #f1f1f1;
-}
-
-/* Checkbooms */
-
-input[type=checkbox],
-input[type=radio] {
-       background: #fff;
-       border-color: #bbb;
-       color: #555;
-
-       -webkit-box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
-       box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
-}
-
-input[type=checkbox]:checked:before {
-       color: #1e8cbe;
-}
-
-input[type=radio]:checked:before {
-       background-color: #1e8cbe;
-}
-
-.wp-core-ui input[type="reset"]:hover,
-.wp-core-ui input[type="reset"]:active {
-       color: #2ea2cc;
-}
-
-
-/* Helper classes for plugins to leverage the active WordPress color scheme */
-
-.wp-ui-primary {
-       color: #fff;
-       background-color: #333;
-}
-.wp-ui-text-primary {
-       color: #333;
-}
-
-.wp-ui-highlight {
-       color: white;
-       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;
-}
-
-
-#adminmenu .wp-has-current-submenu .wp-submenu,
-.no-js li.wp-has-current-submenu:hover .wp-submenu,
-#adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
-#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,
-#adminmenu .wp-has-current-submenu.opensub .wp-submenu {
-       background-color: #333;
-}
-
-#adminmenu .wp-has-current-submenu .wp-submenu a,
-.no-js li.wp-has-current-submenu:hover .wp-submenu a,
-#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
-#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,
-#adminmenu .wp-has-current-submenu.opensub .wp-submenu a {
-       color: #bbb;
-}
-
-#adminmenu .wp-submenu a:hover,
-#adminmenu .wp-submenu a:focus,
-#adminmenu .wp-has-current-submenu .wp-submenu a:hover,
-#adminmenu .wp-has-current-submenu .wp-submenu a:focus,
-#adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
-#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,
-#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,
-#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,
-#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,
-.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,
-.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,
-.folded #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:hover,
-.folded #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a:focus,
-.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,
-.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus {
-       background: none;
-       color: #2ea2cc;
-}
-
-ul#adminmenu a.wp-has-current-submenu:after,
-ul#adminmenu > li.current > a.current:after {
-       border-right-color: #f1f1f1;
-}
-
-.row-actions {
-       color: #ddd;
-}
-
-.find-box-search,
-.find-box-buttons {
-       background-color: #f7f7f7;
-       border-top: 1px solid #dfdfdf;
-}
-
-.find-box {
-       background-color: #444;
-}
-
-.find-box-head {
-       color: #eee;
-}
-
-.find-box-inside {
-       background-color: #fff;
-}
-
-a.page-numbers:hover {
-       border-color: #999;
-}
-
-body,
-#wpbody,
-.form-table .pre,
-.ui-autocomplete li a {
-       color: #444;
-}
-
-body > #upload-menu {
-       border-bottom-color: #fff;
-}
-
-#postcustomstuff table,
-#your-profile fieldset,
-#rightnow,
-div.dashboard-widget,
-#dashboard-widgets p.dashboard-widget-links {
-       border-color: #ccc;
-}
-
-#dashboard-widgets h4 {
-       color: #222;
-}
-
-#poststuff .inside label.spam,
-#poststuff .inside label.deleted {
-       color: red;
-}
-
-#poststuff .inside label.waiting {
-       color: orange;
-}
-
-#poststuff .inside label.approved {
-       color: green;
-}
-
-#postcustomstuff table {
-       border-color: #dfdfdf;
-       background-color: #f9f9f9;
-}
-
-#postcustomstuff thead th {
-       background-color: #f1f1f1;
-}
-
-table.widefat {
-       border-color: #fff;
-       background-color: #fff;
-}
-
-th .comment-grey-bubble:before {
-       color: #444;
-}
-
-.sorting-indicator:before {
-       color: #444;
-}
-
-div.dashboard-widget-error {
-       background-color: #c43;
-}
-
-div.dashboard-widget-notice {
-       background-color: #cfe1ef;
-}
-
-div.dashboard-widget-submit {
-       border-top-color: #ccc;
-}
-
-ul.category-tabs li {
-       border-color: transparent;
-}
-
-div.tabs-panel,
-.wp-tab-panel,
-ul.add-menu-item-tabs li.tabs,
-.wp-tab-active {
-       border-color: #dfdfdf;
-       background-color: #fdfdfd;
-}
-
-ul.category-tabs li.tabs {
-       border-color: #dfdfdf #dfdfdf #fdfdfd;
-}
-
-ul.category-tabs li.tabs,
-ul.add-menu-item-tabs li.tabs,
-.wp-tab-active {
-       background-color: #fdfdfd;
-}
-
-kbd,
-code {
-       background: #eaeaea;
-       background: rgba(0,0,0,0.07);
-}
-
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="email"],
-input[type="number"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-.titlewrap input,
-select {
-       border-color: #ddd;
-       box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
-}
-
-textarea:focus,
-input[type="text"]:focus,
-input[type="password"]:focus,
-input[type="email"]:focus,
-input[type="number"]:focus,
-input[type="search"]:focus,
-input[type="tel"]:focus,
-input[type="url"]:focus,
-input[type="checkbox"]:focus,
-input[type="radio"]:focus,
-select:focus,
-#widgets-left .widget-in-question .widget-top,
-#available-widgets .widget-top:hover,
-#widgets-right .widget-top:hover,
-#widgets-left .widget-top:hover,
-.menu-item-bar .menu-item-handle:hover {
-       border-color: #999;
-}
-
-input:disabled,
-input.disabled,
-textarea:disabled,
-textarea.disabled {
-       -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
-       box-shadow:         inset 0 1px 2px rgba(0,0,0,0.04);
-       border-color: rgba(222, 222, 222, .75);
-       background: rgba(255, 255, 255, .5);
-       color: rgba(51, 51, 51, .5);
-}
-
-#plugin-information .action-button a,
-#plugin-information .action-button a:hover,
-#plugin-information .action-button a:visited {
-       color: #fff;
-}
-
-/*
-.widget .widget-top,
-.postbox h3,
-.stuffbox h3,
-.control-section .accordion-section-title,
-h3.dashboard-widget-title,
-h3.dashboard-widget-title span,
-h3.dashboard-widget-title small,
-.sidebar-name,
-#nav-menu-header,
-#nav-menu-footer,
-.menu-item-handle,
-.checkbox,
-.side-info,
-.widefat thead th,
-.widefat tfoot th {
-       background: #fcfcfc;
-       border-top: none;
-       border-bottom: 1px solid #e1e1e1;
-}
-*/
-
-.accordion-section-content {
-       border-left: none;
-       border-right: none;
-}
-
-/*
-.js .control-section:hover .accordion-section-title,
-.js .control-section .accordion-section-title:hover,
-.js .control-section.open .accordion-section-title,
-.js .control-section .accordion-section-title:focus {
-       background: #0074a2;
-       border-color: #0074a2 !important;
-}
-*/
-
-.widefat tfoot th {
-       border-bottom: none;
-       border-top: 1px solid #e1e1e1;
-}
-
-.widefat thead th {
-       border-bottom: 1px solid #e1e1e1;
-}
-
-.form-table th,
-.form-wrap label {
-       color: #222;
-}
-
-.form-table.editcomment td {
-       border-bottom: none;
-}
-
-.description,
-.form-wrap p {
-       color: #666;
-}
-
-strong .post-com-count span {
-       background-color: #0074a2;
-}
-
-.post-com-count:after {                /* draw bubble connector using CSS! */
-       border-top: 5px solid #bbbbbb;
-       border-right: 5px solid transparent;
-}
-
-strong .post-com-count:after {
-       border-top: 5px solid #0076a0;
-}
-
-.post-com-count:hover:after {
-       border-top: 5px solid #2ea2cc;
-}
-
-.sorthelper {
-       background-color: #ccf3fa;
-}
-
-.ac_match,
-.subsubsub a.current {
-       color: #000;
-}
-
-h2,
-h3 {
-       color: #222;
-}
-
-.wrap .add-new-h2,
-.wrap .add-new-h2:active {
-       background: #e0e0e0;
-}
-
-.wrap .add-new-h2:hover {
-       background: #2ea2cc;
-       color: #fff;
-}
-
-.subtitle {
-       color: #777;
-}
-
-.ac_over {
-       background-color: #f0f0b8;
-}
-
-.ac_results {
-       background-color: #fff;
-       border-color: #808080;
-}
-
-.ac_results li {
-       color: #101010;
-}
-
-.alternate,
-.alt {
-       background-color: #f9f9f9;
-}
-
-.available-theme a.screenshot {
-       background-color: #fff;
-       border-color: #ccc;
-}
-
-#current-theme {
-       border-bottom-color: #dfdfdf;
-}
-
-.bar {
-       background-color: #e8e8e8;
-       border-right-color: #99d;
-}
-
-.form-invalid {
-       background-color: #ffebe8 !important;
-}
-
-.form-invalid input,
-.form-invalid select {
-       border-color: #c00 !important;
-}
-
-.submit {
-       border: none;
-}
-
-.highlight {
-       background-color: #e4f2fd;
-       color: #000;
-}
-
-.howto,
-.nonessential,
-#edit-slug-box,
-.form-input-tip,
-.subsubsub {
-       color: #666;
-}
-
-.media-upload-form label.form-help,
-td.help {
-       color: #9a9a9a;
-}
-
-.ui-autocomplete {
-       border-color: #aaa;
-       background-color: #efefef;
-}
-
-.ui-autocomplete li a.ui-state-focus {
-       background-color: #ddd;
-}
-
-.post-com-count {
-       color: #fff;
-}
-
-.post-com-count span {
-       background-color: #bbb;
-       color: #fff;
-}
-
-.post-com-count:hover span {
-       background-color: #2ea2cc;
-}
-
-.quicktags, .search {
-       background-color: #ccc;
-       color: #000;
-}
-
-.side-info h5 {
-       border-bottom-color: #dadada;
-}
-
-.side-info ul {
-       color: #666;
-}
-
-a:hover,
-a:active {
-       color: #2ea2cc;
-}
-
-a:focus {
-       color: #124964;
-}
-
-#adminmenu a:hover,
-#adminmenu li.menu-top > a:focus,
-#adminmenu .wp-submenu a:hover,
-#rightnow a:hover,
-#media-upload a.del-link:hover,
-div.dashboard-widget-submit input:hover,
-.subsubsub a:hover,
-.subsubsub a.current:hover,
-.ui-tabs-nav a:hover {
-       color: #2ea2cc;
-}
-
-#the-comment-list .comment-item {
-       border: none;
-}
-
-#side-sortables .category-tabs .tabs a,
-#side-sortables .add-menu-item-tabs .tabs a,
-.wp-tab-bar .wp-tab-active a {
-       color: #333;
-}
-
-#rightnow .rbutton {
-       background-color: #ebebeb;
-       color: #264761;
-}
-
-p.submit {
-       border-top-color: #dfdfdf;
-}
-
-.submitbox .submit {
-       background-color: #464646;
-       color: #ccc;
-}
-
-table.widefat span.delete a,
-table.widefat span.trash a,
-table.widefat span.spam a,
-.plugins a.delete,
-#all-plugins-table .plugins a.delete,
-#search-plugins-table .plugins a.delete,
-.submitbox .submitdelete,
-#media-items a.delete,
-#media-items a.delete-permanently,
-#nav-menu-footer .menu-delete {
-       color: #a00;
-}
-
-table.widefat span.delete a:hover,
-table.widefat span.trash a:hover,
-table.widefat span.spam a:hover,
-.plugins a.delete:hover,
-#all-plugins-table .plugins a.delete:hover,
-#search-plugins-table .plugins a.delete:hover,
-.submitbox .submitdelete:hover,
-#media-items a.delete:hover,
-#media-items a.delete-permanently:hover,
-#nav-menu-footer .menu-delete:hover {
-       color: #f00;
-}
-
-#normal-sortables .submitbox .submitdelete:hover {
-       color: #000;
-       background-color: #f00;
-       border-bottom-color: #f00;
-}
-
-.tablenav .dots {
-       border-color: transparent;
-}
-
-.tablenav .next,
-.tablenav .prev {
-       border-color: transparent;
-       color: #0074a2;
-}
-
-.tablenav .next:hover,
-.tablenav .prev:hover {
-       border-color: transparent;
-       color: #2ea2cc;
-}
-
-div.updated,
-.login .message,
-.press-this #message {
-       background-color: #fff;
-       border-left: 4px solid #7ad03a;
-
-       -webkit-box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.1);
-       box-shadow:         0px 1px 1px 0px rgba(0,0,0,0.1);
-}
-
-#update-nag,
-.update-nag {
-       background-color: #fff;
-       border-left: 4px solid #ffba00;
-
-       -webkit-box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.1);
-       box-shadow:         0px 1px 1px 0px rgba(0,0,0,0.1);
-}
-
-div.error,
-.login #login_error {
-       background: #fff;
-       border-left: 4px solid #dd3d36;
-
-       -webkit-box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.1);
-       box-shadow:         0px 1px 1px 0px rgba(0,0,0,0.1);
-}
-
-.update-message {
-       color: #000;
-}
-
-a.page-numbers {
-       border-bottom-color: #b8d3e2;
-}
-
-.commentlist li {
-       border-bottom-color: #ccc;
-}
-
-.widefat td,
-.widefat th {
-       color: #555;
-}
-
-.widefat p,
-.widefat ol,
-.widefat ul {
-       color: #333;
-}
-
-.widefat thead tr th,
-.widefat tfoot tr th,
-h3.dashboard-widget-title,
-h3.dashboard-widget-title span,
-h3.dashboard-widget-title small {
-       color: #333;
-}
-
-th.manage-column a,
-th.sortable a:hover,
-th.sortable a:active,
-th.sortable a:focus {
-       color: #333;
-}
-
-th.sortable a:focus {
-       background: #e1e1e1;
-}
-
-h3.dashboard-widget-title small a {
-       color: #d7d7d7;
-}
-
-h3.dashboard-widget-title small a:hover {
-       color: #fff;
-}
-
-a,
-#the-comment-list p.comment-author strong a,
-#media-upload a.del-link,
-#media-items a.delete,
-#media-items a.delete-permanently,
-.plugins a.delete,
-.ui-tabs-nav a,
-.plugins .inactive a {
-       color: #0074a2;
-       -webkit-transition-property: border, background, color;
-       -moz-transition-property:    border, background, color;
-       transition-property:         border, background, color;
-       -webkit-transition-duration: .05s;
-       -moz-transition-duration:    .05s;
-       transition-duration:         .05s;
-       -webkit-transition-timing-function: ease-in-out;
-       -moz-transition-timing-function:    ease-in-out;
-       transition-timing-function:         ease-in-out;
-}
-
-.wp-list-table a,
-.media-router a {
-       -moz-transition: none;
-       -webkit-transition: none;
-       transition: none;
-}
-
-#adminmenu a {
-       color: #eee;
-}
-
-#adminmenu .awaiting-mod,
-#adminmenu .update-plugins,
-#sidemenu a .update-plugins,
-#rightnow .reallynow {
-       background-color: #d54e21;
-       color: #fff;
-}
-#plugin-information .action-button {
-       background-color: #2ea2cc;
-       color: #fff;
-}
-
-#adminmenu li.current a .awaiting-mod,
-#adminmenu     li a.wp-has-current-submenu .update-plugins {
-       background-color: #2ea2cc;
-       color: #fff;
-}
-
-div#media-upload-header,
-div#plugin-information-header {
-       background-color: #f9f9f9;
-       border-bottom-color: #dfdfdf;
-}
-
-#currenttheme img {
-       border-color: #666;
-}
-
-input.readonly, textarea.readonly {
-       background-color: #ddd;
-}
-
-#editable-post-name {
-       background-color: #fffbcc;
-}
-
-#edit-slug-box strong,
-.tablenav .displaying-num,
-#submitted-on,
-.submitted-on {
-       color: #777;
-}
-
-.plugins .inactive a:hover {
-       color: #2ea2cc;
-}
-
-#wpfooter {
-       color: #777;
-       border-color: transparent;
-}
-
-.imgedit-group,
-#media-items .media-item,
-.media-item .describe {
-       border-color: #dfdfdf;
-}
-
-.plugins .plugin-description p,
-.plugins .plugin-version-author-uri {
-       color: #333;
-}
-
-.plugins .inactive .plugin-title strong {
-       color: #333;
-}
-
-.plugin-update-tr .plugin-update {
-       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);
-}
-
-.plugin-update-tr .update-message {
-       background-color: #f7f7f7;
-       background-color: rgba(0,0,0,0.03);
-}
-
-tr.active.update + tr.plugin-update-tr .plugin-update .update-message {
-       background-color: #fcf3ef;
-}
-
-.plugin-update-tr .update-message:before {
-       color: #d54e21;
-}
-
-.plugins,
-.plugins th,
-.plugins td {
-       color: #000;
-}
-
-.plugins .inactive a {
-       color: #579;
-}
-
-.plugins tr {
-       background: #fff;
-}
-
-.plugins .inactive td,
-.plugins .inactive th,
-.plugins .active td,
-.plugins .active th,
-.plugin-install #the-list td {
-       -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);
-}
-
-.plugins .update td,
-.plugins .update th {
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-.plugins .active td,
-.plugins .active th,
-tr.active + tr.plugin-update-tr .plugin-update {
-       background-color: #f7fcfe;
-}
-
-.plugins .active.update td,
-.plugins .active.update th,
-tr.active.update + tr.plugin-update-tr .plugin-update,
-#activity-widget #the-comment-list .unapproved {
-       background-color: #fefaf7;
-}
-
-.plugins tr.active.plugin-update-tr + tr.inactive th,
-.plugins tr.active.plugin-update-tr + tr.inactive td,
-.plugins tr.active + tr.inactive th,
-.plugins tr.active + tr.inactive td {
-       border-top: 1px solid rgba(0,0,0,0.03);
-
-       -webkit-box-shadow: inset 0px 1px 0 rgba(0,0,0,0.02), inset 0 -1px 0 #e1e1e1;
-       box-shadow:         inset 0px 1px 0 rgba(0,0,0,0.02), inset 0 -1px 0 #e1e1e1;
-}
-
-.plugins tr.active + tr.inactive.update th,
-.plugins tr.active + tr.inactive.update td {
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-.plugins .active th.check-column {
-       border-left: 4px solid #2ea2cc;
-}
-
-.plugins .active.update th.check-column,
-.plugins .active.update + .plugin-update-tr .plugin-update {
-       border-left: 4px solid #d54e21;
-}
-
-.post-state-format:before,
-.post-format-icon:before {
-       color: #ddd;
-       -webkit-transition: all .1s ease-in-out;
-       -moz-transition:    all .1s ease-in-out;
-       transition:         all .1s ease-in-out;
-}
-
-input[type="radio"]:checked+label:before {
-       color: #888888;
-}
-
-a.post-state-format:hover:before,
-a.post-format-icon:hover:before {
-       color: #2ea2cc;
-}
-
-#the-list tr:last-child td,
-#the-list tr:last-child th {
-       border-bottom: none !important;
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-#the-comment-list tr.undo,
-#the-comment-list div.undo {
-       background-color: #f4f4f4;
-}
-
-#the-comment-list .unapproved th,
-#the-comment-list .unapproved td {
-       background-color: #fefaf7;
-}
-
-#the-comment-list .unapproved th.check-column {
-       border-left: 4px solid #d54e21;
-}
-
-#the-comment-list .approve a {
-       color: #006505;
-}
-
-#the-comment-list .unapprove a {
-       color: #d98500;
-}
-
-#the-comment-list th,
-#the-comment-list td {
-       -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);
-}
-
-#activity-widget #the-comment-list .comment {
-       -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.06);
-       box-shadow:         inset 0 1px 0 rgba(0, 0, 0, 0.06);
-}
-
-#the-comment-list tr:last-child th,
-#the-comment-list tr:last-child td {
-    -webkit-box-shadow: none;
-    box-shadow: none;
-}
-
-#the-comment-list tr.unapproved + tr.approved th,
-#the-comment-list tr.unapproved + tr.approved td {
-    border-top: 1px solid rgba(0, 0, 0, 0.03);
-}
-
-#activity-widget .comments #the-comment-list .alt {
-       background-color: transparent;
-}
-
-.welcome-panel p {
-       color: #777;
-}
-
-.welcome-panel a {
-       text-decoration: none;
-}
-
-.welcome-panel-column p {
-       color: #464646;
-}
-
-.welcome-panel .welcome-icon:before {
-       color: #888;
-}
-
-.widget-top,
-.menu-item-handle,
-.menu-item-settings,
-.widget-inside,
-.postbox,
-#menu-settings-column .accordion-container,
-#menu-management .menu-edit,
-.manage-menus,
-table.widefat,
-.stuffbox,
-p.popular-tags,
-.widgets-holder-wrap,
-.welcome-panel,
-.wp-editor-container,
-#post-status-info,
-.popular-tags,
-.feature-filter,
-.imgedit-group {
-       border: 1px solid #e5e5e5;
-       -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
-       box-shadow: 0 1px 1px rgba(0,0,0,0.04);
-}
-
-#post-status-info {
-       border-top: none;
-}
-
-.postbox table.widefat {
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-.welcome-panel,
-.postbox,
-table.widefat,
-.wp-editor-container,
-.stuffbox,
-p.popular-tags,
-.widgets-holder-wrap,
-.popular-tags,
-.feature-filter,
-.imgedit-group {
-       background: #fff;
-}
-
-.postbox h3,
-#namediv h3,
-#submitdiv h3 {
-       border-bottom: 1px solid #eeeeee;
-}
-
-.widget .widget-top,
-.menu-item-handle {
-       background: #fafafa;
-       color: #222;
-}
-
-#misc-publishing-actions label[for="post_status"]:before,
-#post-body #visibility:before,
-.curtime #timestamp:before,
-#post-body .misc-pub-revisions:before,
-span.wp-media-buttons-icon:before {
-       color: #888;
-}
-
-#rightnow .youhave {
-       background-color: #f0f6fb;
-}
-
-#rightnow a {
-       color: #448abd;
-}
-
-#welcome-panel.welcome-panel .welcome-panel-close::before,
-.tagchecklist span a:before,
-#bulk-titles div a:before,
-.wp-pointer-buttons a.close:before {
-       background: none;
-       color: #bbb;
-}
-
-#welcome-panel.welcome-panel .welcome-panel-close:hover:before,
-.tagchecklist span a:hover:before,
-#bulk-titles div a:hover:before,
-.wp-pointer-buttons a.close:hover:before {
-       color: #c00;
-}
-
-#screen-meta {
-       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-back {
-       background: #f6fbfd;
-}
-
-.contextual-help-tabs a:hover {
-       color: #333;
-}
-
-#contextual-help-back,
-.contextual-help-tabs .active a {
-       border-color: #e1e1e1;
-}
-
-.contextual-help-tabs .active {
-       border-color: #2ea2cc;
-
-       -webkit-box-shadow: 0px 2px 0 rgba(0,0,0,0.02), 0 1px 0 rgba(0,0,0,0.02);
-       box-shadow:         0px 2px 0 rgba(0,0,0,0.02), 0 1px 0 rgba(0,0,0,0.02);
-}
-
-.contextual-help-tabs .active,
-.contextual-help-tabs .active a,
-.contextual-help-tabs .active a:hover {
-       background: #f6fbfd;
-       color: #333;
-}
-
-/* screen options and help tabs */
-#screen-options-link-wrap,
-#contextual-help-link-wrap {
-       border: 1px solid #ddd;
-       border-top: none;
-       background: #fff;
-       -webkit-box-shadow: 0px 1px 1px -1px rgba(0,0,0,0.1);
-       box-shadow:         0px 1px 1px -1px rgba(0,0,0,0.1);
-}
-
-#screen-meta-links a {
-       color: #777;
-}
-
-#screen-meta-links a:after {
-       color: #bbb;
-}
-
-#screen-meta-links a:hover,
-#screen-meta-links a:active {
-       color: #333;
-}
-
-#screen-meta-links a:focus {
-       border-color: #aaa;
-       color: #333;
-       -webkit-box-shadow: 0 2px 3px rgba(0,0,0,0.15);
-       box-shadow: 0 2px 3px rgba(0,0,0,0.15);
-}
-/* end screen options and help tabs */
-
-#wphead {
-       border-bottom-color: #dfdfdf;
-}
-
-#wphead h1 a {
-       color: #464646;
-}
-
-.file-error,
-abbr.required,
-.widget-control-remove:hover,
-table.widefat .delete a:hover,
-table.widefat .trash a:hover,
-table.widefat .spam a:hover {
-       color: #f00;
-}
-
-#pass-strength-result {
-       background-color: #eee;
-       border-color: #ddd !important;
-}
-
-#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;
-}
-
-#post-status-info {
-       background-color: #f7f7f7;
-}
-
-.widget-inside,
-.menu-item-settings {
-       background: #fff;
-}
-
-.menu-item-settings {
-       border-top: none;
-}
-
-#titlediv #title {
-       background-color: #fff;
-}
-
-#tTips p#tTips_inside {
-       background-color: #ddd;
-       color: #333;
-}
-
-#poststuff .inside .the-tagcloud {
-       border-color: #ddd;
-}
-
-/* menu */
-#adminmenuback,
-#adminmenuwrap,
-#adminmenu {
-       background-color: #222;
-}
-
-#adminmenu li.wp-menu-separator {
-       background: transparent;
-       border-color: transparent;
-}
-
-#adminmenu div.separator {
-       border-color: transparent;
-}
-
-#adminmenu li.wp-menu-open {
-       border-color: #dfdfdf;
-}
-
-#adminmenu li.menu-top:hover,
-#adminmenu li.opensub > a.menu-top,
-#adminmenu li > a.menu-top:focus {
-       background-color: #111;
-       color: #2ea2cc;
-}
-
-/* flyout menu arrow */
-#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-       border-right-color: #333;
-}
-
-#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
-#adminmenu li.current a.menu-top,
-.folded #adminmenu li.wp-has-current-submenu,
-.folded #adminmenu li.current.menu-top,
-#adminmenu .wp-menu-arrow,
-#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,
-#adminmenu .wp-menu-arrow div {
-       background: #0074a2;
-}
-
-#adminmenu li.wp-not-current-submenu .wp-menu-arrow {
-       border-top-color: #f9f9f9;
-       border-bottom-color: #dfdfdf;
-       background: transparent;
-}
-
-#adminmenu li.wp-not-current-submenu .wp-menu-arrow div {
-       background: #111;
-       border-color: #111;
-}
-
-#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
-#adminmenu li.current a.menu-top,
-#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head {
-       color: #fff;
-}
-
-.folded #adminmenu li.wp-has-current-submenu,
-.folded #adminmenu li.current.menu-top {
-       border-color: #666;     /* Match the background color of the current menu item for a flat appearance */
-}
-
-#adminmenu .wp-submenu li.current,
-#adminmenu .wp-submenu li.current a,
-#adminmenu .opensub .wp-submenu li.current a,
-#adminmenu a.wp-has-current-submenu:focus + .wp-submenu li.current a,
-#adminmenu .wp-submenu li.current a:hover,
-#adminmenu .wp-submenu li.current a:focus {
-       color: #fff;
-       background: transparent;
-}
-
-#adminmenu .wp-submenu,
-.folded #adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
-.folded #adminmenu .wp-has-current-submenu .wp-submenu {
-       background-color: #333;
-
-       -webkit-box-shadow: 0 3px 5px rgba(0,0,0,0.2);
-       box-shadow:         0 3px 5px rgba(0,0,0,0.2);
-}
-
-#adminmenu .wp-submenu a,
-.folded #adminmenu a.wp-has-current-submenu:focus + .wp-submenu a,
-.folded #adminmenu .wp-has-current-submenu .wp-submenu a {
-       color: #bbb;
-}
-
-#adminmenu .wp-submenu .wp-submenu-head {
-       color: #fff;
-}
-
-/* collapse menu button */
-#collapse-menu {
-       color: #aaa;
-       -webkit-transition: all .1s ease-in-out;
-       -moz-transition:    all .1s ease-in-out;
-       transition:         all .1s ease-in-out;
-}
-
-#collapse-menu:hover {
-       color: #2ea2cc;
-}
-
-#collapse-button div:after {
-       color: #aaa;
-}
-
-#collapse-menu:hover #collapse-button div:after {
-       color: #2ea2cc;
-}
-
-#adminmenu div.wp-menu-image:before {
-       color: #999;
-}
-
-.icon16:before {
-       color: #999;
-}
-
-#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before {
-       color: #fff;
-}
-
-#adminmenu li:hover div.wp-menu-image:before {
-       color: #2ea2cc;
-}
-
-#adminmenu .wp-has-current-submenu div.wp-menu-image:before,
-#adminmenu .current div.wp-menu-image:before,
-#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,
-#adminmenu a.current:hover div.wp-menu-image:before {
-       color: #fff;
-}
-
-/* Collapse button in theme preview */
-
-.wp-full-overlay a.collapse-sidebar {
-       color: #777;
-}
-
-.wp-full-overlay a.collapse-sidebar:hover {
-       color: #0074a2;
-}
-
-.wp-full-overlay .collapse-sidebar-arrow:before {
-       background: #eee;
-}
-
-/* Diff */
-
-table.diff .diff-deletedline del {
-       background-color: #f99;
-}
-
-.ui-tooltip, .arrow::after {
-       background-color: #fff;
-       box-shadow: 0 1px 3px rgba(0,0,0,0.1);
-}
-
-.revisions-meta,
-.revisions-diff,
-.revisions.pinned .revisions-controls {
-       background-color: #fff;
-       box-shadow: 0 1px 3px rgba(0,0,0,0.1);
-}
-
-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;
-}
-
-.revisions-tooltip,
-.revisions-tooltip-arrow span {
-       border-color: #d7d7d7;
-       background-color: #fff;
-}
-
-.revisions-tickmarks {
-       background-color: #fff;
-}
-
-.revisions-tickmarks > div {
-       border-color: #aaa;
-}
-
-.revisions.pinned .revisions-controls {
-       background: #fff;
-}
-
-.revisions.pinned .revisions-meta {
-       box-shadow: none;
-}
-
-/* jQuery UI Slider */
-
-.wp-slider.ui-slider {
-       border-color: #d7d7d7;
-}
-
-.wp-slider .ui-slider-handle,
-.wp-slider .ui-slider-handle.ui-state-hover,
-.wp-slider .ui-slider-handle.focus {
-       background: #2ea2cc;
-       border: 1px solid #0074a2;
-       -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 {
-       color: #fff;
-}
-
-/* edit image */
-#sidemenu a {
-       background-color: #f9f9f9;
-       border-color: #f9f9f9;
-       border-bottom-color: #dfdfdf;
-}
-
-#sidemenu a.current {
-       background-color: #f1f1f1;
-       border-color: #dfdfdf #dfdfdf #f1f1f1;
-       color: #000;
-}
-
-#replyerror {
-       border-color: #ddd;
-       background-color: #f9f9f9;
-}
-
-/* table vim shortcuts */
-.vim-current,
-.vim-current th,
-.vim-current td {
-       background-color: #E4F2FD !important;
-}
-
-/* Install Plugins */
-
-#plugin-information {
-       height: auto;
-}
-
-#plugin-information .fyi ul {
-       background-color: #eaf3fa;
-}
-
-#plugin-information .fyi h2.mainheader {
-       background-color: #cee1ef;
-}
-
-#plugin-information pre,
-#plugin-information code {
-       background-color: #ededff;
-}
-
-#plugin-information pre {
-       border-color: #ccc;
-}
-
-/* inline editor */
-#bulk-titles {
-       border-color: #ddd;
-}
-
-.inline-editor div.title {
-       background-color: #eaf3fa;
-}
-
-.inline-editor ul.cat-checklist {
-       background-color: #fff;
-       border-color: #ddd;
-}
-
-.inline-editor .quick-edit-save {
-       background-color: #f1f1f1;
-}
-
-fieldset.inline-edit-col-right .inline-edit-col {
-       border-color: #dfdfdf;
-}
-
-.attention {
-       color: #2ea2cc;
-}
-
-.tablenav .tablenav-pages {
-       color: #555;
-}
-
-.tablenav .tablenav-pages a {
-       background: #eee;
-       background: rgba( 0, 0, 0, 0.05 );
-}
-
-.tablenav .tablenav-pages a:hover,
-.tablenav .tablenav-pages a:focus {
-       color: #fff;
-       background: #2ea2cc;
-}
-
-.tablenav .tablenav-pages a.disabled,
-.tablenav .tablenav-pages a.disabled:hover,
-.tablenav .tablenav-pages a.disabled:focus {
-       color: #aaa;
-       background: #eee;
-       background: rgba( 0, 0, 0, 0.05 );
-}
-
-.tablenav .tablenav-pages .current {
-       background: #dfdfdf;
-       border-color: #d3d3d3;
-}
-
-#availablethemes,
-#availablethemes td {
-       border-color: #ddd;
-}
-
-#current-theme img {
-       border-color: #999;
-}
-
-#TB_window #TB_title a.tb-theme-preview-link,
-#TB_window #TB_title a.tb-theme-preview-link:visited {
-       color: #999;
-}
-
-#TB_window #TB_title a.tb-theme-preview-link:hover,
-#TB_window #TB_title a.tb-theme-preview-link:focus {
-       color: #ccc;
-}
-
-.misc-pub-section {
-}
-
-#minor-publishing {
-       border-bottom-color: #dfdfdf;
-}
-
-#post-body .misc-pub-section {
-}
-
-.post-com-count span {
-       background-color: #bbb;
-}
-
-.sortable-placeholder {
-       border-color: #bbb;
-}
-
-#post-body ul.category-tabs li.tabs a,
-#post-body ul.add-menu-item-tabs li.tabs a,
-body.press-this ul.category-tabs li.tabs a {
-       color: #333;
-}
-
-.view-switch>a:before {
-       color: #bbb;
-}
-
-.view-switch a:hover:before {
-       color: #727272;
-}
-
-.view-switch a.current:before {
-       color: #0074a2;
-}
-
-div.widgets-sortables,
-#widgets-left .inactive,
-#available-widgets .widget-holder {
-       background-color: #fff;
-       border-color: #fff;
-}
-
-#widgets-left #available-widgets {
-       background: transparent;
-}
-
-#widgets-left .widgets-holder-wrap {
-       border: none;
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-.sidebar-name {
-       border-bottom-color: #e1e1e1;
-}
-
-.js #removing-widget {
-       color: #2ea2cc;
-}
-
-#removing-widget span {
-       color: black;
-}
-
-.in-widget-title,
-#widgets-right .widget-top a.widget-control-edit,
-#wp_inactive_widgets .in-widget-title,
-#available-widgets .widget-description {
-       color: #666;
-}
-
-#widgets-right .widget-top a.widget-control-edit:hover {
-       color: #fff;
-}
-
-.deleting .widget-title,
-.deleting .widget-top a.widget-action:after {
-       color: #aaa;
-}
-
-.imgedit-menu div {
-       border-color: #d5d5d5;
-       background-color: #f1f1f1;
-}
-
-.imgedit-menu div:hover {
-       border-color: #c1c1c1;
-       background-color: #eaeaea;
-}
-
-.imgedit-menu div.disabled {
-       border-color: #ccc;
-       background-color: #ddd;
-       filter: alpha(opacity=50);
-       opacity: 0.5;
-}
-
-/* added from nav-menu.css */
-#menu-management {
-       background: #f5f5f5
-}
-
-#menu-management #post-body {
-       background: #fff;
-       border-top-color: #fff;
-       border-bottom-color: #dfdfdf;
-}
-
-#nav-menu-header {
-       border-bottom-color: #dfdfdf;
-}
-
-#menu-management .nav-tabs-arrow a {
-       color: #c1c1c1;
-}
-
-#menu-management .nav-tabs-arrow a:hover {
-       color: #2ea2cc;
-}
-
-#menu-management .nav-tabs-arrow a:active {
-       color: #464646;
-}
-
-#menu-management .nav-tab-active {
-       border-color: #dfdfdf;
-}
-
-#menu-management .nav-tab {
-       background: #fbfbfb;
-       border-color: #dfdfdf;
-}
-
-.js .input-with-default-title {
-       color: #aaa;
-}
-
-#cancel-save {
-       color: #f00;
-}
-
-#cancel-save:hover {
-       background-color: #f00;
-       color: #fff;
-}
-
-.list-container,
-.menu-item-handle {
-       border-color: #dfdfdf;
-}
-
-.menu li.deleting .menu-item-handle {
-       background-color: #f66;
-}
-
-.item-type { /* Menu item controls */
-       color: #777;
-}
-
-.item-controls .menu-item-delete:hover {
-       color: #f00;
-}
-
-.widget-action,
-.handlediv,
-.item-edit,
-.sidebar-name-arrow,
-.accordion-section-title:after {
-       color: #aaa;
-}
-
-.widget-action:hover,
-.handlediv:hover,
-.item-edit:hover,
-.sidebar-name:hover .sidebar-name-arrow,
-.accordion-section-title:hover:after {
-       color: #777;
-}
-
-/* Menu editing */
-
-.link-to-original {
-       color: #777;
-       border-color: #dfdfdf;
-}
-
-#cancel-save:hover {
-       color: #fff !important;
-}
-
-#update-menu-item {
-       color: #fff !important;
-}
-
-#update-menu-item:hover,
-#update-menu-item:active,
-#update-menu-item:focus {
-       color: #eaf2fa !important;
-       border-color: #13455b !important;
-}
-
-.submitbox .submitcancel {
-       color: #0074a2;
-       border-bottom-color: #0074a2;
-}
-
-.submitbox .submitcancel:hover {
-       background: #0074a2;
-       color: #fff;
-}
-
-.manage-menus {
-       background: #fbfbfb;
-}
-
-.menu-settings {
-       border-top-color: #eeeeee;
-}
-
-.theme-location-set {
-       color: #999999;
-}
-
-.nav-menus-php .delete-action a {
-       color: #bc0b0b;
-}
-
-.is-submenu {
-       color: #999999;
-}
-
-.nav-tab {
-       color: #555;
-       border-color: #ccc;
-       background: #e4e4e4;
-}
-
-.nav-tab:hover {
-       background-color: #fff;
-       color: #464646;
-}
-
-.nav-tab-active {
-       color: #464646;
-}
-
-.nav-tab-active,
-.nav-tab-active:hover {
-       color: #000;
-       background: none;
-       border-color: #ccc;
-       border-bottom-color: #f1f1f1;
-}
-
-h2.nav-tab-wrapper, h3.nav-tab-wrapper {
-       border-bottom-color: #ccc;
-}
-
-#upload-form label {
-       color: #777;
-}
-
-/* Begin About Pages */
-.about-wrap h1 {
-       color: #333;
-}
-
-.about-text {
-       color: #777;
-}
-
-.wp-badge {
-       background-color: #0074a2;
-       color: #78c8e6;
-       -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.2);
-       box-shadow:         0 1px 3px rgba(0,0,0,0.2);
-}
-
-.about-wrap h2 .nav-tab-active {
-       border-color: #ccc;
-       border-bottom-color: #f1f1f1;
-}
-
-.about-wrap h2,
-.about-wrap h3,
-.about-wrap h4 {
-       color: #222;
-}
-
-.about-wrap .feature-section .col-2:before,
-.about-wrap .feature-section .col-2:after,
-.about-wrap .feature-section.two-col p:before {
-       color: #1e8cbe;
-}
-
-.about-wrap .point-releases {
-       border-bottom: 1px solid #dfdfdf;
-}
-
-.about-wrap .point-releases h3 {
-       border-top-color: #dfdfdf;
-}
-
-.about-wrap li.wp-person img.gravatar {
-       border-color: #ccc;
-}
-
-.about-wrap li.wp-person .title {
-       color: #464646;
-}
-
-.freedoms-php .about-wrap ol li {
-       color: #999;
-}
-
-.freedoms-php .about-wrap ol p {
-       color: #464646;
-}
-
-/* End About Pages */
-
-/* Press This and Image editing icons */
-
-.pressthis a span:before {
-       color:#777;
-}
-
-.imgedit-menu div {
-       color:#777;
-}
-
-.imgedit-menu div:hover {
-       color:#333;
-}
-
-/* End Press This and Image editing icons */
-
-/* Media Manager */
-
-.media-modal-content {
-       background: #fcfcfc;
-       box-shadow: 0 5px 15px rgba(0,0,0,0.7);
-}
-
-.media-menu {
-       background: #f3f3f3;
-       border-right-color: #ccc;
-}
-
-.media-menu > a {
-       color: #0074a2;
-}
-
-.media-menu .active,
-.media-menu .active:hover {
-       color: #222;
-}
-
-.media-frame-content {
-       background: #fff;
-       border-top-color: #ddd;
-       border-bottom-color: #ddd;
-}
-
-.media-menu .separator {
-       border-top-color: #ddd;
-       border-bottom: none;
-}
-
-.media-sidebar {
-       background: #f3f3f3;
-       border-color: #ddd;
-}
-
-.media-router .active,
-.media-router > a.active:last-child {
-       background: #fff;
-       border: 1px solid #ddd;
-       border-bottom: none;
-}
-
-.details.attachment {
-       box-shadow: 0 0 0 1px #fff, 0 0 0 5px #1e8cbe;
-}
-
-.attachment .check {
-       background: #eee;
-       box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.4 );
-}
-
-.attachment.details .check {
-       background-color: #1e8cbe;
-       box-shadow: 0 0 0 1px #fff, 0 0 0 2px #1e8cbe;
-}
-
-/* TinyMCE modal */
-
-.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: #222;
-}
-
-.clearlooks2 .mceClose:before {
-       color: #999;
-}
-
-.clearlooks2 .mceClose:hover:before {
-       color: #2ea2cc;
-}
-
-
-/* Lightbox */
-
-.sticky-menu #TB_window {
-       background: #f1f1f1;
-}
-
-/* tinymce */
-a .mceIcon, .mceAction {
-       color:#777;
-}
-
-a .mceIcon:hover {
-       color:#333;
-}
-
-/* Log in page */
-
-.login form .input,
-.login input[type="text"],
-.login form input[type="checkbox"] {
-       background: #fbfbfb;
-}
-
-.login form {
-       background: #fff;
-       -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.13);
-       box-shadow: 0 1px 3px rgba(0,0,0,0.13);
-}
-
-body.login {
-       background: #f1f1f1;
-}
-
-.login #nav a,
-.login #backtoblog a {
-       text-decoration: none;
-       color: #999;
-}
-
-.login #nav a:hover,
-.login #backtoblog a:hover {
-       color: #2ea2cc;
-}
-
-.login h1 a:hover {
-       color: #2ea2cc;
-}
-
-@media print,
-  (-o-min-device-pixel-ratio: 5/4),
-  (-webkit-min-device-pixel-ratio: 1.25),
-  (min-resolution: 120dpi) {
-       .curtime #timestamp,
-       #screen-meta-links a.show-settings,
-       .widget-top a.widget-action,
-       .widget-top a.widget-action:hover,
-       .sidebar-name-arrow,
-       .sidebar-name:hover .sidebar-name-arrow,
-       .meta-box-sortables .postbox:hover .handlediv,
-       .tagchecklist span a,
-       #bulk-titles div a,
-       .tagchecklist span a:hover,
-       #bulk-titles div a:hover,
-       .wp_themeSkin .mceToolbar span.mce_undo,
-       .wp_themeSkin .mceToolbar span.mce_redo,
-       .wp_themeSkin .mceToolbar span.mce_bullist,
-       .wp_themeSkin .mceToolbar span.mce_numlist,
-       .wp_themeSkin .mceToolbar span.mce_blockquote,
-       .wp_themeSkin .mceToolbar span.mce_charmap,
-       .wp_themeSkin .mceToolbar span.mce_bold,
-       .wp_themeSkin .mceToolbar span.mce_italic,
-       .wp_themeSkin .mceToolbar span.mce_underline,
-       .wp_themeSkin .mceToolbar span.mce_justifyleft,
-       .wp_themeSkin .mceToolbar span.mce_justifyright,
-       .wp_themeSkin .mceToolbar span.mce_justifycenter,
-       .wp_themeSkin .mceToolbar span.mce_justifyfull,
-       .wp_themeSkin .mceToolbar span.mce_indent,
-       .wp_themeSkin .mceToolbar span.mce_outdent,
-       .wp_themeSkin .mceToolbar span.mce_link,
-       .wp_themeSkin .mceToolbar span.mce_unlink,
-       .wp_themeSkin .mceToolbar span.mce_help,
-       .wp_themeSkin .mceToolbar span.mce_removeformat,
-       .wp_themeSkin .mceToolbar span.mce_fullscreen,
-       .wp_themeSkin .mceToolbar span.mce_wp_fullscreen,
-       .wp_themeSkin .mceToolbar span.mce_media,
-       .wp_themeSkin .mceToolbar span.mce_pastetext,
-       .wp_themeSkin .mceToolbar span.mce_pasteword,
-       .wp_themeSkin .mceToolbar span.mce_wp_help,
-       .wp_themeSkin .mceToolbar span.mce_wp_adv,
-       .wp_themeSkin .mceToolbar span.mce_wp_more,
-       .wp_themeSkin .mceToolbar span.mce_strikethrough,
-       .wp_themeSkin .mceToolbar span.mce_spellchecker,
-       .wp_themeSkin .mceToolbar span.mce_forecolor,
-       .wp_themeSkin .mceToolbar .mce_forecolorpicker,
-       .wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,
-       .wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,
-       .wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,
-       .wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist {
-               background: none !important;
-       }
-}
diff --git a/wp-admin/css/colors.min.css b/wp-admin/css/colors.min.css
deleted file mode 100644 (file)
index 42dd88b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-left:0;border-right:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-right:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-right-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-left:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-left:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-left:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-left:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-right-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}
\ No newline at end of file
index 88c443f26bf12c1606e1e6355d9dc5b1d65f5878..2ce80049c33cea41203a4f279fc2765edec49ead 100644 (file)
@@ -20,12 +20,10 @@ a {
        }
 }
 
-#rightnow a:hover,
 #media-upload a.del-link:hover,
 div.dashboard-widget-submit input:hover,
 .subsubsub a:hover,
-.subsubsub a.current:hover,
-.ui-tabs-nav a:hover {
+.subsubsub a.current:hover {
        color: $link-focus;
 }
 
@@ -33,11 +31,11 @@ div.dashboard-widget-submit input:hover,
 /* Forms */
 
 input[type=checkbox]:checked:before {
-    color: $form-checked;
+       color: $form-checked;
 }
 
 input[type=radio]:checked:before {
-    background: $form-checked;
+       background: $form-checked;
 }
 
 .wp-core-ui input[type="reset"]:hover,
@@ -152,6 +150,7 @@ strong .post-com-count span {
 .about-wrap h2 .nav-tab-active,
 .nav-tab-active,
 .nav-tab-active:hover {
+       background-color: $body-background;
        border-bottom-color: $body-background;
 }
 
@@ -388,6 +387,7 @@ ul#adminmenu > li.current > a.current:after {
 
 .wp-pointer .wp-pointer-content h3 {
        background-color: $highlight-color;
+       border-color: darken( $highlight-color, 5% );
 }
 
 .wp-pointer .wp-pointer-content h3:before {
@@ -434,6 +434,45 @@ ul#adminmenu > li.current > a.current:after {
        background: $highlight-color;
 }
 
+.theme-section.current,
+.theme-filter.current {
+       border-bottom-color: $menu-background;
+}
+
+body.more-filters-opened .more-filters,
+body.more-filters-opened .more-filters:before {
+       color: $menu-text;
+       background-color: $menu-background;
+}
+
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus,
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+       background-color: $menu-highlight-background;
+       color: $menu-highlight-text;
+}
+
+/* Widgets */
+
+.widgets-chooser li.widgets-chooser-selected {
+       background-color: $menu-highlight-background;
+       color: $menu-highlight-text;
+}
+
+.widgets-chooser li.widgets-chooser-selected:before,
+.widgets-chooser li.widgets-chooser-selected:focus:before {
+       color: $menu-highlight-text;
+}
+
+/* Customize */
+
+#customize-theme-controls .widget-area-select .selected {
+       background-color: $menu-highlight-background;
+       color: $menu-highlight-text;
+}
+
+
 /* jQuery UI Slider */
 
 .wp-slider .ui-slider-handle,
@@ -441,7 +480,6 @@ ul#adminmenu > li.current > a.current:after {
 .wp-slider .ui-slider-handle.focus {
        background: $button-color;
        border-color: darken( $button-color, 10% );
-       -webkit-box-shadow: inset 0 1px 0 lighten( $button-color, 15% ), 0 1px 0 rgba(0,0,0,.15);
        box-shadow: inset 0 1px 0 lighten( $button-color, 15% ), 0 1px 0 rgba(0,0,0,.15);
 }
 
index 2792fa120de0973b708d8cb8b328c7877bcc7d3a..14db8a5017faeebfc7bb37d908694dcb6f095e62 100644 (file)
@@ -1,34 +1,32 @@
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 @mixin button( $button-color, $text-color: white ) {
        background: $button-color;
        border-color: darken( $button-color, 10% );
        color: $text-color;
-       -webkit-box-shadow: inset 0 1px 0 lighten( $button-color, 15% ), 0 1px 0 rgba(0,0,0,.15);
        box-shadow: inset 0 1px 0 lighten( $button-color, 15% ), 0 1px 0 rgba(0,0,0,.15);
 
        &:hover,
        &:focus {
-               background: darken( $button-color, 8% );
+               background: darken( $button-color, 5% );
                border-color: darken( $button-color, 15% );
                color: $text-color;
-               -webkit-box-shadow: inset 0 1px 0 lighten( $button-color, 10% ), 0 1px 0 rgba(0,0,0,.15);
                box-shadow: inset 0 1px 0 lighten( $button-color, 10% ), 0 1px 0 rgba(0,0,0,.15);
        }
 
        &:active {
-               background: darken( $button-color, 8% );
+               background: darken( $button-color, 10% );
                border-color: darken( $button-color, 15% );
                color: $text-color;
-               -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 );
        }
 
        &[disabled],
        &:disabled,
-       &.button-primary-disabled {
+       &.button-primary-disabled,
+       &.disabled {
                color: hsl( hue( $button-color ), 10%, 80% ) !important;
                background: darken( $button-color, 8% ) !important;
                border-color: darken( $button-color, 15% ) !important;
index 81248a34eee3944ff4a82785287ce36403f6965d..515f2b1b9d92120dc8e6c6d3aee7ff019363783b 100644 (file)
@@ -1,6 +1,5 @@
-@import url("../../colors-rtl.css");
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 html {
@@ -12,7 +11,7 @@ a {
   a:hover, a:active, a:focus {
     color: #0099d5; }
 
-#rightnow a:hover, #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover, .ui-tabs-nav a:hover {
+#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
   color: #0099d5; }
 
 /* Forms */
@@ -33,34 +32,34 @@ input[type=radio]:checked:before {
   -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: #db9825;
+    background: #dd9f32;
     border-color: #bd831f;
     color: white;
     -webkit-box-shadow: inset 0 1px 0 #e8be74, 0 1px 0 rgba(0, 0, 0, 0.15);
     box-shadow: inset 0 1px 0 #e8be74, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:active {
-    background: #db9825;
+    background: #d39323;
     border-color: #bd831f;
     color: white;
     -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); }
-  .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], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1cdc7 !important;
     background: #db9825 !important;
     border-color: #bd831f !important;
     text-shadow: none !important; }
 .wp-core-ui .wp-ui-primary {
-  color: white;
+  color: #fff;
   background-color: #52accc; }
 .wp-core-ui .wp-ui-text-primary {
   color: #52accc; }
 .wp-core-ui .wp-ui-highlight {
-  color: white;
+  color: #fff;
   background-color: #096484; }
 .wp-core-ui .wp-ui-text-highlight {
   color: #096484; }
 .wp-core-ui .wp-ui-notification {
-  color: white;
+  color: #fff;
   background-color: #e1a948; }
 .wp-core-ui .wp-ui-text-notification {
   color: #e1a948; }
@@ -69,7 +68,7 @@ input[type=radio]:checked:before {
 
 /* List tables */
 .wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
-  color: white;
+  color: #fff;
   background-color: #52accc; }
 
 .view-switch a.current:before {
@@ -82,7 +81,7 @@ input[type=radio]:checked:before {
   border-top-color: #52accc; }
 
 .post-com-count:hover span {
-  color: white;
+  color: #fff;
   background-color: #52accc; }
 
 strong .post-com-count:after {
@@ -96,20 +95,21 @@ strong .post-com-count span {
   background: #52accc; }
 
 #adminmenu a {
-  color: white; }
+  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: white;
+  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: white; }
+  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 {
+  background-color: #f1f1f1;
   border-bottom-color: #f1f1f1; }
 
 /* Admin Menu: submenu */
@@ -125,31 +125,31 @@ strong .post-com-count span {
 #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: white; }
+    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: white; }
+  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: white; }
+    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: white;
+  color: #fff;
   background: #096484; }
 
 #adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
-  color: white; }
+  color: #fff; }
 
 /* Admin Menu: bubble */
 #adminmenu .awaiting-mod, #adminmenu .update-plugins {
-  color: white;
+  color: #fff;
   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 {
-  color: white;
+  color: #fff;
   background: #4796b3; }
 
 /* Admin Menu: collapse button */
@@ -157,41 +157,41 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #e5f8ff; }
 
 #collapse-menu:hover {
-  color: white; }
+  color: #fff; }
 
 #collapse-button div:after {
   color: #e5f8ff; }
 
 #collapse-menu:hover #collapse-button div:after {
-  color: white; }
+  color: #fff; }
 
 /* Admin Bar */
 #wpadminbar {
-  color: white;
+  color: #fff;
   background: #52accc; }
 
 #wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: white; }
+  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 {
-  color: white;
+  color: #fff;
   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: white; }
+  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: white; }
+  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: #75b7cd; }
+  background: #74b7ce; }
 
 #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; }
@@ -200,33 +200,33 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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 .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: white; }
+  color: #fff; }
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
   color: #e5f8ff; }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-  color: white;
+  color: #fff;
   background: #6ebad4; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 /* Admin Bar: my account */
@@ -235,17 +235,18 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #6ebad4; }
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar #wp-admin-bar-user-info .username {
   color: #e2ecf1; }
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
-  background-color: #096484; }
+  background-color: #096484;
+  border-color: #07536c; }
 
 .wp-pointer .wp-pointer-content h3:before {
   color: #096484; }
@@ -258,11 +259,13 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #096484; }
 
 .details.attachment {
-  box-shadow: 0 0 0 1px white, 0 0 0 5px #096484; }
+  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #096484;
+  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #096484; }
 
 .attachment.details .check {
   background-color: #096484;
-  box-shadow: 0 0 0 1px white, 0 0 0 2px #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; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,6 +277,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
   background: #096484; }
 
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #52accc; }
+
+body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+  color: #fff;
+  background-color: #52accc; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  background-color: #096484;
+  color: #fff; }
+
+/* Widgets */
+.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 */
+#customize-theme-controls .widget-area-select .selected {
+  background-color: #096484;
+  color: #fff; }
+
 /* jQuery UI Slider */
 .wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
   background: #e1a948;
index 720ee6b6d38d705a4319fc3d5a3772a861484bc5..ca69e7125c37d46d0c209a099eaf65268fcfe7b4 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-right:0;border-left:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-left:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-left-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-right:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-right:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-right:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-right:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-left-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}html{background:#f1f1f1}a{color:#0074a2}a:hover,a:active,a:focus{color:#0099d5}#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#096484}input[type=radio]:checked:before{background:#096484}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#0099d5}.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:hover,.wp-core-ui .button-primary:focus{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#db9825;border-color:#bd831f;color:#fff;-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-primary[disabled],.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary.button-primary-disabled{color:#d1cdc7!important;background:#db9825!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}.wrap .add-new-h2:hover,#add-new-comment a:hover,.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{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}#adminmenuback,#adminmenuwrap,#adminmenu{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{border-bottom-color:#f1f1f1}#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}#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}#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 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{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;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{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: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{color:#fff;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 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 .menupop .ab-sub-wrapper{background:#4796b3}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#75b7cd}#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 .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{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:#6ebad4}#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:#6ebad4;background-color:#6ebad4}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#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}.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{box-shadow:0 0 0 1px white,0 0 0 5px #096484}.attachment.details .check{background-color:#096484;box-shadow:0 0 0 1px white,0 0 0 2px #096484}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#096484}.theme-browser .theme.add-new-theme:hover span:after{color:#096484}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover{background:#096484}.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,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e1a948}div#wp-responsive-toggle a:before{color:#e5f8ff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#096484}.star-rating .star{color:#096484}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#4796b3}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#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:#0099d5}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:#0099d5}.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,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.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);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.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:#db9825!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 li.wp-has-current-submenu 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:#74b7ce}#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:#6ebad4}#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:#6ebad4;background-color:#6ebad4}#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:#07536c}.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #096484;box-shadow:0 0 0 1px #fff,0 0 0 5px #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}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#096484}.theme-browser .theme.add-new-theme:hover span:after{color:#096484}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#096484}.theme-filter.current,.theme-section.current{border-bottom-color:#52accc}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#52accc}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{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)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e1a948}div#wp-responsive-toggle a:before{color:#e5f8ff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#096484}.star-rating .star{color:#096484}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#4796b3}
\ No newline at end of file
index 3c8ded9fb1c4097b53b82d4de6e1d6b93a2ae448..df2877c08d6a02e778b742f892fd6db021f8414a 100644 (file)
@@ -1,6 +1,5 @@
-@import url("../../colors.css");
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 html {
@@ -12,7 +11,7 @@ a {
   a:hover, a:active, a:focus {
     color: #0099d5; }
 
-#rightnow a:hover, #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover, .ui-tabs-nav a:hover {
+#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
   color: #0099d5; }
 
 /* Forms */
@@ -33,34 +32,34 @@ input[type=radio]:checked:before {
   -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: #db9825;
+    background: #dd9f32;
     border-color: #bd831f;
     color: white;
     -webkit-box-shadow: inset 0 1px 0 #e8be74, 0 1px 0 rgba(0, 0, 0, 0.15);
     box-shadow: inset 0 1px 0 #e8be74, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:active {
-    background: #db9825;
+    background: #d39323;
     border-color: #bd831f;
     color: white;
     -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); }
-  .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], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1cdc7 !important;
     background: #db9825 !important;
     border-color: #bd831f !important;
     text-shadow: none !important; }
 .wp-core-ui .wp-ui-primary {
-  color: white;
+  color: #fff;
   background-color: #52accc; }
 .wp-core-ui .wp-ui-text-primary {
   color: #52accc; }
 .wp-core-ui .wp-ui-highlight {
-  color: white;
+  color: #fff;
   background-color: #096484; }
 .wp-core-ui .wp-ui-text-highlight {
   color: #096484; }
 .wp-core-ui .wp-ui-notification {
-  color: white;
+  color: #fff;
   background-color: #e1a948; }
 .wp-core-ui .wp-ui-text-notification {
   color: #e1a948; }
@@ -69,7 +68,7 @@ input[type=radio]:checked:before {
 
 /* List tables */
 .wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
-  color: white;
+  color: #fff;
   background-color: #52accc; }
 
 .view-switch a.current:before {
@@ -82,7 +81,7 @@ input[type=radio]:checked:before {
   border-top-color: #52accc; }
 
 .post-com-count:hover span {
-  color: white;
+  color: #fff;
   background-color: #52accc; }
 
 strong .post-com-count:after {
@@ -96,20 +95,21 @@ strong .post-com-count span {
   background: #52accc; }
 
 #adminmenu a {
-  color: white; }
+  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: white;
+  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: white; }
+  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 {
+  background-color: #f1f1f1;
   border-bottom-color: #f1f1f1; }
 
 /* Admin Menu: submenu */
@@ -125,31 +125,31 @@ strong .post-com-count span {
 #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: white; }
+    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: white; }
+  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: white; }
+    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: white;
+  color: #fff;
   background: #096484; }
 
 #adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
-  color: white; }
+  color: #fff; }
 
 /* Admin Menu: bubble */
 #adminmenu .awaiting-mod, #adminmenu .update-plugins {
-  color: white;
+  color: #fff;
   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 {
-  color: white;
+  color: #fff;
   background: #4796b3; }
 
 /* Admin Menu: collapse button */
@@ -157,41 +157,41 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #e5f8ff; }
 
 #collapse-menu:hover {
-  color: white; }
+  color: #fff; }
 
 #collapse-button div:after {
   color: #e5f8ff; }
 
 #collapse-menu:hover #collapse-button div:after {
-  color: white; }
+  color: #fff; }
 
 /* Admin Bar */
 #wpadminbar {
-  color: white;
+  color: #fff;
   background: #52accc; }
 
 #wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: white; }
+  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 {
-  color: white;
+  color: #fff;
   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: white; }
+  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: white; }
+  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: #75b7cd; }
+  background: #74b7ce; }
 
 #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; }
@@ -200,33 +200,33 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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 .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar .quicklinks li a:hover .blavatar, #wpadminbar .menupop .menupop > .ab-item:hover:before {
-  color: white; }
+  color: #fff; }
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
   color: #e5f8ff; }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-  color: white;
+  color: #fff;
   background: #6ebad4; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 /* Admin Bar: my account */
@@ -235,17 +235,18 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #6ebad4; }
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar #wp-admin-bar-user-info .username {
   color: #e2ecf1; }
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
-  background-color: #096484; }
+  background-color: #096484;
+  border-color: #07536c; }
 
 .wp-pointer .wp-pointer-content h3:before {
   color: #096484; }
@@ -258,11 +259,13 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #096484; }
 
 .details.attachment {
-  box-shadow: 0 0 0 1px white, 0 0 0 5px #096484; }
+  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #096484;
+  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #096484; }
 
 .attachment.details .check {
   background-color: #096484;
-  box-shadow: 0 0 0 1px white, 0 0 0 2px #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; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,6 +277,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
   background: #096484; }
 
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #52accc; }
+
+body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+  color: #fff;
+  background-color: #52accc; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  background-color: #096484;
+  color: #fff; }
+
+/* Widgets */
+.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 */
+#customize-theme-controls .widget-area-select .selected {
+  background-color: #096484;
+  color: #fff; }
+
 /* jQuery UI Slider */
 .wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
   background: #e1a948;
index 4f2bffed09a31b6221dbc222a8eb33b13b4b5c31..6907e37307b948b4994bae5fbf980864401b30cd 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-left:0;border-right:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-right:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-right-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-left:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-left:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-left:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-left:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-right-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}html{background:#f1f1f1}a{color:#0074a2}a:hover,a:active,a:focus{color:#0099d5}#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#096484}input[type=radio]:checked:before{background:#096484}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#0099d5}.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:hover,.wp-core-ui .button-primary:focus{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#db9825;border-color:#bd831f;color:#fff;-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-primary[disabled],.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary.button-primary-disabled{color:#d1cdc7!important;background:#db9825!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}.wrap .add-new-h2:hover,#add-new-comment a:hover,.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{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}#adminmenuback,#adminmenuwrap,#adminmenu{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{border-bottom-color:#f1f1f1}#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}#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}#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 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{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;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{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: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{color:#fff;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 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 .menupop .ab-sub-wrapper{background:#4796b3}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#75b7cd}#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 .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{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:#6ebad4}#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:#6ebad4;background-color:#6ebad4}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#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}.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{box-shadow:0 0 0 1px white,0 0 0 5px #096484}.attachment.details .check{background-color:#096484;box-shadow:0 0 0 1px white,0 0 0 2px #096484}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#096484}.theme-browser .theme.add-new-theme:hover span:after{color:#096484}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover{background:#096484}.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,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e1a948}div#wp-responsive-toggle a:before{color:#e5f8ff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#096484}.star-rating .star{color:#096484}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#4796b3}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#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:#0099d5}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:#0099d5}.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,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.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);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.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:#db9825!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 li.wp-has-current-submenu 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:#74b7ce}#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:#6ebad4}#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:#6ebad4;background-color:#6ebad4}#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:#07536c}.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #096484;box-shadow:0 0 0 1px #fff,0 0 0 5px #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}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#096484}.theme-browser .theme.add-new-theme:hover span:after{color:#096484}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#096484}.theme-filter.current,.theme-section.current{border-bottom-color:#52accc}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#52accc}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{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)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e1a948}div#wp-responsive-toggle a:before{color:#e5f8ff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#096484}.star-rating .star{color:#096484}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#4796b3}
\ No newline at end of file
index aefb7b9becdf7810ced4f4606f5fb1bb01c3fd1b..b254d73a8fa51cd18f481144430b4a712f270b71 100644 (file)
@@ -8,5 +8,4 @@ $menu-submenu-text: #e2ecf1;
 $menu-submenu-focus-text: #fff;
 $menu-submenu-background: #4796b3;
 
-@import "../../colors.css";
 @import "../_admin.scss";
index 7b9d1e0f82c26917244dcb34d52d218ebc1a223b..a54579d1429aab196dbbabc9165f3794a41157ef 100644 (file)
@@ -1,6 +1,5 @@
-@import url("../../colors-rtl.css");
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 html {
@@ -12,7 +11,7 @@ a {
   a:hover, a:active, a:focus {
     color: #0099d5; }
 
-#rightnow a:hover, #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover, .ui-tabs-nav a:hover {
+#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
   color: #0099d5; }
 
 /* Forms */
@@ -33,34 +32,34 @@ input[type=radio]:checked:before {
   -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: #ba906d;
+    background: #bf9878;
     border-color: #ae7d55;
     color: white;
     -webkit-box-shadow: inset 0 1px 0 #d7bfac, 0 1px 0 rgba(0, 0, 0, 0.15);
     box-shadow: inset 0 1px 0 #d7bfac, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:active {
-    background: #ba906d;
+    background: #b78a66;
     border-color: #ae7d55;
     color: white;
     -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); }
-  .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], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1cbc7 !important;
     background: #ba906d !important;
     border-color: #ae7d55 !important;
     text-shadow: none !important; }
 .wp-core-ui .wp-ui-primary {
-  color: white;
+  color: #fff;
   background-color: #59524c; }
 .wp-core-ui .wp-ui-text-primary {
   color: #59524c; }
 .wp-core-ui .wp-ui-highlight {
-  color: white;
+  color: #fff;
   background-color: #c7a589; }
 .wp-core-ui .wp-ui-text-highlight {
   color: #c7a589; }
 .wp-core-ui .wp-ui-notification {
-  color: white;
+  color: #fff;
   background-color: #9ea476; }
 .wp-core-ui .wp-ui-text-notification {
   color: #9ea476; }
@@ -69,7 +68,7 @@ input[type=radio]:checked:before {
 
 /* List tables */
 .wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
-  color: white;
+  color: #fff;
   background-color: #59524c; }
 
 .view-switch a.current:before {
@@ -82,7 +81,7 @@ input[type=radio]:checked:before {
   border-top-color: #59524c; }
 
 .post-com-count:hover span {
-  color: white;
+  color: #fff;
   background-color: #59524c; }
 
 strong .post-com-count:after {
@@ -96,20 +95,21 @@ strong .post-com-count span {
   background: #59524c; }
 
 #adminmenu a {
-  color: white; }
+  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: white;
+  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: white; }
+  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 {
+  background-color: #f1f1f1;
   border-bottom-color: #f1f1f1; }
 
 /* Admin Menu: submenu */
@@ -129,7 +129,7 @@ strong .post-com-count span {
 
 /* 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: white; }
+  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; }
 
@@ -137,19 +137,19 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white;
+  color: #fff;
   background: #c7a589; }
 
 #adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
-  color: white; }
+  color: #fff; }
 
 /* Admin Menu: bubble */
 #adminmenu .awaiting-mod, #adminmenu .update-plugins {
-  color: white;
+  color: #fff;
   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 {
-  color: white;
+  color: #fff;
   background: #46403c; }
 
 /* Admin Menu: collapse button */
@@ -157,21 +157,21 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f3f2f1; }
 
 #collapse-menu:hover {
-  color: white; }
+  color: #fff; }
 
 #collapse-button div:after {
   color: #f3f2f1; }
 
 #collapse-menu:hover #collapse-button div:after {
-  color: white; }
+  color: #fff; }
 
 /* Admin Bar */
 #wpadminbar {
-  color: white;
+  color: #fff;
   background: #59524c; }
 
 #wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
   color: #f3f2f1; }
@@ -184,7 +184,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white; }
+  color: #fff; }
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
@@ -210,23 +210,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f3f2f1; }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-  color: white;
+  color: #fff;
   background: #6c645c; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 /* Admin Bar: my account */
@@ -235,7 +235,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #6c645c; }
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
   color: #c7a589; }
@@ -245,7 +245,8 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
-  background-color: #c7a589; }
+  background-color: #c7a589;
+  border-color: #bf9878; }
 
 .wp-pointer .wp-pointer-content h3:before {
   color: #c7a589; }
@@ -258,11 +259,13 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #c7a589; }
 
 .details.attachment {
-  box-shadow: 0 0 0 1px white, 0 0 0 5px #c7a589; }
+  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #c7a589;
+  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #c7a589; }
 
 .attachment.details .check {
   background-color: #c7a589;
-  box-shadow: 0 0 0 1px white, 0 0 0 2px #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; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,6 +277,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
   background: #c7a589; }
 
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #59524c; }
+
+body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+  color: #fff;
+  background-color: #59524c; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  background-color: #c7a589;
+  color: #fff; }
+
+/* Widgets */
+.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 */
+#customize-theme-controls .widget-area-select .selected {
+  background-color: #c7a589;
+  color: #fff; }
+
 /* jQuery UI Slider */
 .wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
   background: #c7a589;
index 6ff6e78e1bff958eb5e550f80e21ba239dd7abc2..ed81cb7be049707ccc75ad45a1b2162076da2893 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-right:0;border-left:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-left:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-left-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-right:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-right:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-right:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-right:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-left-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}html{background:#f1f1f1}a{color:#0074a2}a:hover,a:active,a:focus{color:#0099d5}#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#59524c}input[type=radio]:checked:before{background:#59524c}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#0099d5}.wp-core-ui .button-primary{background:#c7a589;border-color:#b78a66;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:hover,.wp-core-ui .button-primary:focus{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#ba906d;border-color:#ae7d55;color:#fff;-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-primary[disabled],.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary.button-primary-disabled{color:#d1cbc7!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}.wrap .add-new-h2:hover,#add-new-comment a:hover,.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{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}#adminmenuback,#adminmenuwrap,#adminmenu{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{border-bottom-color:#f1f1f1}#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}#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}#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}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:#c7a589}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;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{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: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{color:#c7a589;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 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 .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}#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{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}.wp-pointer .wp-pointer-content h3:before{color:#c7a589}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{box-shadow:0 0 0 1px white,0 0 0 5px #c7a589}.attachment.details .check{background-color:#c7a589;box-shadow:0 0 0 1px white,0 0 0 2px #c7a589}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#c7a589}.theme-browser .theme.add-new-theme:hover span:after{color:#c7a589}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover{background:#c7a589}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#c7a589;border-color:#b78a66;-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)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#c7a589}div#wp-responsive-toggle a:before{color:#f3f2f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#c7a589}.star-rating .star{color:#c7a589}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#46403c}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#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:#0099d5}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:#0099d5}.wp-core-ui .button-primary{background:#c7a589;border-color:#b78a66;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,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#b78a66;border-color:#ae7d55;color:#fff;-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-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:#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 li.wp-has-current-submenu 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-undefined .wp-pointer-arrow{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 5px #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}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#c7a589}.theme-browser .theme.add-new-theme:hover span:after{color:#c7a589}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#c7a589}.theme-filter.current,.theme-section.current{border-bottom-color:#59524c}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#59524c}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{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:#b78a66;-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)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#c7a589}div#wp-responsive-toggle a:before{color:#f3f2f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#c7a589}.star-rating .star{color:#c7a589}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#46403c}
\ No newline at end of file
index 0fe349107eaf7354a1bad46cf21592fe9a69ba9a..281a17ea21d71e35ca9a97f6968e9e6073220596 100644 (file)
@@ -1,6 +1,5 @@
-@import url("../../colors.css");
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 html {
@@ -12,7 +11,7 @@ a {
   a:hover, a:active, a:focus {
     color: #0099d5; }
 
-#rightnow a:hover, #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover, .ui-tabs-nav a:hover {
+#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
   color: #0099d5; }
 
 /* Forms */
@@ -33,34 +32,34 @@ input[type=radio]:checked:before {
   -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: #ba906d;
+    background: #bf9878;
     border-color: #ae7d55;
     color: white;
     -webkit-box-shadow: inset 0 1px 0 #d7bfac, 0 1px 0 rgba(0, 0, 0, 0.15);
     box-shadow: inset 0 1px 0 #d7bfac, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:active {
-    background: #ba906d;
+    background: #b78a66;
     border-color: #ae7d55;
     color: white;
     -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); }
-  .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], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1cbc7 !important;
     background: #ba906d !important;
     border-color: #ae7d55 !important;
     text-shadow: none !important; }
 .wp-core-ui .wp-ui-primary {
-  color: white;
+  color: #fff;
   background-color: #59524c; }
 .wp-core-ui .wp-ui-text-primary {
   color: #59524c; }
 .wp-core-ui .wp-ui-highlight {
-  color: white;
+  color: #fff;
   background-color: #c7a589; }
 .wp-core-ui .wp-ui-text-highlight {
   color: #c7a589; }
 .wp-core-ui .wp-ui-notification {
-  color: white;
+  color: #fff;
   background-color: #9ea476; }
 .wp-core-ui .wp-ui-text-notification {
   color: #9ea476; }
@@ -69,7 +68,7 @@ input[type=radio]:checked:before {
 
 /* List tables */
 .wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
-  color: white;
+  color: #fff;
   background-color: #59524c; }
 
 .view-switch a.current:before {
@@ -82,7 +81,7 @@ input[type=radio]:checked:before {
   border-top-color: #59524c; }
 
 .post-com-count:hover span {
-  color: white;
+  color: #fff;
   background-color: #59524c; }
 
 strong .post-com-count:after {
@@ -96,20 +95,21 @@ strong .post-com-count span {
   background: #59524c; }
 
 #adminmenu a {
-  color: white; }
+  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: white;
+  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: white; }
+  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 {
+  background-color: #f1f1f1;
   border-bottom-color: #f1f1f1; }
 
 /* Admin Menu: submenu */
@@ -129,7 +129,7 @@ strong .post-com-count span {
 
 /* 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: white; }
+  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; }
 
@@ -137,19 +137,19 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white;
+  color: #fff;
   background: #c7a589; }
 
 #adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
-  color: white; }
+  color: #fff; }
 
 /* Admin Menu: bubble */
 #adminmenu .awaiting-mod, #adminmenu .update-plugins {
-  color: white;
+  color: #fff;
   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 {
-  color: white;
+  color: #fff;
   background: #46403c; }
 
 /* Admin Menu: collapse button */
@@ -157,21 +157,21 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f3f2f1; }
 
 #collapse-menu:hover {
-  color: white; }
+  color: #fff; }
 
 #collapse-button div:after {
   color: #f3f2f1; }
 
 #collapse-menu:hover #collapse-button div:after {
-  color: white; }
+  color: #fff; }
 
 /* Admin Bar */
 #wpadminbar {
-  color: white;
+  color: #fff;
   background: #59524c; }
 
 #wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
   color: #f3f2f1; }
@@ -184,7 +184,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white; }
+  color: #fff; }
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
@@ -210,23 +210,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f3f2f1; }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-  color: white;
+  color: #fff;
   background: #6c645c; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 /* Admin Bar: my account */
@@ -235,7 +235,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #6c645c; }
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
   color: #c7a589; }
@@ -245,7 +245,8 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
-  background-color: #c7a589; }
+  background-color: #c7a589;
+  border-color: #bf9878; }
 
 .wp-pointer .wp-pointer-content h3:before {
   color: #c7a589; }
@@ -258,11 +259,13 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #c7a589; }
 
 .details.attachment {
-  box-shadow: 0 0 0 1px white, 0 0 0 5px #c7a589; }
+  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #c7a589;
+  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #c7a589; }
 
 .attachment.details .check {
   background-color: #c7a589;
-  box-shadow: 0 0 0 1px white, 0 0 0 2px #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; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,6 +277,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
   background: #c7a589; }
 
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #59524c; }
+
+body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+  color: #fff;
+  background-color: #59524c; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  background-color: #c7a589;
+  color: #fff; }
+
+/* Widgets */
+.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 */
+#customize-theme-controls .widget-area-select .selected {
+  background-color: #c7a589;
+  color: #fff; }
+
 /* jQuery UI Slider */
 .wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
   background: #c7a589;
index 0a60ed60bad4fc08d247fe2eb30c97ccb84f10e6..bd3ef54b2519c82f1739f73383d64eaabd6599ce 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-left:0;border-right:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-right:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-right-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-left:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-left:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-left:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-left:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-right-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}html{background:#f1f1f1}a{color:#0074a2}a:hover,a:active,a:focus{color:#0099d5}#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#59524c}input[type=radio]:checked:before{background:#59524c}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#0099d5}.wp-core-ui .button-primary{background:#c7a589;border-color:#b78a66;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:hover,.wp-core-ui .button-primary:focus{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#ba906d;border-color:#ae7d55;color:#fff;-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-primary[disabled],.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary.button-primary-disabled{color:#d1cbc7!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}.wrap .add-new-h2:hover,#add-new-comment a:hover,.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{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}#adminmenuback,#adminmenuwrap,#adminmenu{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{border-bottom-color:#f1f1f1}#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}#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}#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}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:#c7a589}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;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{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: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{color:#c7a589;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 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 .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}#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{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}.wp-pointer .wp-pointer-content h3:before{color:#c7a589}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{box-shadow:0 0 0 1px white,0 0 0 5px #c7a589}.attachment.details .check{background-color:#c7a589;box-shadow:0 0 0 1px white,0 0 0 2px #c7a589}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#c7a589}.theme-browser .theme.add-new-theme:hover span:after{color:#c7a589}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover{background:#c7a589}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#c7a589;border-color:#b78a66;-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)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#c7a589}div#wp-responsive-toggle a:before{color:#f3f2f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#c7a589}.star-rating .star{color:#c7a589}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#46403c}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#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:#0099d5}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:#0099d5}.wp-core-ui .button-primary{background:#c7a589;border-color:#b78a66;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,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#b78a66;border-color:#ae7d55;color:#fff;-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-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:#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 li.wp-has-current-submenu 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-undefined .wp-pointer-arrow{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 5px #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}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#c7a589}.theme-browser .theme.add-new-theme:hover span:after{color:#c7a589}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#c7a589}.theme-filter.current,.theme-section.current{border-bottom-color:#59524c}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#59524c}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{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:#b78a66;-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)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#c7a589}div#wp-responsive-toggle a:before{color:#f3f2f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#c7a589}.star-rating .star{color:#c7a589}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#46403c}
\ No newline at end of file
index 3cd5013e8d5b28b317aae2157d68b5c584f5e8bf..49bee9be947ae300344b94678282c392d298269f 100644 (file)
@@ -4,5 +4,4 @@ $notification-color: #9ea476;
 
 $form-checked: $base-color;
 
-@import "../../colors.css";
 @import "../_admin.scss";
index 99d55797c24c833ed9b0c82eb39b98fbafb0c7e6..73eb510d2ce7f3071191c884a2690dd7867b143f 100644 (file)
@@ -1,6 +1,5 @@
-@import url("../../colors-rtl.css");
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 html {
@@ -12,7 +11,7 @@ a {
   a:hover, a:active, a:focus {
     color: #0099d5; }
 
-#rightnow a:hover, #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover, .ui-tabs-nav a:hover {
+#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
   color: #0099d5; }
 
 /* Forms */
@@ -33,34 +32,34 @@ input[type=radio]:checked:before {
   -webkit-box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
   box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #89993a;
+    background: #93a43e;
     border-color: #727f30;
     color: white;
     -webkit-box-shadow: inset 0 1px 0 #b7c669, 0 1px 0 rgba(0, 0, 0, 0.15);
     box-shadow: inset 0 1px 0 #b7c669, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:active {
-    background: #89993a;
+    background: #839237;
     border-color: #727f30;
     color: white;
     -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); }
-  .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], .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: white;
+  color: #fff;
   background-color: #523f6d; }
 .wp-core-ui .wp-ui-text-primary {
   color: #523f6d; }
 .wp-core-ui .wp-ui-highlight {
-  color: white;
+  color: #fff;
   background-color: #a3b745; }
 .wp-core-ui .wp-ui-text-highlight {
   color: #a3b745; }
 .wp-core-ui .wp-ui-notification {
-  color: white;
+  color: #fff;
   background-color: #d46f15; }
 .wp-core-ui .wp-ui-text-notification {
   color: #d46f15; }
@@ -69,7 +68,7 @@ input[type=radio]:checked:before {
 
 /* List tables */
 .wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
-  color: white;
+  color: #fff;
   background-color: #523f6d; }
 
 .view-switch a.current:before {
@@ -82,7 +81,7 @@ input[type=radio]:checked:before {
   border-top-color: #523f6d; }
 
 .post-com-count:hover span {
-  color: white;
+  color: #fff;
   background-color: #523f6d; }
 
 strong .post-com-count:after {
@@ -96,20 +95,21 @@ strong .post-com-count span {
   background: #523f6d; }
 
 #adminmenu a {
-  color: white; }
+  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: white;
+  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: white; }
+  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 {
+  background-color: #f1f1f1;
   border-bottom-color: #f1f1f1; }
 
 /* Admin Menu: submenu */
@@ -129,7 +129,7 @@ strong .post-com-count span {
 
 /* 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: white; }
+  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; }
 
@@ -137,19 +137,19 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white;
+  color: #fff;
   background: #a3b745; }
 
 #adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
-  color: white; }
+  color: #fff; }
 
 /* Admin Menu: bubble */
 #adminmenu .awaiting-mod, #adminmenu .update-plugins {
-  color: white;
+  color: #fff;
   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 {
-  color: white;
+  color: #fff;
   background: #413256; }
 
 /* Admin Menu: collapse button */
@@ -157,21 +157,21 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #ece6f6; }
 
 #collapse-menu:hover {
-  color: white; }
+  color: #fff; }
 
 #collapse-button div:after {
   color: #ece6f6; }
 
 #collapse-menu:hover #collapse-button div:after {
-  color: white; }
+  color: #fff; }
 
 /* Admin Bar */
 #wpadminbar {
-  color: white;
+  color: #fff;
   background: #523f6d; }
 
 #wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
   color: #ece6f6; }
@@ -184,14 +184,14 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white; }
+  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: #63537d; }
+  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; }
@@ -210,23 +210,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #ece6f6; }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-  color: white;
+  color: #fff;
   background: #624c84; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 /* Admin Bar: my account */
@@ -235,7 +235,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #624c84; }
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
   color: #a3b745; }
@@ -245,7 +245,8 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
-  background-color: #a3b745; }
+  background-color: #a3b745;
+  border-color: #93a43e; }
 
 .wp-pointer .wp-pointer-content h3:before {
   color: #a3b745; }
@@ -258,11 +259,13 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #a3b745; }
 
 .details.attachment {
-  box-shadow: 0 0 0 1px white, 0 0 0 5px #a3b745; }
+  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #a3b745;
+  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #a3b745; }
 
 .attachment.details .check {
   background-color: #a3b745;
-  box-shadow: 0 0 0 1px white, 0 0 0 2px #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; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,6 +277,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
   background: #a3b745; }
 
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #523f6d; }
+
+body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+  color: #fff;
+  background-color: #523f6d; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  background-color: #a3b745;
+  color: #fff; }
+
+/* Widgets */
+.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 */
+#customize-theme-controls .widget-area-select .selected {
+  background-color: #a3b745;
+  color: #fff; }
+
 /* jQuery UI Slider */
 .wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
   background: #a3b745;
index 55a47f3902b99263d427799c3bfcb8ec1df12911..2f6433e7f56480479c66faa733488e8782d492d8 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-right:0;border-left:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-left:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-left-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-right:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-right:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-right:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-right:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-left-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}html{background:#f1f1f1}a{color:#0074a2}a:hover,a:active,a:focus{color:#0099d5}#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#523f6d}input[type=radio]:checked:before{background:#523f6d}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#0099d5}.wp-core-ui .button-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:hover,.wp-core-ui .button-primary:focus{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#89993a;border-color:#727f30;color:#fff;-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-primary[disabled],.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary.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}.wrap .add-new-h2:hover,#add-new-comment a:hover,.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{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}#adminmenuback,#adminmenuwrap,#adminmenu{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{border-bottom-color:#f1f1f1}#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}#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}#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}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:#a3b745}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;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{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: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{color:#a3b745;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 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 .menupop .ab-sub-wrapper{background:#413256}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#63537d}#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 .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{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:#624c84}#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:#624c84;background-color:#624c84}#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}.wp-pointer .wp-pointer-content h3:before{color:#a3b745}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{box-shadow:0 0 0 1px white,0 0 0 5px #a3b745}.attachment.details .check{background-color:#a3b745;box-shadow:0 0 0 1px white,0 0 0 2px #a3b745}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#a3b745}.theme-browser .theme.add-new-theme:hover span:after{color:#a3b745}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover{background:#a3b745}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#a3b745;border-color:#839237;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#a3b745}div#wp-responsive-toggle a:before{color:#ece6f6}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#a3b745}.star-rating .star{color:#a3b745}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#413256}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#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:#0099d5}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:#0099d5}.wp-core-ui .button-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,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 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#839237;border-color:#727f30;color:#fff;-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-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 li.wp-has-current-submenu 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:#624c84}#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:#624c84;background-color:#624c84}#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-undefined .wp-pointer-arrow{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 5px #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}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#a3b745}.theme-browser .theme.add-new-theme:hover span:after{color:#a3b745}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#a3b745}.theme-filter.current,.theme-section.current{border-bottom-color:#523f6d}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#523f6d}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{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:#839237;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#a3b745}div#wp-responsive-toggle a:before{color:#ece6f6}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#a3b745}.star-rating .star{color:#a3b745}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#413256}
\ No newline at end of file
index 6081faaf839ee474abffbb364f3351bfd1693236..cc319a8909631c4be236995ae590b97a3e230d1f 100644 (file)
@@ -1,6 +1,5 @@
-@import url("../../colors.css");
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 html {
@@ -12,7 +11,7 @@ a {
   a:hover, a:active, a:focus {
     color: #0099d5; }
 
-#rightnow a:hover, #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover, .ui-tabs-nav a:hover {
+#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
   color: #0099d5; }
 
 /* Forms */
@@ -33,34 +32,34 @@ input[type=radio]:checked:before {
   -webkit-box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
   box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #89993a;
+    background: #93a43e;
     border-color: #727f30;
     color: white;
     -webkit-box-shadow: inset 0 1px 0 #b7c669, 0 1px 0 rgba(0, 0, 0, 0.15);
     box-shadow: inset 0 1px 0 #b7c669, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:active {
-    background: #89993a;
+    background: #839237;
     border-color: #727f30;
     color: white;
     -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); }
-  .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], .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: white;
+  color: #fff;
   background-color: #523f6d; }
 .wp-core-ui .wp-ui-text-primary {
   color: #523f6d; }
 .wp-core-ui .wp-ui-highlight {
-  color: white;
+  color: #fff;
   background-color: #a3b745; }
 .wp-core-ui .wp-ui-text-highlight {
   color: #a3b745; }
 .wp-core-ui .wp-ui-notification {
-  color: white;
+  color: #fff;
   background-color: #d46f15; }
 .wp-core-ui .wp-ui-text-notification {
   color: #d46f15; }
@@ -69,7 +68,7 @@ input[type=radio]:checked:before {
 
 /* List tables */
 .wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
-  color: white;
+  color: #fff;
   background-color: #523f6d; }
 
 .view-switch a.current:before {
@@ -82,7 +81,7 @@ input[type=radio]:checked:before {
   border-top-color: #523f6d; }
 
 .post-com-count:hover span {
-  color: white;
+  color: #fff;
   background-color: #523f6d; }
 
 strong .post-com-count:after {
@@ -96,20 +95,21 @@ strong .post-com-count span {
   background: #523f6d; }
 
 #adminmenu a {
-  color: white; }
+  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: white;
+  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: white; }
+  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 {
+  background-color: #f1f1f1;
   border-bottom-color: #f1f1f1; }
 
 /* Admin Menu: submenu */
@@ -129,7 +129,7 @@ strong .post-com-count span {
 
 /* 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: white; }
+  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; }
 
@@ -137,19 +137,19 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white;
+  color: #fff;
   background: #a3b745; }
 
 #adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
-  color: white; }
+  color: #fff; }
 
 /* Admin Menu: bubble */
 #adminmenu .awaiting-mod, #adminmenu .update-plugins {
-  color: white;
+  color: #fff;
   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 {
-  color: white;
+  color: #fff;
   background: #413256; }
 
 /* Admin Menu: collapse button */
@@ -157,21 +157,21 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #ece6f6; }
 
 #collapse-menu:hover {
-  color: white; }
+  color: #fff; }
 
 #collapse-button div:after {
   color: #ece6f6; }
 
 #collapse-menu:hover #collapse-button div:after {
-  color: white; }
+  color: #fff; }
 
 /* Admin Bar */
 #wpadminbar {
-  color: white;
+  color: #fff;
   background: #523f6d; }
 
 #wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
   color: #ece6f6; }
@@ -184,14 +184,14 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white; }
+  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: #63537d; }
+  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; }
@@ -210,23 +210,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #ece6f6; }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-  color: white;
+  color: #fff;
   background: #624c84; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 /* Admin Bar: my account */
@@ -235,7 +235,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #624c84; }
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
   color: #a3b745; }
@@ -245,7 +245,8 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
-  background-color: #a3b745; }
+  background-color: #a3b745;
+  border-color: #93a43e; }
 
 .wp-pointer .wp-pointer-content h3:before {
   color: #a3b745; }
@@ -258,11 +259,13 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #a3b745; }
 
 .details.attachment {
-  box-shadow: 0 0 0 1px white, 0 0 0 5px #a3b745; }
+  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #a3b745;
+  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #a3b745; }
 
 .attachment.details .check {
   background-color: #a3b745;
-  box-shadow: 0 0 0 1px white, 0 0 0 2px #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; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,6 +277,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
   background: #a3b745; }
 
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #523f6d; }
+
+body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+  color: #fff;
+  background-color: #523f6d; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  background-color: #a3b745;
+  color: #fff; }
+
+/* Widgets */
+.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 */
+#customize-theme-controls .widget-area-select .selected {
+  background-color: #a3b745;
+  color: #fff; }
+
 /* jQuery UI Slider */
 .wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
   background: #a3b745;
index 09a1da0d957c93a4e63d92bbe62d123fc2a40f60..f99f8719d6aeacf3a894b62d0f4aba3a66fbdb85 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-left:0;border-right:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-right:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-right-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-left:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-left:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-left:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-left:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-right-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}html{background:#f1f1f1}a{color:#0074a2}a:hover,a:active,a:focus{color:#0099d5}#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#523f6d}input[type=radio]:checked:before{background:#523f6d}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#0099d5}.wp-core-ui .button-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:hover,.wp-core-ui .button-primary:focus{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#89993a;border-color:#727f30;color:#fff;-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-primary[disabled],.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary.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}.wrap .add-new-h2:hover,#add-new-comment a:hover,.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{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}#adminmenuback,#adminmenuwrap,#adminmenu{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{border-bottom-color:#f1f1f1}#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}#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}#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}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:#a3b745}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;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{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: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{color:#a3b745;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 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 .menupop .ab-sub-wrapper{background:#413256}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#63537d}#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 .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{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:#624c84}#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:#624c84;background-color:#624c84}#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}.wp-pointer .wp-pointer-content h3:before{color:#a3b745}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{box-shadow:0 0 0 1px white,0 0 0 5px #a3b745}.attachment.details .check{background-color:#a3b745;box-shadow:0 0 0 1px white,0 0 0 2px #a3b745}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#a3b745}.theme-browser .theme.add-new-theme:hover span:after{color:#a3b745}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover{background:#a3b745}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#a3b745;border-color:#839237;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#a3b745}div#wp-responsive-toggle a:before{color:#ece6f6}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#a3b745}.star-rating .star{color:#a3b745}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#413256}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#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:#0099d5}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:#0099d5}.wp-core-ui .button-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,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 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#839237;border-color:#727f30;color:#fff;-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-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 li.wp-has-current-submenu 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:#624c84}#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:#624c84;background-color:#624c84}#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-undefined .wp-pointer-arrow{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 5px #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}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#a3b745}.theme-browser .theme.add-new-theme:hover span:after{color:#a3b745}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#a3b745}.theme-filter.current,.theme-section.current{border-bottom-color:#523f6d}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#523f6d}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{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:#839237;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#a3b745}div#wp-responsive-toggle a:before{color:#ece6f6}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#a3b745}.star-rating .star{color:#a3b745}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#413256}
\ No newline at end of file
index b706d7ea91a7cf301408b271cee95ec08712a2c7..8d145707705f97d0ff3b9a97f8916ee2c885ef5a 100644 (file)
@@ -5,5 +5,4 @@ $notification-color: #d46f15;
 
 $form-checked: $base-color;
 
-@import "../../colors.css";
 @import "../_admin.scss";
index 9109eb04ff329512586bf6918c1b36d5fe059830..bdb778d032ab48a10eea559476d7a46fbb1df211 100644 (file)
@@ -1,10 +1,9 @@
-@import url("../../colors-rtl.css");
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 html {
-  background: whitesmoke; }
+  background: #f5f5f5; }
 
 /* Links */
 a {
@@ -12,7 +11,7 @@ a {
   a:hover, a:active, a:focus {
     color: #0099d5; }
 
-#rightnow a:hover, #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover, .ui-tabs-nav a:hover {
+#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
   color: #0099d5; }
 
 /* Forms */
@@ -33,43 +32,43 @@ input[type=radio]:checked:before {
   -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: #0384a4;
+    background: #0490b3;
     border-color: #036881;
     color: white;
     -webkit-box-shadow: inset 0 1px 0 #09cafa, 0 1px 0 rgba(0, 0, 0, 0.15);
     box-shadow: inset 0 1px 0 #09cafa, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:active {
-    background: #0384a4;
+    background: #037c9a;
     border-color: #036881;
     color: white;
     -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); }
-  .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], .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: #333333;
+  color: #333;
   background-color: #e5e5e5; }
 .wp-core-ui .wp-ui-text-primary {
   color: #e5e5e5; }
 .wp-core-ui .wp-ui-highlight {
-  color: white;
-  background-color: #888888; }
+  color: #fff;
+  background-color: #888; }
 .wp-core-ui .wp-ui-text-highlight {
-  color: #888888; }
+  color: #888; }
 .wp-core-ui .wp-ui-notification {
-  color: white;
+  color: #fff;
   background-color: #d64e07; }
 .wp-core-ui .wp-ui-text-notification {
   color: #d64e07; }
 .wp-core-ui .wp-ui-text-icon {
-  color: #999999; }
+  color: #999; }
 
 /* List tables */
 .wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
-  color: #333333;
+  color: #333;
   background-color: #e5e5e5; }
 
 .view-switch a.current:before {
@@ -82,7 +81,7 @@ input[type=radio]:checked:before {
   border-top-color: #e5e5e5; }
 
 .post-com-count:hover span {
-  color: #333333;
+  color: #333;
   background-color: #e5e5e5; }
 
 strong .post-com-count:after {
@@ -96,28 +95,29 @@ strong .post-com-count span {
   background: #e5e5e5; }
 
 #adminmenu a {
-  color: #333333; }
+  color: #333; }
 
 #adminmenu div.wp-menu-image:before {
-  color: #999999; }
+  color: #999; }
 
 #adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
-  color: white;
-  background-color: #888888; }
+  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: #cccccc; }
+  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 {
-  border-bottom-color: whitesmoke; }
+  background-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: white; }
+  background: #fff; }
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-left-color: white; }
+  border-left-color: #fff; }
 
 #adminmenu .wp-submenu .wp-submenu-head {
   color: #686868; }
@@ -129,75 +129,75 @@ strong .post-com-count span {
 
 /* 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: #333333; }
+  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; }
 
 ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-left-color: whitesmoke; }
+  border-left-color: #f5f5f5; }
 
 #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: white;
-  background: #888888; }
+  color: #fff;
+  background: #888; }
 
 #adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
-  color: #cccccc; }
+  color: #ccc; }
 
 /* Admin Menu: bubble */
 #adminmenu .awaiting-mod, #adminmenu .update-plugins {
-  color: white;
+  color: #fff;
   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 {
-  color: #333333;
-  background: white; }
+  color: #333;
+  background: #fff; }
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #777777; }
+  color: #777; }
 
 #collapse-menu:hover {
-  color: #333333; }
+  color: #333; }
 
 #collapse-button div:after {
-  color: #999999; }
+  color: #999; }
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #555555; }
+  color: #555; }
 
 /* Admin Bar */
 #wpadminbar {
-  color: #333333;
+  color: #333;
   background: #e5e5e5; }
 
 #wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #333333; }
+  color: #333; }
 
 #wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #999999; }
+  color: #999; }
 
 #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 {
   color: #04a4cc;
-  background: white; }
+  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 li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #cccccc; }
+  color: #ccc; }
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: white; }
+  background: #fff; }
 
 #wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #f7f7f7; }
+  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: #999999; }
+  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 .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
   color: #04a4cc; }
@@ -207,26 +207,26 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #999999; }
+  color: #999; }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-  color: #333333;
+  color: #333;
   background: #f7f7f7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
-  color: #333333;
+  color: #333;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
-  color: #333333;
+  color: #333;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
-  color: #333333;
+  color: #333;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
-  color: #333333;
+  color: #333;
   opacity: 0.7; }
 
 /* Admin Bar: my account */
@@ -235,7 +235,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #f7f7f7; }
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #333333; }
+  color: #333; }
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
   color: #04a4cc; }
@@ -245,7 +245,8 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
-  background-color: #04a4cc; }
+  background-color: #04a4cc;
+  border-color: #0490b3; }
 
 .wp-pointer .wp-pointer-content h3:before {
   color: #04a4cc; }
@@ -258,11 +259,13 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #04a4cc; }
 
 .details.attachment {
-  box-shadow: 0 0 0 1px white, 0 0 0 5px #04a4cc; }
+  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #04a4cc;
+  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #04a4cc; }
 
 .attachment.details .check {
   background-color: #04a4cc;
-  box-shadow: 0 0 0 1px white, 0 0 0 2px #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; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,6 +277,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
   background: #04a4cc; }
 
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #e5e5e5; }
+
+body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+  color: #333;
+  background-color: #e5e5e5; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  background-color: #888;
+  color: #fff; }
+
+/* Widgets */
+.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 */
+#customize-theme-controls .widget-area-select .selected {
+  background-color: #888;
+  color: #fff; }
+
 /* jQuery UI Slider */
 .wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
   background: #04a4cc;
@@ -283,26 +310,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
-  background: whitesmoke;
-  border-bottom-color: whitesmoke; }
+  background: #f5f5f5;
+  border-bottom-color: #f5f5f5; }
 
 #plugin-information .action-button {
   background: #04a4cc; }
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #999999; }
+  color: #999; }
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #888888; }
+  background: #888; }
 
 .star-rating .star {
   color: #04a4cc; }
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: white; }
+  background: #fff; }
 
 /* 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: #333333; }
+  color: #333; }
+
+/* Override the theme filter highlight color for this scheme */
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #04a4cc; }
index f86731cce6ceff2b8f7bd753fb17ea0c45475839..b0519d1cfe4a2438c039e52dbc324e62ad348284 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-right:0;border-left:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-left:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-left-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-right:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-right:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-right:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-right:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-left-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}html{background:#f5f5f5}a{color:#0074a2}a:hover,a:active,a:focus{color:#0099d5}#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#04a4cc}input[type=radio]:checked:before{background:#04a4cc}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#0099d5}.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:hover,.wp-core-ui .button-primary:focus{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#0384a4;border-color:#036881;color:#fff;-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-primary[disabled],.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary.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}.wrap .add-new-h2:hover,#add-new-comment a:hover,.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{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}#adminmenuback,#adminmenuwrap,#adminmenu{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{border-bottom-color:#f5f5f5}#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}#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}#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}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 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{color:#ccc}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;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{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:before,#wpadminbar .ab-item:after{color:#999}#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{color:#04a4cc;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 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 .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 .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 .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{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}.wp-pointer .wp-pointer-content h3:before{color:#04a4cc}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#04a4cc}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{box-shadow:0 0 0 1px white,0 0 0 5px #04a4cc}.attachment.details .check{background-color:#04a4cc;box-shadow:0 0 0 1px white,0 0 0 2px #04a4cc}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#04a4cc}.theme-browser .theme.add-new-theme:hover span:after{color:#04a4cc}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover{background:#04a4cc}.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,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f5f5f5;border-bottom-color:#f5f5f5}#plugin-information .action-button{background:#04a4cc}div#wp-responsive-toggle a:before{color:#999}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#888}.star-rating .star{color:#04a4cc}.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.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}
\ No newline at end of file
+html{background:#f5f5f5}a{color:#0074a2}#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:#0099d5}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:#0099d5}.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,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.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);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.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 li.wp-has-current-submenu 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-undefined .wp-pointer-arrow{border-bottom-color:#04a4cc}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 5px #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}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#04a4cc}.theme-browser .theme.add-new-theme:hover span:after{color:#04a4cc}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#04a4cc}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#333;background-color:#e5e5e5}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{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)}#sidemenu a.current{background:#f5f5f5;border-bottom-color:#f5f5f5}#plugin-information .action-button{background:#04a4cc}div#wp-responsive-toggle a:before{color:#999}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#888}.star-rating .star{color:#04a4cc}.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
index 3eea842e636370dccdd60b341b3b017b1589e314..ca83d94f93e10cfa55f05418a4ca878b362286ee 100644 (file)
@@ -1,10 +1,9 @@
-@import url("../../colors.css");
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 html {
-  background: whitesmoke; }
+  background: #f5f5f5; }
 
 /* Links */
 a {
@@ -12,7 +11,7 @@ a {
   a:hover, a:active, a:focus {
     color: #0099d5; }
 
-#rightnow a:hover, #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover, .ui-tabs-nav a:hover {
+#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
   color: #0099d5; }
 
 /* Forms */
@@ -33,43 +32,43 @@ input[type=radio]:checked:before {
   -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: #0384a4;
+    background: #0490b3;
     border-color: #036881;
     color: white;
     -webkit-box-shadow: inset 0 1px 0 #09cafa, 0 1px 0 rgba(0, 0, 0, 0.15);
     box-shadow: inset 0 1px 0 #09cafa, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:active {
-    background: #0384a4;
+    background: #037c9a;
     border-color: #036881;
     color: white;
     -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); }
-  .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], .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: #333333;
+  color: #333;
   background-color: #e5e5e5; }
 .wp-core-ui .wp-ui-text-primary {
   color: #e5e5e5; }
 .wp-core-ui .wp-ui-highlight {
-  color: white;
-  background-color: #888888; }
+  color: #fff;
+  background-color: #888; }
 .wp-core-ui .wp-ui-text-highlight {
-  color: #888888; }
+  color: #888; }
 .wp-core-ui .wp-ui-notification {
-  color: white;
+  color: #fff;
   background-color: #d64e07; }
 .wp-core-ui .wp-ui-text-notification {
   color: #d64e07; }
 .wp-core-ui .wp-ui-text-icon {
-  color: #999999; }
+  color: #999; }
 
 /* List tables */
 .wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
-  color: #333333;
+  color: #333;
   background-color: #e5e5e5; }
 
 .view-switch a.current:before {
@@ -82,7 +81,7 @@ input[type=radio]:checked:before {
   border-top-color: #e5e5e5; }
 
 .post-com-count:hover span {
-  color: #333333;
+  color: #333;
   background-color: #e5e5e5; }
 
 strong .post-com-count:after {
@@ -96,28 +95,29 @@ strong .post-com-count span {
   background: #e5e5e5; }
 
 #adminmenu a {
-  color: #333333; }
+  color: #333; }
 
 #adminmenu div.wp-menu-image:before {
-  color: #999999; }
+  color: #999; }
 
 #adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus {
-  color: white;
-  background-color: #888888; }
+  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: #cccccc; }
+  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 {
-  border-bottom-color: whitesmoke; }
+  background-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: white; }
+  background: #fff; }
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-  border-right-color: white; }
+  border-right-color: #fff; }
 
 #adminmenu .wp-submenu .wp-submenu-head {
   color: #686868; }
@@ -129,75 +129,75 @@ strong .post-com-count span {
 
 /* 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: #333333; }
+  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; }
 
 ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.current:after {
-  border-right-color: whitesmoke; }
+  border-right-color: #f5f5f5; }
 
 #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: white;
-  background: #888888; }
+  color: #fff;
+  background: #888; }
 
 #adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
-  color: #cccccc; }
+  color: #ccc; }
 
 /* Admin Menu: bubble */
 #adminmenu .awaiting-mod, #adminmenu .update-plugins {
-  color: white;
+  color: #fff;
   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 {
-  color: #333333;
-  background: white; }
+  color: #333;
+  background: #fff; }
 
 /* Admin Menu: collapse button */
 #collapse-menu {
-  color: #777777; }
+  color: #777; }
 
 #collapse-menu:hover {
-  color: #333333; }
+  color: #333; }
 
 #collapse-button div:after {
-  color: #999999; }
+  color: #999; }
 
 #collapse-menu:hover #collapse-button div:after {
-  color: #555555; }
+  color: #555; }
 
 /* Admin Bar */
 #wpadminbar {
-  color: #333333;
+  color: #333;
   background: #e5e5e5; }
 
 #wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: #333333; }
+  color: #333; }
 
 #wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
-  color: #999999; }
+  color: #999; }
 
 #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 {
   color: #04a4cc;
-  background: white; }
+  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 li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar li:hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
-  color: #cccccc; }
+  color: #ccc; }
 
 /* Admin Bar: submenu */
 #wpadminbar .menupop .ab-sub-wrapper {
-  background: white; }
+  background: #fff; }
 
 #wpadminbar .quicklinks .menupop ul.ab-sub-secondary, #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-  background: #f7f7f7; }
+  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: #999999; }
+  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 .ab-item:after, #wpadminbar li.hover .ab-item:after, #wpadminbar li:hover #adminbarsearch:before {
   color: #04a4cc; }
@@ -207,26 +207,26 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Admin Bar: search */
 #wpadminbar #adminbarsearch:before {
-  color: #999999; }
+  color: #999; }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-  color: #333333;
+  color: #333;
   background: #f7f7f7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
-  color: #333333;
+  color: #333;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
-  color: #333333;
+  color: #333;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
-  color: #333333;
+  color: #333;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
-  color: #333333;
+  color: #333;
   opacity: 0.7; }
 
 /* Admin Bar: my account */
@@ -235,7 +235,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #f7f7f7; }
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: #333333; }
+  color: #333; }
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
   color: #04a4cc; }
@@ -245,7 +245,8 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
-  background-color: #04a4cc; }
+  background-color: #04a4cc;
+  border-color: #0490b3; }
 
 .wp-pointer .wp-pointer-content h3:before {
   color: #04a4cc; }
@@ -258,11 +259,13 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #04a4cc; }
 
 .details.attachment {
-  box-shadow: 0 0 0 1px white, 0 0 0 5px #04a4cc; }
+  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #04a4cc;
+  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #04a4cc; }
 
 .attachment.details .check {
   background-color: #04a4cc;
-  box-shadow: 0 0 0 1px white, 0 0 0 2px #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; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,6 +277,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
   background: #04a4cc; }
 
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #e5e5e5; }
+
+body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+  color: #333;
+  background-color: #e5e5e5; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  background-color: #888;
+  color: #fff; }
+
+/* Widgets */
+.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 */
+#customize-theme-controls .widget-area-select .selected {
+  background-color: #888;
+  color: #fff; }
+
 /* jQuery UI Slider */
 .wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
   background: #04a4cc;
@@ -283,26 +310,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Thickbox: Plugin information */
 #sidemenu a.current {
-  background: whitesmoke;
-  border-bottom-color: whitesmoke; }
+  background: #f5f5f5;
+  border-bottom-color: #f5f5f5; }
 
 #plugin-information .action-button {
   background: #04a4cc; }
 
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
-  color: #999999; }
+  color: #999; }
 
 .wp-responsive-open div#wp-responsive-toggle a {
   border-color: transparent;
-  background: #888888; }
+  background: #888; }
 
 .star-rating .star {
   color: #04a4cc; }
 
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-  background: white; }
+  background: #fff; }
 
 /* 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: #333333; }
+  color: #333; }
+
+/* Override the theme filter highlight color for this scheme */
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #04a4cc; }
index 611d271d11f79bb3a4fed522496234cc13335942..daaa6eafb26f50f9d399df45b90a5c404d71891b 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-left:0;border-right:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-right:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-right-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-left:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-left:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-left:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-left:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-right-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}html{background:#f5f5f5}a{color:#0074a2}a:hover,a:active,a:focus{color:#0099d5}#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#04a4cc}input[type=radio]:checked:before{background:#04a4cc}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#0099d5}.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:hover,.wp-core-ui .button-primary:focus{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#0384a4;border-color:#036881;color:#fff;-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-primary[disabled],.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary.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}.wrap .add-new-h2:hover,#add-new-comment a:hover,.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{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}#adminmenuback,#adminmenuwrap,#adminmenu{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{border-bottom-color:#f5f5f5}#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}#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}#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}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 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{color:#ccc}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;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{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:before,#wpadminbar .ab-item:after{color:#999}#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{color:#04a4cc;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 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 .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 .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 .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{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}.wp-pointer .wp-pointer-content h3:before{color:#04a4cc}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#04a4cc}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{box-shadow:0 0 0 1px white,0 0 0 5px #04a4cc}.attachment.details .check{background-color:#04a4cc;box-shadow:0 0 0 1px white,0 0 0 2px #04a4cc}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#04a4cc}.theme-browser .theme.add-new-theme:hover span:after{color:#04a4cc}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover{background:#04a4cc}.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,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f5f5f5;border-bottom-color:#f5f5f5}#plugin-information .action-button{background:#04a4cc}div#wp-responsive-toggle a:before{color:#999}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#888}.star-rating .star{color:#04a4cc}.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.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}
\ No newline at end of file
+html{background:#f5f5f5}a{color:#0074a2}#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:#0099d5}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:#0099d5}.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,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.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);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.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 li.wp-has-current-submenu 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-undefined .wp-pointer-arrow{border-bottom-color:#04a4cc}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 5px #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}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#04a4cc}.theme-browser .theme.add-new-theme:hover span:after{color:#04a4cc}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#04a4cc}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#333;background-color:#e5e5e5}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{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)}#sidemenu a.current{background:#f5f5f5;border-bottom-color:#f5f5f5}#plugin-information .action-button{background:#04a4cc}div#wp-responsive-toggle a:before{color:#999}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#888}.star-rating .star{color:#04a4cc}.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
index fa653f2fd6b05ef7a76a231b18b3732a9e08016e..b12774c3a9b039d5f129aa1e412df1efdd874ecb 100644 (file)
@@ -17,7 +17,6 @@ $menu-submenu-background: #fff;
 $menu-collapse-text: #777;
 $menu-collapse-focus-icon: #555;
 
-@import "../../colors.css";
 @import "../_admin.scss";
 
 /* temporary fix for admin-bar hover color */
@@ -31,3 +30,9 @@ $menu-collapse-focus-icon: #555;
 #wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
        color: $text-color;
 }
+
+/* Override the theme filter highlight color for this scheme */
+.theme-section.current,
+.theme-filter.current {
+       border-bottom-color: $highlight-color;
+}
index 6f539591584811117deb2a12bc289c33e94b8c53..2dc30e51bdc0844bcc837e2aad77c352e70cd15e 100644 (file)
@@ -1,6 +1,5 @@
-@import url("../../colors-rtl.css");
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 html {
@@ -12,7 +11,7 @@ a {
   a:hover, a:active, a:focus {
     color: #0099d5; }
 
-#rightnow a:hover, #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover, .ui-tabs-nav a:hover {
+#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
   color: #0099d5; }
 
 /* Forms */
@@ -33,34 +32,34 @@ input[type=radio]:checked:before {
   -webkit-box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15);
   box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #d92c23;
+    background: #dd362d;
     border-color: #ba251e;
     color: white;
     -webkit-box-shadow: inset 0 1px 0 #e8756f, 0 1px 0 rgba(0, 0, 0, 0.15);
     box-shadow: inset 0 1px 0 #e8756f, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:active {
-    background: #d92c23;
+    background: #d02a21;
     border-color: #ba251e;
     color: white;
     -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); }
-  .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], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1c7c7 !important;
     background: #d92c23 !important;
     border-color: #ba251e !important;
     text-shadow: none !important; }
 .wp-core-ui .wp-ui-primary {
-  color: white;
+  color: #fff;
   background-color: #363b3f; }
 .wp-core-ui .wp-ui-text-primary {
   color: #363b3f; }
 .wp-core-ui .wp-ui-highlight {
-  color: white;
+  color: #fff;
   background-color: #e14d43; }
 .wp-core-ui .wp-ui-text-highlight {
   color: #e14d43; }
 .wp-core-ui .wp-ui-notification {
-  color: white;
+  color: #fff;
   background-color: #69a8bb; }
 .wp-core-ui .wp-ui-text-notification {
   color: #69a8bb; }
@@ -69,7 +68,7 @@ input[type=radio]:checked:before {
 
 /* List tables */
 .wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
-  color: white;
+  color: #fff;
   background-color: #363b3f; }
 
 .view-switch a.current:before {
@@ -82,7 +81,7 @@ input[type=radio]:checked:before {
   border-top-color: #363b3f; }
 
 .post-com-count:hover span {
-  color: white;
+  color: #fff;
   background-color: #363b3f; }
 
 strong .post-com-count:after {
@@ -96,20 +95,21 @@ strong .post-com-count span {
   background: #363b3f; }
 
 #adminmenu a {
-  color: white; }
+  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: white;
+  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: white; }
+  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 {
+  background-color: #f1f1f1;
   border-bottom-color: #f1f1f1; }
 
 /* Admin Menu: submenu */
@@ -129,7 +129,7 @@ strong .post-com-count span {
 
 /* 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: white; }
+  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; }
 
@@ -137,19 +137,19 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white;
+  color: #fff;
   background: #e14d43; }
 
 #adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
-  color: white; }
+  color: #fff; }
 
 /* Admin Menu: bubble */
 #adminmenu .awaiting-mod, #adminmenu .update-plugins {
-  color: white;
+  color: #fff;
   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 {
-  color: white;
+  color: #fff;
   background: #26292c; }
 
 /* Admin Menu: collapse button */
@@ -157,21 +157,21 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f1f2f3; }
 
 #collapse-menu:hover {
-  color: white; }
+  color: #fff; }
 
 #collapse-button div:after {
   color: #f1f2f3; }
 
 #collapse-menu:hover #collapse-button div:after {
-  color: white; }
+  color: #fff; }
 
 /* Admin Bar */
 #wpadminbar {
-  color: white;
+  color: #fff;
   background: #363b3f; }
 
 #wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
   color: #f1f2f3; }
@@ -184,14 +184,14 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white; }
+  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: #4b4c4d; }
+  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; }
@@ -210,23 +210,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f1f2f3; }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-  color: white;
+  color: #fff;
   background: #464d52; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 /* Admin Bar: my account */
@@ -235,7 +235,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #464d52; }
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
   color: #e14d43; }
@@ -245,7 +245,8 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
-  background-color: #e14d43; }
+  background-color: #e14d43;
+  border-color: #dd362d; }
 
 .wp-pointer .wp-pointer-content h3:before {
   color: #e14d43; }
@@ -258,11 +259,13 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #e14d43; }
 
 .details.attachment {
-  box-shadow: 0 0 0 1px white, 0 0 0 5px #e14d43; }
+  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #e14d43;
+  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #e14d43; }
 
 .attachment.details .check {
   background-color: #e14d43;
-  box-shadow: 0 0 0 1px white, 0 0 0 2px #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; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,6 +277,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
   background: #e14d43; }
 
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #363b3f; }
+
+body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+  color: #fff;
+  background-color: #363b3f; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  background-color: #e14d43;
+  color: #fff; }
+
+/* Widgets */
+.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 */
+#customize-theme-controls .widget-area-select .selected {
+  background-color: #e14d43;
+  color: #fff; }
+
 /* jQuery UI Slider */
 .wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
   background: #e14d43;
index adae710e0e6e80b9727cb0f45699308ec77d8088..930461b240a2f9216e05fc96f57ea9591a04bc0d 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-right:0;border-left:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-left:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-left-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-right:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-right:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-right:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-right:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-left-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}html{background:#f1f1f1}a{color:#0074a2}a:hover,a:active,a:focus{color:#0099d5}#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#e14d43}input[type=radio]:checked:before{background:#e14d43}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#0099d5}.wp-core-ui .button-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:hover,.wp-core-ui .button-primary:focus{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#d92c23;border-color:#ba251e;color:#fff;-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-primary[disabled],.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary.button-primary-disabled{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!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}.wrap .add-new-h2:hover,#add-new-comment a:hover,.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{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}#adminmenuback,#adminmenuwrap,#adminmenu{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{border-bottom-color:#f1f1f1}#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}#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}#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}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:#e14d43}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;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{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: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{color:#e14d43;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 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 .menupop .ab-sub-wrapper{background:#26292c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4b4c4d}#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}#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{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}.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{box-shadow:0 0 0 1px white,0 0 0 5px #e14d43}.attachment.details .check{background-color:#e14d43;box-shadow:0 0 0 1px white,0 0 0 2px #e14d43}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#e14d43}.theme-browser .theme.add-new-theme:hover span:after{color:#e14d43}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover{background:#e14d43}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#e14d43;border-color:#d02a21;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e14d43}div#wp-responsive-toggle a:before{color:#f1f2f3}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#e14d43}.star-rating .star{color:#e14d43}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#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:#0099d5}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:#0099d5}.wp-core-ui .button-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd362d;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#d02a21;border-color:#ba251e;color:#fff;-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-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!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 li.wp-has-current-submenu 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:#dd362d}.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 5px #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}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#e14d43}.theme-browser .theme.add-new-theme:hover span:after{color:#e14d43}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#e14d43}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#363b3f}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{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:#d02a21;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e14d43}div#wp-responsive-toggle a:before{color:#f1f2f3}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#e14d43}.star-rating .star{color:#e14d43}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}
\ No newline at end of file
index cd7b4c324238c99bb7bb122697a16f0bae3a3c12..b1a11fe2b5fc3d806800dc4c2ec30651f758ae44 100644 (file)
@@ -1,6 +1,5 @@
-@import url("../../colors.css");
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 html {
@@ -12,7 +11,7 @@ a {
   a:hover, a:active, a:focus {
     color: #0099d5; }
 
-#rightnow a:hover, #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover, .ui-tabs-nav a:hover {
+#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
   color: #0099d5; }
 
 /* Forms */
@@ -33,34 +32,34 @@ input[type=radio]:checked:before {
   -webkit-box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15);
   box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #d92c23;
+    background: #dd362d;
     border-color: #ba251e;
     color: white;
     -webkit-box-shadow: inset 0 1px 0 #e8756f, 0 1px 0 rgba(0, 0, 0, 0.15);
     box-shadow: inset 0 1px 0 #e8756f, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:active {
-    background: #d92c23;
+    background: #d02a21;
     border-color: #ba251e;
     color: white;
     -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); }
-  .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], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1c7c7 !important;
     background: #d92c23 !important;
     border-color: #ba251e !important;
     text-shadow: none !important; }
 .wp-core-ui .wp-ui-primary {
-  color: white;
+  color: #fff;
   background-color: #363b3f; }
 .wp-core-ui .wp-ui-text-primary {
   color: #363b3f; }
 .wp-core-ui .wp-ui-highlight {
-  color: white;
+  color: #fff;
   background-color: #e14d43; }
 .wp-core-ui .wp-ui-text-highlight {
   color: #e14d43; }
 .wp-core-ui .wp-ui-notification {
-  color: white;
+  color: #fff;
   background-color: #69a8bb; }
 .wp-core-ui .wp-ui-text-notification {
   color: #69a8bb; }
@@ -69,7 +68,7 @@ input[type=radio]:checked:before {
 
 /* List tables */
 .wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
-  color: white;
+  color: #fff;
   background-color: #363b3f; }
 
 .view-switch a.current:before {
@@ -82,7 +81,7 @@ input[type=radio]:checked:before {
   border-top-color: #363b3f; }
 
 .post-com-count:hover span {
-  color: white;
+  color: #fff;
   background-color: #363b3f; }
 
 strong .post-com-count:after {
@@ -96,20 +95,21 @@ strong .post-com-count span {
   background: #363b3f; }
 
 #adminmenu a {
-  color: white; }
+  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: white;
+  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: white; }
+  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 {
+  background-color: #f1f1f1;
   border-bottom-color: #f1f1f1; }
 
 /* Admin Menu: submenu */
@@ -129,7 +129,7 @@ strong .post-com-count span {
 
 /* 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: white; }
+  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; }
 
@@ -137,19 +137,19 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white;
+  color: #fff;
   background: #e14d43; }
 
 #adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
-  color: white; }
+  color: #fff; }
 
 /* Admin Menu: bubble */
 #adminmenu .awaiting-mod, #adminmenu .update-plugins {
-  color: white;
+  color: #fff;
   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 {
-  color: white;
+  color: #fff;
   background: #26292c; }
 
 /* Admin Menu: collapse button */
@@ -157,21 +157,21 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f1f2f3; }
 
 #collapse-menu:hover {
-  color: white; }
+  color: #fff; }
 
 #collapse-button div:after {
   color: #f1f2f3; }
 
 #collapse-menu:hover #collapse-button div:after {
-  color: white; }
+  color: #fff; }
 
 /* Admin Bar */
 #wpadminbar {
-  color: white;
+  color: #fff;
   background: #363b3f; }
 
 #wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
   color: #f1f2f3; }
@@ -184,14 +184,14 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white; }
+  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: #4b4c4d; }
+  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; }
@@ -210,23 +210,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f1f2f3; }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-  color: white;
+  color: #fff;
   background: #464d52; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 /* Admin Bar: my account */
@@ -235,7 +235,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #464d52; }
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
   color: #e14d43; }
@@ -245,7 +245,8 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
-  background-color: #e14d43; }
+  background-color: #e14d43;
+  border-color: #dd362d; }
 
 .wp-pointer .wp-pointer-content h3:before {
   color: #e14d43; }
@@ -258,11 +259,13 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #e14d43; }
 
 .details.attachment {
-  box-shadow: 0 0 0 1px white, 0 0 0 5px #e14d43; }
+  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #e14d43;
+  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #e14d43; }
 
 .attachment.details .check {
   background-color: #e14d43;
-  box-shadow: 0 0 0 1px white, 0 0 0 2px #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; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,6 +277,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
   background: #e14d43; }
 
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #363b3f; }
+
+body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+  color: #fff;
+  background-color: #363b3f; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  background-color: #e14d43;
+  color: #fff; }
+
+/* Widgets */
+.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 */
+#customize-theme-controls .widget-area-select .selected {
+  background-color: #e14d43;
+  color: #fff; }
+
 /* jQuery UI Slider */
 .wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
   background: #e14d43;
index 3b84ac1b810a3d39cf275a528294187193107a8c..e4f464feda2901cffc32e3ed184dd8af6f4371c9 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-left:0;border-right:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-right:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-right-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-left:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-left:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-left:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-left:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-right-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}html{background:#f1f1f1}a{color:#0074a2}a:hover,a:active,a:focus{color:#0099d5}#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#e14d43}input[type=radio]:checked:before{background:#e14d43}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#0099d5}.wp-core-ui .button-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:hover,.wp-core-ui .button-primary:focus{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#d92c23;border-color:#ba251e;color:#fff;-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-primary[disabled],.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary.button-primary-disabled{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!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}.wrap .add-new-h2:hover,#add-new-comment a:hover,.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{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}#adminmenuback,#adminmenuwrap,#adminmenu{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{border-bottom-color:#f1f1f1}#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}#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}#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}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:#e14d43}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;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{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: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{color:#e14d43;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 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 .menupop .ab-sub-wrapper{background:#26292c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4b4c4d}#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}#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{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}.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{box-shadow:0 0 0 1px white,0 0 0 5px #e14d43}.attachment.details .check{background-color:#e14d43;box-shadow:0 0 0 1px white,0 0 0 2px #e14d43}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#e14d43}.theme-browser .theme.add-new-theme:hover span:after{color:#e14d43}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover{background:#e14d43}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#e14d43;border-color:#d02a21;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e14d43}div#wp-responsive-toggle a:before{color:#f1f2f3}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#e14d43}.star-rating .star{color:#e14d43}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#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:#0099d5}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:#0099d5}.wp-core-ui .button-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd362d;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#d02a21;border-color:#ba251e;color:#fff;-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-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!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 li.wp-has-current-submenu 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:#dd362d}.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 5px #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}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#e14d43}.theme-browser .theme.add-new-theme:hover span:after{color:#e14d43}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#e14d43}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#363b3f}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{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:#d02a21;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#e14d43}div#wp-responsive-toggle a:before{color:#f1f2f3}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#e14d43}.star-rating .star{color:#e14d43}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}
\ No newline at end of file
index 49952fcb975a72fda97f6bdeff23975755fdec57..591232b70810bbd97c8f431ff5bc4e8498ed8635 100644 (file)
@@ -2,5 +2,4 @@ $base-color: #363b3f;
 $highlight-color: #e14d43;
 $notification-color: #69a8bb;
 
-@import "../../colors.css";
 @import "../_admin.scss";
index 27bf3bb19eaf7997654770e398a2fc621a56d02a..665efad3c9ef4885066af72b5abd38b5805b91d4 100644 (file)
@@ -1,6 +1,5 @@
-@import url("../../colors-rtl.css");
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 html {
@@ -12,7 +11,7 @@ a {
   a:hover, a:active, a:focus {
     color: #0099d5; }
 
-#rightnow a:hover, #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover, .ui-tabs-nav a:hover {
+#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
   color: #0099d5; }
 
 /* Forms */
@@ -33,34 +32,34 @@ input[type=radio]:checked:before {
   -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: #86a988;
+    background: #8faf91;
     border-color: #719a74;
     color: white;
     -webkit-box-shadow: inset 0 1px 0 #bccfbd, 0 1px 0 rgba(0, 0, 0, 0.15);
     box-shadow: inset 0 1px 0 #bccfbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:active {
-    background: #86a988;
+    background: #80a583;
     border-color: #719a74;
     color: white;
     -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); }
-  .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], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #c7d1c8 !important;
     background: #86a988 !important;
     border-color: #719a74 !important;
     text-shadow: none !important; }
 .wp-core-ui .wp-ui-primary {
-  color: white;
+  color: #fff;
   background-color: #738e96; }
 .wp-core-ui .wp-ui-text-primary {
   color: #738e96; }
 .wp-core-ui .wp-ui-highlight {
-  color: white;
+  color: #fff;
   background-color: #9ebaa0; }
 .wp-core-ui .wp-ui-text-highlight {
   color: #9ebaa0; }
 .wp-core-ui .wp-ui-notification {
-  color: white;
+  color: #fff;
   background-color: #aa9d88; }
 .wp-core-ui .wp-ui-text-notification {
   color: #aa9d88; }
@@ -69,7 +68,7 @@ input[type=radio]:checked:before {
 
 /* List tables */
 .wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
-  color: white;
+  color: #fff;
   background-color: #738e96; }
 
 .view-switch a.current:before {
@@ -82,7 +81,7 @@ input[type=radio]:checked:before {
   border-top-color: #738e96; }
 
 .post-com-count:hover span {
-  color: white;
+  color: #fff;
   background-color: #738e96; }
 
 strong .post-com-count:after {
@@ -96,20 +95,21 @@ strong .post-com-count span {
   background: #738e96; }
 
 #adminmenu a {
-  color: white; }
+  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: white;
+  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: white; }
+  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 {
+  background-color: #f1f1f1;
   border-bottom-color: #f1f1f1; }
 
 /* Admin Menu: submenu */
@@ -129,7 +129,7 @@ strong .post-com-count span {
 
 /* 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: white; }
+  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; }
 
@@ -137,19 +137,19 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white;
+  color: #fff;
   background: #9ebaa0; }
 
 #adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
-  color: white; }
+  color: #fff; }
 
 /* Admin Menu: bubble */
 #adminmenu .awaiting-mod, #adminmenu .update-plugins {
-  color: white;
+  color: #fff;
   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 {
-  color: white;
+  color: #fff;
   background: #627c83; }
 
 /* Admin Menu: collapse button */
@@ -157,21 +157,21 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f2fcff; }
 
 #collapse-menu:hover {
-  color: white; }
+  color: #fff; }
 
 #collapse-button div:after {
   color: #f2fcff; }
 
 #collapse-menu:hover #collapse-button div:after {
-  color: white; }
+  color: #fff; }
 
 /* Admin Bar */
 #wpadminbar {
-  color: white;
+  color: #fff;
   background: #738e96; }
 
 #wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
   color: #f2fcff; }
@@ -184,14 +184,14 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white; }
+  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: #8e9b9e; }
+  background: #8f9b9e; }
 
 #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; }
@@ -210,23 +210,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f2fcff; }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-  color: white;
+  color: #fff;
   background: #879fa5; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 /* Admin Bar: my account */
@@ -235,7 +235,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #879fa5; }
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
   color: #9ebaa0; }
@@ -245,7 +245,8 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
-  background-color: #9ebaa0; }
+  background-color: #9ebaa0;
+  border-color: #8faf91; }
 
 .wp-pointer .wp-pointer-content h3:before {
   color: #9ebaa0; }
@@ -258,11 +259,13 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #9ebaa0; }
 
 .details.attachment {
-  box-shadow: 0 0 0 1px white, 0 0 0 5px #9ebaa0; }
+  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #9ebaa0;
+  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #9ebaa0; }
 
 .attachment.details .check {
   background-color: #9ebaa0;
-  box-shadow: 0 0 0 1px white, 0 0 0 2px #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; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,6 +277,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
   background: #9ebaa0; }
 
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #738e96; }
+
+body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+  color: #fff;
+  background-color: #738e96; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  background-color: #9ebaa0;
+  color: #fff; }
+
+/* Widgets */
+.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 */
+#customize-theme-controls .widget-area-select .selected {
+  background-color: #9ebaa0;
+  color: #fff; }
+
 /* jQuery UI Slider */
 .wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
   background: #9ebaa0;
index 46ccbaf96e04aa8792ebff4c746a857baae0fbbd..45143c66cb6086099d35b6e49315f0400bbfc00a 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-right:0;border-left:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-left:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-left-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-right:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-right:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-right:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-right:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-left-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}html{background:#f1f1f1}a{color:#0074a2}a:hover,a:active,a:focus{color:#0099d5}#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#738e96}input[type=radio]:checked:before{background:#738e96}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#0099d5}.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:hover,.wp-core-ui .button-primary:focus{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#86a988;border-color:#719a74;color:#fff;-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-primary[disabled],.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary.button-primary-disabled{color:#c7d1c8!important;background:#86a988!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}.wrap .add-new-h2:hover,#add-new-comment a:hover,.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{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}#adminmenuback,#adminmenuwrap,#adminmenu{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{border-bottom-color:#f1f1f1}#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}#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}#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}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:#9ebaa0}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;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{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: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{color:#9ebaa0;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 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 .menupop .ab-sub-wrapper{background:#627c83}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#8e9b9e}#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}#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{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:#879fa5}#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:#879fa5;background-color:#879fa5}#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}.wp-pointer .wp-pointer-content h3:before{color:#9ebaa0}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{box-shadow:0 0 0 1px white,0 0 0 5px #9ebaa0}.attachment.details .check{background-color:#9ebaa0;box-shadow:0 0 0 1px white,0 0 0 2px #9ebaa0}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#9ebaa0}.theme-browser .theme.add-new-theme:hover span:after{color:#9ebaa0}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover{background:#9ebaa0}.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,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#9ebaa0}div#wp-responsive-toggle a:before{color:#f2fcff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#9ebaa0}.star-rating .star{color:#9ebaa0}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#627c83}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#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:#0099d5}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:#0099d5}.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,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.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);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.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:#86a988!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 li.wp-has-current-submenu 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:#8f9b9e}#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:#879fa5}#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:#879fa5;background-color:#879fa5}#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-undefined .wp-pointer-arrow{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 5px #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}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#9ebaa0}.theme-browser .theme.add-new-theme:hover span:after{color:#9ebaa0}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#9ebaa0}.theme-filter.current,.theme-section.current{border-bottom-color:#738e96}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#738e96}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{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)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#9ebaa0}div#wp-responsive-toggle a:before{color:#f2fcff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#9ebaa0}.star-rating .star{color:#9ebaa0}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#627c83}
\ No newline at end of file
index 37427d2288afb4056695fd9f4c8974c89bbe8e94..0ee3295276882030a7ff9054ddcdc37aa0b486fd 100644 (file)
@@ -1,6 +1,5 @@
-@import url("../../colors.css");
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 html {
@@ -12,7 +11,7 @@ a {
   a:hover, a:active, a:focus {
     color: #0099d5; }
 
-#rightnow a:hover, #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover, .ui-tabs-nav a:hover {
+#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
   color: #0099d5; }
 
 /* Forms */
@@ -33,34 +32,34 @@ input[type=radio]:checked:before {
   -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: #86a988;
+    background: #8faf91;
     border-color: #719a74;
     color: white;
     -webkit-box-shadow: inset 0 1px 0 #bccfbd, 0 1px 0 rgba(0, 0, 0, 0.15);
     box-shadow: inset 0 1px 0 #bccfbd, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:active {
-    background: #86a988;
+    background: #80a583;
     border-color: #719a74;
     color: white;
     -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); }
-  .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], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #c7d1c8 !important;
     background: #86a988 !important;
     border-color: #719a74 !important;
     text-shadow: none !important; }
 .wp-core-ui .wp-ui-primary {
-  color: white;
+  color: #fff;
   background-color: #738e96; }
 .wp-core-ui .wp-ui-text-primary {
   color: #738e96; }
 .wp-core-ui .wp-ui-highlight {
-  color: white;
+  color: #fff;
   background-color: #9ebaa0; }
 .wp-core-ui .wp-ui-text-highlight {
   color: #9ebaa0; }
 .wp-core-ui .wp-ui-notification {
-  color: white;
+  color: #fff;
   background-color: #aa9d88; }
 .wp-core-ui .wp-ui-text-notification {
   color: #aa9d88; }
@@ -69,7 +68,7 @@ input[type=radio]:checked:before {
 
 /* List tables */
 .wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
-  color: white;
+  color: #fff;
   background-color: #738e96; }
 
 .view-switch a.current:before {
@@ -82,7 +81,7 @@ input[type=radio]:checked:before {
   border-top-color: #738e96; }
 
 .post-com-count:hover span {
-  color: white;
+  color: #fff;
   background-color: #738e96; }
 
 strong .post-com-count:after {
@@ -96,20 +95,21 @@ strong .post-com-count span {
   background: #738e96; }
 
 #adminmenu a {
-  color: white; }
+  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: white;
+  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: white; }
+  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 {
+  background-color: #f1f1f1;
   border-bottom-color: #f1f1f1; }
 
 /* Admin Menu: submenu */
@@ -129,7 +129,7 @@ strong .post-com-count span {
 
 /* 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: white; }
+  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; }
 
@@ -137,19 +137,19 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white;
+  color: #fff;
   background: #9ebaa0; }
 
 #adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
-  color: white; }
+  color: #fff; }
 
 /* Admin Menu: bubble */
 #adminmenu .awaiting-mod, #adminmenu .update-plugins {
-  color: white;
+  color: #fff;
   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 {
-  color: white;
+  color: #fff;
   background: #627c83; }
 
 /* Admin Menu: collapse button */
@@ -157,21 +157,21 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f2fcff; }
 
 #collapse-menu:hover {
-  color: white; }
+  color: #fff; }
 
 #collapse-button div:after {
   color: #f2fcff; }
 
 #collapse-menu:hover #collapse-button div:after {
-  color: white; }
+  color: #fff; }
 
 /* Admin Bar */
 #wpadminbar {
-  color: white;
+  color: #fff;
   background: #738e96; }
 
 #wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
   color: #f2fcff; }
@@ -184,14 +184,14 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white; }
+  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: #8e9b9e; }
+  background: #8f9b9e; }
 
 #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; }
@@ -210,23 +210,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f2fcff; }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-  color: white;
+  color: #fff;
   background: #879fa5; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 /* Admin Bar: my account */
@@ -235,7 +235,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #879fa5; }
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
   color: #9ebaa0; }
@@ -245,7 +245,8 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
-  background-color: #9ebaa0; }
+  background-color: #9ebaa0;
+  border-color: #8faf91; }
 
 .wp-pointer .wp-pointer-content h3:before {
   color: #9ebaa0; }
@@ -258,11 +259,13 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #9ebaa0; }
 
 .details.attachment {
-  box-shadow: 0 0 0 1px white, 0 0 0 5px #9ebaa0; }
+  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #9ebaa0;
+  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #9ebaa0; }
 
 .attachment.details .check {
   background-color: #9ebaa0;
-  box-shadow: 0 0 0 1px white, 0 0 0 2px #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; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,6 +277,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
   background: #9ebaa0; }
 
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #738e96; }
+
+body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+  color: #fff;
+  background-color: #738e96; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  background-color: #9ebaa0;
+  color: #fff; }
+
+/* Widgets */
+.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 */
+#customize-theme-controls .widget-area-select .selected {
+  background-color: #9ebaa0;
+  color: #fff; }
+
 /* jQuery UI Slider */
 .wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
   background: #9ebaa0;
index b29fa84cd4b2e8fefab8c453a8542c80249950dd..e10635df445baa407a6c59c55c5fcaec1c989de0 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-left:0;border-right:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-right:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-right-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-left:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-left:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-left:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-left:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-right-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}html{background:#f1f1f1}a{color:#0074a2}a:hover,a:active,a:focus{color:#0099d5}#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#738e96}input[type=radio]:checked:before{background:#738e96}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#0099d5}.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:hover,.wp-core-ui .button-primary:focus{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#86a988;border-color:#719a74;color:#fff;-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-primary[disabled],.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary.button-primary-disabled{color:#c7d1c8!important;background:#86a988!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}.wrap .add-new-h2:hover,#add-new-comment a:hover,.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{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}#adminmenuback,#adminmenuwrap,#adminmenu{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{border-bottom-color:#f1f1f1}#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}#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}#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}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:#9ebaa0}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;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{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: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{color:#9ebaa0;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 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 .menupop .ab-sub-wrapper{background:#627c83}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#8e9b9e}#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}#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{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:#879fa5}#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:#879fa5;background-color:#879fa5}#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}.wp-pointer .wp-pointer-content h3:before{color:#9ebaa0}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{box-shadow:0 0 0 1px white,0 0 0 5px #9ebaa0}.attachment.details .check{background-color:#9ebaa0;box-shadow:0 0 0 1px white,0 0 0 2px #9ebaa0}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#9ebaa0}.theme-browser .theme.add-new-theme:hover span:after{color:#9ebaa0}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover{background:#9ebaa0}.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,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#9ebaa0}div#wp-responsive-toggle a:before{color:#f2fcff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#9ebaa0}.star-rating .star{color:#9ebaa0}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#627c83}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#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:#0099d5}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:#0099d5}.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,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.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);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.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:#86a988!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 li.wp-has-current-submenu 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:#8f9b9e}#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:#879fa5}#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:#879fa5;background-color:#879fa5}#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-undefined .wp-pointer-arrow{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 5px #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}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#9ebaa0}.theme-browser .theme.add-new-theme:hover span:after{color:#9ebaa0}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#9ebaa0}.theme-filter.current,.theme-section.current{border-bottom-color:#738e96}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#738e96}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{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)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#9ebaa0}div#wp-responsive-toggle a:before{color:#f2fcff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#9ebaa0}.star-rating .star{color:#9ebaa0}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#627c83}
\ No newline at end of file
index fec5547af2bf416cf4fdfefc8c447d0a40959e05..d52339c6fe9acf80807ef5fe55e71b47201e303a 100644 (file)
@@ -5,5 +5,4 @@ $notification-color: #aa9d88;
 
 $form-checked: $base-color;
 
-@import "../../colors.css";
 @import "../_admin.scss";
index 33b48676762546d28f589143e373ba73b2b3df30..e80f79ae0e83856c003a56e35592cc7d1620bc3d 100644 (file)
@@ -1,6 +1,5 @@
-@import url("../../colors-rtl.css");
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 html {
@@ -12,7 +11,7 @@ a {
   a:hover, a:active, a:focus {
     color: #0099d5; }
 
-#rightnow a:hover, #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover, .ui-tabs-nav a:hover {
+#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
   color: #0099d5; }
 
 /* Forms */
@@ -33,34 +32,34 @@ input[type=radio]:checked:before {
   -webkit-box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15);
   box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #cc6c23;
+    background: #d97326;
     border-color: #ad5c1e;
     color: white;
     -webkit-box-shadow: inset 0 1px 0 #e59d66, 0 1px 0 rgba(0, 0, 0, 0.15);
     box-shadow: inset 0 1px 0 #e59d66, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:active {
-    background: #cc6c23;
+    background: #c36822;
     border-color: #ad5c1e;
     color: white;
     -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); }
-  .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], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1cbc7 !important;
     background: #cc6c23 !important;
     border-color: #ad5c1e !important;
     text-shadow: none !important; }
 .wp-core-ui .wp-ui-primary {
-  color: white;
+  color: #fff;
   background-color: #cf4944; }
 .wp-core-ui .wp-ui-text-primary {
   color: #cf4944; }
 .wp-core-ui .wp-ui-highlight {
-  color: white;
+  color: #fff;
   background-color: #dd823b; }
 .wp-core-ui .wp-ui-text-highlight {
   color: #dd823b; }
 .wp-core-ui .wp-ui-notification {
-  color: white;
+  color: #fff;
   background-color: #ccaf0b; }
 .wp-core-ui .wp-ui-text-notification {
   color: #ccaf0b; }
@@ -69,7 +68,7 @@ input[type=radio]:checked:before {
 
 /* List tables */
 .wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
-  color: white;
+  color: #fff;
   background-color: #cf4944; }
 
 .view-switch a.current:before {
@@ -82,7 +81,7 @@ input[type=radio]:checked:before {
   border-top-color: #cf4944; }
 
 .post-com-count:hover span {
-  color: white;
+  color: #fff;
   background-color: #cf4944; }
 
 strong .post-com-count:after {
@@ -96,20 +95,21 @@ strong .post-com-count span {
   background: #cf4944; }
 
 #adminmenu a {
-  color: white; }
+  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: white;
+  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: white; }
+  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 {
+  background-color: #f1f1f1;
   border-bottom-color: #f1f1f1; }
 
 /* Admin Menu: submenu */
@@ -129,7 +129,7 @@ strong .post-com-count span {
 
 /* 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: white; }
+  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; }
 
@@ -137,19 +137,19 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white;
+  color: #fff;
   background: #dd823b; }
 
 #adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
-  color: white; }
+  color: #fff; }
 
 /* Admin Menu: bubble */
 #adminmenu .awaiting-mod, #adminmenu .update-plugins {
-  color: white;
+  color: #fff;
   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 {
-  color: white;
+  color: #fff;
   background: #be3631; }
 
 /* Admin Menu: collapse button */
@@ -157,21 +157,21 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f3f1f1; }
 
 #collapse-menu:hover {
-  color: white; }
+  color: #fff; }
 
 #collapse-button div:after {
   color: #f3f1f1; }
 
 #collapse-menu:hover #collapse-button div:after {
-  color: white; }
+  color: #fff; }
 
 /* Admin Bar */
 #wpadminbar {
-  color: white;
+  color: #fff;
   background: #cf4944; }
 
 #wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
   color: #f3f1f1; }
@@ -184,14 +184,14 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white; }
+  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: #cf6a67; }
+  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; }
@@ -210,23 +210,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f3f1f1; }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-  color: white;
+  color: #fff;
   background: #d66460; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 /* Admin Bar: my account */
@@ -235,7 +235,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #d66460; }
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
   color: #f7e3d3; }
@@ -245,7 +245,8 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
-  background-color: #dd823b; }
+  background-color: #dd823b;
+  border-color: #d97326; }
 
 .wp-pointer .wp-pointer-content h3:before {
   color: #dd823b; }
@@ -258,11 +259,13 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #dd823b; }
 
 .details.attachment {
-  box-shadow: 0 0 0 1px white, 0 0 0 5px #dd823b; }
+  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #dd823b;
+  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #dd823b; }
 
 .attachment.details .check {
   background-color: #dd823b;
-  box-shadow: 0 0 0 1px white, 0 0 0 2px #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; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,6 +277,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
   background: #dd823b; }
 
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #cf4944; }
+
+body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+  color: #fff;
+  background-color: #cf4944; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  background-color: #dd823b;
+  color: #fff; }
+
+/* Widgets */
+.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 */
+#customize-theme-controls .widget-area-select .selected {
+  background-color: #dd823b;
+  color: #fff; }
+
 /* jQuery UI Slider */
 .wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
   background: #dd823b;
index a2a40c3ad0eac298c3f86c510b109a70ea1de1ba..2fbbff8e8bbefea76263924bd33ec9c684e8d7ea 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-right:0;border-left:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-left:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-left-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-right:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-right:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-right:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-right:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-left-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}html{background:#f1f1f1}a{color:#0074a2}a:hover,a:active,a:focus{color:#0099d5}#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#dd823b}input[type=radio]:checked:before{background:#dd823b}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#0099d5}.wp-core-ui .button-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:hover,.wp-core-ui .button-primary:focus{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#cc6c23;border-color:#ad5c1e;color:#fff;-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-primary[disabled],.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary.button-primary-disabled{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!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}.wrap .add-new-h2:hover,#add-new-comment a:hover,.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{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}#adminmenuback,#adminmenuwrap,#adminmenu{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{border-bottom-color:#f1f1f1}#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}#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}#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}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:#dd823b}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;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{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: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{color:#f7e3d3;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 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 .menupop .ab-sub-wrapper{background:#be3631}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#cf6a67}#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}#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{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:#d66460}#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:#d66460;background-color:#d66460}#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}.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{box-shadow:0 0 0 1px white,0 0 0 5px #dd823b}.attachment.details .check{background-color:#dd823b;box-shadow:0 0 0 1px white,0 0 0 2px #dd823b}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#dd823b}.theme-browser .theme.add-new-theme:hover span:after{color:#dd823b}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover{background:#dd823b}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#dd823b;border-color:#c36822;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#dd823b}div#wp-responsive-toggle a:before{color:#f3f1f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#dd823b}.star-rating .star{color:#dd823b}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#be3631}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#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:#0099d5}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:#0099d5}.wp-core-ui .button-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#d97326;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#c36822;border-color:#ad5c1e;color:#fff;-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-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:#cc6c23!important;border-color:#ad5c1e!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 li.wp-has-current-submenu 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:#d66460}#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:#d66460;background-color:#d66460}#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:#d97326}.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 5px #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}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#dd823b}.theme-browser .theme.add-new-theme:hover span:after{color:#dd823b}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#dd823b}.theme-filter.current,.theme-section.current{border-bottom-color:#cf4944}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#cf4944}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{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:#c36822;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#dd823b}div#wp-responsive-toggle a:before{color:#f3f1f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#dd823b}.star-rating .star{color:#dd823b}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#be3631}
\ No newline at end of file
index 495856bd17fa4edb2031e01184d20bbb02995c00..2a872ed3176b7579456516ccd62f97936adb1134 100644 (file)
@@ -1,6 +1,5 @@
-@import url("../../colors.css");
 /*
- * Button mixin- creates 3d-ish button effect with correct 
+ * Button mixin- creates 3d-ish button effect with correct
  * highlights/shadows, based on a base color.
  */
 html {
@@ -12,7 +11,7 @@ a {
   a:hover, a:active, a:focus {
     color: #0099d5; }
 
-#rightnow a:hover, #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover, .ui-tabs-nav a:hover {
+#media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
   color: #0099d5; }
 
 /* Forms */
@@ -33,34 +32,34 @@ input[type=radio]:checked:before {
   -webkit-box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15);
   box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:hover, .wp-core-ui .button-primary:focus {
-    background: #cc6c23;
+    background: #d97326;
     border-color: #ad5c1e;
     color: white;
     -webkit-box-shadow: inset 0 1px 0 #e59d66, 0 1px 0 rgba(0, 0, 0, 0.15);
     box-shadow: inset 0 1px 0 #e59d66, 0 1px 0 rgba(0, 0, 0, 0.15); }
   .wp-core-ui .button-primary:active {
-    background: #cc6c23;
+    background: #c36822;
     border-color: #ad5c1e;
     color: white;
     -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); }
-  .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], .wp-core-ui .button-primary:disabled, .wp-core-ui .button-primary.button-primary-disabled, .wp-core-ui .button-primary.disabled {
     color: #d1cbc7 !important;
     background: #cc6c23 !important;
     border-color: #ad5c1e !important;
     text-shadow: none !important; }
 .wp-core-ui .wp-ui-primary {
-  color: white;
+  color: #fff;
   background-color: #cf4944; }
 .wp-core-ui .wp-ui-text-primary {
   color: #cf4944; }
 .wp-core-ui .wp-ui-highlight {
-  color: white;
+  color: #fff;
   background-color: #dd823b; }
 .wp-core-ui .wp-ui-text-highlight {
   color: #dd823b; }
 .wp-core-ui .wp-ui-notification {
-  color: white;
+  color: #fff;
   background-color: #ccaf0b; }
 .wp-core-ui .wp-ui-text-notification {
   color: #ccaf0b; }
@@ -69,7 +68,7 @@ input[type=radio]:checked:before {
 
 /* List tables */
 .wrap .add-new-h2:hover, #add-new-comment a:hover, .tablenav .tablenav-pages a:hover, .tablenav .tablenav-pages a:focus {
-  color: white;
+  color: #fff;
   background-color: #cf4944; }
 
 .view-switch a.current:before {
@@ -82,7 +81,7 @@ input[type=radio]:checked:before {
   border-top-color: #cf4944; }
 
 .post-com-count:hover span {
-  color: white;
+  color: #fff;
   background-color: #cf4944; }
 
 strong .post-com-count:after {
@@ -96,20 +95,21 @@ strong .post-com-count span {
   background: #cf4944; }
 
 #adminmenu a {
-  color: white; }
+  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: white;
+  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: white; }
+  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 {
+  background-color: #f1f1f1;
   border-bottom-color: #f1f1f1; }
 
 /* Admin Menu: submenu */
@@ -129,7 +129,7 @@ strong .post-com-count span {
 
 /* 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: white; }
+  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; }
 
@@ -137,19 +137,19 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white;
+  color: #fff;
   background: #dd823b; }
 
 #adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
-  color: white; }
+  color: #fff; }
 
 /* Admin Menu: bubble */
 #adminmenu .awaiting-mod, #adminmenu .update-plugins {
-  color: white;
+  color: #fff;
   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 {
-  color: white;
+  color: #fff;
   background: #be3631; }
 
 /* Admin Menu: collapse button */
@@ -157,21 +157,21 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f3f1f1; }
 
 #collapse-menu:hover {
-  color: white; }
+  color: #fff; }
 
 #collapse-button div:after {
   color: #f3f1f1; }
 
 #collapse-menu:hover #collapse-button div:after {
-  color: white; }
+  color: #fff; }
 
 /* Admin Bar */
 #wpadminbar {
-  color: white;
+  color: #fff;
   background: #cf4944; }
 
 #wpadminbar .ab-item, #wpadminbar a.ab-item, #wpadminbar > #wp-toolbar span.ab-label, #wpadminbar > #wp-toolbar span.noticon {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar .ab-icon, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before, #wpadminbar .ab-item:after {
   color: #f3f1f1; }
@@ -184,14 +184,14 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   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: white; }
+  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: #cf6a67; }
+  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; }
@@ -210,23 +210,23 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #f3f1f1; }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-  color: white;
+  color: #fff;
   background: #d66460; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 #wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder {
-  color: white;
+  color: #fff;
   opacity: 0.7; }
 
 /* Admin Bar: my account */
@@ -235,7 +235,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #d66460; }
 
 #wpadminbar #wp-admin-bar-user-info .display-name {
-  color: white; }
+  color: #fff; }
 
 #wpadminbar #wp-admin-bar-user-info a:hover .display-name {
   color: #f7e3d3; }
@@ -245,7 +245,8 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 
 /* Pointers */
 .wp-pointer .wp-pointer-content h3 {
-  background-color: #dd823b; }
+  background-color: #dd823b;
+  border-color: #d97326; }
 
 .wp-pointer .wp-pointer-content h3:before {
   color: #dd823b; }
@@ -258,11 +259,13 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   background-color: #dd823b; }
 
 .details.attachment {
-  box-shadow: 0 0 0 1px white, 0 0 0 5px #dd823b; }
+  -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 5px #dd823b;
+  box-shadow: 0 0 0 1px #fff, 0 0 0 5px #dd823b; }
 
 .attachment.details .check {
   background-color: #dd823b;
-  box-shadow: 0 0 0 1px white, 0 0 0 2px #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; }
 
 /* Themes */
 .theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
@@ -274,6 +277,30 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
 .theme-overlay .theme-header .close:hover, .theme-overlay .theme-header .right:hover, .theme-overlay .theme-header .left:hover {
   background: #dd823b; }
 
+.theme-section.current, .theme-filter.current {
+  border-bottom-color: #cf4944; }
+
+body.more-filters-opened .more-filters, body.more-filters-opened .more-filters:before {
+  color: #fff;
+  background-color: #cf4944; }
+
+body.more-filters-opened .more-filters:hover, body.more-filters-opened .more-filters:focus, body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .more-filters:focus:before {
+  background-color: #dd823b;
+  color: #fff; }
+
+/* Widgets */
+.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 */
+#customize-theme-controls .widget-area-select .selected {
+  background-color: #dd823b;
+  color: #fff; }
+
 /* jQuery UI Slider */
 .wp-slider .ui-slider-handle, .wp-slider .ui-slider-handle.ui-state-hover, .wp-slider .ui-slider-handle.focus {
   background: #dd823b;
index 801882ea375b111a300ea087e3912fdafdc1a16b..39dd213464e29b8c0efccbdb1955edac7ebc2f96 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1}input[type=checkbox],input[type=radio]{background:#fff;border-color:#bbb;color:#555;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}input[type=checkbox]:checked:before{color:#1e8cbe}input[type=radio]:checked:before{background-color:#1e8cbe}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#2ea2cc}.wp-ui-primary{color:#fff;background-color:#333}.wp-ui-text-primary{color:#333}.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}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{background-color:#333}#adminmenu .wp-has-current-submenu .wp-submenu a,.no-js li.wp-has-current-submenu:hover .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a{color:#bbb}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:hover,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,.no-js li.wp-has-current-submenu:hover .wp-submenu a:hover,.no-js li.wp-has-current-submenu:hover .wp-submenu a:focus,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus{background:0 0;color:#2ea2cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}.row-actions{color:#ddd}.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #dfdfdf}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#444}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#dashboard-widgets h4{color:#222}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#fff;background-color:#fff}th .comment-grey-bubble:before{color:#444}.sorting-indicator:before{color:#444}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fdfdfd}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fdfdfd}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fdfdfd}kbd,code{background:#eaeaea;background:rgba(0,0,0,.07)}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],.titlewrap input,select{border-color:#ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,#widgets-right .widget-top:hover,#widgets-left .widget-top:hover,.menu-item-bar .menu-item-handle:hover{border-color:#999}input:disabled,input.disabled,textarea:disabled,textarea.disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.accordion-section-content{border-left:0;border-right:0}.widefat tfoot th{border-bottom:0;border-top:1px solid #e1e1e1}.widefat thead th{border-bottom:1px solid #e1e1e1}.form-table th,.form-wrap label{color:#222}.form-table.editcomment td{border-bottom:0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#0074a2}.post-com-count:after{border-top:5px solid #bbb;border-right:5px solid transparent}strong .post-com-count:after{border-top:5px solid #0076a0}.post-com-count:hover:after{border-top:5px solid #2ea2cc}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}h2,h3{color:#222}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#e0e0e0}.wrap .add-new-h2:hover{background:#2ea2cc;color:#fff}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#f9f9f9}.available-theme a.screenshot{background-color:#fff;border-color:#ccc}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-right-color:#99d}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit{border:0}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#2ea2cc}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#2ea2cc}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#2ea2cc}#the-comment-list .comment-item{border:0}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}p.submit{border-top-color:#dfdfdf}.submitbox .submit{background-color:#464646;color:#ccc}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,.plugins a.delete,#all-plugins-table .plugins a.delete,#search-plugins-table .plugins a.delete,.submitbox .submitdelete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete{color:#a00}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}div.updated,.login .message,.press-this #message{background-color:#fff;border-left:4px solid #7ad03a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#update-nag,.update-nag{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)}div.error,.login #login_error{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)}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.manage-column a,th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a,.plugins .inactive a{color:#0074a2;-webkit-transition-property:border,background,color;-moz-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-moz-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wp-list-table a,.media-router a{-moz-transition:none;-webkit-transition:none;transition:none}#adminmenu a{color:#eee}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#d54e21;color:#fff}#plugin-information .action-button{background-color:#2ea2cc;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#2ea2cc;color:#fff}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.plugins .inactive a:hover{color:#2ea2cc}#wpfooter{color:#777;border-color:transparent}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.plugins .plugin-description p,.plugins .plugin-version-author-uri{color:#333}.plugins .inactive .plugin-title strong{color:#333}.plugin-update-tr .plugin-update{border:0;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugin-update-tr .update-message{background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}tr.active.update+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-update-tr .update-message:before{color:#d54e21}.plugins,.plugins th,.plugins td{color:#000}.plugins .inactive a{color:#579}.plugins tr{background:#fff}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th,.plugin-install #the-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins .update td,.plugins .update th{-webkit-box-shadow:none;box-shadow:none}.plugins .active td,.plugins .active th,tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update,#activity-widget #the-comment-list .unapproved{background-color:#fefaf7}.plugins tr.active.plugin-update-tr+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active+tr.inactive td{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 tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.update td{-webkit-box-shadow:none;box-shadow:none}.plugins .active th.check-column{border-left:4px solid #2ea2cc}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-left:4px solid #d54e21}.post-state-format:before,.post-format-icon:before{color:#ddd;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}input[type=radio]:checked+label:before{color:#888}a.post-state-format:hover:before,a.post-format-icon:hover:before{color:#2ea2cc}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:0!important;-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved th,#the-comment-list .unapproved td{background-color:#fefaf7}#the-comment-list .unapproved th.check-column{border-left:4px solid #d54e21}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list th,#the-comment-list td{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#activity-widget #the-comment-list .comment{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#the-comment-list tr:last-child th,#the-comment-list tr:last-child td{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved th,#the-comment-list tr.unapproved+tr.approved td{border-top:1px solid rgba(0,0,0,.03)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel-column p{color:#464646}.welcome-panel .welcome-icon:before{color:#888}.widget-top,.menu-item-handle,.menu-item-settings,.widget-inside,.postbox,#menu-settings-column .accordion-container,#menu-management .menu-edit,.manage-menus,table.widefat,.stuffbox,p.popular-tags,.widgets-holder-wrap,.welcome-panel,.wp-editor-container,#post-status-info,.popular-tags,.feature-filter,.imgedit-group{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)}#post-status-info{border-top:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.welcome-panel,.postbox,table.widefat,.wp-editor-container,.stuffbox,p.popular-tags,.widgets-holder-wrap,.popular-tags,.feature-filter,.imgedit-group{background:#fff}.postbox h3,#namediv h3,#submitdiv h3{border-bottom:1px solid #eee}.widget .widget-top,.menu-item-handle{background:#fafafa;color:#222}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions:before,span.wp-media-buttons-icon:before{color:#888}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}#welcome-panel.welcome-panel .welcome-panel-close::before,.tagchecklist span a:before,#bulk-titles div a:before,.wp-pointer-buttons a.close:before{background:0 0;color:#bbb}#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before,#bulk-titles div a:hover:before,.wp-pointer-buttons a.close:hover:before{color:#c00}#screen-meta{background-color:#fff;border:1px solid #ddd;border-top:0;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-back{background:#f6fbfd}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active a{border-color:#e1e1e1}.contextual-help-tabs .active{border-color:#2ea2cc;-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,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#f6fbfd;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border:1px solid #ddd;border-top:0;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 a{color:#777}#screen-meta-links a:after{color:#bbb}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333}#screen-meta-links a:focus{border-color:#aaa;color:#333;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#wphead{border-bottom-color:#dfdfdf}#wphead h1 a{color:#464646}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{background-color:#f7f7f7}.widget-inside,.menu-item-settings{background:#fff}.menu-item-settings{border-top:0}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap,#adminmenu{background-color:#222}#adminmenu li.wp-menu-separator{background:transparent;border-color:transparent}#adminmenu div.separator{border-color:transparent}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#111;color:#2ea2cc}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#333}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow div{background:#0074a2}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:transparent}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#111;border-color:#111}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{color:#fff}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-color:#666}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .opensub .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus{color:#fff;background:transparent}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#333;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu .wp-submenu a,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#bbb}#adminmenu .wp-submenu .wp-submenu-head{color:#fff}#collapse-menu{color:#aaa;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover{color:#2ea2cc}#collapse-button div:after{color:#aaa}#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}#adminmenu div.wp-menu-image:before{color:#999}.icon16:before{color:#999}#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu .current div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before{color:#fff}.wp-full-overlay a.collapse-sidebar{color:#777}.wp-full-overlay a.collapse-sidebar:hover{color:#0074a2}.wp-full-overlay .collapse-sidebar-arrow:before{background:#eee}table.diff .diff-deletedline del{background-color:#f99}.ui-tooltip,.arrow::after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-meta,.revisions-diff,.revisions.pinned .revisions-controls{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}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}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks{background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.revisions.pinned .revisions-controls{background:#fff}.revisions.pinned .revisions-meta{box-shadow:none}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#2ea2cc;border:1px solid #0074a2;-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{color:#fff}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #f1f1f1;color:#000}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information{height:auto}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border-color:#ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#2ea2cc}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#fff;background:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{}.post-com-count span{background-color:#bbb}.sortable-placeholder{border-color:#bbb}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch>a:before{color:#bbb}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fff;border-color:#fff}#widgets-left #available-widgets{background:transparent}#widgets-left .widgets-holder-wrap{border:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-name{border-bottom-color:#e1e1e1}.js #removing-widget{color:#2ea2cc}#removing-widget span{color:#000}.in-widget-title,#widgets-right .widget-top a.widget-control-edit,#wp_inactive_widgets .in-widget-title,#available-widgets .widget-description{color:#666}#widgets-right .widget-top a.widget-control-edit:hover{color:#fff}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#menu-management{background:#f5f5f5}#menu-management #post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#2ea2cc}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66}.item-type{color:#777}.item-controls .menu-item-delete:hover{color:red}.widget-action,.handlediv,.item-edit,.sidebar-name-arrow,.accordion-section-title:after{color:#aaa}.widget-action:hover,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.accordion-section-title:hover:after{color:#777}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#0074a2;border-bottom-color:#0074a2}.submitbox .submitcancel:hover{background:#0074a2;color:#fff}.manage-menus{background:#fbfbfb}.menu-settings{border-top-color:#eee}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{color:#555;border-color:#ccc;background:#e4e4e4}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active{color:#464646}.nav-tab-active,.nav-tab-active:hover{color:#000;background:0 0;border-color:#ccc;border-bottom-color:#f1f1f1}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#upload-form label{color:#777}.about-wrap h1{color:#333}.about-text{color:#777}.wp-badge{background-color:#0074a2;color:#78c8e6;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.about-wrap h2 .nav-tab-active{border-color:#ccc;border-bottom-color:#f1f1f1}.about-wrap h2,.about-wrap h3,.about-wrap h4{color:#222}.about-wrap .feature-section .col-2:before,.about-wrap .feature-section .col-2:after,.about-wrap .feature-section.two-col p:before{color:#1e8cbe}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top-color:#dfdfdf}.about-wrap li.wp-person img.gravatar{border-color:#ccc}.about-wrap li.wp-person .title{color:#464646}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.pressthis a span:before{color:#777}.imgedit-menu div{color:#777}.imgedit-menu div:hover{color:#333}.media-modal-content{background:#fcfcfc;box-shadow:0 5px 15px rgba(0,0,0,.7)}.media-menu{background:#f3f3f3;border-right-color:#ccc}.media-menu>a{color:#0074a2}.media-menu .active,.media-menu .active:hover{color:#222}.media-frame-content{background:#fff;border-top-color:#ddd;border-bottom-color:#ddd}.media-menu .separator{border-top-color:#ddd;border-bottom:0}.media-sidebar{background:#f3f3f3;border-color:#ddd}.media-router .active,.media-router>a.active:last-child{background:#fff;border:1px solid #ddd;border-bottom:0}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment .check{background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.clearlooks2{box-shadow:0 5px 15px rgba(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:#222}.clearlooks2 .mceClose:before{color:#999}.clearlooks2 .mceClose:hover:before{color:#2ea2cc}.sticky-menu #TB_window{background:#f1f1f1}a .mceIcon,.mceAction{color:#777}a .mceIcon:hover{color:#333}.login form .input,.login input[type=text],.login form input[type=checkbox]{background:#fbfbfb}.login form{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.login{background:#f1f1f1}.login #nav a,.login #backtoblog a{text-decoration:none;color:#999}.login #nav a:hover,.login #backtoblog a:hover{color:#2ea2cc}.login h1 a:hover{color:#2ea2cc}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp,#screen-meta-links a.show-settings,.widget-top a.widget-action,.widget-top a.widget-action:hover,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.meta-box-sortables .postbox:hover .handlediv,.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover,.wp_themeSkin .mceToolbar span.mce_undo,.wp_themeSkin .mceToolbar span.mce_redo,.wp_themeSkin .mceToolbar span.mce_bullist,.wp_themeSkin .mceToolbar span.mce_numlist,.wp_themeSkin .mceToolbar span.mce_blockquote,.wp_themeSkin .mceToolbar span.mce_charmap,.wp_themeSkin .mceToolbar span.mce_bold,.wp_themeSkin .mceToolbar span.mce_italic,.wp_themeSkin .mceToolbar span.mce_underline,.wp_themeSkin .mceToolbar span.mce_justifyleft,.wp_themeSkin .mceToolbar span.mce_justifyright,.wp_themeSkin .mceToolbar span.mce_justifycenter,.wp_themeSkin .mceToolbar span.mce_justifyfull,.wp_themeSkin .mceToolbar span.mce_indent,.wp_themeSkin .mceToolbar span.mce_outdent,.wp_themeSkin .mceToolbar span.mce_link,.wp_themeSkin .mceToolbar span.mce_unlink,.wp_themeSkin .mceToolbar span.mce_help,.wp_themeSkin .mceToolbar span.mce_removeformat,.wp_themeSkin .mceToolbar span.mce_fullscreen,.wp_themeSkin .mceToolbar span.mce_wp_fullscreen,.wp_themeSkin .mceToolbar span.mce_media,.wp_themeSkin .mceToolbar span.mce_pastetext,.wp_themeSkin .mceToolbar span.mce_pasteword,.wp_themeSkin .mceToolbar span.mce_wp_help,.wp_themeSkin .mceToolbar span.mce_wp_adv,.wp_themeSkin .mceToolbar span.mce_wp_more,.wp_themeSkin .mceToolbar span.mce_strikethrough,.wp_themeSkin .mceToolbar span.mce_spellchecker,.wp_themeSkin .mceToolbar span.mce_forecolor,.wp_themeSkin .mceToolbar .mce_forecolorpicker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceToolbar .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_numlist,.wp_themeSkin .mceToolbar .mceSplitButton span.mce_bullist{background:none!important}}html{background:#f1f1f1}a{color:#0074a2}a:hover,a:active,a:focus{color:#0099d5}#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover{color:#0099d5}input[type=checkbox]:checked:before{color:#dd823b}input[type=radio]:checked:before{background:#dd823b}.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active{color:#0099d5}.wp-core-ui .button-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:hover,.wp-core-ui .button-primary:focus{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#cc6c23;border-color:#ad5c1e;color:#fff;-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-primary[disabled],.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary.button-primary-disabled{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!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}.wrap .add-new-h2:hover,#add-new-comment a:hover,.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{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}#adminmenuback,#adminmenuwrap,#adminmenu{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{border-bottom-color:#f1f1f1}#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}#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}#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}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:#dd823b}#adminmenu li.wp-has-current-submenu div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;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{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: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{color:#f7e3d3;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 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 .menupop .ab-sub-wrapper{background:#be3631}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#cf6a67}#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}#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{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:#d66460}#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:#d66460;background-color:#d66460}#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}.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{box-shadow:0 0 0 1px white,0 0 0 5px #dd823b}.attachment.details .check{background-color:#dd823b;box-shadow:0 0 0 1px white,0 0 0 2px #dd823b}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#dd823b}.theme-browser .theme.add-new-theme:hover span:after{color:#dd823b}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover{background:#dd823b}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.focus{background:#dd823b;border-color:#c36822;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#dd823b}div#wp-responsive-toggle a:before{color:#f3f1f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#dd823b}.star-rating .star{color:#dd823b}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#be3631}
\ No newline at end of file
+html{background:#f1f1f1}a{color:#0074a2}#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:#0099d5}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:#0099d5}.wp-core-ui .button-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#d97326;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:active{background:#c36822;border-color:#ad5c1e;color:#fff;-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-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:#cc6c23!important;border-color:#ad5c1e!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 li.wp-has-current-submenu 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:#d66460}#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:#d66460;background-color:#d66460}#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:#d97326}.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 5px #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}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#dd823b}.theme-browser .theme.add-new-theme:hover span:after{color:#dd823b}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:hover{background:#dd823b}.theme-filter.current,.theme-section.current{border-bottom-color:#cf4944}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{color:#fff;background-color:#cf4944}.widgets-chooser li.widgets-chooser-selected,body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{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:#c36822;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}#sidemenu a.current{background:#f1f1f1;border-bottom-color:#f1f1f1}#plugin-information .action-button{background:#dd823b}div#wp-responsive-toggle a:before{color:#f3f1f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#dd823b}.star-rating .star{color:#dd823b}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#be3631}
\ No newline at end of file
index ecd031cdf85a20485b2f9c3460fde363aebcd20d..5dd8d82fc1e58adc5c3cb6ce0ecfd38a23320c2e 100644 (file)
@@ -3,5 +3,4 @@ $highlight-color: #dd823b;
 $notification-color: #ccaf0b;
 $menu-submenu-focus-text: lighten( $highlight-color, 35% );
 
-@import "../../colors.css";
 @import "../_admin.scss";
diff --git a/wp-admin/css/common-rtl.css b/wp-admin/css/common-rtl.css
new file mode 100644 (file)
index 0000000..72c6776
--- /dev/null
@@ -0,0 +1,2637 @@
+/* 2 column liquid layout */
+#wpwrap {
+       height: auto;
+       min-height: 100%;
+       width: 100%;
+       position: relative;
+       -webkit-font-smoothing: subpixel-antialiased;
+}
+
+#wpcontent {
+       height: 100%;
+}
+
+#wpcontent,
+#wpfooter {
+       margin-right: 180px;
+}
+
+.folded #wpcontent,
+.folded #wpfooter {
+       margin-right: 56px;
+}
+
+#wpbody-content {
+       padding-bottom: 65px;
+       float: right;
+       width: 100%;
+       overflow: visible !important;
+}
+
+/* inner 2 column liquid layout */
+
+.inner-sidebar {
+       float: left;
+       clear: left;
+       display: none;
+       width: 281px;
+       position: relative;
+}
+
+.columns-2 .inner-sidebar {
+       margin-left: auto;
+       width: 286px;
+       display: block;
+}
+
+.inner-sidebar #side-sortables,
+.columns-2 .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;
+}
+
+/* 2 columns main area */
+
+#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;
+}
+
+/* utility classes */
+.alignleft {
+       float: right;
+}
+
+.alignright {
+       float: left;
+}
+
+.textleft {
+       text-align: right;
+}
+
+.textright {
+       text-align: left;
+}
+
+.clear {
+       clear: both;
+}
+
+/* Hide visually but not from screen readers */
+.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: none;
+}
+
+.hidden,
+.js .closed .inside,
+.js .hide-if-js,
+.no-js .hide-if-no-js,
+.js.wp-core-ui .hide-if-js,
+.js .wp-core-ui .hide-if-js,
+.no-js.wp-core-ui .hide-if-no-js,
+.no-js .wp-core-ui .hide-if-no-js {
+       display: none;
+}
+
+/* @todo: Take a second look. Large chunks of shared color, from the colors.css merge */
+.widget-top,
+.menu-item-handle,
+.widget-inside,
+#menu-settings-column .accordion-container,
+#menu-management .menu-edit,
+.manage-menus,
+table.widefat,
+.stuffbox,
+p.popular-tags,
+.widgets-holder-wrap,
+.wp-editor-container,
+.popular-tags,
+.feature-filter,
+.imgedit-group {
+       border: 1px solid #e5e5e5;
+       -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+}
+
+table.widefat,
+.wp-editor-container,
+.stuffbox,
+p.popular-tags,
+.widgets-holder-wrap,
+.popular-tags,
+.feature-filter,
+.imgedit-group {
+       background: #fff;
+}
+
+/* general */
+html,
+body {
+       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;
+}
+
+iframe,
+img {
+       border: 0;
+}
+
+td {
+       font-family: inherit;
+       font-size: inherit;
+       font-weight: inherit;
+       line-height: inherit;
+}
+
+a {
+       color: #0074a2;
+       -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:hover,
+a:active {
+       color: #2ea2cc;
+}
+
+a:focus {
+       color: #124964;
+}
+
+a:focus,
+a:active {
+       outline: thin dotted;
+}
+
+#adminmenu a:focus,
+#adminmenu a:active,
+.screen-reader-text:focus {
+       outline: none;
+}
+
+blockquote,
+q {
+       quotes: none;
+}
+
+blockquote:before,
+blockquote:after,
+q:before,
+q:after {
+       content: '';
+       content: none;
+}
+
+p {
+       font-size: 13px;
+       line-height: 1.5;
+       margin: 1em 0;
+}
+
+blockquote {
+       margin: 1em;
+}
+
+li,
+dd {
+       margin-bottom: 6px;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+       display: block;
+       font-weight: 600;
+}
+
+h1 {
+       font-size: 2em;
+       margin: .67em 0;
+}
+
+h2 {
+       color: #222;
+       font-size: 1.5em;
+       margin: .83em 0;
+       font-weight: 400;
+}
+
+h3 {
+       color: #222;
+       font-size: 1.3em;
+       margin: 1em 0;
+}
+
+h4 {
+       font-size: 1em;
+       margin: 1.33em 0;
+}
+
+h5 {
+       font-size: 0.83em;
+       margin: 1.67em 0;
+}
+
+h6 {
+       font-size: 0.67em;
+       margin: 2.33em 0;
+}
+
+ul,
+ol {
+       padding: 0;
+}
+
+ul {
+       list-style: none;
+}
+
+ol {
+       list-style-type: decimal;
+       margin-right: 2em;
+}
+
+ul.ul-disc {
+       list-style: disc outside;
+}
+
+ul.ul-square {
+       list-style: square outside;
+}
+
+ol.ol-decimal {
+       list-style: decimal outside;
+}
+
+ul.ul-disc,
+ul.ul-square,
+ol.ol-decimal {
+       margin-right: 1.8em;
+}
+
+ul.ul-disc > li,
+ul.ul-square > li,
+ol.ol-decimal > li {
+       margin: 0 0 0.5em;
+}
+
+/* @noflip */
+.ltr {
+       direction: ltr;
+}
+
+/* @noflip */
+.code,
+code {
+       font-family: Consolas, Monaco, monospace;
+       direction: ltr;
+}
+
+kbd,
+code {
+       padding: 3px 5px 2px 5px;
+       margin: 0 1px;
+       background: #eaeaea;
+       background: rgba(0,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: normal;
+}
+
+.subsubsub a.current {
+       font-weight: 600;
+       border: none;
+}
+
+.subsubsub li {
+       display: inline-block;
+       margin: 0;
+       padding: 0;
+       white-space: nowrap;
+}
+
+/* .widefat - main style for tables */
+.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 p,
+.widefat td ol,
+.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 tbody th.check-column {
+       padding: 9px 0 22px;
+}
+
+.widefat.media .check-column {
+       padding-top: 8px;
+}
+
+.widefat thead th.check-column,
+.widefat tbody th.check-column,
+.widefat tfoot th.check-column {
+       padding: 11px 3px 0 0;
+}
+
+.widefat thead th.check-column {
+       padding-top: 10px;
+}
+
+.update-php div.updated,
+.update-php div.error {
+       margin-right: 0;
+}
+
+.no-js .widefat thead .check-column input,
+.no-js .widefat tfoot .check-column input {
+       display: none;
+}
+
+.widefat .num,
+.column-comments,
+.column-links,
+.column-posts {
+       text-align: center;
+}
+
+.widefat th#comments {
+       vertical-align: middle;
+}
+
+.wrap {
+       margin: 10px 2px 0 20px;
+}
+
+div.updated,
+div.error {
+       padding: 0 0.6em;
+       margin: 5px 15px 2px;
+}
+
+div.updated p,
+div.error p {
+       margin: 0.5em 0;
+       padding: 2px;
+}
+
+.wrap div.updated,
+.wrap div.error,
+.media-upload-form div.error {
+       margin: 5px 0 15px;
+}
+
+div.updated {
+       border-right: 4px solid #7ad03a;
+       padding: 1px 12px;
+       background-color: #fff;
+       -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);
+}
+
+div.error {
+       border-right: 4px solid #dd3d36;
+       background: #fff;
+       -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);
+       padding: 1px 12px;
+}
+
+.attention {
+       color: #2ea2cc;
+}
+
+.wrap h2,
+.subtitle {
+       font-weight: normal;
+       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: #2ea2cc;
+       color: #fff;
+}
+
+.wrap h2.long-header {
+       padding-left: 0;
+}
+
+.wp-dialog {
+       background-color: #fff;
+}
+
+.widgets-chooser ul,
+#widgets-left .widget-in-question .widget-top,
+#available-widgets .widget-top:hover,
+div#widgets-right .widget-top:hover,
+#widgets-left .widget-top:hover {
+       border-color: #999;
+       -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1);
+       box-shadow: 0 1px 2px rgba(0,0,0,0.1);
+}
+
+.sorthelper {
+       background-color: #ccf3fa;
+}
+
+.ac_match,
+.subsubsub a.current {
+       color: #000;
+}
+
+.alternate,
+.alt {
+       background-color: #f9f9f9;
+}
+
+.bar {
+       background-color: #e8e8e8;
+       border-left-color: #99d;
+}
+
+.media-upload-form label.form-help,
+td.help {
+       color: #9a9a9a;
+}
+
+/* Helper classes for plugins to leverage the active WordPress color scheme */
+
+.highlight {
+       background-color: #e4f2fd;
+       color: #000;
+}
+
+.wp-ui-primary {
+       color: #fff;
+       background-color: #333;
+}
+.wp-ui-text-primary {
+       color: #333;
+}
+
+.wp-ui-highlight {
+       color: white;
+       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;
+}
+
+/*------------------------------------------------------------------------------
+  1.0 - Text Styles
+------------------------------------------------------------------------------*/
+
+.widget .widget-top,
+.postbox h3,
+.stuffbox h3,
+.control-section .accordion-section-title,
+h3.dashboard-widget-title,
+h3.dashboard-widget-title span,
+h3.dashboard-widget-title small,
+.sidebar-name,
+#nav-menu-header,
+#nav-menu-footer,
+.menu-item-handle,
+.checkbox,
+.side-info,
+#your-profile #rich_editing,
+.widefat thead th,
+.widefat tfoot th {
+       line-height: 1.4em;
+}
+
+.widget .widget-top,
+.menu-item-handle {
+       background: #fafafa;
+       color: #222;
+}
+
+.postbox h3,
+#namediv h3,
+#submitdiv h3 {
+       border-bottom: 1px solid #eee;
+}
+
+.quicktags,
+.search {
+       background-color: #ccc;
+       color: #000;
+       font-size: 12px;
+}
+
+.icon32 {
+       display: none;
+}
+
+/* @todo can we combine these into a class or use an existing dashicon one? */
+#welcome-panel.welcome-panel .welcome-panel-close::before,
+.tagchecklist span a:before,
+#bulk-titles div a:before {
+       background: none;
+       color: #bbb;
+       content: '\f153';
+       display: block !important;
+       font: normal 16px/1 'dashicons';
+       speak: none;
+       height: 20px;
+       margin: 2px 0;
+       text-align: center;
+       width: 20px;
+       -webkit-font-smoothing: antialiased !important;
+}
+
+#welcome-panel.welcome-panel .welcome-panel-close:hover:before,
+.tagchecklist span a:hover:before,
+#bulk-titles div a:hover:before {
+       color: #c00;
+}
+
+.key-labels label {
+       line-height: 24px;
+}
+
+strong, b {
+       font-weight: 600;
+}
+
+.pre {
+       /* https://developer.mozilla.org/en-US/docs/CSS/white-space */
+       white-space: pre-wrap; /* css-3 */
+       word-wrap: break-word; /* IE 5.5 - 7 */
+}
+
+.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;
+}
+
+.row-actions span.delete a,
+.row-actions span.trash a,
+.row-actions span.spam a,
+.plugins a.delete,
+#all-plugins-table .plugins a.delete,
+#search-plugins-table .plugins a.delete,
+.submitbox .submitdelete,
+#media-items a.delete,
+#media-items a.delete-permanently,
+#nav-menu-footer .menu-delete {
+       color: #a00;
+}
+
+abbr.required,
+.file-error,
+.widget-control-remove:hover,
+.row-actions .delete a:hover,
+.row-actions .trash a:hover,
+.row-actions .spam a:hover,
+.plugins a.delete:hover,
+#all-plugins-table .plugins a.delete:hover,
+#search-plugins-table .plugins a.delete:hover,
+.submitbox .submitdelete:hover,
+#media-items a.delete:hover,
+#media-items a.delete-permanently:hover,
+#nav-menu-footer .menu-delete:hover {
+       color: #f00;
+       text-decoration: none;
+       border: none;
+}
+
+/*------------------------------------------------------------------------------
+  3.0 - Actions
+------------------------------------------------------------------------------*/
+
+#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 10px;
+       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;
+}
+
+.unapproved .approve,
+.spam .approve,
+.trash .approve {
+       display: inline;
+}
+
+td.action-links,
+th.action-links {
+       text-align: left;
+}
+
+
+/*------------------------------------------------------------------------------
+  4.0 - Notifications
+------------------------------------------------------------------------------*/
+
+#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,0.1);
+       box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
+}
+
+.update-message {
+       color: #000;
+}
+
+ul#dismissed-updates {
+       display: none;
+}
+
+form.upgrade {
+       margin-top: 8px;
+}
+
+form.upgrade .hint {
+       font-style: italic;
+       font-size: 85%;
+       margin: -0.5em 0 2em 0;
+}
+
+.update-php .spinner {
+       float: none;
+       margin: -4px 0;
+}
+
+#ajax-loading,
+.ajax-loading,
+.ajax-feedback,
+.imgedit-wait-spin,
+.list-ajax-loading { /* deprecated */
+       visibility: hidden;
+}
+
+#ajax-response.alignleft {
+       margin-right: 2em;
+}
+
+/* @todo: this does not need its own section anymore */
+/*------------------------------------------------------------------------------
+  6.0 - Admin Header
+------------------------------------------------------------------------------*/
+#adminmenu a,
+#sidemenu a,
+#taglist a,
+#catlist a {
+       text-decoration: none;
+}
+
+/*------------------------------------------------------------------------------
+  6.1 - Screen Options Tabs
+------------------------------------------------------------------------------*/
+
+#screen-options-wrap,
+#contextual-help-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: none;
+}
+
+/* screen options and help tabs revert */
+#screen-meta {
+       display: none;
+       margin: 0 0px -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);
+}
+
+#screen-options-link-wrap,
+#contextual-help-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,0.1);
+       box-shadow: 0 1px 1px -1px rgba(0,0,0,0.1);
+}
+
+#screen-meta-links .screen-meta-toggle {
+       position: relative;
+       top: 0;
+}
+
+#screen-meta-links a {
+       color: #777;
+}
+
+#screen-meta-links a:hover,
+#screen-meta-links a:active,
+#screen-meta-links a:focus {
+       color: #333;
+}
+
+#screen-meta-links a:focus {
+       border-color: #aaa;
+       -webkit-box-shadow: 0 2px 3px rgba(0,0,0,0.15);
+       box-shadow: 0 2px 3px rgba(0,0,0,0.15);
+}
+
+#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: normal 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: #bbb;
+}
+
+#screen-meta-links a.screen-meta-active:after {
+       content: '\f142';
+}
+
+#screen-meta-links a.show-settings:hover {
+       text-decoration: none;
+}
+/* end screen options and help tabs */
+
+.toggle-arrow {
+       background-repeat: no-repeat;
+       background-position: top right;
+       background-color: transparent;
+       height: 22px;
+       line-height: 22px;
+       display: block;
+}
+
+.toggle-arrow-active {
+       background-position: bottom right;
+}
+
+#screen-options-wrap h5,
+#contextual-help-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;
+}
+
+/*------------------------------------------------------------------------------
+  6.2 - Help Menu
+------------------------------------------------------------------------------*/
+
+#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: #333;
+}
+
+.contextual-help-tabs .active {
+       padding: 0;
+       margin: 0 0 0 -1px;
+       border-right: 2px solid #2ea2cc;
+       background: #f6fbfd;
+       -webkit-box-shadow: 0 2px 0 rgba(0,0,0,0.02), 0 1px 0 rgba(0,0,0,0.02);
+       box-shadow: 0 2px 0 rgba(0,0,0,0.02), 0 1px 0 rgba(0,0,0,0.02);
+}
+
+.contextual-help-tabs .active a {
+       border-color: #e1e1e1;
+       color: #333;
+}
+
+.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;
+}
+
+/*------------------------------------------------------------------------------
+  8.0 - Layout Blocks
+------------------------------------------------------------------------------*/
+
+html.wp-toolbar {
+       padding-top: 32px;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+.narrow {
+       width: 70%;
+       margin-bottom: 40px;
+}
+
+.narrow p {
+       line-height: 150%;
+}
+
+.widefat th,
+.widefat td {
+       overflow: hidden;
+       color: #555;
+}
+
+.widefat th {
+       font-weight: normal;
+}
+
+.widefat thead tr th,
+.widefat tfoot tr th {
+       color: #333;
+}
+
+.widefat td p {
+       margin: 2px 0 0.8em;
+}
+
+.widefat p,
+.widefat ol,
+.widefat ul {
+       color: #333;
+}
+
+.widefat .column-comment p {
+       margin: 0.6em 0;
+}
+
+/* Screens with postboxes */
+.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 #bbb;
+       height: 250px;
+}
+
+.metabox-holder.columns-1 .postbox-container .empty-container,
+.columns-2 #postbox-container-3 .empty-container,
+.columns-2 #postbox-container-4 .empty-container,
+.columns-3 #postbox-container-4 .empty-container {
+       border: 0 none;
+       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;
+}
+
+/* one column on the dash */
+@media only screen and (max-width: 799px) {
+       #wpbody-content .metabox-holder .postbox-container .empty-container {
+               border: 0 none;
+               height: 0;
+               min-height: 0;
+       }
+}
+
+.js .postbox .hndle {
+       cursor: move;
+}
+
+.hndle a {
+       font-size: 11px;
+       font-weight: normal;
+}
+
+.postbox .handlediv {
+       float: left;
+       width: 27px;
+       height: 30px;
+}
+
+.js .postbox .handlediv {
+       cursor: pointer;
+}
+
+.sortable-placeholder {
+       border: 1px dashed #bbb;
+       margin-bottom: 20px;
+}
+
+.postbox,
+.stuffbox {
+       margin-bottom: 20px;
+       padding: 0;
+       line-height: 1;
+}
+
+.postbox h3,
+.stuffbox h3 {
+       margin-top: 1px;
+       -webkit-user-select: none;
+       -moz-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
+}
+
+.js .widget .widget-top,
+.js .postbox h3 {
+       cursor: move;
+}
+
+.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;
+}
+
+/* @todo: what is this doing here */
+#dashboard_right_now .versions .b,
+#post-status-display,
+#post-visibility-display,
+#adminmenu .wp-submenu li.current,
+#adminmenu .wp-submenu li.current a,
+#adminmenu .wp-submenu li.current a:hover,
+.media-item .percent,
+.plugins .name,
+#pass-strength-result.strong,
+#pass-strength-result.short,
+#ed_reply_toolbar #ed_reply_strong,
+.item-controls .item-order a,
+.feature-filter .feature-name {
+       font-weight: 600;
+}
+
+/*------------------------------------------------------------------------------
+  21.0 - Admin Footer
+------------------------------------------------------------------------------*/
+
+#wpfooter {
+       position: absolute;
+       bottom: 0;
+       right: 0;
+       left: 0;
+       padding: 10px 0;
+       margin-left: 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;
+}
+
+/*------------------------------------------------------------------------------
+  25.0 - Tabbed Admin Screen Interface (Experimental)
+------------------------------------------------------------------------------*/
+
+.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 {
+       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: bold;
+       font-size: 15px;
+       line-height: 24px;
+}
+
+
+/*------------------------------------------------------------------------------
+  26.0 - Misc
+------------------------------------------------------------------------------*/
+
+.spinner {
+       background: url(../images/spinner.gif) no-repeat;
+       -webkit-background-size: 20px 20px;
+       background-size: 20px 20px;
+       display: none;
+       float: left;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
+       width: 20px;
+       height: 20px;
+       margin: 2px 5px 0;
+}
+
+#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;
+}
+
+#sidemenu {
+       margin: -30px 315px 0 15px;
+       list-style: none;
+       position: relative;
+       float: left;
+       padding-right: 10px;
+       font-size: 12px;
+}
+
+#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;
+}
+
+/* @todo: remove border radius */
+#sidemenu a.current {
+       font-weight: normal;
+       padding-right: 6px;
+       padding-left: 6px;
+       -webkit-border-top-right-radius: 3px;
+       border-top-right-radius: 3px;
+       -webkit-border-top-left-radius: 3px;
+       border-top-left-radius: 3px;
+       border: 1px solid #dfdfdf;
+       border-bottom-color: #f1f1f1;
+       background-color: #f1f1f1;
+       color: #000;
+}
+
+#sidemenu li a .count-0 {
+       display: none;
+}
+
+.plugin-install #description,
+.plugin-install-network #description {
+       width: 60%;
+}
+
+table .vers,
+table .column-visible,
+table .column-rating {
+       text-align: right;
+}
+
+.error-message {
+       color: red;
+       font-weight: 600;
+}
+
+/* Scrollbar fix for bulk upgrade iframe */
+body.iframe {
+       height: 98%;
+}
+
+/* Upgrader styles, Specific to Language Packs */
+.lp-show-latest p {
+       display: none;
+}
+.lp-show-latest p:last-child,
+.lp-show-latest .lp-error p {
+       display: block;
+}
+
+/* - Only used once or twice in all of WP - deprecate for global style
+------------------------------------------------------------------------------*/
+td.media-icon {
+       text-align: center;
+       width: 80px;
+       padding-top: 8px;
+       padding-bottom: 8px;
+}
+
+td.media-icon img {
+       max-width: 80px;
+       max-height: 60px;
+}
+
+#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;
+}
+
+/* - Used - but could/should be deprecated with a CSS reset
+------------------------------------------------------------------------------*/
+.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;
+}
+
+/* Star Ratings - Back-compat for pre-3.8 */
+div.star-holder {
+       position: relative;
+       height: 17px;
+       width: 100px;
+       background: url(../images/stars.png?ver=20121108) repeat-x bottom right;
+}
+
+div.star-holder .star-rating {
+       background: url(../images/stars.png?ver=20121108) repeat-x top right;
+       height: 17px;
+       float: right;
+}
+
+/* Star Ratings */
+.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: normal;
+       font-style: normal;
+       vertical-align: top;
+       -webkit-transition: color .1s ease-in 0;
+       transition: color .1s ease-in 0;
+       text-align: center;
+       color: #0074a2;
+}
+
+.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: normal;
+       margin: 6px 0 0;
+}
+
+/* Plugin install thickbox */
+#plugin-information {
+       background: #fcfcfc;
+       position: fixed;
+       top: 0;
+       left: 0;
+       bottom: 0;
+       right: 0;
+       height: auto;
+       padding: 0;
+}
+
+#plugin-information-title {
+       padding: 0 20px 0 76px;
+       font-size: 22px;
+       font-weight: 600;
+       line-height: 56px;
+       top: 0;
+       left: 0;
+       right: 0;
+       height: 56px;
+       overflow: hidden;
+       text-overflow: ellipsis;
+       white-space: nowrap;
+}
+
+#plugin-information-tabs {
+       padding: 0 16px;
+       position: absolute;
+       top: 56px;
+       left: 0;
+       right: 0;
+       height: 36px;
+       z-index: 1;
+}
+
+#plugin-information-tabs a {
+       position: relative;
+       float: right;
+       padding: 8px 10px 9px;
+       margin: 0;
+       height: 18px;
+       line-height: 18px;
+       font-size: 14px;
+       text-decoration: none;
+       -webkit-transition: none;
+       transition: none;
+}
+
+#plugin-information-tabs a.current {
+       margin: -1px -1px 0;
+       background: #fff;
+       border: 1px solid #ddd;
+       border-bottom: none;
+       color: #333;
+}
+
+#plugin-information-tabs a:active,
+#plugin-information-tabs a:focus {
+       outline: none;
+}
+
+#plugin-information-content {
+       background: #fff;
+       border-top: 1px solid #ddd;
+       border-bottom: 1px solid #ddd;
+       position: absolute;
+       top: 90px;
+       left: 0;
+       bottom: 58px;
+       right: 0;
+}
+
+#section-holder {
+       margin: 0;
+       padding: 10px 26px;
+       position: absolute;
+       top: 0;
+       left: 250px;
+       bottom: 0;
+       right: 0;
+       overflow: auto;
+}
+
+#section-holder .updated {
+       margin: 16px 0;
+}
+
+#plugin-information .fyi {
+       background: #f3f3f3;
+       border-right: 1px solid #ddd;
+       color: #666;
+       padding: 16px;
+       position: absolute;
+       top: 0;
+       left: 0;
+       bottom: 0;
+       width: 217px;
+       overflow: auto;
+}
+
+#plugin-information .fyi strong {
+       color: #464646;
+}
+
+#plugin-information .fyi h3 {
+       font-weight: bold;
+       text-transform: uppercase;
+       font-size: 12px;
+       color: #666;
+       margin: 24px 0 8px;
+}
+
+#plugin-information .fyi h2 {
+       font-size: 0.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-footer {
+       padding: 15px 16px;
+       position: absolute;
+       left: 0;
+       bottom: 0;
+       right: 0;
+       height: 28px;
+}
+
+#plugin-information .section ul,
+#plugin-information .section ol {
+       list-style-type: disc;
+       margin-right: 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, 0.3 );
+       box-shadow: 0 1px 2px rgba( 0, 0, 0, 0.3 );
+}
+
+#plugin-information #section-screenshots li p {
+       font-style: italic;
+       padding-right: 20px;
+}
+
+#plugin-information pre {
+       padding: 7px;
+       overflow: auto;
+       border: 1px solid #ccc;
+}
+
+.plugin-version-author-uri {
+       font-size: 13px;
+}
+
+@media screen and ( max-width: 782px ) {
+       #plugin-information-content {
+               overflow: auto;
+               bottom: 58px;
+       }
+
+       #plugin-information .fyi {
+               border: 1px solid #ddd;
+               position: static;
+               width: auto;
+               margin: 26px 26px 16px;
+       }
+
+       #section-holder {
+               position: static;
+       }
+
+       #plugin-information .fyi h3,
+       #plugin-information .fyi small {
+               display: none;
+       }
+
+       #plugin-information-footer {
+               padding: 12px 16px 0;
+               height: 46px;
+       }
+}
+
+/* Thickbox for Plugin Install screen */
+body.plugin-install-php #TB_window,
+body.import-php #TB_window,
+body.plugins-php #TB_window,
+body.update-core-php #TB_window,
+body.index-php #TB_window {
+       background: #fcfcfc url( ../images/spinner.gif ) no-repeat center;
+}
+
+@media print,
+       (-o-min-device-pixel-ratio: 5/4),
+       (-webkit-min-device-pixel-ratio: 1.25),
+       (min-resolution: 120dpi) {
+
+       body.plugin-install-php #TB_window,
+       body.import-php #TB_window,
+       body.plugins-php #TB_window,
+       body.update-core-php #TB_window,
+       body.index-php #TB_window {
+               background: #fcfcfc url( ../images/spinner-2x.gif ) no-repeat center;
+               -webkit-background-size: 20px 20px;
+               background-size: 20px 20px;
+       }
+}
+
+body.plugin-install-php #TB_title,
+body.import-php #TB_title,
+body.plugins-php #TB_title,
+body.update-core-php #TB_title,
+body.index-php #TB_title {
+       float: right;
+       height: 1px;
+}
+
+body.plugin-install-php #TB_ajaxWindowTitle,
+body.import-php #TB_ajaxWindowTitle,
+body.plugins-php #TB_ajaxWindowTitle,
+body.update-core-php #TB_ajaxWindowTitle,
+body.index-php #TB_ajaxWindowTitle {
+       display: none;
+}
+
+body.plugin-install-php .tb-close-icon,
+body.import-php .tb-close-icon,
+body.plugins-php .tb-close-icon,
+body.update-core-php .tb-close-icon,
+body.index-php .tb-close-icon {
+       line-height: 48px;
+       width: 48px;
+       height: 48px;
+}
+
+body.plugin-install-php .tb-close-icon:before,
+body.import-php .tb-close-icon:before,
+body.plugins-php .tb-close-icon:before,
+body.update-core-php .tb-close-icon:before,
+body.index-php .tb-close-icon:before {
+       line-height: 48px;
+}
+
+/* @todo: move this. */
+img {
+       border: none;
+}
+
+/* Header */
+/* @todo: are these also specific to Press This? */
+#wphead {
+       border-bottom: 1px solid #dfdfdf;
+}
+
+#wphead h1 a {
+       color: #464646;
+}
+
+/* @todo: these seem misplaced */
+.js .meta-box-sortables .postbox:hover .handlediv {
+       margin-left: 0 !important;
+}
+
+/* Metabox collapse arrow indicators */
+.js .sidebar-name .sidebar-name-arrow:before,
+.js .meta-box-sortables .postbox .handlediv:before {
+       left: 12px;
+       font: normal 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 .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow,
+.js #widgets-left .sidebar-name:hover .sidebar-name-arrow {
+       display: block;
+}
+
+/* Show the arrow only on hover */
+.js .sidebar-name .sidebar-name-arrow:before,
+.js .meta-box-sortables .postbox .handlediv:before {
+       content: '\f142';
+}
+
+.js .widgets-holder-wrap.closed .sidebar-name-arrow:before,
+.js .meta-box-sortables .postbox.closed .handlediv:before {
+       content: '\f140';
+}
+
+.error a {
+       text-decoration: underline;
+}
+
+.updated a {
+       text-decoration: none;
+       padding-bottom: 2px;
+}
+
+/* @todo: appears to be Press This only and overridden */
+#photo-add-url-div input[type="text"] {
+       width: 300px;
+}
+
+/* Theme/Plugin Editor */
+.alignleft h3 {
+       margin: 0;
+}
+
+#template textarea {
+       font-family: Consolas, Monaco, monospace;
+       font-size: 13px;
+       width: 97%;
+       background: #f9f9f9;
+       outline: none;
+}
+
+/* @noflip */
+#template textarea,
+#docs-list {
+       direction: ltr;
+}
+
+#template p {
+       width: 97%;
+}
+
+#templateside {
+       float: left;
+       width: 190px;
+       word-wrap: break-word;
+}
+
+#templateside h3,
+#postcustomstuff p.submit {
+       margin: 0;
+}
+
+#templateside h4 {
+       margin: 1em 0 0;
+}
+
+#templateside ol,
+#templateside ul {
+       margin: .5em 0;
+       padding: 0;
+}
+
+#templateside li {
+       margin: 4px 0;
+}
+
+#templateside 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: bold;
+}
+
+.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%;
+}
+
+/* @todo: can we use a common class for these? */
+.nav-menus-php .item-edit:before,
+.widget-top a.widget-action:after,
+.control-section .accordion-section-title:after,
+.accordion-section-title:after {
+       left: 0;
+       content: '\f140';
+       border: none;
+       background: none;
+       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;
+}
+
+.widget-action,
+.handlediv,
+.item-edit,
+.sidebar-name-arrow,
+.accordion-section-title:after {
+       color: #aaa;
+}
+
+.widget-action:hover,
+.handlediv:hover,
+.item-edit:hover,
+.sidebar-name:hover .sidebar-name-arrow,
+.accordion-section-title:hover:after {
+       color: #777;
+}
+
+.widget-top a.widget-action:after {
+       padding: 12px 12px 0;
+}
+
+.nav-menus-php .item-edit:before {
+       line-height: 2.1;
+}
+
+.control-section .accordion-section-title:after,
+.accordion-section-title:after {
+       float: left;
+       left: 20px;
+       top: -2px;
+}
+
+.control-section.open .accordion-section-title:after,
+#customize-info.open .accordion-section-title:after,
+.nav-menus-php .menu-item-edit-active .item-edit:before {
+       content: '\f142';
+}
+
+/* Enable draggable on IE10 touch events until it's rolled into jQuery UI core */
+.ui-sortable,
+.ui-draggable {
+       -ms-touch-action: none;
+       touch-action:     none;
+}
+
+.meta-box-sortables.ui-sortable,
+.widgets-holder-wrap .ui-draggable,
+.widgets-holder-wrap .ui-sortable,
+.menu.ui-sortable {
+       -ms-touch-action: auto;
+       touch-action:     auto;
+}
+
+.meta-box-sortables.ui-sortable .hndle,
+.menu.ui-sortable .menu-item-handle {
+       -ms-touch-action: none;
+       touch-action:     none;
+}
+
+/* Accordion */
+
+.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: none;
+}
+
+.accordion-section-title:hover:after,
+.accordion-section-title:focus:after {
+       border-color: #aaa 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:hover .accordion-section-title,
+.js .control-section .accordion-section-title:hover,
+.js .control-section.open .accordion-section-title,
+.js .control-section .accordion-section-title:focus {
+       color: #222;
+       background: #f5f5f5;
+}
+
+.control-section.open .accordion-section-title {
+       /* When expanded */
+       border-bottom: 1px solid #dfdfdf;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+/* @todo: de-duplication */
+@media only screen and (min-width: 769px) {
+       /* categories */
+       #col-left {
+               width: 35%;
+       }
+
+       #col-right {
+               width: 65%;
+       }
+}
+
+@media only screen and (max-width: 860px) {
+
+       /* categories */
+       #col-left {
+               width: 35%;
+       }
+
+       #col-right {
+               width: 65%;
+       }
+}
+
+@media only screen and (min-width: 980px) {
+
+       /* categories */
+       #col-left {
+               width: 35%;
+       }
+
+       #col-right {
+               width: 65%;
+       }
+}
+
+@media only screen and (max-width: 768px) {
+       /* categories */
+       #col-left {
+               width: 100%;
+       }
+
+       #col-right {
+               width: 100%;
+       }
+}
+
+/**
+ * HiDPI Displays
+ */
+@media print,
+  (-o-min-device-pixel-ratio: 5/4),
+  (-webkit-min-device-pixel-ratio: 1.25),
+  (min-resolution: 120dpi) {
+       /* Back-compat for pre-3.8 */
+       div.star-holder,
+       div.star-holder .star-rating {
+               background: url(../images/stars-2x.png?ver=20121108) repeat-x bottom right;
+               -webkit-background-size: 21px 37px;
+               background-size: 21px 37px;
+       }
+
+       .spinner {
+               background-image: url(../images/spinner-2x.gif);
+       }
+
+       /* @todo: evaluate - most of these were likely replaced by dashicons */
+       .curtime #timestamp,
+       #screen-meta-links a.show-settings,
+       .widget-top a.widget-action,
+       .widget-top a.widget-action:hover,
+       .sidebar-name-arrow,
+       .sidebar-name:hover .sidebar-name-arrow,
+       .meta-box-sortables .postbox:hover .handlediv,
+       .tagchecklist span a,
+       #bulk-titles div a,
+       .tagchecklist span a:hover,
+       #bulk-titles div a: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: rgba(0, 0, 0, 0) !important;
+       }
+
+       #wpwrap {
+               background: #f0f0f0;
+       }
+
+       #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;
+       }
+
+       /* Hidden Elements */
+       #screen-meta,
+       #screen-meta-links,
+       #collapse-menu,
+       .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;
+       }
+
+       /* Feedback Messages */
+       .wrap div.updated, .wrap div.error, .media-upload-form div.error {
+               margin: 20px 0 10px 0;
+               padding: 5px 10px;
+               font-size: 14px;
+               line-height: 175%;
+       }
+
+       .wrap .icon32 + h2 {
+               margin-top: -2px;
+       }
+
+       .wp-responsive-open #wpbody {
+               left: -190px;
+       }
+
+       /* General Metabox */
+       .postbox {
+               font-size: 14px;
+       }
+
+       .metabox-holder h3 {
+               padding: 12px;
+       }
+
+       .postbox .handlediv {
+               margin-top: 3px;
+       }
+
+       /* Subsubsub Nav */
+       .subsubsub {
+               font-size: 16px;
+               text-align: center;
+               margin-bottom: 15px;
+       }
+
+       /* Theme/Plugin File Editor */
+       #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;
+       }
+
+       #wpfooter {
+               display: none;
+       }
+
+       #comments-form .checkforspam {
+               display: none;
+       }
+}
+
+/* Smartphone */
+@media screen and (max-width: 600px) {
+       /* Disable horizontal scroll when responsive menu is open
+          since we push the main content off to the right. */
+       #wpwrap.wp-responsive-open {
+               overflow-x: hidden;
+       }
+
+       html.wp-toolbar {
+               padding-top: 0;
+       }
+
+       #wpbody {
+               padding-top: 46px;
+       }
+
+       /* Keep full-width boxes on Edit Post page from causing horizontal scroll */
+       div#post-body.metabox-holder.columns-1 {
+               overflow-x: hidden;
+       }
+}
diff --git a/wp-admin/css/common.css b/wp-admin/css/common.css
new file mode 100644 (file)
index 0000000..fbd77c2
--- /dev/null
@@ -0,0 +1,2637 @@
+/* 2 column liquid layout */
+#wpwrap {
+       height: auto;
+       min-height: 100%;
+       width: 100%;
+       position: relative;
+       -webkit-font-smoothing: subpixel-antialiased;
+}
+
+#wpcontent {
+       height: 100%;
+}
+
+#wpcontent,
+#wpfooter {
+       margin-left: 180px;
+}
+
+.folded #wpcontent,
+.folded #wpfooter {
+       margin-left: 56px;
+}
+
+#wpbody-content {
+       padding-bottom: 65px;
+       float: left;
+       width: 100%;
+       overflow: visible !important;
+}
+
+/* inner 2 column liquid layout */
+
+.inner-sidebar {
+       float: right;
+       clear: right;
+       display: none;
+       width: 281px;
+       position: relative;
+}
+
+.columns-2 .inner-sidebar {
+       margin-right: auto;
+       width: 286px;
+       display: block;
+}
+
+.inner-sidebar #side-sortables,
+.columns-2 .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;
+}
+
+/* 2 columns main area */
+
+#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;
+}
+
+/* utility classes */
+.alignleft {
+       float: left;
+}
+
+.alignright {
+       float: right;
+}
+
+.textleft {
+       text-align: left;
+}
+
+.textright {
+       text-align: right;
+}
+
+.clear {
+       clear: both;
+}
+
+/* Hide visually but not from screen readers */
+.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: none;
+}
+
+.hidden,
+.js .closed .inside,
+.js .hide-if-js,
+.no-js .hide-if-no-js,
+.js.wp-core-ui .hide-if-js,
+.js .wp-core-ui .hide-if-js,
+.no-js.wp-core-ui .hide-if-no-js,
+.no-js .wp-core-ui .hide-if-no-js {
+       display: none;
+}
+
+/* @todo: Take a second look. Large chunks of shared color, from the colors.css merge */
+.widget-top,
+.menu-item-handle,
+.widget-inside,
+#menu-settings-column .accordion-container,
+#menu-management .menu-edit,
+.manage-menus,
+table.widefat,
+.stuffbox,
+p.popular-tags,
+.widgets-holder-wrap,
+.wp-editor-container,
+.popular-tags,
+.feature-filter,
+.imgedit-group {
+       border: 1px solid #e5e5e5;
+       -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+}
+
+table.widefat,
+.wp-editor-container,
+.stuffbox,
+p.popular-tags,
+.widgets-holder-wrap,
+.popular-tags,
+.feature-filter,
+.imgedit-group {
+       background: #fff;
+}
+
+/* general */
+html,
+body {
+       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;
+}
+
+iframe,
+img {
+       border: 0;
+}
+
+td {
+       font-family: inherit;
+       font-size: inherit;
+       font-weight: inherit;
+       line-height: inherit;
+}
+
+a {
+       color: #0074a2;
+       -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:hover,
+a:active {
+       color: #2ea2cc;
+}
+
+a:focus {
+       color: #124964;
+}
+
+a:focus,
+a:active {
+       outline: thin dotted;
+}
+
+#adminmenu a:focus,
+#adminmenu a:active,
+.screen-reader-text:focus {
+       outline: none;
+}
+
+blockquote,
+q {
+       quotes: none;
+}
+
+blockquote:before,
+blockquote:after,
+q:before,
+q:after {
+       content: '';
+       content: none;
+}
+
+p {
+       font-size: 13px;
+       line-height: 1.5;
+       margin: 1em 0;
+}
+
+blockquote {
+       margin: 1em;
+}
+
+li,
+dd {
+       margin-bottom: 6px;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+       display: block;
+       font-weight: 600;
+}
+
+h1 {
+       font-size: 2em;
+       margin: .67em 0;
+}
+
+h2 {
+       color: #222;
+       font-size: 1.5em;
+       margin: .83em 0;
+       font-weight: 400;
+}
+
+h3 {
+       color: #222;
+       font-size: 1.3em;
+       margin: 1em 0;
+}
+
+h4 {
+       font-size: 1em;
+       margin: 1.33em 0;
+}
+
+h5 {
+       font-size: 0.83em;
+       margin: 1.67em 0;
+}
+
+h6 {
+       font-size: 0.67em;
+       margin: 2.33em 0;
+}
+
+ul,
+ol {
+       padding: 0;
+}
+
+ul {
+       list-style: none;
+}
+
+ol {
+       list-style-type: decimal;
+       margin-left: 2em;
+}
+
+ul.ul-disc {
+       list-style: disc outside;
+}
+
+ul.ul-square {
+       list-style: square outside;
+}
+
+ol.ol-decimal {
+       list-style: decimal outside;
+}
+
+ul.ul-disc,
+ul.ul-square,
+ol.ol-decimal {
+       margin-left: 1.8em;
+}
+
+ul.ul-disc > li,
+ul.ul-square > li,
+ol.ol-decimal > li {
+       margin: 0 0 0.5em;
+}
+
+/* @noflip */
+.ltr {
+       direction: ltr;
+}
+
+/* @noflip */
+.code,
+code {
+       font-family: Consolas, Monaco, monospace;
+       direction: ltr;
+}
+
+kbd,
+code {
+       padding: 3px 5px 2px 5px;
+       margin: 0 1px;
+       background: #eaeaea;
+       background: rgba(0,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: normal;
+}
+
+.subsubsub a.current {
+       font-weight: 600;
+       border: none;
+}
+
+.subsubsub li {
+       display: inline-block;
+       margin: 0;
+       padding: 0;
+       white-space: nowrap;
+}
+
+/* .widefat - main style for tables */
+.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 p,
+.widefat td ol,
+.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 tbody th.check-column {
+       padding: 9px 0 22px;
+}
+
+.widefat.media .check-column {
+       padding-top: 8px;
+}
+
+.widefat thead th.check-column,
+.widefat tbody th.check-column,
+.widefat tfoot th.check-column {
+       padding: 11px 0 0 3px;
+}
+
+.widefat thead th.check-column {
+       padding-top: 10px;
+}
+
+.update-php div.updated,
+.update-php div.error {
+       margin-left: 0;
+}
+
+.no-js .widefat thead .check-column input,
+.no-js .widefat tfoot .check-column input {
+       display: none;
+}
+
+.widefat .num,
+.column-comments,
+.column-links,
+.column-posts {
+       text-align: center;
+}
+
+.widefat th#comments {
+       vertical-align: middle;
+}
+
+.wrap {
+       margin: 10px 20px 0 2px;
+}
+
+div.updated,
+div.error {
+       padding: 0 0.6em;
+       margin: 5px 15px 2px;
+}
+
+div.updated p,
+div.error p {
+       margin: 0.5em 0;
+       padding: 2px;
+}
+
+.wrap div.updated,
+.wrap div.error,
+.media-upload-form div.error {
+       margin: 5px 0 15px;
+}
+
+div.updated {
+       border-left: 4px solid #7ad03a;
+       padding: 1px 12px;
+       background-color: #fff;
+       -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);
+}
+
+div.error {
+       border-left: 4px solid #dd3d36;
+       background: #fff;
+       -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);
+       padding: 1px 12px;
+}
+
+.attention {
+       color: #2ea2cc;
+}
+
+.wrap h2,
+.subtitle {
+       font-weight: normal;
+       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: #2ea2cc;
+       color: #fff;
+}
+
+.wrap h2.long-header {
+       padding-right: 0;
+}
+
+.wp-dialog {
+       background-color: #fff;
+}
+
+.widgets-chooser ul,
+#widgets-left .widget-in-question .widget-top,
+#available-widgets .widget-top:hover,
+div#widgets-right .widget-top:hover,
+#widgets-left .widget-top:hover {
+       border-color: #999;
+       -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1);
+       box-shadow: 0 1px 2px rgba(0,0,0,0.1);
+}
+
+.sorthelper {
+       background-color: #ccf3fa;
+}
+
+.ac_match,
+.subsubsub a.current {
+       color: #000;
+}
+
+.alternate,
+.alt {
+       background-color: #f9f9f9;
+}
+
+.bar {
+       background-color: #e8e8e8;
+       border-right-color: #99d;
+}
+
+.media-upload-form label.form-help,
+td.help {
+       color: #9a9a9a;
+}
+
+/* Helper classes for plugins to leverage the active WordPress color scheme */
+
+.highlight {
+       background-color: #e4f2fd;
+       color: #000;
+}
+
+.wp-ui-primary {
+       color: #fff;
+       background-color: #333;
+}
+.wp-ui-text-primary {
+       color: #333;
+}
+
+.wp-ui-highlight {
+       color: white;
+       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;
+}
+
+/*------------------------------------------------------------------------------
+  1.0 - Text Styles
+------------------------------------------------------------------------------*/
+
+.widget .widget-top,
+.postbox h3,
+.stuffbox h3,
+.control-section .accordion-section-title,
+h3.dashboard-widget-title,
+h3.dashboard-widget-title span,
+h3.dashboard-widget-title small,
+.sidebar-name,
+#nav-menu-header,
+#nav-menu-footer,
+.menu-item-handle,
+.checkbox,
+.side-info,
+#your-profile #rich_editing,
+.widefat thead th,
+.widefat tfoot th {
+       line-height: 1.4em;
+}
+
+.widget .widget-top,
+.menu-item-handle {
+       background: #fafafa;
+       color: #222;
+}
+
+.postbox h3,
+#namediv h3,
+#submitdiv h3 {
+       border-bottom: 1px solid #eee;
+}
+
+.quicktags,
+.search {
+       background-color: #ccc;
+       color: #000;
+       font-size: 12px;
+}
+
+.icon32 {
+       display: none;
+}
+
+/* @todo can we combine these into a class or use an existing dashicon one? */
+#welcome-panel.welcome-panel .welcome-panel-close::before,
+.tagchecklist span a:before,
+#bulk-titles div a:before {
+       background: none;
+       color: #bbb;
+       content: '\f153';
+       display: block !important;
+       font: normal 16px/1 'dashicons';
+       speak: none;
+       height: 20px;
+       margin: 2px 0;
+       text-align: center;
+       width: 20px;
+       -webkit-font-smoothing: antialiased !important;
+}
+
+#welcome-panel.welcome-panel .welcome-panel-close:hover:before,
+.tagchecklist span a:hover:before,
+#bulk-titles div a:hover:before {
+       color: #c00;
+}
+
+.key-labels label {
+       line-height: 24px;
+}
+
+strong, b {
+       font-weight: 600;
+}
+
+.pre {
+       /* https://developer.mozilla.org/en-US/docs/CSS/white-space */
+       white-space: pre-wrap; /* css-3 */
+       word-wrap: break-word; /* IE 5.5 - 7 */
+}
+
+.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;
+}
+
+.row-actions span.delete a,
+.row-actions span.trash a,
+.row-actions span.spam a,
+.plugins a.delete,
+#all-plugins-table .plugins a.delete,
+#search-plugins-table .plugins a.delete,
+.submitbox .submitdelete,
+#media-items a.delete,
+#media-items a.delete-permanently,
+#nav-menu-footer .menu-delete {
+       color: #a00;
+}
+
+abbr.required,
+.file-error,
+.widget-control-remove:hover,
+.row-actions .delete a:hover,
+.row-actions .trash a:hover,
+.row-actions .spam a:hover,
+.plugins a.delete:hover,
+#all-plugins-table .plugins a.delete:hover,
+#search-plugins-table .plugins a.delete:hover,
+.submitbox .submitdelete:hover,
+#media-items a.delete:hover,
+#media-items a.delete-permanently:hover,
+#nav-menu-footer .menu-delete:hover {
+       color: #f00;
+       text-decoration: none;
+       border: none;
+}
+
+/*------------------------------------------------------------------------------
+  3.0 - Actions
+------------------------------------------------------------------------------*/
+
+#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 10px;
+       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;
+}
+
+.unapproved .approve,
+.spam .approve,
+.trash .approve {
+       display: inline;
+}
+
+td.action-links,
+th.action-links {
+       text-align: right;
+}
+
+
+/*------------------------------------------------------------------------------
+  4.0 - Notifications
+------------------------------------------------------------------------------*/
+
+#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,0.1);
+       box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
+}
+
+.update-message {
+       color: #000;
+}
+
+ul#dismissed-updates {
+       display: none;
+}
+
+form.upgrade {
+       margin-top: 8px;
+}
+
+form.upgrade .hint {
+       font-style: italic;
+       font-size: 85%;
+       margin: -0.5em 0 2em 0;
+}
+
+.update-php .spinner {
+       float: none;
+       margin: -4px 0;
+}
+
+#ajax-loading,
+.ajax-loading,
+.ajax-feedback,
+.imgedit-wait-spin,
+.list-ajax-loading { /* deprecated */
+       visibility: hidden;
+}
+
+#ajax-response.alignleft {
+       margin-left: 2em;
+}
+
+/* @todo: this does not need its own section anymore */
+/*------------------------------------------------------------------------------
+  6.0 - Admin Header
+------------------------------------------------------------------------------*/
+#adminmenu a,
+#sidemenu a,
+#taglist a,
+#catlist a {
+       text-decoration: none;
+}
+
+/*------------------------------------------------------------------------------
+  6.1 - Screen Options Tabs
+------------------------------------------------------------------------------*/
+
+#screen-options-wrap,
+#contextual-help-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: none;
+}
+
+/* screen options and help tabs revert */
+#screen-meta {
+       display: none;
+       margin: 0 20px -1px 0px;
+       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);
+}
+
+#screen-options-link-wrap,
+#contextual-help-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,0.1);
+       box-shadow: 0 1px 1px -1px rgba(0,0,0,0.1);
+}
+
+#screen-meta-links .screen-meta-toggle {
+       position: relative;
+       top: 0;
+}
+
+#screen-meta-links a {
+       color: #777;
+}
+
+#screen-meta-links a:hover,
+#screen-meta-links a:active,
+#screen-meta-links a:focus {
+       color: #333;
+}
+
+#screen-meta-links a:focus {
+       border-color: #aaa;
+       -webkit-box-shadow: 0 2px 3px rgba(0,0,0,0.15);
+       box-shadow: 0 2px 3px rgba(0,0,0,0.15);
+}
+
+#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: normal 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: #bbb;
+}
+
+#screen-meta-links a.screen-meta-active:after {
+       content: '\f142';
+}
+
+#screen-meta-links a.show-settings:hover {
+       text-decoration: none;
+}
+/* end screen options and help tabs */
+
+.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;
+}
+
+#screen-options-wrap h5,
+#contextual-help-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;
+}
+
+/*------------------------------------------------------------------------------
+  6.2 - Help Menu
+------------------------------------------------------------------------------*/
+
+#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: #333;
+}
+
+.contextual-help-tabs .active {
+       padding: 0;
+       margin: 0 -1px 0 0;
+       border-left: 2px solid #2ea2cc;
+       background: #f6fbfd;
+       -webkit-box-shadow: 0 2px 0 rgba(0,0,0,0.02), 0 1px 0 rgba(0,0,0,0.02);
+       box-shadow: 0 2px 0 rgba(0,0,0,0.02), 0 1px 0 rgba(0,0,0,0.02);
+}
+
+.contextual-help-tabs .active a {
+       border-color: #e1e1e1;
+       color: #333;
+}
+
+.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;
+}
+
+/*------------------------------------------------------------------------------
+  8.0 - Layout Blocks
+------------------------------------------------------------------------------*/
+
+html.wp-toolbar {
+       padding-top: 32px;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+.narrow {
+       width: 70%;
+       margin-bottom: 40px;
+}
+
+.narrow p {
+       line-height: 150%;
+}
+
+.widefat th,
+.widefat td {
+       overflow: hidden;
+       color: #555;
+}
+
+.widefat th {
+       font-weight: normal;
+}
+
+.widefat thead tr th,
+.widefat tfoot tr th {
+       color: #333;
+}
+
+.widefat td p {
+       margin: 2px 0 0.8em;
+}
+
+.widefat p,
+.widefat ol,
+.widefat ul {
+       color: #333;
+}
+
+.widefat .column-comment p {
+       margin: 0.6em 0;
+}
+
+/* Screens with postboxes */
+.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 #bbb;
+       height: 250px;
+}
+
+.metabox-holder.columns-1 .postbox-container .empty-container,
+.columns-2 #postbox-container-3 .empty-container,
+.columns-2 #postbox-container-4 .empty-container,
+.columns-3 #postbox-container-4 .empty-container {
+       border: 0 none;
+       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;
+}
+
+/* one column on the dash */
+@media only screen and (max-width: 799px) {
+       #wpbody-content .metabox-holder .postbox-container .empty-container {
+               border: 0 none;
+               height: 0;
+               min-height: 0;
+       }
+}
+
+.js .postbox .hndle {
+       cursor: move;
+}
+
+.hndle a {
+       font-size: 11px;
+       font-weight: normal;
+}
+
+.postbox .handlediv {
+       float: right;
+       width: 27px;
+       height: 30px;
+}
+
+.js .postbox .handlediv {
+       cursor: pointer;
+}
+
+.sortable-placeholder {
+       border: 1px dashed #bbb;
+       margin-bottom: 20px;
+}
+
+.postbox,
+.stuffbox {
+       margin-bottom: 20px;
+       padding: 0;
+       line-height: 1;
+}
+
+.postbox h3,
+.stuffbox h3 {
+       margin-top: 1px;
+       -webkit-user-select: none;
+       -moz-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
+}
+
+.js .widget .widget-top,
+.js .postbox h3 {
+       cursor: move;
+}
+
+.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;
+}
+
+/* @todo: what is this doing here */
+#dashboard_right_now .versions .b,
+#post-status-display,
+#post-visibility-display,
+#adminmenu .wp-submenu li.current,
+#adminmenu .wp-submenu li.current a,
+#adminmenu .wp-submenu li.current a:hover,
+.media-item .percent,
+.plugins .name,
+#pass-strength-result.strong,
+#pass-strength-result.short,
+#ed_reply_toolbar #ed_reply_strong,
+.item-controls .item-order a,
+.feature-filter .feature-name {
+       font-weight: 600;
+}
+
+/*------------------------------------------------------------------------------
+  21.0 - Admin Footer
+------------------------------------------------------------------------------*/
+
+#wpfooter {
+       position: absolute;
+       bottom: 0;
+       left: 0;
+       right: 0;
+       padding: 10px 0;
+       margin-right: 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;
+}
+
+/*------------------------------------------------------------------------------
+  25.0 - Tabbed Admin Screen Interface (Experimental)
+------------------------------------------------------------------------------*/
+
+.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 {
+       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: bold;
+       font-size: 15px;
+       line-height: 24px;
+}
+
+
+/*------------------------------------------------------------------------------
+  26.0 - Misc
+------------------------------------------------------------------------------*/
+
+.spinner {
+       background: url(../images/spinner.gif) no-repeat;
+       -webkit-background-size: 20px 20px;
+       background-size: 20px 20px;
+       display: none;
+       float: right;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
+       width: 20px;
+       height: 20px;
+       margin: 2px 5px 0;
+}
+
+#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;
+}
+
+#sidemenu {
+       margin: -30px 15px 0 315px;
+       list-style: none;
+       position: relative;
+       float: right;
+       padding-left: 10px;
+       font-size: 12px;
+}
+
+#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;
+}
+
+/* @todo: remove border radius */
+#sidemenu a.current {
+       font-weight: normal;
+       padding-left: 6px;
+       padding-right: 6px;
+       -webkit-border-top-left-radius: 3px;
+       border-top-left-radius: 3px;
+       -webkit-border-top-right-radius: 3px;
+       border-top-right-radius: 3px;
+       border: 1px solid #dfdfdf;
+       border-bottom-color: #f1f1f1;
+       background-color: #f1f1f1;
+       color: #000;
+}
+
+#sidemenu li a .count-0 {
+       display: none;
+}
+
+.plugin-install #description,
+.plugin-install-network #description {
+       width: 60%;
+}
+
+table .vers,
+table .column-visible,
+table .column-rating {
+       text-align: left;
+}
+
+.error-message {
+       color: red;
+       font-weight: 600;
+}
+
+/* Scrollbar fix for bulk upgrade iframe */
+body.iframe {
+       height: 98%;
+}
+
+/* Upgrader styles, Specific to Language Packs */
+.lp-show-latest p {
+       display: none;
+}
+.lp-show-latest p:last-child,
+.lp-show-latest .lp-error p {
+       display: block;
+}
+
+/* - Only used once or twice in all of WP - deprecate for global style
+------------------------------------------------------------------------------*/
+td.media-icon {
+       text-align: center;
+       width: 80px;
+       padding-top: 8px;
+       padding-bottom: 8px;
+}
+
+td.media-icon img {
+       max-width: 80px;
+       max-height: 60px;
+}
+
+#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;
+}
+
+/* - Used - but could/should be deprecated with a CSS reset
+------------------------------------------------------------------------------*/
+.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;
+}
+
+/* Star Ratings - Back-compat for pre-3.8 */
+div.star-holder {
+       position: relative;
+       height: 17px;
+       width: 100px;
+       background: url(../images/stars.png?ver=20121108) repeat-x bottom left;
+}
+
+div.star-holder .star-rating {
+       background: url(../images/stars.png?ver=20121108) repeat-x top left;
+       height: 17px;
+       float: left;
+}
+
+/* Star Ratings */
+.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: normal;
+       font-style: normal;
+       vertical-align: top;
+       -webkit-transition: color .1s ease-in 0;
+       transition: color .1s ease-in 0;
+       text-align: center;
+       color: #0074a2;
+}
+
+.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: normal;
+       margin: 6px 0 0;
+}
+
+/* Plugin install thickbox */
+#plugin-information {
+       background: #fcfcfc;
+       position: fixed;
+       top: 0;
+       right: 0;
+       bottom: 0;
+       left: 0;
+       height: auto;
+       padding: 0;
+}
+
+#plugin-information-title {
+       padding: 0 76px 0 20px;
+       font-size: 22px;
+       font-weight: 600;
+       line-height: 56px;
+       top: 0;
+       right: 0;
+       left: 0;
+       height: 56px;
+       overflow: hidden;
+       text-overflow: ellipsis;
+       white-space: nowrap;
+}
+
+#plugin-information-tabs {
+       padding: 0 16px;
+       position: absolute;
+       top: 56px;
+       right: 0;
+       left: 0;
+       height: 36px;
+       z-index: 1;
+}
+
+#plugin-information-tabs a {
+       position: relative;
+       float: left;
+       padding: 8px 10px 9px;
+       margin: 0;
+       height: 18px;
+       line-height: 18px;
+       font-size: 14px;
+       text-decoration: none;
+       -webkit-transition: none;
+       transition: none;
+}
+
+#plugin-information-tabs a.current {
+       margin: -1px -1px 0;
+       background: #fff;
+       border: 1px solid #ddd;
+       border-bottom: none;
+       color: #333;
+}
+
+#plugin-information-tabs a:active,
+#plugin-information-tabs a:focus {
+       outline: none;
+}
+
+#plugin-information-content {
+       background: #fff;
+       border-top: 1px solid #ddd;
+       border-bottom: 1px solid #ddd;
+       position: absolute;
+       top: 90px;
+       right: 0;
+       bottom: 58px;
+       left: 0;
+}
+
+#section-holder {
+       margin: 0;
+       padding: 10px 26px;
+       position: absolute;
+       top: 0;
+       right: 250px;
+       bottom: 0;
+       left: 0;
+       overflow: auto;
+}
+
+#section-holder .updated {
+       margin: 16px 0;
+}
+
+#plugin-information .fyi {
+       background: #f3f3f3;
+       border-left: 1px solid #ddd;
+       color: #666;
+       padding: 16px;
+       position: absolute;
+       top: 0;
+       right: 0;
+       bottom: 0;
+       width: 217px;
+       overflow: auto;
+}
+
+#plugin-information .fyi strong {
+       color: #464646;
+}
+
+#plugin-information .fyi h3 {
+       font-weight: bold;
+       text-transform: uppercase;
+       font-size: 12px;
+       color: #666;
+       margin: 24px 0 8px;
+}
+
+#plugin-information .fyi h2 {
+       font-size: 0.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-footer {
+       padding: 15px 16px;
+       position: absolute;
+       right: 0;
+       bottom: 0;
+       left: 0;
+       height: 28px;
+}
+
+#plugin-information .section ul,
+#plugin-information .section ol {
+       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, 0.3 );
+       box-shadow: 0 1px 2px rgba( 0, 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-version-author-uri {
+       font-size: 13px;
+}
+
+@media screen and ( max-width: 782px ) {
+       #plugin-information-content {
+               overflow: auto;
+               bottom: 58px;
+       }
+
+       #plugin-information .fyi {
+               border: 1px solid #ddd;
+               position: static;
+               width: auto;
+               margin: 26px 26px 16px;
+       }
+
+       #section-holder {
+               position: static;
+       }
+
+       #plugin-information .fyi h3,
+       #plugin-information .fyi small {
+               display: none;
+       }
+
+       #plugin-information-footer {
+               padding: 12px 16px 0;
+               height: 46px;
+       }
+}
+
+/* Thickbox for Plugin Install screen */
+body.plugin-install-php #TB_window,
+body.import-php #TB_window,
+body.plugins-php #TB_window,
+body.update-core-php #TB_window,
+body.index-php #TB_window {
+       background: #fcfcfc url( ../images/spinner.gif ) no-repeat center;
+}
+
+@media print,
+       (-o-min-device-pixel-ratio: 5/4),
+       (-webkit-min-device-pixel-ratio: 1.25),
+       (min-resolution: 120dpi) {
+
+       body.plugin-install-php #TB_window,
+       body.import-php #TB_window,
+       body.plugins-php #TB_window,
+       body.update-core-php #TB_window,
+       body.index-php #TB_window {
+               background: #fcfcfc url( ../images/spinner-2x.gif ) no-repeat center;
+               -webkit-background-size: 20px 20px;
+               background-size: 20px 20px;
+       }
+}
+
+body.plugin-install-php #TB_title,
+body.import-php #TB_title,
+body.plugins-php #TB_title,
+body.update-core-php #TB_title,
+body.index-php #TB_title {
+       float: left;
+       height: 1px;
+}
+
+body.plugin-install-php #TB_ajaxWindowTitle,
+body.import-php #TB_ajaxWindowTitle,
+body.plugins-php #TB_ajaxWindowTitle,
+body.update-core-php #TB_ajaxWindowTitle,
+body.index-php #TB_ajaxWindowTitle {
+       display: none;
+}
+
+body.plugin-install-php .tb-close-icon,
+body.import-php .tb-close-icon,
+body.plugins-php .tb-close-icon,
+body.update-core-php .tb-close-icon,
+body.index-php .tb-close-icon {
+       line-height: 48px;
+       width: 48px;
+       height: 48px;
+}
+
+body.plugin-install-php .tb-close-icon:before,
+body.import-php .tb-close-icon:before,
+body.plugins-php .tb-close-icon:before,
+body.update-core-php .tb-close-icon:before,
+body.index-php .tb-close-icon:before {
+       line-height: 48px;
+}
+
+/* @todo: move this. */
+img {
+       border: none;
+}
+
+/* Header */
+/* @todo: are these also specific to Press This? */
+#wphead {
+       border-bottom: 1px solid #dfdfdf;
+}
+
+#wphead h1 a {
+       color: #464646;
+}
+
+/* @todo: these seem misplaced */
+.js .meta-box-sortables .postbox:hover .handlediv {
+       margin-right: 0 !important;
+}
+
+/* Metabox collapse arrow indicators */
+.js .sidebar-name .sidebar-name-arrow:before,
+.js .meta-box-sortables .postbox .handlediv:before {
+       right: 12px;
+       font: normal 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 .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow,
+.js #widgets-left .sidebar-name:hover .sidebar-name-arrow {
+       display: block;
+}
+
+/* Show the arrow only on hover */
+.js .sidebar-name .sidebar-name-arrow:before,
+.js .meta-box-sortables .postbox .handlediv:before {
+       content: '\f142';
+}
+
+.js .widgets-holder-wrap.closed .sidebar-name-arrow:before,
+.js .meta-box-sortables .postbox.closed .handlediv:before {
+       content: '\f140';
+}
+
+.error a {
+       text-decoration: underline;
+}
+
+.updated a {
+       text-decoration: none;
+       padding-bottom: 2px;
+}
+
+/* @todo: appears to be Press This only and overridden */
+#photo-add-url-div input[type="text"] {
+       width: 300px;
+}
+
+/* Theme/Plugin Editor */
+.alignleft h3 {
+       margin: 0;
+}
+
+#template textarea {
+       font-family: Consolas, Monaco, monospace;
+       font-size: 13px;
+       width: 97%;
+       background: #f9f9f9;
+       outline: none;
+}
+
+/* @noflip */
+#template textarea,
+#docs-list {
+       direction: ltr;
+}
+
+#template p {
+       width: 97%;
+}
+
+#templateside {
+       float: right;
+       width: 190px;
+       word-wrap: break-word;
+}
+
+#templateside h3,
+#postcustomstuff p.submit {
+       margin: 0;
+}
+
+#templateside h4 {
+       margin: 1em 0 0;
+}
+
+#templateside ol,
+#templateside ul {
+       margin: .5em 0;
+       padding: 0;
+}
+
+#templateside li {
+       margin: 4px 0;
+}
+
+#templateside 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: bold;
+}
+
+.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%;
+}
+
+/* @todo: can we use a common class for these? */
+.nav-menus-php .item-edit:before,
+.widget-top a.widget-action:after,
+.control-section .accordion-section-title:after,
+.accordion-section-title:after {
+       right: 0;
+       content: '\f140';
+       border: none;
+       background: none;
+       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;
+}
+
+.widget-action,
+.handlediv,
+.item-edit,
+.sidebar-name-arrow,
+.accordion-section-title:after {
+       color: #aaa;
+}
+
+.widget-action:hover,
+.handlediv:hover,
+.item-edit:hover,
+.sidebar-name:hover .sidebar-name-arrow,
+.accordion-section-title:hover:after {
+       color: #777;
+}
+
+.widget-top a.widget-action:after {
+       padding: 12px 12px 0;
+}
+
+.nav-menus-php .item-edit:before {
+       line-height: 2.1;
+}
+
+.control-section .accordion-section-title:after,
+.accordion-section-title:after {
+       float: right;
+       right: 20px;
+       top: -2px;
+}
+
+.control-section.open .accordion-section-title:after,
+#customize-info.open .accordion-section-title:after,
+.nav-menus-php .menu-item-edit-active .item-edit:before {
+       content: '\f142';
+}
+
+/* Enable draggable on IE10 touch events until it's rolled into jQuery UI core */
+.ui-sortable,
+.ui-draggable {
+       -ms-touch-action: none;
+       touch-action:     none;
+}
+
+.meta-box-sortables.ui-sortable,
+.widgets-holder-wrap .ui-draggable,
+.widgets-holder-wrap .ui-sortable,
+.menu.ui-sortable {
+       -ms-touch-action: auto;
+       touch-action:     auto;
+}
+
+.meta-box-sortables.ui-sortable .hndle,
+.menu.ui-sortable .menu-item-handle {
+       -ms-touch-action: none;
+       touch-action:     none;
+}
+
+/* Accordion */
+
+.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: none;
+}
+
+.accordion-section-title:hover:after,
+.accordion-section-title:focus:after {
+       border-color: #aaa 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:hover .accordion-section-title,
+.js .control-section .accordion-section-title:hover,
+.js .control-section.open .accordion-section-title,
+.js .control-section .accordion-section-title:focus {
+       color: #222;
+       background: #f5f5f5;
+}
+
+.control-section.open .accordion-section-title {
+       /* When expanded */
+       border-bottom: 1px solid #dfdfdf;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+/* @todo: de-duplication */
+@media only screen and (min-width: 769px) {
+       /* categories */
+       #col-left {
+               width: 35%;
+       }
+
+       #col-right {
+               width: 65%;
+       }
+}
+
+@media only screen and (max-width: 860px) {
+
+       /* categories */
+       #col-left {
+               width: 35%;
+       }
+
+       #col-right {
+               width: 65%;
+       }
+}
+
+@media only screen and (min-width: 980px) {
+
+       /* categories */
+       #col-left {
+               width: 35%;
+       }
+
+       #col-right {
+               width: 65%;
+       }
+}
+
+@media only screen and (max-width: 768px) {
+       /* categories */
+       #col-left {
+               width: 100%;
+       }
+
+       #col-right {
+               width: 100%;
+       }
+}
+
+/**
+ * HiDPI Displays
+ */
+@media print,
+  (-o-min-device-pixel-ratio: 5/4),
+  (-webkit-min-device-pixel-ratio: 1.25),
+  (min-resolution: 120dpi) {
+       /* Back-compat for pre-3.8 */
+       div.star-holder,
+       div.star-holder .star-rating {
+               background: url(../images/stars-2x.png?ver=20121108) repeat-x bottom left;
+               -webkit-background-size: 21px 37px;
+               background-size: 21px 37px;
+       }
+
+       .spinner {
+               background-image: url(../images/spinner-2x.gif);
+       }
+
+       /* @todo: evaluate - most of these were likely replaced by dashicons */
+       .curtime #timestamp,
+       #screen-meta-links a.show-settings,
+       .widget-top a.widget-action,
+       .widget-top a.widget-action:hover,
+       .sidebar-name-arrow,
+       .sidebar-name:hover .sidebar-name-arrow,
+       .meta-box-sortables .postbox:hover .handlediv,
+       .tagchecklist span a,
+       #bulk-titles div a,
+       .tagchecklist span a:hover,
+       #bulk-titles div a: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: rgba(0, 0, 0, 0) !important;
+       }
+
+       #wpwrap {
+               background: #f0f0f0;
+       }
+
+       #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;
+       }
+
+       /* Hidden Elements */
+       #screen-meta,
+       #screen-meta-links,
+       #collapse-menu,
+       .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;
+       }
+
+       /* Feedback Messages */
+       .wrap div.updated, .wrap div.error, .media-upload-form div.error {
+               margin: 20px 0 10px 0;
+               padding: 5px 10px;
+               font-size: 14px;
+               line-height: 175%;
+       }
+
+       .wrap .icon32 + h2 {
+               margin-top: -2px;
+       }
+
+       .wp-responsive-open #wpbody {
+               right: -190px;
+       }
+
+       /* General Metabox */
+       .postbox {
+               font-size: 14px;
+       }
+
+       .metabox-holder h3 {
+               padding: 12px;
+       }
+
+       .postbox .handlediv {
+               margin-top: 3px;
+       }
+
+       /* Subsubsub Nav */
+       .subsubsub {
+               font-size: 16px;
+               text-align: center;
+               margin-bottom: 15px;
+       }
+
+       /* Theme/Plugin File Editor */
+       #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;
+       }
+
+       #wpfooter {
+               display: none;
+       }
+
+       #comments-form .checkforspam {
+               display: none;
+       }
+}
+
+/* Smartphone */
+@media screen and (max-width: 600px) {
+       /* Disable horizontal scroll when responsive menu is open
+          since we push the main content off to the right. */
+       #wpwrap.wp-responsive-open {
+               overflow-x: hidden;
+       }
+
+       html.wp-toolbar {
+               padding-top: 0;
+       }
+
+       #wpbody {
+               padding-top: 46px;
+       }
+
+       /* Keep full-width boxes on Edit Post page from causing horizontal scroll */
+       div#post-body.metabox-holder.columns-1 {
+               overflow-x: hidden;
+       }
+}
index 25182144653b9867414b45daffeffa13a4e5dd9d..f3108a38c3680496f8a808e6466c3fd8bbe94004 100644 (file)
@@ -84,8 +84,8 @@ body {
 }
 
 #customize-theme-controls {
-       -webkit-box-shadow: 0px 1px 1px -1px rgba(0, 0, 0, 0.1);
-       box-shadow:         0px 1px 1px -1px rgba(0, 0, 0, 0.1);
+       -webkit-box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
+       box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
 }
 
 #customize-theme-controls .control-section {
@@ -170,6 +170,10 @@ body {
        line-height: 28px;
 }
 
+.customize-control select[multiple] {
+       height: auto;
+}
+
 .customize-control-title {
        display: block;
        font-size: 14px;
@@ -218,7 +222,9 @@ body {
 .collapse-sidebar {
        background-color: transparent !important;
        border: none !important;
+       -webkit-box-shadow: none !important;
        box-shadow: none !important;
+       -webkit-border-radius: !important 0;
        border-radius: !important 0;
 }
 
@@ -256,6 +262,7 @@ body {
        border: 2px solid #eeeeee;
        -webkit-user-select: none;
        -moz-user-select: none;
+       -ms-user-select: none;
        user-select: none;
 }
 
@@ -423,10 +430,7 @@ body {
 .accordion-section .customize-control-image .upload-dropzone.supports-drag-drop {
        display: block;
        -webkit-transition: border-color 0.1s;
-       -moz-transition:    border-color 0.1s;
-       -ms-transition:     border-color 0.1s;
-       -o-transition:      border-color 0.1s;
-       transition:         border-color 0.1s;
+       transition: border-color 0.1s;
 }
 
 .accordion-section .customize-control-upload .library ul li,
@@ -455,20 +459,226 @@ body {
        -webkit-overflow-scrolling: touch;
 }
 
+/** Header control **/
+
+#customize-control-header_image .current {
+       margin-bottom: 8px;
+}
+
+#customize-control-header_image .uploaded {
+       margin-bottom: 18px;
+}
+
+#customize-control-header_image .uploaded button:not(.random),
+#customize-control-header_image .default button:not(.random) {
+       width: 100%;
+       padding: 0;
+       margin: 0;
+       background: none;
+       border: none;
+       color: inherit;
+       cursor: pointer;
+}
+
+#customize-control-header_image button img {
+       display: block;
+}
+
+#customize-control-header_image button.new,
+#customize-control-header_image button.remove {
+       white-space: normal;
+       width: 48%;
+       height: auto;
+}
+
+
+/* Header control: current image container */
+
+#customize-control-header_image .current .container {
+       overflow: hidden;
+       -webkit-border-radius: 2px;
+       border: 1px solid #eee;
+       -webkit-border-radius: 2px;
+       border-radius: 2px;
+}
+
+#customize-control-header_image .placeholder {
+       width: 100%;
+       position: relative;
+       text-align: center;
+       cursor: default;
+}
+
+#customize-control-header_image .inner {
+       display: none;
+       position: absolute;
+       width: 100%;
+       color: #555;
+       white-space: nowrap;
+       text-overflow: ellipsis;
+       overflow: hidden;
+}
+
+#customize-control-header_image .inner,
+#customize-control-header_image .inner .dashicons {
+       line-height: 20px;
+       top: 10px;
+}
+#customize-control-header_image .list .inner,
+#customize-control-header_image .list .inner .dashicons {
+       top: 9px;
+}
+
+#customize-control-header_image .header-view {
+       position: relative;
+       width: 100%;
+       margin-bottom: 5px;
+}
+
+#customize-control-header_image .header-view:last-child {
+       margin-bottom: 0px;
+}
+
+/* Convoluted, but 'outline' support isn't good enough yet */
+#customize-control-header_image .header-view:after {
+       border: 0;
+}
+#customize-control-header_image .header-view.selected:after {
+       content: '';
+       position: absolute;
+       height: auto;
+       top: 0; right: 0; bottom: 0; left: 0;
+       border: 4px solid #2ea2cc;
+       -webkit-border-radius: 2px;
+       border-radius: 2px;
+}
+#customize-control-header_image .header-view.button.selected {
+       border: 0;
+}
+
+/* Header control: overlay "close" button */
+
+#customize-control-header_image .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_image .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_image .header-view:hover .close {
+       visibility: visible;
+}
+
+/* Header control: randomiz(s)er */
+
+#customize-control-header_image .random.placeholder {
+       cursor: pointer;
+       -webkit-border-radius: 2px;
+       border-radius: 2px;
+       height: 40px;
+}
+
+#customize-control-header_image button.random {
+       width: 100%;
+       height: auto;
+       min-height: 40px;
+       white-space: normal;
+}
+
+#customize-control-header_image button.random .dice {
+       margin-top: 4px;
+}
+
+#customize-control-header_image .placeholder:hover .dice,
+#customize-control-header_image .header-view:hover > button.random .dice {
+       -webkit-animation: dice-color-change 3s infinite;
+       -ms-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; }
+}
+
+@-ms-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; }
+}
+
+/* Header control: actions and choices */
+
+#customize-control-header_image .actions {
+       margin-bottom: 32px;
+}
+
+#customize-control-header_image .choice {
+       position: relative;
+       display: block;
+       margin-bottom: 9px;
+}
+
+#customize-control-header_image .uploaded div:last-child > .choice {
+       margin-bottom: 0;
+}
+
+#customize-control-header_image img {
+       width: 100%;
+       -webkit-border-radius: 2px;
+       border-radius: 2px;
+}
+
+#customize-control-header_image .remove {
+       float: right;
+       margin-left: 3px;
+}
+
+#customize-control-header_image .new {
+       float: left;
+}
+
+
 /** Handle cheaters. */
 body.cheatin {
+       font-size: medium;
+       height: auto;
+       background: #fff;
+       margin: 50px auto 2em;
+       padding: 1em 2em;
+       max-width: 700px;
        min-width: 0;
-       background: #f9f9f9;
-       padding: 50px;
+       -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.13);
+       box-shadow: 0 1px 3px rgba(0,0,0,0.13);
 }
 
 body.cheatin p {
-       max-width: 700px;
-       margin: 0 auto;
-       padding: 2em;
        font-size: 14px;
-       background: #555555;
-       border: 1px solid #dfdfdf;
-       -webkit-border-radius: 3px;
-       border-radius: 3px;
+       line-height: 1.5;
+       margin: 25px 0 20px;
 }
index f43469cc6207ec6c35978721088ffcf6b57a3caa..9f672b95649f257e430821eba05cb783ad272806 100644 (file)
@@ -1 +1 @@
-body{overflow:hidden}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#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:16px;margin-left:4px}.saving #customize-header-actions .spinner{display:block}#customize-info{border:0;border-top:1px solid #ddd}#customize-info .accordion-section-title{background-color:#fff;color:#666;border-right:0;border-left:0;border-bottom:1px solid #eee}#customize-info.open .accordion-section-title,#customize-info .accordion-section-title:hover,#customize-info .accordion-section-title:focus{color:#555}#customize-info.open .accordion-section-title:after,#customize-info .accordion-section-title:hover:after,#customize-info .accordion-section-title:focus:after{color:#555}#customize-info.open .accordion-section-title{border-color:transparent}#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{-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#customize-theme-controls .control-section{border:0}#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-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{color:#555;background:#f5f5f5}.js .control-section:hover .accordion-section-title,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section .accordion-section-title:focus{background:#f5f5f5}#customize-theme-controls .control-section:hover .accordion-section-title::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 .accordion-section-title:focus::after{color:#555}#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,#customize-theme-controls .accordion-section-content{margin:0}.customize-control{width:100%;float:right;clear:both;margin-bottom:8px}.customize-control select,.customize-control input[type=text],.customize-control input[type=radio],.customize-control input[type=checkbox]{line-height:28px}.customize-control input[type=text]{width:98%;line-height:18px;margin:0}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control-title{display:block;font-size:14px;line-height:24px;font-weight:600;margin-bottom:5px}.customize-control-color .color-picker,.customize-control-checkbox label,.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 label{line-height:32px}.customize-control-radio input{margin-left:5px}#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:0!important;box-shadow:none!important;border-radius:!important 0}.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:#888}.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;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:#333}.customize-control .dropdown-status{color:#333;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)}.customize-control-image .library,.customize-control-image .actions{display:none;float:right;width:100%}.customize-control-image.open .library,.customize-control-image.open .actions{display:block}.accordion-section .customize-control-image .dropdown-content{height:auto;min-height:24px;min-width:40px;padding:0}.accordion-section .customize-control-image .dropdown-status{padding:4px 5px}.accordion-section .customize-control-image .preview-thumbnail img{display:block;width:100%;max-width:122px;max-height:98px;margin:0 auto}.accordion-section .customize-control-image .actions{text-align:left}.accordion-section .customize-control-image .library ul{border-bottom:1px solid #ddd;float:right;width:100%;margin:10px 0 0}.accordion-section .customize-control-image .library li{color:#ccc;float:right;padding:3px 15px;margin:0;border:1px solid transparent}.accordion-section .customize-control-image .library li.library-selected{margin-bottom:-1px;padding-bottom:4px;color:#666;border-color:#ddd;border-bottom-color:#fff}.accordion-section .customize-control-image .library .thumbnail{display:block;width:100%}.accordion-section .customize-control-image .library .thumbnail img{display:block;max-width:90%;max-height:80px;margin:5px auto;padding:2px;background:#666}.accordion-section .customize-control-image .library .thumbnail:hover img{background-color:#2ea2cc}.accordion-section .customize-control-image .library-content{display:none;width:100%;float:right;padding:10px 0}.accordion-section .customize-control-image .library-content.library-selected{display:block}.accordion-section .customize-control-upload .upload-fallback,.accordion-section .customize-control-image .upload-fallback{display:none}.accordion-section .customize-control-upload .upload-dropzone,.accordion-section .customize-control-image .upload-dropzone{display:none;padding:15px 10px;border:3px dashed #dfdfdf;margin:5px auto;text-align:center;position:relative;cursor:default}.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop,.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop{display:block;-webkit-transition:border-color .1s;-moz-transition:border-color .1s;-ms-transition:border-color .1s;-o-transition:border-color .1s;transition:border-color .1s}.accordion-section .customize-control-upload .library ul li,.accordion-section .customize-control-image .library ul li{cursor:pointer}.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop.drag-over,.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop.drag-over{border-color:#83b4d8}.ios .wp-full-overlay{position:relative}.ios #customize-preview{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}body.cheatin{min-width:0;background:#f9f9f9;padding:50px}body.cheatin p{max-width:700px;margin:0 auto;padding:2em;font-size:14px;background:#555;border:1px solid #dfdfdf;-webkit-border-radius:3px;border-radius:3px}
\ No newline at end of file
+body{overflow:hidden}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#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:16px;margin-left:4px}.saving #customize-header-actions .spinner{display:block}#customize-info{border:0;border-top:1px solid #ddd}#customize-info .accordion-section-title{background-color:#fff;color:#666;border-right:0;border-left:0;border-bottom:1px solid #eee}#customize-info .accordion-section-title:focus,#customize-info .accordion-section-title:focus:after,#customize-info .accordion-section-title:hover,#customize-info .accordion-section-title:hover:after,#customize-info.open .accordion-section-title,#customize-info.open .accordion-section-title:after{color:#555}#customize-info.open .accordion-section-title{border-color:transparent}#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{-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#customize-theme-controls .control-section{border:0}#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-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:#555;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-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 .accordion-section-title,#customize-theme-controls .control-section:last-of-type.open{border-bottom-color:#ddd}#customize-theme-controls .accordion-section-content,#customize-theme-controls>ul{margin:0}.customize-control{width:100%;float:right;clear:both;margin-bottom:8px}.customize-control input[type=checkbox],.customize-control input[type=radio],.customize-control input[type=text],.customize-control select{line-height:28px}.customize-control input[type=text]{width:98%;line-height:18px;margin:0}.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-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 label{line-height:32px}.customize-control-radio input{margin-left:5px}#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:0!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-border-radius:!important 0;border-radius:!important 0}.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:#888}.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:#333}.customize-control .dropdown-status{color:#333;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)}.customize-control-image .actions,.customize-control-image .library{display:none;float:right;width:100%}.customize-control-image.open .actions,.customize-control-image.open .library{display:block}.accordion-section .customize-control-image .dropdown-content{height:auto;min-height:24px;min-width:40px;padding:0}.accordion-section .customize-control-image .dropdown-status{padding:4px 5px}.accordion-section .customize-control-image .preview-thumbnail img{display:block;width:100%;max-width:122px;max-height:98px;margin:0 auto}.accordion-section .customize-control-image .actions{text-align:left}.accordion-section .customize-control-image .library ul{border-bottom:1px solid #ddd;float:right;width:100%;margin:10px 0 0}.accordion-section .customize-control-image .library li{color:#ccc;float:right;padding:3px 15px;margin:0;border:1px solid transparent}.accordion-section .customize-control-image .library li.library-selected{margin-bottom:-1px;padding-bottom:4px;color:#666;border-color:#ddd;border-bottom-color:#fff}.accordion-section .customize-control-image .library .thumbnail{display:block;width:100%}.accordion-section .customize-control-image .library .thumbnail img{display:block;max-width:90%;max-height:80px;margin:5px auto;padding:2px;background:#666}.accordion-section .customize-control-image .library .thumbnail:hover img{background-color:#2ea2cc}.accordion-section .customize-control-image .library-content{display:none;width:100%;float:right;padding:10px 0}.accordion-section .customize-control-image .library-content.library-selected{display:block}.accordion-section .customize-control-image .upload-fallback,.accordion-section .customize-control-upload .upload-fallback{display:none}.accordion-section .customize-control-image .upload-dropzone,.accordion-section .customize-control-upload .upload-dropzone{display:none;padding:15px 10px;border:3px dashed #dfdfdf;margin:5px auto;text-align:center;position:relative;cursor:default}.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop,.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop{display:block;-webkit-transition:border-color .1s;transition:border-color .1s}.accordion-section .customize-control-image .library ul li,.accordion-section .customize-control-upload .library ul li{cursor:pointer}.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop.drag-over,.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop.drag-over{border-color:#83b4d8}.ios #customize-preview,.ios .wp-full-overlay{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}#customize-control-header_image .current{margin-bottom:8px}#customize-control-header_image .uploaded{margin-bottom:18px}#customize-control-header_image .default button:not(.random),#customize-control-header_image .uploaded button:not(.random){width:100%;padding:0;margin:0;background:0 0;border:0;color:inherit;cursor:pointer}#customize-control-header_image button img{display:block}#customize-control-header_image button.new,#customize-control-header_image button.remove{white-space:normal;width:48%;height:auto}#customize-control-header_image .current .container{overflow:hidden;border:1px solid #eee;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .placeholder{width:100%;position:relative;text-align:center;cursor:default}#customize-control-header_image .inner{display:none;position:absolute;width:100%;color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#customize-control-header_image .inner,#customize-control-header_image .inner .dashicons{line-height:20px;top:10px}#customize-control-header_image .list .inner,#customize-control-header_image .list .inner .dashicons{top:9px}#customize-control-header_image .header-view{position:relative;width:100%;margin-bottom:5px}#customize-control-header_image .header-view:last-child{margin-bottom:0}#customize-control-header_image .header-view:after{border:0}#customize-control-header_image .header-view.selected:after{content:'';position:absolute;height:auto;top:0;right:0;bottom:0;left:0;border:4px solid #2ea2cc;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .header-view.button.selected{border:0}#customize-control-header_image .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_image .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_image .header-view:hover .close{visibility:visible}#customize-control-header_image .random.placeholder{cursor:pointer;-webkit-border-radius:2px;border-radius:2px;height:40px}#customize-control-header_image button.random{width:100%;height:auto;min-height:40px;white-space:normal}#customize-control-header_image button.random .dice{margin-top:4px}#customize-control-header_image .header-view:hover>button.random .dice,#customize-control-header_image .placeholder:hover .dice{-webkit-animation:dice-color-change 3s infinite;-ms-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}}@-ms-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-header_image .actions{margin-bottom:32px}#customize-control-header_image .choice{position:relative;display:block;margin-bottom:9px}#customize-control-header_image .uploaded div:last-child>.choice{margin-bottom:0}#customize-control-header_image img{width:100%;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .remove{float:right;margin-left:3px}#customize-control-header_image .new{float:left}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}
\ No newline at end of file
index 63a3a3a4c1a6234317d4bba64a8231f89c0b00dd..f9661147358a9f5525d074f07890284b04211e28 100644 (file)
@@ -84,8 +84,8 @@ body {
 }
 
 #customize-theme-controls {
-       -webkit-box-shadow: 0px 1px 1px -1px rgba(0, 0, 0, 0.1);
-       box-shadow:         0px 1px 1px -1px rgba(0, 0, 0, 0.1);
+       -webkit-box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
+       box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.1);
 }
 
 #customize-theme-controls .control-section {
@@ -170,6 +170,10 @@ body {
        line-height: 28px;
 }
 
+.customize-control select[multiple] {
+       height: auto;
+}
+
 .customize-control-title {
        display: block;
        font-size: 14px;
@@ -218,7 +222,9 @@ body {
 .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;
 }
 
@@ -256,6 +262,7 @@ body {
        border: 2px solid #eeeeee;
        -webkit-user-select: none;
        -moz-user-select: none;
+       -ms-user-select: none;
        user-select: none;
 }
 
@@ -423,10 +430,7 @@ body {
 .accordion-section .customize-control-image .upload-dropzone.supports-drag-drop {
        display: block;
        -webkit-transition: border-color 0.1s;
-       -moz-transition:    border-color 0.1s;
-       -ms-transition:     border-color 0.1s;
-       -o-transition:      border-color 0.1s;
-       transition:         border-color 0.1s;
+       transition: border-color 0.1s;
 }
 
 .accordion-section .customize-control-upload .library ul li,
@@ -455,20 +459,226 @@ body {
        -webkit-overflow-scrolling: touch;
 }
 
+/** Header control **/
+
+#customize-control-header_image .current {
+       margin-bottom: 8px;
+}
+
+#customize-control-header_image .uploaded {
+       margin-bottom: 18px;
+}
+
+#customize-control-header_image .uploaded button:not(.random),
+#customize-control-header_image .default button:not(.random) {
+       width: 100%;
+       padding: 0;
+       margin: 0;
+       background: none;
+       border: none;
+       color: inherit;
+       cursor: pointer;
+}
+
+#customize-control-header_image button img {
+       display: block;
+}
+
+#customize-control-header_image button.new,
+#customize-control-header_image button.remove {
+       white-space: normal;
+       width: 48%;
+       height: auto;
+}
+
+
+/* Header control: current image container */
+
+#customize-control-header_image .current .container {
+       overflow: hidden;
+       -webkit-border-radius: 2px;
+       border: 1px solid #eee;
+       -webkit-border-radius: 2px;
+       border-radius: 2px;
+}
+
+#customize-control-header_image .placeholder {
+       width: 100%;
+       position: relative;
+       text-align: center;
+       cursor: default;
+}
+
+#customize-control-header_image .inner {
+       display: none;
+       position: absolute;
+       width: 100%;
+       color: #555;
+       white-space: nowrap;
+       text-overflow: ellipsis;
+       overflow: hidden;
+}
+
+#customize-control-header_image .inner,
+#customize-control-header_image .inner .dashicons {
+       line-height: 20px;
+       top: 10px;
+}
+#customize-control-header_image .list .inner,
+#customize-control-header_image .list .inner .dashicons {
+       top: 9px;
+}
+
+#customize-control-header_image .header-view {
+       position: relative;
+       width: 100%;
+       margin-bottom: 5px;
+}
+
+#customize-control-header_image .header-view:last-child {
+       margin-bottom: 0px;
+}
+
+/* Convoluted, but 'outline' support isn't good enough yet */
+#customize-control-header_image .header-view:after {
+       border: 0;
+}
+#customize-control-header_image .header-view.selected:after {
+       content: '';
+       position: absolute;
+       height: auto;
+       top: 0; left: 0; bottom: 0; right: 0;
+       border: 4px solid #2ea2cc;
+       -webkit-border-radius: 2px;
+       border-radius: 2px;
+}
+#customize-control-header_image .header-view.button.selected {
+       border: 0;
+}
+
+/* Header control: overlay "close" button */
+
+#customize-control-header_image .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_image .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_image .header-view:hover .close {
+       visibility: visible;
+}
+
+/* Header control: randomiz(s)er */
+
+#customize-control-header_image .random.placeholder {
+       cursor: pointer;
+       -webkit-border-radius: 2px;
+       border-radius: 2px;
+       height: 40px;
+}
+
+#customize-control-header_image button.random {
+       width: 100%;
+       height: auto;
+       min-height: 40px;
+       white-space: normal;
+}
+
+#customize-control-header_image button.random .dice {
+       margin-top: 4px;
+}
+
+#customize-control-header_image .placeholder:hover .dice,
+#customize-control-header_image .header-view:hover > button.random .dice {
+       -webkit-animation: dice-color-change 3s infinite;
+       -ms-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; }
+}
+
+@-ms-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; }
+}
+
+/* Header control: actions and choices */
+
+#customize-control-header_image .actions {
+       margin-bottom: 32px;
+}
+
+#customize-control-header_image .choice {
+       position: relative;
+       display: block;
+       margin-bottom: 9px;
+}
+
+#customize-control-header_image .uploaded div:last-child > .choice {
+       margin-bottom: 0;
+}
+
+#customize-control-header_image img {
+       width: 100%;
+       -webkit-border-radius: 2px;
+       border-radius: 2px;
+}
+
+#customize-control-header_image .remove {
+       float: left;
+       margin-right: 3px;
+}
+
+#customize-control-header_image .new {
+       float: right;
+}
+
+
 /** Handle cheaters. */
 body.cheatin {
+       font-size: medium;
+       height: auto;
+       background: #fff;
+       margin: 50px auto 2em;
+       padding: 1em 2em;
+       max-width: 700px;
        min-width: 0;
-       background: #f9f9f9;
-       padding: 50px;
+       -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.13);
+       box-shadow: 0 1px 3px rgba(0,0,0,0.13);
 }
 
 body.cheatin p {
-       max-width: 700px;
-       margin: 0 auto;
-       padding: 2em;
        font-size: 14px;
-       background: #555555;
-       border: 1px solid #dfdfdf;
-       -webkit-border-radius: 3px;
-       border-radius: 3px;
+       line-height: 1.5;
+       margin: 25px 0 20px;
 }
index b706a2bdfeb7d9e532a81cc15b85681ab0116fb7..99b3ab5f4ac9d9d95893db67c084d51af923ff79 100644 (file)
@@ -1 +1 @@
-body{overflow:hidden}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#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:16px;margin-right:4px}.saving #customize-header-actions .spinner{display:block}#customize-info{border:0;border-top:1px solid #ddd}#customize-info .accordion-section-title{background-color:#fff;color:#666;border-left:0;border-right:0;border-bottom:1px solid #eee}#customize-info.open .accordion-section-title,#customize-info .accordion-section-title:hover,#customize-info .accordion-section-title:focus{color:#555}#customize-info.open .accordion-section-title:after,#customize-info .accordion-section-title:hover:after,#customize-info .accordion-section-title:focus:after{color:#555}#customize-info.open .accordion-section-title{border-color:transparent}#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{-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#customize-theme-controls .control-section{border:0}#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-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{color:#555;background:#f5f5f5}.js .control-section:hover .accordion-section-title,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section .accordion-section-title:focus{background:#f5f5f5}#customize-theme-controls .control-section:hover .accordion-section-title::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 .accordion-section-title:focus::after{color:#555}#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,#customize-theme-controls .accordion-section-content{margin:0}.customize-control{width:100%;float:left;clear:both;margin-bottom:8px}.customize-control select,.customize-control input[type=text],.customize-control input[type=radio],.customize-control input[type=checkbox]{line-height:28px}.customize-control input[type=text]{width:98%;line-height:18px;margin:0}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control-title{display:block;font-size:14px;line-height:24px;font-weight:600;margin-bottom:5px}.customize-control-color .color-picker,.customize-control-checkbox label,.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 label{line-height:32px}.customize-control-radio input{margin-right:5px}#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:0!important;box-shadow:none!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:#888}.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;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:#333}.customize-control .dropdown-status{color:#333;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)}.customize-control-image .library,.customize-control-image .actions{display:none;float:left;width:100%}.customize-control-image.open .library,.customize-control-image.open .actions{display:block}.accordion-section .customize-control-image .dropdown-content{height:auto;min-height:24px;min-width:40px;padding:0}.accordion-section .customize-control-image .dropdown-status{padding:4px 5px}.accordion-section .customize-control-image .preview-thumbnail img{display:block;width:100%;max-width:122px;max-height:98px;margin:0 auto}.accordion-section .customize-control-image .actions{text-align:right}.accordion-section .customize-control-image .library ul{border-bottom:1px solid #ddd;float:left;width:100%;margin:10px 0 0}.accordion-section .customize-control-image .library li{color:#ccc;float:left;padding:3px 15px;margin:0;border:1px solid transparent}.accordion-section .customize-control-image .library li.library-selected{margin-bottom:-1px;padding-bottom:4px;color:#666;border-color:#ddd;border-bottom-color:#fff}.accordion-section .customize-control-image .library .thumbnail{display:block;width:100%}.accordion-section .customize-control-image .library .thumbnail img{display:block;max-width:90%;max-height:80px;margin:5px auto;padding:2px;background:#666}.accordion-section .customize-control-image .library .thumbnail:hover img{background-color:#2ea2cc}.accordion-section .customize-control-image .library-content{display:none;width:100%;float:left;padding:10px 0}.accordion-section .customize-control-image .library-content.library-selected{display:block}.accordion-section .customize-control-upload .upload-fallback,.accordion-section .customize-control-image .upload-fallback{display:none}.accordion-section .customize-control-upload .upload-dropzone,.accordion-section .customize-control-image .upload-dropzone{display:none;padding:15px 10px;border:3px dashed #dfdfdf;margin:5px auto;text-align:center;position:relative;cursor:default}.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop,.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop{display:block;-webkit-transition:border-color .1s;-moz-transition:border-color .1s;-ms-transition:border-color .1s;-o-transition:border-color .1s;transition:border-color .1s}.accordion-section .customize-control-upload .library ul li,.accordion-section .customize-control-image .library ul li{cursor:pointer}.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop.drag-over,.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop.drag-over{border-color:#83b4d8}.ios .wp-full-overlay{position:relative}.ios #customize-preview{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}body.cheatin{min-width:0;background:#f9f9f9;padding:50px}body.cheatin p{max-width:700px;margin:0 auto;padding:2em;font-size:14px;background:#555;border:1px solid #dfdfdf;-webkit-border-radius:3px;border-radius:3px}
\ No newline at end of file
+body{overflow:hidden}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#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:16px;margin-right:4px}.saving #customize-header-actions .spinner{display:block}#customize-info{border:0;border-top:1px solid #ddd}#customize-info .accordion-section-title{background-color:#fff;color:#666;border-left:0;border-right:0;border-bottom:1px solid #eee}#customize-info .accordion-section-title:focus,#customize-info .accordion-section-title:focus:after,#customize-info .accordion-section-title:hover,#customize-info .accordion-section-title:hover:after,#customize-info.open .accordion-section-title,#customize-info.open .accordion-section-title:after{color:#555}#customize-info.open .accordion-section-title{border-color:transparent}#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{-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#customize-theme-controls .control-section{border:0}#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-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:#555;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-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 .accordion-section-title,#customize-theme-controls .control-section:last-of-type.open{border-bottom-color:#ddd}#customize-theme-controls .accordion-section-content,#customize-theme-controls>ul{margin:0}.customize-control{width:100%;float:left;clear:both;margin-bottom:8px}.customize-control input[type=checkbox],.customize-control input[type=radio],.customize-control input[type=text],.customize-control select{line-height:28px}.customize-control input[type=text]{width:98%;line-height:18px;margin:0}.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-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 label{line-height:32px}.customize-control-radio input{margin-right:5px}#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:0!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:#888}.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:#333}.customize-control .dropdown-status{color:#333;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)}.customize-control-image .actions,.customize-control-image .library{display:none;float:left;width:100%}.customize-control-image.open .actions,.customize-control-image.open .library{display:block}.accordion-section .customize-control-image .dropdown-content{height:auto;min-height:24px;min-width:40px;padding:0}.accordion-section .customize-control-image .dropdown-status{padding:4px 5px}.accordion-section .customize-control-image .preview-thumbnail img{display:block;width:100%;max-width:122px;max-height:98px;margin:0 auto}.accordion-section .customize-control-image .actions{text-align:right}.accordion-section .customize-control-image .library ul{border-bottom:1px solid #ddd;float:left;width:100%;margin:10px 0 0}.accordion-section .customize-control-image .library li{color:#ccc;float:left;padding:3px 15px;margin:0;border:1px solid transparent}.accordion-section .customize-control-image .library li.library-selected{margin-bottom:-1px;padding-bottom:4px;color:#666;border-color:#ddd;border-bottom-color:#fff}.accordion-section .customize-control-image .library .thumbnail{display:block;width:100%}.accordion-section .customize-control-image .library .thumbnail img{display:block;max-width:90%;max-height:80px;margin:5px auto;padding:2px;background:#666}.accordion-section .customize-control-image .library .thumbnail:hover img{background-color:#2ea2cc}.accordion-section .customize-control-image .library-content{display:none;width:100%;float:left;padding:10px 0}.accordion-section .customize-control-image .library-content.library-selected{display:block}.accordion-section .customize-control-image .upload-fallback,.accordion-section .customize-control-upload .upload-fallback{display:none}.accordion-section .customize-control-image .upload-dropzone,.accordion-section .customize-control-upload .upload-dropzone{display:none;padding:15px 10px;border:3px dashed #dfdfdf;margin:5px auto;text-align:center;position:relative;cursor:default}.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop,.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop{display:block;-webkit-transition:border-color .1s;transition:border-color .1s}.accordion-section .customize-control-image .library ul li,.accordion-section .customize-control-upload .library ul li{cursor:pointer}.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop.drag-over,.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop.drag-over{border-color:#83b4d8}.ios #customize-preview,.ios .wp-full-overlay{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}#customize-control-header_image .current{margin-bottom:8px}#customize-control-header_image .uploaded{margin-bottom:18px}#customize-control-header_image .default button:not(.random),#customize-control-header_image .uploaded button:not(.random){width:100%;padding:0;margin:0;background:0 0;border:0;color:inherit;cursor:pointer}#customize-control-header_image button img{display:block}#customize-control-header_image button.new,#customize-control-header_image button.remove{white-space:normal;width:48%;height:auto}#customize-control-header_image .current .container{overflow:hidden;border:1px solid #eee;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .placeholder{width:100%;position:relative;text-align:center;cursor:default}#customize-control-header_image .inner{display:none;position:absolute;width:100%;color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#customize-control-header_image .inner,#customize-control-header_image .inner .dashicons{line-height:20px;top:10px}#customize-control-header_image .list .inner,#customize-control-header_image .list .inner .dashicons{top:9px}#customize-control-header_image .header-view{position:relative;width:100%;margin-bottom:5px}#customize-control-header_image .header-view:last-child{margin-bottom:0}#customize-control-header_image .header-view:after{border:0}#customize-control-header_image .header-view.selected:after{content:'';position:absolute;height:auto;top:0;left:0;bottom:0;right:0;border:4px solid #2ea2cc;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .header-view.button.selected{border:0}#customize-control-header_image .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_image .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_image .header-view:hover .close{visibility:visible}#customize-control-header_image .random.placeholder{cursor:pointer;-webkit-border-radius:2px;border-radius:2px;height:40px}#customize-control-header_image button.random{width:100%;height:auto;min-height:40px;white-space:normal}#customize-control-header_image button.random .dice{margin-top:4px}#customize-control-header_image .header-view:hover>button.random .dice,#customize-control-header_image .placeholder:hover .dice{-webkit-animation:dice-color-change 3s infinite;-ms-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}}@-ms-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-header_image .actions{margin-bottom:32px}#customize-control-header_image .choice{position:relative;display:block;margin-bottom:9px}#customize-control-header_image .uploaded div:last-child>.choice{margin-bottom:0}#customize-control-header_image img{width:100%;-webkit-border-radius:2px;border-radius:2px}#customize-control-header_image .remove{float:left;margin-right:3px}#customize-control-header_image .new{float:right}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}
\ No newline at end of file
diff --git a/wp-admin/css/customize-widgets-rtl.css b/wp-admin/css/customize-widgets-rtl.css
new file mode 100644 (file)
index 0000000..a26638e
--- /dev/null
@@ -0,0 +1,603 @@
+.wp-full-overlay-sidebar {
+       overflow: visible;
+}
+
+/**
+ * Hide all sidebar sections by default, only show them (via JS) once the
+ * preview loads and we know whether the sidebars are used in the template.
+ */
+
+.control-section[id^="accordion-section-sidebar-widgets-"],
+.customize-control-sidebar_widgets label,
+.customize-control-sidebar_widgets .hide-if-js {
+       /* The link in .customize-control-sidebar_widgets .hide-if-js will fail if it ever gets used. */
+       display:none;
+}
+
+.customize-control-widget_form .widget-top {
+       -webkit-transition: opacity 0.5s;
+       transition: opacity 0.5s;
+}
+
+.customize-control-widget_form:not(.widget-rendered) .widget-top {
+       opacity: 0.5;
+}
+
+.customize-control-widget_form .widget-control-save,
+.customize-control-widget_form .spinner {
+       display: none;
+}
+
+.customize-control-widget_form.previewer-loading .spinner {
+       display: inline;
+}
+
+.customize-control-widget_form.widget-form-disabled .widget-content {
+       opacity: 0.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 rgb(229, 229, 229);
+       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 0.4s;
+       transition: background-color 0.4s;
+}
+.customize-control-widget_form.wide-widget-control.expanding .widget-top,
+.customize-control-widget_form.wide-widget-control.expanded:not(.collapsing) .widget-top {
+       background-color: rgb(227, 227, 227);
+}
+
+.widget-inside {
+       padding: 1px 10px 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: none;
+       -webkit-box-shadow: 0 0 2px rgba(30,140,190,0.8);
+       box-shadow: 0 0 2px rgba(30,140,190,0.8);
+       position: relative;
+       z-index: 1;
+}
+
+#widget-customizer-control-templates {
+       display: none;
+}
+
+/**
+* Widget reordering styles
+**/
+
+.reorder-toggle {
+       float: left;
+       padding: 5px 8px;
+       text-decoration: none;
+       cursor: pointer;
+       outline: none;
+       -webkit-user-select: none;
+       -moz-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
+}
+.reorder-toggle:focus {
+       outline: 1px dotted;
+}
+
+.reorder-done,
+.reordering .reorder {
+       display: none;
+}
+
+.reordering .reorder-done {
+       display: block;
+       color: #aa0000;
+}
+
+#customize-theme-controls .reordering .add-new-widget {
+       opacity: 0.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; /* was 42px for mobile */
+       height: 43px;
+       color: #888;
+       text-indent: -9999px;
+       cursor: pointer;
+       outline: none;
+}
+
+.widget-reorder-nav span:before {
+       display: inline-block;
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 100%;
+       height: 100%;
+       font: normal 20px/43px 'dashicons';
+       text-align: center;
+       text-indent: 0;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+.widget-reorder-nav span:hover,
+.widget-reorder-nav span:focus {
+       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: normal 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: #2ea2cc;
+}
+
+#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;
+}
+
+
+/**
+ * Styles for new widget addition panel
+ */
+.wp-full-overlay-main {
+       left: auto; /* this overrides a right: 0; which causes the preview to resize, I'd rather have it go off screen at the normal size. */
+       width: 100%;
+}
+
+#customize-theme-controls .add-new-widget {
+       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-widget: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;
+}
+
+body.adding-widget .add-new-widget,
+body.adding-widget .add-new-widget:hover {
+       background: #eee;
+       border-color: #999;
+       color: #333;
+       -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);
+}
+body.adding-widget .add-new-widget:before {
+       -webkit-transform: rotate(45deg);
+       -ms-transform: rotate(45deg);
+       transform: rotate(45deg);
+}
+
+#available-widgets .widget {
+       position: static;
+}
+
+/* override widgets admin page rules in wp-admin/css/wp-admin.css */
+#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;
+       -webkit-transition: all 0.2s;
+       transition: all 0.2s;
+       border-left: 1px solid #dddddd;
+}
+
+#available-widgets-filter {
+       padding: 8px 13px 7px 17px;
+       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 10px;
+       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:hover,
+#available-widgets .widget-tpl.selected {
+       background: #fafafa;
+}
+
+#available-widgets .widget-top,
+#available-widgets .widget-top:hover {
+       border: none;
+       background: transparent;
+       -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 0.2s;
+       transition: all 0.2s;
+}
+
+body.adding-widget #available-widgets {
+       right: 0;
+}
+
+body.adding-widget .wp-full-overlay-main {
+       right: 300px;
+}
+
+body.adding-widget #customize-preview {
+       opacity: 0.4;
+}
+
+
+/**
+ * Widget Icon styling
+ * No plurals in naming.
+ * Ordered from lowest to highest specificity.
+ **/
+#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: #333;
+       font: normal 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;
+}
+
+/* smiley */
+#available-widgets [class*="easy"] .widget-title:before { content: "\f328"; top: -4px; }
+
+/* star-filled */
+#available-widgets [class*="super"] .widget-title:before,
+#available-widgets [class*="like"] .widget-title:before { content: "\f155"; top: -4px; }
+
+/* wordpress */
+#available-widgets [class*="meta"] .widget-title:before { content: "\f120"; }
+
+/* archive-box */
+#available-widgets [class*="archives"] .widget-title:before { content: "\f480"; top: -4px; }
+
+/* category */
+#available-widgets [class*="categor"] .widget-title:before { content: "\f318"; top: -4px; }
+
+/* comments */
+#available-widgets [class*="comment"] .widget-title:before,
+#available-widgets [class*="testimonial"] .widget-title:before,
+#available-widgets [class*="chat"] .widget-title:before { content: "\f101"; }
+
+/* post */
+#available-widgets [class*="post"] .widget-title:before { content: "\f109"; }
+
+/* admin-page */
+#available-widgets [class*="page"] .widget-title:before { content: "\f105"; }
+
+/* text */
+#available-widgets [class*="text"] .widget-title:before { content: "\f478"; }
+
+/* links */
+#available-widgets [class*="link"] .widget-title:before { content: "\f103"; }
+
+/* search */
+#available-widgets [class*="search"] .widget-title:before { content: "\f179"; }
+
+/* menu */
+#available-widgets [class*="menu"] .widget-title:before,
+#available-widgets [class*="nav"] .widget-title:before { content: "\f333"; }
+
+/* tag-cloud */
+#available-widgets [class*="tag"] .widget-title:before { content: "\f479"; }
+
+/* rss */
+#available-widgets [class*="rss"] .widget-title:before { content: "\f303"; top: -6px; }
+
+/* calendar */
+#available-widgets [class*="event"] .widget-title:before,
+#available-widgets [class*="calendar"] .widget-title:before { content: "\f145"; top: -4px;}
+
+/* format-image */
+#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"; }
+
+/* format-gallery */
+#available-widgets [class*="album"] .widget-title:before,
+#available-widgets [class*="galler"] .widget-title:before { content: "\f161"; }
+
+/* format-video */
+#available-widgets [class*="video"] .widget-title:before,
+#available-widgets [class*="tube"] .widget-title:before { content: "\f126"; }
+
+/* format-audio */
+#available-widgets [class*="music"] .widget-title:before,
+#available-widgets [class*="radio"] .widget-title:before,
+#available-widgets [class*="audio"] .widget-title:before { content: "\f127"; }
+
+/* admin-users */
+#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"; }
+
+/* cart */
+#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; }
+
+/* shield */
+#available-widgets [class*="secur"] .widget-title:before,
+#available-widgets [class*="firewall"] .widget-title:before { content: "\f332"; }
+
+/* chart-bar */
+#available-widgets [class*="analytic"] .widget-title:before,
+#available-widgets [class*="stat"] .widget-title:before,
+#available-widgets [class*="poll"] .widget-title:before { content: "\f185"; }
+
+/* feedback */
+#available-widgets [class*="form"] .widget-title:before { content: "\f175"; }
+
+/* email-alt */
+#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"; }
+
+/* share */
+#available-widgets [class*="share"] .widget-title:before,
+#available-widgets [class*="socia"] .widget-title:before { content: "\f237"; }
+
+/* translation */
+#available-widgets [class*="lang"] .widget-title:before,
+#available-widgets [class*="translat"] .widget-title:before { content: "\f326"; }
+
+/* location-alt */
+#available-widgets [class*="locat"] .widget-title:before,
+#available-widgets [class*="map"] .widget-title:before { content: "\f231"; }
+
+/* download */
+#available-widgets [class*="download"] .widget-title:before { content: "\f316"; }
+
+/* cloud */
+#available-widgets [class*="weather"] .widget-title:before { content: "\f176"; top: -4px;}
+
+/* facebook */
+#available-widgets [class*="facebook"] .widget-title:before { content: "\f304"; }
+
+/* twitter */
+#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;
+       }
+}
diff --git a/wp-admin/css/customize-widgets-rtl.min.css b/wp-admin/css/customize-widgets-rtl.min.css
new file mode 100644 (file)
index 0000000..f8bd054
--- /dev/null
@@ -0,0 +1 @@
+.wp-full-overlay-sidebar{overflow:visible}.control-section[id^=accordion-section-sidebar-widgets-],.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 .spinner,.customize-control-widget_form .widget-control-save{display:none}.customize-control-widget_form.previewer-loading .spinner{display:inline}.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:0;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: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:1px dotted}.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:#888;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:0;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:#2ea2cc}#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:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}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;-webkit-transition:all .2s;transition:all .2s;border-left:1px solid #ddd}#available-widgets-filter{padding:8px 13px 7px 17px;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:0;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:#333;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}}
\ No newline at end of file
diff --git a/wp-admin/css/customize-widgets.css b/wp-admin/css/customize-widgets.css
new file mode 100644 (file)
index 0000000..f025f79
--- /dev/null
@@ -0,0 +1,603 @@
+.wp-full-overlay-sidebar {
+       overflow: visible;
+}
+
+/**
+ * Hide all sidebar sections by default, only show them (via JS) once the
+ * preview loads and we know whether the sidebars are used in the template.
+ */
+
+.control-section[id^="accordion-section-sidebar-widgets-"],
+.customize-control-sidebar_widgets label,
+.customize-control-sidebar_widgets .hide-if-js {
+       /* The link in .customize-control-sidebar_widgets .hide-if-js will fail if it ever gets used. */
+       display:none;
+}
+
+.customize-control-widget_form .widget-top {
+       -webkit-transition: opacity 0.5s;
+       transition: opacity 0.5s;
+}
+
+.customize-control-widget_form:not(.widget-rendered) .widget-top {
+       opacity: 0.5;
+}
+
+.customize-control-widget_form .widget-control-save,
+.customize-control-widget_form .spinner {
+       display: none;
+}
+
+.customize-control-widget_form.previewer-loading .spinner {
+       display: inline;
+}
+
+.customize-control-widget_form.widget-form-disabled .widget-content {
+       opacity: 0.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 rgb(229, 229, 229);
+       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 0.4s;
+       transition: background-color 0.4s;
+}
+.customize-control-widget_form.wide-widget-control.expanding .widget-top,
+.customize-control-widget_form.wide-widget-control.expanded:not(.collapsing) .widget-top {
+       background-color: rgb(227, 227, 227);
+}
+
+.widget-inside {
+       padding: 1px 10px 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: none;
+       -webkit-box-shadow: 0 0 2px rgba(30,140,190,0.8);
+       box-shadow: 0 0 2px rgba(30,140,190,0.8);
+       position: relative;
+       z-index: 1;
+}
+
+#widget-customizer-control-templates {
+       display: none;
+}
+
+/**
+* Widget reordering styles
+**/
+
+.reorder-toggle {
+       float: right;
+       padding: 5px 8px;
+       text-decoration: none;
+       cursor: pointer;
+       outline: none;
+       -webkit-user-select: none;
+       -moz-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
+}
+.reorder-toggle:focus {
+       outline: 1px dotted;
+}
+
+.reorder-done,
+.reordering .reorder {
+       display: none;
+}
+
+.reordering .reorder-done {
+       display: block;
+       color: #aa0000;
+}
+
+#customize-theme-controls .reordering .add-new-widget {
+       opacity: 0.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; /* was 42px for mobile */
+       height: 43px;
+       color: #888;
+       text-indent: -9999px;
+       cursor: pointer;
+       outline: none;
+}
+
+.widget-reorder-nav span:before {
+       display: inline-block;
+       position: absolute;
+       top: 0;
+       right: 0;
+       width: 100%;
+       height: 100%;
+       font: normal 20px/43px 'dashicons';
+       text-align: center;
+       text-indent: 0;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+.widget-reorder-nav span:hover,
+.widget-reorder-nav span:focus {
+       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: normal 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: #2ea2cc;
+}
+
+#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;
+}
+
+
+/**
+ * Styles for new widget addition panel
+ */
+.wp-full-overlay-main {
+       right: auto; /* this overrides a right: 0; which causes the preview to resize, I'd rather have it go off screen at the normal size. */
+       width: 100%;
+}
+
+#customize-theme-controls .add-new-widget {
+       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-widget: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;
+}
+
+body.adding-widget .add-new-widget,
+body.adding-widget .add-new-widget:hover {
+       background: #eee;
+       border-color: #999;
+       color: #333;
+       -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);
+}
+body.adding-widget .add-new-widget:before {
+       -webkit-transform: rotate(45deg);
+       -ms-transform: rotate(45deg);
+       transform: rotate(45deg);
+}
+
+#available-widgets .widget {
+       position: static;
+}
+
+/* override widgets admin page rules in wp-admin/css/wp-admin.css */
+#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;
+       -webkit-transition: all 0.2s;
+       transition: all 0.2s;
+       border-right: 1px solid #dddddd;
+}
+
+#available-widgets-filter {
+       padding: 8px 17px 7px 13px;
+       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 10px;
+       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:hover,
+#available-widgets .widget-tpl.selected {
+       background: #fafafa;
+}
+
+#available-widgets .widget-top,
+#available-widgets .widget-top:hover {
+       border: none;
+       background: transparent;
+       -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 0.2s;
+       transition: all 0.2s;
+}
+
+body.adding-widget #available-widgets {
+       left: 0;
+}
+
+body.adding-widget .wp-full-overlay-main {
+       left: 300px;
+}
+
+body.adding-widget #customize-preview {
+       opacity: 0.4;
+}
+
+
+/**
+ * Widget Icon styling
+ * No plurals in naming.
+ * Ordered from lowest to highest specificity.
+ **/
+#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: #333;
+       font: normal 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;
+}
+
+/* smiley */
+#available-widgets [class*="easy"] .widget-title:before { content: "\f328"; top: -4px; }
+
+/* star-filled */
+#available-widgets [class*="super"] .widget-title:before,
+#available-widgets [class*="like"] .widget-title:before { content: "\f155"; top: -4px; }
+
+/* wordpress */
+#available-widgets [class*="meta"] .widget-title:before { content: "\f120"; }
+
+/* archive-box */
+#available-widgets [class*="archives"] .widget-title:before { content: "\f480"; top: -4px; }
+
+/* category */
+#available-widgets [class*="categor"] .widget-title:before { content: "\f318"; top: -4px; }
+
+/* comments */
+#available-widgets [class*="comment"] .widget-title:before,
+#available-widgets [class*="testimonial"] .widget-title:before,
+#available-widgets [class*="chat"] .widget-title:before { content: "\f101"; }
+
+/* post */
+#available-widgets [class*="post"] .widget-title:before { content: "\f109"; }
+
+/* admin-page */
+#available-widgets [class*="page"] .widget-title:before { content: "\f105"; }
+
+/* text */
+#available-widgets [class*="text"] .widget-title:before { content: "\f478"; }
+
+/* links */
+#available-widgets [class*="link"] .widget-title:before { content: "\f103"; }
+
+/* search */
+#available-widgets [class*="search"] .widget-title:before { content: "\f179"; }
+
+/* menu */
+#available-widgets [class*="menu"] .widget-title:before,
+#available-widgets [class*="nav"] .widget-title:before { content: "\f333"; }
+
+/* tag-cloud */
+#available-widgets [class*="tag"] .widget-title:before { content: "\f479"; }
+
+/* rss */
+#available-widgets [class*="rss"] .widget-title:before { content: "\f303"; top: -6px; }
+
+/* calendar */
+#available-widgets [class*="event"] .widget-title:before,
+#available-widgets [class*="calendar"] .widget-title:before { content: "\f145"; top: -4px;}
+
+/* format-image */
+#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"; }
+
+/* format-gallery */
+#available-widgets [class*="album"] .widget-title:before,
+#available-widgets [class*="galler"] .widget-title:before { content: "\f161"; }
+
+/* format-video */
+#available-widgets [class*="video"] .widget-title:before,
+#available-widgets [class*="tube"] .widget-title:before { content: "\f126"; }
+
+/* format-audio */
+#available-widgets [class*="music"] .widget-title:before,
+#available-widgets [class*="radio"] .widget-title:before,
+#available-widgets [class*="audio"] .widget-title:before { content: "\f127"; }
+
+/* admin-users */
+#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"; }
+
+/* cart */
+#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; }
+
+/* shield */
+#available-widgets [class*="secur"] .widget-title:before,
+#available-widgets [class*="firewall"] .widget-title:before { content: "\f332"; }
+
+/* chart-bar */
+#available-widgets [class*="analytic"] .widget-title:before,
+#available-widgets [class*="stat"] .widget-title:before,
+#available-widgets [class*="poll"] .widget-title:before { content: "\f185"; }
+
+/* feedback */
+#available-widgets [class*="form"] .widget-title:before { content: "\f175"; }
+
+/* email-alt */
+#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"; }
+
+/* share */
+#available-widgets [class*="share"] .widget-title:before,
+#available-widgets [class*="socia"] .widget-title:before { content: "\f237"; }
+
+/* translation */
+#available-widgets [class*="lang"] .widget-title:before,
+#available-widgets [class*="translat"] .widget-title:before { content: "\f326"; }
+
+/* location-alt */
+#available-widgets [class*="locat"] .widget-title:before,
+#available-widgets [class*="map"] .widget-title:before { content: "\f231"; }
+
+/* download */
+#available-widgets [class*="download"] .widget-title:before { content: "\f316"; }
+
+/* cloud */
+#available-widgets [class*="weather"] .widget-title:before { content: "\f176"; top: -4px;}
+
+/* facebook */
+#available-widgets [class*="facebook"] .widget-title:before { content: "\f304"; }
+
+/* twitter */
+#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;
+       }
+}
diff --git a/wp-admin/css/customize-widgets.min.css b/wp-admin/css/customize-widgets.min.css
new file mode 100644 (file)
index 0000000..cac07db
--- /dev/null
@@ -0,0 +1 @@
+.wp-full-overlay-sidebar{overflow:visible}.control-section[id^=accordion-section-sidebar-widgets-],.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 .spinner,.customize-control-widget_form .widget-control-save{display:none}.customize-control-widget_form.previewer-loading .spinner{display:inline}.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:0;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:1px dotted}.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:#888;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:0;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:#2ea2cc}#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:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}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;-webkit-transition:all .2s;transition:all .2s;border-right:1px solid #ddd}#available-widgets-filter{padding:8px 17px 7px 13px;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:0;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:#333;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}}
\ No newline at end of file
diff --git a/wp-admin/css/dashboard-rtl.css b/wp-admin/css/dashboard-rtl.css
new file mode 100644 (file)
index 0000000..f608d45
--- /dev/null
@@ -0,0 +1,1135 @@
+#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;
+}
+
+#wpbody-content #dashboard-widgets.columns-4 .postbox-container {
+       width: 25%;
+}
+
+#dashboard-widgets .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 none;
+       height: 0;
+       min-height: 0;
+}
+
+/*------------------------------------------------------------------------------
+  9.0 - Dashboard
+------------------------------------------------------------------------------*/
+
+#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;
+}
+
+h3.dashboard-widget-title,
+h3.dashboard-widget-title span,
+h3.dashboard-widget-title small {
+       color: #333;
+}
+
+h3.dashboard-widget-title small a {
+       color: #d7d7d7;
+}
+
+h3.dashboard-widget-title small a:hover {
+       color: #fff;
+}
+
+/* @todo: this was originally in this section, but likely belongs elsewhere */
+#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 */
+.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,0.04);
+       box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       background: #fff;
+       font-size: 13px;
+       line-height: 2.1em;
+}
+
+.welcome-panel h3 {
+       margin: 0;
+       font-size: 21px;
+       font-weight: normal;
+       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;
+}
+
+.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: transparent !important;
+}
+
+.welcome-panel .welcome-icon:before {
+       color: #888;
+       font: normal 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-write-blog:before,
+.welcome-panel .welcome-edit-page: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: 0.8em 0 1em 1em;
+}
+
+.welcome-panel .welcome-panel-column li {
+       line-height: 16px;
+       list-style-type: none;
+}
+
+/* Dashboard WordPress news */
+
+#dashboard_primary .inside {
+       margin: 0;
+       padding: 0;
+}
+
+#dashboard_primary .widget-loading,
+#dashboard_primary .dashboard-widget-control-form {
+       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;
+}
+
+/* @todo: are these actually used anywhere? no non-CSS results in plugin search */
+div.dashboard-widget-error {
+       background-color: #c43;
+}
+
+div.dashboard-widget-notice {
+       background-color: #cfe1ef;
+}
+
+.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: normal;
+}
+
+#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 */
+
+#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 {
+       clear: left;
+       float: left;
+       position: relative;
+       top: -5px;
+}
+
+.mu-storage {
+       overflow: hidden;
+}
+
+#dashboard-widgets h4.mu-storage {
+       margin-bottom: 10px;
+}
+
+/* Dashboard right now - Colors */
+
+#dashboard_right_now li a:before,
+#dashboard_right_now li span:before {
+       color: #888;
+}
+
+#dashboard_right_now .sub {
+       color: #777;
+       background: #f5f5f5;
+       border-top: 1px solid #eee;
+       padding: 10px 12px 6px 12px;
+}
+
+#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 - Icons */
+#dashboard_right_now li a:before,
+#dashboard_right_now li span:before {
+       content: '\f159';
+       font: normal 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 Draft */
+
+#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;
+}
+
+/* Dashboard Quick Draft - Form styling */
+
+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;
+}
+
+#dashboard-widgets .postbox form .submit {
+       margin: -39px 0;
+       float: left;
+}
+
+#description-wrap {
+       margin-top: 12px;
+}
+
+#title-wrap #title-prompt-text,
+.textarea-wrap #content-prompt-text {
+       color: #777;
+}
+
+#title-wrap #title-prompt-text {
+       font-size: 1.1em;
+       padding: 7px 8px;
+}
+
+.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 Draft - Drafts list */
+
+.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: normal;
+}
+
+#dashboard_quick_press .drafts .view-all {
+       float: left;
+       margin: 0 0 0 12px;
+}
+
+#dashboard_primary a.rsswidget {
+       font-weight: normal;
+}
+
+#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 activity widget */
+
+#dashboard-widgets #dashboard_activity h4 {
+       margin: 0 12px 8px 0;
+       font-weight: normal;
+}
+
+#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: normal 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 #eeeeee;
+       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;
+}
+
+/* Dashboard activity widget - Comments */
+/* @todo: needs serious de-duplication */
+
+#activity-widget #the-comment-list tr.undo,
+#activity-widget #the-comment-list div.undo {
+       background: none;
+       padding: 6px 0;
+}
+
+#activity-widget #the-comment-list .alternate,
+#activity-widget #the-comment-list .alt {
+       background: none;
+}
+
+#activity-widget #the-comment-list .comment-item {
+       background: #fafafa;
+       padding: 12px;
+       position: relative;
+}
+
+#activity-widget #the-comment-list img {
+       position: absolute;
+       right: 13px;
+       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 0;
+}
+
+#activity-widget #the-comment-list .comment-item:first-child {
+       border-top: 1px solid #eeeeee;
+}
+
+#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 {
+       margin-left: 20px;
+       position: relative;
+       top: 0;
+}
+
+/* Browse happy box */
+
+#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 {
+       width: 100%;
+}
+
+#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: #222;
+       font-weight: normal;
+       font-size: 14px;
+       margin: 0 0 .2em;
+       padding: 0;
+}
+
+#dashboard_plugins h5 {
+       font-size: 14px;
+}
+
+/* Recent Comments */
+
+#latest-comments #the-comment-list {
+       position: relative;
+}
+
+#activity-widget #the-comment-list .comment {
+       -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.06);
+       box-shadow: inset 0 1px 0 rgba(0, 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: normal;
+}
+
+#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;
+}
+
+/* QuickDraft */
+
+#title-wrap label {
+       cursor: text;
+}
+
+#title-wrap #title {
+       padding: 2px 6px;
+       font-size: 1.3em;
+       line-height: 100%;
+       outline: none;
+}
+
+#title-wrap #title-prompt-text {
+       font-size: 1.1em;
+       padding: 5px 8px;
+}
+
+/* Feeds */
+.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;
+}
+
+/* Browser Nag */
+#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: transparent none;
+       color: #fff;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+#dashboard_browser_nag a {
+       color: #fff;
+}
+
+/* Make the browser nags easier to read with Open Sans */
+
+#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 p,
+.postbox#dashboard_browser_nag a,
+.postbox#dashboard_browser_nag p.browser-update-nag {
+       font-size: 16px;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+/* one column on the dash */
+@media only screen and (max-width: 799px) {
+       #wpbody-content #dashboard-widgets .postbox-container {
+               width: 100%;
+       }
+}
+
+/* two columns on the dash, but keep the setting if one is selected */
+@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 none;
+               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 none;
+               height: 0;
+               min-height: 0;
+       }
+
+       /* show the radio buttons for column prefs only for one or two columns */
+       .index-php .screen-layout,
+       .index-php .columns-prefs {
+               display: block;
+       }
+
+       .columns-prefs .columns-prefs-3,
+       .columns-prefs .columns-prefs-4 {
+               display: none;
+       }
+}
+
+/* three columns on the dash */
+@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 none;
+               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: 0.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;
+       }
+}
+
+/* Smartphone */
+@media screen and (max-width: 600px) {
+       /* Keep the close icon from overlapping the Welcome text. */
+       .welcome-panel .welcome-panel-close {
+               overflow: hidden;
+               text-indent: 100%;
+               white-space: nowrap;
+               width: 20px;
+               height: 20px;
+               left: 0;
+               padding: 5px;
+       }
+
+       /* Make the close icon larger for tappability. */
+       #welcome-panel.welcome-panel .welcome-panel-close::before {
+               font-size: 20px;
+               margin: 0;
+       }
+}
diff --git a/wp-admin/css/dashboard.css b/wp-admin/css/dashboard.css
new file mode 100644 (file)
index 0000000..bd94d96
--- /dev/null
@@ -0,0 +1,1135 @@
+#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;
+}
+
+#wpbody-content #dashboard-widgets.columns-4 .postbox-container {
+       width: 25%;
+}
+
+#dashboard-widgets .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 none;
+       height: 0;
+       min-height: 0;
+}
+
+/*------------------------------------------------------------------------------
+  9.0 - Dashboard
+------------------------------------------------------------------------------*/
+
+#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;
+}
+
+h3.dashboard-widget-title,
+h3.dashboard-widget-title span,
+h3.dashboard-widget-title small {
+       color: #333;
+}
+
+h3.dashboard-widget-title small a {
+       color: #d7d7d7;
+}
+
+h3.dashboard-widget-title small a:hover {
+       color: #fff;
+}
+
+/* @todo: this was originally in this section, but likely belongs elsewhere */
+#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 */
+.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,0.04);
+       box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       background: #fff;
+       font-size: 13px;
+       line-height: 2.1em;
+}
+
+.welcome-panel h3 {
+       margin: 0;
+       font-size: 21px;
+       font-weight: normal;
+       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 0 3px;
+}
+
+.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: transparent !important;
+}
+
+.welcome-panel .welcome-icon:before {
+       color: #888;
+       font: normal 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-write-blog:before,
+.welcome-panel .welcome-edit-page: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: 0.8em 1em 1em 0;
+}
+
+.welcome-panel .welcome-panel-column li {
+       line-height: 16px;
+       list-style-type: none;
+}
+
+/* Dashboard WordPress news */
+
+#dashboard_primary .inside {
+       margin: 0;
+       padding: 0;
+}
+
+#dashboard_primary .widget-loading,
+#dashboard_primary .dashboard-widget-control-form {
+       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;
+}
+
+/* @todo: are these actually used anywhere? no non-CSS results in plugin search */
+div.dashboard-widget-error {
+       background-color: #c43;
+}
+
+div.dashboard-widget-notice {
+       background-color: #cfe1ef;
+}
+
+.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: normal;
+}
+
+#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 */
+
+#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 {
+       clear: right;
+       float: right;
+       position: relative;
+       top: -5px;
+}
+
+.mu-storage {
+       overflow: hidden;
+}
+
+#dashboard-widgets h4.mu-storage {
+       margin-bottom: 10px;
+}
+
+/* Dashboard right now - Colors */
+
+#dashboard_right_now li a:before,
+#dashboard_right_now li span:before {
+       color: #888;
+}
+
+#dashboard_right_now .sub {
+       color: #777;
+       background: #f5f5f5;
+       border-top: 1px solid #eee;
+       padding: 10px 12px 6px 12px;
+}
+
+#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 - Icons */
+#dashboard_right_now li a:before,
+#dashboard_right_now li span:before {
+       content: '\f159';
+       font: normal 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 Draft */
+
+#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;
+}
+
+/* Dashboard Quick Draft - Form styling */
+
+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;
+}
+
+#dashboard-widgets .postbox form .submit {
+       margin: -39px 0;
+       float: right;
+}
+
+#description-wrap {
+       margin-top: 12px;
+}
+
+#title-wrap #title-prompt-text,
+.textarea-wrap #content-prompt-text {
+       color: #777;
+}
+
+#title-wrap #title-prompt-text {
+       font-size: 1.1em;
+       padding: 7px 8px;
+}
+
+.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 Draft - Drafts list */
+
+.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: normal;
+}
+
+#dashboard_quick_press .drafts .view-all {
+       float: right;
+       margin: 0 12px 0 0;
+}
+
+#dashboard_primary a.rsswidget {
+       font-weight: normal;
+}
+
+#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 activity widget */
+
+#dashboard-widgets #dashboard_activity h4 {
+       margin: 0 0 8px 12px;
+       font-weight: normal;
+}
+
+#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: normal 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 #eeeeee;
+       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;
+}
+
+/* Dashboard activity widget - Comments */
+/* @todo: needs serious de-duplication */
+
+#activity-widget #the-comment-list tr.undo,
+#activity-widget #the-comment-list div.undo {
+       background: none;
+       padding: 6px 0;
+}
+
+#activity-widget #the-comment-list .alternate,
+#activity-widget #the-comment-list .alt {
+       background: none;
+}
+
+#activity-widget #the-comment-list .comment-item {
+       background: #fafafa;
+       padding: 12px;
+       position: relative;
+}
+
+#activity-widget #the-comment-list img {
+       position: absolute;
+       left: 13px;
+       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 0;
+}
+
+#activity-widget #the-comment-list .comment-item:first-child {
+       border-top: 1px solid #eeeeee;
+}
+
+#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 {
+       margin-right: 20px;
+       position: relative;
+       top: 0;
+}
+
+/* Browse happy box */
+
+#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 {
+       width: 100%;
+}
+
+#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: #222;
+       font-weight: normal;
+       font-size: 14px;
+       margin: 0 0 .2em;
+       padding: 0;
+}
+
+#dashboard_plugins h5 {
+       font-size: 14px;
+}
+
+/* Recent Comments */
+
+#latest-comments #the-comment-list {
+       position: relative;
+}
+
+#activity-widget #the-comment-list .comment {
+       -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.06);
+       box-shadow: inset 0 1px 0 rgba(0, 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: normal;
+}
+
+#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;
+}
+
+/* QuickDraft */
+
+#title-wrap label {
+       cursor: text;
+}
+
+#title-wrap #title {
+       padding: 2px 6px;
+       font-size: 1.3em;
+       line-height: 100%;
+       outline: none;
+}
+
+#title-wrap #title-prompt-text {
+       font-size: 1.1em;
+       padding: 5px 8px;
+}
+
+/* Feeds */
+.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;
+}
+
+/* Browser Nag */
+#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: transparent none;
+       color: #fff;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+#dashboard_browser_nag a {
+       color: #fff;
+}
+
+/* Make the browser nags easier to read with Open Sans */
+
+#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 p,
+.postbox#dashboard_browser_nag a,
+.postbox#dashboard_browser_nag p.browser-update-nag {
+       font-size: 16px;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+/* one column on the dash */
+@media only screen and (max-width: 799px) {
+       #wpbody-content #dashboard-widgets .postbox-container {
+               width: 100%;
+       }
+}
+
+/* two columns on the dash, but keep the setting if one is selected */
+@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 none;
+               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 none;
+               height: 0;
+               min-height: 0;
+       }
+
+       /* show the radio buttons for column prefs only for one or two columns */
+       .index-php .screen-layout,
+       .index-php .columns-prefs {
+               display: block;
+       }
+
+       .columns-prefs .columns-prefs-3,
+       .columns-prefs .columns-prefs-4 {
+               display: none;
+       }
+}
+
+/* three columns on the dash */
+@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 none;
+               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: 0.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;
+       }
+}
+
+/* Smartphone */
+@media screen and (max-width: 600px) {
+       /* Keep the close icon from overlapping the Welcome text. */
+       .welcome-panel .welcome-panel-close {
+               overflow: hidden;
+               text-indent: 100%;
+               white-space: nowrap;
+               width: 20px;
+               height: 20px;
+               right: 0;
+               padding: 5px;
+       }
+
+       /* Make the close icon larger for tappability. */
+       #welcome-panel.welcome-panel .welcome-panel-close::before {
+               font-size: 20px;
+               margin: 0;
+       }
+}
diff --git a/wp-admin/css/deprecated-media-rtl.css b/wp-admin/css/deprecated-media-rtl.css
new file mode 100644 (file)
index 0000000..7b69804
--- /dev/null
@@ -0,0 +1,376 @@
+/* Styles for the media library iframe (not used on the Library screen) */
+
+div#media-upload-header {
+       margin: 0;
+       padding: 5px 5px 0;
+       font-weight: bold;
+       position: relative;
+       border-bottom: 1px solid #dfdfdf;
+       background: #f9f9f9;
+}
+
+body#media-upload ul#sidemenu {
+       font-weight: normal;
+       margin: 0 5px;
+       right: 0;
+       bottom: -1px;
+       float: none;
+       overflow: hidden;
+}
+
+#media-upload:after { /* clearfix */
+       content: "";
+       display: table;
+       clear: both;
+}
+
+#media-upload,
+#media-upload .media-item .slidetoggle {
+       background: #fff;
+}
+
+#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: normal;
+}
+
+.media-upload-form p.help {
+       margin: 0;
+       padding: 0;
+}
+
+.media-upload-form fieldset {
+       width: 100%;
+       border: none;
+       text-align: justify;
+       margin: 0 0 1em 0;
+       padding: 0;
+}
+
+/* specific to the image upload form */
+
+.image-align-none-label {
+       background: url(../images/align-none.png) no-repeat center right;
+}
+
+.image-align-left-label {
+       background: url(../images/align-left.png) no-repeat center right;
+}
+
+.image-align-center-label {
+       background: url(../images/align-center.png) no-repeat center right;
+}
+
+.image-align-right-label {
+       background: url(../images/align-right.png) no-repeat center right;
+}
+
+tr.image-size td {
+       width: 460px;
+}
+
+tr.image-size div.image-size-item {
+       margin: 0 0 5px;
+}
+
+#library-form .progress,
+#gallery-form .progress,
+.insert-gallery,
+.describe.startopen,
+.describe.startclosed {
+       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;
+}
+
+/* Specific to Uploader */
+
+#media-upload p.ml-submit {
+       padding: 1em 0;
+}
+
+#media-upload p.help,
+#media-upload label.help {
+       font-family: sans-serif;
+       font-style: italic;
+       font-weight: normal;
+}
+
+#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: 10px 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 #aaa;
+       opacity: 0.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 {
+       width: 626px;
+       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: normal;
+       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: 615px;
+       clear: both;
+       cursor: default;
+}
+
+#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: 0.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 {
+       margin: 1em;
+}
+
+tr.not-image {
+       display: none;
+}
+
+table.not-image tr.not-image {
+       display: table-row;
+}
+
+table.not-image tr.image-only {
+       display: none;
+}
+
+/**
+ * HiDPI Displays
+ */
+@media print,
+  (-o-min-device-pixel-ratio: 5/4),
+  (-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;
+       }
+}
diff --git a/wp-admin/css/deprecated-media-rtl.min.css b/wp-admin/css/deprecated-media-rtl.min.css
new file mode 100644 (file)
index 0000000..a16b012
--- /dev/null
@@ -0,0 +1 @@
+div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom:1px solid #dfdfdf;background:#f9f9f9}body#media-upload ul#sidemenu{font-weight:400;margin:0 5px;right:0;bottom:-1px;float:none;overflow:hidden}#media-upload:after{content:"";display:table;clear:both}#media-upload,#media-upload .media-item .slidetoggle{background:#fff}#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:0;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) no-repeat center right}.image-align-left-label{background:url(../images/align-left.png) no-repeat center right}.image-align-center-label{background:url(../images/align-center.png) no-repeat center right}.image-align-right-label{background:url(../images/align-right.png) no-repeat center right}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:0}.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:10px 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 #aaa;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{width:626px;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:615px;clear:both;cursor:default}#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{margin: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,(-o-min-device-pixel-ratio:5/4),(-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
diff --git a/wp-admin/css/deprecated-media.css b/wp-admin/css/deprecated-media.css
new file mode 100644 (file)
index 0000000..edd4c0b
--- /dev/null
@@ -0,0 +1,376 @@
+/* Styles for the media library iframe (not used on the Library screen) */
+
+div#media-upload-header {
+       margin: 0;
+       padding: 5px 5px 0;
+       font-weight: bold;
+       position: relative;
+       border-bottom: 1px solid #dfdfdf;
+       background: #f9f9f9;
+}
+
+body#media-upload ul#sidemenu {
+       font-weight: normal;
+       margin: 0 5px;
+       left: 0;
+       bottom: -1px;
+       float: none;
+       overflow: hidden;
+}
+
+#media-upload:after { /* clearfix */
+       content: "";
+       display: table;
+       clear: both;
+}
+
+#media-upload,
+#media-upload .media-item .slidetoggle {
+       background: #fff;
+}
+
+#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: normal;
+}
+
+.media-upload-form p.help {
+       margin: 0;
+       padding: 0;
+}
+
+.media-upload-form fieldset {
+       width: 100%;
+       border: none;
+       text-align: justify;
+       margin: 0 0 1em 0;
+       padding: 0;
+}
+
+/* specific to the image upload form */
+
+.image-align-none-label {
+       background: url(../images/align-none.png) no-repeat center left;
+}
+
+.image-align-left-label {
+       background: url(../images/align-left.png) no-repeat center left;
+}
+
+.image-align-center-label {
+       background: url(../images/align-center.png) no-repeat center left;
+}
+
+.image-align-right-label {
+       background: url(../images/align-right.png) no-repeat center left;
+}
+
+tr.image-size td {
+       width: 460px;
+}
+
+tr.image-size div.image-size-item {
+       margin: 0 0 5px;
+}
+
+#library-form .progress,
+#gallery-form .progress,
+.insert-gallery,
+.describe.startopen,
+.describe.startclosed {
+       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;
+}
+
+/* Specific to Uploader */
+
+#media-upload p.ml-submit {
+       padding: 1em 0;
+}
+
+#media-upload p.help,
+#media-upload label.help {
+       font-family: sans-serif;
+       font-style: italic;
+       font-weight: normal;
+}
+
+#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: 10px 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 #aaa;
+       opacity: 0.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 {
+       width: 626px;
+       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: normal;
+       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: 615px;
+       clear: both;
+       cursor: default;
+}
+
+#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: 0.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 {
+       margin: 1em;
+}
+
+tr.not-image {
+       display: none;
+}
+
+table.not-image tr.not-image {
+       display: table-row;
+}
+
+table.not-image tr.image-only {
+       display: none;
+}
+
+/**
+ * HiDPI Displays
+ */
+@media print,
+  (-o-min-device-pixel-ratio: 5/4),
+  (-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;
+       }
+}
diff --git a/wp-admin/css/deprecated-media.min.css b/wp-admin/css/deprecated-media.min.css
new file mode 100644 (file)
index 0000000..a6aca1d
--- /dev/null
@@ -0,0 +1 @@
+div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom:1px solid #dfdfdf;background:#f9f9f9}body#media-upload ul#sidemenu{font-weight:400;margin:0 5px;left:0;bottom:-1px;float:none;overflow:hidden}#media-upload:after{content:"";display:table;clear:both}#media-upload,#media-upload .media-item .slidetoggle{background:#fff}#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:0;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) no-repeat center left}.image-align-left-label{background:url(../images/align-left.png) no-repeat center left}.image-align-center-label{background:url(../images/align-center.png) no-repeat center left}.image-align-right-label{background:url(../images/align-right.png) no-repeat center left}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:0}.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:10px 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 #aaa;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{width:626px;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:615px;clear:both;cursor:default}#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{margin: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,(-o-min-device-pixel-ratio:5/4),(-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
diff --git a/wp-admin/css/edit-rtl.css b/wp-admin/css/edit-rtl.css
new file mode 100644 (file)
index 0000000..3f69437
--- /dev/null
@@ -0,0 +1,1423 @@
+#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;
+}
+
+/*------------------------------------------------------------------------------
+  11.0 - Write/Edit Post Screen
+------------------------------------------------------------------------------*/
+
+#show-comments {
+       overflow: hidden;
+}
+
+#save-action .spinner,
+#show-comments a,
+#show-comments .spinner {
+       float: right;
+}
+
+#lost-connection-notice .spinner {
+       display: block;
+       float: right;
+       margin: 0 0 0 5px;
+}
+
+#titlediv {
+       position: relative;
+       margin-bottom: 10px;
+}
+
+#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: none;
+       margin: 0;
+       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: 0 none;
+       border: 0 none;
+       padding: 0;
+       font-size: 11px;
+       margin-top: -1px;
+}
+
+#edit-slug-box {
+       line-height: 24px;
+       min-height: 25px; /* Yes, line-height + 1 */
+       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;
+}
+
+/* @todo: do we really need this? word on the street is we don't and this
+stray rule may actually be compensated for elsewhere. */
+#normal-sortables .submitbox .submitdelete:hover {
+       color: #000;
+       background-color: #f00;
+       border-bottom-color: #f00;
+}
+
+.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 Screen */
+#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,0.04);
+       box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       background: #fff;
+}
+
+#trackback_url {
+       width: 99%;
+}
+
+#normal-sortables .postbox .submit {
+       background: transparent none;
+       border: 0 none;
+       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;
+}
+
+ul.category-tabs li,
+#side-sortables .add-menu-item-tabs li,
+.wp-tab-bar li {
+       display: inline;
+       line-height: 1.35em;
+}
+
+.no-js .category-tabs li.hide-if-no-js {
+       display: none;
+}
+
+.category-tabs a,
+#side-sortables .add-menu-item-tabs a,
+.wp-tab-bar a {
+       text-decoration: none;
+}
+
+/* @todo: do these really need to be so specific? */
+#side-sortables .category-tabs .tabs a,
+#side-sortables .add-menu-item-tabs .tabs a,
+.wp-tab-bar .wp-tab-active a,
+#post-body ul.category-tabs li.tabs a,
+#post-body ul.add-menu-item-tabs li.tabs a {
+       color: #333;
+}
+
+.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 input,
+#side-sortables .submitbox .submit .preview,
+#side-sortables .submitbox .submit a.preview:hover {
+       border: 0 none;
+}
+
+#side-sortables .inside-submitbox .insidebox,
+.stuffbox .insidebox {
+       margin: 11px 0;
+}
+
+/* @todo: make this a more generic class */
+ul.category-tabs,
+ul.add-menu-item-tabs,
+ul.wp-tab-bar {
+       margin-top: 12px;
+}
+
+ul.category-tabs li,
+ul.add-menu-item-tabs li {
+       border: solid 1px transparent;
+       position: relative;
+}
+
+ul.category-tabs li.tabs,
+ul.add-menu-item-tabs li.tabs,
+.wp-tab-active {
+       border: 1px solid #dfdfdf;
+       border-bottom-color: #fdfdfd;
+       background-color: #fdfdfd;
+}
+
+ul.category-tabs li,
+ul.add-menu-item-tabs li,
+ul.wp-tab-bar li {
+       padding: 3px 5px 5px;
+}
+
+#postimagediv .inside img {
+       max-width: 100%;
+       height: auto;
+}
+
+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 {
+       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,0.04);
+       box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+}
+
+#post-status-info td {
+       font-size: 12px;
+}
+
+.autosave-info {
+       padding: 2px;
+       text-align: left;
+}
+
+#editorcontent #post-status-info {
+       border: none;
+}
+
+#content-resize-handle {
+       background: transparent url(../images/resize.gif) no-repeat scroll left bottom;
+       width: 12px;
+       cursor: n-resize;
+}
+
+.rtl #content-resize-handle {
+       background: transparent url(../images/resize-rtl.gif) no-repeat scroll right bottom;
+}
+
+#wp-word-count {
+       display: block;
+       padding: 2px 10px;
+}
+
+#timestampdiv select {
+       height: 21px;
+       line-height: 14px;
+       padding: 0;
+       vertical-align: top;
+       font-size: 12px;
+}
+
+#aa, #jj, #hh, #mn {
+       padding: 1px;
+       font-size: 12px;
+}
+
+#jj, #hh, #mn {
+       width: 2em;
+}
+
+#aa {
+       width: 3.4em;
+}
+
+.curtime #timestamp {
+       padding: 2px 0 1px 0;
+       display: inline !important;
+       height: auto !important;
+}
+
+#misc-publishing-actions label[for="post_status"]:before,
+#post-body #visibility:before,
+.curtime #timestamp:before,
+#post-body .misc-pub-revisions:before,
+span.wp-media-buttons-icon:before {
+       color: #888;
+}
+
+#post-body #visibility:before,
+.curtime #timestamp:before,
+#post-body .misc-pub-revisions:before {
+       font: normal 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%;
+       right: 50%;
+       width: 450px;
+       margin-right: -225px;
+       background: #fff;
+       -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       line-height: 1.5;
+       z-index: 1000005;
+}
+
+.notification-dialog-background {
+       position: fixed;
+       top: 0;
+       right: 0;
+       left: 0;
+       bottom: 0;
+       background: #000;
+       opacity: 0.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.saving .locked-saving,
+#post-lock-dialog.saved .locked-saved {
+       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;
+       white-space: nowrap;
+       cursor: default;
+}
+
+.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 0;
+}
+
+#poststuff .inside #parent_id,
+#poststuff .inside #page_template {
+       max-width: 100%;
+}
+
+#poststuff .inside label.spam,
+#poststuff .inside label.deleted {
+       color: red;
+}
+
+#poststuff .inside label.waiting {
+       color: orange;
+}
+
+#poststuff .inside label.approved {
+       color: green;
+}
+
+.ie8 #poststuff .inside #parent_id,
+.ie8 #poststuff .inside #page_template {
+       width: 250px;
+}
+
+#post-visibility-select {
+       line-height: 1.5em;
+       margin-top: 3px;
+}
+
+#poststuff #submitdiv .inside {
+       margin: 0;
+       padding: 0;
+}
+
+.edit-form-section {
+       margin-bottom: 20px;
+}
+
+/*------------------------------------------------------------------------------
+  11.1 - Custom Fields
+------------------------------------------------------------------------------*/
+
+#postcustomstuff thead th {
+       padding: 5px 8px 8px;
+       background-color: #f1f1f1;
+}
+
+#postcustom #postcustomstuff .submit {
+       border: 0 none;
+       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 th.left,
+#postcustomstuff td.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;
+}
+
+/*------------------------------------------------------------------------------
+  11.3 - Featured Images
+------------------------------------------------------------------------------*/
+
+#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;
+}
+
+/*------------------------------------------------------------------------------
+  11.4 - Post formats
+------------------------------------------------------------------------------*/
+
+.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: normal 20px/1 'dashicons' !important;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+.post-state-format:before,
+.post-format-icon:before {
+       color: #ddd;
+       -webkit-transition: all .1s ease-in-out;
+       transition: all .1s ease-in-out;
+}
+
+a.post-state-format:hover:before,
+a.post-format-icon:hover:before {
+       color: #2ea2cc;
+}
+
+#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: 0px;
+       padding: 2px 0px 2px 0;
+}
+
+.post-format-icon:before {
+       position: relative;
+       display: inline-block;
+       margin-left: 7px;
+       font: normal 20px/1 'dashicons';
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+.post-state-format.post-format-standard:before,
+.post-format-icon.post-format-standard:before,
+a.post-state-format.format-standard:before {
+       content: '\f109';
+}
+
+.post-state-format.post-format-image:before,
+.post-format-icon.post-format-image:before,
+a.post-state-format.format-image:before {
+       content: '\f128';
+}
+
+.post-state-format.post-format-gallery:before,
+.post-format-icon.post-format-gallery:before,
+a.post-state-format.format-gallery:before {
+       content: '\f161';
+}
+
+.post-state-format.post-format-audio:before,
+.post-format-icon.post-format-audio:before,
+a.post-state-format.format-audio:before {
+       content: '\f127';
+}
+
+.post-state-format.post-format-video:before,
+.post-format-icon.post-format-video:before,
+a.post-state-format.format-video:before {
+       content: '\f126';
+}
+
+.post-state-format.post-format-chat:before,
+.post-format-icon.post-format-chat:before,
+a.post-state-format.format-chat:before {
+       content: '\f125';
+}
+
+.post-state-format.post-format-status:before,
+.post-format-icon.post-format-status:before,
+a.post-state-format.format-status:before {
+       content: '\f130';
+}
+
+.post-state-format.post-format-aside:before,
+.post-format-icon.post-format-aside:before,
+a.post-state-format.format-aside:before {
+       content: '\f123';
+}
+
+.post-state-format.post-format-quote:before,
+.post-format-icon.post-format-quote:before,
+a.post-state-format.format-quote:before {
+       content: '\f122';
+}
+
+.post-state-format.post-format-link:before,
+.post-format-icon.post-format-link:before,
+a.post-state-format.format-link:before {
+       content: '\f103';
+}
+
+/*------------------------------------------------------------------------------
+  12.0 - Categories
+------------------------------------------------------------------------------*/
+
+.category-adder {
+       margin-right: 120px;
+       padding: 4px 0;
+}
+
+.category-adder h4 {
+       margin: 0 0 8px;
+}
+
+#side-sortables .category-adder {
+       margin: 0;
+}
+
+.wp-tab-panel,
+.categorydiv div.tabs-panel,
+.customlinkdiv div.tabs-panel,
+.posttypediv div.tabs-panel,
+.taxonomydiv div.tabs-panel {
+       min-height: 42px;
+       max-height: 200px;
+       overflow: auto;
+       padding: 0 0.9em;
+       border: solid 1px #dfdfdf;
+       background-color: #fdfdfd;
+}
+
+div.tabs-panel-active {
+       display:block;
+}
+
+div.tabs-panel-inactive {
+       display:none;
+}
+
+#front-page-warning,
+#front-static-pages ul,
+ul.export-filters,
+.inline-editor ul.cat-checklist ul,
+.categorydiv ul.categorychecklist ul,
+.customlinkdiv ul.categorychecklist ul,
+.posttypediv ul.categorychecklist ul,
+.taxonomydiv ul.categorychecklist ul {
+       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 p,
+.form-wrap label {
+       font-size: 11px;
+}
+
+.form-wrap label {
+       display: block;
+       padding: 2px;
+       font-size: 12px;
+}
+
+.form-field input,
+.form-field textarea {
+       border-style: solid;
+       border-width: 1px;
+       width: 95%;
+}
+
+p.description,
+.form-wrap p {
+       margin: 2px 0 5px;
+       color: #666;
+}
+
+p.help,
+p.description,
+span.description,
+.form-wrap p {
+       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;
+}
+
+
+/*------------------------------------------------------------------------------
+  13.0 - Tags
+------------------------------------------------------------------------------*/
+
+.tagsdiv {
+       margin-top: -8px;
+}
+
+#poststuff .taghint {
+       color: #aaa;
+       margin: 15px 12px -24px 0;
+}
+
+#poststuff .tagsdiv .howto {
+       margin: 0 0 6px 0;
+}
+
+.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;
+}
+
+/* tag hints */
+.taghint {
+       color: #aaa;
+       margin: -17px 7px 0 0;
+       visibility: hidden;
+}
+
+input.newtag ~ div.taghint {
+       visibility: visible;
+}
+
+input.newtag:focus ~ div.taghint {
+       visibility: hidden;
+}
+
+p.popular-tags {
+       border: none;
+       line-height: 2em;
+       max-width: 1000px;
+       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 #808080;
+       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;
+}
+
+/* Comments */
+
+.comment-php .wp-editor-area {
+       height: 200px;
+}
+
+.comment-ays {
+       margin-bottom: 0;
+       border-bottom-style: solid;
+       border-bottom-width: 1px;
+}
+
+.comment-ays .alt {
+       background-color: transparent;
+}
+
+.trash-undo-inside,
+.spam-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;
+}
+
+/* links tables */
+table.links-table {
+       width: 100%;
+       border-spacing: 0;
+}
+
+.links-table th {
+       font-weight: normal;
+       text-align: right;
+       vertical-align: top;
+       min-width: 80px;
+       width: 20%;
+       word-wrap: break-word;
+}
+
+.links-table th,
+.links-table td {
+       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;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+/**
+ * HiDPI Displays
+ */
+@media print,
+  (-o-min-device-pixel-ratio: 5/4),
+  (-webkit-min-device-pixel-ratio: 1.25),
+  (min-resolution: 120dpi) {
+       #content-resize-handle,
+       #post-body .wp_themeSkin .mceStatusbar a.mceResize {
+               background: transparent url(../images/resize-2x.gif) no-repeat scroll left bottom;
+               -webkit-background-size: 11px 11px;
+               background-size: 11px 11px;
+       }
+
+       .rtl #content-resize-handle,
+       .rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize {
+               background: transparent url(../images/resize-rtl-2x.gif) no-repeat scroll left bottom;
+       }
+}
+
+/* one column on the post write/edit screen */
+@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 .empty-container,
+       #poststuff #postbox-container-1 #side-sortables:empty {
+               border: 0 none;
+               height: 0;
+               min-height: 0;
+       }
+
+       #poststuff #post-body.columns-2 #side-sortables {
+               min-height: 0;
+       }
+
+       /* hide the radio buttons for column prefs */
+       .screen-layout,
+       .columns-prefs {
+               display: none;
+       }
+}
+
+@media screen and ( max-width: 782px ) {
+       #post-body-content {
+               min-width: 0;
+       }
+
+       #titlediv #title-prompt-text {
+               padding: 10px 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;
+       }
+
+       /* Publish Metabox Options */
+       #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 #jj,
+       .timestamp-wrap #aa,
+       .timestamp-wrap #hh,
+       .timestamp-wrap #mn {
+               padding: 12px 3px;
+               font-size: 14px;
+               margin-bottom: 5px;
+               width: auto;
+               text-align: center;
+       }
+
+       /* Categories Metabox */
+       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;
+       }
+
+       /* Tags Metabox */
+       .tagsdiv .newtag {
+               width: 100%;
+               height: auto;
+               margin-bottom: 15px;
+       }
+
+       .tagchecklist {
+               margin: 25px 10px;
+       }
+
+       .tagchecklist span {
+               font-size: 16px;
+               line-height: 120%;
+       }
+
+       /* Discussion */
+       #commentstatusdiv p {
+               line-height: 2.8;
+       }
+
+       /* TinyMCE Adjustments */
+       .mceToolbar * {
+               white-space: normal !important;
+       }
+
+       .mceToolbar tr,
+       .mceToolbar td {
+               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-top: 6px;
+               padding-bottom: 6px;
+               padding-right: 6px;
+               padding-left: 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;
+       }
+
+       #wp-content-editor-tools {
+               overflow: hidden;
+               padding: 20px 0 1px 15px;
+               top: 1px;
+       }
+
+       a.wp-switch-editor {
+               font-size: 16px;
+               line-height: 1em;
+               margin: 3px 7px 0 0;
+               padding: 12px 15px;
+       }
+
+       #wp-content-media-buttons a {
+               font-size: 16px;
+               line-height: 37px;
+               height: 39px;
+               padding: 0 15px 0 20px;
+       }
+
+       .wp-media-buttons span.wp-media-buttons-icon,
+       .wp-media-buttons span.jetpack-contact-form-icon {
+               width: 22px !important;
+               margin-top: -3px !important;
+               margin-right: -5px !important;
+       }
+
+       .wp-media-buttons .add_media span.wp-media-buttons-icon:before,
+       .wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before {
+               font-size: 20px !important;
+       }
+
+       #content_wp_fullscreen {
+               display: none;
+       }
+
+       .misc-pub-section {
+               padding: 20px 10px 20px;
+       }
+
+       .misc-pub-section > a {
+               float: left;
+               font-size: 16px;
+       }
+
+       #delete-action,
+       #publishing-action {
+               line-height: 47px;
+       }
+
+       /* Moderate Comment */
+       .comment-ays {
+               border-bottom: none;
+       }
+
+       /* Links */
+       .links-table #link_rel {
+               max-width: none;
+       }
+
+       .links-table th,
+       .links-table td {
+               padding: 10px 0;
+       }
+}
+
+@media only screen and (max-width: 500px) {
+       /* Align Add Media + Visual + Text tabs */
+       #wp-content-media-buttons a {
+               font-size: 14px;
+               padding: 0 10px 0 10px;
+       }
+}
diff --git a/wp-admin/css/edit.css b/wp-admin/css/edit.css
new file mode 100644 (file)
index 0000000..ad7746f
--- /dev/null
@@ -0,0 +1,1423 @@
+#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;
+}
+
+/*------------------------------------------------------------------------------
+  11.0 - Write/Edit Post Screen
+------------------------------------------------------------------------------*/
+
+#show-comments {
+       overflow: hidden;
+}
+
+#save-action .spinner,
+#show-comments a,
+#show-comments .spinner {
+       float: left;
+}
+
+#lost-connection-notice .spinner {
+       display: block;
+       float: left;
+       margin: 0 5px 0 0;
+}
+
+#titlediv {
+       position: relative;
+       margin-bottom: 10px;
+}
+
+#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: none;
+       margin: 0;
+       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 none;
+       padding: 0;
+       font-size: 11px;
+       margin-top: -1px;
+}
+
+#edit-slug-box {
+       line-height: 24px;
+       min-height: 25px; /* Yes, line-height + 1 */
+       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;
+}
+
+/* @todo: do we really need this? word on the street is we don't and this
+stray rule may actually be compensated for elsewhere. */
+#normal-sortables .submitbox .submitdelete:hover {
+       color: #000;
+       background-color: #f00;
+       border-bottom-color: #f00;
+}
+
+.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 Screen */
+#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,0.04);
+       box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       background: #fff;
+}
+
+#trackback_url {
+       width: 99%;
+}
+
+#normal-sortables .postbox .submit {
+       background: transparent none;
+       border: 0 none;
+       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;
+}
+
+ul.category-tabs li,
+#side-sortables .add-menu-item-tabs li,
+.wp-tab-bar li {
+       display: inline;
+       line-height: 1.35em;
+}
+
+.no-js .category-tabs li.hide-if-no-js {
+       display: none;
+}
+
+.category-tabs a,
+#side-sortables .add-menu-item-tabs a,
+.wp-tab-bar a {
+       text-decoration: none;
+}
+
+/* @todo: do these really need to be so specific? */
+#side-sortables .category-tabs .tabs a,
+#side-sortables .add-menu-item-tabs .tabs a,
+.wp-tab-bar .wp-tab-active a,
+#post-body ul.category-tabs li.tabs a,
+#post-body ul.add-menu-item-tabs li.tabs a {
+       color: #333;
+}
+
+.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 input,
+#side-sortables .submitbox .submit .preview,
+#side-sortables .submitbox .submit a.preview:hover {
+       border: 0 none;
+}
+
+#side-sortables .inside-submitbox .insidebox,
+.stuffbox .insidebox {
+       margin: 11px 0;
+}
+
+/* @todo: make this a more generic class */
+ul.category-tabs,
+ul.add-menu-item-tabs,
+ul.wp-tab-bar {
+       margin-top: 12px;
+}
+
+ul.category-tabs li,
+ul.add-menu-item-tabs li {
+       border: solid 1px transparent;
+       position: relative;
+}
+
+ul.category-tabs li.tabs,
+ul.add-menu-item-tabs li.tabs,
+.wp-tab-active {
+       border: 1px solid #dfdfdf;
+       border-bottom-color: #fdfdfd;
+       background-color: #fdfdfd;
+}
+
+ul.category-tabs li,
+ul.add-menu-item-tabs li,
+ul.wp-tab-bar li {
+       padding: 3px 5px 5px;
+}
+
+#postimagediv .inside img {
+       max-width: 100%;
+       height: auto;
+}
+
+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 {
+       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,0.04);
+       box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+}
+
+#post-status-info td {
+       font-size: 12px;
+}
+
+.autosave-info {
+       padding: 2px;
+       text-align: right;
+}
+
+#editorcontent #post-status-info {
+       border: none;
+}
+
+#content-resize-handle {
+       background: transparent url(../images/resize.gif) no-repeat scroll right bottom;
+       width: 12px;
+       cursor: n-resize;
+}
+
+.rtl #content-resize-handle {
+       background: transparent url(../images/resize-rtl.gif) no-repeat scroll left bottom;
+}
+
+#wp-word-count {
+       display: block;
+       padding: 2px 10px;
+}
+
+#timestampdiv select {
+       height: 21px;
+       line-height: 14px;
+       padding: 0;
+       vertical-align: top;
+       font-size: 12px;
+}
+
+#aa, #jj, #hh, #mn {
+       padding: 1px;
+       font-size: 12px;
+}
+
+#jj, #hh, #mn {
+       width: 2em;
+}
+
+#aa {
+       width: 3.4em;
+}
+
+.curtime #timestamp {
+       padding: 2px 0 1px 0;
+       display: inline !important;
+       height: auto !important;
+}
+
+#misc-publishing-actions label[for="post_status"]:before,
+#post-body #visibility:before,
+.curtime #timestamp:before,
+#post-body .misc-pub-revisions:before,
+span.wp-media-buttons-icon:before {
+       color: #888;
+}
+
+#post-body #visibility:before,
+.curtime #timestamp:before,
+#post-body .misc-pub-revisions:before {
+       font: normal 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%;
+       left: 50%;
+       width: 450px;
+       margin-left: -225px;
+       background: #fff;
+       -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       line-height: 1.5;
+       z-index: 1000005;
+}
+
+.notification-dialog-background {
+       position: fixed;
+       top: 0;
+       left: 0;
+       right: 0;
+       bottom: 0;
+       background: #000;
+       opacity: 0.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.saving .locked-saving,
+#post-lock-dialog.saved .locked-saved {
+       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;
+       white-space: nowrap;
+       cursor: default;
+}
+
+.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 0;
+}
+
+#poststuff .inside #parent_id,
+#poststuff .inside #page_template {
+       max-width: 100%;
+}
+
+#poststuff .inside label.spam,
+#poststuff .inside label.deleted {
+       color: red;
+}
+
+#poststuff .inside label.waiting {
+       color: orange;
+}
+
+#poststuff .inside label.approved {
+       color: green;
+}
+
+.ie8 #poststuff .inside #parent_id,
+.ie8 #poststuff .inside #page_template {
+       width: 250px;
+}
+
+#post-visibility-select {
+       line-height: 1.5em;
+       margin-top: 3px;
+}
+
+#poststuff #submitdiv .inside {
+       margin: 0;
+       padding: 0;
+}
+
+.edit-form-section {
+       margin-bottom: 20px;
+}
+
+/*------------------------------------------------------------------------------
+  11.1 - Custom Fields
+------------------------------------------------------------------------------*/
+
+#postcustomstuff thead th {
+       padding: 5px 8px 8px;
+       background-color: #f1f1f1;
+}
+
+#postcustom #postcustomstuff .submit {
+       border: 0 none;
+       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 th.left,
+#postcustomstuff td.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;
+}
+
+/*------------------------------------------------------------------------------
+  11.3 - Featured Images
+------------------------------------------------------------------------------*/
+
+#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;
+}
+
+/*------------------------------------------------------------------------------
+  11.4 - Post formats
+------------------------------------------------------------------------------*/
+
+.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: normal 20px/1 'dashicons' !important;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+.post-state-format:before,
+.post-format-icon:before {
+       color: #ddd;
+       -webkit-transition: all .1s ease-in-out;
+       transition: all .1s ease-in-out;
+}
+
+a.post-state-format:hover:before,
+a.post-format-icon:hover:before {
+       color: #2ea2cc;
+}
+
+#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: 0px;
+       padding: 2px 0 2px 0px;
+}
+
+.post-format-icon:before {
+       position: relative;
+       display: inline-block;
+       margin-right: 7px;
+       font: normal 20px/1 'dashicons';
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+.post-state-format.post-format-standard:before,
+.post-format-icon.post-format-standard:before,
+a.post-state-format.format-standard:before {
+       content: '\f109';
+}
+
+.post-state-format.post-format-image:before,
+.post-format-icon.post-format-image:before,
+a.post-state-format.format-image:before {
+       content: '\f128';
+}
+
+.post-state-format.post-format-gallery:before,
+.post-format-icon.post-format-gallery:before,
+a.post-state-format.format-gallery:before {
+       content: '\f161';
+}
+
+.post-state-format.post-format-audio:before,
+.post-format-icon.post-format-audio:before,
+a.post-state-format.format-audio:before {
+       content: '\f127';
+}
+
+.post-state-format.post-format-video:before,
+.post-format-icon.post-format-video:before,
+a.post-state-format.format-video:before {
+       content: '\f126';
+}
+
+.post-state-format.post-format-chat:before,
+.post-format-icon.post-format-chat:before,
+a.post-state-format.format-chat:before {
+       content: '\f125';
+}
+
+.post-state-format.post-format-status:before,
+.post-format-icon.post-format-status:before,
+a.post-state-format.format-status:before {
+       content: '\f130';
+}
+
+.post-state-format.post-format-aside:before,
+.post-format-icon.post-format-aside:before,
+a.post-state-format.format-aside:before {
+       content: '\f123';
+}
+
+.post-state-format.post-format-quote:before,
+.post-format-icon.post-format-quote:before,
+a.post-state-format.format-quote:before {
+       content: '\f122';
+}
+
+.post-state-format.post-format-link:before,
+.post-format-icon.post-format-link:before,
+a.post-state-format.format-link:before {
+       content: '\f103';
+}
+
+/*------------------------------------------------------------------------------
+  12.0 - Categories
+------------------------------------------------------------------------------*/
+
+.category-adder {
+       margin-left: 120px;
+       padding: 4px 0;
+}
+
+.category-adder h4 {
+       margin: 0 0 8px;
+}
+
+#side-sortables .category-adder {
+       margin: 0;
+}
+
+.wp-tab-panel,
+.categorydiv div.tabs-panel,
+.customlinkdiv div.tabs-panel,
+.posttypediv div.tabs-panel,
+.taxonomydiv div.tabs-panel {
+       min-height: 42px;
+       max-height: 200px;
+       overflow: auto;
+       padding: 0 0.9em;
+       border: solid 1px #dfdfdf;
+       background-color: #fdfdfd;
+}
+
+div.tabs-panel-active {
+       display:block;
+}
+
+div.tabs-panel-inactive {
+       display:none;
+}
+
+#front-page-warning,
+#front-static-pages ul,
+ul.export-filters,
+.inline-editor ul.cat-checklist ul,
+.categorydiv ul.categorychecklist ul,
+.customlinkdiv ul.categorychecklist ul,
+.posttypediv ul.categorychecklist ul,
+.taxonomydiv ul.categorychecklist ul {
+       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 p,
+.form-wrap label {
+       font-size: 11px;
+}
+
+.form-wrap label {
+       display: block;
+       padding: 2px;
+       font-size: 12px;
+}
+
+.form-field input,
+.form-field textarea {
+       border-style: solid;
+       border-width: 1px;
+       width: 95%;
+}
+
+p.description,
+.form-wrap p {
+       margin: 2px 0 5px;
+       color: #666;
+}
+
+p.help,
+p.description,
+span.description,
+.form-wrap p {
+       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;
+}
+
+
+/*------------------------------------------------------------------------------
+  13.0 - Tags
+------------------------------------------------------------------------------*/
+
+.tagsdiv {
+       margin-top: -8px;
+}
+
+#poststuff .taghint {
+       color: #aaa;
+       margin: 15px 0 -24px 12px;
+}
+
+#poststuff .tagsdiv .howto {
+       margin: 0 0 6px 0;
+}
+
+.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;
+}
+
+/* tag hints */
+.taghint {
+       color: #aaa;
+       margin: -17px 0 0 7px;
+       visibility: hidden;
+}
+
+input.newtag ~ div.taghint {
+       visibility: visible;
+}
+
+input.newtag:focus ~ div.taghint {
+       visibility: hidden;
+}
+
+p.popular-tags {
+       border: none;
+       line-height: 2em;
+       max-width: 1000px;
+       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 #808080;
+       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;
+}
+
+/* Comments */
+
+.comment-php .wp-editor-area {
+       height: 200px;
+}
+
+.comment-ays {
+       margin-bottom: 0;
+       border-bottom-style: solid;
+       border-bottom-width: 1px;
+}
+
+.comment-ays .alt {
+       background-color: transparent;
+}
+
+.trash-undo-inside,
+.spam-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;
+}
+
+/* links tables */
+table.links-table {
+       width: 100%;
+       border-spacing: 0;
+}
+
+.links-table th {
+       font-weight: normal;
+       text-align: left;
+       vertical-align: top;
+       min-width: 80px;
+       width: 20%;
+       word-wrap: break-word;
+}
+
+.links-table th,
+.links-table td {
+       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;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+/**
+ * HiDPI Displays
+ */
+@media print,
+  (-o-min-device-pixel-ratio: 5/4),
+  (-webkit-min-device-pixel-ratio: 1.25),
+  (min-resolution: 120dpi) {
+       #content-resize-handle,
+       #post-body .wp_themeSkin .mceStatusbar a.mceResize {
+               background: transparent url(../images/resize-2x.gif) no-repeat scroll right bottom;
+               -webkit-background-size: 11px 11px;
+               background-size: 11px 11px;
+       }
+
+       .rtl #content-resize-handle,
+       .rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize {
+               background: transparent url(../images/resize-rtl-2x.gif) no-repeat scroll right bottom;
+       }
+}
+
+/* one column on the post write/edit screen */
+@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 .empty-container,
+       #poststuff #postbox-container-1 #side-sortables:empty {
+               border: 0 none;
+               height: 0;
+               min-height: 0;
+       }
+
+       #poststuff #post-body.columns-2 #side-sortables {
+               min-height: 0;
+       }
+
+       /* hide the radio buttons for column prefs */
+       .screen-layout,
+       .columns-prefs {
+               display: none;
+       }
+}
+
+@media screen and ( max-width: 782px ) {
+       #post-body-content {
+               min-width: 0;
+       }
+
+       #titlediv #title-prompt-text {
+               padding: 10px 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;
+       }
+
+       /* Publish Metabox Options */
+       #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 #jj,
+       .timestamp-wrap #aa,
+       .timestamp-wrap #hh,
+       .timestamp-wrap #mn {
+               padding: 12px 3px;
+               font-size: 14px;
+               margin-bottom: 5px;
+               width: auto;
+               text-align: center;
+       }
+
+       /* Categories Metabox */
+       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;
+       }
+
+       /* Tags Metabox */
+       .tagsdiv .newtag {
+               width: 100%;
+               height: auto;
+               margin-bottom: 15px;
+       }
+
+       .tagchecklist {
+               margin: 25px 10px;
+       }
+
+       .tagchecklist span {
+               font-size: 16px;
+               line-height: 120%;
+       }
+
+       /* Discussion */
+       #commentstatusdiv p {
+               line-height: 2.8;
+       }
+
+       /* TinyMCE Adjustments */
+       .mceToolbar * {
+               white-space: normal !important;
+       }
+
+       .mceToolbar tr,
+       .mceToolbar td {
+               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-top: 6px;
+               padding-bottom: 6px;
+               padding-left: 6px;
+               padding-right: 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;
+       }
+
+       #wp-content-editor-tools {
+               overflow: hidden;
+               padding: 20px 15px 1px 0;
+               top: 1px;
+       }
+
+       a.wp-switch-editor {
+               font-size: 16px;
+               line-height: 1em;
+               margin: 3px 0 0 7px;
+               padding: 12px 15px;
+       }
+
+       #wp-content-media-buttons a {
+               font-size: 16px;
+               line-height: 37px;
+               height: 39px;
+               padding: 0 20px 0 15px;
+       }
+
+       .wp-media-buttons span.wp-media-buttons-icon,
+       .wp-media-buttons span.jetpack-contact-form-icon {
+               width: 22px !important;
+               margin-top: -3px !important;
+               margin-left: -5px !important;
+       }
+
+       .wp-media-buttons .add_media span.wp-media-buttons-icon:before,
+       .wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before {
+               font-size: 20px !important;
+       }
+
+       #content_wp_fullscreen {
+               display: none;
+       }
+
+       .misc-pub-section {
+               padding: 20px 10px 20px;
+       }
+
+       .misc-pub-section > a {
+               float: right;
+               font-size: 16px;
+       }
+
+       #delete-action,
+       #publishing-action {
+               line-height: 47px;
+       }
+
+       /* Moderate Comment */
+       .comment-ays {
+               border-bottom: none;
+       }
+
+       /* Links */
+       .links-table #link_rel {
+               max-width: none;
+       }
+
+       .links-table th,
+       .links-table td {
+               padding: 10px 0;
+       }
+}
+
+@media only screen and (max-width: 500px) {
+       /* Align Add Media + Visual + Text tabs */
+       #wp-content-media-buttons a {
+               font-size: 14px;
+               padding: 0 10px 0 10px;
+       }
+}
diff --git a/wp-admin/css/farbtastic-rtl.min.css b/wp-admin/css/farbtastic-rtl.min.css
deleted file mode 100644 (file)
index 3a942b2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-.farbtastic{position:relative}.farbtastic *{position:absolute;cursor:crosshair}.farbtastic,.farbtastic .wheel{width:195px;height:195px}.farbtastic .color,.farbtastic .overlay{top:47px;right:47px;width:101px;height:101px}.farbtastic .wheel{background:url(../images/wheel.png) no-repeat;width:195px;height:195px}.farbtastic .overlay{background:url(../images/mask.png) no-repeat}.farbtastic .marker{width:17px;height:17px;margin:-8px -8px 0 0;overflow:hidden;background:url(../images/marker.png) no-repeat}
\ No newline at end of file
diff --git a/wp-admin/css/forms-rtl.css b/wp-admin/css/forms-rtl.css
new file mode 100644 (file)
index 0000000..12de480
--- /dev/null
@@ -0,0 +1,977 @@
+/* include margin and padding in the width calculation of input and textarea */
+input,
+input[type="text"],
+input[type="password"],
+input[type="number"],
+input[type="search"],
+input[type="email"],
+input[type="url"],
+textarea {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+/* @noflip */
+input[type="email"],
+input[type="url"] {
+       direction: ltr;
+}
+
+input[type="checkbox"],
+input[type="radio"] {
+       border: 1px solid #bbb;
+       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-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
+       box-shadow: inset 0 1px 2px rgba(0,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: #888;
+}
+
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+       color: #2ea2cc;
+}
+
+td > input[type="checkbox"],
+.wp-admin p input[type=checkbox],
+.wp-admin p input[type=radio] {
+       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:disabled,
+input.disabled,
+textarea:disabled,
+textarea.disabled {
+       -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
+       box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
+       border-color: rgba(222, 222, 222, .75);
+       background: rgba(255, 255, 255, .5);
+       color: rgba(51, 51, 51, .5);
+}
+
+input[type=checkbox]:disabled,
+input[type=radio]:disabled,
+input[type=checkbox]:disabled:checked:before,
+input[type=radio]:disabled:checked:before {
+       opacity: 0.7;
+}
+
+input[type=checkbox]:checked:before,
+input[type=radio]:checked:before {
+       float: right;
+       display: inline-block;
+       vertical-align: middle;
+       width: 16px;
+       font: normal 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;
+}
+
+input.readonly, textarea.readonly {
+       background-color: #ddd;
+}
+
+@-moz-document url-prefix() {
+       input[type=checkbox],
+       input[type=radio],
+       .form-table input.tog {
+               margin-bottom: -1px;
+       }
+}
+
+/* Search */
+input[type="search"] {
+       -webkit-appearance: textfield;
+}
+
+input[type="search"]::-webkit-search-decoration {
+       display: none;
+}
+
+.ie8 input[type="password"] {
+       font-family: sans-serif;
+}
+
+textarea,
+input,
+select,
+button {
+       font-family: inherit;
+       font-size: inherit;
+       font-weight: inherit;
+}
+
+textarea,
+input,
+select {
+       font-size: 14px;
+       padding: 3px 5px;
+       line-height: 15px;
+       -webkit-border-radius: 0;
+       border-radius: 0; /* Reset mobile webkit's default element styling */
+}
+
+textarea {
+       overflow: auto;
+       padding: 2px 6px;
+       line-height: 1.4;
+}
+
+input[type="text"],
+input[type="password"],
+input[type="number"],
+input[type="search"],
+input[type="email"],
+input[type="url"],
+textarea,
+select {
+       outline: 0;
+}
+
+.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 6px;
+}
+
+textarea,
+input[type="text"],
+input[type="password"],
+input[type="email"],
+input[type="number"],
+input[type="search"],
+input[type="tel"],
+input[type="url"],
+select {
+       border: 1px solid #ddd;
+       -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
+       box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
+       background-color: #fff;
+       color: #333;
+       -webkit-transition: .05s border-color ease-in-out;
+       transition: .05s border-color ease-in-out;
+}
+
+select[disabled] {
+       color: #7f7f7f;
+}
+
+textarea:focus,
+input[type="text"]:focus,
+input[type="password"]:focus,
+input[type="email"]:focus,
+input[type="number"]:focus,
+input[type="search"]:focus,
+input[type="tel"]:focus,
+input[type="url"]:focus,
+input[type="checkbox"]:focus,
+input[type="radio"]:focus,
+select:focus {
+       border-color: #5b9dd9;
+       -webkit-box-shadow: 0 0 2px rgba(30,140,190,0.8);
+       box-shadow: 0 0 2px rgba(30,140,190,0.8);
+}
+
+input[readonly] {
+       background-color: #eee;
+}
+
+:-moz-placeholder,
+.wp-core-ui :-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;
+}
+
+/*------------------------------------------------------------------------------
+  2.0 - Forms
+------------------------------------------------------------------------------*/
+
+
+.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 + p.submit,
+table.form-table + input + p.submit,
+table.form-table + input + input + p.submit {
+       border-top: none;
+       padding-top: 0;
+}
+
+#minor-publishing-actions input,
+#major-publishing-actions input,
+#minor-publishing-actions .preview {
+       text-align: center;
+}
+
+textarea.all-options,
+input.all-options {
+       width: 250px;
+}
+
+input.large-text,
+textarea.large-text {
+       width: 99%;
+}
+
+input.regular-text,
+#adduser .form-field input {
+       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 #delete_all,
+.tablenav #clear-recent-list {
+       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;
+}
+
+label,
+#your-profile label + a {
+       vertical-align: middle;
+}
+
+fieldset label,
+#your-profile label + a {
+       vertical-align: middle;
+}
+
+.options-media-php label[for*="_size_"],
+#misc-publishing-actions label {
+       vertical-align: baseline;
+}
+
+#misc-publishing-actions label[for="post_status"]:before {
+       content: '\f173';
+       display: inline-block;
+       font: normal 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"],
+#search-plugins input[name="s"],
+.tagsdiv .newtag {
+       float: right;
+       height: 28px;
+       margin: 0 0 0 4px;
+}
+
+input[type="text"].ui-autocomplete-loading {
+       background: transparent url(../images/loading.gif) no-repeat left center;
+       visibility: visible;
+}
+
+ul#add-to-blog-users {
+       margin: 0 14px 0 0;
+}
+
+.ui-autocomplete-input.open {
+       -webkit-border-bottom-left-radius: 0;
+       border-bottom-left-radius: 0;
+       -webkit-border-bottom-right-radius: 0;
+       border-bottom-right-radius: 0;
+}
+
+.ui-autocomplete {
+       padding: 0;
+       margin: 0;
+       list-style: none;
+       position: absolute;
+       z-index: 10000;
+       -webkit-border-bottom-left-radius: 3px;
+       border-bottom-left-radius: 3px;
+       -webkit-border-bottom-right-radius: 3px;
+       border-bottom-right-radius: 3px;
+       border: 1px solid #aaa;
+       background-color: #efefef;
+}
+
+.ui-autocomplete li {
+       margin-bottom: 0;
+       white-space: nowrap;
+       text-align: right;
+}
+
+.ui-autocomplete li a {
+       display: block;
+       height: 100%;
+       padding: 4px 10px;
+       color: #444;
+}
+
+.ui-autocomplete li a.ui-state-focus {
+       background-color: #ddd;
+       cursor: pointer;
+}
+
+/*------------------------------------------------------------------------------
+  15.0 - Comments Screen
+------------------------------------------------------------------------------*/
+
+.form-table {
+       border-collapse: collapse;
+       margin-top: 0.5em;
+       width: 100%;
+       clear: both;
+}
+
+.form-table,
+.form-table td,
+.form-table th,
+.form-table td p,
+.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: #222;
+       font-weight: normal;
+       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: 0.25em 0 0.5em !important;
+       display: inline-block;
+}
+
+.form-table td fieldset label,
+.form-table td fieldset p,
+.form-table td fieldset li {
+       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;
+}
+
+/*------------------------------------------------------------------------------
+  18.0 - Users
+------------------------------------------------------------------------------*/
+
+#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:hover,
+.color-option.selected {
+       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;
+}
+
+/*------------------------------------------------------------------------------
+  19.0 - Tools
+------------------------------------------------------------------------------*/
+
+.tool-box .title {
+       margin: 8px 0;
+       font-size: 18px;
+       font-weight: normal;
+       line-height: 24px;
+}
+
+.pressthis {
+       margin: 20px 0;
+}
+
+.pressthis a,
+.pressthis a:hover,
+.pressthis a:focus,
+.pressthis a:active {
+       display: inline-block;
+       position: relative;
+       cursor: move;
+       color: #333;
+       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 a:active {
+       outline: none;
+}
+
+.pressthis a: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, 0.7);
+       box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7);
+}
+
+.pressthis a span {
+       display: inline-block;
+       margin: 0px 0 0;
+       padding: 0px 9px 8px 12px;
+}
+
+.pressthis a span:before {
+       color: #777;
+       font: normal 20px/1 'dashicons';
+       content:'\f157';
+       position: relative;
+       display: inline-block;
+       top: 4px;
+       margin-left: 4px;
+}
+
+.pressthis a:after {
+       content: '';
+       width: 70%;
+       height: 55%;
+       z-index: -1;
+       position: absolute;
+       left: 10px;
+       bottom: 9px;
+       background: transparent;
+       -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, 0.6);
+       box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6);
+}
+
+/*------------------------------------------------------------------------------
+  20.0 - Settings
+------------------------------------------------------------------------------*/
+
+#utc-time, #local-time {
+       padding-right: 25px;
+       font-style: italic;
+}
+
+.defaultavatarpicker .avatar {
+       margin: 2px 0;
+       vertical-align: middle;
+}
+
+.options-general-php .spinner {
+       float: none;
+       margin: -3px 3px;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+@media screen and ( max-width: 782px ) {
+       /* Input Elements */
+       textarea {
+               -webkit-appearance: none;
+       }
+
+       input[type=text], input[type=search],
+       input[type=password], input[type=number] {
+               -webkit-appearance: none;
+               padding: 6px 10px;
+       }
+
+       input.code {
+               padding-bottom: 5px;
+               padding-top: 10px;
+       }
+
+       input[type=checkbox], .widefat th input[type=checkbox] {
+               -webkit-appearance: none;
+               padding: 10px;
+       }
+
+       .widefat th input[type=checkbox] {
+               margin-bottom: 8px;
+       }
+
+       input[type=checkbox]:checked:before, .widefat th input[type=checkbox]:before {
+               font: normal 30px/1 'Dashicons';
+               margin: -3px -5px;
+       }
+
+       input[type=radio],
+       input[type=checkbox] {
+               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 th,
+       .form-table td {
+               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;
+       }
+
+       textarea,
+       input {
+               font-size: 16px;
+       }
+
+       .form-table td input[type="text"],
+       .form-table td input[type="password"],
+       .form-table td select,
+       .form-table td textarea,
+       .form-table span.description,
+       #profile-page .form-table 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;
+       }
+
+       input[type=text].small-text,
+       input[type=search].small-text,
+       input[type=password].small-text,
+       input[type=number].small-text,
+       input[type="number"].small-text,
+       .form-table 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;
+       }
+
+       #utc-time,
+       #local-time {
+               display: block;
+               float: none;
+               padding: 0;
+               line-height: 2;
+       }
+}
+
+@media only screen and (max-width: 768px) {
+       .form-field input,
+       .form-field textarea {
+               width: 99%;
+       }
+
+       .form-wrap .form-field {
+               padding:0;
+       }
+
+       /* users */
+       #profile-page .form-table textarea {
+               max-width: 400px;
+               width: auto;
+       }
+}
+
+/* Smartphone */
+@media screen and (max-width: 600px) {
+       /* Color Picker Options */
+       .color-option {
+               width: 49%;
+       }
+}
+
diff --git a/wp-admin/css/forms.css b/wp-admin/css/forms.css
new file mode 100644 (file)
index 0000000..c3ed8d2
--- /dev/null
@@ -0,0 +1,977 @@
+/* include margin and padding in the width calculation of input and textarea */
+input,
+input[type="text"],
+input[type="password"],
+input[type="number"],
+input[type="search"],
+input[type="email"],
+input[type="url"],
+textarea {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+/* @noflip */
+input[type="email"],
+input[type="url"] {
+       direction: ltr;
+}
+
+input[type="checkbox"],
+input[type="radio"] {
+       border: 1px solid #bbb;
+       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-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
+       box-shadow: inset 0 1px 2px rgba(0,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: #888;
+}
+
+.wp-core-ui input[type="reset"]:hover,
+.wp-core-ui input[type="reset"]:active {
+       color: #2ea2cc;
+}
+
+td > input[type="checkbox"],
+.wp-admin p input[type=checkbox],
+.wp-admin p input[type=radio] {
+       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:disabled,
+input.disabled,
+textarea:disabled,
+textarea.disabled {
+       -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
+       box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
+       border-color: rgba(222, 222, 222, .75);
+       background: rgba(255, 255, 255, .5);
+       color: rgba(51, 51, 51, .5);
+}
+
+input[type=checkbox]:disabled,
+input[type=radio]:disabled,
+input[type=checkbox]:disabled:checked:before,
+input[type=radio]:disabled:checked:before {
+       opacity: 0.7;
+}
+
+input[type=checkbox]:checked:before,
+input[type=radio]:checked:before {
+       float: left;
+       display: inline-block;
+       vertical-align: middle;
+       width: 16px;
+       font: normal 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;
+}
+
+input.readonly, textarea.readonly {
+       background-color: #ddd;
+}
+
+@-moz-document url-prefix() {
+       input[type=checkbox],
+       input[type=radio],
+       .form-table input.tog {
+               margin-bottom: -1px;
+       }
+}
+
+/* Search */
+input[type="search"] {
+       -webkit-appearance: textfield;
+}
+
+input[type="search"]::-webkit-search-decoration {
+       display: none;
+}
+
+.ie8 input[type="password"] {
+       font-family: sans-serif;
+}
+
+textarea,
+input,
+select,
+button {
+       font-family: inherit;
+       font-size: inherit;
+       font-weight: inherit;
+}
+
+textarea,
+input,
+select {
+       font-size: 14px;
+       padding: 3px 5px;
+       line-height: 15px;
+       -webkit-border-radius: 0;
+       border-radius: 0; /* Reset mobile webkit's default element styling */
+}
+
+textarea {
+       overflow: auto;
+       padding: 2px 6px;
+       line-height: 1.4;
+}
+
+input[type="text"],
+input[type="password"],
+input[type="number"],
+input[type="search"],
+input[type="email"],
+input[type="url"],
+textarea,
+select {
+       outline: 0;
+}
+
+.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 6px;
+}
+
+textarea,
+input[type="text"],
+input[type="password"],
+input[type="email"],
+input[type="number"],
+input[type="search"],
+input[type="tel"],
+input[type="url"],
+select {
+       border: 1px solid #ddd;
+       -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
+       box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
+       background-color: #fff;
+       color: #333;
+       -webkit-transition: .05s border-color ease-in-out;
+       transition: .05s border-color ease-in-out;
+}
+
+select[disabled] {
+       color: #7f7f7f;
+}
+
+textarea:focus,
+input[type="text"]:focus,
+input[type="password"]:focus,
+input[type="email"]:focus,
+input[type="number"]:focus,
+input[type="search"]:focus,
+input[type="tel"]:focus,
+input[type="url"]:focus,
+input[type="checkbox"]:focus,
+input[type="radio"]:focus,
+select:focus {
+       border-color: #5b9dd9;
+       -webkit-box-shadow: 0 0 2px rgba(30,140,190,0.8);
+       box-shadow: 0 0 2px rgba(30,140,190,0.8);
+}
+
+input[readonly] {
+       background-color: #eee;
+}
+
+:-moz-placeholder,
+.wp-core-ui :-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;
+}
+
+/*------------------------------------------------------------------------------
+  2.0 - Forms
+------------------------------------------------------------------------------*/
+
+
+.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 + p.submit,
+table.form-table + input + p.submit,
+table.form-table + input + input + p.submit {
+       border-top: none;
+       padding-top: 0;
+}
+
+#minor-publishing-actions input,
+#major-publishing-actions input,
+#minor-publishing-actions .preview {
+       text-align: center;
+}
+
+textarea.all-options,
+input.all-options {
+       width: 250px;
+}
+
+input.large-text,
+textarea.large-text {
+       width: 99%;
+}
+
+input.regular-text,
+#adduser .form-field input {
+       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 #delete_all,
+.tablenav #clear-recent-list {
+       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;
+}
+
+label,
+#your-profile label + a {
+       vertical-align: middle;
+}
+
+fieldset label,
+#your-profile label + a {
+       vertical-align: middle;
+}
+
+.options-media-php label[for*="_size_"],
+#misc-publishing-actions label {
+       vertical-align: baseline;
+}
+
+#misc-publishing-actions label[for="post_status"]:before {
+       content: '\f173';
+       display: inline-block;
+       font: normal 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"],
+#search-plugins input[name="s"],
+.tagsdiv .newtag {
+       float: left;
+       height: 28px;
+       margin: 0 4px 0 0;
+}
+
+input[type="text"].ui-autocomplete-loading {
+       background: transparent url(../images/loading.gif) no-repeat right center;
+       visibility: visible;
+}
+
+ul#add-to-blog-users {
+       margin: 0 0 0 14px;
+}
+
+.ui-autocomplete-input.open {
+       -webkit-border-bottom-right-radius: 0;
+       border-bottom-right-radius: 0;
+       -webkit-border-bottom-left-radius: 0;
+       border-bottom-left-radius: 0;
+}
+
+.ui-autocomplete {
+       padding: 0;
+       margin: 0;
+       list-style: none;
+       position: absolute;
+       z-index: 10000;
+       -webkit-border-bottom-right-radius: 3px;
+       border-bottom-right-radius: 3px;
+       -webkit-border-bottom-left-radius: 3px;
+       border-bottom-left-radius: 3px;
+       border: 1px solid #aaa;
+       background-color: #efefef;
+}
+
+.ui-autocomplete li {
+       margin-bottom: 0;
+       white-space: nowrap;
+       text-align: left;
+}
+
+.ui-autocomplete li a {
+       display: block;
+       height: 100%;
+       padding: 4px 10px;
+       color: #444;
+}
+
+.ui-autocomplete li a.ui-state-focus {
+       background-color: #ddd;
+       cursor: pointer;
+}
+
+/*------------------------------------------------------------------------------
+  15.0 - Comments Screen
+------------------------------------------------------------------------------*/
+
+.form-table {
+       border-collapse: collapse;
+       margin-top: 0.5em;
+       width: 100%;
+       clear: both;
+}
+
+.form-table,
+.form-table td,
+.form-table th,
+.form-table td p,
+.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: #222;
+       font-weight: normal;
+       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: 0.25em 0 0.5em !important;
+       display: inline-block;
+}
+
+.form-table td fieldset label,
+.form-table td fieldset p,
+.form-table td fieldset li {
+       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;
+}
+
+/*------------------------------------------------------------------------------
+  18.0 - Users
+------------------------------------------------------------------------------*/
+
+#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:hover,
+.color-option.selected {
+       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;
+}
+
+/*------------------------------------------------------------------------------
+  19.0 - Tools
+------------------------------------------------------------------------------*/
+
+.tool-box .title {
+       margin: 8px 0;
+       font-size: 18px;
+       font-weight: normal;
+       line-height: 24px;
+}
+
+.pressthis {
+       margin: 20px 0;
+}
+
+.pressthis a,
+.pressthis a:hover,
+.pressthis a:focus,
+.pressthis a:active {
+       display: inline-block;
+       position: relative;
+       cursor: move;
+       color: #333;
+       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 a:active {
+       outline: none;
+}
+
+.pressthis a: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, 0.7);
+       box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7);
+}
+
+.pressthis a span {
+       display: inline-block;
+       margin: 0px 0 0;
+       padding: 0px 12px 8px 9px;
+}
+
+.pressthis a span:before {
+       color: #777;
+       font: normal 20px/1 'dashicons';
+       content:'\f157';
+       position: relative;
+       display: inline-block;
+       top: 4px;
+       margin-right: 4px;
+}
+
+.pressthis a:after {
+       content: '';
+       width: 70%;
+       height: 55%;
+       z-index: -1;
+       position: absolute;
+       right: 10px;
+       bottom: 9px;
+       background: transparent;
+       -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, 0.6);
+       box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6);
+}
+
+/*------------------------------------------------------------------------------
+  20.0 - Settings
+------------------------------------------------------------------------------*/
+
+#utc-time, #local-time {
+       padding-left: 25px;
+       font-style: italic;
+}
+
+.defaultavatarpicker .avatar {
+       margin: 2px 0;
+       vertical-align: middle;
+}
+
+.options-general-php .spinner {
+       float: none;
+       margin: -3px 3px;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+@media screen and ( max-width: 782px ) {
+       /* Input Elements */
+       textarea {
+               -webkit-appearance: none;
+       }
+
+       input[type=text], input[type=search],
+       input[type=password], input[type=number] {
+               -webkit-appearance: none;
+               padding: 6px 10px;
+       }
+
+       input.code {
+               padding-bottom: 5px;
+               padding-top: 10px;
+       }
+
+       input[type=checkbox], .widefat th input[type=checkbox] {
+               -webkit-appearance: none;
+               padding: 10px;
+       }
+
+       .widefat th input[type=checkbox] {
+               margin-bottom: 8px;
+       }
+
+       input[type=checkbox]:checked:before, .widefat th input[type=checkbox]:before {
+               font: normal 30px/1 'Dashicons';
+               margin: -3px -5px;
+       }
+
+       input[type=radio],
+       input[type=checkbox] {
+               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 th,
+       .form-table td {
+               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;
+       }
+
+       textarea,
+       input {
+               font-size: 16px;
+       }
+
+       .form-table td input[type="text"],
+       .form-table td input[type="password"],
+       .form-table td select,
+       .form-table td textarea,
+       .form-table span.description,
+       #profile-page .form-table 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;
+       }
+
+       input[type=text].small-text,
+       input[type=search].small-text,
+       input[type=password].small-text,
+       input[type=number].small-text,
+       input[type="number"].small-text,
+       .form-table 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;
+       }
+
+       #utc-time,
+       #local-time {
+               display: block;
+               float: none;
+               padding: 0;
+               line-height: 2;
+       }
+}
+
+@media only screen and (max-width: 768px) {
+       .form-field input,
+       .form-field textarea {
+               width: 99%;
+       }
+
+       .form-wrap .form-field {
+               padding:0;
+       }
+
+       /* users */
+       #profile-page .form-table textarea {
+               max-width: 400px;
+               width: auto;
+       }
+}
+
+/* Smartphone */
+@media screen and (max-width: 600px) {
+       /* Color Picker Options */
+       .color-option {
+               width: 49%;
+       }
+}
+
index 244e97df1eb675d4747bab10ca67ffd34d2ede9b..4783f2faf7a1d2b7c08f66724d4c0798a253dbb8 100644 (file)
@@ -50,7 +50,7 @@
        width: 35%;
 }
 
-#wp-fullscreen-title {
+.wp-fullscreen-title {
        width: 97%;
 }
 
@@ -212,7 +212,6 @@ ul#adminmenu {
 
 .theme-browser .theme .theme-screenshot {
        height: 180px;
-       min-width:
 }
 
 .theme-browser .theme .theme-actions {
@@ -616,6 +615,70 @@ input[type="password"],
        font-family: sans-serif;
 }
 
+/* TinyMCE icons */
+.mce-btn i.mce-i-bold,
+.mce-btn i.mce-i-italic,
+.mce-btn i.mce-i-bullist,
+.mce-btn i.mce-i-numlist,
+.mce-btn i.mce-i-blockquote,
+.mce-btn i.mce-i-alignleft,
+.mce-btn i.mce-i-aligncenter,
+.mce-btn i.mce-i-alignright,
+.mce-btn i.mce-i-link,
+.mce-btn i.mce-i-unlink,
+.mce-btn i.mce-i-wp_more,
+.mce-btn i.mce-i-strikethrough,
+.mce-btn i.mce-i-spellchecker,
+.mce-btn i.mce-i-fullscreen,
+.mce-btn i.mce-i-wp_fullscreen,
+.mce-btn i.mce-i-wp_adv,
+.mce-btn i.mce-i-underline,
+.mce-btn i.mce-i-alignjustify,
+.mce-btn i.mce-i-forecolor,
+.mce-btn i.mce-i-pastetext,
+.mce-btn i.mce-i-pasteword,
+.mce-btn i.mce-i-removeformat,
+.mce-btn i.mce-i-charmap,
+.mce-btn i.mce-i-outdent,
+.mce-btn i.mce-i-indent,
+.mce-btn i.mce-i-undo,
+.mce-btn i.mce-i-redo,
+.mce-btn i.mce-i-help,
+.mce-btn i.mce-i-wp_help,
+.mce-btn i.mce-i-wp-media-library,
+.mce-btn i.mce-i-ltr,
+.mce-btn i.mce-i-wp_page,
+.mce-btn i.mce-i-hr,
+.mce-close {
+       font-family: 'tinymce', Arial;
+       font-style: normal;
+       font-weight: normal;
+       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: #aaa;
+}
+
+.mce-btn i.mce-i-help,
+.mce-btn i.mce-i-wp_help {
+       -ie7-icon: '\e016';
+}
+
+
 /* IE6 leftovers */
 * html .row-actions {
        visibility: visible;
index 0ae2d0f2f9f15e57366e8438ef7529bc4422678c..f8c6f3ba6124f89640d85dcfc4a0103d9adf7722 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 none;height:0;min-height:0}.wp-editor-wrap .wp-editor-tools,.wp-editor-wrap .wp-switch-editor,.wp-editor-wrap .wp-editor-tabs,.wp-editor-wrap .wp-editor-container{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:#888;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 #adminmenuback,.folded #adminmenuwrap,.folded #adminmenu,.folded #adminmenu li.menu-top{width:150px}.folded #adminmenu .wp-submenu{border-top-color:transparent}.folded #adminmenu .wp-menu-name{display:block}.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu .opensub .wp-submenu{right:110px}.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .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:hover,.theme-browser .theme:focus{cursor:auto}.theme-browser .theme .theme-screenshot{height:180px;min-width:}.theme-browser .theme .theme-actions{position:static;background-color:#e8e8e8}.theme-browser .theme .more-details{display:none}.plugins td,.plugins th{border-top:1px solid #ddd}table.fixed th,table.fixed td{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 h3{margin-bottom:-1px}.major-publishing-actions,.wp-submenu,.wp-submenu li,#template,#template div,#editcat,#addcat{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}#the-comment-list .comment-item,#post-status-info,#wpwrap,#wrap,#postdivrich,#postdiv,#poststuff,.metabox-holder,#titlediv,#post-body,#editorcontainer,.tablenav,.widget-liquid-left,.widget-liquid-right,#widgets-left,.widgets-sortables,#dragHelper,.widget .widget-top,.widget-control-actions,.tagchecklist,#col-container,#col-left,#col-right,.fileedit-sub{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 #parent_id,#poststuff .inside #page_template,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#submitdiv input,#submitdiv select,#submitdiv a.button{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}.tablenav .button-secondary,.nav .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 tr,.widefat th{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 5px 0 0}.widefat thead .check-column,.widefat tfoot .check-column{padding-top:6px}.widefat tbody th.check-column,.media.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}.widget-liquid-right .widget,.inactive-sidebar .widget{position:relative}.inactive-sidebar .widget{display:block;float:right}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved tr,#the-comment-list .unapproved td{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}input[type=password],.login form .input{font-family:sans-serif}* html .row-actions{visibility:visible}* html div.widget-liquid-right,* 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
+#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 none;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:#888;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 h3{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:#aaa}.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-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 df3d7547d366d90e632f3bb299c3596377c2f814..967fae2639a5f1941aa5c822d29022c646aed424 100644 (file)
@@ -50,7 +50,7 @@
        width: 35%;
 }
 
-#wp-fullscreen-title {
+.wp-fullscreen-title {
        width: 97%;
 }
 
@@ -212,7 +212,6 @@ ul#adminmenu {
 
 .theme-browser .theme .theme-screenshot {
        height: 180px;
-       min-width:
 }
 
 .theme-browser .theme .theme-actions {
@@ -616,6 +615,70 @@ input[type="password"],
        font-family: sans-serif;
 }
 
+/* TinyMCE icons */
+.mce-btn i.mce-i-bold,
+.mce-btn i.mce-i-italic,
+.mce-btn i.mce-i-bullist,
+.mce-btn i.mce-i-numlist,
+.mce-btn i.mce-i-blockquote,
+.mce-btn i.mce-i-alignleft,
+.mce-btn i.mce-i-aligncenter,
+.mce-btn i.mce-i-alignright,
+.mce-btn i.mce-i-link,
+.mce-btn i.mce-i-unlink,
+.mce-btn i.mce-i-wp_more,
+.mce-btn i.mce-i-strikethrough,
+.mce-btn i.mce-i-spellchecker,
+.mce-btn i.mce-i-fullscreen,
+.mce-btn i.mce-i-wp_fullscreen,
+.mce-btn i.mce-i-wp_adv,
+.mce-btn i.mce-i-underline,
+.mce-btn i.mce-i-alignjustify,
+.mce-btn i.mce-i-forecolor,
+.mce-btn i.mce-i-pastetext,
+.mce-btn i.mce-i-pasteword,
+.mce-btn i.mce-i-removeformat,
+.mce-btn i.mce-i-charmap,
+.mce-btn i.mce-i-outdent,
+.mce-btn i.mce-i-indent,
+.mce-btn i.mce-i-undo,
+.mce-btn i.mce-i-redo,
+.mce-btn i.mce-i-help,
+.mce-btn i.mce-i-wp_help,
+.mce-btn i.mce-i-wp-media-library,
+.mce-btn i.mce-i-ltr,
+.mce-btn i.mce-i-wp_page,
+.mce-btn i.mce-i-hr,
+.mce-close {
+       font-family: 'tinymce', Arial;
+       font-style: normal;
+       font-weight: normal;
+       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: #aaa;
+}
+
+.mce-btn i.mce-i-help,
+.mce-btn i.mce-i-wp_help {
+       -ie7-icon: '\e016';
+}
+
+
 /* IE6 leftovers */
 * html .row-actions {
        visibility: visible;
index 3c37396fc739d8428cc43358f6099ef6ef1e3ca5..849f4d1552b87fdb70f70b986cacc12a0f6f7dbc 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 none;height:0;min-height:0}.wp-editor-wrap .wp-editor-tools,.wp-editor-wrap .wp-switch-editor,.wp-editor-wrap .wp-editor-tabs,.wp-editor-wrap .wp-editor-container{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:#888;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 #adminmenuback,.folded #adminmenuwrap,.folded #adminmenu,.folded #adminmenu li.menu-top{width:150px}.folded #adminmenu .wp-submenu{border-top-color:transparent}.folded #adminmenu .wp-menu-name{display:block}.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu .opensub .wp-submenu{left:110px}.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .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:hover,.theme-browser .theme:focus{cursor:auto}.theme-browser .theme .theme-screenshot{height:180px;min-width:}.theme-browser .theme .theme-actions{position:static;background-color:#e8e8e8}.theme-browser .theme .more-details{display:none}.plugins td,.plugins th{border-top:1px solid #ddd}table.fixed th,table.fixed td{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 h3{margin-bottom:-1px}.major-publishing-actions,.wp-submenu,.wp-submenu li,#template,#template div,#editcat,#addcat{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}#the-comment-list .comment-item,#post-status-info,#wpwrap,#wrap,#postdivrich,#postdiv,#poststuff,.metabox-holder,#titlediv,#post-body,#editorcontainer,.tablenav,.widget-liquid-left,.widget-liquid-right,#widgets-left,.widgets-sortables,#dragHelper,.widget .widget-top,.widget-control-actions,.tagchecklist,#col-container,#col-left,#col-right,.fileedit-sub{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 #parent_id,#poststuff .inside #page_template,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#submitdiv input,#submitdiv select,#submitdiv a.button{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}.tablenav .button-secondary,.nav .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 tr,.widefat th{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 0 0 5px}.widefat thead .check-column,.widefat tfoot .check-column{padding-top:6px}.widefat tbody th.check-column,.media.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}.widget-liquid-right .widget,.inactive-sidebar .widget{position:relative}.inactive-sidebar .widget{display:block;float:left}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved tr,#the-comment-list .unapproved td{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}input[type=password],.login form .input{font-family:sans-serif}* 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
+#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 none;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:#888;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 h3{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:#aaa}.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 69914525ee050e70c76c338147e73d909737b2fd..b73329e8fdf107cd5ec6d495d4d5332d5c12c57d 100644 (file)
@@ -1,11 +1,11 @@
 html {
-       background: #eee;
+       background: #f1f1f1;
        margin: 0 20px;
 }
 
 body {
        background: #fff;
-       color: #555;
+       color: #444;
        font-family: "Open Sans", sans-serif;
        margin: 140px auto 25px;
        padding: 20px 20px 10px 20px;
@@ -66,8 +66,9 @@ abbr {
        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');
+       background-image: url(../images/w-logo-blue.png?ver=20131202);
+       background-image: none, url(../images/wordpress-logo.svg?ver=20131107);
+       -webkit-background-size: 80px 80px;
        background-size: 80px 80px;
        background-position: center top;
        background-repeat: no-repeat;
@@ -99,9 +100,8 @@ textarea {
        border: 1px solid #dfdfdf;
        font-family: "Open Sans", sans-serif;
        width: 100%;
-       -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
-       -ms-box-sizing: border-box; /* ie8 only */
+       -moz-box-sizing: border-box;
        box-sizing: border-box;
 }
 
@@ -142,6 +142,7 @@ textarea {
        font-size: 15px;
        padding: 3px 5px;
        border: 1px solid #ddd;
+       -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
        box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
 }
 
@@ -304,8 +305,9 @@ body.rtl,
                padding: 7px 10px;
                display: block;
                max-width: none;
-               box-sizing: border-box;
+               -webkit-box-sizing: border-box;
                -moz-box-sizing: border-box;
+               box-sizing: border-box;
        }
 
 }
index c2d400af44baff0078ff8d942b6fc1b4ffd008c3..6b112f7e2d5c4784fed8056c7abbbb5ebb309efa 100644 (file)
@@ -1 +1 @@
-html{background:#eee;margin:0 20px}body{background:#fff;color:#555;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:#0074a2;text-decoration:none}a:hover{color:#2ea2cc}h1{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;margin:30px 0;padding:0;padding-bottom:7px;font-weight:400}h2{font-size:16px}p,li,dd,dt{padding-bottom:2px;font-size:14px;line-height:1.5}code,.code{font-family:Consolas,Monaco,monospace}ul,ol,dl{padding:5px 22px 5px 5px}a img{border:0}abbr{border:0;font-variant:normal}#logo{margin:6px 0 14px;border-bottom:0;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);background-size:80px 80px;background-position:center top;background-repeat:no-repeat;color:#999;height:80px;font-size:20px;font-weight:400;line-height:1.3em;margin:-130px auto 25px;padding:0;text-decoration:none;width:80px;text-indent:-9999px;outline:0;overflow:hidden;display:block}.step{margin:20px 0 15px}.step,th{text-align:right;padding:0}.step .button-large{font-size:14px}textarea{border:1px solid #dfdfdf;font-family:"Open Sans",sans-serif;width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-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;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}input,submit{font-family:"Open Sans",sans-serif}.form-table input[type=text],.form-table input[type=password]{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}#dbname,#uname,#pwd,#dbhost,#prefix,#user_login,#admin_email,#pass1,#pass2{direction:ltr}body.rtl,.rtl textarea,.rtl input,.rtl submit{font-family:Tahoma,sans-serif}:lang(he-il) body.rtl,:lang(he-il) .rtl textarea,:lang(he-il) .rtl input,:lang(he-il) .rtl submit{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 th,.form-table td{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}textarea,input{font-size:16px}.form-table td input[type=text],.form-table td input[type=password],.form-table td select,.form-table td textarea,.form-table span.description{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;box-sizing:border-box;-moz-box-sizing:border-box}}
\ No newline at end of file
+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:#0074a2;text-decoration:none}a:hover{color:#2ea2cc}h1{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;margin:30px 0;padding:0;padding-bottom: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}#logo{margin:6px 0 14px;border-bottom:0;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:80px 80px;background-size:80px 80px;background-position:center top;background-repeat:no-repeat;color:#999;height:80px;font-size:20px;font-weight:400;line-height:1.3em;margin:-130px auto 25px;padding:0;text-decoration:none;width:80px;text-indent:-9999px;outline:0;overflow:hidden;display:block}.step{margin:20px 0 15px}.step,th{text-align:right;padding:0}.step .button-large{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=password],.form-table input[type=text]{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=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}}
\ No newline at end of file
index 336538e5b06925b5b66850182c1652f6fbc95960..a2e19a1cc2e28cffe6da0848fa01eb729c08e02f 100644 (file)
@@ -1,11 +1,11 @@
 html {
-       background: #eee;
+       background: #f1f1f1;
        margin: 0 20px;
 }
 
 body {
        background: #fff;
-       color: #555;
+       color: #444;
        font-family: "Open Sans", sans-serif;
        margin: 140px auto 25px;
        padding: 20px 20px 10px 20px;
@@ -66,8 +66,9 @@ abbr {
        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');
+       background-image: url(../images/w-logo-blue.png?ver=20131202);
+       background-image: none, url(../images/wordpress-logo.svg?ver=20131107);
+       -webkit-background-size: 80px 80px;
        background-size: 80px 80px;
        background-position: center top;
        background-repeat: no-repeat;
@@ -99,9 +100,8 @@ textarea {
        border: 1px solid #dfdfdf;
        font-family: "Open Sans", sans-serif;
        width: 100%;
-       -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
-       -ms-box-sizing: border-box; /* ie8 only */
+       -moz-box-sizing: border-box;
        box-sizing: border-box;
 }
 
@@ -142,6 +142,7 @@ textarea {
        font-size: 15px;
        padding: 3px 5px;
        border: 1px solid #ddd;
+       -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
        box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
 }
 
@@ -304,8 +305,9 @@ body.rtl,
                padding: 7px 10px;
                display: block;
                max-width: none;
-               box-sizing: border-box;
+               -webkit-box-sizing: border-box;
                -moz-box-sizing: border-box;
+               box-sizing: border-box;
        }
 
 }
index 9ca46381006a964a9c947dc2cf6922e4658c9403..1a712e8652af1a7e725d1d6c79908406f08ad9b5 100644 (file)
@@ -1 +1 @@
-html{background:#eee;margin:0 20px}body{background:#fff;color:#555;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:#0074a2;text-decoration:none}a:hover{color:#2ea2cc}h1{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;margin:30px 0;padding:0;padding-bottom:7px;font-weight:400}h2{font-size:16px}p,li,dd,dt{padding-bottom:2px;font-size:14px;line-height:1.5}code,.code{font-family:Consolas,Monaco,monospace}ul,ol,dl{padding:5px 5px 5px 22px}a img{border:0}abbr{border:0;font-variant:normal}#logo{margin:6px 0 14px;border-bottom:0;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);background-size:80px 80px;background-position:center top;background-repeat:no-repeat;color:#999;height:80px;font-size:20px;font-weight:400;line-height:1.3em;margin:-130px auto 25px;padding:0;text-decoration:none;width:80px;text-indent:-9999px;outline:0;overflow:hidden;display:block}.step{margin:20px 0 15px}.step,th{text-align:left;padding:0}.step .button-large{font-size:14px}textarea{border:1px solid #dfdfdf;font-family:"Open Sans",sans-serif;width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-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;box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}input,submit{font-family:"Open Sans",sans-serif}.form-table input[type=text],.form-table input[type=password]{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}#dbname,#uname,#pwd,#dbhost,#prefix,#user_login,#admin_email,#pass1,#pass2{direction:ltr}body.rtl,.rtl textarea,.rtl input,.rtl submit{font-family:Tahoma,sans-serif}:lang(he-il) body.rtl,:lang(he-il) .rtl textarea,:lang(he-il) .rtl input,:lang(he-il) .rtl submit{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 th,.form-table td{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}textarea,input{font-size:16px}.form-table td input[type=text],.form-table td input[type=password],.form-table td select,.form-table td textarea,.form-table span.description{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;box-sizing:border-box;-moz-box-sizing:border-box}}
\ No newline at end of file
+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:#0074a2;text-decoration:none}a:hover{color:#2ea2cc}h1{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;margin:30px 0;padding:0;padding-bottom: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}#logo{margin:6px 0 14px;border-bottom:0;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:80px 80px;background-size:80px 80px;background-position:center top;background-repeat:no-repeat;color:#999;height:80px;font-size:20px;font-weight:400;line-height:1.3em;margin:-130px auto 25px;padding:0;text-decoration:none;width:80px;text-indent:-9999px;outline:0;overflow:hidden;display:block}.step{margin:20px 0 15px}.step,th{text-align:left;padding:0}.step .button-large{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=password],.form-table input[type=text]{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=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}}
\ No newline at end of file
diff --git a/wp-admin/css/l10n-rtl.css b/wp-admin/css/l10n-rtl.css
new file mode 100644 (file)
index 0000000..5590f1d
--- /dev/null
@@ -0,0 +1,100 @@
+/*------------------------------------------------------------------------------
+  27.0 - Localization
+------------------------------------------------------------------------------*/
+
+/* RTL except Hebrew (see below): Tahoma as the first font; */
+body.rtl,
+body.rtl .press-this a.wp-switch-editor {
+       font-family: Tahoma, Arial, sans-serif;
+}
+
+
+/* he_IL: Remove Tahoma from the font stack. Arial is best for Hebrew. */
+body.locale-he-il,
+body.locale-he-il .press-this a.wp-switch-editor {
+       font-family: Arial, sans-serif;
+}
+
+/* he_IL: Have <em> be bold rather than italic. */
+.locale-he-il em {
+       font-style: normal;
+       font-weight: bold;
+}
+
+/* zh_CN: Remove italic properties. */
+.locale-zh-cn .howto,
+.locale-zh-cn .tablenav .displaying-num,
+.locale-zh-cn .js .input-with-default-title,
+.locale-zh-cn .link-to-original,
+.locale-zh-cn .inline-edit-row fieldset span.title,
+.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,
+.locale-zh-cn #utc-time,
+.locale-zh-cn #local-time,
+.locale-zh-cn p.install-help,
+.locale-zh-cn p.help,
+.locale-zh-cn p.description,
+.locale-zh-cn span.description,
+.locale-zh-cn .form-wrap p {
+       font-style: normal;
+}
+
+/* zh_CN: Enlarge dashboard widget 'Configure' link */
+.locale-zh-cn .hdnle a { font-size: 12px; }
+
+/* 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 {
+       padding: 0 5px 1px; /* default 0 10px 1px */
+}
+.locale-de-de #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.input-text-wrap {
+       margin-right: 8em; /* default 5em */
+}
+.locale-ru-ru.post-php .tagsdiv .newtag {
+       width: 165px; /* default 180px - 15px */
+}
+.locale-ru-ru.press-this .posting {
+       margin-left: 277px; /* default 252px + 25px */
+}
+.locale-ru-ru .press-this-sidebar {
+       width: 265px; /* default 240px + 25px */
+}
+.locale-ru-ru #customize-header-actions .button {
+       padding: 0 5px 1px; /* default 0 10px 1px */
+}
+.locale-ru-ru #customize-header-actions .spinner {
+       margin: 16px 3px 0; /* default 16px 4px 0 5px */
+}
+
+/* lt_LT: QuickEdit */
+.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;
+}
diff --git a/wp-admin/css/l10n.css b/wp-admin/css/l10n.css
new file mode 100644 (file)
index 0000000..3b056d6
--- /dev/null
@@ -0,0 +1,100 @@
+/*------------------------------------------------------------------------------
+  27.0 - Localization
+------------------------------------------------------------------------------*/
+
+/* RTL except Hebrew (see below): Tahoma as the first font; */
+body.rtl,
+body.rtl .press-this a.wp-switch-editor {
+       font-family: Tahoma, Arial, sans-serif;
+}
+
+
+/* he_IL: Remove Tahoma from the font stack. Arial is best for Hebrew. */
+body.locale-he-il,
+body.locale-he-il .press-this a.wp-switch-editor {
+       font-family: Arial, sans-serif;
+}
+
+/* he_IL: Have <em> be bold rather than italic. */
+.locale-he-il em {
+       font-style: normal;
+       font-weight: bold;
+}
+
+/* zh_CN: Remove italic properties. */
+.locale-zh-cn .howto,
+.locale-zh-cn .tablenav .displaying-num,
+.locale-zh-cn .js .input-with-default-title,
+.locale-zh-cn .link-to-original,
+.locale-zh-cn .inline-edit-row fieldset span.title,
+.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,
+.locale-zh-cn #utc-time,
+.locale-zh-cn #local-time,
+.locale-zh-cn p.install-help,
+.locale-zh-cn p.help,
+.locale-zh-cn p.description,
+.locale-zh-cn span.description,
+.locale-zh-cn .form-wrap p {
+       font-style: normal;
+}
+
+/* zh_CN: Enlarge dashboard widget 'Configure' link */
+.locale-zh-cn .hdnle a { font-size: 12px; }
+
+/* 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 {
+       padding: 0 5px 1px; /* default 0 10px 1px */
+}
+.locale-de-de #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.input-text-wrap {
+       margin-left: 8em; /* default 5em */
+}
+.locale-ru-ru.post-php .tagsdiv .newtag {
+       width: 165px; /* default 180px - 15px */
+}
+.locale-ru-ru.press-this .posting {
+       margin-right: 277px; /* default 252px + 25px */
+}
+.locale-ru-ru .press-this-sidebar {
+       width: 265px; /* default 240px + 25px */
+}
+.locale-ru-ru #customize-header-actions .button {
+       padding: 0 5px 1px; /* default 0 10px 1px */
+}
+.locale-ru-ru #customize-header-actions .spinner {
+       margin: 16px 3px 0; /* default 16px 4px 0 5px */
+}
+
+/* lt_LT: QuickEdit */
+.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;
+}
diff --git a/wp-admin/css/list-tables-rtl.css b/wp-admin/css/list-tables-rtl.css
new file mode 100644 (file)
index 0000000..6f36c9e
--- /dev/null
@@ -0,0 +1,1619 @@
+/* List table styles */
+.post-com-count-wrapper {
+       min-width: 22px;
+}
+
+.post-com-count {
+       background: none;
+       height: 1.3em;
+       line-height: 1.1em;
+       display: block;
+       text-decoration: none;
+       padding: 0 0 6px;
+       cursor: pointer;
+       background-position: center -80px;
+       background-repeat: no-repeat;
+       color: #fff;
+}
+
+.post-com-count:after {                /* draw bubble connector using CSS! */
+       content: "";
+       display: block;
+       width: 0;
+       height: 0;
+       margin-right: 8px;
+       border-top: 5px solid #bbb;
+       border-left: 5px solid transparent;
+}
+
+.post-com-count span {
+       font-size: 11px;
+       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: #bbb;
+       color: #fff;
+}
+
+.post-com-count:hover {
+       background-position: center -3px;
+}
+
+.post-com-count:hover span {
+       background-color: #2ea2cc;
+}
+
+.post-com-count:hover:after {
+       border-top: 5px solid #2ea2cc;
+}
+
+strong .post-com-count {
+       background-position: center -55px;
+}
+
+strong .post-com-count span {
+       background-color: #0074a2;
+}
+
+strong .post-com-count:after {
+       border-top: 5px solid #0074a2;
+}
+
+.column-response .post-com-count {
+       float: right;
+       margin-left: 5px;
+       text-align: center;
+}
+
+.response-links {
+       float: right;
+}
+
+/* comments */
+
+.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;
+}
+
+/* reply to comments */
+#replyrow td {
+       padding: 2px;
+}
+
+#replysubmit {
+       margin: 0;
+       padding: 0 5px 3px;
+       text-align: center;
+}
+
+#replysubmit .spinner {
+       padding: 2px 0 0;
+       vertical-align: top;
+       float: left;
+}
+
+#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;
+}
+
+/* @todo: is this used? */
+.commentlist .avatar {
+       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;
+}
+
+#the-comment-list .unapproved th,
+#the-comment-list .unapproved td {
+       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 th,
+#the-comment-list td {
+       -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);
+}
+
+#the-comment-list tr:last-child th,
+#the-comment-list tr:last-child td {
+    -webkit-box-shadow: none;
+    box-shadow: none;
+}
+
+#the-comment-list tr.unapproved + tr.approved th,
+#the-comment-list tr.unapproved + tr.approved td {
+    border-top: 1px solid rgba(0, 0, 0, 0.03);
+}
+
+/* table vim shortcuts */
+.vim-current,
+.vim-current th,
+.vim-current td {
+       background-color: #e4f2fd !important;
+}
+
+th .comment-grey-bubble {
+       height: 16px;
+       width: 16px;
+}
+
+th .comment-grey-bubble:before {
+       content: '\f101';
+       font: normal 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;
+}
+
+/*------------------------------------------------------------------------------
+  10.0 - List Posts (/Pages/etc)
+------------------------------------------------------------------------------*/
+
+table.fixed {
+       table-layout: fixed;
+}
+
+.fixed .column-rating,
+.fixed .column-visible {
+       width: 8%;
+}
+
+.fixed .column-posts,
+.fixed .column-date,
+.fixed .column-parent,
+.fixed .column-links,
+.fixed .column-author,
+.fixed .column-format {
+       width: 10%;
+}
+
+.fixed .column-comment .comment-author {
+       display: none;
+}
+
+.fixed .column-response,
+.fixed .column-categories,
+.fixed .column-tags,
+.fixed .column-rel,
+.fixed .column-role {
+       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;
+}
+
+/* @todo: pick a consistent list table selector */
+.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: 0.6em 0;
+       padding: 0;
+}
+
+#commentsdiv #replyrow td {
+       padding: 0;
+}
+
+#commentsdiv p {
+       padding: 8px 10px;
+       margin: 0;
+}
+
+#commentsdiv .comments-box {
+       border: 0 none;
+}
+
+#commentsdiv .comments-box thead th {
+       background: transparent;
+       padding: 0 7px 4px;
+       font-style: italic;
+}
+
+#commentsdiv .comments-box tr:last-child td {
+       border-bottom: 0 none;
+}
+
+#commentsdiv .spinner {
+       padding-right: 5px;
+}
+
+.sorting-indicator {
+       display: none;
+       width: 10px;
+       height: 4px;
+       margin-top: 8px;
+       margin-right: 7px;
+}
+
+.sorting-indicator:before {
+       background: none;
+       content: '\f142';
+       font: normal 20px/1 'dashicons';
+       speak: none;
+       display: inline-block;
+       padding: 0;
+       top: -4px;
+       right: -8px;
+       color: #444;
+       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.sorted.asc .sorting-indicator:before,
+th.desc:hover span.sorting-indicator:before {
+       content: '\f142';
+}
+
+th.sorted.desc .sorting-indicator:before,
+th.asc:hover span.sorting-indicator:before {
+       content: '\f140';
+}
+
+tr.wp-locked .locked-indicator {
+       margin-right: 6px;
+       height: 20px;
+       width: 16px;
+}
+
+tr.wp-locked .locked-indicator:before {
+       color: #888;
+       content: '\f160';
+       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;
+}
+
+tr.wp-locked .check-column label,
+tr.wp-locked .check-column input[type="checkbox"],
+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 0.5s;
+       transition: height 1s, opacity 0.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;
+}
+
+th.manage-column a,
+th.sortable a:hover,
+th.sortable a:active,
+th.sortable a:focus {
+       color: #333;
+}
+
+th.sortable a:focus {
+       background: #e1e1e1;
+}
+
+.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.sorted.asc .sorting-indicator,
+th.desc:hover 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 {
+       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, 0.05 );
+       font-size: 16px;
+       font-weight: normal;
+}
+
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
+       color: #fff;
+       background: #2ea2cc;
+}
+
+.tablenav .tablenav-pages a.disabled,
+.tablenav .tablenav-pages a.disabled:hover,
+.tablenav .tablenav-pages a.disabled:focus,
+.tablenav .tablenav-pages a.disabled:active {
+       color: #aaa;
+       background: #eee;
+       background: rgba( 0, 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;
+}
+
+.tablenav .delete {
+       margin-left: 20px;
+}
+
+/* @todo: unclear if the following tablenav rules are actually used.
+classes exist in paginate_links() but not seen in list table output. */
+.tablenav .dots {
+       border-color: transparent;
+}
+
+.tablenav .next,
+.tablenav .prev {
+       border-color: transparent;
+       color: #0074a2;
+}
+
+.tablenav .next:hover,
+.tablenav .prev:hover {
+       border-color: transparent;
+       color: #2ea2cc;
+}
+
+.view-switch {
+       float: left;
+       margin: 5px 8px 0 16px;
+}
+
+.view-switch img {
+       display: none;
+}
+
+.view-switch a {
+       text-decoration: none;
+}
+
+.view-switch > a {
+       display: inline-block;
+       width: 18px;
+       height: 18px;
+}
+
+.view-switch > a:before {
+       color: #bbb;
+       content: '\f163';
+       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 a:hover:before {
+       color: #727272;
+}
+
+.view-switch a.current:before {
+       color: #0074a2;
+}
+
+.view-switch > a + a:before {
+       margin-right: 5px;
+       content: '\f164';
+}
+
+.filter {
+       float: right;
+       margin: -5px 10px 0 0;
+}
+
+.filter .subsubsub {
+       margin-right: -10px;
+       margin-top: 13px;
+}
+.screen-per-page {
+       width: 4em;
+}
+
+#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: 0.6em;
+}
+
+.column-author img,
+.column-username img,
+.column-comment .comment-author img {
+       float: right;
+       margin-left: 10px;
+       margin-top: 1px;
+}
+
+.row-actions {
+       color: #ddd;
+       font-size: 13px;
+       visibility: hidden;
+       padding: 2px 0 0;
+}
+
+tr:hover .row-actions,
+.mobile .row-actions,
+.row-actions.visible,
+div.comment-item:hover .row-actions {
+       visibility: visible;
+}
+
+/* deprecated */
+.row-actions-visible {
+       padding: 2px 0 0;
+}
+
+
+/*------------------------------------------------------------------------------
+  10.1 - Inline Editing
+------------------------------------------------------------------------------*/
+
+/*
+.quick-edit* is for Quick Edit
+.bulk-edit* is for Bulk Edit
+.inline-edit* is for everything
+*/
+
+/*     Layout */
+
+#wpbody-content .inline-edit-row fieldset {
+       font-size: 12px;
+       float: right;
+       margin: 0;
+       padding: 0;
+       width: 100%;
+}
+
+tr.inline-edit-row td,
+#wpbody-content .inline-edit-row fieldset .inline-edit-col {
+       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 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 .quick-edit-row-page .inline-edit-col-right,
+#wpbody-content .bulk-edit-row-post .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;
+}
+
+.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: 0.5em;
+       margin: 0.5em 0 0;
+}
+
+.inline-edit-row span.error {
+       line-height: 22px;
+       margin: 0 15px;
+       padding: 3px 5px;
+}
+
+/*     Positioning */
+.inline-edit-row h4 {
+       margin: .2em 0;
+       padding: 0;
+       line-height: 23px;
+}
+.inline-edit-row fieldset span.title,
+.inline-edit-row fieldset span.checkbox-title {
+       margin: 0;
+       padding: 0;
+       line-height: 27px;
+}
+
+.inline-edit-row fieldset label,
+.inline-edit-row fieldset span.inline-edit-categories-label {
+       display: block;
+       margin: .2em 0;
+}
+
+.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;
+}
+
+.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: 0.5em;
+}
+
+.inline-edit-row .input-text-wrap input[type=text] {
+       width: 100%;
+}
+
+.inline-edit-row fieldset label input[type=checkbox] {
+       vertical-align: text-bottom;
+}
+
+.inline-edit-row fieldset label textarea {
+       width: 100%;
+       height: 4em;
+}
+
+#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: 0.5em
+}
+
+.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input {
+       width: 6em;
+}
+
+.inline-edit-save .spinner {
+       padding: 4px 10px 0;
+       vertical-align: top;
+       float: left;
+}
+
+/*     Styling */
+.inline-edit-row h4 {
+       text-transform: uppercase;
+}
+
+.inline-edit-row fieldset span.title,
+.inline-edit-row fieldset span.checkbox-title {
+       font-style: italic;
+       line-height: 1.8em;
+}
+
+/*     Specific Elements */
+.inline-edit-row fieldset .inline-edit-date {
+       float: right;
+}
+
+.inline-edit-row fieldset input[name=jj],
+.inline-edit-row fieldset input[name=hh],
+.inline-edit-row fieldset input[name=mn] {
+       font-size: 12px;
+       width: 2.1em;
+}
+
+.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: solid 1px #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 li,
+.inline-edit-row fieldset ul.cat-checklist input {
+       margin: 0;
+       position: relative; /* RTL fix, #WP27629 */
+}
+
+.inline-edit-row fieldset ul.cat-checklist label,
+.inline-edit-row #bulk-titles div {
+       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: 0.2em 0.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;
+}
+
+/*------------------------------------------------------------------------------
+  17.0 - Plugins
+------------------------------------------------------------------------------*/
+
+.plugins tbody th.check-column,
+.plugins tbody {
+       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 thead th.check-column,
+.plugins tfoot th.check-column,
+.plugins .inactive th.check-column {
+       padding-right: 6px;
+}
+
+#update-plugins-table thead th.check-column,
+#update-plugins-table tfoot th.check-column {
+       padding-top: 11px;
+}
+
+.plugins,
+.plugins th,
+.plugins td {
+       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 ul,
+.plugins .desc ol {
+       margin: 0 2em 0 0;
+}
+
+.plugins .desc ul {
+       list-style-type: disc;
+}
+
+.plugins .row-actions {
+       font-size: 13px;
+       padding: 0;
+}
+
+.plugins .inactive td,
+.plugins .inactive th,
+.plugins .active td,
+.plugins .active th {
+       padding: 10px 9px;
+}
+
+.plugins .active td,
+.plugins .active th {
+       background-color: #f7fcfe;
+}
+
+.plugins .update th,
+.plugins .update td {
+       border-bottom: 0;
+}
+
+.plugin-update-tr td {
+       border-top: 0;
+}
+
+.plugins .inactive td,
+.plugins .inactive th,
+.plugins .active td,
+.plugins .active th,
+.plugin-install #the-list td,
+.upgrade .plugins td,
+.upgrade .plugins th {
+       -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);
+}
+
+.plugins tr.active.plugin-update-tr + tr.inactive th,
+.plugins tr.active.plugin-update-tr + tr.inactive td,
+.plugins tr.active + tr.inactive th,
+.plugins tr.active + tr.inactive td {
+       border-top: 1px solid rgba(0,0,0,0.03);
+       -webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,0.02), inset 0 -1px 0 #e1e1e1;
+       box-shadow: inset 0 1px 0 rgba(0,0,0,0.02), inset 0 -1px 0 #e1e1e1;
+}
+
+.plugins .update td,
+.plugins .update th,
+.upgrade .plugins tr:last-of-type td,
+.upgrade .plugins tr:last-of-type th,
+.plugins tr.active + tr.inactive.update th,
+.plugins tr.active + tr.inactive.update td {
+       -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;
+}
+
+.plugins .active th.check-column {
+       border-right: 4px solid #2ea2cc;
+}
+
+.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 .second,
+.plugins .row-actions {
+       padding: 0 0 5px;
+}
+
+.plugins .update .second,
+.plugins .update .row-actions {
+       padding-bottom: 0;
+}
+
+.plugins-php .widefat tfoot th,
+.plugins-php .widefat tfoot td {
+       border-top-style: solid;
+       border-top-width: 1px;
+}
+
+.plugin-update-tr .update-message {
+       font-size: 13px;
+       font-weight: normal;
+       margin: 6px 12px 12px;
+       padding: 6px 12px;
+       margin: 0 31px 8px 10px;
+       background-color: #f7f7f7;
+       background-color: rgba(0,0,0,0.03);
+}
+
+.plugin-update-tr .update-message:before {
+       color: #d54e21;
+       content: '\f463';
+       display: inline-block;
+       font: normal 20px/1 'dashicons';
+       speak: none;
+       margin: 0 -2px 0 8px;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       vertical-align: top;
+}
+
+.plugins .plugin-update {
+       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);
+}
+
+/* update notices for active plugins */
+tr.active + tr.plugin-update-tr .plugin-update {
+       background-color: #f7fcfe;
+}
+
+tr.active + tr.plugin-update-tr .plugin-update .update-message {
+       background-color: #fcf3ef;
+}
+
+.plugin-install-php h4 {
+       margin: 2.5em 0 8px;
+}
+
+/* ms */
+/* Background Color for Site Status */
+.wp-list-table .site-deleted {
+       background: #ff8573;
+}
+.wp-list-table .site-spammed {
+       background: #faafaa;
+}
+.wp-list-table .site-archived {
+       background: #ffebe8;
+}
+.wp-list-table .site-mature {
+       background: #fecac2;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+/**
+ * HiDPI Displays
+ */
+@media screen and ( max-width: 782px ) {
+       /* WP List Table Options & Filters */
+       .tablenav {
+               height: auto;
+       }
+
+       .tablenav.top {
+               margin: 0;
+       }
+
+       .tablenav.bottom {
+               position: relative;
+               margin-top: 15px;
+       }
+
+       .tablenav br {
+               display: none;
+       }
+
+       .tablenav br.clear {
+               display: block;
+       }
+
+       .tablenav.top .actions, .view-switch {
+               display: none;
+       }
+
+       /* Pagination */
+       .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 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, 0.05);
+       }
+
+       .tablenav-pages .pagination-links .current-page {
+               padding: 10px;
+               font-size: 14px;
+       }
+
+       /* WP List Table Adjustments: General */
+       .form-wrap > p {
+               display: none;
+       }
+
+       .comment-count {
+               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 {
+               display: none;
+       }
+
+       .fixed .column-comment .comment-author {
+               display: block;
+       }
+
+       /* Posts */
+       .column-title {
+               width: 85%;
+       }
+
+       .fixed .column-comments, .widefat .check-column {
+               width: 35px
+       }
+
+       .widefat thead .check-column, .widefat tfoot .check-column {
+               padding: 10px 0 10px;
+       }
+
+       .widefat * {
+               word-wrap: normal;
+       }
+
+       /* Quick Edit and Bulk Edit */
+       #wpbody-content .quick-edit-row-post .inline-edit-col-left,
+       #wpbody-content .quick-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 .bulk-edit-row-post .inline-edit-col-right,
+       #wpbody-content .bulk-edit-row .inline-edit-col-left,
+       #wpbody-content .bulk-edit-row-page .inline-edit-col-right,
+       #wpbody-content .bulk-edit-row .inline-edit-col-bottom {
+               float: none;
+               width: 100%;
+       }
+
+       #wpbody-content .quick-edit-row fieldset .inline-edit-col label,
+       #wpbody-content .quick-edit-row fieldset .inline-edit-group label,
+       #wpbody-content .bulk-edit-row fieldset .inline-edit-col label,
+       #wpbody-content .bulk-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 fieldset ul.cat-checklist label,
+       .inline-edit-row #bulk-titles div {
+               font-size: 16px;
+       }
+
+       .inline-edit-row fieldset label span.title {
+               float: none;
+       }
+
+       .inline-edit-row fieldset label.inline-edit-tags {
+               padding: 0 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=jj],
+       .inline-edit-row fieldset input[name=hh],
+       .inline-edit-row fieldset input[name=mn] {
+               width: 3em;
+       }
+
+       .inline-edit-row fieldset input[name=aa] {
+               width: 4.5em;
+       }
+
+       #bulk-titles div {
+               margin: 0.8em 0.3em;
+       }
+
+       #bulk-titles div a {
+               height: 22px;
+       }
+
+       /* Taxonomies */
+       .tags .column-posts {
+               width: 50px;
+       }
+
+       .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;
+       }
+
+       /* Links */
+       .link-manager-php #posts-filter {
+               margin-top: 25px;
+       }
+
+       .link-manager-php .tablenav.bottom {
+               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 {
+               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 {
+               display: block;
+               width: auto;
+       }
+
+       .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;
+       }
+
+       .wp-list-table.plugins .plugin-title,
+       .wp-list-table.plugins .theme-title {
+               padding-top: 13px;
+               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 {
+               -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, 0.1);
+               box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+       }
+
+       .plugins tr.active + tr.inactive th.check-column,
+       .plugins tr.active + tr.inactive td {
+               border-top: none;
+       }
+
+       .wp-list-table.plugins .column-description {
+               padding-top: 0;
+       }
+
+       .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;
+       }
+
+       .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 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;
+       }
+
+       .wp-list-table.plugins .plugin-title strong,
+       .wp-list-table.plugins .theme-title strong {
+               font-size: 1.4em;
+               line-height: 1.6em;
+       }
+
+       /* Add New plugins page */
+       table.plugin-install .column-name,
+       table.plugin-install .column-version,
+       table.plugin-install .column-rating,
+       table.plugin-install .column-description {
+               display: block;
+               width: auto;
+       }
+
+       table.plugin-install th.column-name,
+       table.plugin-install th.column-version,
+       table.plugin-install th.column-rating,
+       table.plugin-install th.column-description {
+               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,0.1);
+               box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
+       }
+}
diff --git a/wp-admin/css/list-tables.css b/wp-admin/css/list-tables.css
new file mode 100644 (file)
index 0000000..0b4115d
--- /dev/null
@@ -0,0 +1,1619 @@
+/* List table styles */
+.post-com-count-wrapper {
+       min-width: 22px;
+}
+
+.post-com-count {
+       background: none;
+       height: 1.3em;
+       line-height: 1.1em;
+       display: block;
+       text-decoration: none;
+       padding: 0 0 6px;
+       cursor: pointer;
+       background-position: center -80px;
+       background-repeat: no-repeat;
+       color: #fff;
+}
+
+.post-com-count:after {                /* draw bubble connector using CSS! */
+       content: "";
+       display: block;
+       width: 0;
+       height: 0;
+       margin-left: 8px;
+       border-top: 5px solid #bbb;
+       border-right: 5px solid transparent;
+}
+
+.post-com-count span {
+       font-size: 11px;
+       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: #bbb;
+       color: #fff;
+}
+
+.post-com-count:hover {
+       background-position: center -3px;
+}
+
+.post-com-count:hover span {
+       background-color: #2ea2cc;
+}
+
+.post-com-count:hover:after {
+       border-top: 5px solid #2ea2cc;
+}
+
+strong .post-com-count {
+       background-position: center -55px;
+}
+
+strong .post-com-count span {
+       background-color: #0074a2;
+}
+
+strong .post-com-count:after {
+       border-top: 5px solid #0074a2;
+}
+
+.column-response .post-com-count {
+       float: left;
+       margin-right: 5px;
+       text-align: center;
+}
+
+.response-links {
+       float: left;
+}
+
+/* comments */
+
+.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;
+}
+
+/* reply to comments */
+#replyrow td {
+       padding: 2px;
+}
+
+#replysubmit {
+       margin: 0;
+       padding: 0 5px 3px;
+       text-align: center;
+}
+
+#replysubmit .spinner {
+       padding: 2px 0 0;
+       vertical-align: top;
+       float: right;
+}
+
+#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;
+}
+
+/* @todo: is this used? */
+.commentlist .avatar {
+       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;
+}
+
+#the-comment-list .unapproved th,
+#the-comment-list .unapproved td {
+       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 th,
+#the-comment-list td {
+       -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);
+}
+
+#the-comment-list tr:last-child th,
+#the-comment-list tr:last-child td {
+    -webkit-box-shadow: none;
+    box-shadow: none;
+}
+
+#the-comment-list tr.unapproved + tr.approved th,
+#the-comment-list tr.unapproved + tr.approved td {
+    border-top: 1px solid rgba(0, 0, 0, 0.03);
+}
+
+/* table vim shortcuts */
+.vim-current,
+.vim-current th,
+.vim-current td {
+       background-color: #e4f2fd !important;
+}
+
+th .comment-grey-bubble {
+       height: 16px;
+       width: 16px;
+}
+
+th .comment-grey-bubble:before {
+       content: '\f101';
+       font: normal 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;
+}
+
+/*------------------------------------------------------------------------------
+  10.0 - List Posts (/Pages/etc)
+------------------------------------------------------------------------------*/
+
+table.fixed {
+       table-layout: fixed;
+}
+
+.fixed .column-rating,
+.fixed .column-visible {
+       width: 8%;
+}
+
+.fixed .column-posts,
+.fixed .column-date,
+.fixed .column-parent,
+.fixed .column-links,
+.fixed .column-author,
+.fixed .column-format {
+       width: 10%;
+}
+
+.fixed .column-comment .comment-author {
+       display: none;
+}
+
+.fixed .column-response,
+.fixed .column-categories,
+.fixed .column-tags,
+.fixed .column-rel,
+.fixed .column-role {
+       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;
+}
+
+/* @todo: pick a consistent list table selector */
+.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: 0.6em 0;
+       padding: 0;
+}
+
+#commentsdiv #replyrow td {
+       padding: 0;
+}
+
+#commentsdiv p {
+       padding: 8px 10px;
+       margin: 0;
+}
+
+#commentsdiv .comments-box {
+       border: 0 none;
+}
+
+#commentsdiv .comments-box thead th {
+       background: transparent;
+       padding: 0 7px 4px;
+       font-style: italic;
+}
+
+#commentsdiv .comments-box tr:last-child td {
+       border-bottom: 0 none;
+}
+
+#commentsdiv .spinner {
+       padding-left: 5px;
+}
+
+.sorting-indicator {
+       display: none;
+       width: 10px;
+       height: 4px;
+       margin-top: 8px;
+       margin-left: 7px;
+}
+
+.sorting-indicator:before {
+       background: none;
+       content: '\f142';
+       font: normal 20px/1 'dashicons';
+       speak: none;
+       display: inline-block;
+       padding: 0;
+       top: -4px;
+       left: -8px;
+       color: #444;
+       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.sorted.asc .sorting-indicator:before,
+th.desc:hover span.sorting-indicator:before {
+       content: '\f142';
+}
+
+th.sorted.desc .sorting-indicator:before,
+th.asc:hover span.sorting-indicator:before {
+       content: '\f140';
+}
+
+tr.wp-locked .locked-indicator {
+       margin-left: 6px;
+       height: 20px;
+       width: 16px;
+}
+
+tr.wp-locked .locked-indicator:before {
+       color: #888;
+       content: '\f160';
+       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;
+}
+
+tr.wp-locked .check-column label,
+tr.wp-locked .check-column input[type="checkbox"],
+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 0.5s;
+       transition: height 1s, opacity 0.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;
+}
+
+th.manage-column a,
+th.sortable a:hover,
+th.sortable a:active,
+th.sortable a:focus {
+       color: #333;
+}
+
+th.sortable a:focus {
+       background: #e1e1e1;
+}
+
+.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.sorted.asc .sorting-indicator,
+th.desc:hover 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 {
+       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, 0.05 );
+       font-size: 16px;
+       font-weight: normal;
+}
+
+.tablenav .tablenav-pages a:hover,
+.tablenav .tablenav-pages a:focus {
+       color: #fff;
+       background: #2ea2cc;
+}
+
+.tablenav .tablenav-pages a.disabled,
+.tablenav .tablenav-pages a.disabled:hover,
+.tablenav .tablenav-pages a.disabled:focus,
+.tablenav .tablenav-pages a.disabled:active {
+       color: #aaa;
+       background: #eee;
+       background: rgba( 0, 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;
+}
+
+.tablenav .delete {
+       margin-right: 20px;
+}
+
+/* @todo: unclear if the following tablenav rules are actually used.
+classes exist in paginate_links() but not seen in list table output. */
+.tablenav .dots {
+       border-color: transparent;
+}
+
+.tablenav .next,
+.tablenav .prev {
+       border-color: transparent;
+       color: #0074a2;
+}
+
+.tablenav .next:hover,
+.tablenav .prev:hover {
+       border-color: transparent;
+       color: #2ea2cc;
+}
+
+.view-switch {
+       float: right;
+       margin: 5px 16px 0 8px;
+}
+
+.view-switch img {
+       display: none;
+}
+
+.view-switch a {
+       text-decoration: none;
+}
+
+.view-switch > a {
+       display: inline-block;
+       width: 18px;
+       height: 18px;
+}
+
+.view-switch > a:before {
+       color: #bbb;
+       content: '\f163';
+       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 a:hover:before {
+       color: #727272;
+}
+
+.view-switch a.current:before {
+       color: #0074a2;
+}
+
+.view-switch > a + a:before {
+       margin-left: 5px;
+       content: '\f164';
+}
+
+.filter {
+       float: left;
+       margin: -5px 0 0 10px;
+}
+
+.filter .subsubsub {
+       margin-left: -10px;
+       margin-top: 13px;
+}
+.screen-per-page {
+       width: 4em;
+}
+
+#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: 0.6em;
+}
+
+.column-author img,
+.column-username img,
+.column-comment .comment-author img {
+       float: left;
+       margin-right: 10px;
+       margin-top: 1px;
+}
+
+.row-actions {
+       color: #ddd;
+       font-size: 13px;
+       visibility: hidden;
+       padding: 2px 0 0;
+}
+
+tr:hover .row-actions,
+.mobile .row-actions,
+.row-actions.visible,
+div.comment-item:hover .row-actions {
+       visibility: visible;
+}
+
+/* deprecated */
+.row-actions-visible {
+       padding: 2px 0 0;
+}
+
+
+/*------------------------------------------------------------------------------
+  10.1 - Inline Editing
+------------------------------------------------------------------------------*/
+
+/*
+.quick-edit* is for Quick Edit
+.bulk-edit* is for Bulk Edit
+.inline-edit* is for everything
+*/
+
+/*     Layout */
+
+#wpbody-content .inline-edit-row fieldset {
+       font-size: 12px;
+       float: left;
+       margin: 0;
+       padding: 0;
+       width: 100%;
+}
+
+tr.inline-edit-row td,
+#wpbody-content .inline-edit-row fieldset .inline-edit-col {
+       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%;
+}
+
+#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 .quick-edit-row-page .inline-edit-col-right,
+#wpbody-content .bulk-edit-row-post .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;
+}
+
+.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: 0.5em;
+       margin: 0.5em 0 0;
+}
+
+.inline-edit-row span.error {
+       line-height: 22px;
+       margin: 0 15px;
+       padding: 3px 5px;
+}
+
+/*     Positioning */
+.inline-edit-row h4 {
+       margin: .2em 0;
+       padding: 0;
+       line-height: 23px;
+}
+.inline-edit-row fieldset span.title,
+.inline-edit-row fieldset span.checkbox-title {
+       margin: 0;
+       padding: 0;
+       line-height: 27px;
+}
+
+.inline-edit-row fieldset label,
+.inline-edit-row fieldset span.inline-edit-categories-label {
+       display: block;
+       margin: .2em 0;
+}
+
+.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;
+}
+
+.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: 0.5em;
+}
+
+.inline-edit-row .input-text-wrap input[type=text] {
+       width: 100%;
+}
+
+.inline-edit-row fieldset label input[type=checkbox] {
+       vertical-align: text-bottom;
+}
+
+.inline-edit-row fieldset label textarea {
+       width: 100%;
+       height: 4em;
+}
+
+#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: 0.5em
+}
+
+.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input {
+       width: 6em;
+}
+
+.inline-edit-save .spinner {
+       padding: 4px 10px 0;
+       vertical-align: top;
+       float: right;
+}
+
+/*     Styling */
+.inline-edit-row h4 {
+       text-transform: uppercase;
+}
+
+.inline-edit-row fieldset span.title,
+.inline-edit-row fieldset span.checkbox-title {
+       font-style: italic;
+       line-height: 1.8em;
+}
+
+/*     Specific Elements */
+.inline-edit-row fieldset .inline-edit-date {
+       float: left;
+}
+
+.inline-edit-row fieldset input[name=jj],
+.inline-edit-row fieldset input[name=hh],
+.inline-edit-row fieldset input[name=mn] {
+       font-size: 12px;
+       width: 2.1em;
+}
+
+.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: solid 1px #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 li,
+.inline-edit-row fieldset ul.cat-checklist input {
+       margin: 0;
+       position: relative; /* RTL fix, #WP27629 */
+}
+
+.inline-edit-row fieldset ul.cat-checklist label,
+.inline-edit-row #bulk-titles div {
+       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: 0.2em 0.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;
+}
+
+/*------------------------------------------------------------------------------
+  17.0 - Plugins
+------------------------------------------------------------------------------*/
+
+.plugins tbody th.check-column,
+.plugins tbody {
+       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 thead th.check-column,
+.plugins tfoot th.check-column,
+.plugins .inactive th.check-column {
+       padding-left: 6px;
+}
+
+#update-plugins-table thead th.check-column,
+#update-plugins-table tfoot th.check-column {
+       padding-top: 11px;
+}
+
+.plugins,
+.plugins th,
+.plugins td {
+       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 ul,
+.plugins .desc ol {
+       margin: 0 0 0 2em;
+}
+
+.plugins .desc ul {
+       list-style-type: disc;
+}
+
+.plugins .row-actions {
+       font-size: 13px;
+       padding: 0;
+}
+
+.plugins .inactive td,
+.plugins .inactive th,
+.plugins .active td,
+.plugins .active th {
+       padding: 10px 9px;
+}
+
+.plugins .active td,
+.plugins .active th {
+       background-color: #f7fcfe;
+}
+
+.plugins .update th,
+.plugins .update td {
+       border-bottom: 0;
+}
+
+.plugin-update-tr td {
+       border-top: 0;
+}
+
+.plugins .inactive td,
+.plugins .inactive th,
+.plugins .active td,
+.plugins .active th,
+.plugin-install #the-list td,
+.upgrade .plugins td,
+.upgrade .plugins th {
+       -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);
+}
+
+.plugins tr.active.plugin-update-tr + tr.inactive th,
+.plugins tr.active.plugin-update-tr + tr.inactive td,
+.plugins tr.active + tr.inactive th,
+.plugins tr.active + tr.inactive td {
+       border-top: 1px solid rgba(0,0,0,0.03);
+       -webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,0.02), inset 0 -1px 0 #e1e1e1;
+       box-shadow: inset 0 1px 0 rgba(0,0,0,0.02), inset 0 -1px 0 #e1e1e1;
+}
+
+.plugins .update td,
+.plugins .update th,
+.upgrade .plugins tr:last-of-type td,
+.upgrade .plugins tr:last-of-type th,
+.plugins tr.active + tr.inactive.update th,
+.plugins tr.active + tr.inactive.update td {
+       -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;
+}
+
+.plugins .active th.check-column {
+       border-left: 4px solid #2ea2cc;
+}
+
+.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 .second,
+.plugins .row-actions {
+       padding: 0 0 5px;
+}
+
+.plugins .update .second,
+.plugins .update .row-actions {
+       padding-bottom: 0;
+}
+
+.plugins-php .widefat tfoot th,
+.plugins-php .widefat tfoot td {
+       border-top-style: solid;
+       border-top-width: 1px;
+}
+
+.plugin-update-tr .update-message {
+       font-size: 13px;
+       font-weight: normal;
+       margin: 6px 12px 12px;
+       padding: 6px 12px;
+       margin: 0 10px 8px 31px;
+       background-color: #f7f7f7;
+       background-color: rgba(0,0,0,0.03);
+}
+
+.plugin-update-tr .update-message:before {
+       color: #d54e21;
+       content: '\f463';
+       display: inline-block;
+       font: normal 20px/1 'dashicons';
+       speak: none;
+       margin: 0 8px 0 -2px;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       vertical-align: top;
+}
+
+.plugins .plugin-update {
+       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);
+}
+
+/* update notices for active plugins */
+tr.active + tr.plugin-update-tr .plugin-update {
+       background-color: #f7fcfe;
+}
+
+tr.active + tr.plugin-update-tr .plugin-update .update-message {
+       background-color: #fcf3ef;
+}
+
+.plugin-install-php h4 {
+       margin: 2.5em 0 8px;
+}
+
+/* ms */
+/* Background Color for Site Status */
+.wp-list-table .site-deleted {
+       background: #ff8573;
+}
+.wp-list-table .site-spammed {
+       background: #faafaa;
+}
+.wp-list-table .site-archived {
+       background: #ffebe8;
+}
+.wp-list-table .site-mature {
+       background: #fecac2;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+/**
+ * HiDPI Displays
+ */
+@media screen and ( max-width: 782px ) {
+       /* WP List Table Options & Filters */
+       .tablenav {
+               height: auto;
+       }
+
+       .tablenav.top {
+               margin: 0;
+       }
+
+       .tablenav.bottom {
+               position: relative;
+               margin-top: 15px;
+       }
+
+       .tablenav br {
+               display: none;
+       }
+
+       .tablenav br.clear {
+               display: block;
+       }
+
+       .tablenav.top .actions, .view-switch {
+               display: none;
+       }
+
+       /* Pagination */
+       .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 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, 0.05);
+       }
+
+       .tablenav-pages .pagination-links .current-page {
+               padding: 10px;
+               font-size: 14px;
+       }
+
+       /* WP List Table Adjustments: General */
+       .form-wrap > p {
+               display: none;
+       }
+
+       .comment-count {
+               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 {
+               display: none;
+       }
+
+       .fixed .column-comment .comment-author {
+               display: block;
+       }
+
+       /* Posts */
+       .column-title {
+               width: 85%;
+       }
+
+       .fixed .column-comments, .widefat .check-column {
+               width: 35px
+       }
+
+       .widefat thead .check-column, .widefat tfoot .check-column {
+               padding: 10px 0 10px;
+       }
+
+       .widefat * {
+               word-wrap: normal;
+       }
+
+       /* Quick Edit and Bulk Edit */
+       #wpbody-content .quick-edit-row-post .inline-edit-col-left,
+       #wpbody-content .quick-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 .bulk-edit-row-post .inline-edit-col-right,
+       #wpbody-content .bulk-edit-row .inline-edit-col-left,
+       #wpbody-content .bulk-edit-row-page .inline-edit-col-right,
+       #wpbody-content .bulk-edit-row .inline-edit-col-bottom {
+               float: none;
+               width: 100%;
+       }
+
+       #wpbody-content .quick-edit-row fieldset .inline-edit-col label,
+       #wpbody-content .quick-edit-row fieldset .inline-edit-group label,
+       #wpbody-content .bulk-edit-row fieldset .inline-edit-col label,
+       #wpbody-content .bulk-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 fieldset ul.cat-checklist label,
+       .inline-edit-row #bulk-titles div {
+               font-size: 16px;
+       }
+
+       .inline-edit-row fieldset label span.title {
+               float: none;
+       }
+
+       .inline-edit-row fieldset label.inline-edit-tags {
+               padding: 0 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=jj],
+       .inline-edit-row fieldset input[name=hh],
+       .inline-edit-row fieldset input[name=mn] {
+               width: 3em;
+       }
+
+       .inline-edit-row fieldset input[name=aa] {
+               width: 4.5em;
+       }
+
+       #bulk-titles div {
+               margin: 0.8em 0.3em;
+       }
+
+       #bulk-titles div a {
+               height: 22px;
+       }
+
+       /* Taxonomies */
+       .tags .column-posts {
+               width: 50px;
+       }
+
+       .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;
+       }
+
+       /* Links */
+       .link-manager-php #posts-filter {
+               margin-top: 25px;
+       }
+
+       .link-manager-php .tablenav.bottom {
+               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 {
+               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 {
+               display: block;
+               width: auto;
+       }
+
+       .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;
+       }
+
+       .wp-list-table.plugins .plugin-title,
+       .wp-list-table.plugins .theme-title {
+               padding-top: 13px;
+               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 {
+               -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, 0.1);
+               box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+       }
+
+       .plugins tr.active + tr.inactive th.check-column,
+       .plugins tr.active + tr.inactive td {
+               border-top: none;
+       }
+
+       .wp-list-table.plugins .column-description {
+               padding-top: 0;
+       }
+
+       .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;
+       }
+
+       .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 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;
+       }
+
+       .wp-list-table.plugins .plugin-title strong,
+       .wp-list-table.plugins .theme-title strong {
+               font-size: 1.4em;
+               line-height: 1.6em;
+       }
+
+       /* Add New plugins page */
+       table.plugin-install .column-name,
+       table.plugin-install .column-version,
+       table.plugin-install .column-rating,
+       table.plugin-install .column-description {
+               display: block;
+               width: auto;
+       }
+
+       table.plugin-install th.column-name,
+       table.plugin-install th.column-version,
+       table.plugin-install th.column-rating,
+       table.plugin-install th.column-description {
+               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,0.1);
+               box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
+       }
+}
diff --git a/wp-admin/css/login-rtl.css b/wp-admin/css/login-rtl.css
new file mode 100644 (file)
index 0000000..a3c7bed
--- /dev/null
@@ -0,0 +1,270 @@
+@import url(forms.css);
+@import url(l10n.css);
+
+html,
+body {
+       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: #0074a2;
+       -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 {
+       outline: 0;
+}
+
+a:hover,
+a:active {
+       color: #2ea2cc;
+}
+
+a:focus {
+       color: #124964;
+}
+
+a:focus,
+a:active {
+       outline: thin dotted;
+}
+
+p {
+       line-height: 1.5;
+}
+
+.login .message {
+       border-right: 4px solid #7ad03a;
+       padding: 1px 12px;
+       background-color: #fff;
+       -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);
+}
+
+.login #login_error {
+       border-right: 4px solid #dd3d36;
+       background: #fff;
+       -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);
+}
+
+#loginform p.submit,
+.login-action-lostpassword p.submit {
+       border: none;
+       margin: -10px 0 20px; /* May want to revisit this */
+}
+
+.login * {
+       margin: 0;
+       padding: 0;
+}
+
+.login form {
+       margin-top: 20px;
+       margin-right: 0;
+       padding: 26px 24px 46px;
+       font-weight: normal;
+       overflow: hidden;
+       background: #fff;
+       -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.13);
+       box-shadow: 0 1px 3px rgba(0,0,0,0.13);
+}
+
+.login form .forgetmenot {
+       font-weight: normal;
+       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: 80px 80px;
+       background-size: 80px 80px;
+       background-position: center top;
+       background-repeat: no-repeat;
+       color: #999;
+       height: 80px;
+       font-size: 20px;
+       font-weight: normal;
+       line-height: 1.3em;
+       margin: 0 auto 25px;
+       padding: 0;
+       text-decoration: none;
+       width: 80px;
+       text-indent: -9999px;
+       outline: none;
+       overflow: hidden;
+       display: block;
+}
+
+#login {
+       width: 320px;
+       padding: 8% 0 0;
+       margin: auto;
+}
+
+#login_error,
+.login .message {
+       margin-right: 0;
+       padding: 12px;
+}
+
+.login #nav,
+.login #backtoblog {
+       font-size: 13px;
+       padding: 0 24px 0;
+}
+
+.login #nav {
+       margin: 24px 0 0 0;
+}
+
+#backtoblog {
+       margin: 16px 0 0 0;
+}
+
+.login #nav a,
+.login #backtoblog a {
+       text-decoration: none;
+       color: #999;
+}
+
+.login #nav a:hover,
+.login #backtoblog a:hover,
+.login h1 a:hover {
+       color: #2ea2cc;
+}
+
+.login form .input,
+.login input[type="text"] {
+       font-size: 24px;
+       line-height: 1;
+       width: 100%;
+       padding: 3px;
+       margin: 2px 0 16px 6px;
+}
+
+.login form .input,
+.login input[type="text"],
+.login form input[type="checkbox"] {
+       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 form,
+.mobile #login .message,
+.mobile #login_error {
+       margin-right: 0;
+}
+
+.mobile #login #nav,
+.mobile #login #backtoblog {
+       margin-right: 8px;
+}
+
+.mobile #login h1 a {
+       width: auto;
+}
+
+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: normal 21px/1 'dashicons';
+               margin: -3px -4px 0 0;
+       }
+}
\ No newline at end of file
diff --git a/wp-admin/css/login-rtl.min.css b/wp-admin/css/login-rtl.min.css
new file mode 100644 (file)
index 0000000..29f4ae1
--- /dev/null
@@ -0,0 +1 @@
+input,input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #bbb;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-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-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:#888}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#2ea2cc}.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.disabled,input:disabled,textarea.disabled,textarea:disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}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}input.readonly,textarea.readonly{background-color:#ddd}@-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;padding:3px 5px;line-height:15px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],select,textarea{outline:0}.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[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],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:#333;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}select[disabled]{color:#7f7f7f}input[type=checkbox]:focus,input[type=email]: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=url]: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[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}.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:0}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:0;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:0;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{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-plugins input[name="s"],.search-box input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=text].ui-autocomplete-loading{background:transparent url(../images/loading.gif) no-repeat right center;visibility:visible}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete-input.open{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:1px solid #aaa;background-color:#efefef}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:left}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px;color:#444}.ui-autocomplete li a.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:#222;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}#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:0}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.pressthis{margin:20px 0}.pressthis a,.pressthis a:active,.pressthis a:focus,.pressthis a:hover{display:inline-block;position:relative;cursor:move;color:#333;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 a:active{outline:0}.pressthis a: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 a span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis a span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis a: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)}#local-time,#utc-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}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=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}.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}}@media only screen and (max-width:768px){.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@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}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-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:#0074a2;-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:#2ea2cc}a:focus{color:#124964}a:active,a:focus{outline:thin dotted}p{line-height:1.5}.login .message{border-right:4px solid #7ad03a;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:0;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:80px 80px;background-size:80px 80px;background-position:center top;background-repeat:no-repeat;color:#999;height:80px;font-size:20px;font-weight:400;line-height:1.3em;margin:0 auto 25px;padding:0;text-decoration:none;width:80px;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:#2ea2cc}.login form .input,.login input[type=text]{font-size:24px;line-height:1;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}.mobile #login h1 a{width:auto}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
diff --git a/wp-admin/css/login.css b/wp-admin/css/login.css
new file mode 100644 (file)
index 0000000..679e4e7
--- /dev/null
@@ -0,0 +1,270 @@
+@import url(forms.css);
+@import url(l10n.css);
+
+html,
+body {
+       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: #0074a2;
+       -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 {
+       outline: 0;
+}
+
+a:hover,
+a:active {
+       color: #2ea2cc;
+}
+
+a:focus {
+       color: #124964;
+}
+
+a:focus,
+a:active {
+       outline: thin dotted;
+}
+
+p {
+       line-height: 1.5;
+}
+
+.login .message {
+       border-left: 4px solid #7ad03a;
+       padding: 1px 12px;
+       background-color: #fff;
+       -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);
+}
+
+.login #login_error {
+       border-left: 4px solid #dd3d36;
+       background: #fff;
+       -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);
+}
+
+#loginform p.submit,
+.login-action-lostpassword p.submit {
+       border: none;
+       margin: -10px 0 20px; /* May want to revisit this */
+}
+
+.login * {
+       margin: 0;
+       padding: 0;
+}
+
+.login form {
+       margin-top: 20px;
+       margin-left: 0;
+       padding: 26px 24px 46px;
+       font-weight: normal;
+       overflow: hidden;
+       background: #fff;
+       -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.13);
+       box-shadow: 0 1px 3px rgba(0,0,0,0.13);
+}
+
+.login form .forgetmenot {
+       font-weight: normal;
+       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: 80px 80px;
+       background-size: 80px 80px;
+       background-position: center top;
+       background-repeat: no-repeat;
+       color: #999;
+       height: 80px;
+       font-size: 20px;
+       font-weight: normal;
+       line-height: 1.3em;
+       margin: 0 auto 25px;
+       padding: 0;
+       text-decoration: none;
+       width: 80px;
+       text-indent: -9999px;
+       outline: none;
+       overflow: hidden;
+       display: block;
+}
+
+#login {
+       width: 320px;
+       padding: 8% 0 0;
+       margin: auto;
+}
+
+#login_error,
+.login .message {
+       margin-left: 0;
+       padding: 12px;
+}
+
+.login #nav,
+.login #backtoblog {
+       font-size: 13px;
+       padding: 0 24px 0;
+}
+
+.login #nav {
+       margin: 24px 0 0 0;
+}
+
+#backtoblog {
+       margin: 16px 0 0 0;
+}
+
+.login #nav a,
+.login #backtoblog a {
+       text-decoration: none;
+       color: #999;
+}
+
+.login #nav a:hover,
+.login #backtoblog a:hover,
+.login h1 a:hover {
+       color: #2ea2cc;
+}
+
+.login form .input,
+.login input[type="text"] {
+       font-size: 24px;
+       line-height: 1;
+       width: 100%;
+       padding: 3px;
+       margin: 2px 6px 16px 0;
+}
+
+.login form .input,
+.login input[type="text"],
+.login form input[type="checkbox"] {
+       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 form,
+.mobile #login .message,
+.mobile #login_error {
+       margin-left: 0;
+}
+
+.mobile #login #nav,
+.mobile #login #backtoblog {
+       margin-left: 8px;
+}
+
+.mobile #login h1 a {
+       width: auto;
+}
+
+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: normal 21px/1 'dashicons';
+               margin: -3px 0 0 -4px;
+       }
+}
\ No newline at end of file
diff --git a/wp-admin/css/login.min.css b/wp-admin/css/login.min.css
new file mode 100644 (file)
index 0000000..374ab4c
--- /dev/null
@@ -0,0 +1 @@
+input,input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #bbb;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-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-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:#888}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#2ea2cc}.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.disabled,input:disabled,textarea.disabled,textarea:disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}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}input.readonly,textarea.readonly{background-color:#ddd}@-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;padding:3px 5px;line-height:15px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],select,textarea{outline:0}.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[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],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:#333;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}select[disabled]{color:#7f7f7f}input[type=checkbox]:focus,input[type=email]: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=url]: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[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}.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:0}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:0;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:0;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{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-plugins input[name="s"],.search-box input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=text].ui-autocomplete-loading{background:transparent url(../images/loading.gif) no-repeat right center;visibility:visible}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete-input.open{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:1px solid #aaa;background-color:#efefef}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:left}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px;color:#444}.ui-autocomplete li a.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:#222;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}#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:0}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.pressthis{margin:20px 0}.pressthis a,.pressthis a:active,.pressthis a:focus,.pressthis a:hover{display:inline-block;position:relative;cursor:move;color:#333;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 a:active{outline:0}.pressthis a: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 a span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis a span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis a: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)}#local-time,#utc-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}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=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}.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}}@media only screen and (max-width:768px){.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@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}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-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:#0074a2;-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:#2ea2cc}a:focus{color:#124964}a:active,a:focus{outline:thin dotted}p{line-height:1.5}.login .message{border-left:4px solid #7ad03a;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:0;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:80px 80px;background-size:80px 80px;background-position:center top;background-repeat:no-repeat;color:#999;height:80px;font-size:20px;font-weight:400;line-height:1.3em;margin:0 auto 25px;padding:0;text-decoration:none;width:80px;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:#2ea2cc}.login form .input,.login input[type=text]{font-size:24px;line-height:1;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}.mobile #login h1 a{width:auto}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 e56850cd9f4b090b380d639ec58929bad8aa660e..2ad628040e4fadb1f73f792c066da5b1d794241c 100644 (file)
-/* Styles for the media library iframe (not used on the Library screen) */
+/*------------------------------------------------------------------------------
+  14.0 - Media Screen
+------------------------------------------------------------------------------*/
 
-div#media-upload-header {
+.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: 0.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: 5px 5px 0;
-       font-weight: bold;
+       padding: 0 5px 0 0;
+}
+
+.media-item .edit-attachment,
+.describe-toggle-on,
+.describe-toggle-off {
+       display: block;
+       line-height: 36px;
+       float: left;
+}
+
+.media-item .describe-toggle-off,
+.media-item.open .describe-toggle-on {
+       display: none;
+}
+
+.media-item.open .describe-toggle-off {
+       display: block;
+}
+
+#media-items .media-item {
+       border-bottom: 1px solid #dfdfdf;
+       min-height: 36px;
        position: relative;
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
+       width: 100%;
 }
 
-body#media-upload ul#sidemenu {
-       font-weight: normal;
-       margin: 0 5px;
-       right: 0;
-       bottom: -1px;
-       float: none;
-       overflow: hidden;
+#media-items {
+       width: 623px;
 }
 
-#media-upload:after { /* clearfix */
-       content: "";
-       display: table;
-       clear: both;
+.media-new-php #media-items {
+       margin: 1em 0;
 }
 
-#media-upload,
-#media-upload .media-item .slidetoggle {
-       background: #fff;
+#media-items:empty {
+       border: 0 none;
 }
 
-#media-upload .slidetoggle {
-       border-top-color: #dfdfdf;
+.media-item .filename {
+       line-height: 36px;
+       overflow: hidden;
 }
 
-#media-upload input[type="radio"] {
-       padding: 0;
+.media-item .error-div {
+       padding-right: 10px;
 }
 
-form {
-       margin: 1em;
+.media-item .pinkynail {
+       float: right;
+       margin: 2px 0 0 10px;
+       max-width: 40px;
+       max-height: 32px;
 }
 
-#search-filter {
-       text-align: left;
+.media-item .startopen,
+.media-item .startclosed {
+       display: none;
 }
 
-th {
+.media-item .original {
        position: relative;
+       height: 34px;
 }
 
-.media-upload-form label.form-help, td.help {
-       font-family: sans-serif;
-       font-style: italic;
-       font-weight: normal;
+.media-item .progress {
+       float: left;
+       height: 22px;
+       margin: 7px 0 0;
+       width: 200px;
+       line-height: 2em;
+       padding: 0;
+       overflow: hidden;
+       margin-bottom: 2px;
+       -webkit-border-radius: 22px;
+       border-radius: 22px;
+       background: #ddd;
+       -webkit-box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
+       box-shadow: inset 0px 1px 2px rgba(0,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: #0074a2;
+       -webkit-box-shadow: inset 0 0 2px rgba(0,0,0,0.3);
+       box-shadow: inset 0 0 2px rgba(0,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: 0px 1px 2px rgba(0,0,0,0.2);
+}
+
+.upload-php .fixed .column-parent {
+       width: 15%;
 }
 
-.media-upload-form p.help {
+.js .html-uploader #plupload-upload-ui {
+       display: none;
+}
+
+.js .html-uploader #html-upload-ui {
+       display: block;
+}
+
+.media-upload-form .media-item.error {
        margin: 0;
        padding: 0;
 }
 
-.media-upload-form fieldset {
-       width: 100%;
-       border: none;
-       text-align: justify;
-       margin: 0 0 1em 0;
+.media-upload-form .media-item.error p,
+.media-item .error-div {
+       line-height: 16px;
+       margin: 5px 10px;
        padding: 0;
 }
 
-/* specific to the image upload form */
-
-.image-align-none-label {
-       background: url(../images/align-none.png) no-repeat center right;
+.media-item .error-div a.dismiss {
+       display: block;
+       float: left;
+       margin: 5px 15px 0 4px;
 }
 
-.image-align-left-label {
-       background: url(../images/align-left.png) no-repeat center right;
+/*------------------------------------------------------------------------------
+  14.1 - Media Library
+------------------------------------------------------------------------------*/
+
+.find-box {
+       background-color: #fff;
+       -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       box-shadow: 0 3px 6px rgba( 0, 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;
 }
 
-.image-align-center-label {
-       background: url(../images/align-center.png) no-repeat center right;
+.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;
 }
 
-.image-align-right-label {
-       background: url(../images/align-right.png) no-repeat center right;
+.find-box-search {
+       padding-bottom: 16px;
 }
 
-tr.image-size td {
-       width: 460px;
+.find-box-search .spinner {
+       float: none;
+       right: 125px;
+       position: absolute;
+       top: 18px;
 }
 
-tr.image-size div.image-size-item {
-       margin: 0 0 5px;
+#find-posts-input,
+#find-posts-search {
+       float: right;
 }
 
-#library-form .progress,
-#gallery-form .progress,
-.insert-gallery,
-.describe.startopen,
-.describe.startclosed {
-       display: none;
+#find-posts-input {
+       width: 140px;
+       height: 28px;
+       margin: 0 0 0 4px;
 }
 
-.media-item .thumbnail {
-       max-width: 128px;
-       max-height: 128px;
+.widefat .found-radio {
+       padding-left: 0;
+       width: 16px;
 }
 
-thead.media-item-info tr {
-       background-color: transparent;
+#find-posts-close {
+       width: 36px;
+       height: 36px;
+       position: absolute;
+       top: 0;
+       left: 0;
+       cursor: pointer;
+       text-align: center;
+       color: #666;
 }
 
-.form-table thead.media-item-info {
-       border: 8px solid #fff;
+#find-posts-close:hover {
+       color: #2ea2cc;
 }
 
-abbr.required {
-       text-decoration: none;
-       border: none;
+#find-posts-close:before {
+       font: normal 20px/36px 'dashicons';
+       vertical-align: top;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       content: '\f158';
 }
 
-.describe label {
-       display: inline;
+.find-box-buttons {
+       padding: 8px 16px;
+       background: #fcfcfc;
+       border-top: 1px solid #dfdfdf;
+       position: absolute;
+       bottom: 0;
+       right: 0;
+       left: 0;
 }
 
-.describe td.error {
-       padding: 2px 8px;
+@media screen and ( max-width: 782px ) {
+       .find-box-inside {
+               bottom: 57px;
+       }
 }
 
-.describe td.A1 {
-       width: 132px;
+@media screen and ( max-width: 660px ) {
+
+       .find-box {
+               top: 0;
+               bottom: 0;
+               right: 0;
+               left: 0;
+               margin: 0;
+               width: 100%;
+       }
+
 }
 
-.describe input[type="text"],
-.describe textarea {
-       width: 460px;
-       border-width: 1px;
-       border-style: solid;
+.ui-find-overlay {
+       position: fixed;
+       top: 0;
+       right: 0;
+       left: 0;
+       bottom: 0;
+       background: #000;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
+       z-index: 100100;
 }
 
-/* Specific to Uploader */
+ul#dismissed-updates {
+       display: none;
+}
 
-#media-upload p.ml-submit {
-       padding: 1em 0;
+form.upgrade {
+       margin-top: 8px;
 }
 
-#media-upload p.help,
-#media-upload label.help {
-       font-family: sans-serif;
+form.upgrade .hint {
        font-style: italic;
-       font-weight: normal;
+       font-size: 85%;
+       margin: -0.5em 0 2em 0;
 }
 
-#media-upload .ui-sortable .media-item {
-       cursor: move;
+#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;
 }
 
-#media-upload tr.image-size {
-       margin-bottom: 1em;
-       height: 3em;
+.drag-drop #drag-drop-area {
+       border: 4px dashed #bbb;
+       height: 200px;
 }
 
-#media-upload #filter {
-       width: 623px;
+.drag-drop .drag-drop-inside {
+       margin: 70px auto 0;
+       width: 250px;
 }
 
-#media-upload #filter .subsubsub {
-       margin: 8px 0;
+.drag-drop-inside p {
+       color: #aaa;
+       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-area:-moz-drag-over {
+       border-color: #83b4d8;
+}
+border color while dragging a file over the uploader drop area */
+.drag-drop.drag-over #drag-drop-area {
+       border-color: #83b4d8;
+}
+
+#plupload-upload-ui {
+       position: relative;
+}
+
+
+/*------------------------------------------------------------------------------
+  14.2 - Image Editor
+------------------------------------------------------------------------------*/
+
+.wp_attachment_details label[for="content"] {
+       font-size: 13px;
+       line-height: 1.5;
+       margin: 1em 0;
 }
 
-#filter .tablenav select {
-       border-style: solid;
-       border-width: 1px;
-       padding: 2px;
+.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;
 }
 
-#media-upload .del-attachment {
+.imgedit-wait {
+       position: absolute;
+       top: 0;
+       background: #fff url(../images/spinner.gif) no-repeat center;
+       -webkit-background-size: 20px 20px;
+       background-size: 20px 20px;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
+       width: 100%;
+       height: 500px;
        display: none;
-       margin: 5px 0;
 }
 
-.menu_order {
-       float: left;
-       font-size: 11px;
-       margin: 10px 10px 0;
+.no-float {
+       float: none;
 }
 
-.menu_order_input {
-       border: 1px solid #ddd;
-       font-size: 10px;
-       padding: 1px;
-       width: 23px;
+.media-disabled,
+.imgedit-settings .disabled  {
+       color: grey;
 }
 
-.ui-sortable-helper {
-       background-color: #fff;
-       border: 1px solid #aaa;
-       opacity: 0.6;
-       filter: alpha(opacity=60);
+.wp_attachment_image,
+.A1B1 {
+       overflow: hidden;
 }
 
-#media-upload th.order-head {
-       width: 20%;
-       text-align: center;
+.wp_attachment_image .button,
+.A1B1 .button {
+       float: right;
+}
+
+.no-js .wp_attachment_image .button {
+       display: none;
+}
+
+.wp_attachment_image .spinner,
+.A1B1 .spinner {
+       float: right;
+       padding: 0 0 4px 0;
+       vertical-align: bottom;
 }
 
-#media-upload th.actions-head {
-       width: 25%;
+.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;
 }
 
-#media-upload a.wp-post-thumbnail {
-       margin: 0 20px;
+.imgedit-menu div:before {
+       font: normal 20px/1 'dashicons';
+       speak: none;
+       vertical-align: middle;
 }
 
-#media-upload .widefat {
-       width: 626px;
-       border-style: solid solid none;
+.imgedit-menu div:hover {
+       border-color: #c1c1c1;
+       background-color: #eaeaea;
+       color: #333;
 }
 
-.sorthelper {
-       height: 37px;
-       width: 623px;
-       display: block;
+.imgedit-menu div.disabled {
+       border-color: #ccc;
+       background-color: #ddd;
+       color: #777;
+       filter: alpha(opacity=50);
+       opacity: 0.5;
+       cursor: default;
 }
 
-#gallery-settings th.label {
-       width: 160px;
+.imgedit-crop:before {
+       content:'\f165';
 }
 
-#gallery-settings #basic th.label {
-       padding: 5px 0 5px 5px;
+.imgedit-rleft:before {
+       content:'\f166';
 }
 
-#gallery-settings .title {
-       clear: both;
-       padding: 0 0 3px;
-       font-size: 1.6em;
-       border-bottom: 1px solid #DADADA;
+.imgedit-rright:before {
+       content:'\f167';
 }
 
-h3.media-title  {
-       font-size: 1.6em;
+.imgedit-flipv:before {
+       content:'\f168';
 }
 
-h4.media-sub-title  {
-       border-bottom: 1px solid #DADADA;
-       font-size: 1.3em;
-       margin: 12px;
-       padding: 0 0 3px;
+.imgedit-fliph:before {
+       content:'\f169';
 }
 
-#gallery-settings .title,
-h3.media-title,
-h4.media-sub-title {
-       font-family: Georgia,"Times New Roman",Times,serif;
-       font-weight: normal;
-       color: #5A5A5A;
+.imgedit-undo:before {
+       content:'\f171';
 }
 
-#gallery-settings .describe td {
-       vertical-align: middle;
-       height: 3em;
+.imgedit-redo:before {
+       content:'\f172';
 }
 
-#gallery-settings .describe th.label {
-       padding-top: .5em;
-       text-align: right;
+.imgedit-crop-wrap {
+       position: relative;
 }
 
-#gallery-settings .describe {
-       padding: 5px;
-       width: 615px;
-       clear: both;
-       cursor: default;
+.imgedit-crop {
+       margin: 0 0 0 8px;
 }
 
-#gallery-settings .describe select {
-       width: 15em;
+.imgedit-rleft {
+       margin: 0 3px;
 }
 
-#gallery-settings .describe select option,
-#gallery-settings .describe td {
-       padding: 0;
+.imgedit-rright {
+       margin: 0 3px 0 8px;
 }
 
-#gallery-settings label,
-#gallery-settings legend {
-       font-size: 13px;
-       color: #464646;
-       margin-left: 15px;
+.imgedit-flipv {
+       margin: 0 3px;
 }
 
-#gallery-settings .align .field label {
-       margin: 0 3px 0 1em;
+.imgedit-fliph {
+       margin: 0 3px 0 8px;
 }
 
-#gallery-settings p.ml-submit {
-       border-top: 1px solid #dfdfdf;
+.imgedit-undo {
+       margin: 0 3px;
 }
 
-#gallery-settings select#columns {
-       width: 6em;
+.imgedit-redo {
+       margin: 0 3px 0 8px;
 }
 
-#sort-buttons {
-       font-size: 0.8em;
-       margin: 3px 0 -8px 25px;
-       text-align: left;
-       max-width: 625px;
+.imgedit-applyto img {
+       margin: 0 0 0 8px;
 }
 
-#sort-buttons a {
-       text-decoration: none;
+.imgedit-group-top {
+       margin: 5px 0;
 }
 
-#sort-buttons #asc,
-#sort-buttons #showall {
-       padding-right: 5px;
+#poststuff .imgedit-group-top h3 {
+       padding: 0;
 }
 
-#sort-buttons span {
-       margin-left: 25px;
+.imgedit-group-top h3 a {
+       text-decoration: none;
 }
 
-p.media-types {
-       margin: 1em;
+.imgedit-applyto .imgedit-label {
+       padding: 2px 0 0;
+       display: block;
 }
 
-tr.not-image {
+.imgedit-help {
        display: none;
+       font-style: italic;
 }
 
-table.not-image tr.not-image {
-       display: table-row;
+a.imgedit-help-toggle {
+       text-decoration: none;
 }
 
-table.not-image tr.image-only {
-       display: 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%;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
 /**
  * HiDPI Displays
  */
@@ -349,24 +711,14 @@ table.not-image tr.image-only {
   (-o-min-device-pixel-ratio: 5/4),
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
-
-       .image-align-none-label {
-               background-image: url("../images/align-none-2x.png?ver=20120916");
-               background-size: 21px 15px;
-       }
-
-       .image-align-left-label {
-               background-image: url("../images/align-left-2x.png?ver=20120916");
-               background-size: 22px 15px;
-       }
-
-       .image-align-center-label {
-               background-image: url("../images/align-center-2x.png?ver=20120916");
-               background-size: 21px 15px;
+       .imgedit-wait {
+               background-image: url(../images/spinner-2x.gif);
        }
+}
 
-       .image-align-right-label {
-               background-image: url("../images/align-right-2x.png?ver=20120916");
-               background-size: 22px 15px;
+@media screen and ( max-width: 782px ) {
+       .wp_attachment_details label[for="content"] {
+               font-size: 14px;
+               line-height: 1.5em;
        }
 }
diff --git a/wp-admin/css/media-rtl.min.css b/wp-admin/css/media-rtl.min.css
deleted file mode 100644 (file)
index 8e9c8cc..0000000
+++ /dev/null
@@ -1 +0,0 @@
-div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom-width:1px;border-bottom-style:solid}body#media-upload ul#sidemenu{font-weight:400;margin:0 5px;right:0;bottom:-1px;float:none;overflow:hidden}#media-upload:after{content:"";display:table;clear:both}#media-upload,#media-upload .media-item .slidetoggle{background:#fff}#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:0;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) no-repeat center right}.image-align-left-label{background:url(../images/align-left.png) no-repeat center right}.image-align-center-label{background:url(../images/align-center.png) no-repeat center right}.image-align-right-label{background:url(../images/align-right.png) no-repeat center right}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#library-form .progress,#gallery-form .progress,.insert-gallery,.describe.startopen,.describe.startclosed{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:0}.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 p.help,#media-upload label.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:10px 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 #aaa;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{width:626px;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:615px;clear:both;cursor:default}#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{margin: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,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.image-align-none-label{background-image:url(../images/align-none-2x.png?ver=20120916);background-size:21px 15px}.image-align-left-label{background-image:url(../images/align-left-2x.png?ver=20120916);background-size:22px 15px}.image-align-center-label{background-image:url(../images/align-center-2x.png?ver=20120916);background-size:21px 15px}.image-align-right-label{background-image:url(../images/align-right-2x.png?ver=20120916);background-size:22px 15px}}
\ No newline at end of file
index 2bc118c79eb5172388755866ad6db1dbd02ae6d0..e6bbdcbb1600308b7136381f69e2540096fe360b 100644 (file)
-/* Styles for the media library iframe (not used on the Library screen) */
+/*------------------------------------------------------------------------------
+  14.0 - Media Screen
+------------------------------------------------------------------------------*/
 
-div#media-upload-header {
+.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: 0.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: 5px 5px 0;
-       font-weight: bold;
+       padding: 0 0 0 5px;
+}
+
+.media-item .edit-attachment,
+.describe-toggle-on,
+.describe-toggle-off {
+       display: block;
+       line-height: 36px;
+       float: right;
+}
+
+.media-item .describe-toggle-off,
+.media-item.open .describe-toggle-on {
+       display: none;
+}
+
+.media-item.open .describe-toggle-off {
+       display: block;
+}
+
+#media-items .media-item {
+       border-bottom: 1px solid #dfdfdf;
+       min-height: 36px;
        position: relative;
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
+       width: 100%;
 }
 
-body#media-upload ul#sidemenu {
-       font-weight: normal;
-       margin: 0 5px;
-       left: 0;
-       bottom: -1px;
-       float: none;
-       overflow: hidden;
+#media-items {
+       width: 623px;
 }
 
-#media-upload:after { /* clearfix */
-       content: "";
-       display: table;
-       clear: both;
+.media-new-php #media-items {
+       margin: 1em 0;
 }
 
-#media-upload,
-#media-upload .media-item .slidetoggle {
-       background: #fff;
+#media-items:empty {
+       border: 0 none;
 }
 
-#media-upload .slidetoggle {
-       border-top-color: #dfdfdf;
+.media-item .filename {
+       line-height: 36px;
+       overflow: hidden;
 }
 
-#media-upload input[type="radio"] {
-       padding: 0;
+.media-item .error-div {
+       padding-left: 10px;
 }
 
-form {
-       margin: 1em;
+.media-item .pinkynail {
+       float: left;
+       margin: 2px 10px 0 0;
+       max-width: 40px;
+       max-height: 32px;
 }
 
-#search-filter {
-       text-align: right;
+.media-item .startopen,
+.media-item .startclosed {
+       display: none;
 }
 
-th {
+.media-item .original {
        position: relative;
+       height: 34px;
 }
 
-.media-upload-form label.form-help, td.help {
-       font-family: sans-serif;
-       font-style: italic;
-       font-weight: normal;
+.media-item .progress {
+       float: right;
+       height: 22px;
+       margin: 7px 0 0;
+       width: 200px;
+       line-height: 2em;
+       padding: 0;
+       overflow: hidden;
+       margin-bottom: 2px;
+       -webkit-border-radius: 22px;
+       border-radius: 22px;
+       background: #ddd;
+       -webkit-box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
+       box-shadow: inset 0px 1px 2px rgba(0,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: #0074a2;
+       -webkit-box-shadow: inset 0 0 2px rgba(0,0,0,0.3);
+       box-shadow: inset 0 0 2px rgba(0,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: 0px 1px 2px rgba(0,0,0,0.2);
+}
+
+.upload-php .fixed .column-parent {
+       width: 15%;
 }
 
-.media-upload-form p.help {
+.js .html-uploader #plupload-upload-ui {
+       display: none;
+}
+
+.js .html-uploader #html-upload-ui {
+       display: block;
+}
+
+.media-upload-form .media-item.error {
        margin: 0;
        padding: 0;
 }
 
-.media-upload-form fieldset {
-       width: 100%;
-       border: none;
-       text-align: justify;
-       margin: 0 0 1em 0;
+.media-upload-form .media-item.error p,
+.media-item .error-div {
+       line-height: 16px;
+       margin: 5px 10px;
        padding: 0;
 }
 
-/* specific to the image upload form */
-
-.image-align-none-label {
-       background: url(../images/align-none.png) no-repeat center left;
+.media-item .error-div a.dismiss {
+       display: block;
+       float: right;
+       margin: 5px 4px 0 15px;
 }
 
-.image-align-left-label {
-       background: url(../images/align-left.png) no-repeat center left;
+/*------------------------------------------------------------------------------
+  14.1 - Media Library
+------------------------------------------------------------------------------*/
+
+.find-box {
+       background-color: #fff;
+       -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       box-shadow: 0 3px 6px rgba( 0, 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;
 }
 
-.image-align-center-label {
-       background: url(../images/align-center.png) no-repeat center left;
+.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;
 }
 
-.image-align-right-label {
-       background: url(../images/align-right.png) no-repeat center left;
+.find-box-search {
+       padding-bottom: 16px;
 }
 
-tr.image-size td {
-       width: 460px;
+.find-box-search .spinner {
+       float: none;
+       left: 125px;
+       position: absolute;
+       top: 18px;
 }
 
-tr.image-size div.image-size-item {
-       margin: 0 0 5px;
+#find-posts-input,
+#find-posts-search {
+       float: left;
 }
 
-#library-form .progress,
-#gallery-form .progress,
-.insert-gallery,
-.describe.startopen,
-.describe.startclosed {
-       display: none;
+#find-posts-input {
+       width: 140px;
+       height: 28px;
+       margin: 0 4px 0 0;
 }
 
-.media-item .thumbnail {
-       max-width: 128px;
-       max-height: 128px;
+.widefat .found-radio {
+       padding-right: 0;
+       width: 16px;
 }
 
-thead.media-item-info tr {
-       background-color: transparent;
+#find-posts-close {
+       width: 36px;
+       height: 36px;
+       position: absolute;
+       top: 0;
+       right: 0;
+       cursor: pointer;
+       text-align: center;
+       color: #666;
 }
 
-.form-table thead.media-item-info {
-       border: 8px solid #fff;
+#find-posts-close:hover {
+       color: #2ea2cc;
 }
 
-abbr.required {
-       text-decoration: none;
-       border: none;
+#find-posts-close:before {
+       font: normal 20px/36px 'dashicons';
+       vertical-align: top;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       content: '\f158';
 }
 
-.describe label {
-       display: inline;
+.find-box-buttons {
+       padding: 8px 16px;
+       background: #fcfcfc;
+       border-top: 1px solid #dfdfdf;
+       position: absolute;
+       bottom: 0;
+       left: 0;
+       right: 0;
 }
 
-.describe td.error {
-       padding: 2px 8px;
+@media screen and ( max-width: 782px ) {
+       .find-box-inside {
+               bottom: 57px;
+       }
 }
 
-.describe td.A1 {
-       width: 132px;
+@media screen and ( max-width: 660px ) {
+
+       .find-box {
+               top: 0;
+               bottom: 0;
+               left: 0;
+               right: 0;
+               margin: 0;
+               width: 100%;
+       }
+
 }
 
-.describe input[type="text"],
-.describe textarea {
-       width: 460px;
-       border-width: 1px;
-       border-style: solid;
+.ui-find-overlay {
+       position: fixed;
+       top: 0;
+       left: 0;
+       right: 0;
+       bottom: 0;
+       background: #000;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
+       z-index: 100100;
 }
 
-/* Specific to Uploader */
+ul#dismissed-updates {
+       display: none;
+}
 
-#media-upload p.ml-submit {
-       padding: 1em 0;
+form.upgrade {
+       margin-top: 8px;
 }
 
-#media-upload p.help,
-#media-upload label.help {
-       font-family: sans-serif;
+form.upgrade .hint {
        font-style: italic;
-       font-weight: normal;
+       font-size: 85%;
+       margin: -0.5em 0 2em 0;
 }
 
-#media-upload .ui-sortable .media-item {
-       cursor: move;
+#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;
 }
 
-#media-upload tr.image-size {
-       margin-bottom: 1em;
-       height: 3em;
+.drag-drop #drag-drop-area {
+       border: 4px dashed #bbb;
+       height: 200px;
 }
 
-#media-upload #filter {
-       width: 623px;
+.drag-drop .drag-drop-inside {
+       margin: 70px auto 0;
+       width: 250px;
 }
 
-#media-upload #filter .subsubsub {
-       margin: 8px 0;
+.drag-drop-inside p {
+       color: #aaa;
+       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-area:-moz-drag-over {
+       border-color: #83b4d8;
+}
+border color while dragging a file over the uploader drop area */
+.drag-drop.drag-over #drag-drop-area {
+       border-color: #83b4d8;
+}
+
+#plupload-upload-ui {
+       position: relative;
+}
+
+
+/*------------------------------------------------------------------------------
+  14.2 - Image Editor
+------------------------------------------------------------------------------*/
+
+.wp_attachment_details label[for="content"] {
+       font-size: 13px;
+       line-height: 1.5;
+       margin: 1em 0;
 }
 
-#filter .tablenav select {
-       border-style: solid;
-       border-width: 1px;
-       padding: 2px;
+.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;
 }
 
-#media-upload .del-attachment {
+.imgedit-wait {
+       position: absolute;
+       top: 0;
+       background: #fff url(../images/spinner.gif) no-repeat center;
+       -webkit-background-size: 20px 20px;
+       background-size: 20px 20px;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
+       width: 100%;
+       height: 500px;
        display: none;
-       margin: 5px 0;
 }
 
-.menu_order {
-       float: right;
-       font-size: 11px;
-       margin: 10px 10px 0;
+.no-float {
+       float: none;
 }
 
-.menu_order_input {
-       border: 1px solid #ddd;
-       font-size: 10px;
-       padding: 1px;
-       width: 23px;
+.media-disabled,
+.imgedit-settings .disabled  {
+       color: grey;
 }
 
-.ui-sortable-helper {
-       background-color: #fff;
-       border: 1px solid #aaa;
-       opacity: 0.6;
-       filter: alpha(opacity=60);
+.wp_attachment_image,
+.A1B1 {
+       overflow: hidden;
 }
 
-#media-upload th.order-head {
-       width: 20%;
-       text-align: center;
+.wp_attachment_image .button,
+.A1B1 .button {
+       float: left;
+}
+
+.no-js .wp_attachment_image .button {
+       display: none;
+}
+
+.wp_attachment_image .spinner,
+.A1B1 .spinner {
+       float: left;
+       padding: 0 0 4px 0;
+       vertical-align: bottom;
 }
 
-#media-upload th.actions-head {
-       width: 25%;
+.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;
 }
 
-#media-upload a.wp-post-thumbnail {
-       margin: 0 20px;
+.imgedit-menu div:before {
+       font: normal 20px/1 'dashicons';
+       speak: none;
+       vertical-align: middle;
 }
 
-#media-upload .widefat {
-       width: 626px;
-       border-style: solid solid none;
+.imgedit-menu div:hover {
+       border-color: #c1c1c1;
+       background-color: #eaeaea;
+       color: #333;
 }
 
-.sorthelper {
-       height: 37px;
-       width: 623px;
-       display: block;
+.imgedit-menu div.disabled {
+       border-color: #ccc;
+       background-color: #ddd;
+       color: #777;
+       filter: alpha(opacity=50);
+       opacity: 0.5;
+       cursor: default;
 }
 
-#gallery-settings th.label {
-       width: 160px;
+.imgedit-crop:before {
+       content:'\f165';
 }
 
-#gallery-settings #basic th.label {
-       padding: 5px 5px 5px 0;
+.imgedit-rleft:before {
+       content:'\f166';
 }
 
-#gallery-settings .title {
-       clear: both;
-       padding: 0 0 3px;
-       font-size: 1.6em;
-       border-bottom: 1px solid #DADADA;
+.imgedit-rright:before {
+       content:'\f167';
 }
 
-h3.media-title  {
-       font-size: 1.6em;
+.imgedit-flipv:before {
+       content:'\f168';
 }
 
-h4.media-sub-title  {
-       border-bottom: 1px solid #DADADA;
-       font-size: 1.3em;
-       margin: 12px;
-       padding: 0 0 3px;
+.imgedit-fliph:before {
+       content:'\f169';
 }
 
-#gallery-settings .title,
-h3.media-title,
-h4.media-sub-title {
-       font-family: Georgia,"Times New Roman",Times,serif;
-       font-weight: normal;
-       color: #5A5A5A;
+.imgedit-undo:before {
+       content:'\f171';
 }
 
-#gallery-settings .describe td {
-       vertical-align: middle;
-       height: 3em;
+.imgedit-redo:before {
+       content:'\f172';
 }
 
-#gallery-settings .describe th.label {
-       padding-top: .5em;
-       text-align: left;
+.imgedit-crop-wrap {
+       position: relative;
 }
 
-#gallery-settings .describe {
-       padding: 5px;
-       width: 615px;
-       clear: both;
-       cursor: default;
+.imgedit-crop {
+       margin: 0 8px 0 0;
 }
 
-#gallery-settings .describe select {
-       width: 15em;
+.imgedit-rleft {
+       margin: 0 3px;
 }
 
-#gallery-settings .describe select option,
-#gallery-settings .describe td {
-       padding: 0;
+.imgedit-rright {
+       margin: 0 8px 0 3px;
 }
 
-#gallery-settings label,
-#gallery-settings legend {
-       font-size: 13px;
-       color: #464646;
-       margin-right: 15px;
+.imgedit-flipv {
+       margin: 0 3px;
 }
 
-#gallery-settings .align .field label {
-       margin: 0 1em 0 3px;
+.imgedit-fliph {
+       margin: 0 8px 0 3px;
 }
 
-#gallery-settings p.ml-submit {
-       border-top: 1px solid #dfdfdf;
+.imgedit-undo {
+       margin: 0 3px;
 }
 
-#gallery-settings select#columns {
-       width: 6em;
+.imgedit-redo {
+       margin: 0 8px 0 3px;
 }
 
-#sort-buttons {
-       font-size: 0.8em;
-       margin: 3px 25px -8px 0;
-       text-align: right;
-       max-width: 625px;
+.imgedit-applyto img {
+       margin: 0 8px 0 0;
 }
 
-#sort-buttons a {
-       text-decoration: none;
+.imgedit-group-top {
+       margin: 5px 0;
 }
 
-#sort-buttons #asc,
-#sort-buttons #showall {
-       padding-left: 5px;
+#poststuff .imgedit-group-top h3 {
+       padding: 0;
 }
 
-#sort-buttons span {
-       margin-right: 25px;
+.imgedit-group-top h3 a {
+       text-decoration: none;
 }
 
-p.media-types {
-       margin: 1em;
+.imgedit-applyto .imgedit-label {
+       padding: 2px 0 0;
+       display: block;
 }
 
-tr.not-image {
+.imgedit-help {
        display: none;
+       font-style: italic;
 }
 
-table.not-image tr.not-image {
-       display: table-row;
+a.imgedit-help-toggle {
+       text-decoration: none;
 }
 
-table.not-image tr.image-only {
-       display: 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%;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
 /**
  * HiDPI Displays
  */
@@ -349,24 +711,14 @@ table.not-image tr.image-only {
   (-o-min-device-pixel-ratio: 5/4),
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
-
-       .image-align-none-label {
-               background-image: url("../images/align-none-2x.png?ver=20120916");
-               background-size: 21px 15px;
-       }
-
-       .image-align-left-label {
-               background-image: url("../images/align-left-2x.png?ver=20120916");
-               background-size: 22px 15px;
-       }
-
-       .image-align-center-label {
-               background-image: url("../images/align-center-2x.png?ver=20120916");
-               background-size: 21px 15px;
+       .imgedit-wait {
+               background-image: url(../images/spinner-2x.gif);
        }
+}
 
-       .image-align-right-label {
-               background-image: url("../images/align-right-2x.png?ver=20120916");
-               background-size: 22px 15px;
+@media screen and ( max-width: 782px ) {
+       .wp_attachment_details label[for="content"] {
+               font-size: 14px;
+               line-height: 1.5em;
        }
 }
diff --git a/wp-admin/css/media.min.css b/wp-admin/css/media.min.css
deleted file mode 100644 (file)
index 83b3219..0000000
+++ /dev/null
@@ -1 +0,0 @@
-div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom-width:1px;border-bottom-style:solid}body#media-upload ul#sidemenu{font-weight:400;margin:0 5px;left:0;bottom:-1px;float:none;overflow:hidden}#media-upload:after{content:"";display:table;clear:both}#media-upload,#media-upload .media-item .slidetoggle{background:#fff}#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:0;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) no-repeat center left}.image-align-left-label{background:url(../images/align-left.png) no-repeat center left}.image-align-center-label{background:url(../images/align-center.png) no-repeat center left}.image-align-right-label{background:url(../images/align-right.png) no-repeat center left}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#library-form .progress,#gallery-form .progress,.insert-gallery,.describe.startopen,.describe.startclosed{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:0}.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 p.help,#media-upload label.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:10px 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 #aaa;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{width:626px;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:615px;clear:both;cursor:default}#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{margin: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,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.image-align-none-label{background-image:url(../images/align-none-2x.png?ver=20120916);background-size:21px 15px}.image-align-left-label{background-image:url(../images/align-left-2x.png?ver=20120916);background-size:22px 15px}.image-align-center-label{background-image:url(../images/align-center-2x.png?ver=20120916);background-size:21px 15px}.image-align-right-label{background-image:url(../images/align-right-2x.png?ver=20120916);background-size:22px 15px}}
\ No newline at end of file
diff --git a/wp-admin/css/nav-menus-rtl.css b/wp-admin/css/nav-menus-rtl.css
new file mode 100644 (file)
index 0000000..82c91e9
--- /dev/null
@@ -0,0 +1,853 @@
+/* nav-menu */
+
+/* @todo: determine if this is truly for nav menus only */
+.no-js #message {
+       display: block;
+}
+
+ul.add-menu-item-tabs li {
+       padding: 3px 8px 3px 5px;
+}
+
+.accordion-section ul.category-tabs,
+.accordion-section ul.add-menu-item-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 .postbox,
+.metabox-holder-disabled .accordion-section-content,
+.metabox-holder-disabled .accordion-section-title {
+       opacity: 0.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: normal;
+       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 p {
+       margin: .3em 0 .6em;
+}
+
+.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 Container */
+#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-header,
+#nav-menu-footer {
+       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.updated,
+.nav-menus-php #post-body div.error {
+       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 10px;
+       margin-bottom: 5px;
+}
+
+#select-nav-menu {
+       width: 100px;
+       display: inline;
+}
+
+#menu-name-label {
+       margin-top: -2px;
+}
+
+.widefat td.menu-location-menus {
+       padding-bottom: 5px;
+}
+
+.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-edit-menu-link,
+.locations-add-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: #aaa;
+       font-style: italic;
+}
+
+#menu-management .inside {
+       padding: 0 10px;
+}
+
+/* Add Menu Item Boxes */
+.postbox .howto input,
+.accordion-container .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;
+}
+
+/* Button Primary Actions */
+#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 .submitdelete,
+.nav-menus-php .submitcancel {
+       display: block;
+       float: right;
+       margin: 6px 0;
+       line-height: 15px;
+}
+
+.meta-sep {
+       padding: 0 2px;
+}
+
+/* @todo: is this actually used? */
+#cancel-save {
+       text-decoration: underline;
+       font-size: 12px;
+       margin-right: 20px;
+       margin-top: 5px;
+}
+
+.button.right, .button-secondary.right, .button-primary.right {
+       float: left;
+}
+
+/* Button Secondary Actions */
+.list-controls {
+       float: right;
+       margin-top: 5px;
+}
+
+.add-to-menu {
+       float: left;
+}
+
+.postbox .spinner {
+       display: none;
+       vertical-align: middle;
+}
+
+.button-controls {
+       clear:both;
+       margin: 10px 0;
+}
+
+.show-all,
+.hide-all {
+       cursor: pointer;
+}
+
+.hide-all {
+       display: none;
+}
+
+/* Create Menu */
+#menu-name {
+       width: 270px;
+}
+
+#manage-menu .inside {
+       padding: 0px 0px;
+}
+
+/* Custom Links */
+#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;
+}
+
+/* Menu item types */
+.quick-search {
+       width: 190px;
+}
+
+.nav-menus-php .list-wrap {
+       display: none;
+       clear: both;
+       margin-bottom: 10px;
+}
+
+.nav-menus-php .postbox p.submit {
+       margin-bottom: 0;
+}
+
+/* Listings */
+.nav-menus-php .list li {
+       display: none;
+       margin: 0;
+       margin-bottom: 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;
+}
+
+/* Nav Menu */
+#menu-container .inside {
+       padding-bottom: 10px;
+}
+
+.menu {
+       padding-top:1em;
+}
+
+#menu-to-edit {
+       margin: 0;
+       padding: 0.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;
+       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;
+}
+
+/* Sortables */
+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;
+}
+
+/* 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; }
+.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: 0px; }
+.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; }
+
+/* Menu item controls */
+.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: none;
+       overflow: hidden;
+       white-space: nowrap;
+}
+
+/* Menu editing */
+.menu-instructions-inactive {
+       display: none;
+}
+
+.menu-item-settings {
+       display: block;
+       width: 402px;
+       padding: 10px 10px 10px 0;
+       position: relative;
+       z-index: 10; /* Keep .item-title's shadow from appearing on top of .menu-item-settings */
+       border: 1px solid #e5e5e5;
+       border-top: none;
+       -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       box-shadow: 0 1px 1px rgba(0,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;
+       height: 40px;
+}
+
+.description-wide {
+       width: 390px;
+}
+
+.menu-item-actions {
+       padding-top: 15px;
+}
+
+#cancel-save {
+       cursor: pointer;
+}
+
+/* Major/minor publishing actions (classes) */
+.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 #0074a2;
+       padding: 1px 2px;
+       color: #0074a2;
+       text-decoration: none;
+}
+
+.nav-menus-php .submitbox .submitcancel:hover {
+       background: #0074a2;
+       color: #fff;
+}
+
+.nav-menus-php .major-publishing-actions .form-invalid {
+       padding-right: 4px;
+       margin-right: -4px;
+}
+
+/* Clearfix */
+#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;
+}
+
+#nav-menus-frame,
+.button-controls,
+#menu-item-url-wrap,
+#menu-item-name-wrap {
+       display: block;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+@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;
+       }
+
+       .menu-item-bar .menu-item-handle,
+       .menu-item-settings,
+       .description-wide {
+               width: auto;
+       }
+
+       .menu-item-settings {
+               padding: 10px;
+       }
+
+       .menu-item-settings .description-thin,
+       .menu-item-settings .description-wide {
+               width: 100%;
+               height: auto;
+       }
+
+       .menu-item-settings input {
+               width: 100%;
+       }
+
+       .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 */
+       #menu-locations-wrap .widefat {
+               width: 100%;
+       }
+}
diff --git a/wp-admin/css/nav-menus.css b/wp-admin/css/nav-menus.css
new file mode 100644 (file)
index 0000000..6466d94
--- /dev/null
@@ -0,0 +1,853 @@
+/* nav-menu */
+
+/* @todo: determine if this is truly for nav menus only */
+.no-js #message {
+       display: block;
+}
+
+ul.add-menu-item-tabs li {
+       padding: 3px 5px 3px 8px;
+}
+
+.accordion-section ul.category-tabs,
+.accordion-section ul.add-menu-item-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 .postbox,
+.metabox-holder-disabled .accordion-section-content,
+.metabox-holder-disabled .accordion-section-title {
+       opacity: 0.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: normal;
+       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 p {
+       margin: .3em 0 .6em;
+}
+
+.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 Container */
+#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-header,
+#nav-menu-footer {
+       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.updated,
+.nav-menus-php #post-body div.error {
+       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 10px;
+       margin-bottom: 5px;
+}
+
+#select-nav-menu {
+       width: 100px;
+       display: inline;
+}
+
+#menu-name-label {
+       margin-top: -2px;
+}
+
+.widefat td.menu-location-menus {
+       padding-bottom: 5px;
+}
+
+.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-edit-menu-link,
+.locations-add-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: #aaa;
+       font-style: italic;
+}
+
+#menu-management .inside {
+       padding: 0 10px;
+}
+
+/* Add Menu Item Boxes */
+.postbox .howto input,
+.accordion-container .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;
+}
+
+/* Button Primary Actions */
+#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 .submitdelete,
+.nav-menus-php .submitcancel {
+       display: block;
+       float: left;
+       margin: 6px 0;
+       line-height: 15px;
+}
+
+.meta-sep {
+       padding: 0 2px;
+}
+
+/* @todo: is this actually used? */
+#cancel-save {
+       text-decoration: underline;
+       font-size: 12px;
+       margin-left: 20px;
+       margin-top: 5px;
+}
+
+.button.right, .button-secondary.right, .button-primary.right {
+       float: right;
+}
+
+/* Button Secondary Actions */
+.list-controls {
+       float: left;
+       margin-top: 5px;
+}
+
+.add-to-menu {
+       float: right;
+}
+
+.postbox .spinner {
+       display: none;
+       vertical-align: middle;
+}
+
+.button-controls {
+       clear:both;
+       margin: 10px 0;
+}
+
+.show-all,
+.hide-all {
+       cursor: pointer;
+}
+
+.hide-all {
+       display: none;
+}
+
+/* Create Menu */
+#menu-name {
+       width: 270px;
+}
+
+#manage-menu .inside {
+       padding: 0px 0px;
+}
+
+/* Custom Links */
+#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;
+}
+
+/* Menu item types */
+.quick-search {
+       width: 190px;
+}
+
+.nav-menus-php .list-wrap {
+       display: none;
+       clear: both;
+       margin-bottom: 10px;
+}
+
+.nav-menus-php .postbox p.submit {
+       margin-bottom: 0;
+}
+
+/* Listings */
+.nav-menus-php .list li {
+       display: none;
+       margin: 0;
+       margin-bottom: 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;
+}
+
+/* Nav Menu */
+#menu-container .inside {
+       padding-bottom: 10px;
+}
+
+.menu {
+       padding-top:1em;
+}
+
+#menu-to-edit {
+       margin: 0;
+       padding: 0.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;
+       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;
+}
+
+/* Sortables */
+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;
+}
+
+/* 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; }
+.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: 0px; }
+.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; }
+
+/* Menu item controls */
+.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: none;
+       overflow: hidden;
+       white-space: nowrap;
+}
+
+/* Menu editing */
+.menu-instructions-inactive {
+       display: none;
+}
+
+.menu-item-settings {
+       display: block;
+       width: 402px;
+       padding: 10px 0 10px 10px;
+       position: relative;
+       z-index: 10; /* Keep .item-title's shadow from appearing on top of .menu-item-settings */
+       border: 1px solid #e5e5e5;
+       border-top: none;
+       -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       box-shadow: 0 1px 1px rgba(0,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;
+       height: 40px;
+}
+
+.description-wide {
+       width: 390px;
+}
+
+.menu-item-actions {
+       padding-top: 15px;
+}
+
+#cancel-save {
+       cursor: pointer;
+}
+
+/* Major/minor publishing actions (classes) */
+.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 #0074a2;
+       padding: 1px 2px;
+       color: #0074a2;
+       text-decoration: none;
+}
+
+.nav-menus-php .submitbox .submitcancel:hover {
+       background: #0074a2;
+       color: #fff;
+}
+
+.nav-menus-php .major-publishing-actions .form-invalid {
+       padding-left: 4px;
+       margin-left: -4px;
+}
+
+/* Clearfix */
+#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;
+}
+
+#nav-menus-frame,
+.button-controls,
+#menu-item-url-wrap,
+#menu-item-name-wrap {
+       display: block;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+@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;
+       }
+
+       .menu-item-bar .menu-item-handle,
+       .menu-item-settings,
+       .description-wide {
+               width: auto;
+       }
+
+       .menu-item-settings {
+               padding: 10px;
+       }
+
+       .menu-item-settings .description-thin,
+       .menu-item-settings .description-wide {
+               width: 100%;
+               height: auto;
+       }
+
+       .menu-item-settings input {
+               width: 100%;
+       }
+
+       .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 */
+       #menu-locations-wrap .widefat {
+               width: 100%;
+       }
+}
diff --git a/wp-admin/css/press-this-rtl.css b/wp-admin/css/press-this-rtl.css
new file mode 100644 (file)
index 0000000..4773ba4
--- /dev/null
@@ -0,0 +1,458 @@
+.press-this #message {
+       border-right: 4px solid #7ad03a;
+       padding: 1px 12px;
+       background-color: #fff;
+       -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);
+}
+
+.press-this #side-sortables .category-tabs li {
+       display: inline;
+       line-height: 1.35em;
+}
+
+body.press-this ul.category-tabs li.tabs a {
+       color: #333;
+}
+
+.press-this #content-resize-handle {
+       bottom: 2px;
+}
+
+body.press-this {
+       color: #333;
+       margin: 0;
+       padding: 0;
+       min-width: 708px;
+       min-height: 400px;
+}
+
+.press-this #titlediv #title {
+       font-size: 1.4em;
+}
+
+.press-this #site-heading:before {
+    top: 3px;
+    position: relative;
+    display: inline-block;
+    font: normal 18px/1 'dashicons';
+    speak: none;
+    color: #727272;
+    content: '\f120';
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+}
+
+.press-this #wphead {
+       height: 32px;
+       margin-right: 0;
+       margin-left: 0;
+       margin-bottom: 5px;
+}
+
+.press-this #header-logo {
+       float: right;
+       margin: 7px 7px 0;
+       -webkit-user-select: none;
+       -moz-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
+}
+
+.press-this #wphead h1 {
+       font-weight: normal;
+       font-size: 16px;
+       line-height: 32px;
+       margin: 0;
+       float: right;
+}
+
+.press-this #wphead h1 a {
+       text-decoration: none;
+}
+
+.press-this #wphead h1 a:hover {
+       text-decoration: underline;
+}
+
+.press-this #message {
+       margin: 10px 0;
+}
+
+.press-this .posting {
+       margin-left: 250px;
+}
+
+.press-this-sidebar {
+       float: left;
+       width: 240px;
+       padding-top: 10px;
+}
+
+.press-this #title {
+       margin-right: 0;
+       margin-left: 0;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+.press-this .tagchecklist {
+       margin-top: 8px;
+}
+
+.press-this #titlediv {
+       margin: 0;
+}
+
+.press-this #wp-content-wrap #wp-content-editor-tools {
+       padding: 0;
+       top: 3px;
+       overflow: hidden;
+}
+
+.press-this .wp-media-buttons {
+       cursor: default;
+       padding: 8px 8px 6px;
+}
+
+.press-this #wp-content-wrap #wp-content-media-buttons a {
+       padding: 0;
+       line-height: normal;
+       height: auto;
+       font-size: 16px;
+}
+
+.press-this #wp-content-wrap .mce-toolbar .mce-btn-group .mce-btn {
+       margin: 0 1px;
+}
+
+.press-this #wp-content-wrap .mce-toolbar .mce-btn button {
+       padding: 2px 3px;
+}
+
+.press-this #wp-content-wrap div.mce-toolbar-grp,
+.press-this #wp-content-wrap .quicktags-toolbar {
+       padding-left: 3px;
+}
+
+.press-this .howto {
+       margin-top: 2px;
+       margin-bottom: 3px;
+       font-size: 12px;
+       font-style: italic;
+       display: block;
+}
+
+.press-this #wp-content-editor-container {
+       clear: none;
+}
+
+.press-this #poststuff .inside {
+       margin-top: 18px;
+}
+
+.press-this .category-tabs {
+       margin-bottom: 3px;
+}
+
+/* Editor/Main Column */
+.press-this #poststuff {
+       margin: 0 8px;
+       padding: 0;
+}
+
+.press-this #photo-add-url-div input[type="text"] {
+       width: 220px;
+}
+
+#poststuff #editor-toolbar {
+       height: 30px;
+}
+
+.posting {
+       margin-left: 212px;
+       position: relative;
+}
+
+.press-this .inner-sidebar {
+       width: 200px;
+}
+
+.press-this .inner-sidebar .sleeve {
+       padding-top: 5px;
+}
+
+.press-this #submitdiv p {
+       margin: 0;
+       padding: 6px;
+}
+
+.press-this #submitdiv #publishing-actions {
+       border-bottom: 1px solid #dfdfdf;
+}
+
+.press-this #publish {
+       float: left;
+}
+
+.press-this #poststuff h2,
+.press-this #poststuff h3 {
+       font-size: 14px;
+       line-height: 1;
+}
+
+.press-this #tagsdiv-post_tag h3,
+.press-this #categorydiv h3 {
+       cursor: pointer;
+}
+
+.press-this #submitdiv h3 {
+       cursor: default;
+}
+
+h3.tb {
+       font-weight: 600;
+       font-size: 12px;
+       margin-right: 5px;
+}
+
+.press-this .postbox,
+.press-this .stuffbox {
+       margin-bottom: 10px;
+       min-width: 0;
+}
+
+.press-this #submitdiv:hover .handlediv {
+       background: none;
+}
+
+.tbtitle {
+       font-size: 1.7em;
+       outline: none;
+       padding: 3px 4px;
+       border: 1px solid #dfdfdf;
+}
+
+.press-this .actions {
+       float: left;
+       margin: -19px 0 0;
+}
+
+.press-this #extra-fields .actions {
+       margin: -32px 0 0 -7px;
+}
+
+.press-this .actions li {
+       float: right;
+       list-style: none;
+       margin-left: 10px;
+}
+
+#extra-fields .button {
+       margin-left: 5px;
+}
+
+/* Photo Styles */
+#photo_saving {
+       margin: 0 8px 8px;
+       vertical-align: middle;
+}
+
+#img_container_container {
+       overflow: auto;
+}
+
+#extra-fields {
+       margin-top: 10px;
+       position: relative;
+}
+
+#extra-fields h2 {
+       margin: 12px;
+}
+
+#waiting {
+       margin-top: 10px;
+       overflow: hidden;
+}
+
+#waiting span {
+       float: left;
+       margin: 0 5px 0 0;
+}
+
+#waiting .spinner {
+       display: block;
+}
+
+#extra-fields .postbox {
+       margin-bottom: 5px;
+}
+
+#extra-fields .titlewrap {
+       padding: 0;
+       overflow: auto;
+       height: 120px;
+}
+
+#img_container a {
+       display: block;
+       float: right;
+       overflow: hidden;
+}
+
+#img_container img,
+#img_container a {
+       width: 68px;
+       height: 68px;
+}
+
+#img_container img {
+       border: none;
+       background-color: #f4f4f4;
+       cursor: pointer;
+}
+
+#img_container a,
+#img_container a:link,
+#img_container a:visited {
+       border: 1px solid #ccc;
+       display: block;
+       position: relative;
+}
+
+#img_container a:hover,
+#img_container a:active {
+       border-color: #000;
+       z-index: 1000;
+       border-width: 1px;
+}
+
+/* Video */
+#embed-code {
+       width: 100%;
+       height: 98px;
+}
+
+/* Categories */
+.press-this .categorydiv div.tabs-panel {
+       height: 100px;
+}
+
+/* Tags */
+.press-this .tagsdiv .newtag {
+       width: 120px;
+}
+
+.press-this #content {
+       margin: 5px 0;
+       padding: 0 5px;
+       border: 0 none;
+       height: 340px;
+       font-family: Consolas, Monaco, monospace;
+       font-size: 13px;
+       line-height: 19px;
+       background: transparent;
+}
+
+/* Submit */
+.press-this #publishing-actions .spinner {
+       display: inline;
+       vertical-align: middle;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+/* Reset responsive styles in Press This */
+@media screen and ( max-width: 782px ) {
+       .press-this ul.category-tabs li.tabs {
+               padding: 3px 5px 5px; /* Reset tabs in Press This to standard size */
+       }
+
+       .press-this a.wp-switch-editor {
+               font: 13px/19px "Open Sans", sans-serif;
+               margin: 5px 5px 0 0;
+               padding: 3px 8px 4px;
+       }
+
+       .press-this #wp-content-media-buttons a {
+               padding: 0;
+               line-height: normal;
+               height: auto;
+       }
+
+       .press-this #wp-content-editor-tools {
+               padding: 0;
+               top: 3px;
+       }
+
+       .press-this .category-tabs {
+               margin-top: 0;
+       }
+
+       .press-this .tagsdiv .newtag {
+               width: 120px;
+               padding: 3px 5px;
+               margin-bottom: 0;
+       }
+
+       .press-this .tagchecklist {
+               padding: 0;
+               margin-bottom: 0;
+       }
+
+       .press-this .wp_themeSkin a.mceButton {
+               width: 20px;
+               height: 20px;
+       }
+
+       .press-this .wp_themeSkin .mceButton .mceIcon {
+               margin: 0;
+       }
+
+       .press-this #poststuff h3,
+       .press-this .metabox-holder h3 {
+               padding: 7px 12px;
+       }
+
+       .press-this input[type=checkbox],
+       .press-this input[type=radio] {
+               height: 16px;
+               width: 16px;
+       }
+
+       .press-this input[type=checkbox]:checked:before {
+               width: 16px;
+               font: normal 21px/1 'dashicons';
+               margin: -3px -4px 0 0;
+       }
+
+       .press-this input[type=radio]:checked:before {
+               font: normal 21px/1 'dashicons';
+               width: 6px;
+               height: 6px;
+               margin: 4px;
+       }
+
+       .press-this ul.categorychecklist ul,
+       .press-this ul.categorychecklist li {
+               margin-top: 0;
+               margin-bottom: 0;
+       }
+
+       .press-this div.quicktags-toolbar input {
+               padding: 2px 4px;
+       }
+
+       .press-this textarea,
+       .press-this input {
+               font-size: 14px;
+       }
+
+       .press-this .tagchecklist span {
+               font-size: 13px;
+               line-height: 1.8em;
+       }
+}
diff --git a/wp-admin/css/press-this.css b/wp-admin/css/press-this.css
new file mode 100644 (file)
index 0000000..dbf355a
--- /dev/null
@@ -0,0 +1,458 @@
+.press-this #message {
+       border-left: 4px solid #7ad03a;
+       padding: 1px 12px;
+       background-color: #fff;
+       -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);
+}
+
+.press-this #side-sortables .category-tabs li {
+       display: inline;
+       line-height: 1.35em;
+}
+
+body.press-this ul.category-tabs li.tabs a {
+       color: #333;
+}
+
+.press-this #content-resize-handle {
+       bottom: 2px;
+}
+
+body.press-this {
+       color: #333;
+       margin: 0;
+       padding: 0;
+       min-width: 708px;
+       min-height: 400px;
+}
+
+.press-this #titlediv #title {
+       font-size: 1.4em;
+}
+
+.press-this #site-heading:before {
+    top: 3px;
+    position: relative;
+    display: inline-block;
+    font: normal 18px/1 'dashicons';
+    speak: none;
+    color: #727272;
+    content: '\f120';
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+}
+
+.press-this #wphead {
+       height: 32px;
+       margin-left: 0;
+       margin-right: 0;
+       margin-bottom: 5px;
+}
+
+.press-this #header-logo {
+       float: left;
+       margin: 7px 7px 0;
+       -webkit-user-select: none;
+       -moz-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
+}
+
+.press-this #wphead h1 {
+       font-weight: normal;
+       font-size: 16px;
+       line-height: 32px;
+       margin: 0;
+       float: left;
+}
+
+.press-this #wphead h1 a {
+       text-decoration: none;
+}
+
+.press-this #wphead h1 a:hover {
+       text-decoration: underline;
+}
+
+.press-this #message {
+       margin: 10px 0;
+}
+
+.press-this .posting {
+       margin-right: 250px;
+}
+
+.press-this-sidebar {
+       float: right;
+       width: 240px;
+       padding-top: 10px;
+}
+
+.press-this #title {
+       margin-left: 0;
+       margin-right: 0;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+.press-this .tagchecklist {
+       margin-top: 8px;
+}
+
+.press-this #titlediv {
+       margin: 0;
+}
+
+.press-this #wp-content-wrap #wp-content-editor-tools {
+       padding: 0;
+       top: 3px;
+       overflow: hidden;
+}
+
+.press-this .wp-media-buttons {
+       cursor: default;
+       padding: 8px 8px 6px;
+}
+
+.press-this #wp-content-wrap #wp-content-media-buttons a {
+       padding: 0;
+       line-height: normal;
+       height: auto;
+       font-size: 16px;
+}
+
+.press-this #wp-content-wrap .mce-toolbar .mce-btn-group .mce-btn {
+       margin: 0 1px;
+}
+
+.press-this #wp-content-wrap .mce-toolbar .mce-btn button {
+       padding: 2px 3px;
+}
+
+.press-this #wp-content-wrap div.mce-toolbar-grp,
+.press-this #wp-content-wrap .quicktags-toolbar {
+       padding-right: 3px;
+}
+
+.press-this .howto {
+       margin-top: 2px;
+       margin-bottom: 3px;
+       font-size: 12px;
+       font-style: italic;
+       display: block;
+}
+
+.press-this #wp-content-editor-container {
+       clear: none;
+}
+
+.press-this #poststuff .inside {
+       margin-top: 18px;
+}
+
+.press-this .category-tabs {
+       margin-bottom: 3px;
+}
+
+/* Editor/Main Column */
+.press-this #poststuff {
+       margin: 0 8px;
+       padding: 0;
+}
+
+.press-this #photo-add-url-div input[type="text"] {
+       width: 220px;
+}
+
+#poststuff #editor-toolbar {
+       height: 30px;
+}
+
+.posting {
+       margin-right: 212px;
+       position: relative;
+}
+
+.press-this .inner-sidebar {
+       width: 200px;
+}
+
+.press-this .inner-sidebar .sleeve {
+       padding-top: 5px;
+}
+
+.press-this #submitdiv p {
+       margin: 0;
+       padding: 6px;
+}
+
+.press-this #submitdiv #publishing-actions {
+       border-bottom: 1px solid #dfdfdf;
+}
+
+.press-this #publish {
+       float: right;
+}
+
+.press-this #poststuff h2,
+.press-this #poststuff h3 {
+       font-size: 14px;
+       line-height: 1;
+}
+
+.press-this #tagsdiv-post_tag h3,
+.press-this #categorydiv h3 {
+       cursor: pointer;
+}
+
+.press-this #submitdiv h3 {
+       cursor: default;
+}
+
+h3.tb {
+       font-weight: 600;
+       font-size: 12px;
+       margin-left: 5px;
+}
+
+.press-this .postbox,
+.press-this .stuffbox {
+       margin-bottom: 10px;
+       min-width: 0;
+}
+
+.press-this #submitdiv:hover .handlediv {
+       background: none;
+}
+
+.tbtitle {
+       font-size: 1.7em;
+       outline: none;
+       padding: 3px 4px;
+       border: 1px solid #dfdfdf;
+}
+
+.press-this .actions {
+       float: right;
+       margin: -19px 0 0;
+}
+
+.press-this #extra-fields .actions {
+       margin: -32px -7px 0 0;
+}
+
+.press-this .actions li {
+       float: left;
+       list-style: none;
+       margin-right: 10px;
+}
+
+#extra-fields .button {
+       margin-right: 5px;
+}
+
+/* Photo Styles */
+#photo_saving {
+       margin: 0 8px 8px;
+       vertical-align: middle;
+}
+
+#img_container_container {
+       overflow: auto;
+}
+
+#extra-fields {
+       margin-top: 10px;
+       position: relative;
+}
+
+#extra-fields h2 {
+       margin: 12px;
+}
+
+#waiting {
+       margin-top: 10px;
+       overflow: hidden;
+}
+
+#waiting span {
+       float: right;
+       margin: 0 0 0 5px;
+}
+
+#waiting .spinner {
+       display: block;
+}
+
+#extra-fields .postbox {
+       margin-bottom: 5px;
+}
+
+#extra-fields .titlewrap {
+       padding: 0;
+       overflow: auto;
+       height: 120px;
+}
+
+#img_container a {
+       display: block;
+       float: left;
+       overflow: hidden;
+}
+
+#img_container img,
+#img_container a {
+       width: 68px;
+       height: 68px;
+}
+
+#img_container img {
+       border: none;
+       background-color: #f4f4f4;
+       cursor: pointer;
+}
+
+#img_container a,
+#img_container a:link,
+#img_container a:visited {
+       border: 1px solid #ccc;
+       display: block;
+       position: relative;
+}
+
+#img_container a:hover,
+#img_container a:active {
+       border-color: #000;
+       z-index: 1000;
+       border-width: 1px;
+}
+
+/* Video */
+#embed-code {
+       width: 100%;
+       height: 98px;
+}
+
+/* Categories */
+.press-this .categorydiv div.tabs-panel {
+       height: 100px;
+}
+
+/* Tags */
+.press-this .tagsdiv .newtag {
+       width: 120px;
+}
+
+.press-this #content {
+       margin: 5px 0;
+       padding: 0 5px;
+       border: 0 none;
+       height: 340px;
+       font-family: Consolas, Monaco, monospace;
+       font-size: 13px;
+       line-height: 19px;
+       background: transparent;
+}
+
+/* Submit */
+.press-this #publishing-actions .spinner {
+       display: inline;
+       vertical-align: middle;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+/* Reset responsive styles in Press This */
+@media screen and ( max-width: 782px ) {
+       .press-this ul.category-tabs li.tabs {
+               padding: 3px 5px 5px; /* Reset tabs in Press This to standard size */
+       }
+
+       .press-this a.wp-switch-editor {
+               font: 13px/19px "Open Sans", sans-serif;
+               margin: 5px 0 0 5px;
+               padding: 3px 8px 4px;
+       }
+
+       .press-this #wp-content-media-buttons a {
+               padding: 0;
+               line-height: normal;
+               height: auto;
+       }
+
+       .press-this #wp-content-editor-tools {
+               padding: 0;
+               top: 3px;
+       }
+
+       .press-this .category-tabs {
+               margin-top: 0;
+       }
+
+       .press-this .tagsdiv .newtag {
+               width: 120px;
+               padding: 3px 5px;
+               margin-bottom: 0;
+       }
+
+       .press-this .tagchecklist {
+               padding: 0;
+               margin-bottom: 0;
+       }
+
+       .press-this .wp_themeSkin a.mceButton {
+               width: 20px;
+               height: 20px;
+       }
+
+       .press-this .wp_themeSkin .mceButton .mceIcon {
+               margin: 0;
+       }
+
+       .press-this #poststuff h3,
+       .press-this .metabox-holder h3 {
+               padding: 7px 12px;
+       }
+
+       .press-this input[type=checkbox],
+       .press-this input[type=radio] {
+               height: 16px;
+               width: 16px;
+       }
+
+       .press-this input[type=checkbox]:checked:before {
+               width: 16px;
+               font: normal 21px/1 'dashicons';
+               margin: -3px 0 0 -4px;
+       }
+
+       .press-this input[type=radio]:checked:before {
+               font: normal 21px/1 'dashicons';
+               width: 6px;
+               height: 6px;
+               margin: 4px;
+       }
+
+       .press-this ul.categorychecklist ul,
+       .press-this ul.categorychecklist li {
+               margin-top: 0;
+               margin-bottom: 0;
+       }
+
+       .press-this div.quicktags-toolbar input {
+               padding: 2px 4px;
+       }
+
+       .press-this textarea,
+       .press-this input {
+               font-size: 14px;
+       }
+
+       .press-this .tagchecklist span {
+               font-size: 13px;
+               line-height: 1.8em;
+       }
+}
diff --git a/wp-admin/css/revisions-rtl.css b/wp-admin/css/revisions-rtl.css
new file mode 100644 (file)
index 0000000..d870006
--- /dev/null
@@ -0,0 +1,571 @@
+/*------------------------------------------------------------------------------
+  11.2 - Post Revisions
+------------------------------------------------------------------------------*/
+.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,0.1);
+       box-shadow: 0 1px 3px rgba(0,0,0,0.1);
+}
+
+.revisions-tickmarks {
+       position: relative;
+       margin: 0 auto;
+       height: 0.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 #aaa;
+       -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: fixed;
+       vertical-align: middle;
+       opacity: 0;
+       width: 100%;
+       top: 50%;
+       margin-right: -90px;
+       -webkit-transition: opacity 0.5s;
+       transition: opacity 0.5s;
+       filter: alpha(opacity=0); /* ie8 and earlier */
+}
+
+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); /* ie8 and earlier */
+}
+
+.revisions .diff {
+       -webkit-transition: opacity 0.5s;
+       transition: opacity 0.5s;
+}
+
+.revisions.loading .diff {
+       opacity: 0.5;
+       filter: alpha(opacity=50); /* ie8 and earlier */
+}
+
+.revisions.diff-error .diff {
+       visibility: hidden;
+}
+
+.revisions-meta {
+       margin-top: 20px;
+       background-color: #fff;
+       -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.1);
+       box-shadow: 0 1px 3px rgba(0,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-previous,
+.comparing-two-revisions .revisions-next,
+.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: bold;
+}
+
+.comparing-two-revisions .diff-meta-to strong {
+       display: block;
+}
+
+.revisions.pinned .revisions-buttons {
+       padding: 0 11px;
+}
+
+.revisions-previous,
+.revisions-next {
+       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,0.1);
+       box-shadow: 0 1px 3px rgba(0,0,0,0.1);
+}
+
+.revisions-diff h3:first-child {
+       margin-top: 0;
+}
+
+/* Revision meta box */
+.post-revisions li img,
+#revisions-meta-restored 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-deletedline del,
+table.diff .diff-addedline ins {
+       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 .avatar,
+.revisions-controls .author-card .author-info {
+       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;
+       display: none;
+       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,0.1);
+       box-shadow: 0 1px 3px rgba(0,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;
+}
+
+ /* jQuery UI Slider */
+.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: none;
+       position: absolute;
+       width: 18px;
+       z-index: 2;
+}
+
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
+       background: #2ea2cc;
+       border: 1px solid #0074a2;
+       -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: none;
+       position: absolute;
+       top: 0;
+       right: 0;
+       color: #fff;
+       content: "\f229";
+       font: normal 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';
+}
+
+.wp-slider .ui-slider-handle.to-handle:before {
+       content: '\f141';
+}
+
+.rtl .wp-slider .ui-slider-handle.from-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 Queries
+-------------------------------------------------------------- */
+
+/**
+ * HiDPI Displays
+ */
+@media print,
+  (-o-min-device-pixel-ratio: 5/4),
+  (-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;
+       }
+}
diff --git a/wp-admin/css/revisions.css b/wp-admin/css/revisions.css
new file mode 100644 (file)
index 0000000..0263674
--- /dev/null
@@ -0,0 +1,571 @@
+/*------------------------------------------------------------------------------
+  11.2 - Post Revisions
+------------------------------------------------------------------------------*/
+.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,0.1);
+       box-shadow: 0 1px 3px rgba(0,0,0,0.1);
+}
+
+.revisions-tickmarks {
+       position: relative;
+       margin: 0 auto;
+       height: 0.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 #aaa;
+       -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: fixed;
+       vertical-align: middle;
+       opacity: 0;
+       width: 100%;
+       top: 50%;
+       margin-left: -90px;
+       -webkit-transition: opacity 0.5s;
+       transition: opacity 0.5s;
+       filter: alpha(opacity=0); /* ie8 and earlier */
+}
+
+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); /* ie8 and earlier */
+}
+
+.revisions .diff {
+       -webkit-transition: opacity 0.5s;
+       transition: opacity 0.5s;
+}
+
+.revisions.loading .diff {
+       opacity: 0.5;
+       filter: alpha(opacity=50); /* ie8 and earlier */
+}
+
+.revisions.diff-error .diff {
+       visibility: hidden;
+}
+
+.revisions-meta {
+       margin-top: 20px;
+       background-color: #fff;
+       -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.1);
+       box-shadow: 0 1px 3px rgba(0,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-previous,
+.comparing-two-revisions .revisions-next,
+.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: bold;
+}
+
+.comparing-two-revisions .diff-meta-to strong {
+       display: block;
+}
+
+.revisions.pinned .revisions-buttons {
+       padding: 0 11px;
+}
+
+.revisions-previous,
+.revisions-next {
+       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,0.1);
+       box-shadow: 0 1px 3px rgba(0,0,0,0.1);
+}
+
+.revisions-diff h3:first-child {
+       margin-top: 0;
+}
+
+/* Revision meta box */
+.post-revisions li img,
+#revisions-meta-restored 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-deletedline del,
+table.diff .diff-addedline ins {
+       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 .avatar,
+.revisions-controls .author-card .author-info {
+       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;
+       display: none;
+       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,0.1);
+       box-shadow: 0 1px 3px rgba(0,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;
+}
+
+ /* jQuery UI Slider */
+.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: none;
+       position: absolute;
+       width: 18px;
+       z-index: 2;
+}
+
+.wp-slider .ui-slider-handle,
+.wp-slider .ui-slider-handle.ui-state-hover,
+.wp-slider .ui-slider-handle.focus {
+       background: #2ea2cc;
+       border: 1px solid #0074a2;
+       -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: none;
+       position: absolute;
+       top: 0;
+       left: 0;
+       color: #fff;
+       content: "\f229";
+       font: normal 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';
+}
+
+.wp-slider .ui-slider-handle.to-handle:before {
+       content: '\f141';
+}
+
+.rtl .wp-slider .ui-slider-handle.from-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 Queries
+-------------------------------------------------------------- */
+
+/**
+ * HiDPI Displays
+ */
+@media print,
+  (-o-min-device-pixel-ratio: 5/4),
+  (-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;
+       }
+}
diff --git a/wp-admin/css/themes-rtl.css b/wp-admin/css/themes-rtl.css
new file mode 100644 (file)
index 0000000..5ae8f35
--- /dev/null
@@ -0,0 +1,1902 @@
+/*------------------------------------------------------------------------------
+  16.0 - Themes
+------------------------------------------------------------------------------*/
+
+
+/*------------------------------------------------------------------------------
+  16.1 - Manage Themes
+------------------------------------------------------------------------------*/
+
+.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 .wrap .theme-count,
+.theme-navigation .theme-count {
+       color: #fff;
+       -webkit-border-radius: 30px;
+       border-radius: 30px;
+       background: #777;
+       font-size: 14px;
+       padding: 4px 10px;
+       font-weight: 600;
+       margin-right: 5px;
+       margin-left: 20px;
+       position: relative;
+       top: -3px;
+}
+
+.theme-navigation a {
+       text-decoration:none;
+}
+
+/* Position admin messages */
+.themes-php div.updated,
+.themes-php div.error {
+       margin: 0 0 20px 0;
+       clear: both;
+}
+
+.themes-php div.updated a {
+       text-decoration: underline;
+}
+
+/**
+ * Main theme element
+ * (has flexible margins)
+ */
+.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,0.1);
+       box-shadow: 0 1px 1px -1px rgba(0,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:hover,
+.theme-browser .theme:focus {
+       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,0.1);
+       box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
+       overflow: hidden;
+       white-space: nowrap;
+       text-overflow: ellipsis;
+       background: #fff;
+       background: rgba(255,255,255,0.65);
+}
+
+/* Activate and Customize buttons, shown on hover and focus */
+.theme-browser .theme .theme-actions {
+       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+       opacity: 0;
+       -webkit-transition: opacity 0.1s ease-in-out;
+       transition: opacity 0.1s ease-in-out;
+       position: absolute;
+       bottom: 0;
+       left: 0;
+       height: 38px;
+       padding: 9px 10px 0 10px;
+       background: rgba(244, 244, 244, 0.7);
+       border-right: 1px solid rgba(0,0,0,0.05);
+}
+
+.theme-browser .theme:hover .theme-actions,
+.theme-browser .theme.focus .theme-actions,
+.theme-browser .theme:focus .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 Screenshot
+ *
+ * Has a fixed aspect ratio of 1.5 to 1 regardless of screenshot size
+ * It is also responsive.
+ */
+.theme-browser .theme .theme-screenshot {
+       display: block;
+       overflow: hidden;
+       position: relative;
+       -webkit-transition: opacity 0.2s ease-in-out;
+       transition: opacity 0.2s ease-in-out;
+}
+
+.theme-browser .theme .theme-screenshot:after {
+       content: '';
+       display: block;
+       padding-top: 66.66666%; /* using a 3/2 aspect ratio */
+}
+
+.theme-browser .theme .theme-screenshot img {
+       height: auto;
+       position: absolute;
+       right: 0;
+       top: 0;
+       width: 100%;
+       -webkit-transform: translateZ( 0 ); /* Prevents rendering bugs in Chrome */
+       -webkit-transition: opacity 0.2s ease-in-out; /* Prevents rendering bugs in Chrome */
+       transition: opacity 0.2s ease-in-out;
+}
+
+.theme-browser .theme:hover .theme-screenshot,
+.theme-browser .theme:focus .theme-screenshot {
+       background: #fff;
+}
+
+.theme-browser.rendered .theme:hover .theme-screenshot img,
+.theme-browser.rendered .theme:focus .theme-screenshot img {
+       opacity: 0.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: #222;
+       background: rgba(0,0,0,0.7);
+       color: #fff;
+       font-size: 15px;
+       text-shadow: 0 1px 0 rgba(0,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 0.1s ease-in-out;
+       transition: opacity 0.1s ease-in-out;
+}
+.theme-browser .theme:focus {
+       outline: 1px dotted #222;
+}
+
+.theme-browser .theme:focus .more-details {
+       opacity: 1;
+}
+/* Current theme needs to have its action always on view */
+.theme-browser .theme.active:focus .theme-actions {
+       display: block;
+}
+
+.theme-browser.rendered .theme:hover .more-details,
+.theme-browser.rendered .theme:focus .more-details {
+       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+       opacity: 1;
+}
+
+/**
+ * Displays a theme update notice
+ * when an update is available.
+ */
+.theme-browser .theme .theme-update,
+.theme-browser .theme .theme-installed {
+       background: #d54e21;
+       background: rgba(213, 78, 33, 0.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,0.25);
+       overflow: hidden;
+}
+
+.theme-browser .theme .theme-update:before,
+.theme-browser .theme .theme-installed:before {
+       content: '\f463';
+       display: inline-block;
+       font: normal 20px/1 'dashicons';
+       margin: 0 0 0 6px;
+       opacity: 0.8;
+       position: relative;
+       top: 5px;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+}
+
+
+/**
+ * The currently active theme
+ */
+.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,0.5);
+       box-shadow: inset 0 1px 1px rgba(0,0,0,0.5);
+}
+
+.theme-browser .theme.active .theme-name span {
+       font-weight: 600;
+}
+
+.theme-browser .theme.active .theme-actions {
+       background: rgba(49,49,49,0.7);
+       border-right: none;
+       opacity: 1;
+}
+
+.theme-browser .theme.active .theme-actions .button-primary {
+       margin-left: 0;
+}
+
+.theme-browser .theme .theme-author {
+       background: #222;
+       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;
+}
+
+/**
+ * Add new theme
+ */
+.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:after {
+       display: block;
+       content: '';
+       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+       opacity: 1;
+       background: transparent;
+       background: rgba(0, 0, 0, 0);
+       position: absolute;
+       top: 0;
+       right: 0;
+       left: 0;
+       bottom: 0;
+       padding: 10% 0 0 0;
+       text-shadow: none;
+       border: 5px dashed #d5d2ca;
+       border: 5px dashed rgba(0, 0, 0, 0.1);
+       -webkit-transition: opacity 0.2s ease-in-out;
+       transition: opacity 0.2s ease-in-out;
+       -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, 0.1);
+       -webkit-border-radius: 50%;
+       border-radius: 50%;
+       display: inline-block;
+       content: '\f132';
+       -webkit-font-smoothing: antialiased;
+       font: normal 74px/115px 'dashicons';
+       width: 100px;
+       height: 100px;
+       vertical-align: middle;
+       text-align: center;
+       color: rgb(153, 153, 153);
+       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:hover .theme-screenshot,
+.theme-browser .theme.add-new-theme:focus .theme-screenshot {
+       background: none;
+}
+
+.theme-browser .theme.add-new-theme:hover span:after,
+.theme-browser .theme.add-new-theme:focus span:after {
+       background: #fff;
+       color: #0074a2;
+}
+
+.theme-browser .theme.add-new-theme:hover:after,
+.theme-browser .theme.add-new-theme:focus:after {
+       border-color: transparent;
+       color: #fff;
+       background: #0074a2;
+       content: '';
+}
+
+.theme-browser .theme.add-new-theme .theme-name {
+       background: none;
+       text-align: center;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       font-weight: 400;
+       position: relative;
+       top: 0;
+       margin-top: -10%;
+       margin-bottom: 10%;
+}
+
+.theme-browser .theme.add-new-theme:hover .theme-name,
+.theme-browser .theme.add-new-theme:focus .theme-name {
+       color: #fff;
+       z-index: 2;
+}
+
+/*
+ * The search form
+ */
+.themes-php .theme-search {
+       position: relative;
+       top: -2px;
+       right: 20px;
+       font-size: 16px;
+       font-weight: 300;
+       line-height: 1.5;
+       width: 280px;
+}
+
+/**
+ * Theme Overlay
+ * Shown when clicking a theme
+ */
+.theme-overlay .theme-backdrop {
+       position: absolute;
+       right: -20px;
+       left: 0;
+       top: 0;
+       bottom: 0;
+       background: #f1f1f1;
+       background: rgba( 238, 238, 238, 0.9 );
+       z-index: 10;
+}
+
+body.theme-overlay-open {
+       overflow: hidden;
+}
+
+.theme-overlay .theme-header {
+       position: absolute;
+       top: 0;
+       right: 0;
+       left: 0;
+       height: 48px;
+       border-bottom: 1px solid #ddd;
+}
+
+.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;
+}
+
+.theme-overlay .theme-header .close:hover:before,
+.theme-overlay .theme-header .close:focus:before {
+       color: #fff;
+}
+
+.theme-overlay .theme-header .close:before {
+       font: normal 30px/50px 'dashicons' !important;
+       color: #777;
+       display: inline-block;
+       content: '\f335';
+       font-weight: 300;
+}
+
+/* Left and right navigation */
+.theme-overlay .theme-header .right,
+.theme-overlay .theme-header .left {
+       cursor: pointer;
+       color: #777;
+       background-color: transparent;
+       height: 48px;
+       width: 54px;
+       float: right;
+       text-align: center;
+       border: 0;
+       border-left: 1px solid #ddd;
+}
+
+.theme-overlay .theme-header .close:hover,
+.theme-overlay .theme-header .right:hover,
+.theme-overlay .theme-header .left:hover,
+.theme-overlay .theme-header .close:focus,
+.theme-overlay .theme-header .right:focus,
+.theme-overlay .theme-header .left:focus {
+       background: #0074a2;
+       color: #fff;
+}
+
+.theme-overlay .theme-header .left.disabled,
+.theme-overlay .theme-header .right.disabled,
+.theme-overlay .theme-header .left.disabled:hover,
+.theme-overlay .theme-header .right.disabled:hover {
+       color: #ccc;
+       background: inherit;
+       cursor: inherit;
+}
+
+.theme-overlay .theme-header .right:before,
+.theme-overlay .theme-header .left:before {
+       font: normal 20px/50px 'dashicons' !important;
+       display: inline;
+       font-weight: 300;
+}
+
+.theme-overlay .theme-header .left:before {
+       content: '\f340';
+}
+
+.theme-overlay .theme-header .right:before {
+       content: '\f344';
+}
+
+.rtl .theme-overlay .theme-header .left:before {
+       content: '\f345';
+}
+
+.rtl .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, 0.1);
+       box-shadow: 0 1px 20px 5px rgba(0, 0, 0, 0.1);
+       z-index: 20;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+.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;
+}
+
+.theme-overlay .theme-actions .delete-theme {
+       color: #a00;
+       position: absolute;
+       left: 10px;
+       bottom: 5px;
+       text-decoration: none;
+       border-color: transparent;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       background: transparent;
+}
+
+.theme-overlay .theme-actions .delete-theme:hover,
+.theme-overlay .theme-actions .delete-theme:focus {
+       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 Screenshots gallery
+ */
+.theme-overlay .theme-screenshots {
+       float: right;
+       margin: 0 0 0 30px;
+       width: 55%;
+       max-width: 880px;
+       text-align: center;
+}
+
+/* First screenshot, shown big */
+.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,0.2);
+       box-shadow: 0 0 0 1px rgba(0,0,0,0.2);
+}
+
+.theme-overlay .screenshot:after {
+       content: '';
+       display: block;
+       padding-top: 75%; /* using a 4/3 aspect ratio */
+}
+
+.theme-overlay .screenshot img {
+       height: auto;
+       position: absolute;
+       right: 0;
+       top: 0;
+       width: 100%;
+}
+/* Handles old 300px screenshots */
+.theme-overlay.small-screenshot .theme-screenshots {
+       position: absolute;
+       width: 302px;
+}
+.theme-overlay.small-screenshot .theme-info {
+       margin-right: 350px;
+       width: auto;
+}
+
+/* Other screenshots, shown small and square */
+.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%; /* using a 1/1 aspect ratio */
+}
+
+.theme-overlay .screenshot.thumb img {
+       cursor: pointer;
+       height: auto;
+       position: absolute;
+       right: 0;
+       top: 0;
+       width: 100%;
+       height: auto;
+}
+
+.theme-overlay .screenshot.selected {
+       background: transparent;
+       border: 2px solid #2ea2cc;
+}
+
+.theme-overlay .screenshot.selected img {
+       opacity: 0.8;
+}
+
+/* No screenshot placeholder */
+.theme-browser .theme .theme-screenshot.blank,
+.theme-overlay .screenshot.blank {
+       background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=);
+}
+
+/**
+ * Theme heading information
+ */
+.theme-overlay .theme-info {
+       width: 40%;
+       float: right;
+}
+
+.theme-overlay .current-label {
+       background: #333;
+       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: #222;
+       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;
+       -webkit-user-select: none;
+       -moz-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
+}
+
+.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 0;
+}
+
+.theme-overlay .theme-tags {
+       border-top: 3px solid #eee;
+       color: #888;
+       font-size: 13px;
+       font-weight: 400;
+       margin: 30px 0 0 0;
+       padding-top: 20px;
+}
+
+.theme-overlay .theme-tags span {
+       color: #444;
+       font-weight: bold;
+       margin-left: 5px;
+}
+
+/* Theme Updates info */
+.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: #222;
+       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 #2ea2cc;
+       font-size: 14px;
+       font-weight: normal;
+       margin-top: 30px;
+       padding: 10px 20px 10px 10px;
+}
+
+.theme-overlay .parent-theme strong {
+       font-weight: 700;
+}
+
+/**
+ * Single Theme Mode
+ * Displays detailed view inline when a user has no switch capabilities
+ */
+.single-theme .theme-overlay .theme-backdrop,
+.single-theme .theme-overlay .theme-header,
+.single-theme .theme {
+       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;
+}
+
+/**
+ * Basic Responsive structure...
+ *
+ * Shuffles theme columns around based on screen width
+ */
+
+@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;
+       }
+}
+
+/* Maximum screenshot width reaches 440px */
+@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%; /* using a 4/3 aspect ratio */
+       }
+
+       .theme-browser .theme:nth-child(3n) {
+               margin-left: 3%;
+       }
+
+       .theme-browser .theme:nth-child(4n) {
+               margin-left: 0;
+       }
+}
+/* Maximum screenshot width reaches 440px */
+@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%;
+       }
+}
+
+/* Admin menu is folded */
+@media only screen and (max-width: 900px) {
+       .theme-overlay .theme-wrap {
+               right: 65px;
+       }
+}
+
+@media only screen and (max-width: 780px) {
+       body.folded .theme-overlay .theme-wrap,
+       .theme-overlay .theme-wrap {
+               top: 0; /* The adminmenu isn't fixed on mobile, so this can use the full viewport height */
+               left: 0;
+               bottom: 0;
+               right: 0;
+               padding: 70px 20px 20px;
+               border: none;
+               z-index: 500; /* should overlap #wpadminbar, which is 500 on mobile. */
+               position: fixed;
+       }
+
+       .theme-browser .theme.active .theme-name span {
+               /* Hide the "Active: " label on smaller screens. */
+               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 10px;
+       }
+
+       .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:not(.active):hover .theme-actions,
+       .theme:not(.active):focus .theme-actions,
+       .theme:hover .more-details,
+       .theme:focus .more-details {
+               display: none;
+       }
+
+       .theme-browser.rendered .theme:hover .theme-screenshot img,
+       .theme-browser.rendered .theme:focus .theme-screenshot img {
+               opacity: 1.0;
+       }
+}
+
+@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-update,
+       .theme-overlay .theme-description {
+               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 0;
+       }
+
+       .theme-overlay .current-label {
+               margin-top: 10px;
+               font-size: 13px;
+       }
+
+       .themes-php .wrap h2 {
+               width: 100%;
+       }
+
+       .themes-php .theme-search {
+               float: none;
+               clear: both;
+               right: 0;
+               top: 0;
+               left: 0;
+               margin: 10px 0;
+               width: 100%;
+       }
+
+       .theme-browser .theme.add-new-theme span:after {
+               font: normal 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;
+}
+
+
+/*------------------------------------------------------------------------------
+  16.2 - Install Themes
+------------------------------------------------------------------------------*/
+
+/* Already installed theme */
+.theme-browser .theme .theme-installed {
+       background: #0074a2;
+}
+.theme-browser .theme .theme-installed:before {
+       content: '\f147';
+}
+.theme-browser .theme.is-installed .theme-actions .button-primary {
+       display: none !important;
+}
+
+.theme-navigation {
+       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);
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       color: #555;
+       display: inline-block;
+       font-size: 13px;
+       margin: 20px 0 30px;
+       padding: 0 20px;
+       position: relative;
+       width: 100%;
+}
+.theme-install-php a.upload,
+.theme-install-php a.browse-themes {
+       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-theme {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       display: none;
+       margin: 0px 0 0;
+       padding: 0;
+       width: 100%;
+       overflow: hidden;
+       position: relative;
+       top: 10px;
+}
+body.show-upload-theme .upload-theme {
+       display: block;
+}
+.upload-theme .wp-upload-form {
+       background: #fafafa;
+       border: 1px solid #e5e5e5;
+       padding: 30px;
+       margin: 30px auto;
+       max-width: 380px;
+}
+.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 + .theme-navigation,
+body.show-upload-theme .upload-theme + .theme-navigation + .theme-browser {
+       display: none;
+}
+.theme-navigation .theme-count {
+       margin-right: 0;
+       position: absolute;
+       top: 12px;
+}
+.theme-count + .theme-section {
+       margin-right: 60px;
+}
+.theme-section,
+.theme-filter {
+       border-bottom: 4px solid #fff;
+       color: #666;
+       cursor: pointer;
+       display: inline-block;
+       margin: 0 10px;
+       padding: 15px 0;
+}
+.theme-section.current,
+.theme-filter.current {
+       border-bottom: 4px solid #666;
+       color: #222;
+}
+.theme-top-filters {
+       display: inline-block;
+}
+.theme-navigation .more-filters {
+       color: #666;
+       cursor: pointer;
+       display: inline-block;
+       margin: 0 10px;
+       padding: 4px 6px;
+}
+body.more-filters-opened .more-filters,
+body.more-filters-opened .more-filters:before {
+       background: #777;
+       -webkit-border-radius: 2px;
+       border-radius: 2px;
+       border: none;
+       color: #fff;
+}
+
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus,
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+       background: rgb(46, 162, 204);
+}
+
+.theme-install-php .theme-search {
+       position: absolute;
+       left: 10px;
+       top: 9px;
+       font-size: 16px;
+       font-weight: 300;
+       line-height: 1.5;
+       width: 280px;
+}
+.more-filters:before {
+       color: #777;
+       text-align: center;
+       margin: 0 0 0 5px;
+       content: "\f111";
+       display: inline-block;
+       width: 16px;
+       height: 16px;
+       -webkit-font-smoothing: antialiased;
+       font-size: 16px;
+       line-height: 1;
+       font-family: "dashicons";
+       text-decoration: inherit;
+       font-weight: normal;
+       font-style: normal;
+       vertical-align: top;
+       -webkit-transition: color .1s ease-in 0;
+       transition: color .1s ease-in 0;
+       text-align: center;
+}
+.more-filters.current:before {
+       color: #fff;
+}
+.more-filters-container {
+       display: none;
+       padding: 20px;
+       border-top: 1px solid #eee;
+       margin: 0 -20px;
+       background: #fafafa;
+}
+body.more-filters-opened .more-filters-container {
+       display: block;
+       overflow: hidden;
+}
+body.more-filters-opened .theme-section.current {
+       border-bottom: none;
+}
+body.more-filters-opened .theme-browser,
+body.more-filters-opened.filters-applied.loading-themes .theme-browser {
+       display: none;
+}
+body.more-filters-opened.filters-applied .theme-browser {
+       display: block;
+}
+.more-filters-container .filters-group {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       float: right;
+       width: 19%;
+       background: #fff;
+       margin: 0 0 0 1%;
+       border: 1px solid #e5e5e5;
+       -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       padding: 10px;
+}
+.more-filters-container .wide-filters-group {
+       width: 38%;
+}
+.more-filters-container .feature-name {
+       margin: 0;
+       position: relative;
+}
+.more-filters-container ol {
+       list-style-type: none;
+       margin: 20px 0 0;
+       font-size: 12px;
+}
+.more-filters-container li {
+       display: inline-block;
+       vertical-align: top;
+       list-style-type: none;
+       margin: 5px 0;
+       padding-left: 25px;
+       width: 160px;
+}
+.theme-navigation .more-filters-container .apply-filters {
+       margin: 0 0 20px;
+}
+.theme-navigation .more-filters-container .clear-filters {
+       display: none;
+       margin: 0 10px 20px 0;
+}
+.more-filters-container .apply-filters span {
+       display: inline-block;
+       font-size: 12px;
+       text-indent: 10px;
+       opacity: 0.8;
+}
+.more-filters-container .filtering-by {
+       display: none;
+       margin: 0;
+}
+.more-filters-container .filtering-by > span {
+       font-weight: 600;
+}
+.more-filters-container .filtering-by .tags {
+       display: inline;
+}
+.more-filters-container .filtering-by .tag {
+       background: #fff;
+       border: 1px solid #e5e5e5;
+       -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       font-size: 11px;
+       margin: 0 5px;
+       padding: 4px 8px;
+}
+.more-filters-container .filtering-by a {
+       margin-right: 10px;
+}
+body.filters-applied .more-filters-container .filters-group,
+body.filters-applied .more-filters-container a.button,
+body.filters-applied .more-filters-container br {
+       display: none !important;
+}
+body.filters-applied .more-filters-container .filtering-by {
+       display: block;
+}
+body.filters-applied .more-filters-container {
+       padding: 20px;
+}
+p.no-themes {
+       color: #999;
+       font-size: 18px;
+       font-style: normal;
+       margin: 0;
+       padding: 0;
+       text-align: center;
+       display: none;
+}
+body.no-results p.no-themes {
+       display: block;
+}
+body.show-upload-theme p.no-themes {
+       display: none !important;
+}
+
+
+.theme-install-php .add-new-theme {
+       display: none !important;
+}
+
+@media only screen and (max-width: 1120px) {
+       .theme-install-php .theme-search {
+               margin: 20px 0;
+               position: static;
+               width: 100%;
+       }
+       .more-filters-container {
+               border-bottom: 1px solid #eee;
+       }
+       .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;
+       }
+       .more-filters-container .filters-group {
+               margin-bottom: 0;
+               margin-top: 5px;
+               width: 100%;
+       }
+       .more-filters-container .filters-group li {
+               margin: 10px 0;
+       }
+}
+
+@media only screen and (max-width: 782px) {
+       .more-filters-container .filters-group {
+               width: 100%;
+       }
+       .more-filters-container .filters-group li {
+               width: 100%;
+       }
+}
+
+.rating {
+       margin: 30px 0;
+}
+.rating span:before {
+       color: #e6b800;
+       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 {
+       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 {
+       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 {
+       display: inline;
+       margin-right: 10px;
+       line-height: 20px;
+       color: #999;
+}
+.loading-themes .theme-browser,
+.error .theme-browser {
+       display: none;
+}
+.loading-themes .spinner {
+       display: block;
+       margin: 40px auto 0;
+       float: none;
+}
+
+/*------------------------------------------------------------------------------
+  16.3 - Custom Header Screen
+------------------------------------------------------------------------------*/
+
+.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;
+}
+
+
+/*------------------------------------------------------------------------------
+  16.4 - Custom Background Screen
+------------------------------------------------------------------------------*/
+
+div#custom-background-image {
+       min-height: 100px;
+       border: 1px solid #dfdfdf;
+}
+
+div#custom-background-image img {
+       max-width: 400px;
+       max-height: 300px;
+}
+
+/*------------------------------------------------------------------------------
+  23.0 - Full Overlay w/ Sidebar
+------------------------------------------------------------------------------*/
+
+body.full-overlay-active {
+       overflow: hidden;
+}
+
+.wp-full-overlay {
+       background: transparent;
+       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;
+       overflow: auto;
+       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%;
+}
+
+.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;
+}
+
+/* Close Link */
+.wp-full-overlay .close-full-overlay {
+       text-decoration: none;
+}
+
+/* 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;
+       padding: 0;
+       -webkit-border-radius: 50%;
+       border-radius: 50%;
+       color: #777;
+       text-decoration: none;
+}
+
+.wp-full-overlay a.collapse-sidebar:hover {
+       color: #0074a2;
+}
+
+.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: none;
+}
+
+.wp-full-overlay .collapse-sidebar-arrow:before {
+       -webkit-border-radius: 50%;
+       border-radius: 50%;
+       float: right;
+       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;
+}
+
+.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);
+}
+
+.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 .theme-navigation {
+       padding: 10px 20px;
+       position: absolute;
+               bottom: 10px;
+       text-align: right;
+}
+.wp-full-overlay .theme-navigation .next-theme {
+       float: left;
+}
+.wp-full-overlay.no-navigation .theme-navigation {
+       display: none;
+}
+
+/* Animations */
+.wp-full-overlay,
+.wp-full-overlay-sidebar,
+.wp-full-overlay .collapse-sidebar,
+.wp-full-overlay-main {
+       -webkit-transition-property: right, left, top, bottom, width, margin;
+       transition-property: right, left, top, bottom, width, margin;
+       -webkit-transition-duration: 0.2s;
+       transition-duration: 0.2s;
+}
+
+/*------------------------------------------------------------------------------
+  24.0 - Customize Loader
+------------------------------------------------------------------------------*/
+
+.no-customize-support .hide-if-no-customize,
+.customize-support .hide-if-customize,
+.no-customize-support.wp-core-ui .hide-if-no-customize,
+.no-customize-support .wp-core-ui .hide-if-no-customize,
+.customize-support.wp-core-ui .hide-if-customize,
+.customize-support .wp-core-ui .hide-if-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: #fff url(../images/spinner.gif) no-repeat fixed center center;
+       -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 0.3s;
+       transition: opacity 0.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 {
+       margin-top: 9px;
+}
+
+.theme-install-overlay .wp-full-overlay-header .theme-install {
+       float: left;
+       /* For when .theme-install is a span rather than a.button-primary (already installed theme) */
+       line-height: 26px;
+}
+
+.theme-install-overlay .wp-full-overlay-sidebar {
+       background: #EEE;
+       border-left: 1px solid #DDD;
+}
+
+.theme-install-overlay .wp-full-overlay-main {
+       background: #fff url(../images/spinner.gif) no-repeat center center;
+       -webkit-background-size: 20px 20px;
+       background-size: 20px 20px;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+/**
+ * HiDPI Displays
+ */
+@media print,
+  (-o-min-device-pixel-ratio: 5/4),
+  (-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-loading #customize-container,
+       .theme-install-overlay .wp-full-overlay-main {
+               background-image: url(../images/spinner-2x.gif);
+       }
+}
+
+@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;
+       }
+}
diff --git a/wp-admin/css/themes.css b/wp-admin/css/themes.css
new file mode 100644 (file)
index 0000000..13076cb
--- /dev/null
@@ -0,0 +1,1902 @@
+/*------------------------------------------------------------------------------
+  16.0 - Themes
+------------------------------------------------------------------------------*/
+
+
+/*------------------------------------------------------------------------------
+  16.1 - Manage Themes
+------------------------------------------------------------------------------*/
+
+.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 .wrap .theme-count,
+.theme-navigation .theme-count {
+       color: #fff;
+       -webkit-border-radius: 30px;
+       border-radius: 30px;
+       background: #777;
+       font-size: 14px;
+       padding: 4px 10px;
+       font-weight: 600;
+       margin-left: 5px;
+       margin-right: 20px;
+       position: relative;
+       top: -3px;
+}
+
+.theme-navigation a {
+       text-decoration:none;
+}
+
+/* Position admin messages */
+.themes-php div.updated,
+.themes-php div.error {
+       margin: 0 0 20px 0;
+       clear: both;
+}
+
+.themes-php div.updated a {
+       text-decoration: underline;
+}
+
+/**
+ * Main theme element
+ * (has flexible margins)
+ */
+.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,0.1);
+       box-shadow: 0 1px 1px -1px rgba(0,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:hover,
+.theme-browser .theme:focus {
+       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,0.1);
+       box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
+       overflow: hidden;
+       white-space: nowrap;
+       text-overflow: ellipsis;
+       background: #fff;
+       background: rgba(255,255,255,0.65);
+}
+
+/* Activate and Customize buttons, shown on hover and focus */
+.theme-browser .theme .theme-actions {
+       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+       opacity: 0;
+       -webkit-transition: opacity 0.1s ease-in-out;
+       transition: opacity 0.1s ease-in-out;
+       position: absolute;
+       bottom: 0;
+       right: 0;
+       height: 38px;
+       padding: 9px 10px 0 10px;
+       background: rgba(244, 244, 244, 0.7);
+       border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.theme-browser .theme:hover .theme-actions,
+.theme-browser .theme.focus .theme-actions,
+.theme-browser .theme:focus .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 Screenshot
+ *
+ * Has a fixed aspect ratio of 1.5 to 1 regardless of screenshot size
+ * It is also responsive.
+ */
+.theme-browser .theme .theme-screenshot {
+       display: block;
+       overflow: hidden;
+       position: relative;
+       -webkit-transition: opacity 0.2s ease-in-out;
+       transition: opacity 0.2s ease-in-out;
+}
+
+.theme-browser .theme .theme-screenshot:after {
+       content: '';
+       display: block;
+       padding-top: 66.66666%; /* using a 3/2 aspect ratio */
+}
+
+.theme-browser .theme .theme-screenshot img {
+       height: auto;
+       position: absolute;
+       left: 0;
+       top: 0;
+       width: 100%;
+       -webkit-transform: translateZ( 0 ); /* Prevents rendering bugs in Chrome */
+       -webkit-transition: opacity 0.2s ease-in-out; /* Prevents rendering bugs in Chrome */
+       transition: opacity 0.2s ease-in-out;
+}
+
+.theme-browser .theme:hover .theme-screenshot,
+.theme-browser .theme:focus .theme-screenshot {
+       background: #fff;
+}
+
+.theme-browser.rendered .theme:hover .theme-screenshot img,
+.theme-browser.rendered .theme:focus .theme-screenshot img {
+       opacity: 0.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: #222;
+       background: rgba(0,0,0,0.7);
+       color: #fff;
+       font-size: 15px;
+       text-shadow: 0 1px 0 rgba(0,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 0.1s ease-in-out;
+       transition: opacity 0.1s ease-in-out;
+}
+.theme-browser .theme:focus {
+       outline: 1px dotted #222;
+}
+
+.theme-browser .theme:focus .more-details {
+       opacity: 1;
+}
+/* Current theme needs to have its action always on view */
+.theme-browser .theme.active:focus .theme-actions {
+       display: block;
+}
+
+.theme-browser.rendered .theme:hover .more-details,
+.theme-browser.rendered .theme:focus .more-details {
+       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+       opacity: 1;
+}
+
+/**
+ * Displays a theme update notice
+ * when an update is available.
+ */
+.theme-browser .theme .theme-update,
+.theme-browser .theme .theme-installed {
+       background: #d54e21;
+       background: rgba(213, 78, 33, 0.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,0.25);
+       overflow: hidden;
+}
+
+.theme-browser .theme .theme-update:before,
+.theme-browser .theme .theme-installed:before {
+       content: '\f463';
+       display: inline-block;
+       font: normal 20px/1 'dashicons';
+       margin: 0 6px 0 0;
+       opacity: 0.8;
+       position: relative;
+       top: 5px;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+}
+
+
+/**
+ * The currently active theme
+ */
+.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,0.5);
+       box-shadow: inset 0 1px 1px rgba(0,0,0,0.5);
+}
+
+.theme-browser .theme.active .theme-name span {
+       font-weight: 600;
+}
+
+.theme-browser .theme.active .theme-actions {
+       background: rgba(49,49,49,0.7);
+       border-left: none;
+       opacity: 1;
+}
+
+.theme-browser .theme.active .theme-actions .button-primary {
+       margin-right: 0;
+}
+
+.theme-browser .theme .theme-author {
+       background: #222;
+       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;
+}
+
+/**
+ * Add new theme
+ */
+.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:after {
+       display: block;
+       content: '';
+       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+       opacity: 1;
+       background: transparent;
+       background: rgba(0, 0, 0, 0);
+       position: absolute;
+       top: 0;
+       left: 0;
+       right: 0;
+       bottom: 0;
+       padding: 10% 0 0 0;
+       text-shadow: none;
+       border: 5px dashed #d5d2ca;
+       border: 5px dashed rgba(0, 0, 0, 0.1);
+       -webkit-transition: opacity 0.2s ease-in-out;
+       transition: opacity 0.2s ease-in-out;
+       -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, 0.1);
+       -webkit-border-radius: 50%;
+       border-radius: 50%;
+       display: inline-block;
+       content: '\f132';
+       -webkit-font-smoothing: antialiased;
+       font: normal 74px/115px 'dashicons';
+       width: 100px;
+       height: 100px;
+       vertical-align: middle;
+       text-align: center;
+       color: rgb(153, 153, 153);
+       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:hover .theme-screenshot,
+.theme-browser .theme.add-new-theme:focus .theme-screenshot {
+       background: none;
+}
+
+.theme-browser .theme.add-new-theme:hover span:after,
+.theme-browser .theme.add-new-theme:focus span:after {
+       background: #fff;
+       color: #0074a2;
+}
+
+.theme-browser .theme.add-new-theme:hover:after,
+.theme-browser .theme.add-new-theme:focus:after {
+       border-color: transparent;
+       color: #fff;
+       background: #0074a2;
+       content: '';
+}
+
+.theme-browser .theme.add-new-theme .theme-name {
+       background: none;
+       text-align: center;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       font-weight: 400;
+       position: relative;
+       top: 0;
+       margin-top: -10%;
+       margin-bottom: 10%;
+}
+
+.theme-browser .theme.add-new-theme:hover .theme-name,
+.theme-browser .theme.add-new-theme:focus .theme-name {
+       color: #fff;
+       z-index: 2;
+}
+
+/*
+ * The search form
+ */
+.themes-php .theme-search {
+       position: relative;
+       top: -2px;
+       left: 20px;
+       font-size: 16px;
+       font-weight: 300;
+       line-height: 1.5;
+       width: 280px;
+}
+
+/**
+ * Theme Overlay
+ * Shown when clicking a theme
+ */
+.theme-overlay .theme-backdrop {
+       position: absolute;
+       left: -20px;
+       right: 0;
+       top: 0;
+       bottom: 0;
+       background: #f1f1f1;
+       background: rgba( 238, 238, 238, 0.9 );
+       z-index: 10;
+}
+
+body.theme-overlay-open {
+       overflow: hidden;
+}
+
+.theme-overlay .theme-header {
+       position: absolute;
+       top: 0;
+       left: 0;
+       right: 0;
+       height: 48px;
+       border-bottom: 1px solid #ddd;
+}
+
+.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;
+}
+
+.theme-overlay .theme-header .close:hover:before,
+.theme-overlay .theme-header .close:focus:before {
+       color: #fff;
+}
+
+.theme-overlay .theme-header .close:before {
+       font: normal 30px/50px 'dashicons' !important;
+       color: #777;
+       display: inline-block;
+       content: '\f335';
+       font-weight: 300;
+}
+
+/* Left and right navigation */
+.theme-overlay .theme-header .right,
+.theme-overlay .theme-header .left {
+       cursor: pointer;
+       color: #777;
+       background-color: transparent;
+       height: 48px;
+       width: 54px;
+       float: left;
+       text-align: center;
+       border: 0;
+       border-right: 1px solid #ddd;
+}
+
+.theme-overlay .theme-header .close:hover,
+.theme-overlay .theme-header .right:hover,
+.theme-overlay .theme-header .left:hover,
+.theme-overlay .theme-header .close:focus,
+.theme-overlay .theme-header .right:focus,
+.theme-overlay .theme-header .left:focus {
+       background: #0074a2;
+       color: #fff;
+}
+
+.theme-overlay .theme-header .left.disabled,
+.theme-overlay .theme-header .right.disabled,
+.theme-overlay .theme-header .left.disabled:hover,
+.theme-overlay .theme-header .right.disabled:hover {
+       color: #ccc;
+       background: inherit;
+       cursor: inherit;
+}
+
+.theme-overlay .theme-header .right:before,
+.theme-overlay .theme-header .left:before {
+       font: normal 20px/50px 'dashicons' !important;
+       display: inline;
+       font-weight: 300;
+}
+
+.theme-overlay .theme-header .left:before {
+       content: '\f340';
+}
+
+.theme-overlay .theme-header .right:before {
+       content: '\f344';
+}
+
+.rtl .theme-overlay .theme-header .left:before {
+       content: '\f345';
+}
+
+.rtl .theme-overlay .theme-header .right:before {
+       content: '\f341';
+}
+
+.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, 0.1);
+       box-shadow: 0 1px 20px 5px rgba(0, 0, 0, 0.1);
+       z-index: 20;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+.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;
+}
+
+.theme-overlay .theme-actions .delete-theme {
+       color: #a00;
+       position: absolute;
+       right: 10px;
+       bottom: 5px;
+       text-decoration: none;
+       border-color: transparent;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       background: transparent;
+}
+
+.theme-overlay .theme-actions .delete-theme:hover,
+.theme-overlay .theme-actions .delete-theme:focus {
+       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 Screenshots gallery
+ */
+.theme-overlay .theme-screenshots {
+       float: left;
+       margin: 0 30px 0 0;
+       width: 55%;
+       max-width: 880px;
+       text-align: center;
+}
+
+/* First screenshot, shown big */
+.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,0.2);
+       box-shadow: 0 0 0 1px rgba(0,0,0,0.2);
+}
+
+.theme-overlay .screenshot:after {
+       content: '';
+       display: block;
+       padding-top: 75%; /* using a 4/3 aspect ratio */
+}
+
+.theme-overlay .screenshot img {
+       height: auto;
+       position: absolute;
+       left: 0;
+       top: 0;
+       width: 100%;
+}
+/* Handles old 300px screenshots */
+.theme-overlay.small-screenshot .theme-screenshots {
+       position: absolute;
+       width: 302px;
+}
+.theme-overlay.small-screenshot .theme-info {
+       margin-left: 350px;
+       width: auto;
+}
+
+/* Other screenshots, shown small and square */
+.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%; /* using a 1/1 aspect ratio */
+}
+
+.theme-overlay .screenshot.thumb img {
+       cursor: pointer;
+       height: auto;
+       position: absolute;
+       left: 0;
+       top: 0;
+       width: 100%;
+       height: auto;
+}
+
+.theme-overlay .screenshot.selected {
+       background: transparent;
+       border: 2px solid #2ea2cc;
+}
+
+.theme-overlay .screenshot.selected img {
+       opacity: 0.8;
+}
+
+/* No screenshot placeholder */
+.theme-browser .theme .theme-screenshot.blank,
+.theme-overlay .screenshot.blank {
+       background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=);
+}
+
+/**
+ * Theme heading information
+ */
+.theme-overlay .theme-info {
+       width: 40%;
+       float: left;
+}
+
+.theme-overlay .current-label {
+       background: #333;
+       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: #222;
+       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;
+       -webkit-user-select: none;
+       -moz-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
+}
+
+.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 0;
+}
+
+.theme-overlay .theme-tags {
+       border-top: 3px solid #eee;
+       color: #888;
+       font-size: 13px;
+       font-weight: 400;
+       margin: 30px 0 0 0;
+       padding-top: 20px;
+}
+
+.theme-overlay .theme-tags span {
+       color: #444;
+       font-weight: bold;
+       margin-right: 5px;
+}
+
+/* Theme Updates info */
+.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: #222;
+       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 #2ea2cc;
+       font-size: 14px;
+       font-weight: normal;
+       margin-top: 30px;
+       padding: 10px 10px 10px 20px;
+}
+
+.theme-overlay .parent-theme strong {
+       font-weight: 700;
+}
+
+/**
+ * Single Theme Mode
+ * Displays detailed view inline when a user has no switch capabilities
+ */
+.single-theme .theme-overlay .theme-backdrop,
+.single-theme .theme-overlay .theme-header,
+.single-theme .theme {
+       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;
+}
+
+/**
+ * Basic Responsive structure...
+ *
+ * Shuffles theme columns around based on screen width
+ */
+
+@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;
+       }
+}
+
+/* Maximum screenshot width reaches 440px */
+@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%; /* using a 4/3 aspect ratio */
+       }
+
+       .theme-browser .theme:nth-child(3n) {
+               margin-right: 3%;
+       }
+
+       .theme-browser .theme:nth-child(4n) {
+               margin-right: 0;
+       }
+}
+/* Maximum screenshot width reaches 440px */
+@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%;
+       }
+}
+
+/* Admin menu is folded */
+@media only screen and (max-width: 900px) {
+       .theme-overlay .theme-wrap {
+               left: 65px;
+       }
+}
+
+@media only screen and (max-width: 780px) {
+       body.folded .theme-overlay .theme-wrap,
+       .theme-overlay .theme-wrap {
+               top: 0; /* The adminmenu isn't fixed on mobile, so this can use the full viewport height */
+               right: 0;
+               bottom: 0;
+               left: 0;
+               padding: 70px 20px 20px;
+               border: none;
+               z-index: 500; /* should overlap #wpadminbar, which is 500 on mobile. */
+               position: fixed;
+       }
+
+       .theme-browser .theme.active .theme-name span {
+               /* Hide the "Active: " label on smaller screens. */
+               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 10px;
+       }
+
+       .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:not(.active):hover .theme-actions,
+       .theme:not(.active):focus .theme-actions,
+       .theme:hover .more-details,
+       .theme:focus .more-details {
+               display: none;
+       }
+
+       .theme-browser.rendered .theme:hover .theme-screenshot img,
+       .theme-browser.rendered .theme:focus .theme-screenshot img {
+               opacity: 1.0;
+       }
+}
+
+@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-update,
+       .theme-overlay .theme-description {
+               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 0;
+       }
+
+       .theme-overlay .current-label {
+               margin-top: 10px;
+               font-size: 13px;
+       }
+
+       .themes-php .wrap h2 {
+               width: 100%;
+       }
+
+       .themes-php .theme-search {
+               float: none;
+               clear: both;
+               left: 0;
+               top: 0;
+               right: 0;
+               margin: 10px 0;
+               width: 100%;
+       }
+
+       .theme-browser .theme.add-new-theme span:after {
+               font: normal 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;
+}
+
+
+/*------------------------------------------------------------------------------
+  16.2 - Install Themes
+------------------------------------------------------------------------------*/
+
+/* Already installed theme */
+.theme-browser .theme .theme-installed {
+       background: #0074a2;
+}
+.theme-browser .theme .theme-installed:before {
+       content: '\f147';
+}
+.theme-browser .theme.is-installed .theme-actions .button-primary {
+       display: none !important;
+}
+
+.theme-navigation {
+       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);
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       color: #555;
+       display: inline-block;
+       font-size: 13px;
+       margin: 20px 0 30px;
+       padding: 0 20px;
+       position: relative;
+       width: 100%;
+}
+.theme-install-php a.upload,
+.theme-install-php a.browse-themes {
+       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-theme {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       display: none;
+       margin: 0px 0 0;
+       padding: 0;
+       width: 100%;
+       overflow: hidden;
+       position: relative;
+       top: 10px;
+}
+body.show-upload-theme .upload-theme {
+       display: block;
+}
+.upload-theme .wp-upload-form {
+       background: #fafafa;
+       border: 1px solid #e5e5e5;
+       padding: 30px;
+       margin: 30px auto;
+       max-width: 380px;
+}
+.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 + .theme-navigation,
+body.show-upload-theme .upload-theme + .theme-navigation + .theme-browser {
+       display: none;
+}
+.theme-navigation .theme-count {
+       margin-left: 0;
+       position: absolute;
+       top: 12px;
+}
+.theme-count + .theme-section {
+       margin-left: 60px;
+}
+.theme-section,
+.theme-filter {
+       border-bottom: 4px solid #fff;
+       color: #666;
+       cursor: pointer;
+       display: inline-block;
+       margin: 0 10px;
+       padding: 15px 0;
+}
+.theme-section.current,
+.theme-filter.current {
+       border-bottom: 4px solid #666;
+       color: #222;
+}
+.theme-top-filters {
+       display: inline-block;
+}
+.theme-navigation .more-filters {
+       color: #666;
+       cursor: pointer;
+       display: inline-block;
+       margin: 0 10px;
+       padding: 4px 6px;
+}
+body.more-filters-opened .more-filters,
+body.more-filters-opened .more-filters:before {
+       background: #777;
+       -webkit-border-radius: 2px;
+       border-radius: 2px;
+       border: none;
+       color: #fff;
+}
+
+body.more-filters-opened .more-filters:hover,
+body.more-filters-opened .more-filters:focus,
+body.more-filters-opened .more-filters:hover:before,
+body.more-filters-opened .more-filters:focus:before {
+       background: rgb(46, 162, 204);
+}
+
+.theme-install-php .theme-search {
+       position: absolute;
+       right: 10px;
+       top: 9px;
+       font-size: 16px;
+       font-weight: 300;
+       line-height: 1.5;
+       width: 280px;
+}
+.more-filters:before {
+       color: #777;
+       text-align: center;
+       margin: 0 5px 0 0;
+       content: "\f111";
+       display: inline-block;
+       width: 16px;
+       height: 16px;
+       -webkit-font-smoothing: antialiased;
+       font-size: 16px;
+       line-height: 1;
+       font-family: "dashicons";
+       text-decoration: inherit;
+       font-weight: normal;
+       font-style: normal;
+       vertical-align: top;
+       -webkit-transition: color .1s ease-in 0;
+       transition: color .1s ease-in 0;
+       text-align: center;
+}
+.more-filters.current:before {
+       color: #fff;
+}
+.more-filters-container {
+       display: none;
+       padding: 20px;
+       border-top: 1px solid #eee;
+       margin: 0 -20px;
+       background: #fafafa;
+}
+body.more-filters-opened .more-filters-container {
+       display: block;
+       overflow: hidden;
+}
+body.more-filters-opened .theme-section.current {
+       border-bottom: none;
+}
+body.more-filters-opened .theme-browser,
+body.more-filters-opened.filters-applied.loading-themes .theme-browser {
+       display: none;
+}
+body.more-filters-opened.filters-applied .theme-browser {
+       display: block;
+}
+.more-filters-container .filters-group {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       float: left;
+       width: 19%;
+       background: #fff;
+       margin: 0 1% 0 0;
+       border: 1px solid #e5e5e5;
+       -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       padding: 10px;
+}
+.more-filters-container .wide-filters-group {
+       width: 38%;
+}
+.more-filters-container .feature-name {
+       margin: 0;
+       position: relative;
+}
+.more-filters-container ol {
+       list-style-type: none;
+       margin: 20px 0 0;
+       font-size: 12px;
+}
+.more-filters-container li {
+       display: inline-block;
+       vertical-align: top;
+       list-style-type: none;
+       margin: 5px 0;
+       padding-right: 25px;
+       width: 160px;
+}
+.theme-navigation .more-filters-container .apply-filters {
+       margin: 0 0 20px;
+}
+.theme-navigation .more-filters-container .clear-filters {
+       display: none;
+       margin: 0 0 20px 10px;
+}
+.more-filters-container .apply-filters span {
+       display: inline-block;
+       font-size: 12px;
+       text-indent: 10px;
+       opacity: 0.8;
+}
+.more-filters-container .filtering-by {
+       display: none;
+       margin: 0;
+}
+.more-filters-container .filtering-by > span {
+       font-weight: 600;
+}
+.more-filters-container .filtering-by .tags {
+       display: inline;
+}
+.more-filters-container .filtering-by .tag {
+       background: #fff;
+       border: 1px solid #e5e5e5;
+       -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       box-shadow: 0 1px 1px rgba(0,0,0,0.04);
+       font-size: 11px;
+       margin: 0 5px;
+       padding: 4px 8px;
+}
+.more-filters-container .filtering-by a {
+       margin-left: 10px;
+}
+body.filters-applied .more-filters-container .filters-group,
+body.filters-applied .more-filters-container a.button,
+body.filters-applied .more-filters-container br {
+       display: none !important;
+}
+body.filters-applied .more-filters-container .filtering-by {
+       display: block;
+}
+body.filters-applied .more-filters-container {
+       padding: 20px;
+}
+p.no-themes {
+       color: #999;
+       font-size: 18px;
+       font-style: normal;
+       margin: 0;
+       padding: 0;
+       text-align: center;
+       display: none;
+}
+body.no-results p.no-themes {
+       display: block;
+}
+body.show-upload-theme p.no-themes {
+       display: none !important;
+}
+
+
+.theme-install-php .add-new-theme {
+       display: none !important;
+}
+
+@media only screen and (max-width: 1120px) {
+       .theme-install-php .theme-search {
+               margin: 20px 0;
+               position: static;
+               width: 100%;
+       }
+       .more-filters-container {
+               border-bottom: 1px solid #eee;
+       }
+       .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;
+       }
+       .more-filters-container .filters-group {
+               margin-bottom: 0;
+               margin-top: 5px;
+               width: 100%;
+       }
+       .more-filters-container .filters-group li {
+               margin: 10px 0;
+       }
+}
+
+@media only screen and (max-width: 782px) {
+       .more-filters-container .filters-group {
+               width: 100%;
+       }
+       .more-filters-container .filters-group li {
+               width: 100%;
+       }
+}
+
+.rating {
+       margin: 30px 0;
+}
+.rating span:before {
+       color: #e6b800;
+       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 {
+       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 {
+       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 {
+       display: inline;
+       margin-left: 10px;
+       line-height: 20px;
+       color: #999;
+}
+.loading-themes .theme-browser,
+.error .theme-browser {
+       display: none;
+}
+.loading-themes .spinner {
+       display: block;
+       margin: 40px auto 0;
+       float: none;
+}
+
+/*------------------------------------------------------------------------------
+  16.3 - Custom Header Screen
+------------------------------------------------------------------------------*/
+
+.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;
+}
+
+
+/*------------------------------------------------------------------------------
+  16.4 - Custom Background Screen
+------------------------------------------------------------------------------*/
+
+div#custom-background-image {
+       min-height: 100px;
+       border: 1px solid #dfdfdf;
+}
+
+div#custom-background-image img {
+       max-width: 400px;
+       max-height: 300px;
+}
+
+/*------------------------------------------------------------------------------
+  23.0 - Full Overlay w/ Sidebar
+------------------------------------------------------------------------------*/
+
+body.full-overlay-active {
+       overflow: hidden;
+}
+
+.wp-full-overlay {
+       background: transparent;
+       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;
+       overflow: auto;
+       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%;
+}
+
+.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;
+}
+
+/* Close Link */
+.wp-full-overlay .close-full-overlay {
+       text-decoration: none;
+}
+
+/* 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;
+       padding: 0;
+       -webkit-border-radius: 50%;
+       border-radius: 50%;
+       color: #777;
+       text-decoration: none;
+}
+
+.wp-full-overlay a.collapse-sidebar:hover {
+       color: #0074a2;
+}
+
+.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: none;
+}
+
+.wp-full-overlay .collapse-sidebar-arrow:before {
+       -webkit-border-radius: 50%;
+       border-radius: 50%;
+       float: left;
+       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;
+}
+
+.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);
+}
+
+.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 .theme-navigation {
+       padding: 10px 20px;
+       position: absolute;
+               bottom: 10px;
+       text-align: left;
+}
+.wp-full-overlay .theme-navigation .next-theme {
+       float: right;
+}
+.wp-full-overlay.no-navigation .theme-navigation {
+       display: none;
+}
+
+/* Animations */
+.wp-full-overlay,
+.wp-full-overlay-sidebar,
+.wp-full-overlay .collapse-sidebar,
+.wp-full-overlay-main {
+       -webkit-transition-property: left, right, top, bottom, width, margin;
+       transition-property: left, right, top, bottom, width, margin;
+       -webkit-transition-duration: 0.2s;
+       transition-duration: 0.2s;
+}
+
+/*------------------------------------------------------------------------------
+  24.0 - Customize Loader
+------------------------------------------------------------------------------*/
+
+.no-customize-support .hide-if-no-customize,
+.customize-support .hide-if-customize,
+.no-customize-support.wp-core-ui .hide-if-no-customize,
+.no-customize-support .wp-core-ui .hide-if-no-customize,
+.customize-support.wp-core-ui .hide-if-customize,
+.customize-support .wp-core-ui .hide-if-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: #fff url(../images/spinner.gif) no-repeat fixed center center;
+       -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 0.3s;
+       transition: opacity 0.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 {
+       margin-top: 9px;
+}
+
+.theme-install-overlay .wp-full-overlay-header .theme-install {
+       float: right;
+       /* For when .theme-install is a span rather than a.button-primary (already installed theme) */
+       line-height: 26px;
+}
+
+.theme-install-overlay .wp-full-overlay-sidebar {
+       background: #EEE;
+       border-right: 1px solid #DDD;
+}
+
+.theme-install-overlay .wp-full-overlay-main {
+       background: #fff url(../images/spinner.gif) no-repeat center center;
+       -webkit-background-size: 20px 20px;
+       background-size: 20px 20px;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+/**
+ * HiDPI Displays
+ */
+@media print,
+  (-o-min-device-pixel-ratio: 5/4),
+  (-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-loading #customize-container,
+       .theme-install-overlay .wp-full-overlay-main {
+               background-image: url(../images/spinner-2x.gif);
+       }
+}
+
+@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;
+       }
+}
diff --git a/wp-admin/css/widgets-rtl.css b/wp-admin/css/widgets-rtl.css
new file mode 100644 (file)
index 0000000..be4d9c3
--- /dev/null
@@ -0,0 +1,574 @@
+/* General Widgets Styles */
+
+.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 {
+       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 15px;
+       line-height: 16px;
+}
+
+.in-widget-title,
+#widgets-right a.widget-control-edit,
+#available-widgets .widget-description {
+       color: #666;
+}
+
+.deleting .widget-title,
+.deleting .widget-top a.widget-action:after {
+       color: #aaa;
+}
+
+/* Widget Dragging Helpers */
+.widget.ui-draggable-dragging {
+       min-width: 100%;
+}
+
+.widget.ui-sortable-helper {
+       opacity: 0.8;
+}
+
+.widget-placeholder {
+       border: 1px dashed #bbb;
+       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;
+}
+
+/* Widget Sidebars */
+.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;
+}
+
+/* Widgets 2-col Layout */
+div.widget-liquid-left {
+       margin: 0;
+       width: 38%;
+       float: right;
+}
+
+div.widget-liquid-right {
+       float: left;
+       width: 58%;
+}
+
+/* Widgets Left - Available Widgets */
+
+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: transparent;
+       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;
+}
+
+/* Inactive Sidebars */
+#widgets-left .inactive-sidebar {
+       clear: both;
+       width: 100%;
+       background: transparent;
+       padding: 0;
+       margin: 0 0 20px 0;
+       border: none;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+#widgets-left .inactive-sidebar.first {
+       margin-top: 40px;
+}
+
+/* Not sure what this is for... */
+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: transparent;
+       margin: 0;
+       position: relative;
+}
+
+/* Widgets Right */
+
+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 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 {
+       margin: -5px 5px;
+       float: none;
+}
+
+/* Dragging a widget over a closed sidebar */
+#widgets-right .widgets-holder-wrap.widget-hover {
+       border-color: #777;
+       -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.3);
+       box-shadow: 0 1px 2px rgba(0,0,0,0.3);
+}
+
+/* Accessibility Mode */
+.widgets_access #widgets-left .widget .widget-top {
+       cursor: auto;
+}
+
+.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,
+.widgets_access #wpwrap .widgets-holder-wrap.closed .widget,
+.widgets_access #wpwrap .widget-control-edit {
+       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: 1px solid #444;
+}
+
+.widgets-holder-wrap .sidebar-name,
+.widgets-holder-wrap .sidebar-description {
+       -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 .widgets-holder-wrap.closed .widget,
+.js .widgets-holder-wrap.closed .sidebar-description,
+.js .closed br.clear {
+       display: none;
+}
+
+/* Hide Widget Settings by Default */
+.widget-inside,
+.widget-description {
+       display: none;
+}
+
+.widget-inside {
+       background: #fff;
+}
+
+/* Dragging widgets over the available widget area show's a "Deactivate" message */
+#removing-widget {
+       display: none;
+       font-weight: normal;
+       padding-right: 15px;
+       font-size: 12px;
+       line-height: 1;
+       color: black;
+}
+
+.js #removing-widget {
+       color: #2ea2cc;
+}
+
+.widget-control-noform,
+#access-off,
+.widgets_access .widget-action,
+.widgets_access .sidebar-name-arrow,
+.widgets_access #access-on,
+.widgets_access .widget-holder .description,
+.no-js .widget-holder .description {
+       display: none;
+}
+
+.widgets_access .widget-holder,
+.widgets_access #widget-list {
+       padding-top: 10px;
+}
+
+.widgets_access #access-off {
+       display: inline;
+}
+
+.widgets_access .sidebar-name,
+.widgets_access .widget .widget-top {
+       cursor: default;
+}
+
+
+/* Widgets Area Chooser */
+.widget-liquid-left #widgets-left.chooser #available-widgets .widget,
+.widget-liquid-left #widgets-left.chooser .inactive-sidebar {
+       -webkit-transition: opacity 0.1s linear;
+       transition: opacity 0.1s linear;
+}
+
+.widget-liquid-left #widgets-left.chooser #available-widgets .widget,
+.widget-liquid-left #widgets-left.chooser .inactive-sidebar {
+       /* -webkit-filter: blur(1px); */
+       opacity: 0.2;
+       pointer-events: none;
+}
+
+.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question {
+       /* -webkit-filter: none; */
+       opacity: 1;
+       pointer-events: auto;
+}
+
+.widgets-chooser ul,
+#widgets-left .widget-in-question .widget-top,
+#available-widgets .widget-top:hover,
+div#widgets-right .widget-top:hover,
+#widgets-left .widget-top:hover {
+       border-color: #999;
+       -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1);
+       box-shadow: 0 1px 2px rgba(0,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: none;
+       position: relative;
+       -webkit-transition: background 0.2s ease-in-out;
+       transition: background 0.2s ease-in-out;
+}
+
+.widgets-chooser li:hover,
+.widgets-chooser li:focus {
+       background: rgba(255,255,255,0.7);
+}
+
+.widgets-chooser li:focus:before {
+       content: '\f147';
+       display: block;
+       -webkit-font-smoothing: antialiased;
+       font: normal 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: #2ea2cc;
+       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: normal 26px/1 'dashicons';
+       color: #fff;
+       position: absolute;
+       top: 7px;
+       right: 5px;
+}
+
+.widgets-chooser .widgets-chooser-actions {
+       padding: 10px 0 12px 0;
+       text-align: center;
+}
+
+.widgets-chooser button {
+       margin-left: 5px;
+}
+
+#available-widgets .widget .widget-top {
+       cursor: pointer;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+@media screen and (max-width: 480px) {
+       div.widget-liquid-left {
+               width: 100%;
+               float: none;
+               border-left: none;
+               padding-left: 0;
+       }
+
+       #widgets-left .sidebar-name {
+               margin-left: 0;
+       }
+
+       #widgets-left #available-widgets .widget-top {
+               margin-left: 0;
+       }
+
+       #widgets-left .inactive-sidebar .widgets-sortables {
+               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;
+       }
+}
diff --git a/wp-admin/css/widgets.css b/wp-admin/css/widgets.css
new file mode 100644 (file)
index 0000000..75014f6
--- /dev/null
@@ -0,0 +1,574 @@
+/* General Widgets Styles */
+
+.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 {
+       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 15px;
+       line-height: 16px;
+}
+
+.in-widget-title,
+#widgets-right a.widget-control-edit,
+#available-widgets .widget-description {
+       color: #666;
+}
+
+.deleting .widget-title,
+.deleting .widget-top a.widget-action:after {
+       color: #aaa;
+}
+
+/* Widget Dragging Helpers */
+.widget.ui-draggable-dragging {
+       min-width: 100%;
+}
+
+.widget.ui-sortable-helper {
+       opacity: 0.8;
+}
+
+.widget-placeholder {
+       border: 1px dashed #bbb;
+       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;
+}
+
+/* Widget Sidebars */
+.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;
+}
+
+/* Widgets 2-col Layout */
+div.widget-liquid-left {
+       margin: 0;
+       width: 38%;
+       float: left;
+}
+
+div.widget-liquid-right {
+       float: right;
+       width: 58%;
+}
+
+/* Widgets Left - Available Widgets */
+
+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: transparent;
+       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;
+}
+
+/* Inactive Sidebars */
+#widgets-left .inactive-sidebar {
+       clear: both;
+       width: 100%;
+       background: transparent;
+       padding: 0;
+       margin: 0 0 20px 0;
+       border: none;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+#widgets-left .inactive-sidebar.first {
+       margin-top: 40px;
+}
+
+/* Not sure what this is for... */
+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: transparent;
+       margin: 0;
+       position: relative;
+}
+
+/* Widgets Right */
+
+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 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 {
+       margin: -5px 5px;
+       float: none;
+}
+
+/* Dragging a widget over a closed sidebar */
+#widgets-right .widgets-holder-wrap.widget-hover {
+       border-color: #777;
+       -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.3);
+       box-shadow: 0 1px 2px rgba(0,0,0,0.3);
+}
+
+/* Accessibility Mode */
+.widgets_access #widgets-left .widget .widget-top {
+       cursor: auto;
+}
+
+.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,
+.widgets_access #wpwrap .widgets-holder-wrap.closed .widget,
+.widgets_access #wpwrap .widget-control-edit {
+       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: 1px solid #444;
+}
+
+.widgets-holder-wrap .sidebar-name,
+.widgets-holder-wrap .sidebar-description {
+       -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 .widgets-holder-wrap.closed .widget,
+.js .widgets-holder-wrap.closed .sidebar-description,
+.js .closed br.clear {
+       display: none;
+}
+
+/* Hide Widget Settings by Default */
+.widget-inside,
+.widget-description {
+       display: none;
+}
+
+.widget-inside {
+       background: #fff;
+}
+
+/* Dragging widgets over the available widget area show's a "Deactivate" message */
+#removing-widget {
+       display: none;
+       font-weight: normal;
+       padding-left: 15px;
+       font-size: 12px;
+       line-height: 1;
+       color: black;
+}
+
+.js #removing-widget {
+       color: #2ea2cc;
+}
+
+.widget-control-noform,
+#access-off,
+.widgets_access .widget-action,
+.widgets_access .sidebar-name-arrow,
+.widgets_access #access-on,
+.widgets_access .widget-holder .description,
+.no-js .widget-holder .description {
+       display: none;
+}
+
+.widgets_access .widget-holder,
+.widgets_access #widget-list {
+       padding-top: 10px;
+}
+
+.widgets_access #access-off {
+       display: inline;
+}
+
+.widgets_access .sidebar-name,
+.widgets_access .widget .widget-top {
+       cursor: default;
+}
+
+
+/* Widgets Area Chooser */
+.widget-liquid-left #widgets-left.chooser #available-widgets .widget,
+.widget-liquid-left #widgets-left.chooser .inactive-sidebar {
+       -webkit-transition: opacity 0.1s linear;
+       transition: opacity 0.1s linear;
+}
+
+.widget-liquid-left #widgets-left.chooser #available-widgets .widget,
+.widget-liquid-left #widgets-left.chooser .inactive-sidebar {
+       /* -webkit-filter: blur(1px); */
+       opacity: 0.2;
+       pointer-events: none;
+}
+
+.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question {
+       /* -webkit-filter: none; */
+       opacity: 1;
+       pointer-events: auto;
+}
+
+.widgets-chooser ul,
+#widgets-left .widget-in-question .widget-top,
+#available-widgets .widget-top:hover,
+div#widgets-right .widget-top:hover,
+#widgets-left .widget-top:hover {
+       border-color: #999;
+       -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1);
+       box-shadow: 0 1px 2px rgba(0,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: none;
+       position: relative;
+       -webkit-transition: background 0.2s ease-in-out;
+       transition: background 0.2s ease-in-out;
+}
+
+.widgets-chooser li:hover,
+.widgets-chooser li:focus {
+       background: rgba(255,255,255,0.7);
+}
+
+.widgets-chooser li:focus:before {
+       content: '\f147';
+       display: block;
+       -webkit-font-smoothing: antialiased;
+       font: normal 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: #2ea2cc;
+       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: normal 26px/1 'dashicons';
+       color: #fff;
+       position: absolute;
+       top: 7px;
+       left: 5px;
+}
+
+.widgets-chooser .widgets-chooser-actions {
+       padding: 10px 0 12px 0;
+       text-align: center;
+}
+
+.widgets-chooser button {
+       margin-right: 5px;
+}
+
+#available-widgets .widget .widget-top {
+       cursor: pointer;
+}
+
+/* =Media Queries
+-------------------------------------------------------------- */
+
+@media screen and (max-width: 480px) {
+       div.widget-liquid-left {
+               width: 100%;
+               float: none;
+               border-right: none;
+               padding-right: 0;
+       }
+
+       #widgets-left .sidebar-name {
+               margin-right: 0;
+       }
+
+       #widgets-left #available-widgets .widget-top {
+               margin-right: 0;
+       }
+
+       #widgets-left .inactive-sidebar .widgets-sortables {
+               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;
+       }
+}
index 5bd9f155fe36d661c99856d13d4eb250e9e083e7..c45d5b14505ea8e7c9fbacdb16ea54d8795652b9 100644 (file)
-/*------------------------------------------------------------------------------
-
-
-Hello, this is the main WordPress admin CSS file.
-All the important stuff is in here.
-
-
-TABLE OF CONTENTS:
-------------------
- 1.0 - Text Elements
- 2.0 - Forms
- 3.0 - Actions
- 4.0 - Notifications
- 5.0 - TinyMCE
- 6.0 - Admin Header
-       6.1 - Screen Options Tabs
-       6.2 - Help Menu
- 7.0 - Main Navigation
- 8.0 - Layout Blocks
- 9.0 - Dashboard
-10.0 - List Posts
-       10.1 - Inline Editing
-11.0 - Write/Edit Post Screen
-       11.1 - Custom Fields
-       11.2 - Post Revisions
-       11.3 - Featured Images
-       11.4 - Post Format Selection
-12.0 - Categories
-13.0 - Tags
-14.0 - Media Screen
-       14.1 - Media Library
-       14.2 - Image Editor
-15.0 - Comments Screen
-16.0 - Themes
-       16.1 - Manage Themes
-       16.2 - Install Themes
-       16.3 - Custom Header
-       16.4 - Custom Background
-17.0 - Plugins
-18.0 - Users
-19.0 - Tools
-20.0 - Settings
-21.0 - Admin Footer
-22.0 - About Pages
-23.0 - Full Overlay w/ Sidebar
-24.0 - Customize Loader
-25.0 - Tabbed Admin Screen Interface
-26.0 - Misc
-27.0 - Localization
-
-------------------------------------------------------------------------*/
-
-/* 2 column liquid layout */
-#wpwrap {
-       height: auto;
-       min-height: 100%;
-       width: 100%;
-       position: relative;
-       -webkit-font-smoothing: subpixel-antialiased;
-}
-
-#wpcontent {
-       height: 100%;
-}
-
-#wpcontent,
-#wpfooter {
-       margin-right: 180px;
-}
-
-.folded #wpcontent,
-.folded #wpfooter {
-       margin-right: 56px;
-}
-
-#wpbody-content {
-       padding-bottom: 65px;
-       float: right;
-       width: 100%;
-       overflow: visible !important;
-}
-
-#adminmenuback,
-#adminmenuwrap,
-#adminmenu,
-#adminmenu .wp-submenu {
-       width: 160px;
-}
-
-#adminmenuback {
-       position: absolute;
-       top: 0;
-       bottom: 0;
-       z-index: -1;
-}
-
-#adminmenu {
-       clear: right;
-       margin: 12px 0 0;
-       padding: 0;
-       list-style: none;
-}
-
-.folded #adminmenuback,
-.folded #adminmenuwrap,
-.folded #adminmenu,
-.folded #adminmenu li.menu-top {
-       width: 36px;
-}
-
-/* inner 2 column liquid layout */
-
-.inner-sidebar {
-       float: left;
-       clear: left;
-       display: none;
-       width: 281px;
-       position: relative;
-}
-
-.columns-2 .inner-sidebar {
-       margin-left: auto;
-       width: 286px;
-       display: block;
-}
-
-.inner-sidebar #side-sortables,
-.columns-2 .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;
-}
-
-/* 2 columns main area */
-
-#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;
-}
-
-/* utility classes */
-.alignleft {
-       float: right;
-}
-
-.alignright {
-       float: left;
-}
-
-.textleft {
-       text-align: right;
-}
-
-.textright {
-       text-align: left;
-}
-
-.clear {
-       clear: both;
-}
-
-/* Hide visually but not from screen readers */
-.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: none;
-}
-
-.hidden,
-.js .closed .inside,
-.js .hide-if-js,
-.no-js .hide-if-no-js,
-.js.wp-core-ui .hide-if-js,
-.js .wp-core-ui .hide-if-js,
-.no-js.wp-core-ui .hide-if-no-js,
-.no-js .wp-core-ui .hide-if-no-js {
-       display: none;
-}
-
-/* include margin and padding in the width calculation of input and textarea */
-input,
-input[type="text"],
-input[type="password"],
-input[type="number"],
-input[type="search"],
-input[type="email"],
-input[type="url"],
-textarea {
-       -moz-box-sizing: border-box;
-       -webkit-box-sizing: border-box;
-       -ms-box-sizing: border-box; /* ie8 only */
-       box-sizing: border-box;
-}
-
-input[type="checkbox"],
-input[type="radio"] {
-       border-width: 1px;
-       border-style: solid;
-       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-sizing: border-box;
-       box-sizing: border-box;
-}
-
-td > input[type="checkbox"],
-.wp-admin p input[type=checkbox],
-.wp-admin p input[type=radio] {
-       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] {
-       border-radius: 50%;
-       margin-left: 4px;
-       line-height: 10px;
-}
-
-input[type=checkbox]:disabled,
-input[type=radio]:disabled,
-input[type=checkbox]:disabled:checked:before,
-input[type=radio]:disabled:checked:before {
-       opacity: 0.7;
-}
-
-input[type=checkbox]:checked:before,
-input[type=radio]:checked:before {
-       float: right;
-       display: inline-block;
-       vertical-align: middle;
-       width: 16px;
-       font: normal 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;
-}
-
-input[type=radio]:checked:before {
-       content: '\2022';
-       text-indent: -9999px;
-       border-radius: 50px;
-       font-size: 24px;
-       width: 6px;
-       height: 6px;
-       margin: 4px;
-       line-height: 16px;
-}
-
-@-moz-document url-prefix() {
-       input[type=checkbox],
-       input[type=radio],
-       .form-table input.tog {
-               margin-bottom: -1px;
-       }
-}
-
-/* Search */
-input[type="search"] {
-       -webkit-appearance: textfield;
-}
-
-input[type="search"]::-webkit-search-decoration {
-       display: none;
-}
-
-.ie8 input[type="password"],
-.ie8 .login form .input {
-       font-family: sans-serif;
-}
-
-/* general */
-html,
-body {
-       height: 100%;
-       margin: 0;
-       padding: 0;
-}
-
-body {
-       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.login {
-       background: #fbfbfb;
-       min-width: 0;
-}
-
-iframe,
-img {
-       border: 0;
-}
-
-td,
-textarea,
-input,
-select,
-button {
-       font-family: inherit;
-       font-size: inherit;
-       font-weight: inherit;
-}
-
-td,
-textarea {
-       line-height: inherit;
-}
-
-textarea {
-       overflow: auto;
-}
-
-textarea,
-input,
-select {
-       font-size: 14px;
-       padding: 3px 5px;
-       line-height: 15px;
-       border-radius: 0; /* Reset mobile webkit's default element styling */
-}
-
-textarea {
-       padding: 2px 6px;
-       line-height: 1.4;
-}
-
-a,
-input[type="text"],
-input[type="password"],
-input[type="number"],
-input[type="search"],
-input[type="email"],
-input[type="url"],
-textarea,
-div,
-select {
-       outline: 0;
-}
-
-.wp-admin input[type="file"] {
-       padding: 3px 0;
-}
-
-a:focus,
-a:active {
-       outline: thin dotted;
-}
-
-#adminmenu a:focus,
-#adminmenu a:active,
-.screen-reader-text:focus {
-       outline: none;
-}
-
-blockquote,
-q {
-       quotes: none;
-}
-
-blockquote:before,
-blockquote:after,
-q:before,
-q:after {
-       content: '';
-       content: none;
-}
-
-p,
-.wp_attachment_details label[for="content"] {
-       font-size: 13px;
-       line-height: 1.5;
-       margin: 1em 0;
-}
-
-blockquote {
-       margin: 1em;
-}
-
-label {
-       cursor: pointer;
-}
-
-li,
-dd {
-       margin-bottom: 6px;
-}
-
-input,
-select {
-       margin: 1px;
-       padding: 3px 5px;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-       display: block;
-       font-weight: 600;
-}
-
-h1 {
-       font-size: 2em;
-       margin: .67em 0;
-}
-
-h2 {
-       font-size: 1.5em;
-       margin: .83em 0;
-       font-weight: 400;
-}
-
-h3 {
-       font-size: 1.3em;
-       margin: 1em 0;
-}
-
-h4 {
-       font-size: 1em;
-       margin: 1.33em 0;
-}
-
-h5 {
-       font-size: 0.83em;
-       margin: 1.67em 0;
-}
-
-h6 {
-       font-size: 0.67em;
-       margin: 2.33em 0;
-}
-
-ul,
-ol {
-       padding: 0;
-}
-
-ul {
-       list-style: none;
-}
-
-ol {
-       list-style-type: decimal;
-       margin-right: 2em;
-}
-
-ul.ul-disc {
-       list-style: disc outside;
-}
-
-ul.ul-square {
-       list-style: square outside;
-}
-
-ol.ol-decimal {
-       list-style: decimal outside;
-}
-
-ul.ul-disc,
-ul.ul-square,
-ol.ol-decimal {
-       margin-right: 1.8em;
-}
-
-ul.ul-disc > li,
-ul.ul-square > li,
-ol.ol-decimal > li {
-       margin: 0 0 0.5em;
-}
-
-/* @noflip */
-.code,
-code {
-       font-family: Consolas, Monaco, monospace;
-       direction: ltr;
-}
-
-input.code {
-       padding-top: 6px;
-}
-
-textarea.code {
-       line-height: 1.4;
-       padding: 4px 6px 1px 6px;
-}
-
-kbd,
-code {
-       padding: 3px 5px 2px 5px;
-       margin: 0 1px;
-       font-size: 13px;
-}
-
-.subsubsub {
-       list-style: none;
-       margin: 8px 0 0;
-       padding: 0;
-       font-size: 13px;
-       float: right;
-}
-
-.subsubsub a {
-       line-height: 2;
-       padding: .2em;
-       text-decoration: none;
-}
-
-.subsubsub a .count,
-.subsubsub a.current .count {
-       color: #999;
-       font-weight: normal;
-}
-
-.subsubsub a.current {
-       font-weight: 600;
-       border: none;
-}
-
-.subsubsub li {
-       display: inline-block;
-       margin: 0;
-       padding: 0;
-       white-space: nowrap;
-}
-
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="email"],
-input[type="number"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-select,
-.tablenav-pages span.current,
-#titlediv #title,
-#postcustomstuff table,
-#postcustomstuff input,
-#postcustomstuff textarea,
-.imgedit-menu div,
-.plugin-update-tr .update-message,
-#poststuff .inside .the-tagcloud,
-.nav-menus-php .list-container,
-.menu-item-handle,
-.link-to-original,
-.nav-menus-php .major-publishing-actions .form-invalid,
-#TB_window,
-.tbtitle,
-.highlight {
-       border-width: 1px;
-       border-style: solid;
-}
-
-/* .widefat - main style for tables */
-.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 tfoot th {
-       border-bottom: none;
-}
-
-.widefat .no-items td {
-       border-bottom-width: 0;
-}
-
-.widefat td {
-       vertical-align: top;
-}
-
-.widefat td,
-.widefat td p,
-.widefat td ol,
-.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 tbody th.check-column {
-       padding: 9px 0 22px;
-}
-
-.widefat.media .check-column {
-       padding-top: 8px;
-}
-
-.widefat thead th.check-column,
-.widefat tbody th.check-column,
-.widefat tfoot th.check-column {
-       padding: 11px 3px 0 0;
-}
-
-.widefat thead th.check-column {
-       padding-top: 10px;
-}
-
-.plugins tbody th.check-column,
-.plugins tbody {
-       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 thead th.check-column,
-.plugins tfoot th.check-column,
-.plugins .inactive th.check-column {
-       padding-right: 6px;
-}
-
-.upgrade .plugins td,
-.upgrade .plugins th {
-       -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);
-}
-
-.upgrade .plugins tr:last-of-type td,
-.upgrade .plugins tr:last-of-type th {
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-#update-plugins-table thead th.check-column,
-#update-plugins-table tfoot th.check-column {
-       padding-top: 11px;
-}
-
-.update-php div.updated,
-.update-php div.error {
-       margin-right: 0;
-}
-
-.no-js .widefat thead .check-column input,
-.no-js .widefat tfoot .check-column input {
-       display: none;
-}
-
-.widefat .num,
-.column-comments,
-.column-links,
-.column-posts {
-       text-align: center;
-}
-
-.widefat th#comments {
-       vertical-align: middle;
-}
-
-.wrap {
-       margin: 10px 2px 0 20px;
-}
-
-div.updated,
-div.error {
-       padding: 0 0.6em;
-       margin: 5px 15px 2px;
-}
-
-div.updated p,
-div.error p {
-       margin: 0.5em 0;
-       padding: 2px;
-}
-
-.wrap div.updated,
-.wrap div.error,
-.media-upload-form div.error {
-       margin: 5px 0 15px;
-}
-
-div.updated,
-.login .message,
-.press-this #message {
-       border: none;
-       padding: 1px 12px;
-}
-
-div.error,
-.login #login_error {
-       border: none;
-}
-
-div.error {
-       padding: 1px 12px;
-}
-
-.wrap h2,
-.subtitle {
-       font-weight: normal;
-       margin: 0;
-}
-
-.wrap h2 {
-       font-size: 23px;
-       font-weight: 400;
-       padding: 9px 0 4px 15px;
-       line-height: 29px;
-}
-
-.subtitle {
-       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;
-       border-radius: 2px;
-       text-shadow: none;
-       font-weight: 600;
-       font-size: 13px;
-}
-
-.wrap h2.long-header {
-       padding-left: 0;
-}
-
-html,
-.wp-dialog {
-       background-color: #fff;
-}
-
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="email"],
-input[type="number"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-select {
-       background-color: #fff;
-       color: #333;
-}
-
-select[disabled] {
-       color: #7f7f7f;
-}
-
-select:focus {
-       border-color: #aaa;
-}
-
-textarea:focus,
-input[type="text"]:focus,
-input[type="password"]:focus,
-input[type="email"]:focus,
-input[type="number"]:focus,
-input[type="search"]:focus,
-input[type="tel"]:focus,
-input[type="url"]:focus,
-input[type="checkbox"]:focus,
-input[type="radio"]:focus,
-select:focus,
-.widgets-chooser ul,
-#widgets-left .widget-in-question .widget-top,
-#available-widgets .widget-top:hover,
-div#widgets-right .widget-top:hover {
-       -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1);
-       box-shadow: 0 1px 2px rgba(0,0,0,0.1);
-}
-
-input[readonly] {
-       background-color: #eee;
-}
-
-:-moz-placeholder,
-.wp-core-ui :-moz-placeholder {
-   color: #a9a9a9;
-}
-
-/*------------------------------------------------------------------------------
-  1.0 - Text Styles
-------------------------------------------------------------------------------*/
-
-.widget .widget-top,
-.postbox h3,
-.stuffbox h3,
-.control-section .accordion-section-title,
-h3.dashboard-widget-title,
-h3.dashboard-widget-title span,
-h3.dashboard-widget-title small,
-.sidebar-name,
-#nav-menu-header,
-#nav-menu-footer,
-.menu-item-handle,
-.checkbox,
-.side-info,
-#your-profile #rich_editing,
-.widefat thead th,
-.widefat tfoot th {
-       line-height: 1.4em;
-}
-
-.quicktags,
-.search {
-       font-size: 12px;
-}
-
-.icon32 {
-       display: none;
-}
-
-.icon16 {
-       height: 18px;
-       width: 18px;
-       padding: 6px 6px;
-       margin: -6px -8px 0 0;
-       float: right;
-}
-
-/* New Menu icons */
-
-.icon16:before {
-       font: normal 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;
-       -moz-transition:    all .1s ease-in-out;
-       transition:         all .1s ease-in-out;
-}
-
-.icon16.icon-dashboard:before,
-#adminmenu .menu-icon-dashboard div.wp-menu-image:before {
-       content: '\f226';
-}
-
-.icon16.icon-post:before,
-#adminmenu .menu-icon-post div.wp-menu-image:before {
-       content: '\f109';
-}
-
-.icon16.icon-media:before,
-#adminmenu .menu-icon-media div.wp-menu-image:before {
-       content: '\f104';
-}
-
-.icon16.icon-links:before,
-#adminmenu .menu-icon-links div.wp-menu-image:before {
-       content: '\f103';
-}
-
-.icon16.icon-page:before,
-#adminmenu .menu-icon-page div.wp-menu-image:before {
-       content: '\f105';
-}
-
-.icon16.icon-comments:before,
-#adminmenu .menu-icon-comments div.wp-menu-image:before {
-       content: '\f101';
-       margin-top: 1px;
-}
-
-.icon16.icon-appearance:before,
-#adminmenu .menu-icon-appearance div.wp-menu-image:before {
-       content: '\f100';
-}
-
-.icon16.icon-plugins:before,
-#adminmenu .menu-icon-plugins div.wp-menu-image:before {
-       content: '\f106';
-}
-
-.icon16.icon-users:before,
-#adminmenu .menu-icon-users div.wp-menu-image:before {
-       content: '\f110';
-}
-
-.icon16.icon-tools:before,
-#adminmenu .menu-icon-tools div.wp-menu-image:before {
-       content: '\f107';
-}
-
-.icon16.icon-settings:before,
-#adminmenu .menu-icon-settings div.wp-menu-image:before {
-       content: '\f108';
-}
-
-.icon16.icon-site:before,
-#adminmenu .menu-icon-site div.wp-menu-image:before {
-       content: '\f112'
-}
-
-.icon16.icon-generic:before,
-#adminmenu .menu-icon-generic div.wp-menu-image:before {
-       content: '\f111';
-}
-
-/* hide background-image for icons above */
-.icon16.icon-dashboard,
-.menu-icon-dashboard div.wp-menu-image,
-.icon16.icon-post,
-.menu-icon-post div.wp-menu-image,
-.icon16.icon-media,
-.menu-icon-media div.wp-menu-image,
-.icon16.icon-links,
-.menu-icon-links div.wp-menu-image,
-.icon16.icon-page,
-.menu-icon-page div.wp-menu-image,
-.icon16.icon-comments,
-.menu-icon-comments div.wp-menu-image,
-.icon16.icon-appearance,
-.menu-icon-appearance div.wp-menu-image,
-.icon16.icon-plugins,
-.menu-icon-plugins div.wp-menu-image,
-.icon16.icon-users,
-.menu-icon-users div.wp-menu-image,
-.icon16.icon-tools,
-.menu-icon-tools div.wp-menu-image,
-.icon16.icon-settings,
-.menu-icon-settings div.wp-menu-image,
-.icon16.icon-site,
-.menu-icon-site div.wp-menu-image,
-.icon16.icon-generic,
-.menu-icon-generic div.wp-menu-image {
-       background-image: none !important;
-}
-
-.key-labels label {
-       line-height: 24px;
-}
-
-strong, b {
-       font-weight: 600;
-}
-
-.pre {
-       /* https://developer.mozilla.org/en-US/docs/CSS/white-space */
-       white-space: pre-wrap; /* css-3 */
-       word-wrap: break-word; /* IE 5.5 - 7 */
-}
-
-.howto {
-       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;
-}
-
-/*------------------------------------------------------------------------------
-  2.0 - Forms
-------------------------------------------------------------------------------*/
-
-
-.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;
-       -webkit-border-bottom-left-radius: 3px;
-       border-bottom-right-radius: 3px;
-       border-bottom-left-radius: 3px;
-}
-
-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 + p.submit,
-table.form-table + input + p.submit,
-table.form-table + input + input + p.submit {
-       border-top: none;
-       padding-top: 0;
-}
-
-table.widefat span.delete a:hover,
-table.widefat span.trash a:hover,
-table.widefat span.spam a:hover,
-#dashboard_recent_comments .delete a:hover,
-#dashboard_recent_comments .trash a:hover,
-#dashboard_recent_comments .spam a:hover,
-.plugins a.delete:hover,
-#all-plugins-table .plugins a.delete:hover,
-#search-plugins-table .plugins a.delete:hover,
-.submitbox .submitdelete:hover,
-#media-items a.delete:hover,
-#media-items a.delete-permanently:hover,
-#nav-menu-footer .menu-delete:hover {
-       text-decoration: none;
-       border: none;
-}
-
-#minor-publishing-actions input,
-#major-publishing-actions input,
-#minor-publishing-actions .preview {
-       text-align: center;
-}
-
-textarea.all-options,
-input.all-options {
-       width: 250px;
-}
-
-input.large-text,
-textarea.large-text {
-       width: 99%;
-}
-
-input.regular-text,
-#adduser .form-field input {
-       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 #delete_all,
-.tablenav #clear-recent-list {
-       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;
-}
-
-label,
-#your-profile label + a {
-       vertical-align: middle;
-}
-
-fieldset label,
-#your-profile label + a {
-       vertical-align: middle;
-}
-
-.options-media-php label[for*="_size_"],
-#misc-publishing-actions label {
-       vertical-align: baseline;
-}
-
-#misc-publishing-actions label[for="post_status"]:before {
-       content: '\f173';
-       display: inline-block;
-       font: normal 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 {
-       border-style: solid;
-       border-width: 1px;
-       float: right;
-       margin: 13px 1px 5px 5px;
-       padding: 3px 5px;
-       text-align: center;
-       width: 200px;
-       display: none;
-}
-.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"],
-#search-plugins input[name="s"],
-.tagsdiv .newtag {
-       float: right;
-       height: 28px;
-       margin: 0 0 0 4px;
-}
-
-input[type="text"].ui-autocomplete-loading {
-       background: transparent url('../images/loading.gif') no-repeat left center;
-       visibility: visible;
-}
-
-ul#add-to-blog-users {
-       margin: 0 14px 0 0;
-}
-
-.ui-autocomplete-input.open {
-       border-bottom-left-radius: 0;
-       border-bottom-right-radius: 0;
-}
-
-.ui-autocomplete {
-       padding: 0;
-       margin: 0;
-       list-style: none;
-       position: absolute;
-       z-index: 10000;
-       border-bottom-left-radius: 3px;
-       border-bottom-right-radius: 3px;
-       border-width: 1px;
-       border-style: solid;
-}
-
-.ui-autocomplete li {
-       margin-bottom: 0;
-       white-space: nowrap;
-       text-align: right;
-}
-
-.ui-autocomplete li a {
-       display: block;
-       height: 100%;
-       padding: 4px 10px;
-}
-
-.ui-autocomplete li a.ui-state-focus {
-       cursor: pointer;
-}
-
-/*------------------------------------------------------------------------------
-  3.0 - Actions
-------------------------------------------------------------------------------*/
-
-#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;
-}
-
-.misc-pub-section:first-child {
-       border-top-width: 0;
-}
-
-.misc-pub-section-last {
-       border-bottom-width: 0;
-}
-
-#minor-publishing-actions {
-       padding: 10px 10px 0 10px;
-       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-width: 1px;
-       border-bottom-style: solid;
-}
-
-.side-info ul {
-       margin: 0;
-       padding-right: 18px;
-       list-style: square;
-}
-
-.approve,
-.unapproved .unapprove {
-       display: none;
-}
-
-.unapproved .approve,
-.spam .approve,
-.trash .approve {
-       display: inline;
-}
-
-td.action-links,
-th.action-links {
-       text-align: left;
-}
-
-
-/*------------------------------------------------------------------------------
-  4.0 - Notifications
-------------------------------------------------------------------------------*/
-
-#update-nag,
-.update-nag {
-       display: inline-block;
-       line-height: 19px;
-       padding: 11px 15px;
-       font-size: 14px;
-       text-align: right;
-       margin: 25px 2px 0 20px;
-}
-
-.plugins .plugin-update {
-       padding: 0;
-}
-
-.plugin-update .update-message {
-       margin: 0 31px 8px 10px;
-       font-weight: 600;
-}
-
-ul#dismissed-updates {
-       display: none;
-}
-
-form.upgrade {
-       margin-top: 8px;
-}
-
-form.upgrade .hint {
-       font-style: italic;
-       font-size: 85%;
-       margin: -0.5em 0 2em 0;
-}
-
-.update-php .spinner {
-       float: none;
-       margin: -4px 0;
-}
-
-#ajax-loading,
-.ajax-loading,
-.ajax-feedback,
-.imgedit-wait-spin,
-.list-ajax-loading { /* deprecated */
-       visibility: hidden;
-}
-
-#ajax-response.alignleft {
-       margin-right: 2em;
-}
-
-/*------------------------------------------------------------------------------
-  5.0 - TinyMCE
-------------------------------------------------------------------------------*/
-
-/* nothing? */
-
-/*------------------------------------------------------------------------------
-  6.0 - Admin Header
-------------------------------------------------------------------------------*/
-#adminmenu a,
-#sidemenu a,
-#taglist a,
-#catlist a {
-       text-decoration: none;
-}
-
-/*------------------------------------------------------------------------------
-  6.1 - Screen Options Tabs
-------------------------------------------------------------------------------*/
-
-#screen-options-wrap,
-#contextual-help-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: none;
-}
-
-/* screen options and help tabs revert */
-#screen-meta {
-       display: none;
-       margin: 0 0px -1px 20px;
-       position: relative;
-}
-
-#screen-options-link-wrap,
-#contextual-help-link-wrap {
-       float: left;
-       height: 28px;
-       margin: 0 6px 0 0;
-}
-
-#screen-meta-links .screen-meta-toggle {
-       position: relative;
-       top: 0;
-}
-
-#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: normal 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;
-}
-
-#screen-meta-links a.screen-meta-active:after {
-       content: '\f142';
-}
-
-#screen-meta-links a.show-settings:hover {
-       text-decoration: none;
-}
-/* end screen options and help tabs */
-
-.toggle-arrow {
-       background-repeat: no-repeat;
-       background-position: top right;
-       background-color: transparent;
-       height: 22px;
-       line-height: 22px;
-       display: block;
-}
-
-.toggle-arrow-active {
-       background-position: bottom right;
-}
-
-#screen-options-wrap h5,
-#contextual-help-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;
-}
-
-/*------------------------------------------------------------------------------
-  6.2 - Help Menu
-------------------------------------------------------------------------------*/
-
-#contextual-help-wrap {
-       padding: 0;
-}
-
-#contextual-help-columns {
-       position: relative;
-}
-
-#contextual-help-back {
-       position: absolute;
-       top: 0;
-       bottom: 0;
-       right: 150px;
-       left: 170px;
-       border-width: 0 1px;
-       border-style: solid;
-}
-
-#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-style: solid;
-       border-width: 1px 0 1px 0;
-       border-color: transparent;
-}
-
-.contextual-help-tabs .active {
-       padding: 0;
-       margin: 0 0 0 -1px;
-       border-width: 0 2px 0 0;
-       border-style: solid;
-}
-
-.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;
-}
-
-
-/*------------------------------------------------------------------------------
-  7.0 - Main Navigation (Left Menu)
-------------------------------------------------------------------------------*/
-
-#adminmenuwrap {
-       position: relative;
-       float: right;
-}
-
-/* side admin menu */
-#adminmenu * {
-       -webkit-user-select: none;
-       -moz-user-select: none;
-       user-select: none;
-}
-
-#adminmenu li {
-       margin: 0;
-       padding: 0;
-       cursor: pointer;
-}
-
-#adminmenu a {
-       display: block;
-       line-height: 18px;
-       padding: 2px 5px;
-}
-
-#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 a.wp-has-current-submenu:focus + .wp-submenu,
-.folded #adminmenu .wp-has-current-submenu .wp-submenu {
-       padding: 7px 0 8px;
-       z-index: 9999;
-}
-
-.js #adminmenu .sub-open,
-.js #adminmenu .opensub .wp-submenu,
-#adminmenu a.menu-top:focus + .wp-submenu,
-.no-js li.wp-has-submenu:hover .wp-submenu {
-       top: -1px;
-}
-
-#adminmenu .wp-has-current-submenu .wp-submenu,
-.no-js li.wp-has-current-submenu:hover .wp-submenu,
-#adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
-#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,
-#adminmenu .wp-has-current-submenu.opensub .wp-submenu {
-       position: relative;
-       z-index: 3;
-       top: auto;
-       right: auto;
-       left: auto;
-       bottom: auto;
-       border: 0 none;
-       margin-top: 0;
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-.folded #adminmenu .wp-submenu.sub-open,
-.folded #adminmenu .opensub .wp-submenu,
-.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,
-.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,
-.folded #adminmenu a.menu-top:focus + .wp-submenu,
-.folded #adminmenu .wp-has-current-submenu a.menu-top:focus + .wp-submenu,
-.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu  {
-       top: 0;
-       right: 36px;
-}
-
-.folded #adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
-.folded #adminmenu .wp-has-current-submenu .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 .wp-not-current-submenu li > a,
-.folded #adminmenu .wp-has-current-submenu li > a {
-       padding-left: 16px;
-       padding-right: 14px;
-       -moz-transition: all .1s ease-in-out;
-       -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 a.menu-top,
-#adminmenu .wp-submenu-head {
-       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 0px 0 0;
-       opacity: 0.6;
-       filter: alpha(opacity=60);
-}
-
-#adminmenu div.wp-menu-name {
-       padding: 8px 0;
-}
-
-#adminmenu div.wp-menu-image {
-       float: right;
-       width: 36px;
-       height: 30px;
-       margin: 0;
-       text-align: center;
-}
-
-#adminmenu div.wp-menu-image.svg {
-       background-repeat: no-repeat;
-       background-position: center;
-       background-size: 20px auto;
-}
-
-div.wp-menu-image:before {
-       font: normal 20px/1 'dashicons' !important;
-       speak: none;
-       color: #999;
-       padding: 8px 0;
-       height: 36px;
-       width: 20px;
-       display: inline-block;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-       -moz-transition: all .1s ease-in-out;
-       -webkit-transition: all .1s ease-in-out;
-       transition: all .1s ease-in-out;
-}
-
-.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 support */
-.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;
-}
-/* End no @font-face support */
-
-/* Sticky admin menu */
-.sticky-menu #adminmenuwrap {
-       position: fixed;
-       z-index: 99; /* Match the z-index of .wp-submenu to ensure flyout menus don't appear underneath main column elements */
-}
-
-/* A new arrow */
-
-.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: solid transparent;
-       content: " ";
-       height: 0;
-       width: 0;
-       position: absolute;
-       pointer-events: none;
-       border-width: 8px;
-       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;
-}
-
-/* flyout menu arrow */
-#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;
-}
-
-/* ensure that wp-submenu's box shadow doesn't appear on top of the focused menu item's background. */
-#adminmenu li.menu-top:hover,
-#adminmenu li.opensub > a.menu-top,
-#adminmenu li > a.menu-top:focus {
-       position: relative;
-}
-
-.folded #adminmenu li.menu-top:hover,
-.folded #adminmenu li.opensub > a.menu-top,
-.folded #adminmenu li > a.menu-top:focus {
-       z-index: 10000;
-}
-
-#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: 3px;
-       padding: 0;
-       margin: 0 0 6px 0;
-       border-width: 1px 0;
-       border-style: solid;
-       cursor: inherit;
-}
-
-#adminmenu div.separator {
-       height: 1px;
-       padding: 0;
-       border-width: 1px 0 0 0;
-       border-style: solid;
-}
-
-#adminmenu .wp-submenu .wp-submenu-head {
-       font-weight: 400;
-       font-size: 14px;
-       padding: 8px 11px 8px 4px;
-       margin: -7px 0px 4px;
-}
-
-#adminmenu li.current,
-.folded #adminmenu li.wp-menu-open {
-       border: 0 none;
-}
-
-#adminmenu .awaiting-mod,
-#adminmenu span.update-plugins,
-#sidemenu li a span.update-plugins {
-       display: inline-block;
-       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,
-#sidemenu li a span.update-plugins span {
-       display: block;
-       padding: 0 6px;
-}
-
-#adminmenu li span.count-0,
-#sidemenu li a .count-0 {
-       display: none;
-}
-
-#adminmenu #collapse-menu {
-       font-size: 13px;
-       line-height: 34px;
-       margin-top: 10px;
-}
-
-.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;
-       font: normal 20px/1 'dashicons' !important;
-       speak: none;
-       margin: 0 auto;
-       padding: 0 !important;
-       position: relative;
-       text-align: center;
-       width: 20px;
-       -moz-transition: all .1s ease-in-out;
-       -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 {
-       -ms-transform: rotate(180deg);
-       -webkit-transform: rotate(180deg);
-       transform: rotate(180deg);
-}
-
-.rtl.folded #collapse-button div:after {
-       -ms-transform: none;
-       -webkit-transform: none;
-       transform: none;
-}
-
-/* Auto-folding of the admin menu */
-@media only screen and (max-width: 900px) {
-       .auto-fold #wpcontent,
-       .auto-fold #wpfooter {
-               margin-right: 56px;
-       }
-
-       .auto-fold #adminmenuback,
-       .auto-fold #adminmenuwrap,
-       .auto-fold #adminmenu,
-       .auto-fold #adminmenu li.menu-top {
-               width: 36px;
-       }
-
-       .auto-fold #adminmenu .wp-submenu.sub-open,
-       .auto-fold #adminmenu .opensub .wp-submenu,
-       .auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,
-       .auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,
-       .auto-fold #adminmenu a.menu-top:focus + .wp-submenu,
-       .auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus + .wp-submenu  {
-               top: 0px;
-               right: 36px;
-       }
-
-       .auto-fold #adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
-       .auto-fold #adminmenu .wp-has-current-submenu .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 none;
-       }
-
-       .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: none;
-       }
-
-       .auto-fold #collapse-button div:after {
-               -ms-transform: rotate(180deg);
-               -webkit-transform: rotate(180deg);
-               transform: rotate(180deg);
-       }
-
-       .rtl.auto-fold #collapse-button div:after {
-               -ms-transform: none;
-               -webkit-transform: none;
-               transform: none;
-       }
-
-}
-
-/* List table styles */
-.post-com-count-wrapper {
-       min-width: 22px;
-}
-
-.post-com-count {
-       background: none;
-       height: 1.3em;
-       line-height: 1.1em;
-       display: block;
-       text-decoration: none;
-       padding: 0 0 6px;
-       cursor: pointer;
-       background-position: center -80px;
-       background-repeat: no-repeat;
-}
-
-.post-com-count:after {                /* draw bubble connector using CSS! */
-       content: "";
-       display: block;
-       width: 0;
-       height: 0;
-       margin-right: 8px;
-       border-top: 5px solid #bbbbbb;
-       border-left: 5px solid transparent;
-}
-
-.post-com-count span {
-       font-size: 11px;
-       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;
-}
-
-strong .post-com-count {
-       background-position: center -55px;
-}
-
-.post-com-count:hover {
-       background-position: center -3px;
-}
-
-.column-response .post-com-count {
-       float: right;
-       margin-left: 5px;
-       text-align: center;
-}
-
-.response-links {
-       float: right;
-}
-
-#the-comment-list .attachment-80x60 {
-       padding: 4px 8px;
-}
-
-th .comment-grey-bubble {
-       height: 16px;
-       width: 16px;
-}
-
-th .comment-grey-bubble:before {
-       content: '\f101';
-       font: normal 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;
-}
-
-/*------------------------------------------------------------------------------
-  8.0 - Layout Blocks
-------------------------------------------------------------------------------*/
-
-html.wp-toolbar {
-       padding-top: 32px;
-       -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-       box-sizing: border-box;
-}
-
-.narrow {
-       width: 70%;
-       margin-bottom: 40px;
-}
-
-.narrow p {
-       line-height: 150%;
-}
-
-.widefat th,
-.widefat td {
-       overflow: hidden;
-}
-
-.widefat th {
-       font-weight: normal;
-}
-
-.widefat td p {
-       margin: 2px 0 0.8em;
-}
-
-.widefat .column-comment p {
-       margin: 0.6em 0;
-}
-
-/* Screens with postboxes */
-.postbox-container {
-       float: right;
-}
-
-#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;
-}
-
-#wpbody-content #dashboard-widgets.columns-4 .postbox-container {
-       width: 25%;
-}
-
-.postbox-container .meta-box-sortables {
-       -moz-box-sizing: border-box;
-       -webkit-box-sizing: border-box;
-       -ms-box-sizing: border-box;
-       box-sizing: border-box;
-}
-
-.metabox-holder .postbox-container .empty-container {
-       border: 3px dashed #bbb;
-       height: 250px;
-}
-
-.metabox-holder.columns-1 .postbox-container .empty-container,
-.columns-2 #postbox-container-3 .empty-container,
-.columns-2 #postbox-container-4 .empty-container,
-.columns-3 #postbox-container-4 .empty-container {
-       border: 0 none;
-       height: 0;
-       min-height: 0;
-}
-
-.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 none;
-       height: 0;
-       min-height: 0;
-}
-
-#poststuff {
-       padding-top: 10px;
-       min-width: 763px;
-}
-
-#poststuff #post-body {
-       padding: 0;
-}
-
-#post-body-content {
-       width: 100%;
-       min-width: 463px;
-       float: right;
-}
-
-#poststuff .postbox-container {
-       width: 100%;
-}
-
-#poststuff #post-body.columns-2 {
-       margin-left: 300px;
-}
-
-#post-body.columns-2 #postbox-container-1 {
-       float: left;
-       margin-left: -300px;
-       width: 280px;
-}
-
-#post-body.columns-2 #side-sortables {
-       min-height: 250px;
-}
-
-#dashboard-widgets .postbox-container {
-       width: 25%;
-}
-
-#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container {
-       border: none !important;
-}
-
-#dashboard-widgets-wrap {
-       overflow: hidden;
-}
-
-/* one column on the dash */
-@media only screen and (max-width: 799px) {
-       #wpbody-content #dashboard-widgets .postbox-container {
-               width: 100%;
-       }
-
-       #wpbody-content .metabox-holder .postbox-container .empty-container {
-               border: 0 none;
-               height: 0;
-               min-height: 0;
-       }
-}
-
-/* two columns on the dash, but keep the setting if one is selected */
-@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 none;
-               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 none;
-               height: 0;
-               min-height: 0;
-       }
-
-       /* show the radio buttons for column prefs only for one or two columns */
-       .index-php .screen-layout,
-       .index-php .columns-prefs {
-               display: block;
-       }
-
-       .columns-prefs .columns-prefs-3,
-       .columns-prefs .columns-prefs-4 {
-               display: none;
-       }
-}
-
-/* three columns on the dash */
-@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 none;
-               height: 0;
-               min-height: 0;
-       }
-}
-
-/* one column on the post write/edit screen */
-@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 .empty-container,
-       #poststuff #postbox-container-1 #side-sortables:empty {
-               border: 0 none;
-               height: 0;
-               min-height: 0;
-       }
-
-       #poststuff #post-body.columns-2 #side-sortables {
-               min-height: 0;
-       }
-
-       /* hide the radio buttons for column prefs */
-       .screen-layout,
-       .columns-prefs {
-               display: none;
-       }
-}
-
-.js .postbox .hndle {
-       cursor: move;
-}
-
-.hndle a {
-       font-size: 11px;
-       font-weight: normal;
-}
-
-.postbox .handlediv {
-       float: left;
-       width: 27px;
-       height: 30px;
-}
-
-.js .postbox .handlediv {
-       cursor: pointer;
-}
-
-.sortable-placeholder {
-       border-width: 1px;
-       border-style: dashed;
-       margin-bottom: 20px;
-}
-
-.postbox,
-.stuffbox {
-       margin-bottom: 20px;
-       padding: 0;
-       line-height: 1;
-}
-
-.postbox h3,
-.stuffbox h3 {
-       margin-top: 1px;
-       -webkit-user-select: none;
-       -moz-user-select: none;
-       user-select: none;
-}
-
-.js .widget .widget-top,
-.js .postbox h3 {
-       cursor: move;
-}
-
-.postbox .inside,
-.stuffbox .inside {
-       padding: 0 12px 12px;
-       line-height: 1.4em;
-       font-size: 13px;
-}
-
-.postbox .inside {
-       margin: 11px 0;
-       position: relative;
-}
-
-#dashboard-widgets .postbox .inside {
-       margin-bottom: 0;
-}
-
-.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;
-}
-
-.temp-border {
-       border: 1px dotted #ccc;
-}
-
-.columns-prefs label {
-       padding: 0 5px;
-}
-
-
-/*------------------------------------------------------------------------------
-  9.0 - Dashboard
-------------------------------------------------------------------------------*/
-
-#dashboard-widgets-wrap {
-       margin: 0 -8px;
-}
-
-#wpbody-content .metabox-holder {
-       padding-top: 10px;
-}
-
-#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;
-}
-
-/* Welcome Panel */
-.welcome-panel {
-       position: relative;
-       overflow: auto;
-       margin: 16px 0;
-       padding: 23px 10px 0;
-       font-size: 13px;
-       line-height: 2.1em;
-}
-
-.welcome-panel h3 {
-       margin: 0;
-       font-size: 21px;
-       font-weight: normal;
-       line-height: 1.2;
-}
-
-.welcome-panel h4 {
-       margin: 1.33em 0 0;
-       font-size: 16px;
-}
-
-.welcome-panel li {
-       font-size: 14px;
-}
-
-.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,
-.tagchecklist span a:before,
-#bulk-titles div a:before {
-       content: '\f153';
-       display: block !important;
-       font: normal 16px/1 'dashicons';
-       speak: none;
-       height: 20px;
-       margin: 2px 0;
-       text-align: center;
-       width: 20px;
-       -webkit-font-smoothing: antialiased !important;
-}
-
-#welcome-panel.welcome-panel .welcome-panel-close::before {
-       position: absolute;
-       right: -18px;
-       margin-top: -2px;
-       -webkit-transition: all .1s ease-in-out;
-       -moz-transition:    all .1s ease-in-out;
-       transition:         all .1s ease-in-out;
-}
-
-.wp-core-ui .welcome-panel .button.button-hero {
-       margin: 15px 0 3px;
-}
-
-.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;
-}
-
-.welcome-panel .welcome-icon {
-       display: block;
-       padding: 0 0 8px;
-       background: transparent !important;
-}
-
-.welcome-panel .welcome-icon:before {
-       font: normal 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-write-blog:before,
-.welcome-panel .welcome-edit-page: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: 0.8em 0 1em 1em;
-}
-
-.welcome-panel .welcome-panel-column li {
-       line-height: 16px;
-       list-style-type: none;
-}
-
-/* Dashboard WordPress news */
-
-#dashboard_primary .inside {
-       margin: 0;
-       padding: 0;
-}
-
-#dashboard_primary .widget-loading,
-#dashboard_primary .dashboard-widget-control-form {
-       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: normal;
-}
-
-#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 */
-
-#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 {
-       padding: 0 12px 11px;
-}
-
-#dashboard_right_now .main p {
-       margin: 0;
-}
-
-.mu-storage {
-       overflow: hidden;
-}
-
-#dashboard-widgets h4.mu-storage {
-       margin-bottom: 10px;
-}
-
-/* Dashboard right now - Colors */
-
-#dashboard_right_now li a:before,
-#dashboard_right_now li span:before {
-       color: #888;
-}
-
-#dashboard_right_now .sub {
-       color: #777;
-       background: #f5f5f5;
-       border-top: 1px solid #eee;
-       padding: 10px 12px 6px 12px;
-}
-
-#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 - Icons */
-#dashboard_right_now li a:before,
-#dashboard_right_now li span:before {
-       content: '\f159';
-       font: normal 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 Draft */
-
-#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;
-}
-
-/* Dashboard Quick Draft - Form styling */
-
-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 {
-       box-sizing: border-box;
-       -moz-box-sizing:border-box;
-       -webkit-box-sizing:border-box;
-       margin: 0;
-}
-
-#dashboard_quick_press textarea {
-       resize: vertical;
-}
-
-#dashboard-widgets .postbox form .submit {
-       margin: -39px 0;
-       float: left;
-}
-
-#description-wrap {
-       margin-top: 12px;
-}
-
-#title-wrap #title-prompt-text,
-.textarea-wrap #content-prompt-text {
-       color: #777;
-}
-
-#title-wrap #title-prompt-text {
-       font-size: 1.1em;
-       padding: 7px 8px;
-}
-
-.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 Draft - Drafts list */
-
-.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: normal;
-}
-
-#dashboard_quick_press .drafts .view-all {
-       float: left;
-       margin: 0 0 0 12px;
-}
-
-#dashboard_primary a.rsswidget {
-       font-weight: normal;
-}
-
-#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 activity widget */
-
-#dashboard-widgets #dashboard_activity h4 {
-       margin: 0 12px 8px 0;
-       font-weight: normal;
-}
-
-#dashboard-widgets #dashboard_activity h4.comment-meta {
-       margin: 0;
-}
-
-#dashboard_activity h4.comment-meta {
-       overflow: hidden;
-       text-overflow: ellipsis;
-       white-space: nowrap;
-       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: normal 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 #eeeeee;
-       margin-top: 0;
-       padding: 8px 12px 4px;
-}
-
-#future-posts .show-more,
-#published-posts .show-more {
-       float: left;
-       margin-left: 12px;
-}
-
-#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;
-}
-
-/* Dashboard activity widget - Comments */
-
-#activity-widget #the-comment-list tr.undo,
-#activity-widget #the-comment-list div.undo {
-       background: none;
-       padding: 6px 0;
-}
-
-#activity-widget #the-comment-list .alternate,
-#activity-widget #the-comment-list .alt {
-       background: none;
-}
-
-#activity-widget #the-comment-list .comment {
-       background: #fafafa;
-       padding: 12px;
-       position: relative;
-}
-
-#activity-widget #the-comment-list img {
-       position: absolute;
-       right: 13px;
-       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 0;
-}
-
-#activity-widget #the-comment-list .comment-item:first-child {
-       border-top: 1px solid #eeeeee;
-}
-
-#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 {
-       margin-left: 20px;
-       position: relative;
-       top: 0;
-}
-
-/* Browse happy box */
-
-#dashboard-widgets #dashboard_browser_nag.postbox .inside {
-       margin: 10px;
-}
-
-@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: 0.4em 0 0;
-       }
-
-}
-
-/*------------------------------------------------------------------------------
-  10.0 - List Posts (/Pages/etc)
-------------------------------------------------------------------------------*/
-
-table.fixed {
-       table-layout: fixed;
-}
-
-.fixed .column-rating,
-.fixed .column-visible {
-       width: 8%;
-}
-
-.fixed .column-posts,
-.fixed .column-date,
-.fixed .column-parent,
-.fixed .column-links,
-.fixed .column-author,
-.fixed .column-format {
-       width: 10%;
-}
-
-.fixed .column-comment .comment-author {
-       display: none;
-}
-
-.fixed .column-response,
-.fixed .column-categories,
-.fixed .column-tags,
-.fixed .column-rel,
-.fixed .column-role {
-       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;
-}
-
-#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: 0.6em 0;
-       padding: 0;
-}
-
-#commentsdiv #replyrow td {
-       padding: 0;
-}
-
-#commentsdiv p {
-       padding: 8px 10px;
-       margin: 0;
-}
-
-#commentsdiv .comments-box {
-       border: 0 none;
-}
-
-#commentsdiv .comments-box thead th {
-       background: transparent;
-       padding: 0 7px 4px;
-       font-style: italic;
-}
-
-#commentsdiv .comments-box tr:last-child td {
-       border-bottom: 0 none;
-}
-
-#commentsdiv .spinner {
-       padding-right: 5px;
-}
-
-.sorting-indicator {
-       display: none;
-       width: 10px;
-       height: 4px;
-       margin-top: 8px;
-       margin-right: 7px;
-}
-
-.sorting-indicator:before {
-       background: none;
-       content: '\f142';
-       font: normal 20px/1 'dashicons';
-       speak: none;
-       display: inline-block;
-       padding: 0;
-       top: -4px;
-       right: -8px;
-       color: #444;
-       line-height: 10px;
-       position: relative;
-       vertical-align: top;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-       text-decoration: none !important;
-}
-
-.column-comments .sorting-indicator:before {
-       top: 0;
-       right: -10px;
-}
-
-th.sorted.asc .sorting-indicator:before,
-th.desc:hover span.sorting-indicator:before {
-       content: '\f142';
-}
-
-th.sorted.desc .sorting-indicator:before,
-th.asc:hover span.sorting-indicator:before {
-       content: '\f140';
-}
-
-tr.wp-locked .locked-indicator {
-       background: url('../images/lock.png') no-repeat;
-       margin: -2px 6px 0 0;
-       height: 20px;
-       width: 16px;
-}
-
-tr.wp-locked .check-column label,
-tr.wp-locked .check-column input[type="checkbox"],
-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 500ms;
-       -moz-transition:    height 1s, opacity 500ms;
-       -ms-transition:     height 1s, opacity 500ms;
-       -o-transition:      height 1s, opacity 500ms;
-       transition:         height 1s, opacity 500ms;
-}
-
-.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.sorted.asc .sorting-indicator,
-th.desc:hover 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 {
-       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;
-       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;
-       font-size: 16px;
-       font-weight: normal;
-}
-
-.tablenav .tablenav-pages a.disabled:hover ,
-.tablenav .tablenav-pages a.disabled:active {
-       cursor: default;
-}
-
-.tablenav .displaying-num {
-       margin-left: 2px;
-       font-size: 12px;
-       font-style: italic;
-}
-
-.tablenav .actions {
-       overflow: hidden;
-       padding: 2px 0 0 8px;
-}
-
-.tablenav .delete {
-       margin-left: 20px;
-}
-
-.view-switch {
-       float: left;
-       margin: 5px 8px 0 16px;
-}
-
-.view-switch img {
-       display: none;
-}
-
-.view-switch a {
-       text-decoration: none;
-}
-
-.view-switch > a {
-       display: inline-block;
-       width: 18px;
-       height: 18px;
-}
-
-.view-switch > a:before {
-       content: '\f163';
-       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 > a + a:before {
-       margin-right: 5px;
-       content: '\f164';
-}
-
-.filter {
-       float: right;
-       margin: -5px 10px 0 0;
-}
-
-.filter .subsubsub {
-       margin-right: -10px;
-       margin-top: 13px;
-}
-.screen-per-page {
-       width: 4em;
-}
-
-#posts-filter fieldset {
-       float: right;
-       margin: 0 0 1em 1.5ex;
-       padding: 0;
-}
-
-#posts-filter fieldset legend {
-       padding: 0 1px .2em 0;
-}
-
-
-/*------------------------------------------------------------------------------
-  10.1 - Inline Editing
-------------------------------------------------------------------------------*/
-
-/*
-.quick-edit* is for Quick Edit
-.bulk-edit* is for Bulk Edit
-.inline-edit* is for everything
-*/
-
-/*     Layout */
-
-#wpbody-content .inline-edit-row fieldset {
-       font-size: 12px;
-       float: right;
-       margin: 0;
-       padding: 0;
-       width: 100%;
-}
-
-tr.inline-edit-row td,
-#wpbody-content .inline-edit-row fieldset .inline-edit-col {
-       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 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 .quick-edit-row-page .inline-edit-col-right,
-#wpbody-content .bulk-edit-row-post .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;
-}
-
-.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: 0.5em;
-       margin: 0.5em 0 0;
-}
-
-.inline-edit-row span.error {
-       line-height: 22px;
-       margin: 0 15px;
-       padding: 3px 5px;
-}
-
-/*     Positioning */
-.inline-edit-row h4 {
-       margin: .2em 0;
-       padding: 0;
-       line-height: 23px;
-}
-.inline-edit-row fieldset span.title,
-.inline-edit-row fieldset span.checkbox-title {
-       margin: 0;
-       padding: 0;
-       line-height: 27px;
-}
-
-.inline-edit-row fieldset label,
-.inline-edit-row fieldset span.inline-edit-categories-label {
-       display: block;
-       margin: .2em 0;
-}
-
-.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;
-}
-
-.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: 0.5em;
-}
-
-.inline-edit-row .input-text-wrap input[type=text] {
-       width: 100%;
-}
-
-.inline-edit-row fieldset label input[type=checkbox] {
-       vertical-align: text-bottom;
-}
-
-.inline-edit-row fieldset label textarea {
-       width: 100%;
-       height: 4em;
-}
-
-#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: 0.5em
-}
-
-.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input {
-       width: 6em;
-}
-
-.inline-edit-save .spinner {
-       padding: 4px 10px 0;
-       vertical-align: top;
-       float: left;
-}
-
-/*     Styling */
-.inline-edit-row h4 {
-       text-transform: uppercase;
-}
-
-.inline-edit-row fieldset span.title,
-.inline-edit-row fieldset span.checkbox-title {
-       font-style: italic;
-       line-height: 1.8em;
-}
-
-/*     Specific Elements */
-.inline-edit-row fieldset input[type="text"],
-.inline-edit-row fieldset textarea {
-       border-style: solid;
-       border-width: 1px;
-}
-
-.inline-edit-row fieldset .inline-edit-date {
-       float: right;
-}
-
-.inline-edit-row fieldset input[name=jj],
-.inline-edit-row fieldset input[name=hh],
-.inline-edit-row fieldset input[name=mn] {
-       font-size: 12px;
-       width: 2.1em;
-}
-
-.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-style: solid;
-       border-width: 1px;
-       overflow-y: scroll;
-       padding: 0 5px;
-       margin: 0;
-}
-
-#bulk-titles {
-       display: block;
-       height: 12em;
-       border-style: solid;
-       border-width: 1px;
-       overflow-y: scroll;
-       padding: 0 5px;
-       margin: 0 0 5px;
-}
-
-.inline-edit-row fieldset ul.cat-checklist li,
-.inline-edit-row fieldset ul.cat-checklist input {
-       margin: 0;
-}
-
-.inline-edit-row fieldset ul.cat-checklist label,
-.inline-edit-row #bulk-titles div {
-       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%;
-}
-
-.quick-edit-row-post fieldset label.inline-edit-status {
-       float: right;
-}
-
-#bulk-titles {
-       line-height: 140%;
-}
-#bulk-titles div {
-       margin: 0.2em 0.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;
-}
-
-
-/*------------------------------------------------------------------------------
-  11.0 - Write/Edit Post Screen
-------------------------------------------------------------------------------*/
-
-#show-comments {
-       overflow: hidden;
-}
-
-#save-action .spinner,
-#show-comments a,
-#show-comments .spinner {
-       float: right;
-}
-
-#lost-connection-notice .spinner {
-       display: block;
-       float: right;
-       margin: 0 0 0 5px;
-}
-
-#titlediv {
-       position: relative;
-       margin-bottom: 10px;
-}
-
-#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: none;
-       margin: 0;
-}
-
-#titlediv #title-prompt-text,
-#wp-fullscreen-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;
-}
-
-#wp-fullscreen-title-prompt-text {
-       padding: 11px;
-}
-
-#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 none;
-       padding: 0;
-       font-size: 11px;
-       margin-top: -1px;
-}
-
-#edit-slug-box {
-       line-height: 24px;
-       min-height: 25px; /* Yes, line-height + 1 */
-       margin-top: 5px;
-       padding: 0 10px;
-}
-
-#edit-slug-box .cancel {
-       margin-left: 10px;
-       font-size: 11px;
-}
-
-#editable-post-name-full {
-       display: none;
-}
-
-#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;
-}
-
-.submitbox .submitdelete {
-       text-decoration: none;
-       padding: 1px 2px;
-}
-
-.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 Screen */
-#post-body #normal-sortables {
-       min-height: 50px;
-}
-
-.postbox {
-       position: relative;
-       min-width: 255px;
-}
-
-#trackback_url {
-       width: 99%;
-}
-
-#normal-sortables .postbox .submit {
-       background: transparent none;
-       border: 0 none;
-       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;
-}
-
-.press-this #side-sortables .category-tabs li,
-ul.category-tabs li,
-#side-sortables .add-menu-item-tabs li,
-.wp-tab-bar li {
-       display: inline;
-       line-height: 1.35em;
-}
-
-.no-js .category-tabs li.hide-if-no-js {
-       display: none;
-}
-
-.category-tabs a,
-#side-sortables .add-menu-item-tabs a,
-.wp-tab-bar a {
-       text-decoration: none;
-}
-
-.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 input,
-#side-sortables .submitbox .submit .preview,
-#side-sortables .submitbox .submit a.preview:hover {
-       border: 0 none;
-}
-
-#side-sortables .inside-submitbox .insidebox,
-.stuffbox .insidebox {
-       margin: 11px 0;
-}
-
-ul.category-tabs,
-ul.add-menu-item-tabs,
-ul.wp-tab-bar {
-       margin-top: 12px;
-}
-
-ul.category-tabs li {
-       border-style: solid;
-       border-width: 1px;
-       position: relative;
-}
-
-ul.add-menu-item-tabs li.tabs,
-.wp-tab-active {
-       border-style: solid solid none;
-       border-width: 1px 1px 0;
-}
-
-ul.add-menu-item-tabs li.tabs {
-       padding-bottom: 3px;
-       position: relative;
-}
-
-#post-body .add-menu-item-tabs li.tabs {
-       border-style: solid none solid solid;
-       border-width: 1px 1px 1px 0;
-       margin-left: -1px;
-}
-
-ul.category-tabs li,
-ul.add-menu-item-tabs li,
-ul.wp-tab-bar li {
-       padding: 3px 5px 5px;
-}
-
-#postimagediv .inside img {
-       max-width: 100%;
-       height: auto;
-}
-
-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 {
-       display: none;
-}
-
-.commentlist .avatar {
-       vertical-align: text-top;
-}
-
-#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%;
-}
-
-#post-status-info td {
-       font-size: 12px;
-}
-
-.autosave-info {
-       padding: 2px 15px;
-       text-align: left;
-}
-
-#editorcontent #post-status-info {
-       border: none;
-}
-
-#content-resize-handle,
-#post-body .wp_themeSkin .mceStatusbar a.mceResize {
-       background: transparent url('../images/resize.gif') no-repeat scroll left bottom;
-       width: 12px;
-       height: 12px;
-       cursor: sw-resize;
-}
-
-.rtl #content-resize-handle,
-.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize {
-       background: transparent url('../images/resize-rtl.gif') no-repeat scroll left bottom;
-}
-
-#post-body .wp_themeSkin .mceStatusbar a.mceResize {
-       bottom: 3px;
-       position: absolute;
-       left: 3px;
-}
-
-#post-body .postarea .wp_themeSkin .mceStatusbar a.mceResize {
-       bottom: -20px;
-}
-
-#content-resize-handle {
-       position: absolute;
-       left: 3px;
-       bottom: -20px;
-}
-
-.press-this #content-resize-handle {
-       bottom: 2px;
-}
-
-.tmce-active #content-resize-handle {
-       display: none;
-}
-
-#wp-word-count {
-       display: block;
-       padding: 2px 10px;
-}
-
-#timestampdiv select {
-       height: 21px;
-       line-height: 14px;
-       padding: 0;
-       vertical-align: top;
-       font-size: 12px;
-}
-
-#aa, #jj, #hh, #mn {
-       padding: 1px;
-       font-size: 12px;
-}
-
-#jj, #hh, #mn {
-       width: 2em;
-}
-
-#aa {
-       width: 3.4em;
-}
-
-.curtime #timestamp {
-       padding: 2px 0 1px 0;
-       display: inline !important;
-       height: auto !important;
-}
-
-#post-body #visibility:before,
-.curtime #timestamp:before,
-#post-body .misc-pub-revisions:before {
-       font: normal 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%;
-       right: 50%;
-       width: 450px;
-       margin-right: -225px;
-       background: #fff;
-       line-height: 1.5;
-       z-index: 1000005;
-}
-
-.notification-dialog-background {
-       position: fixed;
-       top: 0;
-       right: 0;
-       left: 0;
-       bottom: 0;
-       background: #000;
-       opacity: 0.5;
-       filter: alpha(opacity=50);
-       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.saving .locked-saving,
-#post-lock-dialog.saved .locked-saved {
-       display: inline;
-}
-
-/*------------------------------------------------------------------------------
-  11.1 - Custom Fields
-------------------------------------------------------------------------------*/
-
-#postcustomstuff thead th {
-       padding: 5px 8px 8px;
-}
-
-#postcustom #postcustomstuff .submit {
-       border: 0 none;
-       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-width: 1px;
-       border-style: solid;
-       border-spacing: 0;
-}
-
-#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 th.left,
-#postcustomstuff td.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;
-}
-
-/*------------------------------------------------------------------------------
-  11.2 - Post Revisions
-------------------------------------------------------------------------------*/
-.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;
-}
-
-.revisions-tickmarks {
-       position: relative;
-       margin: 0 auto;
-       height: 0.7em;
-       top: 7px;
-       max-width: 70%;
-       -moz-box-sizing: border-box;
-       -webkit-box-sizing: border-box;
-       box-sizing: border-box;
-}
-
-.revisions-tickmarks > div {
-       position: absolute;
-       height: 100%;
-       border-style: solid;
-       border-width: 0 0 0 1px;
-       -moz-box-sizing: border-box;
-       -webkit-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: fixed;
-       vertical-align: middle;
-       opacity: 0;
-       width: 100%;
-       top: 50%;
-       margin-right: -90px;
-       -webkit-transition: opacity 0.5s;
-       -moz-transition:    opacity 0.5s;
-       -ms-transition:     opacity 0.5s;
-       -o-transition:      opacity 0.5s;
-       transition:         opacity 0.5s;
-       filter: alpha(opacity=0); /* ie8 and earlier */
-}
-
-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); /* ie8 and earlier */
-}
-
-.revisions .diff {
-       -webkit-transition: opacity 0.5s;
-       -moz-transition:    opacity 0.5s;
-       -ms-transition:     opacity 0.5s;
-       -o-transition:      opacity 0.5s;
-       transition:         opacity 0.5s;
-}
-
-.revisions.loading .diff {
-       opacity: 0.5;
-       filter: alpha(opacity=50); /* ie8 and earlier */
-}
-
-.revisions.diff-error .diff {
-       visibility: hidden;
-}
-
-.revisions-meta {
-       margin-top: 20px;
-}
-
-.revision-toggle-compare-mode {
-       position: absolute;
-       top: 0;
-       left: 0;
-}
-
-.comparing-two-revisions .revisions-previous,
-.comparing-two-revisions .revisions-next,
-.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: bold;
-}
-
-.comparing-two-revisions .diff-meta-to strong {
-       display: block;
-}
-
-.revisions.pinned .revisions-buttons {
-       padding: 0 11px;
-}
-
-.revisions-previous,
-.revisions-next {
-       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;
-}
-
-.revisions-diff h3:first-child {
-       margin-top: 0;
-}
-
-/* Revision meta box */
-.post-revisions li img,
-#revisions-meta-restored img {
-       vertical-align: middle;
-}
-
-table.diff tbody tr td:nth-child(2) {
-       width: 4%;
-}
-
-table.diff {
-       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;
-}
-
-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 del,
-table.diff .diff-addedline ins {
-       text-decoration: none;
-}
-
-.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 .avatar,
-.revisions-controls .author-card .author-info {
-       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;
-       display: none;
-       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);
-       -moz-transform:    rotate(45deg);
-       -ms-transform:     rotate(45deg);
-       -o-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-width: 1px;
-       border-style: solid;
-}
-
-
-
-
-.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;
-}
-
-.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);
-       -moz-transform: rotate(45deg);
-       -ms-transform: rotate(45deg);
-       -o-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;
-}
-
- /* jQuery UI Slider */
-.wp-slider.ui-slider {
-       position: relative;
-       border-width: 1px;
-       border-style: solid;
-       text-align: right;
-       cursor: pointer;
-}
-
-.wp-slider .ui-slider-handle {
-       border-radius: 50%;
-       height: 18px;
-       margin-top: -3px;
-       outline: none;
-       position: absolute;
-       width: 18px;
-       z-index: 2;
-}
-
-.wp-slider .ui-slider-handle:before {
-       background: none;
-       position: absolute;
-       top: 0;
-       right: 0;
-       content: "\f229";
-       font: normal 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';
-}
-
-.wp-slider .ui-slider-handle.to-handle:before {
-       content: '\f141';
-}
-
-.rtl .wp-slider .ui-slider-handle.from-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;
-}
-
-
-/*------------------------------------------------------------------------------
-  11.3 - Featured Images
-------------------------------------------------------------------------------*/
-
-#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;
-}
-
-/*------------------------------------------------------------------------------
-  11.4 - Post formats
-------------------------------------------------------------------------------*/
-
-.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: normal 20px/1 'dashicons' !important;
-       speak: none;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-}
-
-#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: 0px;
-       padding: 2px 0px 2px 0;
-}
-
-.post-format-icon:before {
-       position: relative;
-       display: inline-block;
-       margin-left: 7px;
-       font: normal 20px/1 'dashicons';
-       speak: none;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-}
-
-.post-state-format.post-format-standard:before,
-.post-format-icon.post-format-standard:before,
-a.post-state-format.format-standard:before {
-       content: '\f109';
-}
-
-.post-state-format.post-format-image:before,
-.post-format-icon.post-format-image:before,
-a.post-state-format.format-image:before {
-       content: '\f128';
-}
-
-.post-state-format.post-format-gallery:before,
-.post-format-icon.post-format-gallery:before,
-a.post-state-format.format-gallery:before {
-       content: '\f161';
-}
-
-.post-state-format.post-format-audio:before,
-.post-format-icon.post-format-audio:before,
-a.post-state-format.format-audio:before {
-       content: '\f127';
-}
-
-.post-state-format.post-format-video:before,
-.post-format-icon.post-format-video:before,
-a.post-state-format.format-video:before {
-       content: '\f126';
-}
-
-.post-state-format.post-format-chat:before,
-.post-format-icon.post-format-chat:before,
-a.post-state-format.format-chat:before {
-       content: '\f125';
-}
-
-.post-state-format.post-format-status:before,
-.post-format-icon.post-format-status:before,
-a.post-state-format.format-status:before {
-       content: '\f130';
-}
-
-.post-state-format.post-format-aside:before,
-.post-format-icon.post-format-aside:before,
-a.post-state-format.format-aside:before {
-       content: '\f123';
-}
-
-.post-state-format.post-format-quote:before,
-.post-format-icon.post-format-quote:before,
-a.post-state-format.format-quote:before {
-       content: '\f122';
-}
-
-.post-state-format.post-format-link:before,
-.post-format-icon.post-format-link:before,
-a.post-state-format.format-link:before {
-       content: '\f103';
-}
-
-/*------------------------------------------------------------------------------
-  12.0 - Categories
-------------------------------------------------------------------------------*/
-
-.category-adder {
-       margin-right: 120px;
-       padding: 4px 0;
-}
-
-.category-adder h4 {
-       margin: 0 0 8px;
-}
-
-#side-sortables .category-adder {
-       margin: 0;
-}
-
-#post-body ul.add-menu-item-tabs {
-       float: right;
-       width: 120px;
-       text-align: left;
-       /* Negative margin for the sake of those without JS: all tabs display */
-       margin: 0 5px 0 -120px;
-       padding: 0;
-}
-
-ul.add-menu-item-tabs li {
-       padding: 3px 8px 3px 5px;
-}
-
-#post-body ul.add-menu-item-tabs li.tabs {
-       -webkit-border-top-right-radius: 3px;
-       -webkit-border-bottom-right-radius: 3px;
-       border-top-right-radius: 3px;
-       border-bottom-right-radius: 3px;
-}
-
-.wp-tab-panel,
-.categorydiv div.tabs-panel,
-.customlinkdiv div.tabs-panel,
-.posttypediv div.tabs-panel,
-.taxonomydiv div.tabs-panel {
-       min-height: 42px;
-       max-height: 200px;
-       overflow: auto;
-       padding: 0 0.9em;
-       border-style: solid;
-       border-width: 1px;
-}
-
-div.tabs-panel-active {
-       display:block;
-}
-
-div.tabs-panel-inactive {
-       display:none;
-}
-
-#front-page-warning,
-#front-static-pages ul,
-ul.export-filters,
-.inline-editor ul.cat-checklist ul,
-.categorydiv ul.categorychecklist ul,
-.customlinkdiv ul.categorychecklist ul,
-.posttypediv ul.categorychecklist ul,
-.taxonomydiv ul.categorychecklist ul {
-       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 p,
-.form-wrap label {
-       font-size: 11px;
-}
-
-.form-wrap label {
-       display: block;
-       padding: 2px;
-       font-size: 12px;
-}
-
-.form-field input,
-.form-field textarea {
-       border-style: solid;
-       border-width: 1px;
-       width: 95%;
-}
-
-p.description,
-.form-wrap p {
-       margin: 2px 0 5px;
-}
-
-p.help,
-p.description,
-span.description,
-.form-wrap p {
-       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;
-}
-
-
-/*------------------------------------------------------------------------------
-  13.0 - Tags
-------------------------------------------------------------------------------*/
-
-.tagsdiv {
-       margin-top: -8px;
-}
-
-#poststuff .taghint {
-       color: #aaa;
-       margin: 15px 12px -24px 0;
-}
-
-#poststuff .tagsdiv .howto {
-       margin: 0 0 6px 0;
-}
-
-.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;
-       max-width: 1000px;
-       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-width: 1px;
-       border-style: solid;
-}
-
-.wp-customizer .ac_results {
-       z-index: 500000;
-}
-
-.ac_results li {
-       padding: 2px 5px;
-       white-space: nowrap;
-       text-align: right;
-}
-
-.ac_over {
-       cursor: pointer;
-}
-
-.ac_match {
-       text-decoration: underline;
-}
-
-/* links tables */
-table.links-table {
-       width: 100%;
-}
-
-.links-table th {
-       font-weight: normal;
-       text-align: right;
-       vertical-align: top;
-       min-width: 80px;
-       width: 20%;
-       word-wrap: break-word;
-}
-
-.links-table th,
-.links-table td {
-       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;
-}
-
-/*------------------------------------------------------------------------------
-  14.0 - Media Screen
-------------------------------------------------------------------------------*/
-
-.media-item .describe {
-       border-collapse: collapse;
-       width: 100%;
-       border-top-style: solid;
-       border-top-width: 1px;
-       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: 0.5em;
-       font-size: 13px;
-}
-
-.media-upload-form th.label label span {
-       padding: 0 5px;
-}
-
-abbr.required {
-       border: medium none;
-       text-decoration: none;
-}
-
-.media-item .describe input[type="text"],
-.media-item .describe textarea {
-       width: 460px;
-}
-
-.media-item .describe p.help {
-       margin: 0;
-       padding: 0 5px 0 0;
-}
-
-.media-item .edit-attachment,
-.describe-toggle-on,
-.describe-toggle-off {
-       display: block;
-       line-height: 36px;
-       float: left;
-}
-
-.media-item .describe-toggle-off,
-.media-item.open .describe-toggle-on {
-       display: none;
-}
-
-.media-item.open .describe-toggle-off {
-       display: block;
-}
-
-#media-items .media-item {
-       border-bottom-style: solid;
-       border-bottom-width: 1px;
-       min-height: 36px;
-       position: relative;
-       width: 100%;
-}
-
-#media-items {
-       width: 623px;
-}
-
-.media-new-php #media-items {
-       margin: 1em 0;
-}
-
-#media-items:empty {
-       border: 0 none;
-}
-
-.media-item .filename {
-       line-height: 36px;
-       overflow: hidden;
-}
-
-.media-item .error-div {
-       padding-right: 10px;
-}
-
-.media-item .pinkynail {
-       float: right;
-       margin: 2px 0 0 10px;
-       max-width: 40px;
-       max-height: 32px;
-}
-
-.media-item .startopen,
-.media-item .startclosed {
-       display: none;
-}
-
-.media-item .original {
-       position: relative;
-       height: 34px;
-}
-
-.media-item .progress {
-       float: left;
-       height: 22px;
-       margin: 7px 0 0;
-       width: 200px;
-       line-height: 2em;
-       padding: 0;
-       overflow: hidden;
-       margin-bottom: 2px;
-       border-radius: 22px;
-       background: #ddd;
-       -webkit-box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
-       box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
-}
-
-.media-item .bar {
-       z-index: 9;
-       width: 0;
-       height: 100%;
-       margin-top: -22px;
-       border-radius: 22px;
-       background-color: #0074a2;
-       -webkit-box-shadow: inset 0 0 2px rgba(0,0,0,0.3);
-       box-shadow: inset 0 0 2px rgba(0,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: 0px 1px 2px rgba(0,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 {
-       margin: 0;
-       padding: 0;
-}
-
-.media-upload-form .media-item.error p,
-.media-item .error-div {
-       line-height: 16px;
-       margin: 5px 10px;
-       padding: 0;
-}
-
-.media-item .error-div a.dismiss {
-       display: block;
-       float: left;
-       margin: 5px 15px 0 4px;
-}
-
-/*------------------------------------------------------------------------------
-  14.1 - Media Library
-------------------------------------------------------------------------------*/
-
-.find-box {
-       width: 600px;
-       height: 300px;
-       overflow: hidden;
-       padding: 33px 0 51px;
-       position: absolute;
-       z-index: 1000;
-}
-
-.find-box-head {
-       cursor: move;
-       font-weight: 600;
-       height: 2em;
-       line-height: 2em;
-       padding: 1px 12px;
-       position: absolute;
-       top: 5px;
-       width: 100%;
-}
-
-.find-box-inside {
-       overflow: auto;
-       padding: 6px;
-       height: 100%;
-}
-
-.find-box-search {
-       overflow: hidden;
-       padding: 9px;
-       position: relative;
-}
-
-.find-box-search .spinner {
-       float: none;
-       right: 125px;
-       position: absolute;
-       top: 9px;
-}
-
-#find-posts-input {
-       float: right;
-       width: 140px;
-       height: 24px;
-}
-
-#find-posts-search {
-       float: right;
-       margin: 1px 3px 0 4px;
-}
-
-#find-posts-response {
-       margin: 8px 0;
-       padding: 0 1px 6px;
-}
-
-#find-posts-response table {
-       width: 100%;
-}
-
-#find-posts-response .found-radio {
-       padding: 3px 8px 0 0;
-       width: 15px;
-}
-
-.find-box-buttons {
-       padding: 8px;
-       overflow: hidden;
-}
-
-.find-box #resize-se {
-       position: absolute;
-       left: 1px;
-       bottom: 1px;
-}
-
-.ui-find-overlay {
-       position: absolute;
-       top: 0;
-       right: 0;
-       background-color: #000;
-       opacity: 0.6;
-       filter: alpha(opacity=60);
-}
-
-ul#dismissed-updates {
-       display: none;
-}
-
-form.upgrade {
-       margin-top: 8px;
-}
-
-form.upgrade .hint {
-       font-style: italic;
-       font-size: 85%;
-       margin: -0.5em 0 2em 0;
-}
-
-#poststuff .inside .the-tagcloud {
-       margin: 5px 0 10px;
-       padding: 8px;
-       border-width: 1px;
-       border-style: solid;
-       line-height: 1.8em;
-       word-spacing: 3px;
-       -webkit-border-radius: 6px;
-       border-radius: 6px;
-}
-
-.drag-drop #drag-drop-area {
-       border: 4px dashed #bbb;
-       height: 200px;
-}
-
-.drag-drop .drag-drop-inside {
-       margin: 70px auto 0;
-       width: 250px;
-}
-
-.drag-drop-inside p {
-       color: #aaa;
-       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-area:-moz-drag-over {
-       border-color: #83b4d8;
-}
-borger color while dragging a file over the uploader drop area */
-.drag-drop.drag-over #drag-drop-area {
-       border-color: #83b4d8;
-}
-
-#plupload-upload-ui {
-       position: relative;
-}
-
-
-/*------------------------------------------------------------------------------
-  14.2 - Image Editor
-------------------------------------------------------------------------------*/
-
-.wp_attachment_details #attachment_caption {
-       height: 4em;
-}
-
-.describe .image-editor {
-       vertical-align: top;
-}
-
-.imgedit-wrap {
-       position: relative;
-}
-
-.imgedit-settings p {
-       margin: 8px 0;
-}
-
-.post-php .imgedit-wrap table {
-       width: 100%;
-}
-
-.describe .imgedit-wrap table td,
-.wp_attachment_holder .imgedit-wrap table td {
-       vertical-align: top;
-       padding-top: 0;
-}
-
-.describe .imgedit-wrap table td.imgedit-settings {
-       padding: 0 5px;
-}
-
-.wp_attachment_holder .imgedit-wrap table td.imgedit-settings {
-       width: 250px;
-}
-
-td.imgedit-settings input {
-       margin-top: 0;
-       vertical-align: middle;
-}
-
-.imgedit-wait {
-       position: absolute;
-       top: 0;
-       background: #fff url('../images/spinner.gif') no-repeat scroll 22px 10px;
-       background-size: 20px 20px;
-       opacity: 0.7;
-       filter: alpha(opacity=70);
-       width: 100%;
-       height: 500px;
-       display: none;
-}
-
-.spinner {
-       background: url('../images/spinner.gif') no-repeat;
-       background-size: 20px 20px;
-       display: none;
-       float: left;
-       opacity: 0.7;
-       filter: alpha(opacity=70);
-       width: 20px;
-       height: 20px;
-       margin: 2px 5px 0;
-}
-
-.no-float {
-       float: none;
-}
-
-.media-disabled,
-.imgedit-settings .disabled  {
-       color: grey;
-}
-
-.wp_attachment_image,
-.A1B1 {
-       overflow: hidden;
-}
-
-.wp_attachment_image .button,
-.A1B1 .button {
-       float: right;
-}
-
-.no-js .wp_attachment_image .button {
-       display: none;
-}
-
-.wp_attachment_image .spinner,
-.A1B1 .spinner {
-       float: right;
-       padding: 0 0 4px 0;
-       vertical-align: bottom;
-}
-
-.imgedit-menu {
-       margin: 0 0 12px;
-       min-width: 300px;
-}
-
-.imgedit-menu div {
-       float: right;
-       width: 32px;
-       background: none;
-       margin: 0 0 0 8px;
-       height: 32px;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-       text-align: center;
-       line-height: 28px;
-}
-
-.imgedit-menu div:before {
-       font: normal 20px/1 'dashicons';
-       speak: none;
-       vertical-align: middle;
-}
-
-.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;
-}
-
-.imgedit-applyto .imgedit-label {
-       padding: 2px 0 0;
-       display: block;
-}
-
-.imgedit-help {
-       display: none;
-       font-style: italic;
-       margin-bottom: 8px;
-}
-
-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;
-}
-
-/*------------------------------------------------------------------------------
-  15.0 - Comments Screen
-------------------------------------------------------------------------------*/
-
-.form-table {
-       border-collapse: collapse;
-       margin-top: 0.5em;
-       width: 100%;
-       clear: both;
-}
-
-.form-table,
-.form-table td,
-.form-table th,
-.form-table td p,
-.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 {
-       font-weight: normal;
-       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 input.tog {
-       margin-top: 2px;
-       margin-left: 2px;
-       float: right;
-}
-
-.form-table td p {
-       margin-top: 4px;
-       margin-bottom: 0;
-}
-
-.form-table td fieldset label {
-       margin: 0.25em 0 0.5em !important;
-       display: inline-block;
-}
-
-.form-table td fieldset label,
-.form-table td fieldset p,
-.form-table td fieldset li {
-       line-height: 1.4em;
-}
-
-.form-table input.tog,
-.form-table input[type=radio] {
-       margin-top: -4px;
-       margin-left: 4px;
-       float: none;
-}
-
-.commentlist li {
-       padding: 1em 1em .2em;
-       margin: 0;
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
-}
-
-.commentlist li li {
-       border-bottom: 0;
-       padding: 0;
-}
-
-.commentlist p {
-       padding: 0;
-       margin: 0 0 .8em;
-}
-
-/* reply to comments */
-#replyrow input {
-       border-width: 1px;
-       border-style: solid;
-}
-
-#replyrow td {
-       padding: 2px;
-}
-
-#replysubmit {
-       margin: 0;
-       padding: 0 5px 3px;
-       text-align: center;
-}
-
-#replysubmit .spinner {
-       padding: 2px 0 0;
-       vertical-align: top;
-       float: left;
-}
-
-#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;
-}
-
-.comment-php .wp-editor-area {
-       height: 200px;
-}
-
-.comment-ays {
-       margin-bottom: 0;
-       border-bottom-style: solid;
-       border-bottom-width: 1px;
-}
-
-.comment-ays .alt {
-       background-color: transparent;
-}
-
-.trash-undo-inside,
-.spam-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;
-}
-
-.commentlist .avatar {
-       vertical-align: text-top;
-}
-
-#the-comment-list .unapproved th.check-column input {
-       margin-right: 4px;
-}
-
-
-/*------------------------------------------------------------------------------
-  16.0 - Themes
-------------------------------------------------------------------------------*/
-
-
-/*------------------------------------------------------------------------------
-  16.1 - Manage Themes
-------------------------------------------------------------------------------*/
-
-.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 .wrap .theme-count {
-       color: #fff;
-       border-radius: 30px;
-       background: #777;
-       font-size: 14px;
-       padding: 4px 10px;
-       font-weight: 600;
-       margin-right: 5px;
-       margin-left: 20px;
-       position: relative;
-       top: -3px;
-}
-
-/* Position admin messages */
-.themes-php div.updated,
-.themes-php div.error {
-       margin: 0 0 20px 0;
-       clear: both;
-}
-
-.themes-php div.updated a {
-       text-decoration: underline;
-}
-
-/**
- * Main theme element
- * (has flexible margins)
- */
-.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,0.1);
-       box-shadow:         0 1px 1px -1px rgba(0,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:hover,
-.theme-browser .theme:focus {
-       cursor: pointer;
-}
-
-.theme-browser .theme .theme-name {
-       font-size: 15px;
-       font-weight: 600;
-       margin: 0;
-       padding: 15px;
-       -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);
-       overflow: hidden;
-       white-space: nowrap;
-       text-overflow: ellipsis;
-       background: #fff;
-       background: rgba(255,255,255,0.65);
-}
-
-/* Activate and Customize buttons, shown on hover */
-.theme-browser .theme .theme-actions {
-       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
-       opacity: 0;
-       -webkit-transition: opacity 0.1s ease-in-out;
-       transition:         opacity 0.1s ease-in-out;
-       position: absolute;
-       bottom: 0;
-       left: 0;
-       height: 38px;
-       padding: 9px 10px 0 10px;
-       background: rgba(244, 244, 244, 0.7);
-       border-right: 1px solid rgba(0,0,0,0.05);
-}
-
-.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 Screenshot
- *
- * Has a fixed aspect ratio of 1.5 to 1 regardless of screenshot size
- * It is also responsive.
- */
-.theme-browser .theme .theme-screenshot {
-       display: block;
-       overflow: hidden;
-       position: relative;
-       -webkit-transition: opacity 0.2s ease-in-out;
-       transition:         opacity 0.2s ease-in-out;
-}
-
-.theme-browser .theme .theme-screenshot:after {
-       content: '';
-       display: block;
-       padding-top: 66.66666%; /* using a 3/2 aspect ratio */
-}
-
-.theme-browser .theme .theme-screenshot img {
-       height: auto;
-       position: absolute;
-       right: 0;
-       top: 0;
-       width: 100%;
-       -webkit-transform: translateZ( 0 ); /* Prevents rendering bugs in Chrome */
-       -webkit-transition: opacity 0.2s ease-in-out;
-       transition:         opacity 0.2s ease-in-out;
-}
-
-.theme-browser .theme:hover .theme-screenshot {
-       background: #fff;
-}
-
-.theme-browser.rendered .theme:hover .theme-screenshot img {
-       opacity: 0.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: #222;
-       background: rgba(0,0,0,0.7);
-       color: #fff;
-       font-size: 15px;
-       text-shadow: 0 1px 0 rgba(0,0,0,0.6);
-       -webkit-font-smoothing: antialiased;
-       font-weight: 600;
-       padding: 15px 12px;
-       text-align: center;
-       border-radius: 3px;
-       -webkit-transition: opacity 0.1s ease-in-out;
-       transition:         opacity 0.1s ease-in-out;
-}
-.theme-browser .theme:focus {
-       outline: 1px dotted #222;
-}
-/* Hide shortcut actions and hover feedback when using tab navigation */
-.theme-browser .theme:focus .theme-actions {
-       display: none;
-}
-/* Restore display of theme controls if you hover a focused theme */
-.theme-browser .theme:focus:hover .theme-actions {
-       display: block;
-}
-.theme-browser .theme:focus .more-details {
-       opacity: 1;
-}
-/* Current theme needs to have its action always on view */
-.theme-browser .theme.active:focus .theme-actions {
-       display: block;
-}
-
-.theme-browser.rendered .theme:hover .more-details {
-       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
-       opacity: 1;
-}
-
-/**
- * Displays a theme update notice
- * when an update is available.
- */
-.theme-browser .theme .theme-update {
-       background: #d54e21;
-       background: rgba(213, 78, 33, 0.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,0.25);
-       overflow: hidden;
-}
-
-.theme-browser .theme .theme-update:before {
-       content: '\f463';
-       display: inline-block;
-       font: normal 20px/1 'dashicons';
-       margin: 0 0 0 6px;
-       opacity: 0.8;
-       position: relative;
-       top: 5px;
-       speak: none;
-       -webkit-font-smoothing: antialiased;
-}
-
-
-/**
- * The currently active theme
- */
-.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,0.5);
-       box-shadow:         inset 0 1px 1px rgba(0,0,0,0.5);
-}
-
-.theme-browser .theme.active .theme-name span {
-       font-weight: 600;
-}
-
-.theme-browser .theme.active .theme-actions {
-       background: rgba(49,49,49,0.7);
-       border-right: none;
-       opacity: 1;
-}
-
-.theme-browser .theme.active .theme-actions .button-primary {
-       margin-left: 0;
-}
-
-.theme-browser .theme .theme-author {
-       background: #222;
-       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;
-}
-
-/**
- * Add new theme
- */
-.theme-browser .theme.add-new-theme {
-       border: 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:after {
-       display: block;
-       content: '';
-       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
-       opacity: 1;
-       background: transparent;
-       background: rgba(0, 0, 0, 0);
-       position: absolute;
-       top: 0;
-       right: 0;
-       left: 0;
-       bottom: 0;
-       padding: 10% 0 0 0;
-       text-shadow: none;
-       border: 5px dashed #d5d2ca;
-       border: 5px dashed rgba(0, 0, 0, 0.1);
-       -webkit-transition: opacity 0.2s ease-in-out;
-       transition:         opacity 0.2s ease-in-out;
-       -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, 0.1);
-       border-radius: 50%;
-       display: inline-block;
-       content: '\f132';
-       -webkit-font-smoothing: antialiased;
-       font: normal 74px/115px 'dashicons';
-       width: 100px;
-       height: 100px;
-       vertical-align: middle;
-       text-align: center;
-       color: rgb(153, 153, 153);
-       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:hover .theme-screenshot {
-       background: none;
-}
-
-.theme-browser .theme.add-new-theme:hover span:after {
-       background: #fff;
-       color: #0074a2;
-}
-
-.theme-browser .theme.add-new-theme:hover:after {
-       border-color: transparent;
-       color: #fff;
-       background: #0074a2;
-       content: '';
-}
-
-.theme-browser .theme.add-new-theme .theme-name {
-       background: none;
-       text-align: center;
-       box-shadow: none;
-       font-weight: 400;
-       position: relative;
-       top: 0;
-       margin-top: -10%;
-       margin-bottom: 10%;
-}
-
-.theme-browser .theme.add-new-theme:hover .theme-name {
-       color: #fff;
-       z-index: 2;
-}
-
-/*
- * The search form
- */
-.themes-php .theme-search {
-       position: relative;
-       top: -2px;
-       right: 20px;
-       font-size: 16px;
-       font-weight: 300;
-       line-height: 1.5;
-       width: 280px;
-}
-
-/**
- * Theme Overlay
- * Shown when clicking a theme
- */
-.theme-overlay .theme-backdrop {
-       position: absolute;
-       right: -20px;
-       left: 0;
-       top: 0;
-       bottom: 0;
-       background: #f1f1f1;
-       background: rgba( 238, 238, 238, 0.9 );
-       z-index: 10;
-}
-
-body.theme-overlay-open {
-       overflow: hidden;
-}
-
-.theme-overlay .theme-header {
-       position: absolute;
-       top: 0;
-       right: 0;
-       left: 0;
-       height: 48px;
-       border-bottom: 1px solid #ddd;
-}
-
-.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;
-}
-
-.theme-overlay .theme-header .close:hover:before,
-.theme-overlay .theme-header .close:focus:before {
-       color: #fff;
-}
-
-.theme-overlay .theme-header .close:before {
-       font: normal 30px/50px 'dashicons' !important;
-       color: #777;
-       display: inline-block;
-       content: '\f335';
-       font-weight: 300;
-}
-
-/* Left and right navigation */
-.theme-overlay .theme-header .right,
-.theme-overlay .theme-header .left {
-       cursor: pointer;
-       color: #777;
-       background-color: transparent;
-       height: 48px;
-       width: 54px;
-       float: right;
-       text-align: center;
-       border: 0;
-       border-left: 1px solid #ddd;
-}
-
-.theme-overlay .theme-header .close:hover,
-.theme-overlay .theme-header .right:hover,
-.theme-overlay .theme-header .left:hover,
-.theme-overlay .theme-header .close:focus,
-.theme-overlay .theme-header .right:focus,
-.theme-overlay .theme-header .left:focus {
-       background: #0074a2;
-       color: #fff;
-}
-
-.theme-overlay .theme-header .left.disabled,
-.theme-overlay .theme-header .right.disabled,
-.theme-overlay .theme-header .left.disabled:hover,
-.theme-overlay .theme-header .right.disabled:hover {
-       color: #ccc;
-       background: inherit;
-       cursor: inherit;
-}
-
-.theme-overlay .theme-header .right:before,
-.theme-overlay .theme-header .left:before {
-       font: normal 20px/50px 'dashicons' !important;
-       display: inline;
-       font-weight: 300;
-}
-
-.theme-overlay .theme-header .left:before {
-       content: '\f340';
-}
-
-.theme-overlay .theme-header .right:before {
-       content: '\f344';
-}
-
-.rtl .theme-overlay .theme-header .left:before {
-       content: '\f345';
-}
-
-.rtl .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, 0.1);
-       box-shadow:         0 1px 20px 5px rgba(0, 0, 0, 0.1);
-       z-index: 20;
-       box-sizing: border-box;
-}
-
-.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;
-       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;
-}
-
-.theme-overlay .theme-actions .delete-theme {
-       color: #a00;
-       position: absolute;
-       left: 10px;
-       bottom: 5px;
-       text-decoration: none;
-       border-color: transparent;
-       box-shadow: none;
-       background: transparent;
-}
-
-.theme-overlay .theme-actions .delete-theme:hover,
-.theme-overlay .theme-actions .delete-theme:focus {
-       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 Screenshots gallery
- */
-.theme-overlay .theme-screenshots {
-       float: right;
-       margin: 0 0 0 30px;
-       width: 55%;
-       max-width: 880px;
-       text-align: center;
-}
-
-/* First screenshot, shown big */
-.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,0.2);
-       box-shadow:         0 0 0 1px rgba(0,0,0,0.2);
-}
-
-.theme-overlay .screenshot:after {
-       content: '';
-       display: block;
-       padding-top: 75%; /* using a 4/3 aspect ratio */
-}
-
-.theme-overlay .screenshot img {
-       height: auto;
-       position: absolute;
-       right: 0;
-       top: 0;
-       width: 100%;
-}
-/* Handles old 300px screenshots */
-.theme-overlay.small-screenshot .theme-screenshots {
-       position: absolute;
-       width: 302px;
-}
-.theme-overlay.small-screenshot .theme-info {
-       margin-right: 350px;
-       width: auto;
-}
-
-/* Other screenshots, shown small and square */
-.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%; /* using a 1/1 aspect ratio */
-}
-
-.theme-overlay .screenshot.thumb img {
-       cursor: pointer;
-       height: auto;
-       position: absolute;
-       right: 0;
-       top: 0;
-       width: 100%;
-       height: auto;
-}
-
-.theme-overlay .screenshot.selected {
-       background: transparent;
-       border: 2px solid #2ea2cc;
-}
-
-.theme-overlay .screenshot.selected img {
-       opacity: 0.8;
-}
-
-/* No screenshot placeholder */
-.theme-browser .theme .theme-screenshot.blank,
-.theme-overlay .screenshot.blank {
-       background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=);
-}
-
-/**
- * Theme heading information
- */
-.theme-overlay .theme-info {
-       width: 40%;
-       float: right;
-}
-
-.theme-overlay .current-label {
-       background: #333;
-       color: #fff;
-       font-size: 11px;
-       display: inline-block;
-       padding: 2px 8px;
-       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: #222;
-       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;
-       -webkit-user-select: none;
-       -moz-user-select:    none;
-       -ms-user-select:     none;
-       user-select:         none;
-}
-
-.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 0;
-}
-
-.theme-overlay .theme-tags {
-       border-top: 3px solid #eee;
-       color: #888;
-       font-size: 13px;
-       font-weight: 400;
-       margin: 30px 0 0 0;
-       padding-top: 20px;
-}
-
-.theme-overlay .theme-tags span {
-       color: #444;
-       font-weight: bold;
-       margin-left: 5px;
-}
-
-/* Theme Updates info */
-.theme-overlay .theme-update-message {
-       background: #fefaf7;
-       border: 1px solid #eee;
-       border-right: 4px solid #d54e21;
-       border-radius: 3px;
-       padding: 5px 20px 10px;
-}
-
-.theme-overlay .theme-update {
-       color: #222;
-       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 #2ea2cc;
-       font-size: 14px;
-       font-weight: normal;
-       margin-top: 30px;
-       padding: 10px 20px 10px 10px;
-}
-
-.theme-overlay .parent-theme strong {
-       font-weight: 700;
-}
-
-/**
- * Single Theme Mode
- * Displays detailed view inline when a user has no switch capabilities
- */
-.single-theme .theme-overlay .theme-backdrop,
-.single-theme .theme-overlay .theme-header,
-.single-theme .theme {
-       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;
-}
-
-/**
- * Basic Responsive structure...
- *
- * Shuffles theme columns around based on screen width
- */
-
-@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;
-       }
-}
-
-/* Maximum screenshot width reaches 440px */
-@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%; /* using a 4/3 aspect ratio */
-       }
-
-       .theme-browser .theme:nth-child(3n) {
-               margin-left: 3%;
-       }
-
-       .theme-browser .theme:nth-child(4n) {
-               margin-left: 0;
-       }
-}
-/* Maximum screenshot width reaches 440px */
-@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%;
-       }
-}
-
-/* Admin menu is folded */
-@media only screen and (max-width: 900px) {
-       .theme-overlay .theme-wrap {
-               right: 65px;
-       }
-}
-
-@media only screen and (max-width: 780px) {
-       body.folded .theme-overlay .theme-wrap,
-       .theme-overlay .theme-wrap {
-               top: 0; /* The adminmenu isn't fixed on mobile, so this can use the full viewport height */
-               left: 0;
-               bottom: 0;
-               right: 0;
-               padding: 70px 20px 20px;
-               border: none;
-               z-index: 500; /* should overlap #wpadminbar, which is 500 on mobile. */
-               position: fixed;
-       }
-
-       .theme-browser .theme.active .theme-name span {
-               /* Hide the "Active: " label on smaller screens. */
-               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 10px;
-       }
-
-       .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:not(.active):hover .theme-actions,
-       .theme:hover .more-details {
-               display: none;
-       }
-
-       .theme-browser.rendered .theme:hover .theme-screenshot img {
-               opacity: 1.0;
-       }
-}
-
-@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-update,
-       .theme-overlay .theme-description {
-               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 0;
-       }
-
-       .theme-overlay .current-label {
-               margin-top: 10px;
-               font-size: 13px;
-       }
-
-       .themes-php .wrap h2 {
-               width: 100%;
-       }
-
-       .themes-php .theme-search {
-               float: none;
-               clear: both;
-               right: 0;
-               top: 0;
-               left: 0;
-               margin: 10px 0;
-               width: 100%;
-       }
-
-       .theme-browser .theme.add-new-theme span:after {
-               font: normal 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;
-}
-
-
-/*------------------------------------------------------------------------------
-  16.2 - Install Themes
-------------------------------------------------------------------------------*/
-
-.theme-install-php h4 {
-       margin: 2.5em 0 8px;
-}
-
-.theme-install-php .tablenav {
-       height: auto;
-}
-
-.theme-install-php .spinner {
-       margin-top: 9px;
-}
-
-.available-theme {
-       display: inline-block;
-       margin-left: 10px;
-       overflow: hidden;
-       padding: 20px 0 20px 20px;
-       vertical-align: top;
-       width: 300px;
-}
-
-.available-theme .screenshot {
-       width: 300px;
-       height: 225px;
-       display: block;
-       border-width: 1px;
-       border-style: solid;
-       margin-bottom: 10px;
-       overflow: hidden;
-}
-
-.available-theme img {
-       width: 300px;
-}
-
-.available-theme h3 {
-       margin: 15px 0 0;
-}
-
-.available-theme .theme-author {
-       line-height: 18px;
-}
-
-.available-theme .action-links {
-       margin-top: 10px;
-       overflow: hidden;
-}
-
-.available-theme a.screenshot:focus {
-       border-color: #777;
-}
-
-.available-theme .action-links li {
-       float: right;
-       padding-left: 10px;
-       margin-left: 10px;
-       border-left: 1px solid #dfdfdf;
-}
-
-.available-theme .action-links li {
-       padding-left: 8px;
-       margin-left: 8px;
-}
-
-.ie8 .available-theme .action-links li {
-       padding-left: 7px;
-       margin-left: 7px;
-}
-
-.available-theme .action-links li:last-child {
-       padding-left: 0;
-       margin-left: 0;
-       border-left: 0;
-}
-
-.available-theme .action-links .delete-theme {
-       float: left;
-       margin-right: 8px;
-       margin-left: 0;
-}
-
-.available-theme .action-links .delete-theme a {
-       color: red;
-       padding: 2px;
-}
-
-.available-theme .action-links .delete-theme a:hover {
-       background: red;
-       color: #fff;
-       text-decoration: none;
-}
-
-.available-theme .action-links p {
-       float: right;
-}
-
-/* Allow for three-up in small windows when sidebar is collapsed */
-@media only screen and (max-width: 1200px) {
-       .folded .available-theme,
-       .folded .available-theme .screenshot {
-               width: 300px;
-       }
-
-       .folded .available-theme .screenshot {
-               height: 225px;
-       }
-}
-
-/* Adjust three-up display in smaller windows when sidebar is collapsed */
-@media only screen and (max-width: 1079px) {
-       .folded .available-theme,
-       .folded .available-theme .screenshot {
-               width: 270px;
-       }
-
-       .folded .available-theme .screenshot {
-               height: 203px;
-       }
-}
-
-/* Allow for three-up on 1024px wide screens, e.g. tablets */
-@media only screen and (max-width: 1200px) {
-       .available-theme,
-       .available-theme .screenshot {
-               width: 240px;
-       }
-
-       .available-theme .screenshot {
-               height: 180px;
-       }
-
-       .available-theme img {
-               width: 100%;
-       }
-}
-
-#post-body ul.add-menu-item-tabs li.tabs a,
-#TB_window #TB_title a.tb-theme-preview-link,
-#TB_window #TB_title a.tb-theme-preview-link:visited {
-       font-weight: 600;
-       text-decoration: none;
-}
-
-#TB_window #TB_title {
-       background-color: #222;
-       color: #cfcfcf;
-}
-
-
-/*------------------------------------------------------------------------------
-  16.3 - Custom Header Screen
-------------------------------------------------------------------------------*/
-
-.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;
-}
-
-
-/*------------------------------------------------------------------------------
-  16.4 - Custom Background Screen
-------------------------------------------------------------------------------*/
-
-div#custom-background-image {
-       min-height: 100px;
-       border: 1px solid #dfdfdf;
-}
-
-div#custom-background-image img {
-       max-width: 400px;
-       max-height: 300px;
-}
-
-
-/*------------------------------------------------------------------------------
-  17.0 - Plugins
-------------------------------------------------------------------------------*/
-
-#dashboard_right_now .versions .b,
-#post-status-display,
-#post-visibility-display,
-#adminmenu .wp-submenu li.current,
-#adminmenu .wp-submenu li.current a,
-#adminmenu .wp-submenu li.current a:hover,
-.media-item .percent,
-.plugins .name,
-#pass-strength-result.strong,
-#pass-strength-result.short,
-#ed_reply_toolbar #ed_reply_strong,
-.item-controls .item-order a,
-.feature-filter .feature-name {
-       font-weight: 600;
-}
-
-.plugins p {
-       margin: 0 4px;
-       padding: 0;
-}
-
-.plugins .desc p {
-       margin: 0 0 8px;
-}
-
-.plugins td.desc {
-       line-height: 1.5em;
-}
-
-.plugins .desc ul,
-.plugins .desc ol {
-       margin: 0 2em 0 0;
-}
-
-.plugins .desc ul {
-       list-style-type: disc;
-}
-
-.plugins .row-actions {
-       font-size: 13px;
-       padding: 0;
-}
-
-.plugins .inactive td,
-.plugins .inactive th,
-.plugins .active td,
-.plugins .active th {
-       padding: 10px 9px;
-}
-
-.plugins .update th,
-.plugins .update td {
-       border-bottom: 0;
-}
-.plugin-update-tr td {
-       border-top: 0;
-}
-
-#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 .second,
-.plugins .row-actions {
-       padding: 0 0 5px;
-}
-
-.plugins .update .second,
-.plugins .update .row-actions {
-       padding-bottom: 0;
-}
-
-.plugins-php .widefat tfoot th,
-.plugins-php .widefat tfoot td {
-       border-top-style: solid;
-       border-top-width: 1px;
-}
-
-.plugin-update-tr .update-message {
-       border: none;
-       font-size: 13px;
-       font-weight: normal;
-       margin: 6px 12px 12px;
-       padding: 6px 12px;
-}
-
-.plugin-update-tr .update-message:before {
-       content: '\f463';
-       display: inline-block;
-       font: normal 20px/1 'dashicons';
-       speak: none;
-       margin: 0 -2px 0 8px;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-       vertical-align: top;
-}
-
-.plugin-install-php h4 {
-       margin: 2.5em 0 8px;
-}
-
-
-/*------------------------------------------------------------------------------
-  18.0 - Users
-------------------------------------------------------------------------------*/
-
-#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;
-}
-
-.scheme-list {
-
-}
-
-.color-option {
-       display: inline-block;
-       width: 24%;
-       padding: 5px 15px 15px;
-       -moz-box-sizing: border-box;
-       box-sizing: border-box;
-       margin-bottom: 3px;
-}
-
-.color-option:hover,
-.color-option.selected {
-       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;
-}
-
-/*------------------------------------------------------------------------------
-  19.0 - Tools
-------------------------------------------------------------------------------*/
-
-body.press-this {
-       color: #333;
-       margin: 0;
-       padding: 0;
-       min-width: 708px;
-       min-height: 400px;
-}
-
-.press-this #titlediv #title {
-       font-size: 1.4em;
-}
-
-.press-this #site-heading:before {
-    top: 3px;
-    position: relative;
-    display: inline-block;
-    font: normal 18px/1 'dashicons';
-    speak: none;
-    color: #727272;
-    content: '\f120';
-    -webkit-font-smoothing: antialiased;
-    -moz-osx-font-smoothing: grayscale;
-}
-
-.pressthis {
-       margin: 20px 0;
-}
-
-.pressthis a,
-.pressthis a:hover,
-.pressthis a:focus,
-.pressthis a:active {
-       display: inline-block;
-       position: relative;
-       cursor: move;
-       color: #333;
-       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 a:active {
-       outline: none;
-}
-
-.pressthis a:hover:after {
-       -webkit-transform: skew(20deg) rotate(9deg);
-       -moz-transform: skew(20deg) rotate(9deg);
-       transform: skew(20deg) rotate(9deg);
-       -webkit-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7);
-       box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7);
-}
-
-.pressthis a span {
-       display: inline-block;
-       margin: 0px 0 0;
-       padding: 0px 9px 8px 12px;
-}
-
-.pressthis a span:before {
-       font: normal 20px/1 'dashicons';
-       content:'\f157';
-       position: relative;
-       display: inline-block;
-       top: 4px;
-       margin-left: 4px;
-}
-
-.pressthis a:after {
-       content: '';
-       width: 70%;
-       height: 55%;
-       z-index: -1;
-       position: absolute;
-       left: 10px;
-       bottom: 9px;
-       background: transparent;
-
-       -webkit-transform: skew(20deg) rotate(6deg);
-       -moz-transform: skew(20deg) rotate(6deg);
-       transform: skew(20deg) rotate(6deg);
-       -webkit-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6);
-       box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6);
-}
-
-/*------------------------------------------------------------------------------
-  20.0 - Settings
-------------------------------------------------------------------------------*/
-
-#utc-time, #local-time {
-       padding-right: 25px;
-       font-style: italic;
-}
-
-.defaultavatarpicker .avatar {
-       margin: 2px 0;
-       vertical-align: middle;
-}
-
-.options-general-php .spinner {
-       float: none;
-       margin: -3px 3px;
-}
-
-/*------------------------------------------------------------------------------
-  21.0 - Admin Footer
-------------------------------------------------------------------------------*/
-
-#wpfooter {
-       position: absolute;
-       bottom: 0;
-       right: 0;
-       left: 0;
-       padding: 10px 0;
-       margin-left: 20px;
-       border-top-width: 1px;
-       border-top-style: solid;
-}
-
-#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;
-}
-
-/*------------------------------------------------------------------------------
-  22.0 - About Pages
-------------------------------------------------------------------------------*/
-
-.about-wrap {
-       position: relative;
-       margin: 25px 20px 0 40px;
-       max-width: 1050px; /* readability */
-
-       font-size: 15px;
-}
-
-.about-wrap div.updated,
-.about-wrap div.error {
-       display: none !important;
-}
-
-.about-wrap hr {
-       border: 0;
-       height: 0;
-       margin: 0;
-       border-top: 1px solid rgba(0, 0, 0, 0.1);
-}
-
-.about-wrap img {
-       margin: 0.5em 5px 0.5em 0;
-       max-width: 100%;
-}
-
-/* Typography */
-
-.about-wrap p {
-       line-height: 1.6em;
-       font-size: 14px;
-}
-
-.about-wrap h1 {
-       margin: 0.2em 0 0 200px;
-       line-height: 1.2em;
-       font-size: 2.8em;
-       font-weight: 400;
-}
-
-.about-wrap .about-text,
-.about-wrap p.about-description,
-.about-wrap li.wp-person a.web {
-       font-weight: normal;
-       line-height: 1.6em;
-       font-size: 19px;
-}
-
-.about-description {
-       margin-top: 1.4em;
-}
-
-.about-text {
-       margin: 1em 0 1em 200px;
-       min-height: 60px;
-       font-size: 24px;
-}
-
-.about-wrap .changelog h2.about-headline-callout {
-       margin: 1.1em 0 0.2em;
-       font-size: 2.4em;
-       font-weight: 300;
-       line-height: 1.3;
-       text-align: center;
-}
-
-.about-wrap h3 {
-       margin: 1em 0 .6em;
-       font-size: 1.5em;
-       line-height: 1.5em;
-}
-
-.about-wrap .feature-section h4 {
-       margin: 1.4em 0 0.6em 0;
-       font-size: 1.2em;
-}
-
-.about-wrap .feature-section p {
-       margin-top: 0.6em;
-}
-
-.about-wrap code,
-.about-wrap ol li p {
-       font-size: 14px;
-}
-
-/* 3.8 Images */
-
-.about-wrap .about-colors-img {
-       bottom: -25px;
-}
-
-.about-wrap .about-themes-img {
-       bottom: -38px;
-}
-
-.about-wrap .about-overview-img {
-       border-bottom: 1px solid rgba(0, 0, 0, 0.1);
-       margin: 0;
-}
-
-.about-colors-img img,
-.about-themes-img img {
-       margin: 0 0;
-       padding: 0;
-       line-height: 1;
-}
-
-/* Point Releases */
-
-.about-wrap .point-releases {
-       margin-top: 5px;
-}
-
-.about-wrap .changelog.point-releases h3 {
-       padding-top: 35px;
-}
-
-.about-wrap .changelog.point-releases h3:first-child {
-       padding-top: 7px;
-}
-
-/* WordPress Version Badge */
-
-.wp-badge {
-       background: url('../images/w-logo-white.png?ver=20131202') no-repeat;
-       background: none, url('../images/wordpress-logo-white.svg?ver=20131110') no-repeat;
-       background-position: center 24px;
-       background-size: 85px 85px;
-       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;
-}
-
-
-.about-wrap .wp-badge {
-       position: absolute;
-       top: 0;
-       left: 0;
-}
-
-/* Tabs */
-
-.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 h2 .nav-tab-active {
-       font-weight: bold;
-}
-
-/* Changelog / Update screen */
-
-.about-wrap .feature-section {
-       padding-bottom: 20px;
-}
-
-.about-wrap .feature-section.col {
-       margin-bottom: 0;
-}
-
-.about-wrap .feature-section.center-col > div {
-       margin: auto;
-       width: 60%;
-}
-
-.about-wrap .about-colors .one-col > div {
-       width: 100%;
-}
-
-.about-wrap .feature-section.two-col > div {
-       position: relative;
-       width: 50%;
-       float: right;
-}
-
-.about-wrap .feature-section.three-col > div {
-       position: relative;
-       width: 29.95%;
-       margin-left: 4.999999999%;
-       float: right;
-}
-
-.about-wrap .feature-section.col .last-feature {
-       margin-left: 0;
-}
-
-.about-wrap .about-updates img,
-.about-wrap .about-twentyfourteen img {
-       margin: 2em 0 0 0;
-       border: 1px solid #ddd;
-       -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-       box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.about-wrap .about-twentyfourteen img {
-       margin-top: 1em;
-}
-
-.about-wrap .changelog .feature-section {
-       overflow: hidden;
-}
-
-.about-wrap .about-colors .scheme-list {
-       margin-bottom: 1em;
-}
-
-.about-wrap .about-colors .color-option {
-       padding-top: 10px;
-}
-.about-wrap .about-colors .color-option label {
-       display: inline-block;
-       margin: 0.25em 0 0.5em;
-}
-
-.about-wrap .feature-section.two-col div p {
-       margin-left: 3%;
-}
-
-.about-wrap .feature-section div p img {
-       float: left;
-       margin-right: 10px;
-       max-width: 20%;
-}
-
-.about-wrap .changelog li {
-       list-style-type: disc;
-       margin-right: 3em;
-}
-
-/* Return to Dashboard Home link */
-
-.about-wrap .return-to-dashboard {
-       margin: 30px -5px 0 0;
-       font-size: 14px;
-       font-weight: bold;
-}
-
-.about-wrap .return-to-dashboard a {
-       text-decoration: none;
-       padding: 0 5px;
-}
-
-/* Credits */
-
-.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 {
-       float: right;
-       margin-left: 10px;
-}
-
-.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 {
-       height: 70px;
-       width: 280px;
-       padding-bottom: 15px;
-}
-
-.about-wrap ul.compact li.wp-person {
-       height: auto;
-       width: 180px;
-       padding-bottom: 0;
-       margin-bottom: 0;
-}
-
-.about-wrap #wp-people-group-validators + p.wp-credits-list {
-       margin-top: 0;
-}
-
-.about-wrap li.wp-person a.web {
-       display: block;
-       margin: 6px 0 2px;
-       font-size: 16px;
-       text-decoration: none;
-}
-
-.about-wrap p.wp-credits-list a {
-       white-space: nowrap;
-}
-
-/* Freedoms */
-
-.freedoms-php .about-wrap ol {
-       margin: 40px 60px;
-}
-
-.freedoms-php .about-wrap ol li {
-       list-style-type: decimal;
-       font-weight: bold;
-}
-
-.freedoms-php .about-wrap ol p {
-       font-weight: normal;
-       margin: 0.6em 0;
-}
-
-/*------------------------------------------------------------------------------
-  23.0 - Full Overlay w/ Sidebar
-------------------------------------------------------------------------------*/
-
-body.full-overlay-active {
-       overflow: hidden;
-}
-
-.wp-full-overlay {
-       background: transparent;
-       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;
-       overflow: auto;
-       background: transparent;
-       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%;
-}
-
-.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;
-}
-
-/* Close Link */
-.wp-full-overlay .close-full-overlay {
-       text-decoration: none;
-}
-
-/* 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;
-       padding: 0;
-       border-radius: 50%;
-       text-decoration: none;
-}
-
-.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: none;
-}
-
-.wp-full-overlay .collapse-sidebar-arrow:before {
-       border-radius: 50%;
-       float: right;
-       content: "\f148";
-       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;
-}
-
-.wp-full-overlay.collapsed .collapse-sidebar-arrow:before,
-.rtl .wp-full-overlay .collapse-sidebar-arrow:before {
-       -ms-transform: rotate(180deg);
-       -webkit-transform: rotate(180deg);
-       transform: rotate(180deg);
-}
-
-.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before {
-       -ms-transform: none;
-       -webkit-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;
-}
-
-/* Animations */
-.wp-full-overlay,
-.wp-full-overlay-sidebar,
-.wp-full-overlay .collapse-sidebar,
-.wp-full-overlay-main {
-       -webkit-transition-property: right, left, top, bottom, width, margin;
-       -moz-transition-property:    right, left, top, bottom, width, margin;
-       -ms-transition-property:     right, left, top, bottom, width, margin;
-       -o-transition-property:      right, left, top, bottom, width, margin;
-       transition-property:         right, left, top, bottom, width, margin;
-       -webkit-transition-duration: 0.2s;
-       -moz-transition-duration:    0.2s;
-       -ms-transition-duration:     0.2s;
-       -o-transition-duration:      0.2s;
-       transition-duration:         0.2s;
-}
-
-/*------------------------------------------------------------------------------
-  24.0 - Customize Loader
-------------------------------------------------------------------------------*/
-
-.no-customize-support .hide-if-no-customize,
-.customize-support .hide-if-customize,
-.no-customize-support.wp-core-ui .hide-if-no-customize,
-.no-customize-support .wp-core-ui .hide-if-no-customize,
-.customize-support.wp-core-ui .hide-if-customize,
-.customize-support .wp-core-ui .hide-if-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: #fff url('../images/spinner.gif') no-repeat fixed center center;
-       background-size: 20px 20px;
-}
-
-#customize-container iframe,
-#theme-installer iframe {
-       height: 100%;
-       width: 100%;
-       z-index: 20;
-
-       -webkit-transition: opacity 0.3s;
-       -moz-transition:    opacity 0.3s;
-       -ms-transition:     opacity 0.3s;
-       -o-transition:      opacity 0.3s;
-       transition:         opacity 0.3s;
-}
-
-#customize-container .collapse-sidebar {
-       bottom: 16px;
-}
-
-#customize-controls {
-       margin-top: 0;
-}
-
-#theme-installer {
-       display: none;
-}
-
-#theme-installer.single-theme {
-       display: block;
-}
-
-.install-theme-info {
-       display: none;
-       padding: 10px 20px 20px;
-}
-
-.single-theme .install-theme-info {
-       padding-top: 15px;
-}
-
-#theme-installer .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;
-}
-
-#theme-installer .wp-full-overlay-header {
-       margin-top: 9px;
-}
-
-#theme-installer .wp-full-overlay-header .theme-install {
-       float: left;
-       /* For when .theme-install is a span rather than a.button-primary (already installed theme) */
-       line-height: 26px;
-}
-
-#theme-installer .wp-full-overlay-sidebar {
-       background: #EEE;
-       border-left: 1px solid #DDD;
-}
-
-#theme-installer .wp-full-overlay-main {
-       background: #fff url('../images/spinner.gif') no-repeat fixed center center;
-       background-size: 20px 20px;
-}
-
-
-/*------------------------------------------------------------------------------
-  25.0 - Tabbed Admin Screen Interface (Experimental)
-------------------------------------------------------------------------------*/
-
-.nav-tab {
-       border-style: solid;
-       border-width: 1px 1px 0;
-       font-size: 12px;
-       line-height: 16px;
-       display: inline-block;
-       padding: 4px 14px 6px;
-       text-decoration: none;
-       margin: -4px 0 -1px 4px;
-}
-
-.nav-tab-active {
-       border-width: 1px;
-}
-
-.nav-tab-active,
-.nav-tab-active:hover {
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
-}
-
-h2.nav-tab-wrapper,
-h3.nav-tab-wrapper {
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
-       padding-bottom: 0;
-       padding-right: 10px;
-}
-
-h2 .nav-tab {
-       padding: 6px 10px;
-       font-weight: bold;
-       font-size: 15px;
-       line-height: 24px;
-}
-
-
-/*------------------------------------------------------------------------------
-  26.0 - Misc
-------------------------------------------------------------------------------*/
-
-#excerpt,
-.attachmentlinks {
-       margin: 0;
-       height: 4em;
-       width: 98%;
-}
-
-#template div {
-       margin-left: 190px;
-}
-
-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: 0.6em;
-}
-
-.column-author img,
-.column-username img,
-.column-comment .comment-author img {
-       float: right;
-       margin-left: 10px;
-       margin-top: 1px;
-}
-
-.row-actions {
-       font-size: 13px;
-       visibility: hidden;
-       padding: 2px 0 0;
-}
-
-tr:hover .row-actions,
-.mobile .row-actions,
-.row-actions.visible,
-div.comment-item:hover .row-actions {
-       visibility: visible;
-}
-
-/* deprecated */
-.row-actions-visible {
-       padding: 2px 0 0;
-}
-
-.form-table .pre {
-       padding: 8px;
-       margin: 0;
-}
-
-table.form-table td .updated {
-       font-size: 13px;
-}
-
-.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;
-       white-space: nowrap;
-       cursor: default;
-}
-
-.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,
-.metabox-holder h3 {
-       font-size: 14px;
-       padding: 8px 12px;
-       margin: 0;
-       line-height: 1.4;
-}
-
-#poststuff .inside {
-       margin: 6px 0 0 0;
-}
-
-#poststuff .inside #parent_id,
-#poststuff .inside #page_template {
-       max-width: 100%;
-}
-
-.inline-edit-row #post_parent,
-.inline-edit-row select[name="page_template"] {
-       max-width: 80%;
-}
-
-.ie8 #poststuff .inside #parent_id,
-.ie8 #poststuff .inside #page_template,
-.ie8 .inline-edit-row #post_parent,
-.ie8 .inline-edit-row select[name="page_template"] {
-       width: 250px;
-}
-
-#post-visibility-select {
-       line-height: 1.5em;
-       margin-top: 3px;
-}
-
-#poststuff #submitdiv .inside {
-       margin: 0;
-       padding: 0;
-}
-
-.edit-form-section {
-       margin-bottom: 20px;
-}
-
-#templateside ul li a {
-       text-decoration: none;
-}
-
-.tool-box .title {
-       margin: 8px 0;
-       font-size: 18px;
-       font-weight: normal;
-       line-height: 24px;
-}
-
-#sidemenu {
-       margin: -30px 315px 0 15px;
-       list-style: none;
-       position: relative;
-       float: left;
-       padding-right: 10px;
-       font-size: 12px;
-}
-
-#sidemenu a {
-       padding: 0 7px;
-       display: block;
-       float: right;
-       line-height: 28px;
-       border-top-width: 1px;
-       border-top-style: solid;
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
-       -webkit-transition: none;
-       -moz-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: normal;
-       padding-right: 6px;
-       padding-left: 6px;
-       -webkit-border-top-right-radius: 3px;
-       -webkit-border-top-left-radius: 3px;
-       border-top-right-radius: 3px;
-       border-top-left-radius: 3px;
-       border-width: 1px;
-       border-style: solid;
-}
-
-#sidemenu li a .count-0 {
-       display: none;
-}
-
-.plugin-install #description,
-.plugin-install-network #description {
-       width: 60%;
-}
-
-table .vers,
-table .column-visible,
-table .column-rating {
-       text-align: right;
-}
-
-.error-message {
-       color: red;
-       font-weight: 600;
-}
-
-/* Scrollbar fix for bulk upgrade iframe */
-body.iframe {
-       height: 98%;
-}
-
-/* Upgrader styles, Specific to Language Packs */
-.lp-show-latest p {
-       display: none;
-}
-.lp-show-latest p:last-child,
-.lp-show-latest .lp-error p {
-       display: block;
-}
-
-/* - Only used once or twice in all of WP - deprecate for global style
-------------------------------------------------------------------------------*/
-td.media-icon {
-       text-align: center;
-       width: 80px;
-       padding-top: 8px;
-       padding-bottom: 8px;
-}
-
-td.media-icon img {
-       max-width: 80px;
-       max-height: 60px;
-}
-
-#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;
-}
-
-/* - Used - but could/should be deprecated with a CSS reset
-------------------------------------------------------------------------------*/
-.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;
-}
-
-/*------------------------------------------------------------------------------
-  27.0 - Localization
-------------------------------------------------------------------------------*/
-
-/* RTL except Hebrew (see below): Tahoma as the first font; */
-body.rtl,
-body.rtl .press-this a.wp-switch-editor {
-       font-family: Tahoma, Arial, sans-serif;
-}
-
-
-/* he_IL: Remove Tahoma from the font stack. Arial is best for Hebrew. */
-body.locale-he-il,
-body.locale-he-il .press-this a.wp-switch-editor {
-       font-family: Arial, sans-serif;
-}
-
-/* he_IL: Have <em> be bold rather than italic. */
-.locale-he-il em {
-       font-style: normal;
-       font-weight: bold;
-}
-
-
-/*-----------------------------------------------------------------------------
- MERGED
--------------------------------------------------------------------------------*/
-
-/* dashboard */
-.edit-box {
-       display: none;
-}
-
-h3:hover .edit-box {
-       display: inline;
-}
-
-#dashboard-widgets form .input-text-wrap input {
-       width: 100%;
-}
-
-#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 {
-       font-weight: normal;
-       font-size: 14px;
-       margin: 0 0 .2em;
-       padding: 0;
-}
-
-#dashboard_plugins h5 {
-       font-size: 14px;
-}
-
-/* Recent Comments */
-
-#latest-comments #the-comment-list {
-       position: relative;
-}
-
-#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: normal;
-}
-
-#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;
-}
-
-/* QuickDraft */
-
-#title-wrap label {
-       cursor: text;
-}
-
-#title-wrap #title {
-       padding: 2px 6px;
-       font-size: 1.3em;
-       line-height: 100%;
-       outline: none;
-}
-
-#title-wrap #title-prompt-text {
-       font-size: 1.1em;
-       padding: 5px 8px;
-}
-
-/* Feeds */
-.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;
-}
-
-/* Browser Nag */
-#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: transparent none;
-       color: #fff;
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-#dashboard_browser_nag a {
-       color: #fff;
-}
-
-/* Make the browser nags easier to read with Open Sans */
-
-#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 p,
-.postbox#dashboard_browser_nag a,
-.postbox#dashboard_browser_nag p.browser-update-nag {
-       font-size: 16px;
-}
-
-
-/* login */
-
-#loginform p.submit,
-.login-action-lostpassword p.submit {
-       border: none;
-       margin: -10px 0 20px; /* May want to revisit this */
-}
-
-.login * {
-       margin: 0;
-       padding: 0;
-}
-
-.login form {
-       margin-top: 20px;
-       margin-right: 0;
-       padding: 26px 24px 46px;
-       font-weight: normal;
-       overflow: hidden;
-}
-
-.login form .forgetmenot {
-       font-weight: normal;
-       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');
-       background-size: 80px 80px;
-       background-position: center top;
-       background-repeat: no-repeat;
-       color: #999;
-       height: 80px;
-       font-size: 20px;
-       font-weight: normal;
-       line-height: 1.3em;
-       margin: 0 auto 25px;
-       padding: 0;
-       text-decoration: none;
-       width: 80px;
-       text-indent: -9999px;
-       outline: none;
-       overflow: hidden;
-       display: block;
-}
-
-#login {
-       width: 320px;
-       padding: 8% 0 0;
-       margin: auto;
-}
-
-#login_error,
-.login .message {
-       margin-right: 0;
-       padding: 12px;
-}
-
-.login #nav,
-.login #backtoblog {
-       font-size: 13px;
-       padding: 0 24px 0;
-}
-
-.login #nav {
-       margin: 24px 0 0 0;
-}
-
-#backtoblog {
-       margin: 16px 0 0 0;
-}
-
-.login form .input,
-.login input[type="text"] {
-       font-size: 24px;
-       line-height: 1;
-       width: 100%;
-       padding: 3px;
-       margin: 2px 0 16px 6px;
-}
-
-.login #pass-strength-result {
-       width: 250px;
-       font-weight: 600;
-       border-style: solid;
-       border-width: 1px;
-       margin: 12px 0 6px;
-       padding: 6px 5px;
-       text-align: center;
-}
-
-.mobile #login {
-       padding: 20px 0;
-}
-
-.mobile #login form,
-.mobile #login .message,
-.mobile #login_error {
-       margin-right: 0;
-}
-
-.mobile #login #nav,
-.mobile #login #backtoblog {
-       margin-right: 8px;
-}
-
-.mobile #login h1 a {
-       width: auto;
-}
-
-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 */
-/* Background Color for Site Status */
-.wp-list-table .site-deleted {
-       background: #ff8573;
-}
-.wp-list-table .site-spammed {
-       background: #faafaa;
-}
-.wp-list-table .site-archived {
-       background: #ffebe8;
-}
-.wp-list-table .site-mature {
-       background: #fecac2;
-}
-
-/* nav-menu */
-
-.no-js #message {
-       display: block;
-}
-
-.accordion-section ul.category-tabs,
-.accordion-section ul.add-menu-item-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;
-}
-
-#nav-menus-frame .accordion-section-content .inside {
-       font-size: 14px;
-}
-
-#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 .postbox,
-.metabox-holder-disabled .accordion-section-content,
-.metabox-holder-disabled .accordion-section-title {
-       opacity: 0.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 {
-       font-style: italic;
-       font-weight: normal;
-       margin-right: 4px;
-}
-
-.manage-menus {
-       margin-top: 23px;
-       padding: 10px;
-       overflow: hidden;
-}
-
-.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 p {
-       margin: .3em 0 .6em;
-}
-
-.menu-edit #post-body-content h3 {
-       margin: 1em 0 10px;
-}
-
-.menu-settings {
-       border-top-width: 1px;
-       border-top-style: solid;
-       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 {
-       font-size: 11px;
-}
-
-/* Menu Container */
-#menu-management-liquid {
-       float: right;
-       min-width: 100%;
-       margin-top: 3px;
-}
-
-#menu-management {
-       position: relative;
-       margin-left: 20px;
-       margin-top: -3px;
-       width: 100%;
-}
-
-#menu-management .menu-edit {
-       margin-bottom: 20px;
-}
-
-.nav-menus-php #post-body {
-       padding: 0 10px 10px;
-       border-width: 1px 0;
-       border-style: solid;
-}
-
-#nav-menu-header,
-#nav-menu-footer {
-       padding: 0 10px;
-}
-
-#nav-menu-header {
-       border-bottom: 1px solid;
-       margin-bottom: 0;
-}
-
-#nav-menu-header .menu-name-label {
-       margin-top: 4px;
-}
-
-.nav-menus-php #post-body div.updated,
-.nav-menus-php #post-body div.error {
-       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 10px;
-       margin-bottom: 5px;
-}
-
-#select-nav-menu {
-       width: 100px;
-       display: inline;
-}
-
-#menu-name-label {
-       margin-top: -2px;
-}
-
-.widefat td.menu-location-menus {
-       padding-bottom: 5px;
-}
-
-.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-edit-menu-link,
-.locations-add-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 {
-       font-style: italic;
-}
-
-#menu-management .inside {
-       padding: 0 10px;
-}
-
-/* Add Menu Item Boxes */
-.postbox .howto input,
-.accordion-container .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;
-}
-
-/* Button Primary Actions */
-#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 .submitdelete,
-.nav-menus-php .submitcancel {
-       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.right, .button-secondary.right, .button-primary.right {
-       float: left;
-}
-
-/* Button Secondary Actions */
-.list-controls {
-       float: right;
-       margin-top: 5px;
-}
-
-.add-to-menu {
-       float: left;
-}
-
-.postbox .spinner {
-       display: none;
-       vertical-align: middle;
-}
-
-.button-controls {
-       clear:both;
-       margin: 10px 0;
-}
-
-.show-all,
-.hide-all {
-       cursor: pointer;
-}
-
-.hide-all {
-       display: none;
-}
-
-/* Create Menu */
-#menu-name {
-       width: 270px;
-}
-
-#manage-menu .inside {
-       padding: 0px 0px;
-}
-
-/* Custom Links */
-#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;
-}
-
-/* Menu item types */
-.quick-search {
-       width: 190px;
-}
-
-.nav-menus-php .list-wrap {
-       display: none;
-       clear: both;
-       margin-bottom: 10px;
-}
-
-.nav-menus-php .list-container {
-       max-height: 200px;
-       overflow-y: auto;
-       padding: 10px 10px 5px;
-}
-
-.nav-menus-php .postbox p.submit {
-       margin-bottom: 0;
-}
-
-/* Listings */
-.nav-menus-php .list li {
-       display: none;
-       margin: 0;
-       margin-bottom: 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;
-}
-
-/* Nav Menu */
-#menu-container .inside {
-       padding-bottom: 10px;
-}
-
-.menu {
-       padding-top:1em;
-}
-
-#menu-to-edit {
-       margin: 0;
-       padding: 0.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;
-       width: 382px;
-       line-height: 30px;
-       overflow: hidden;
-       word-wrap: break-word;
-}
-
-#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;
-}
-
-.menu-item-handle .item-title {
-       font-size: 13px;
-       font-weight: 600;
-       line-height: 20px;
-       display: block;
-       margin-left: 13em;
-}
-
-/* Sortables */
-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;
-}
-
-/* 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; }
-.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: 0px; }
-.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; }
-
-/* Menu item controls */
-.item-type {
-       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: none;
-       overflow: hidden;
-       white-space: nowrap;
-}
-
-/* Menu editing */
-.menu-instructions-inactive {
-       display: none;
-}
-
-.menu-item-settings {
-       display: block;
-       width: 402px;
-       padding: 10px 10px 10px 0;
-       position: relative;
-       z-index: 10; /* Keep .item-title's shadow from appearing on top of .menu-item-settings */
-}
-
-.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;
-       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;
-       height: 40px;
-}
-
-.description-wide {
-       width: 390px;
-}
-
-.menu-item-actions {
-       padding-top: 15px;
-}
-
-#cancel-save {
-       cursor: pointer;
-}
-
-/* Major/minor publishing actions (classes) */
-.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;
-       padding: 1px 2px;
-       text-decoration: none;
-}
-
-.nav-menus-php .major-publishing-actions .form-invalid {
-       padding-right: 4px;
-       margin-right: -4px;
-       border: 0 none;
-}
-
-/* Clearfix */
-#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;
-}
-
-#nav-menus-frame,
-.button-controls,
-#menu-item-url-wrap,
-#menu-item-name-wrap {
-       display: block;
-}
-
-/* Star Ratings - Back-compat for pre-3.8 */
-div.star-holder {
-       position: relative;
-       height: 17px;
-       width: 100px;
-       background: url('../images/stars.png?ver=20121108') repeat-x bottom right;
-}
-
-div.star-holder .star-rating {
-       background: url('../images/stars.png?ver=20121108') repeat-x top right;
-       height: 17px;
-       float: right;
-}
-
-/* Star Ratings */
-.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: normal;
-       font-style: normal;
-       vertical-align: top;
-       -moz-transition: color .1s ease-in 0;
-       -webkit-transition: color .1s ease-in 0;
-       text-align: center;
-       color: #0074a2;
-}
-
-.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: normal;
-       margin: 6px 0 0;
-}
-
-/* Header on thickbox */
-#plugin-information-header {
-       margin: 0;
-       padding: 0 5px;
-       font-weight: 600;
-       position: relative;
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
-       height: 2.5em;
-}
-#plugin-information ul#sidemenu {
-       font-weight: normal;
-       margin: 0 5px;
-       position: absolute;
-       right: 0;
-       bottom: -1px;
-}
-
-/* Install sidemenu */
-#plugin-information {
-       height: auto;
-}
-
-#plugin-information p.action-button {
-       width: 100%;
-       padding-bottom: 0;
-       margin-bottom: 0;
-       margin-top: 10px;
-       -webkit-border-top-right-radius: 3px;
-       -webkit-border-bottom-right-radius: 3px;
-       border-top-right-radius: 3px;
-       border-bottom-right-radius: 3px;
-}
-
-#plugin-information .action-button a {
-       text-align: center;
-       font-weight: 600;
-       text-decoration: none;
-       display: block;
-       line-height: 2em;
-}
-
-#plugin-information h2 {
-       clear: none !important;
-       margin-left: 200px;
-}
-
-#plugin-information .fyi {
-       margin: 0 10px 50px;
-       width: 210px;
-}
-
-#plugin-information .fyi h2 {
-       font-size: 0.9em;
-       margin-bottom: 0;
-       margin-left: 0;
-}
-
-#plugin-information .fyi h2.mainheader {
-       padding: 5px;
-       -webkit-border-top-right-radius: 3px;
-       border-top-right-radius: 3px;
-}
-
-#plugin-information .fyi ul {
-       padding: 10px 7px 10px 5px;
-       margin: 0;
-       list-style: none;
-       -webkit-border-bottom-right-radius: 3px;
-       border-bottom-right-radius: 3px;
-}
-
-#plugin-information .fyi li {
-       margin-left: 0;
-}
-
-#plugin-information #section-holder {
-       padding: 10px;
-}
-
-#plugin-information .section ul,
-#plugin-information .section ol {
-       margin-right: 16px;
-       list-style-type: square;
-       list-style-image: none;
-}
-
-#plugin-information #section-screenshots ol {
-       list-style: none;
-       margin: 0;
-}
-
-#plugin-information #section-screenshots li img {
-       vertical-align: text-top;
-       max-width: 100%;
-       width: auto;
-       height: auto;
-}
-
-#plugin-information #section-screenshots li p {
-       font-style: italic;
-       padding-right: 20px;
-       padding-bottom: 2em;
-}
-
-#plugin-information #section-screenshots ol,
-#plugin-information .updated,
-#plugin-information pre {
-       margin-left: 215px;
-}
-
-#plugin-information pre {
-       padding: 7px;
-       overflow: auto;
-       border-width: 1px;
-       border-style: solid;
-}
-
-.plugin-version-author-uri {
-       font-size: 13px;
-}
-
-img {
-       border: none;
-}
-
-/* Header */
-#wphead {
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
-}
-
-.press-this #wphead {
-       height: 32px;
-       margin-right: 0;
-       margin-left: 0;
-       margin-bottom: 5px;
-}
-
-.press-this #header-logo {
-       float: right;
-       margin: 7px 7px 0;
-       -webkit-user-select: none;
-       -moz-user-select: none;
-       user-select: none;
-}
-
-.press-this #wphead h1 {
-       font-weight: normal;
-       font-size: 16px;
-       line-height: 32px;
-       margin: 0;
-       float: right;
-}
-
-.press-this #wphead h1 a {
-       text-decoration: none;
-}
-
-.press-this #wphead h1 a:hover {
-       text-decoration: underline;
-}
-
-.press-this #message {
-       margin: 10px 0;
-}
-
-.press-this .posting {
-       margin-left: 252px;
-}
-
-.press-this-sidebar {
-       float: left;
-       width: 240px;
-       padding-top: 10px;
-}
-
-.press-this #title {
-       margin-right: 0;
-       margin-left: 0;
-       -moz-box-sizing: border-box;
-       -webkit-box-sizing: border-box;
-       -ms-box-sizing: border-box;
-       box-sizing: border-box;
-}
-
-.press-this .tagchecklist {
-       margin-top: 8px;
-}
-
-.press-this #titlediv {
-       margin: 0;
-}
-
-.press-this .wp-media-buttons {
-       cursor: default;
-       padding: 8px 8px 6px;
-}
-
-.press-this .howto {
-       margin-top: 2px;
-       margin-bottom: 3px;
-       font-size: 12px;
-       font-style: italic;
-       display: block;
-}
-
-.press-this #wp-content-editor-container {
-       clear: none;
-}
-
-.press-this #poststuff .inside {
-       margin-top: 18px;
-}
-
-.press-this .category-tabs {
-       margin-bottom: 3px;
-}
-
-/* Editor/Main Column */
-.press-this #poststuff {
-       margin: 0 10px 10px;
-       padding: 0;
-}
-
-.press-this #photo-add-url-div input[type="text"] {
-       width: 220px;
-}
-
-#poststuff #editor-toolbar {
-       height: 30px;
-}
-
-div.zerosize {
-       border: 0 none;
-       height: 0;
-       margin: 0;
-       overflow: hidden;
-       padding: 0;
-       width: 0;
-}
-
-.posting {
-       margin-left: 212px;
-       position: relative;
-}
-
-.press-this .inner-sidebar {
-       width: 200px;
-}
-
-.press-this .inner-sidebar .sleeve {
-       padding-top: 5px;
-}
-
-.press-this #submitdiv p {
-       margin: 0;
-       padding: 6px;
-}
-
-.press-this #submitdiv #publishing-actions {
-       border-bottom: 1px solid #dfdfdf;
-}
-
-.press-this #publish {
-       float: left;
-}
-
-.press-this #poststuff h2,
-.press-this #poststuff h3 {
-       font-size: 14px;
-       line-height: 1;
-}
-
-.press-this #tagsdiv-post_tag h3,
-.press-this #categorydiv h3 {
-       cursor: pointer;
-}
-
-.press-this #submitdiv h3 {
-       cursor: default;
-}
-
-h3.tb {
-       font-weight: 600;
-       font-size: 12px;
-       margin-right: 5px;
-}
-
-#TB_window {
-       border: 1px solid #333;
-}
-
-.press-this .postbox,
-.press-this .stuffbox {
-       margin-bottom: 10px;
-       min-width: 0;
-}
-
-.js .meta-box-sortables .postbox:hover .handlediv {
-       margin-left: 0 !important;
-}
-
-/* Metabox collapse arrow indicators */
-.js .sidebar-name .sidebar-name-arrow:before,
-.js .meta-box-sortables .postbox .handlediv:before {
-       left: 12px;
-       font: normal 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 .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow,
-.js #widgets-left .sidebar-name:hover .sidebar-name-arrow {
-       display: block;
-}
-
-/* Show the arrow only on hover */
-.js .sidebar-name .sidebar-name-arrow:before,
-.js .meta-box-sortables .postbox .handlediv:before {
-       content: '\f142';
-}
-
-.js .widgets-holder-wrap.closed .sidebar-name-arrow:before,
-.js .meta-box-sortables .postbox.closed .handlediv:before {
-       content: '\f140';
-}
-
-.press-this #submitdiv:hover .handlediv {
-       background: none;
-}
-
-.tbtitle {
-       font-size: 1.7em;
-       outline: none;
-       padding: 3px 4px;
-       border-color: #dfdfdf;
-}
-
-.press-this .actions {
-       float: left;
-       margin: -19px 0 0;
-}
-
-.press-this #extra-fields .actions {
-       margin: -32px 0 0 -7px;
-}
-
-.press-this .actions li {
-       float: right;
-       list-style: none;
-       margin-left: 10px;
-}
-
-#extra-fields .button {
-       margin-left: 5px;
-}
-
-/* Photo Styles */
-#photo_saving {
-       margin: 0 8px 8px;
-       vertical-align: middle;
-}
-
-#img_container_container {
-       overflow: auto;
-}
-
-#extra-fields {
-       margin-top: 10px;
-       position: relative;
-}
-
-#extra-fields h2 {
-       margin: 12px;
-}
-
-#waiting {
-       margin-top: 10px;
-       overflow: hidden;
-}
-
-#waiting span {
-       float: left;
-       margin: 0 5px 0 0;
-}
-
-#waiting .spinner {
-       display: block;
-}
-
-#extra-fields .postbox {
-       margin-bottom: 5px;
-}
-
-#extra-fields .titlewrap {
-       padding: 0;
-       overflow: auto;
-       height: 120px;
-}
-
-#img_container a {
-       display: block;
-       float: right;
-       overflow: hidden;
-}
-
-#img_container img,
-#img_container a {
-       width: 68px;
-       height: 68px;
-}
-
-#img_container img {
-       border: none;
-       background-color: #f4f4f4;
-       cursor: pointer;
-}
-
-#img_container a,
-#img_container a:link,
-#img_container a:visited {
-       border: 1px solid #ccc;
-       display: block;
-       position: relative;
-}
-
-#img_container a:hover,
-#img_container a:active {
-       border-color: #000;
-       z-index: 1000;
-       border-width: 1px;
-}
-
-/* Video */
-#embed-code {
-       width: 100%;
-       height: 98px;
-}
-
-/* Categories */
-.press-this .categorydiv div.tabs-panel {
-       height: 100px;
-}
-
-/* Tags */
-.press-this .tagsdiv .newtag {
-       width: 120px;
-}
-
-.press-this #content {
-       margin: 5px 0;
-       padding: 0 5px;
-       border: 0 none;
-       height: 345px;
-       font-family: Consolas, Monaco, monospace;
-       font-size: 13px;
-       line-height: 19px;
-       background: transparent;
-}
-
-/* Submit */
-.press-this #publishing-actions .spinner {
-       display: inline;
-       vertical-align: middle;
-}
-
-#TB_ajaxContent #options {
-       position: absolute;
-       top: 20px;
-       left: 25px;
-       padding: 5px;
-}
-
-#TB_ajaxContent h3 {
-       margin-bottom: .25em;
-}
-
-.error a {
-       text-decoration: underline;
-}
-
-.updated a {
-       text-decoration: none;
-       padding-bottom: 2px;
-}
-
-/* tag hints */
-.taghint {
-       color: #aaa;
-       margin: -17px 7px 0 0;
-       visibility: hidden;
-}
-
-input.newtag ~ div.taghint {
-       visibility: visible;
-}
-
-input.newtag:focus ~ div.taghint {
-       visibility: hidden;
-}
-
-/* TinyMCE */
-#mce_fullscreen_container {
-       background: #fff;
-}
-
-#photo-add-url-div input[type="text"] {
-       width: 300px;
-}
-
-/* Theme/Plugin Editor */
-.alignleft h3 {
-       margin: 0;
-}
-
-#template textarea {
-       font-family: Consolas, Monaco, monospace;
-       font-size: 13px;
-       width: 97%;
-       background: #f9f9f9;
-       outline: none;
-}
-
-/* @noflip */
-#template textarea,
-#docs-list {
-       direction: ltr;
-}
-
-#template p {
-       width: 97%;
-}
-
-#templateside {
-       float: left;
-       width: 190px;
-       word-wrap: break-word;
-}
-
-#templateside h3,
-#postcustomstuff p.submit {
-       margin: 0;
-}
-
-#templateside h4 {
-       margin: 1em 0 0;
-}
-
-#templateside ol,
-#templateside ul {
-       margin: .5em 0;
-       padding: 0;
-}
-
-#templateside li {
-       margin: 4px 0;
-}
-
-#templateside 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: bold;
-}
-
-.nonessential {
-       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%;
-}
-
-.feature-filter {
-       padding: 8px 12px 0;
-}
-
-.feature-filter .feature-group {
-       float: right;
-       margin: 5px 10px 10px;
-}
-
-.feature-filter .feature-group li {
-       display: inline-block;
-       vertical-align: top;
-       list-style-type: none;
-       padding-left: 25px;
-       width: 150px;
-}
-
-/* General Widgets Styles */
-
-.widget {
-       margin: 0 auto 10px;
-       position: relative;
-       box-sizing: border-box;
-       -moz-box-sizing: border-box;
-       -webkit-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 {
-       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;
-       user-select: none;
-}
-
-.widgets-holder-wrap .widget-inside {
-       border-top: none;
-       padding: 1px 15px 15px 15px;
-       line-height: 16px;
-}
-
-/* Widget Dragging Helpers */
-.widget.ui-draggable-dragging {
-       min-width: 100%;
-}
-
-.widget.ui-sortable-helper {
-       opacity: 0.8;
-}
-
-.widget-placeholder {
-       border: 1px dashed #bbb;
-       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;
-}
-
-/* Widget Sidebars */
-.sidebar-name {
-       border: none;
-       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;
-}
-
-/* Widgets 2-col Layout */
-div.widget-liquid-left {
-       margin: 0;
-       width: 38%;
-       float: right;
-}
-
-div.widget-liquid-right {
-       float: left;
-       width: 58%;
-}
-
-/* Widgets Left - Available Widgets */
-
-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;
-}
-
-div#widgets-left .widget-holder {
-       background: transparent;
-       border: 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;
-}
-
-/* Inactive Sidebars */
-#widgets-left .inactive-sidebar {
-       clear: both;
-       width: 100%;
-       background: transparent;
-       padding: 0;
-       margin: 0 0 20px 0;
-       border: none;
-       box-shadow: none;
-}
-
-#widgets-left .inactive-sidebar.first {
-       margin-top: 40px;
-}
-
-/* Not sure what this is for... */
-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: transparent;
-       margin: 0;
-       position: relative;
-}
-
-/* Widgets Right */
-
-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 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 {
-       margin: -5px 5px;
-       float: none;
-}
-
-/* Dragging a widget over a closed sidebar */
-#widgets-right .widgets-holder-wrap.widget-hover {
-       border-color: #777;
-       box-shadow: 0 1px 2px rgba(0,0,0,0.3);
-}
-
-/* Accessibility Mode */
-.widgets_access #widgets-left .widget .widget-top {
-       cursor: auto;
-}
-
-.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,
-.widgets_access #wpwrap .widgets-holder-wrap.closed .widget,
-.widgets_access #wpwrap .widget-control-edit {
-       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: 1px solid #444;
-}
-
-.widgets-holder-wrap .sidebar-name,
-.widgets-holder-wrap .sidebar-description {
-       -webkit-user-select: none;
-       -moz-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 .widgets-holder-wrap.closed .widget,
-.js .widgets-holder-wrap.closed .sidebar-description,
-.js .closed br.clear {
-       display: none;
-}
-
-.nav-menus-php .item-edit:before,
-.widget-top a.widget-action:after,
-.control-section .accordion-section-title:after,
-.accordion-section-title:after {
-       left: 0;
-       content: '\f140';
-       border: none;
-       background: none;
-       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;
-}
-
-.widget-top a.widget-action:after {
-       padding: 12px 12px 0;
-}
-
-.nav-menus-php .item-edit:before {
-       line-height: 2.1;
-}
-
-.control-section .accordion-section-title:after,
-.accordion-section-title:after {
-       float: left;
-       left: 20px;
-       top: -2px;
-}
-
-.control-section.open .accordion-section-title:after,
-#customize-info.open .accordion-section-title:after,
-.nav-menus-php .menu-item-edit-active .item-edit:before {
-       content: '\f142';
-}
-
-/* Hide Widget Settings by Default */
-.widget-inside,
-.widget-description {
-       display: none;
-}
-
-/* Dragging widgets over the available widget area show's a "Deactivate" message */
-#removing-widget {
-       display: none;
-       font-weight: normal;
-       padding-right: 15px;
-       font-size: 12px;
-       line-height: 1;
-}
-
-.widget-control-noform,
-#access-off,
-.widgets_access .widget-action,
-.widgets_access .sidebar-name-arrow,
-.widgets_access #access-on,
-.widgets_access .widget-holder .description,
-.no-js .widget-holder .description {
-       display: none;
-}
-
-.widgets_access .widget-holder,
-.widgets_access #widget-list {
-       padding-top: 10px;
-}
-
-.widgets_access #access-off {
-       display: inline;
-}
-
-.widgets_access .sidebar-name,
-.widgets_access .widget .widget-top {
-       cursor: default;
-}
-
-
-/* Widgets Area Chooser */
-.widget-liquid-left #widgets-left.chooser #available-widgets .widget,
-.widget-liquid-left #widgets-left.chooser .inactive-sidebar {
-       transition: opacity 0.1s linear;
-}
-
-.widget-liquid-left #widgets-left.chooser #available-widgets .widget,
-.widget-liquid-left #widgets-left.chooser .inactive-sidebar {
-       /* -webkit-filter: blur(1px); */
-       opacity: 0.2;
-       pointer-events: none;
-}
-
-.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question {
-       /* -webkit-filter: none; */
-       opacity: 1;
-       pointer-events: auto;
-}
-
-.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: none;
-       position: relative;
-       transition: background: 0.2s ease-in-out;
-}
-
-.widgets-chooser li:hover,
-.widgets-chooser li:focus {
-       background: rgba(255,255,255,0.7);
-}
-
-.widgets-chooser li:focus:before {
-       content: '\f147';
-       display: block;
-       -webkit-font-smoothing: antialiased;
-       font: normal 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: #2ea2cc;
-       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: normal 26px/1 'dashicons';
-       color: #fff;
-       position: absolute;
-       top: 7px;
-       right: 5px;
-}
-
-.widgets-chooser .widgets-chooser-actions {
-       padding: 10px 0 12px 0;
-       text-align: center;
-}
-
-.widgets-chooser button {
-       margin-left: 5px;
-}
-
-#available-widgets .widget .widget-top {
-       cursor: pointer;
-}
-
-/* Enable draggable on IE10 touch events until it's rolled into jQuery UI core */
-.ui-sortable,
-.ui-draggable {
-       -ms-touch-action: none;
-       touch-action:     none;
-}
-
-.meta-box-sortables.ui-sortable,
-.widgets-holder-wrap .ui-draggable,
-.widgets-holder-wrap .ui-sortable,
-.menu.ui-sortable {
-       -ms-touch-action: auto;
-       touch-action:     auto;
-}
-
-.meta-box-sortables.ui-sortable .hndle,
-.menu.ui-sortable .menu-item-handle {
-       -ms-touch-action: none;
-       touch-action:     none;
-}
-
-/* Accordion */
-
-.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;
-       border-right: 1px solid #dfdfdf;
-       border-left: 1px solid #dfdfdf;
-}
-
-.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;
-       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: none;
-}
-
-.accordion-section-title:hover:after,
-.accordion-section-title:focus:after {
-       border-color: #aaa 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:hover .accordion-section-title,
-.js .control-section .accordion-section-title:hover,
-.js .control-section.open .accordion-section-title,
-.js .control-section .accordion-section-title:focus {
-       color: #222;
-       background: #f5f5f5;
-}
-
-.control-section.open .accordion-section-title {
-       /* When expanded */
-       border-bottom: 1px solid #dfdfdf;
-}
-
-.sticky-menu #TB_window .updated {
-       margin: 16px 0 0;
-}
-
-li#wp-admin-bar-menu-toggle {
-       display: none;
-}
-
-/* =Media Queries
--------------------------------------------------------------- */
-
-@media screen and (max-width: 480px) {
-       div.widget-liquid-left {
-               width: 100%;
-               float: none;
-               border-left: none;
-               padding-left: 0;
-       }
-
-       #widgets-left .sidebar-name {
-               margin-left: 0;
-       }
-
-       #widgets-left #available-widgets .widget-top {
-               margin-left: 0;
-       }
-
-       #widgets-left .inactive-sidebar .widgets-sortables {
-               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 (max-width: 768px) {
-       /* categories */
-       #col-left {
-               width: 100%;
-       }
-
-       #col-right {
-               width: 100%;
-       }
-}
-
-@media only screen and (min-width: 769px) {
-       /* categories */
-       #col-left {
-               width: 35%;
-       }
-
-       #col-right {
-               width: 65%;
-       }
-}
-
-@media only screen and (max-width: 860px) {
-
-       /* categories */
-       #col-left {
-               width: 35%;
-       }
-
-       #col-right {
-               width: 65%;
-       }
-}
-
-@media only screen and (min-width: 980px) {
-
-       /* categories */
-       #col-left {
-               width: 35%;
-       }
-
-       #col-right {
-               width: 65%;
-       }
-}
-
-@media only screen and (max-width: 768px) {
-       /* categories */
-       #col-left {
-               width: 100%;
-       }
-
-       #col-right {
-               width: 100%;
-       }
-
-       .form-field input,
-       .form-field textarea {
-               width: 99%;
-       }
-
-       .form-wrap .form-field {
-               padding:0;
-       }
-
-       /* users */
-       #profile-page .form-table textarea {
-               max-width: 400px;
-               width: auto;
-       }
-
-       /* menu locations */
-       #menu-locations-wrap .widefat {
-               width: 100%;
-       }
-}
-
-@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;
-       }
-}
-
-/**
- * HiDPI Displays
- */
-@media print,
-  (-o-min-device-pixel-ratio: 5/4),
-  (-webkit-min-device-pixel-ratio: 1.25),
-  (min-resolution: 120dpi) {
-       tr.wp-locked .locked-indicator {
-               background-image: url('../images/lock-2x.png');
-               background-size: 16px 16px;
-       }
-
-       #content-resize-handle,
-       #post-body .wp_themeSkin .mceStatusbar a.mceResize {
-               background: transparent url('../images/resize-2x.gif') no-repeat scroll left bottom;
-               background-size: 11px 11px;
-       }
-
-       .rtl #content-resize-handle,
-       .rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize {
-               background: transparent url('../images/resize-rtl-2x.gif') no-repeat scroll left bottom;
-       }
-
-       /* Back-compat for pre-3.8 */
-       div.star-holder {
-               background: url('../images/stars-2x.png?ver=20121108') repeat-x bottom right;
-               background-size: 21px 37px;
-       }
-
-       /* Back-compat for pre-3.8 */
-       div.star-holder .star-rating {
-               background: url('../images/stars-2x.png?ver=20121108') repeat-x top right;
-               background-size: 21px 37px;
-       }
-
-       .wp-full-overlay .collapse-sidebar-arrow {
-               background-image: url('../images/arrows-2x.png');
-               background-size: 15px 123px;
-       }
-
-       .spinner,
-       .imgedit-wait,
-       .customize-loading #customize-container,
-       .revision-tick.completed-false,
-       #theme-installer .wp-full-overlay-main {
-               background-image: url('../images/spinner-2x.gif');
-       }
-
-}
-
-/* =Localized CSS
--------------------------------------------------------------- */
-
-/* zh_CN: Remove italic properties. */
-.locale-zh-cn .howto,
-.locale-zh-cn .tablenav .displaying-num,
-.locale-zh-cn .js .input-with-default-title,
-.locale-zh-cn .link-to-original,
-.locale-zh-cn .inline-edit-row fieldset span.title,
-.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,
-.locale-zh-cn #utc-time,
-.locale-zh-cn #local-time,
-.locale-zh-cn p.install-help,
-.locale-zh-cn p.help,
-.locale-zh-cn p.description,
-.locale-zh-cn span.description,
-.locale-zh-cn .form-wrap p {
-       font-style: normal;
-}
-
-/* zh_CN: Enlarge dashboard widget 'Configure' link */
-.locale-zh-cn .hdnle a { font-size: 12px; }
-
-/* 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 {
-       padding: 0 5px 1px; /* default 0 10px 1px */
-}
-.locale-de-de #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.input-text-wrap {
-       margin-right: 8em; /* default 5em */
-}
-.locale-ru-ru.press-this .posting {
-       margin-left: 277px; /* default 252px + 25px */
-}
-.locale-ru-ru .press-this-sidebar {
-       width: 265px; /* default 240px + 25px */
-}
-.locale-ru-ru #customize-header-actions .button {
-       padding: 0 5px 1px; /* default 0 10px 1px */
-}
-.locale-ru-ru #customize-header-actions .spinner {
-       margin: 16px 3px 0; /* default 16px 4px 0 5px */
-}
-
-/* lt_LT: QuickEdit */
-.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;
-}
-
-
-@-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: rgba(0, 0, 0, 0) !important;
-       }
-
-       #wpwrap {
-               background: #f0f0f0;
-       }
-
-       #wpcontent, .auto-fold #wpcontent {
-               position: relative;
-               margin-right: 0;
-               padding-right: 10px;
-       }
-
-       .wrap {
-               margin-left: 12px;
-               margin-right: 0;
-       }
-
-       .col-wrap {
-               padding: 0;
-       }
-
-       .sticky-menu #adminmenuwrap {
-               position: relative;
-               z-index: auto;
-               top: 0;
-       }
-
-       /* Hidden Elements */
-       #screen-meta,
-       #screen-meta-links,
-       #collapse-menu,
-       .post-format-select {
-               display: none !important;
-       }
-
-       /* Input Elements */
-       textarea {
-               -webkit-appearance: none;
-       }
-
-       input[type=text], input[type=search],
-       input[type=password], input[type=number] {
-               -webkit-appearance: none;
-               padding: 6px 10px;
-       }
-
-       input.code {
-               padding-bottom: 5px;
-               padding-top: 10px;
-       }
-
-       input[type=checkbox], .widefat th input[type=checkbox] {
-               -webkit-appearance: none;
-               padding: 10px;
-       }
-
-       .widefat th input[type=checkbox] {
-               margin-bottom: 8px;
-       }
-
-       input[type=checkbox]:checked:before, .widefat th input[type=checkbox]:before {
-               font: normal 30px/1 'Dashicons';
-               margin: -3px -5px;
-       }
-
-       input[type=radio],
-       input[type=checkbox] {
-               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;
-       }
-
-       .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;
-       }
-
-       #createuser .form-field input {
-               width: 100%;
-       }
-
-       /* Feedback Messages */
-       .wrap div.updated, .wrap div.error, .media-upload-form div.error {
-               margin: 20px 0 10px 0;
-               padding: 5px 10px;
-               font-size: 14px;
-               line-height: 175%;
-       }
-
-       /* Sidebar Adjustments */
-       .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 #adminmenu li.menu-top {
-               width: 100%;
-       }
-
-       /* Resize the admin menu items to a comfortable touch size */
-       .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;
-       }
-
-       /* Restore the menu names */
-       .auto-fold #adminmenu .wp-menu-name {
-               display: block;
-               margin-right: 35px;
-       }
-
-       /* Switch the arrow side */
-       .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;
-       }
-
-       /* Make the submenus appear correctly when tapped. */
-       #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 .selected .wp-submenu:after,
-       .auto-fold #adminmenu .wp-menu-open .wp-submenu:after {
-               display: none;
-       }
-
-       .auto-fold #adminmenu .opensub .wp-submenu {
-               display: none;
-       }
-
-       .auto-fold #adminmenu .selected .wp-submenu {
-               display: block;
-       }
-
-       .auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after {
-               display: block;
-       }
-
-       .auto-fold #adminmenu a.menu-top:focus + .wp-submenu,
-       .auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus + .wp-submenu {
-               position: relative;
-               right: -1px;
-               left: 0;
-               top: 0;
-       }
-
-       /* Remove submenu headers and adjust sub meu*/
-       #adminmenu .wp-submenu .wp-submenu-head {
-               display: none;
-       }
-
-       /*  Sidebar Toggle */
-       #wp-responsive-toggle {
-               position: fixed;
-               top: 5px;
-               right: 4px;
-               padding-left: 10px;
-               z-index: 99999;
-               border: none;
-               box-sizing: border-box;
-               -moz-box-sizing: border-box;
-       }
-
-       .wrap .icon32 + h2 {
-               margin-top: -2px;
-       }
-
-       .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-               background: #333;
-       }
-
-       .wp-responsive-open #wpbody {
-               left: -190px;
-       }
-
-       .auto-fold .wp-responsive-open #adminmenuback,
-       .auto-fold .wp-responsive-open #adminmenuwrap {
-               display: block;
-       }
-
-       /* General New Post Form */
-       #post-body-content {
-               min-width: 0;
-       }
-
-       #titlediv #title-prompt-text,
-       #wp-fullscreen-title-prompt-text {
-               padding: 10px 10px;
-       }
-
-       .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;
-       }
-
-       /* General Metabox */
-       .postbox {
-               font-size: 14px;
-       }
-
-       #poststuff h3,
-       .metabox-holder h3 {
-               padding: 12px;
-       }
-
-       .postbox .handlediv {
-               margin-top: 3px;
-       }
-
-       /* Publish Metabox Options */
-       #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 #jj,
-       .timestamp-wrap #aa,
-       .timestamp-wrap #hh,
-       .timestamp-wrap #mn {
-               padding: 12px 3px;
-               font-size: 14px;
-               margin-bottom: 5px;
-               width: auto;
-               text-align: center;
-       }
-
-       /* Categories Metabox */
-       ul.category-tabs {
-               margin: 30px 0 15px;
-       }
-
-       ul.category-tabs li.tabs {
-               padding: 15px;
-       }
-
-       .press-this ul.category-tabs li.tabs {
-               padding: 3px 5px 5px; /* Reset tabs in Press This to standard size */
-       }
-
-       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;
-       }
-
-       /* Tags Metabox */
-       .tagsdiv .newtag {
-               width: 100%;
-               padding: 25px 10px;
-               margin-bottom: 15px;
-       }
-
-       .tagchecklist {
-               margin: 25px 10px;
-       }
-
-       .tagchecklist span {
-               font-size: 16px;
-               line-height: 120%;
-       }
-
-       /* Revisions */
-       #diff-next-revision,
-       #diff-previous-revision {
-               margin-top: -1em;
-       }
-
-       table.diff {
-               -ms-word-break: break-all;
-               word-break: break-all;
-               word-wrap: break-word;
-       }
-
-       /* Discussion */
-       #commentstatusdiv p {
-               line-height: 2.8;
-       }
-
-       /* TinyMCE Adjustments */
-       .mceToolbar * {
-               white-space: normal !important;
-       }
-
-       .mceToolbar tr,
-       .mceToolbar td {
-               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-top: 6px;
-               padding-bottom: 6px;
-               padding-right: 6px;
-               padding-left: 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;
-       }
-
-       #wp-content-editor-tools {
-               overflow: hidden;
-               padding: 20px 0 1px 15px;
-               top: 1px;
-       }
-
-       a.wp-switch-editor {
-               font-size: 16px;
-               line-height: 1em;
-               margin: 3px 7px 0 0;
-               padding: 12px 15px;
-       }
-
-       #wp-content-media-buttons a {
-               font-size: 16px;
-               line-height: 37px;
-               height: 39px;
-               padding: 0 15px 0 20px;
-       }
-
-       .wp-media-buttons span.wp-media-buttons-icon,
-       .wp-media-buttons span.jetpack-contact-form-icon {
-               width: 22px !important;
-               margin-top: -3px !important;
-               margin-right: -5px !important;
-       }
-
-       .wp-media-buttons .add_media span.wp-media-buttons-icon:before,
-       .wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before {
-               font-size: 20px !important;
-       }
-
-       #content_wp_fullscreen {
-               display: none;
-       }
-
-       .misc-pub-section {
-               padding: 20px 10px 20px;
-       }
-
-       .misc-pub-section > a {
-               float: left;
-               font-size: 16px;
-       }
-
-       #delete-action,
-       #publishing-action {
-               line-height: 47px;
-       }
-
-       /* Subsubsub Nav */
-       .subsubsub {
-               font-size: 16px;
-               text-align: center;
-               margin-bottom: 15px;
-       }
-
-       /* WP List Table Options & Filters */
-       .tablenav {
-               height: auto;
-       }
-
-       .tablenav.top {
-               margin: 0;
-       }
-
-       .tablenav.bottom {
-               position: relative;
-               margin-top: 15px;
-       }
-
-       .tablenav br {
-               display: none;
-       }
-
-       .tablenav br.clear {
-               display: block;
-       }
-
-       #wpbody-content {
-               padding-bottom: 100px;
-       }
-
-       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;
-       }
-
-       .tablenav.top .actions, .view-switch {
-               display: none;
-       }
-
-       /* Pagination */
-       .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 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, 0.05);
-       }
-
-       .tablenav-pages .pagination-links .current-page {
-               padding: 10px;
-               font-size: 14px;
-       }
-
-       /* WP List Table Adjustments: General */
-       .form-wrap > p {
-               display: none;
-       }
-
-       .comment-count {
-               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 {
-               display: none;
-       }
-
-       .fixed .column-comment .comment-author {
-               display: block;
-       }
-
-       /* Posts */
-       .column-title {
-               width: 85%;
-       }
-
-       .fixed .column-comments, .widefat .check-column {
-               width: 35px
-       }
-
-       .widefat thead .check-column, .widefat tfoot .check-column {
-               padding: 10px 0 10px;
-       }
-
-       .widefat * {
-               word-wrap: normal;
-       }
-
-       /* Quick Edit and Bulk Edit */
-       #wpbody-content .quick-edit-row-post .inline-edit-col-left,
-       #wpbody-content .quick-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 .bulk-edit-row-post .inline-edit-col-right,
-       #wpbody-content .bulk-edit-row .inline-edit-col-left,
-       #wpbody-content .bulk-edit-row-page .inline-edit-col-right,
-       #wpbody-content .bulk-edit-row .inline-edit-col-bottom {
-               float: none;
-               width: 100%;
-       }
-
-       #wpbody-content .quick-edit-row fieldset .inline-edit-col label,
-       #wpbody-content .quick-edit-row fieldset .inline-edit-group label,
-       #wpbody-content .bulk-edit-row fieldset .inline-edit-col label,
-       #wpbody-content .bulk-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;
-               -moz-box-sizing: border-box;
-               box-sizing: border-box;
-       }
-
-       .inline-edit-row fieldset ul.cat-checklist label,
-       .inline-edit-row #bulk-titles div {
-               font-size: 16px;
-       }
-
-       .inline-edit-row fieldset label span.title {
-               float: none;
-       }
-
-       .inline-edit-row fieldset label.inline-edit-tags {
-               padding: 0 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=jj],
-       .inline-edit-row fieldset input[name=hh],
-       .inline-edit-row fieldset input[name=mn] {
-               width: 3em;
-       }
-
-       .inline-edit-row fieldset input[name=aa] {
-               width: 4.5em;
-       }
-
-       #bulk-titles div {
-               margin: 0.8em 0.3em;
-       }
-
-       #bulk-titles div a {
-               height: 22px;
-       }
-
-       /* Taxonomies */
-       .tags .column-posts {
-               width: 50px;
-       }
-
-       .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;
-       }
-
-       /* Form Tables */
-       .form-table {
-               -moz-box-sizing: border-box;
-               box-sizing: border-box;
-       }
-
-       .form-table th,
-       .form-table td {
-               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;
-       }
-
-       textarea,
-       input {
-               font-size: 16px;
-       }
-
-       .form-table td input[type="text"],
-       .form-table td input[type="password"],
-       .form-table td select,
-       .form-table td textarea,
-       .form-table span.description,
-       #profile-page .form-table textarea {
-               width: 100%;
-               font-size: 16px;
-               line-height: 1.5;
-               padding: 7px 10px;
-               display: block;
-               max-width: none;
-               box-sizing: border-box;
-               -moz-box-sizing: border-box;
-       }
-
-       input[type=text].small-text,
-       input[type=search].small-text,
-       input[type=password].small-text,
-       input[type=number].small-text,
-       input[type="number"].small-text,
-       .form-table input[type=text].small-text {
-               width: auto;
-               max-width: 55px;
-               display: inline;
-               padding: 3px 6px;
-               margin: 0 3px;
-       }
-
-       #pass-strength-result {
-               width: 100%;
-               box-sizing: border-box;
-               -moz-box-sizing: border-box;
-               padding: 8px;
-       }
-
-       .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;
-       }
-
-       #utc-time,
-       #local-time {
-               display: block;
-               float: none;
-               padding: 0;
-               line-height: 2;
-       }
-
-       /* Add/Edit Media */
-       .wp_attachment_details label[for="content"] {
-               font-size: 14px;
-               line-height: 1.5em;
-       }
-
-       /* Links */
-       .link-manager-php #posts-filter {
-               margin-top: 25px;
-       }
-
-       .link-manager-php .tablenav.bottom {
-               overflow: hidden;
-       }
-
-       .links-table #link_rel {
-               max-width: none;
-       }
-
-       .links-table th,
-       .links-table td {
-               padding: 10px 0;
-       }
-
-       /**
-        * Nav Menus
-        * ----------------------------------------------------------------------------
-        */
-       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;
-       }
-
-       .menu-item-bar .menu-item-handle,
-       .menu-item-settings,
-       .description-wide {
-               width: auto;
-       }
-
-       .menu-item-settings {
-               padding: 10px;
-       }
-
-       .menu-item-settings .description-thin,
-       .menu-item-settings .description-wide {
-               width: 100%;
-               height: auto;
-       }
-
-       .menu-item-settings input {
-               width: 100%;
-       }
-
-       .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;
-       }
-
-       .available-theme .action-links .delete-theme {
-               float: none;
-               margin: 0;
-               padding: 0;
-               clear: both;
-       }
-
-       .available-theme .action-links .delete-theme a {
-               padding: 0;
-       }
-
-       /* Widget Management Page (Needs UX work on mobile) */
-       #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;
-       }
-
-       /* 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 {
-               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 {
-               display: block;
-               width: auto;
-       }
-
-       .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;
-       }
-
-       .wp-list-table.plugins .plugin-title,
-       .wp-list-table.plugins .theme-title {
-               padding-top: 13px;
-               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 {
-               box-shadow: none;
-               -webkit-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, 0.1);
-               -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
-               -ms-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
-               -o-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
-               box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
-       }
-
-       .plugins tr.active + tr.inactive th.check-column,
-       .plugins tr.active + tr.inactive td {
-               border-top: none;
-       }
-
-       .wp-list-table.plugins .column-description {
-               padding-top: 0;
-       }
-
-       .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;
-       }
-
-       .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 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;
-       }
-
-       .wp-list-table.plugins .plugin-title strong,
-       .wp-list-table.plugins .theme-title strong {
-               font-size: 1.4em;
-               line-height: 1.6em;
-       }
-
-       /* Add New plugins page */
-       table.plugin-install .column-name,
-       table.plugin-install .column-version,
-       table.plugin-install .column-rating,
-       table.plugin-install .column-description {
-               display: block;
-               width: auto;
-       }
-
-       table.plugin-install th.column-name,
-       table.plugin-install th.column-version,
-       table.plugin-install th.column-rating,
-       table.plugin-install th.column-description {
-               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,0.1);
-               box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
-       }
-
-       /*  Dashboard */
-       #dashboard_recent_comments #the-comment-list .comment-item .avatar {
-               height: 30px;
-               width: 30px;
-               margin: 4px 0 5px 10px;
-       }
-
-       /*  About Page */
-       .about-wrap .feature-section.one-col > div,
-       .about-wrap .feature-section.two-col > div,
-       .about-wrap .three-col.about-updates > div  {
-               width: 100%;
-               margin: 0;
-               float: none;
-       }
-
-       .about-wrap .about-colors .color-option {
-               width: 49%;
-       }
-
-       /* Moderate Comment */
-       .comment-ays {
-               border-bottom: none;
-       }
-
-       #wpfooter {
-               display: none;
-       }
-
-       #comments-form .checkforspam {
-               display: none;
-       }
-
-       /* Reset responsive styles in Press This */
-
-       .press-this a.wp-switch-editor {
-               font: 13px/19px "Open Sans", sans-serif;
-               margin: 5px 5px 0 0;
-               padding: 3px 8px 4px;
-       }
-
-       .press-this #wp-content-media-buttons a {
-               padding: 0;
-               line-height: normal;
-               height: auto;
-       }
-
-       .press-this #wp-content-editor-tools {
-               padding: 0;
-               top: 3px;
-       }
-
-       .press-this .category-tabs {
-               margin-top: 0;
-       }
-
-       .press-this .tagsdiv .newtag {
-               width: 120px;
-               padding: 3px 5px;
-               margin-bottom: 0;
-       }
-
-       .press-this .tagchecklist {
-               padding: 0;
-               margin-bottom: 0;
-       }
-
-       .press-this .wp_themeSkin a.mceButton {
-               width: 20px;
-               height: 20px;
-       }
-
-       .press-this .wp_themeSkin .mceButton .mceIcon {
-               margin: 0;
-       }
-
-       .press-this #poststuff h3,
-       .press-this .metabox-holder h3 {
-               padding: 7px 12px;
-       }
-
-       .interim-login input[type=checkbox],
-       .press-this input[type=checkbox],
-       .press-this input[type=radio] {
-               height: 16px;
-               width: 16px;
-       }
-
-       .interim-login input[type=checkbox]:checked:before,
-       .press-this input[type=checkbox]:checked:before {
-               width: 16px;
-               font: normal 21px/1 'dashicons';
-               margin: -3px -4px 0 0;
-       }
-
-       .press-this input[type=radio]:checked:before {
-               font: normal 21px/1 'dashicons';
-               width: 6px;
-               height: 6px;
-               margin: 4px;
-       }
-
-       .press-this ul.categorychecklist ul,
-       .press-this ul.categorychecklist li {
-               margin-top: 0;
-               margin-bottom: 0;
-       }
-
-       .press-this div.quicktags-toolbar input {
-               padding: 2px 4px;
-       }
-
-       .press-this textarea,
-       .press-this input {
-               font-size: 14px;
-       }
-
-       .press-this .tagchecklist span {
-               font-size: 13px;
-               line-height: 1.8em;
-       }
-}
-
-@media only screen and (max-width: 500px) {
-       .about-wrap {
-               margin-left: 20px;
-               margin-right: 10px;
-       }
-
-       .about-wrap h1,
-       .about-text {
-               margin-left: 0;
-       }
-
-       .about-text {
-               margin-bottom: 0.25em;
-       }
-
-       .about-wrap .wp-badge {
-               position: relative;
-               margin-bottom: 1.5em;
-               width: 100%;
-       }
-
-       .about-wrap .feature-section.three-col div {
-               width: 100%;
-               float: none;
-       }
-
-       .about-wrap .three-col.about-updates .col-1 {
-               padding: 0;
-               float: none;
-       }
-
-       .about-wrap .three-col.about-updates .col-2 {
-               margin: 0 0 20px;
-               width: 100%;
-               float: none;
-       }
-
-       /* Align Add Media + Visual + Text tabs */
-       #wp-content-media-buttons a {
-               font-size: 14px;
-               padding: 0 10px 0 10px;
-       }
-}
-
-@media screen and ( max-width: 782px ) {
-       #wpadminbar #wp-admin-bar-menu-toggle a {
-               display: block;
-               padding: 0;
-               overflow: hidden;
-               outline: none;
-               text-decoration: none;
-               border: 1px solid transparent;
-               background: none;
-               height: 44px;
-               margin-right: -1px;
-       }
-
-       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: normal 40px/45px 'Dashicons';
-               vertical-align: middle;
-               outline: none;
-               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;
-               box-sizing: border-box;
-               -moz-box-sizing: border-box;
-       }
-}
-
-/* Smartphone */
-@media screen and (max-width: 600px) {
-       #adminmenuwrap,
-       #adminmenuback {
-               display: none;
-       }
-
-       .wp-responsive-open #adminmenuwrap,
-       .wp-responsive-open #adminmenuback {
-               display: block;
-       }
-
-       /* Disable horizontal scroll when responsive menu is open
-          since we push the main content off to the right. */
-       #wpwrap.wp-responsive-open {
-               overflow-x: hidden;
-       }
-
-       html.wp-toolbar {
-               padding-top: 0;
-       }
-
-       #wpbody {
-               padding-top: 46px;
-       }
-
-       .auto-fold #adminmenu {
-               top: 46px;
-       }
-
-       #wp-responsive-overlay {
-               position: fixed;
-               top: 0;
-               right: 0;
-               width: 100%;
-               height: 100%;
-               z-index: 400;
-       }
-
-       /* Keep the close icon from overlapping the Welcome text. */
-       .welcome-panel .welcome-panel-close {
-               overflow: hidden;
-               text-indent: 100%;
-               white-space: nowrap;
-               width: 20px;
-               height: 20px;
-               left: 0;
-               padding: 5px;
-       }
-
-       /* Make the close icon larger for tappability. */
-       #welcome-panel.welcome-panel .welcome-panel-close::before {
-               font-size: 20px;
-               margin: 0;
-       }
-
-       /* Keep full-width boxes on Edit Post page from causing horizontal scroll */
-       div#post-body.metabox-holder.columns-1 {
-               overflow-x: hidden;
-       }
-
-       /* Color Picker Options */
-       .color-option {
-               width: 49%;
-       }
-}
+@import url(common-rtl.css);
+@import url(forms-rtl.css);
+@import url(admin-menu-rtl.css);
+@import url(dashboard-rtl.css);
+@import url(list-tables-rtl.css);
+@import url(edit-rtl.css);
+@import url(revisions-rtl.css);
+@import url(media-rtl.css);
+@import url(themes-rtl.css);
+@import url(press-this-rtl.css);
+@import url(about-rtl.css);
+@import url(nav-menus-rtl.css);
+@import url(widgets-rtl.css);
+@import url(l10n-rtl.css);
index ef593d5b6174234a8fbeb67a9e8bfc971bd89cbf..4b7e97001dc08bff283216fd5e06b12722e1fab8 100644 (file)
@@ -1 +1 @@
-#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%}#wpcontent,#wpfooter{margin-right:180px}.folded #wpcontent,.folded #wpfooter{margin-right:56px}#wpbody-content{padding-bottom:65px;float:right;width:100%;overflow:visible!important}#adminmenuback,#adminmenuwrap,#adminmenu,#adminmenu .wp-submenu{width:160px}#adminmenuback{position:absolute;top:0;bottom:0;z-index:-1}#adminmenu{clear:right;margin:12px 0 0;padding:0;list-style:none}.folded #adminmenuback,.folded #adminmenuwrap,.folded #adminmenu,.folded #adminmenu li.menu-top{width:36px}.inner-sidebar{float:left;clear:left;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-left:auto;width:286px;display:block}.inner-sidebar #side-sortables,.columns-2 .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,.no-js .hide-if-no-js,.js.wp-core-ui .hide-if-js,.js .wp-core-ui .hide-if-js,.no-js.wp-core-ui .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js{display:none}input,input[type=text],input[type=password],input[type=number],input[type=search],input[type=email],input[type=url],textarea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{border-width:1px;border-style:solid;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-sizing:border-box;box-sizing:border-box}td>input[type=checkbox],.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{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]{border-radius:50%;margin-left:4px;line-height:10px}input[type=checkbox]:disabled,input[type=radio]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio]:disabled:checked:before{opacity:.7}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}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px}@-moz-document url-prefix(){input[type=checkbox],input[type=radio],.form-table input.tog{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password],.ie8 .login form .input{font-family:sans-serif}html,body{height:100%;margin:0;padding:0}body{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.login{background:#fbfbfb;min-width:0}iframe,img{border:0}td,textarea,input,select,button{font-family:inherit;font-size:inherit;font-weight:inherit}td,textarea{line-height:inherit}textarea{overflow:auto}textarea,input,select{font-size:14px;padding:3px 5px;line-height:15px;border-radius:0}textarea{padding:2px 6px;line-height:1.4}a,input[type=text],input[type=password],input[type=number],input[type=search],input[type=email],input[type=url],textarea,div,select{outline:0}.wp-admin input[type=file]{padding:3px 0}a:focus,a:active{outline:thin dotted}#adminmenu a:focus,#adminmenu a:active,.screen-reader-text:focus{outline:0}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}p,.wp_attachment_details label[for=content]{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}label{cursor:pointer}li,dd{margin-bottom:6px}input,select{margin:1px;padding:3px 5px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0;font-weight:400}h3{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}ul,ol{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-right:2em}ul.ul-disc{list-style:disc outside}ul.ul-square{list-style:square outside}ol.ol-decimal{list-style:decimal outside}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-right:1.8em}ul.ul-disc>li,ul.ul-square>li,ol.ol-decimal>li{margin:0 0 .5em}.code,code{font-family:Consolas,Monaco,monospace;direction:ltr}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}kbd,code{padding:3px 5px 2px;margin:0 1px;font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;float:right}.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:0}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],select,.tablenav-pages span.current,#titlediv #title,#postcustomstuff table,#postcustomstuff input,#postcustomstuff textarea,.imgedit-menu div,.plugin-update-tr .update-message,#poststuff .inside .the-tagcloud,.nav-menus-php .list-container,.menu-item-handle,.link-to-original,.nav-menus-php .major-publishing-actions .form-invalid,#TB_window,.tbtitle,.highlight{border-width:1px;border-style:solid}.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 tfoot th{border-bottom:0}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td p,.widefat td ol,.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 tbody th.check-column{padding:9px 0 22px}.widefat.media .check-column{padding-top:8px}.widefat thead th.check-column,.widefat tbody th.check-column,.widefat tfoot th.check-column{padding:11px 3px 0 0}.widefat thead th.check-column{padding-top:10px}.plugins tbody th.check-column,.plugins tbody{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 thead th.check-column,.plugins tfoot th.check-column,.plugins .inactive th.check-column{padding-right:6px}.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)}.upgrade .plugins tr:last-of-type td,.upgrade .plugins tr:last-of-type th{-webkit-box-shadow:none;box-shadow:none}#update-plugins-table thead th.check-column,#update-plugins-table tfoot th.check-column{padding-top:11px}.update-php div.updated,.update-php div.error{margin-right:0}.no-js .widefat thead .check-column input,.no-js .widefat tfoot .check-column input{display:none}.widefat .num,.column-comments,.column-links,.column-posts{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 2px 0 20px}div.updated,div.error{padding:0 .6em;margin:5px 15px 2px}div.updated p,div.error p{margin:.5em 0;padding:2px}.wrap div.updated,.wrap div.error,.media-upload-form div.error{margin:5px 0 15px}div.updated,.login .message,.press-this #message{border:0;padding:1px 12px}div.error,.login #login_error{border:0}div.error{padding:1px 12px}.wrap h2,.subtitle{font-weight:400;margin:0}.wrap h2{font-size:23px;font-weight:400;padding:9px 0 4px 15px;line-height:29px}.subtitle{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:0;border-radius:2px;text-shadow:none;font-weight:600;font-size:13px}.wrap h2.long-header{padding-left:0}html,.wp-dialog{background-color:#fff}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],select{background-color:#fff;color:#333}select[disabled]{color:#7f7f7f}select:focus{border-color:#aaa}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,.widgets-chooser ul,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,div#widgets-right .widget-top:hover{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}input[readonly]{background-color:#eee}:-moz-placeholder,.wp-core-ui :-moz-placeholder{color:#a9a9a9}.widget .widget-top,.postbox h3,.stuffbox h3,.control-section .accordion-section-title,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.sidebar-name,#nav-menu-header,#nav-menu-footer,.menu-item-handle,.checkbox,.side-info,#your-profile #rich_editing,.widefat thead th,.widefat tfoot th{line-height:1.4em}.quicktags,.search{font-size:12px}.icon32{display:none}.icon16{height:18px;width:18px;padding:6px;margin:-6px -8px 0 0;float:right}.icon16:before{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;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.icon16.icon-dashboard:before,#adminmenu .menu-icon-dashboard div.wp-menu-image:before{content:'\f226'}.icon16.icon-post:before,#adminmenu .menu-icon-post div.wp-menu-image:before{content:'\f109'}.icon16.icon-media:before,#adminmenu .menu-icon-media div.wp-menu-image:before{content:'\f104'}.icon16.icon-links:before,#adminmenu .menu-icon-links div.wp-menu-image:before{content:'\f103'}.icon16.icon-page:before,#adminmenu .menu-icon-page div.wp-menu-image:before{content:'\f105'}.icon16.icon-comments:before,#adminmenu .menu-icon-comments div.wp-menu-image:before{content:'\f101';margin-top:1px}.icon16.icon-appearance:before,#adminmenu .menu-icon-appearance div.wp-menu-image:before{content:'\f100'}.icon16.icon-plugins:before,#adminmenu .menu-icon-plugins div.wp-menu-image:before{content:'\f106'}.icon16.icon-users:before,#adminmenu .menu-icon-users div.wp-menu-image:before{content:'\f110'}.icon16.icon-tools:before,#adminmenu .menu-icon-tools div.wp-menu-image:before{content:'\f107'}.icon16.icon-settings:before,#adminmenu .menu-icon-settings div.wp-menu-image:before{content:'\f108'}.icon16.icon-site:before,#adminmenu .menu-icon-site div.wp-menu-image:before{content:'\f112'}.icon16.icon-generic:before,#adminmenu .menu-icon-generic div.wp-menu-image:before{content:'\f111'}.icon16.icon-dashboard,.menu-icon-dashboard div.wp-menu-image,.icon16.icon-post,.menu-icon-post div.wp-menu-image,.icon16.icon-media,.menu-icon-media div.wp-menu-image,.icon16.icon-links,.menu-icon-links div.wp-menu-image,.icon16.icon-page,.menu-icon-page div.wp-menu-image,.icon16.icon-comments,.menu-icon-comments div.wp-menu-image,.icon16.icon-appearance,.menu-icon-appearance div.wp-menu-image,.icon16.icon-plugins,.menu-icon-plugins div.wp-menu-image,.icon16.icon-users,.menu-icon-users div.wp-menu-image,.icon16.icon-tools,.menu-icon-tools div.wp-menu-image,.icon16.icon-settings,.menu-icon-settings div.wp-menu-image,.icon16.icon-site,.menu-icon-site div.wp-menu-image,.icon16.icon-generic,.menu-icon-generic div.wp-menu-image{background-image:none!important}.key-labels label{line-height:24px}strong,b{font-weight:600}.pre{white-space:pre-wrap;word-wrap:break-word}.howto{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}.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;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}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:0;text-align:left}table.form-table+p.submit,table.form-table+input+p.submit,table.form-table+input+input+p.submit{border-top:0;padding-top:0}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover,#dashboard_recent_comments .spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{text-decoration:none;border:0}#minor-publishing-actions input,#major-publishing-actions input,#minor-publishing-actions .preview{text-align:center}textarea.all-options,input.all-options{width:250px}input.large-text,textarea.large-text{width:99%}input.regular-text,#adduser .form-field input{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 #delete_all,.tablenav #clear-recent-list{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}label,#your-profile label+a{vertical-align:middle}fieldset label,#your-profile label+a{vertical-align:middle}.options-media-php label[for*="_size_"],#misc-publishing-actions label{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{border-style:solid;border-width:1px;float:right;margin:13px 1px 5px 5px;padding:3px 5px;text-align:center;width:200px;display:none}.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"],#search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}input[type=text].ui-autocomplete-loading{background:transparent url(../images/loading.gif) no-repeat left center;visibility:visible}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete-input.open{border-bottom-left-radius:0;border-bottom-right-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-width:1px;border-style:solid}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:right}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px}.ui-autocomplete li a.ui-state-focus{cursor:pointer}#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}.misc-pub-section:first-child{border-top-width:0}.misc-pub-section-last{border-bottom-width:0}#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-width:1px;border-bottom-style:solid}.side-info ul{margin:0;padding-right:18px;list-style:square}.approve,.unapproved .unapprove{display:none}.unapproved .approve,.spam .approve,.trash .approve{display:inline}td.action-links,th.action-links{text-align:left}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:right;margin:25px 2px 0 20px}.plugins .plugin-update{padding:0}.plugin-update .update-message{margin:0 31px 8px 10px;font-weight:600}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em 0}.update-php .spinner{float:none;margin:-4px 0}#ajax-loading,.ajax-loading,.ajax-feedback,.imgedit-wait-spin,.list-ajax-loading{visibility:hidden}#ajax-response.alignleft{margin-right:2em}#adminmenu a,#sidemenu a,#taglist a,#catlist a{text-decoration:none}#screen-options-wrap,#contextual-help-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}#screen-options-link-wrap,#contextual-help-link-wrap{float:left;height:28px;margin:0 6px 0 0}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#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}#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 right;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom right}#screen-options-wrap h5,#contextual-help-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}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;right:150px;left:170px;border-width:0 1px;border-style:solid}#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-style:solid;border-width:1px 0;border-color:transparent}.contextual-help-tabs .active{padding:0;margin:0 0 0 -1px;border-width:0 2px 0 0;border-style:solid}.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}#adminmenuwrap{position:relative;float:right}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px}#adminmenu li.menu-top{border:0;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 a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{padding:7px 0 8px;z-index:9999}.js #adminmenu .sub-open,.js #adminmenu .opensub .wp-submenu,#adminmenu a.menu-top:focus+.wp-submenu,.no-js li.wp-has-submenu:hover .wp-submenu{top:-1px}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{position:relative;z-index:3;top:auto;right:auto;left:auto;bottom:auto;border:0 none;margin-top:0;-webkit-box-shadow:none;box-shadow:none}.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{top:0;right:36px}.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .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 .wp-not-current-submenu li>a,.folded #adminmenu .wp-has-current-submenu li>a{padding-left:16px;padding-right:14px;-moz-transition:all .1s ease-in-out;-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 a.menu-top,#adminmenu .wp-submenu-head{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:30px;margin:0;text-align:center}#adminmenu div.wp-menu-image.svg{background-repeat:no-repeat;background-position:center;background-size:20px auto}div.wp-menu-image:before{font:400 20px/1 dashicons!important;speak:none;color:#999;padding:8px 0;height:36px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.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;z-index:99}.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:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-width:8px;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.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{position:relative}.folded #adminmenu li.menu-top:hover,.folded #adminmenu li.opensub>a.menu-top,.folded #adminmenu li>a.menu-top:focus{z-index:10000}#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:3px;padding:0;margin:0 0 6px;border-width:1px 0;border-style:solid;cursor:inherit}#adminmenu div.separator{height:1px;padding:0;border-width:1px 0 0;border-style:solid}#adminmenu .wp-submenu .wp-submenu-head{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 none}#adminmenu .awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{display:inline-block;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,#sidemenu li a span.update-plugins span{display:block;padding:0 6px}#adminmenu li span.count-0,#sidemenu li a .count-0{display:none}#adminmenu #collapse-menu{font-size:13px;line-height:34px;margin-top:10px}.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;font:400 20px/1 dashicons!important;speak:none;margin:0 auto;padding:0!important;position:relative;text-align:center;width:20px;-moz-transition:all .1s ease-in-out;-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{-ms-transform:rotate(180deg);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rtl.folded #collapse-button div:after{-ms-transform:none;-webkit-transform:none;transform:none}@media only screen and (max-width:900px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-right:56px}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap,.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top{width:36px}.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu{top:0;right:36px}.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .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 none}.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{-ms-transform:rotate(180deg);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rtl.auto-fold #collapse-button div:after{-ms-transform:none;-webkit-transform:none;transform:none}}.post-com-count-wrapper{min-width:22px}.post-com-count{background:0 0;height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;background-position:center -80px;background-repeat:no-repeat}.post-com-count:after{content:"";display:block;width:0;height:0;margin-right:8px;border-top:5px solid #bbb;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}strong .post-com-count{background-position:center -55px}.post-com-count:hover{background-position:center -3px}.column-response .post-com-count{float:right;margin-left:5px;text-align:center}.response-links{float:right}#the-comment-list .attachment-80x60{padding:4px 8px}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}html.wp-toolbar{padding-top:32px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.narrow{width:70%;margin-bottom:40px}.narrow p{line-height:150%}.widefat th,.widefat td{overflow:hidden}.widefat th{font-weight:400}.widefat td p{margin:2px 0 .8em}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:right}#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}#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}.postbox-container .meta-box-sortables{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.metabox-holder .postbox-container .empty-container{border:3px dashed #bbb;height:250px}.metabox-holder.columns-1 .postbox-container .empty-container,.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container{border:0 none;height:0;min-height:0}.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 none;height:0;min-height:0}#poststuff{padding-top:10px;min-width:763px}#poststuff #post-body{padding:0}#post-body-content{width:100%;min-width:463px;float:right}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-left:300px}#post-body.columns-2 #postbox-container-1{float:left;margin-left:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}#dashboard-widgets .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:0!important}#dashboard-widgets-wrap{overflow:hidden}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}#wpbody-content .metabox-holder .postbox-container .empty-container{border:0 none;height:0;min-height:0}}@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 none;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 none;height:0;min-height:0}.index-php .screen-layout,.index-php .columns-prefs{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 none;height:0;min-height:0}}@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 .empty-container,#poststuff #postbox-container-1 #side-sortables:empty{border:0 none;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0}.screen-layout,.columns-prefs{display:none}}.js .postbox .hndle{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-width:1px;border-style:dashed;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox h3,.stuffbox h3{margin-top:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.js .widget .widget-top,.js .postbox h3{cursor:move}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}#dashboard-widgets .postbox .inside{margin-bottom:0}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:0;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#dashboard-widgets-wrap{margin:0 -8px}#wpbody-content .metabox-holder{padding-top:10px}#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:0}#the-comment-list td{vertical-align:top}#the-comment-list td.comment{word-wrap:break-word}.welcome-panel{position:relative;overflow:auto;margin:16px 0;padding:23px 10px 0;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 .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,.tagchecklist span a:before,#bulk-titles div a:before{content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;height:20px;margin:2px 0;text-align:center;width:20px;-webkit-font-smoothing:antialiased!important}#welcome-panel.welcome-panel .welcome-panel-close::before{position:absolute;right:-18px;margin-top:-2px;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 0 3px}.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}.welcome-panel .welcome-icon{display:block;padding:0 0 8px;background:transparent!important}.welcome-panel .welcome-icon:before{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-write-blog:before,.welcome-panel .welcome-edit-page: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 .widget-loading,#dashboard_primary .dashboard-widget-control-form{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:0;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{padding:0 12px 11px}#dashboard_right_now .main p{margin:0}.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:#888}#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{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin:0}#dashboard_quick_press textarea{resize:vertical}#dashboard-widgets .postbox form .submit{margin:-39px 0;float:left}#description-wrap{margin-top:12px}#title-wrap #title-prompt-text,.textarea-wrap #content-prompt-text{color:#777}#title-wrap #title-prompt-text{font-size:1.1em;padding:7px 8px}.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:0}#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{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;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 .show-more,#published-posts .show-more{float:left;margin-left:12px}#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:0}.activity-block .subsubsub li{color:#ddd}#activity-widget #the-comment-list tr.undo,#activity-widget #the-comment-list div.undo{background:0 0;padding:6px 0}#activity-widget #the-comment-list .alternate,#activity-widget #the-comment-list .alt{background:0 0}#activity-widget #the-comment-list .comment{background:#fafafa;padding:12px;position:relative}#activity-widget #the-comment-list img{position:absolute;right:13px;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: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{margin-left:20px;position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}@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}}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-posts,.fixed .column-date,.fixed .column-parent,.fixed .column-links,.fixed .column-author,.fixed .column-format{width:10%}.fixed .column-comment .comment-author{display:none}.fixed .column-response,.fixed .column-categories,.fixed .column-tags,.fixed .column-rel,.fixed .column-role{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}#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 none}#commentsdiv .comments-box thead th{background:transparent;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}#commentsdiv .spinner{padding-right:5px}.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;color:#444;line-height:10px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.column-comments .sorting-indicator:before{top:0;right:-10px}th.sorted.asc .sorting-indicator:before,th.desc:hover span.sorting-indicator:before{content:'\f142'}th.sorted.desc .sorting-indicator:before,th.asc:hover span.sorting-indicator:before{content:'\f140'}tr.wp-locked .locked-indicator{background:url(../images/lock.png) no-repeat;margin:-2px 6px 0 0;height:20px;width:16px}tr.wp-locked .check-column label,tr.wp-locked .check-column input[type=checkbox],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 500ms;-moz-transition:height 1s,opacity 500ms;-ms-transition:height 1s,opacity 500ms;-o-transition:height 1s,opacity 500ms;transition:height 1s,opacity 500ms}.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.sorted.asc .sorting-indicator,th.desc:hover 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}.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;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;font-size:16px;font-weight:400}.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:active{cursor:default}.tablenav .displaying-num{margin-left:2px;font-size:12px;font-style:italic}.tablenav .actions{overflow:hidden;padding:2px 0 0 8px}.tablenav .delete{margin-left:20px}.view-switch{float:left;margin:5px 8px 0 16px}.view-switch img{display:none}.view-switch a{text-decoration:none}.view-switch>a{display:inline-block;width:18px;height:18px}.view-switch>a:before{content:'\f163';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>a+a:before{margin-right:5px;content:'\f164'}.filter{float:right;margin:-5px 10px 0 0}.filter .subsubsub{margin-right:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex;padding:0}#posts-filter fieldset legend{padding:0 1px .2em 0}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:right;margin:0;padding:0;width:100%}tr.inline-edit-row td,#wpbody-content .inline-edit-row fieldset .inline-edit-col{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 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 .quick-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .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}.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:23px}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{margin:0;padding:0;line-height:27px}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0}.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}.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 .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:text-bottom}.inline-edit-row fieldset label textarea{width:100%;height:4em}#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-save .spinner{padding:4px 10px 0;vertical-align:top;float:left}.inline-edit-row h4{text-transform:uppercase}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{font-style:italic;line-height:1.8em}.inline-edit-row fieldset input[type=text],.inline-edit-row fieldset textarea{border-style:solid;border-width:1px}.inline-edit-row fieldset .inline-edit-date{float:right}.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.1em}.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-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0}#bulk-titles{display:block;height:12em;border-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist li,.inline-edit-row fieldset ul.cat-checklist input{margin:0}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row #bulk-titles div{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%}.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}#show-comments{overflow:hidden}#save-action .spinner,#show-comments a,#show-comments .spinner{float:right}#lost-connection-notice .spinner{display:block;float:right;margin:0 0 0 5px}#titlediv{position:relative;margin-bottom:10px}#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}#titlediv #title-prompt-text,#wp-fullscreen-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}#wp-fullscreen-title-prompt-text{padding:11px}#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 none;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px}#edit-slug-box .cancel{margin-left:10px;font-size:11px}#editable-post-name-full{display:none}#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}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}.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}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:transparent none;border:0 none;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}.press-this #side-sortables .category-tabs li,ul.category-tabs li,#side-sortables .add-menu-item-tabs li,.wp-tab-bar li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}.category-tabs a,#side-sortables .add-menu-item-tabs a,.wp-tab-bar a{text-decoration:none}.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 input,#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover{border:0 none}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.category-tabs,ul.add-menu-item-tabs,ul.wp-tab-bar{margin-top:12px}ul.category-tabs li{border-style:solid;border-width:1px;position:relative}ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-style:solid solid none;border-width:1px 1px 0}ul.add-menu-item-tabs li.tabs{padding-bottom:3px;position:relative}#post-body .add-menu-item-tabs li.tabs{border-style:solid none solid solid;border-width:1px 1px 1px 0;margin-left:-1px}ul.category-tabs li,ul.add-menu-item-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px}#postimagediv .inside img{max-width:100%;height:auto}form#tags-filter{position:relative}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}.wp-hidden-children .wp-hidden-child,.ui-tabs-hide{display:none}.commentlist .avatar{vertical-align:text-top}#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%}#post-status-info td{font-size:12px}.autosave-info{padding:2px 15px;text-align:left}#editorcontent #post-status-info{border:0}#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize.gif) no-repeat scroll left bottom;width:12px;height:12px;cursor:sw-resize}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-rtl.gif) no-repeat scroll left bottom}#post-body .wp_themeSkin .mceStatusbar a.mceResize{bottom:3px;position:absolute;left:3px}#post-body .postarea .wp_themeSkin .mceStatusbar a.mceResize{bottom:-20px}#content-resize-handle{position:absolute;left:3px;bottom:-20px}.press-this #content-resize-handle{bottom:2px}.tmce-active #content-resize-handle{display:none}#wp-word-count{display:block;padding:2px 10px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#jj,#hh,#mn{padding:1px;font-size:12px}#jj,#hh,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions: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%;right:50%;width:450px;margin-right:-225px;background:#fff;line-height:1.5;z-index:1000005}.notification-dialog-background{position:fixed;top:0;right:0;left:0;bottom:0;background:#000;opacity:.5;filter:alpha(opacity=50);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.saving .locked-saving,#post-lock-dialog.saved .locked-saved{display:inline}#postcustomstuff thead th{padding:5px 8px 8px}#postcustom #postcustomstuff .submit{border:0 none;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-width:1px;border-style:solid;border-spacing:0}#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 th.left,#postcustomstuff td.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}.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}.revisions-tickmarks{position:relative;margin:0 auto;height:.7em;top:7px;max-width:70%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div{position:absolute;height:100%;border-style:solid;border-width:0 0 0 1px;-moz-box-sizing:border-box;-webkit-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:fixed;vertical-align:middle;opacity:0;width:100%;top:50%;margin-right:-90px;-webkit-transition:opacity .5s;-moz-transition:opacity .5s;-ms-transition:opacity .5s;-o-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;-moz-transition:opacity .5s;-ms-transition:opacity .5s;-o-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}.revision-toggle-compare-mode{position:absolute;top:0;left:0}.comparing-two-revisions .revisions-previous,.comparing-two-revisions .revisions-next,.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-previous,.revisions-next{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}.revisions-diff h3:first-child{margin-top:0}.post-revisions li img,#revisions-meta-restored img{vertical-align:middle}table.diff tbody tr td:nth-child(2){width:4%}table.diff{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}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 del,table.diff .diff-addedline ins{text-decoration:none}.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 .avatar,.revisions-controls .author-card .author-info{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;display:none;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);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-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-width:1px;border-style:solid}.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}.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);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-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-width:1px;border-style:solid;text-align:right;cursor:pointer}.wp-slider .ui-slider-handle{border-radius:50%;height:18px;margin-top:-3px;outline:0;position:absolute;width:18px;z-index:2}.wp-slider .ui-slider-handle:before{background:0 0;position:absolute;top:0;right:0;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'}.wp-slider .ui-slider-handle.to-handle:before{content:'\f141'}.rtl .wp-slider .ui-slider-handle.from-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}#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-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-state-format.post-format-standard:before,.post-format-icon.post-format-standard:before,a.post-state-format.format-standard:before{content:'\f109'}.post-state-format.post-format-image:before,.post-format-icon.post-format-image:before,a.post-state-format.format-image:before{content:'\f128'}.post-state-format.post-format-gallery:before,.post-format-icon.post-format-gallery:before,a.post-state-format.format-gallery:before{content:'\f161'}.post-state-format.post-format-audio:before,.post-format-icon.post-format-audio:before,a.post-state-format.format-audio:before{content:'\f127'}.post-state-format.post-format-video:before,.post-format-icon.post-format-video:before,a.post-state-format.format-video:before{content:'\f126'}.post-state-format.post-format-chat:before,.post-format-icon.post-format-chat:before,a.post-state-format.format-chat:before{content:'\f125'}.post-state-format.post-format-status:before,.post-format-icon.post-format-status:before,a.post-state-format.format-status:before{content:'\f130'}.post-state-format.post-format-aside:before,.post-format-icon.post-format-aside:before,a.post-state-format.format-aside:before{content:'\f123'}.post-state-format.post-format-quote:before,.post-format-icon.post-format-quote:before,a.post-state-format.format-quote:before{content:'\f122'}.post-state-format.post-format-link:before,.post-format-icon.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}#post-body ul.add-menu-item-tabs{float:right;width:120px;text-align:left;margin:0 5px 0 -120px;padding:0}ul.add-menu-item-tabs li{padding:3px 8px 3px 5px}#post-body ul.add-menu-item-tabs li.tabs{-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px}.wp-tab-panel,.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border-style:solid;border-width:1px}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,ul.export-filters,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul{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 p,.form-wrap label{font-size:11px}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input,.form-field textarea{border-style:solid;border-width:1px;width:95%}p.description,.form-wrap p{margin:2px 0 5px}p.help,p.description,span.description,.form-wrap p{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}.tagsdiv{margin-top:-8px}#poststuff .taghint{color:#aaa;margin:15px 12px -24px 0}#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:0;line-height:2em;max-width:1000px;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-width:1px;border-style:solid}.wp-customizer .ac_results{z-index:500000}.ac_results li{padding:2px 5px;white-space:nowrap;text-align:right}.ac_over{cursor:pointer}.ac_match{text-decoration:underline}table.links-table{width:100%}.links-table th{font-weight:400;text-align:right;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table th,.links-table td{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}.media-item .describe{border-collapse:collapse;width:100%;border-top-style:solid;border-top-width:1px;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}abbr.required{border:medium none;text-decoration:none}.media-item .describe input[type=text],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 5px 0 0}.media-item .edit-attachment,.describe-toggle-on,.describe-toggle-off{display:block;line-height:36px;float:left}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}#media-items .media-item{border-bottom-style:solid;border-bottom-width:1px;min-height:36px;position:relative;width:100%}#media-items{width:623px}.media-new-php #media-items{margin:1em 0}#media-items:empty{border:0 none}.media-item .filename{line-height:36px;overflow:hidden}.media-item .error-div{padding-right:10px}.media-item .pinkynail{float:right;margin:2px 0 0 10px;max-width:40px;max-height:32px}.media-item .startopen,.media-item .startclosed{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:left;height:22px;margin:7px 0 0;width:200px;line-height:2em;padding:0;overflow:hidden;margin-bottom:2px;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;border-radius:22px;background-color:#0074a2;-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{margin:0;padding:0}.media-upload-form .media-item.error p,.media-item .error-div{line-height:16px;margin:5px 10px;padding:0}.media-item .error-div a.dismiss{display:block;float:left;margin:5px 15px 0 4px}.find-box{width:600px;height:300px;overflow:hidden;padding:33px 0 51px;position:absolute;z-index:1000}.find-box-head{cursor:move;font-weight:600;height:2em;line-height:2em;padding:1px 12px;position:absolute;top:5px;width:100%}.find-box-inside{overflow:auto;padding:6px;height:100%}.find-box-search{overflow:hidden;padding:9px;position:relative}.find-box-search .spinner{float:none;right:125px;position:absolute;top:9px}#find-posts-input{float:right;width:140px;height:24px}#find-posts-search{float:right;margin:1px 3px 0 4px}#find-posts-response{margin:8px 0;padding:0 1px 6px}#find-posts-response table{width:100%}#find-posts-response .found-radio{padding:3px 8px 0 0;width:15px}.find-box-buttons{padding:8px;overflow:hidden}.find-box #resize-se{position:absolute;left:1px;bottom:1px}.ui-find-overlay{position:absolute;top:0;right:0;background-color:#000;opacity:.6;filter:alpha(opacity=60)}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em 0}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border-width:1px;border-style:solid;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #bbb;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#aaa;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}.wp_attachment_details #attachment_caption{height:4em}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0}.post-php .imgedit-wrap table{width:100%}.describe .imgedit-wrap table td,.wp_attachment_holder .imgedit-wrap table td{vertical-align:top;padding-top:0}.describe .imgedit-wrap table td.imgedit-settings{padding:0 5px}.wp_attachment_holder .imgedit-wrap table td.imgedit-settings{width:250px}td.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:#fff url(../images/spinner.gif) no-repeat scroll 22px 10px;background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.spinner{background:url(../images/spinner.gif) no-repeat;background-size:20px 20px;display:none;float:left;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}.no-float{float:none}.media-disabled,.imgedit-settings .disabled{color:grey}.wp_attachment_image,.A1B1{overflow:hidden}.wp_attachment_image .button,.A1B1 .button{float:right}.no-js .wp_attachment_image .button{display:none}.wp_attachment_image .spinner,.A1B1 .spinner{float:right;padding:0 0 4px;vertical-align:bottom}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:right;width:32px;background:0 0;margin:0 0 0 8px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;line-height:28px}.imgedit-menu div:before{font:400 20px/1 dashicons;speak:none;vertical-align:middle}.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}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic;margin-bottom:8px}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}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table th,.form-table td p,.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{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 input.tog{margin-top:2px;margin-left:2px;float:right}.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 p,.form-table td fieldset li{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom-width:1px;border-bottom-style:solid}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#replyrow input{border-width:1px;border-style:solid}#replyrow td{padding:2px}#replysubmit{margin:0;padding:0 5px 3px;text-align:center}#replysubmit .spinner{padding:2px 0 0;vertical-align:top;float:left}#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}.comment-php .wp-editor-area{height:200px}.comment-ays{margin-bottom:0;border-bottom-style:solid;border-bottom-width:1px}.comment-ays .alt{background-color:transparent}.trash-undo-inside,.spam-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}.commentlist .avatar{vertical-align:text-top}#the-comment-list .unapproved th.check-column input{margin-right:4px}.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 .wrap .theme-count{color:#fff;border-radius:30px;background:#777;font-size:14px;padding:4px 10px;font-weight:600;margin-right:5px;margin-left:20px;position:relative;top:-3px}.themes-php div.updated,.themes-php div.error{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:hover,.theme-browser .theme:focus{cursor:pointer}.theme-browser .theme .theme-name{font-size:15px;font-weight:600;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: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-transform:translateZ(0);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme:hover .theme-screenshot{background:#fff}.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:#222;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;border-radius:3px;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme:focus{outline:1px dotted #222}.theme-browser .theme:focus .theme-actions{display:none}.theme-browser .theme:focus:hover .theme-actions{display:block}.theme-browser .theme:focus .more-details{opacity:1}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser.rendered .theme:hover .more-details{-ms-filter:"alpha(Opacity=100)";opacity:1}.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-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 .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-right:0;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-left:0}.theme-browser .theme .theme-author{background:#222;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:0;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:after{display:block;content:'';-ms-filter:"alpha(Opacity=100)";opacity:1;background:transparent;background:rgba(0,0,0,0);position:absolute;top:0;right:0;left:0;bottom:0;padding:10% 0 0;text-shadow:none;border:5px dashed #d5d2ca;border:5px dashed rgba(0,0,0,.1);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out;-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);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:hover .theme-screenshot{background:0 0}.theme-browser .theme.add-new-theme:hover span:after{background:#fff;color:#0074a2}.theme-browser .theme.add-new-theme:hover:after{border-color:transparent;color:#fff;background:#0074a2;content:''}.theme-browser .theme.add-new-theme .theme-name{background:0 0;text-align:center;box-shadow:none;font-weight:400;position:relative;top:0;margin-top:-10%;margin-bottom:10%}.theme-browser .theme.add-new-theme:hover .theme-name{color:#fff;z-index:2}.themes-php .theme-search{position:relative;top:-2px;right:20px;font-size:16px;font-weight:300;line-height:1.5;width:280px}.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}body.theme-overlay-open{overflow:hidden}.theme-overlay .theme-header{position:absolute;top:0;right:0;left:0;height:48px;border-bottom:1px solid #ddd}.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}.theme-overlay .theme-header .close:hover:before,.theme-overlay .theme-header .close:focus:before{color:#fff}.theme-overlay .theme-header .close:before{font:400 30px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.theme-overlay .theme-header .right,.theme-overlay .theme-header .left{cursor:pointer;color:#777;background-color:transparent;height:48px;width:54px;float:right;text-align:center;border:0;border-left:1px solid #ddd}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .right:focus,.theme-overlay .theme-header .left:focus{background:#0074a2;color:#fff}.theme-overlay .theme-header .left.disabled,.theme-overlay .theme-header .right.disabled,.theme-overlay .theme-header .left.disabled:hover,.theme-overlay .theme-header .right.disabled:hover{color:#ccc;background:inherit;cursor:inherit}.theme-overlay .theme-header .right:before,.theme-overlay .theme-header .left:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.theme-overlay .theme-header .left:before{content:'\f340'}.theme-overlay .theme-header .right:before{content:'\f344'}.rtl .theme-overlay .theme-header .left:before{content:'\f345'}.rtl .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;box-sizing:border-box}.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;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}.theme-overlay .theme-actions .delete-theme{color:#a00;position:absolute;left:10px;bottom:5px;text-decoration:none;border-color:transparent;box-shadow:none;background:transparent}.theme-overlay .theme-actions .delete-theme:hover,.theme-overlay .theme-actions .delete-theme:focus{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;height:auto;position:absolute;right:0;top:0;width:100%;height:auto}.theme-overlay .screenshot.selected{background:transparent;border:2px solid #2ea2cc}.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:#333;color:#fff;font-size:11px;display:inline-block;padding:2px 8px;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:#222;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;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.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:#888;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:#fefaf7;border:1px solid #eee;border-right:4px solid #d54e21;border-radius:3px;padding:5px 20px 10px}.theme-overlay .theme-update{color:#222;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 #2ea2cc;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-overlay .theme-backdrop,.single-theme .theme-overlay .theme-header,.single-theme .theme{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){body.folded .theme-overlay .theme-wrap,.theme-overlay .theme-wrap{top:0;left:0;bottom:0;right:0;padding:70px 20px 20px;border:0;z-index:500;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:not(.active):hover .theme-actions,.theme:hover .more-details{display:none}.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-update,.theme-overlay .theme-description{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 .theme-search{float:none;clear:both;right:0;top:0;left:0;margin:10px 0;width:100%}.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-install-php h4{margin:2.5em 0 8px}.theme-install-php .tablenav{height:auto}.theme-install-php .spinner{margin-top:9px}.available-theme{display:inline-block;margin-left:10px;overflow:hidden;padding:20px 0 20px 20px;vertical-align:top;width:300px}.available-theme .screenshot{width:300px;height:225px;display:block;border-width:1px;border-style:solid;margin-bottom:10px;overflow:hidden}.available-theme img{width:300px}.available-theme h3{margin:15px 0 0}.available-theme .theme-author{line-height:18px}.available-theme .action-links{margin-top:10px;overflow:hidden}.available-theme a.screenshot:focus{border-color:#777}.available-theme .action-links li{float:right;padding-left:10px;margin-left:10px;border-left:1px solid #dfdfdf}.available-theme .action-links li{padding-left:8px;margin-left:8px}.ie8 .available-theme .action-links li{padding-left:7px;margin-left:7px}.available-theme .action-links li:last-child{padding-left:0;margin-left:0;border-left:0}.available-theme .action-links .delete-theme{float:left;margin-right:8px;margin-left:0}.available-theme .action-links .delete-theme a{color:red;padding:2px}.available-theme .action-links .delete-theme a:hover{background:red;color:#fff;text-decoration:none}.available-theme .action-links p{float:right}@media only screen and (max-width:1200px){.folded .available-theme,.folded .available-theme .screenshot{width:300px}.folded .available-theme .screenshot{height:225px}}@media only screen and (max-width:1079px){.folded .available-theme,.folded .available-theme .screenshot{width:270px}.folded .available-theme .screenshot{height:203px}}@media only screen and (max-width:1200px){.available-theme,.available-theme .screenshot{width:240px}.available-theme .screenshot{height:180px}.available-theme img{width:100%}}#post-body ul.add-menu-item-tabs li.tabs a,#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{font-weight:600;text-decoration:none}#TB_window #TB_title{background-color:#222;color:#cfcfcf}.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}#dashboard_right_now .versions .b,#post-status-display,#post-visibility-display,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,.media-item .percent,.plugins .name,#pass-strength-result.strong,#pass-strength-result.short,#ed_reply_toolbar #ed_reply_strong,.item-controls .item-order a,.feature-filter .feature-name{font-weight:600}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ul,.plugins .desc ol{margin:0 2em 0 0}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{font-size:13px;padding:0}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th{padding:10px 9px}.plugins .update th,.plugins .update td{border-bottom:0}.plugin-update-tr td{border-top:0}#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 .second,.plugins .row-actions{padding:0 0 5px}.plugins .update .second,.plugins .update .row-actions{padding-bottom:0}.plugins-php .widefat tfoot th,.plugins-php .widefat tfoot td{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{border:0;font-size:13px;font-weight:400;margin:6px 12px 12px;padding:6px 12px}.plugin-update-tr .update-message:before{content:'\f463';display:inline-block;font:400 20px/1 dashicons;speak:none;margin:0 -2px 0 8px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.plugin-install-php h4{margin:2.5em 0 8px}#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}.scheme-list{}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option:hover,.color-option.selected{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:0}.color-option{cursor:pointer}body.press-this{color:#333;margin:0;padding:0;min-width:708px;min-height:400px}.press-this #titlediv #title{font-size:1.4em}.press-this #site-heading:before{top:3px;position:relative;display:inline-block;font:400 18px/1 dashicons;speak:none;color:#727272;content:'\f120';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pressthis{margin:20px 0}.pressthis a,.pressthis a:hover,.pressthis a:focus,.pressthis a:active{display:inline-block;position:relative;cursor:move;color:#333;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 a:active{outline:0}.pressthis a:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-moz-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 a span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis a span:before{font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:transparent;-webkit-transform:skew(20deg) rotate(6deg);-moz-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)}#utc-time,#local-time{padding-right:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}#wpfooter{position:absolute;bottom:0;right:0;left:0;padding:10px 0;margin-left:20px;border-top-width:1px;border-top-style:solid}#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}.about-wrap{position:relative;margin:25px 20px 0 40px;max-width:1050px;font-size:15px}.about-wrap div.updated,.about-wrap div.error{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:.5em 5px .5em 0;max-width:100%}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 0 0 200px;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap .about-text,.about-wrap p.about-description,.about-wrap li.wp-person a.web{font-weight:400;line-height:1.6em;font-size:19px}.about-description{margin-top:1.4em}.about-text{margin:1em 0 1em 200px;min-height:60px;font-size:24px}.about-wrap .changelog h2.about-headline-callout{margin:1.1em 0 .2em;font-size:2.4em;font-weight:300;line-height:1.3;text-align:center}.about-wrap h3{margin:1em 0 .6em;font-size:1.5em;line-height:1.5em}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1.2em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap code,.about-wrap ol li p{font-size:14px}.about-wrap .about-colors-img{bottom:-25px}.about-wrap .about-themes-img{bottom:-38px}.about-wrap .about-overview-img{border-bottom:1px solid rgba(0,0,0,.1);margin:0}.about-colors-img img,.about-themes-img img{margin:0;padding:0;line-height:1}.about-wrap .point-releases{margin-top:5px}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.wp-badge{background:url(../images/w-logo-white.png?ver=20131202) no-repeat;background:none,url(../images/wordpress-logo-white.svg?ver=20131110) no-repeat;background-position:center 24px;background-size:85px 85px;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}.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 h2 .nav-tab-active{font-weight:700}.about-wrap .feature-section{padding-bottom:20px}.about-wrap .feature-section.col{margin-bottom:0}.about-wrap .feature-section.center-col>div{margin:auto;width:60%}.about-wrap .about-colors .one-col>div{width:100%}.about-wrap .feature-section.two-col>div{position:relative;width:50%;float:right}.about-wrap .feature-section.three-col>div{position:relative;width:29.95%;margin-left:4.999999999%;float:right}.about-wrap .feature-section.col .last-feature{margin-left:0}.about-wrap .about-updates img,.about-wrap .about-twentyfourteen img{margin:2em 0 0;border:1px solid #ddd;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.about-wrap .about-twentyfourteen img{margin-top:1em}.about-wrap .changelog .feature-section{overflow:hidden}.about-wrap .about-colors .scheme-list{margin-bottom:1em}.about-wrap .about-colors .color-option{padding-top:10px}.about-wrap .about-colors .color-option label{display:inline-block;margin:.25em 0 .5em}.about-wrap .feature-section.two-col div p{margin-left:3%}.about-wrap .feature-section div p img{float:left;margin-right:10px;max-width:20%}.about-wrap .changelog li{list-style-type:disc;margin-right:3em}.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 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{float:right;margin-left:10px}.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{height:70px;width:280px;padding-bottom:15px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;text-decoration:none}.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}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:transparent;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;overflow:auto;background:transparent;border-left:0}.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%}.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:0;-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:0;border-top:0;-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}.wp-full-overlay .close-full-overlay{text-decoration: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;border-radius:50%;text-decoration:none}.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{border-radius:50%;float:right;content:"\f148";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}.wp-full-overlay.collapsed .collapse-sidebar-arrow:before,.rtl .wp-full-overlay .collapse-sidebar-arrow:before{-ms-transform:rotate(180deg);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-ms-transform:none;-webkit-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-sidebar,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main{-webkit-transition-property:right,left,top,bottom,width,margin;-moz-transition-property:right,left,top,bottom,width,margin;-ms-transition-property:right,left,top,bottom,width,margin;-o-transition-property:right,left,top,bottom,width,margin;transition-property:right,left,top,bottom,width,margin;-webkit-transition-duration:.2s;-moz-transition-duration:.2s;-ms-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s}.no-customize-support .hide-if-no-customize,.customize-support .hide-if-customize,.no-customize-support.wp-core-ui .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.customize-support.wp-core-ui .hide-if-customize,.customize-support .wp-core-ui .hide-if-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:#fff url(../images/spinner.gif) no-repeat fixed center center;background-size:20px 20px}#customize-container iframe,#theme-installer iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-ms-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}#theme-installer{display:none}#theme-installer.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 20px}.single-theme .install-theme-info{padding-top:15px}#theme-installer .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}#theme-installer .wp-full-overlay-header{margin-top:9px}#theme-installer .wp-full-overlay-header .theme-install{float:left;line-height:26px}#theme-installer .wp-full-overlay-sidebar{background:#EEE;border-left:1px solid #DDD}#theme-installer .wp-full-overlay-main{background:#fff url(../images/spinner.gif) no-repeat fixed center center;background-size:20px 20px}.nav-tab{border-style:solid;border-width:1px 1px 0;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:-4px 0 -1px 4px}.nav-tab-active{border-width:1px}.nav-tab-active,.nav-tab-active:hover{border-bottom-width:1px;border-bottom-style:solid}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:0;padding-right:10px}h2 .nav-tab{padding:6px 10px;font-weight:700;font-size:15px;line-height:24px}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%}#template div{margin-left:190px}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-username img,.column-comment .comment-author img{float:right;margin-left:10px;margin-top:1px}.row-actions{font-size:13px;visibility:hidden;padding:2px 0 0}tr:hover .row-actions,.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}.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;white-space:nowrap;cursor:default}.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,.metabox-holder h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #parent_id,#poststuff .inside #page_template{max-width:100%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 #poststuff .inside #parent_id,.ie8 #poststuff .inside #page_template,.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{width:250px}#post-visibility-select{line-height:1.5em;margin-top:3px}#poststuff #submitdiv .inside{margin:0;padding:0}.edit-form-section{margin-bottom:20px}#templateside ul li a{text-decoration:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}#sidemenu{margin:-30px 315px 0 15px;list-style:none;position:relative;float:left;padding-right:10px;font-size:12px}#sidemenu a{padding:0 7px;display:block;float:right;line-height:28px;border-top-width:1px;border-top-style:solid;border-bottom-width:1px;border-bottom-style:solid;-webkit-transition:none;-moz-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;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;border-width:1px;border-style:solid}#sidemenu li a .count-0{display:none}.plugin-install #description,.plugin-install-network #description{width:60%}table .vers,table .column-visible,table .column-rating{text-align:right}.error-message{color:red;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}.lp-show-latest p:last-child,.lp-show-latest .lp-error p{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}#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:0;margin:0;padding:0}fieldset{border:0;padding:0;margin:0}.post-categories{display:inline;margin:0;padding:0}.post-categories li{display:inline}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}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}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input{width:100%}#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:0}#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{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 #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:0}#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}#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;line-height:100%;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:transparent none;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag h3.hndle{border:0;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}#loginform p.submit,.login-action-lostpassword p.submit{border:0;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}.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);background-size:80px 80px;background-position:center top;background-repeat:no-repeat;color:#999;height:80px;font-size:20px;font-weight:400;line-height:1.3em;margin:0 auto 25px;padding:0;text-decoration:none;width:80px;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 #nav,.login #backtoblog{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0 0}.login form .input,.login input[type=text]{font-size:24px;line-height:1;width:100%;padding:3px;margin:2px 0 16px 6px}.login #pass-strength-result{width:250px;font-weight:600;border-style:solid;border-width:1px;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login form,.mobile #login .message,.mobile #login_error{margin-right:0}.mobile #login #nav,.mobile #login #backtoblog{margin-right:8px}.mobile #login h1 a{width:auto}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}.wp-list-table .site-deleted{background:#ff8573}.wp-list-table .site-spammed{background:#faafaa}.wp-list-table .site-archived{background:#ffebe8}.wp-list-table .site-mature{background:#fecac2}.no-js #message{display:block}.accordion-section ul.category-tabs,.accordion-section ul.add-menu-item-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}#nav-menus-frame .accordion-section-content .inside{font-size:14px}#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 .postbox,.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title{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:0;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{font-style:italic;font-weight:400;margin-right:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden}.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 p{margin:.3em 0 .6em}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top-width:1px;border-top-style:solid;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{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%}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-width:1px 0;border-style:solid}#nav-menu-header,#nav-menu-footer{padding:0 10px}#nav-menu-header{border-bottom:1px solid;margin-bottom:0}#nav-menu-header .menu-name-label{margin-top:4px}.nav-menus-php #post-body div.updated,.nav-menus-php #post-body div.error{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 td.menu-location-menus{padding-bottom:5px}.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-edit-menu-link,.locations-add-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{font-style:italic}#menu-management .inside{padding:0 10px}.postbox .howto input,.accordion-container .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 .submitdelete,.nav-menus-php .submitcancel{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.right,.button-secondary.right,.button-primary.right{float:left}.list-controls{float:right;margin-top:5px}.add-to-menu{float:left}.postbox .spinner{display:none;vertical-align:middle}.button-controls{clear:both;margin:10px 0}.show-all,.hide-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}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .list-container{max-height:200px;overflow-y:auto;padding:10px 10px 5px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0;margin-bottom: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;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}#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}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-left:13em}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{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}.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;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;height:40px}.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;padding:1px 2px;text-decoration:none}.nav-menus-php .major-publishing-actions .form-invalid{padding-right:4px;margin-right:-4px;border:0 none}#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}#nav-menus-frame,.button-controls,#menu-item-url-wrap,#menu-item-name-wrap{display:block}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) repeat-x bottom right}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) repeat-x top right;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;-moz-transition:color .1s ease-in 0;-webkit-transition:color .1s ease-in 0;text-align:center;color:#0074a2}.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;margin:6px 0 0}#plugin-information-header{margin:0;padding:0 5px;font-weight:600;position:relative;border-bottom-width:1px;border-bottom-style:solid;height:2.5em}#plugin-information ul#sidemenu{font-weight:400;margin:0 5px;position:absolute;right:0;bottom:-1px}#plugin-information{height:auto}#plugin-information p.action-button{width:100%;padding-bottom:0;margin-bottom:0;margin-top:10px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px}#plugin-information .action-button a{text-align:center;font-weight:600;text-decoration:none;display:block;line-height:2em}#plugin-information h2{clear:none!important;margin-left:200px}#plugin-information .fyi{margin:0 10px 50px;width:210px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-left:0}#plugin-information .fyi h2.mainheader{padding:5px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}#plugin-information .fyi ul{padding:10px 7px 10px 5px;margin:0;list-style:none;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}#plugin-information .fyi li{margin-left:0}#plugin-information #section-holder{padding:10px}#plugin-information .section ul,#plugin-information .section ol{margin-right:16px;list-style-type:square;list-style-image:none}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;max-width:100%;width:auto;height:auto}#plugin-information #section-screenshots li p{font-style:italic;padding-right:20px;padding-bottom:2em}#plugin-information #section-screenshots ol,#plugin-information .updated,#plugin-information pre{margin-left:215px}#plugin-information pre{padding:7px;overflow:auto;border-width:1px;border-style:solid}.plugin-version-author-uri{font-size:13px}img{border:0}#wphead{border-bottom-width:1px;border-bottom-style:solid}.press-this #wphead{height:32px;margin-right:0;margin-left:0;margin-bottom:5px}.press-this #header-logo{float:right;margin:7px 7px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.press-this #wphead h1{font-weight:400;font-size:16px;line-height:32px;margin:0;float:right}.press-this #wphead h1 a{text-decoration:none}.press-this #wphead h1 a:hover{text-decoration:underline}.press-this #message{margin:10px 0}.press-this .posting{margin-left:252px}.press-this-sidebar{float:left;width:240px;padding-top:10px}.press-this #title{margin-right:0;margin-left:0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.press-this .tagchecklist{margin-top:8px}.press-this #titlediv{margin:0}.press-this .wp-media-buttons{cursor:default;padding:8px 8px 6px}.press-this .howto{margin-top:2px;margin-bottom:3px;font-size:12px;font-style:italic;display:block}.press-this #wp-content-editor-container{clear:none}.press-this #poststuff .inside{margin-top:18px}.press-this .category-tabs{margin-bottom:3px}.press-this #poststuff{margin:0 10px 10px;padding:0}.press-this #photo-add-url-div input[type=text]{width:220px}#poststuff #editor-toolbar{height:30px}div.zerosize{border:0 none;height:0;margin:0;overflow:hidden;padding:0;width:0}.posting{margin-left:212px;position:relative}.press-this .inner-sidebar{width:200px}.press-this .inner-sidebar .sleeve{padding-top:5px}.press-this #submitdiv p{margin:0;padding:6px}.press-this #submitdiv #publishing-actions{border-bottom:1px solid #dfdfdf}.press-this #publish{float:left}.press-this #poststuff h2,.press-this #poststuff h3{font-size:14px;line-height:1}.press-this #tagsdiv-post_tag h3,.press-this #categorydiv h3{cursor:pointer}.press-this #submitdiv h3{cursor:default}h3.tb{font-weight:600;font-size:12px;margin-right:5px}#TB_window{border:1px solid #333}.press-this .postbox,.press-this .stuffbox{margin-bottom:10px;min-width:0}.js .meta-box-sortables .postbox:hover .handlediv{margin-left:0!important}.js .sidebar-name .sidebar-name-arrow:before,.js .meta-box-sortables .postbox .handlediv: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 .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow,.js #widgets-left .sidebar-name:hover .sidebar-name-arrow{display:block}.js .sidebar-name .sidebar-name-arrow:before,.js .meta-box-sortables .postbox .handlediv:before{content:'\f142'}.js .widgets-holder-wrap.closed .sidebar-name-arrow:before,.js .meta-box-sortables .postbox.closed .handlediv:before{content:'\f140'}.press-this #submitdiv:hover .handlediv{background:0 0}.tbtitle{font-size:1.7em;outline:0;padding:3px 4px;border-color:#dfdfdf}.press-this .actions{float:left;margin:-19px 0 0}.press-this #extra-fields .actions{margin:-32px 0 0 -7px}.press-this .actions li{float:right;list-style:none;margin-left:10px}#extra-fields .button{margin-left:5px}#photo_saving{margin:0 8px 8px;vertical-align:middle}#img_container_container{overflow:auto}#extra-fields{margin-top:10px;position:relative}#extra-fields h2{margin:12px}#waiting{margin-top:10px;overflow:hidden}#waiting span{float:left;margin:0 5px 0 0}#waiting .spinner{display:block}#extra-fields .postbox{margin-bottom:5px}#extra-fields .titlewrap{padding:0;overflow:auto;height:120px}#img_container a{display:block;float:right;overflow:hidden}#img_container img,#img_container a{width:68px;height:68px}#img_container img{border:0;background-color:#f4f4f4;cursor:pointer}#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block;position:relative}#img_container a:hover,#img_container a:active{border-color:#000;z-index:1000;border-width:1px}#embed-code{width:100%;height:98px}.press-this .categorydiv div.tabs-panel{height:100px}.press-this .tagsdiv .newtag{width:120px}.press-this #content{margin:5px 0;padding:0 5px;border:0 none;height:345px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:19px;background:transparent}.press-this #publishing-actions .spinner{display:inline;vertical-align:middle}#TB_ajaxContent #options{position:absolute;top:20px;left:25px;padding:5px}#TB_ajaxContent h3{margin-bottom:.25em}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}.taghint{color:#aaa;margin:-17px 7px 0 0;visibility:hidden}input.newtag~div.taghint{visibility:visible}input.newtag:focus~div.taghint{visibility:hidden}#mce_fullscreen_container{background:#fff}#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}#template textarea,#docs-list{direction:ltr}#template p{width:97%}#templateside{float:left;width:190px;word-wrap:break-word}#templateside h3,#postcustomstuff p.submit{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em 0;padding:0}#templateside li{margin:4px 0}#templateside 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:0;font-weight:700}.nonessential{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%}.feature-filter{padding:8px 12px 0}.feature-filter .feature-group{float:right;margin:5px 10px 10px}.feature-filter .feature-group li{display:inline-block;vertical-align:top;list-style-type:none;padding-left:25px;width:150px}.widget{margin:0 auto 10px;position:relative;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-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{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;user-select:none}.widgets-holder-wrap .widget-inside{border-top:0;padding:1px 15px 15px;line-height:16px}.widget.ui-draggable-dragging{min-width:100%}.widget.ui-sortable-helper{opacity:.8}.widget-placeholder{border:1px dashed #bbb;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{border:0;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}div#widgets-left .widget-holder{background:transparent;border:0}#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:transparent;padding:0;margin:0 0 20px;border:0;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:transparent;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{margin:-5px 5px;float:none}#widgets-right .widgets-holder-wrap.widget-hover{border-color:#777;box-shadow:0 1px 2px rgba(0,0,0,.3)}.widgets_access #widgets-left .widget .widget-top{cursor:auto}.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,.widgets_access #wpwrap .widgets-holder-wrap.closed .widget,.widgets_access #wpwrap .widget-control-edit{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:1px solid #444}.widgets-holder-wrap .sidebar-name,.widgets-holder-wrap .sidebar-description{-webkit-user-select:none;-moz-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 .widgets-holder-wrap.closed .widget,.js .widgets-holder-wrap.closed .sidebar-description,.js .closed br.clear{display:none}.nav-menus-php .item-edit:before,.widget-top a.widget-action:after,.control-section .accordion-section-title:after,.accordion-section-title:after{left:0;content:'\f140';border:0;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}.widget-top a.widget-action:after{padding:12px 12px 0}.nav-menus-php .item-edit:before{line-height:2.1}.control-section .accordion-section-title:after,.accordion-section-title:after{float:left;left:20px;top:-2px}.control-section.open .accordion-section-title:after,#customize-info.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before{content:'\f142'}.widget-inside,.widget-description{display:none}#removing-widget{display:none;font-weight:400;padding-right:15px;font-size:12px;line-height:1}.widget-control-noform,#access-off,.widgets_access .widget-action,.widgets_access .sidebar-name-arrow,.widgets_access #access-on,.widgets_access .widget-holder .description,.no-js .widget-holder .description{display:none}.widgets_access .widget-holder,.widgets_access #widget-list{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{transition:opacity .1s linear}.widget-liquid-left #widgets-left.chooser #available-widgets .widget,.widget-liquid-left #widgets-left.chooser .inactive-sidebar{opacity:.2;pointer-events:none}.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question{opacity:1;pointer-events:auto}.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;transition:background:.2s ease-in-out}.widgets-chooser li:hover,.widgets-chooser li:focus{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:0}.widgets-chooser li.widgets-chooser-selected{background:#2ea2cc;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}.ui-sortable,.ui-draggable{-ms-touch-action:none;touch-action:none}.meta-box-sortables.ui-sortable,.widgets-holder-wrap .ui-draggable,.widgets-holder-wrap .ui-sortable,.menu.ui-sortable{-ms-touch-action:auto;touch-action:auto}.meta-box-sortables.ui-sortable .hndle,.menu.ui-sortable .menu-item-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;border-right:1px solid #dfdfdf;border-left:1px solid #dfdfdf}.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;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:hover:after,.accordion-section-title:focus:after{border-color:#aaa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title{border-right:0;border-left:0;padding:10px 14px 11px 10px;line-height:21px;background:#fff}.control-section .accordion-section-title:after{top:11px}.js .control-section:hover .accordion-section-title,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section .accordion-section-title:focus{color:#222;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #dfdfdf}.sticky-menu #TB_window .updated{margin:16px 0 0}li#wp-admin-bar-menu-toggle{display:none}@media screen and (max-width:480px){div.widget-liquid-left{width:100%;float:none;border-left:0;padding-left:0}#widgets-left .sidebar-name{margin-left:0}#widgets-left #available-widgets .widget-top{margin-left:0}#widgets-left .inactive-sidebar .widgets-sortables{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 (max-width:768px){#col-left{width:100%}#col-right{width:100%}}@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{width:100%}#col-right{width:100%}.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}#menu-locations-wrap .widefat{width:100%}}@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}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){tr.wp-locked .locked-indicator{background-image:url(../images/lock-2x.png);background-size:16px 16px}#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-2x.gif) no-repeat scroll left bottom;background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-rtl-2x.gif) no-repeat scroll left bottom}div.star-holder{background:url(../images/stars-2x.png?ver=20121108) repeat-x bottom right;background-size:21px 37px}div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) repeat-x top right;background-size:21px 37px}.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);background-size:15px 123px}.spinner,.imgedit-wait,.customize-loading #customize-container,.revision-tick.completed-false,#theme-installer .wp-full-overlay-main{background-image:url(../images/spinner-2x.gif)}}.locale-zh-cn .howto,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn #utc-time,.locale-zh-cn #local-time,.locale-zh-cn p.install-help,.locale-zh-cn p.help,.locale-zh-cn p.description,.locale-zh-cn span.description,.locale-zh-cn .form-wrap p{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.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}@-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:rgba(0,0,0,0)!important}#wpwrap{background:#f0f0f0}#wpcontent,.auto-fold #wpcontent{position:relative;margin-right:0;padding-right:10px}.wrap{margin-left:12px;margin-right:0}.col-wrap{padding:0}.sticky-menu #adminmenuwrap{position:relative;z-index:auto;top:0}#screen-meta,#screen-meta-links,#collapse-menu,.post-format-select{display:none!important}textarea{-webkit-appearance:none}input[type=text],input[type=search],input[type=password],input[type=number]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox],.widefat th input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}input[type=checkbox]:checked:before,.widefat th input[type=checkbox]:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=radio],input[type=checkbox]{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}.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}#createuser .form-field input{width:100%}.wrap div.updated,.wrap div.error,.media-upload-form div.error{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.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 #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 .selected .wp-submenu:after,.auto-fold #adminmenu .wp-menu-open .wp-submenu:after{display:none}.auto-fold #adminmenu .opensub .wp-submenu{display:none}.auto-fold #adminmenu .selected .wp-submenu{display:block}.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:block}.auto-fold #adminmenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu 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:0;box-sizing:border-box;-moz-box-sizing:border-box}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#333}.wp-responsive-open #wpbody{left:-190px}.auto-fold .wp-responsive-open #adminmenuback,.auto-fold .wp-responsive-open #adminmenuwrap{display:block}#post-body-content{min-width:0}#titlediv #title-prompt-text,#wp-fullscreen-title-prompt-text{padding:10px}.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}.postbox{font-size:14px}#poststuff h3,.metabox-holder h3{padding:12px}.postbox .handlediv{margin-top:3px}#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 #jj,.timestamp-wrap #aa,.timestamp-wrap #hh,.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}.press-this ul.category-tabs li.tabs{padding:3px 5px 5px}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%;padding:25px 10px;margin-bottom:15px}.tagchecklist{margin:25px 10px}.tagchecklist span{font-size:16px;line-height:120%}#diff-next-revision,#diff-previous-revision{margin-top:-1em}table.diff{-ms-word-break:break-all;word-break:break-all;word-wrap:break-word}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar tr,.mceToolbar td{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-top:6px;padding-bottom:6px;padding-right:6px;padding-left: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}#wp-content-editor-tools{overflow:hidden;padding:20px 0 1px 15px;top:1px}a.wp-switch-editor{font-size:16px;line-height:1em;margin:3px 7px 0 0;padding:12px 15px}#wp-content-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 15px 0 20px}.wp-media-buttons span.wp-media-buttons-icon,.wp-media-buttons span.jetpack-contact-form-icon{width:22px!important;margin-top:-3px!important;margin-right:-5px!important}.wp-media-buttons .add_media span.wp-media-buttons-icon:before,.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-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}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}.tablenav{height:auto}.tablenav.top{margin:0}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}#wpbody-content{padding-bottom:100px}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}.tablenav.top .actions,.view-switch{display:none}.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}.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{display:none}.fixed .column-comment .comment-author{display:block}.column-title{width:85%}.fixed .column-comments,.widefat .check-column{width:35px}.widefat thead .check-column,.widefat tfoot .check-column{padding:10px 0}.widefat *{word-wrap:normal}#wpbody-content .quick-edit-row-post .inline-edit-col-left,#wpbody-content .quick-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 .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .bulk-edit-row .inline-edit-col-left,#wpbody-content .bulk-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:none;width:100%}#wpbody-content .quick-edit-row fieldset .inline-edit-col label,#wpbody-content .quick-edit-row fieldset .inline-edit-group label,#wpbody-content .bulk-edit-row fieldset .inline-edit-col label,#wpbody-content .bulk-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;-moz-box-sizing:border-box;box-sizing:border-box}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row #bulk-titles div{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=jj],.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=mn]{width:3em}.inline-edit-row fieldset input[name=aa]{width:4.5em}#bulk-titles div{margin:.8em .3em}#bulk-titles div a{height:22px}.tags .column-posts{width:50px}.tags .column-slug{width:30%}.comments .column-response{width:35%}.users .column-role{width:35%}.sites .column-blogname{width:55%}#wpbody-content #update-themes-table .plugin-title{width:auto}.form-table{-moz-box-sizing:border-box;box-sizing:border-box}.form-table th,.form-table td{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}textarea,input{font-size:16px}.form-table td input[type=text],.form-table td input[type=password],.form-table td select,.form-table td textarea,.form-table span.description,#profile-page .form-table textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;box-sizing:border-box;-moz-box-sizing:border-box}input[type=text].small-text,input[type=search].small-text,input[type=password].small-text,input[type=number].small-text,input[type=number].small-text,.form-table input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;box-sizing:border-box;-moz-box-sizing:border-box;padding:8px}.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}#utc-time,#local-time{display:block;float:none;padding:0;line-height:2}.wp_attachment_details label[for=content]{font-size:14px;line-height:1.5em}.link-manager-php #posts-filter{margin-top:25px}.link-manager-php .tablenav.bottom{overflow:hidden}.links-table #link_rel{max-width:none}.links-table th,.links-table td{padding:10px 0}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}.menu-item-bar .menu-item-handle,.menu-item-settings,.description-wide{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide{width:100%;height:auto}.menu-item-settings input{width:100%}.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}.available-theme .action-links .delete-theme{float:none;margin:0;padding:0;clear:both}.available-theme .action-links .delete-theme a{padding:0}#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}.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{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{display:block;width:auto}.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}.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-top:13px;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{box-shadow:none;-webkit-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);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);-ms-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);-o-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 th.check-column,.plugins tr.active+tr.inactive td{border-top:0}.wp-list-table.plugins .column-description{padding-top:0}.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}.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 thead th.check-column,.wp-list-table.plugins tfoot 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 thead .check-column input,.wp-list-table.plugins tfoot .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-name,table.plugin-install .column-version,table.plugin-install .column-rating,table.plugin-install .column-description{display:block;width:auto}table.plugin-install th.column-name,table.plugin-install th.column-version,table.plugin-install th.column-rating,table.plugin-install th.column-description{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)}#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 0 5px 10px}.about-wrap .feature-section.one-col>div,.about-wrap .feature-section.two-col>div,.about-wrap .three-col.about-updates>div{width:100%;margin:0;float:none}.about-wrap .about-colors .color-option{width:49%}.comment-ays{border-bottom:0}#wpfooter{display:none}#comments-form .checkforspam{display:none}.press-this a.wp-switch-editor{font:13px/19px "Open Sans",sans-serif;margin:5px 5px 0 0;padding:3px 8px 4px}.press-this #wp-content-media-buttons a{padding:0;line-height:normal;height:auto}.press-this #wp-content-editor-tools{padding:0;top:3px}.press-this .category-tabs{margin-top:0}.press-this .tagsdiv .newtag{width:120px;padding:3px 5px;margin-bottom:0}.press-this .tagchecklist{padding:0;margin-bottom:0}.press-this .wp_themeSkin a.mceButton{width:20px;height:20px}.press-this .wp_themeSkin .mceButton .mceIcon{margin:0}.press-this #poststuff h3,.press-this .metabox-holder h3{padding:7px 12px}.interim-login input[type=checkbox],.press-this input[type=checkbox],.press-this input[type=radio]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before,.press-this input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px -4px 0 0}.press-this input[type=radio]:checked:before{font:400 21px/1 dashicons;width:6px;height:6px;margin:4px}.press-this ul.categorychecklist ul,.press-this ul.categorychecklist li{margin-top:0;margin-bottom:0}.press-this div.quicktags-toolbar input{padding:2px 4px}.press-this textarea,.press-this input{font-size:14px}.press-this .tagchecklist span{font-size:13px;line-height:1.8em}}@media only screen and (max-width:500px){.about-wrap{margin-left:20px;margin-right:10px}.about-wrap h1,.about-text{margin-left:0}.about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap .feature-section.three-col div{width:100%;float:none}.about-wrap .three-col.about-updates .col-1{padding:0;float:none}.about-wrap .three-col.about-updates .col-2{margin:0 0 20px;width:100%;float:none}#wp-content-media-buttons a{font-size:14px;padding:0 10px}}@media screen and (max-width:782px){#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}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:0;text-align:center;text-decoration:none;box-sizing:border-box;-moz-box-sizing:border-box}}@media screen and (max-width:600px){#adminmenuwrap,#adminmenuback{display:none}.wp-responsive-open #adminmenuwrap,.wp-responsive-open #adminmenuback{display:block}#wpwrap.wp-responsive-open{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}.auto-fold #adminmenu{top:46px}#wp-responsive-overlay{position:fixed;top:0;right:0;width:100%;height:100%;z-index:400}.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}div#post-body.metabox-holder.columns-1{overflow-x:hidden}.color-option{width:49%}}
\ No newline at end of file
+#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%}#wpcontent,#wpfooter{margin-right:180px}.folded #wpcontent,.folded #wpfooter{margin-right:56px}#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,.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)}.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}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0074a2;-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:#2ea2cc}a:focus{color:#124964}a:active,a:focus{outline:thin dotted}#adminmenu a:active,#adminmenu a:focus,.screen-reader-text:focus{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:#222;font-size:1.5em;margin:.83em 0;font-weight:400}h3{color:#222;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 outside}ul.ul-square{list-style:square outside}ol.ol-decimal{list-style:decimal outside}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}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:0}.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:0}.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}div.error,div.updated{margin:5px 15px 2px}div.error p,div.updated p{margin:.5em 0;padding:2px}.media-upload-form div.error,.wrap div.error,.wrap div.updated{margin:5px 0 15px}div.updated{border-right:4px solid #7ad03a;padding:1px 12px;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)}div.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);padding:1px 12px}.attention{color:#2ea2cc}.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:0;-webkit-border-radius:2px;border-radius:2px;background:#e0e0e0;text-shadow:none;font-weight:600;font-size:13px}.wrap .add-new-h2:hover{background:#2ea2cc;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}.alt,.alternate{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:#333}.wp-ui-text-primary{color:#333}.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}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox h3,.side-info,.sidebar-name,.stuffbox h3,.widefat tfoot th,.widefat thead th,.widget .widget-top,h3.dashboard-widget-title,h3.dashboard-widget-title small,h3.dashboard-widget-title span{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#222}#namediv h3,#submitdiv h3,.postbox h3{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,.tagchecklist span a:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;height:20px;margin:2px 0;text-align:center;width:20px;-webkit-font-smoothing:antialiased!important}#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:0}#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}#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,#sidemenu 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:0;-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:0;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:#333}#screen-meta-links a:focus{border-color:#aaa;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#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:#bbb}#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 right;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom right}#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}#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:0;border-bottom:0;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:0;border-right:0}.contextual-help-tabs a:hover{color:#333}.contextual-help-tabs .active{padding:0;margin:0 0 0 -1px;border-right:2px solid #2ea2cc;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:#333}.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}.narrow{width:70%;margin-bottom:40px}.narrow p{line-height:150%}.widefat td,.widefat th{overflow:hidden;color:#555}.widefat th{font-weight:400}.widefat tfoot tr th,.widefat thead tr th{color:#333}.widefat td p{margin:2px 0 .8em}.widefat ol,.widefat p,.widefat ul{color:#333}.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 #bbb;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 none;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 none;height:0;min-height:0}}.js .postbox .hndle{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 #bbb;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox h3,.stuffbox h3{margin-top:1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .postbox h3,.js .widget .widget-top{cursor:move}.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:0;-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 0;margin-left: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:0;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) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;float:left;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}#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}#sidemenu{margin:-30px 315px 0 15px;list-style:none;position:relative;float:left;padding-right:10px;font-size:12px}#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;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;border:1px solid #dfdfdf;border-bottom-color:#f1f1f1;background-color:#f1f1f1;color:#000}.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}#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:0;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) repeat-x bottom right}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) repeat-x top right;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:#0074a2}.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;margin:6px 0 0}#plugin-information{background:#fcfcfc;position:fixed;top:0;left:0;bottom:0;right:0;height:auto;padding:0}#plugin-information-title{padding:0 20px 0 76px;font-size:22px;font-weight:600;line-height:56px;top:0;left:0;right:0;height:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-tabs{padding:0 16px;position:absolute;top:56px;left:0;right:0;height:36px;z-index:1}#plugin-information-tabs a{position:relative;float:right;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;-webkit-transition:none;transition:none}#plugin-information-tabs a.current{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:0;color:#333}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd;position:absolute;top:90px;left:0;bottom:58px;right:0}#section-holder{margin:0;padding:10px 26px;position:absolute;top:0;left:250px;bottom:0;right:0;overflow:auto}#section-holder .updated{margin:16px 0}#plugin-information .fyi{background:#f3f3f3;border-right:1px solid #ddd;color:#666;padding:16px;position:absolute;top:0;left:0;bottom:0;width:217px;overflow:auto}#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-footer{padding:15px 16px;position:absolute;left:0;bottom:0;right:0;height:28px}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-right: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-right:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}.plugin-version-author-uri{font-size:13px}@media screen and (max-width:782px){#plugin-information-content{overflow:auto;bottom:58px}#plugin-information .fyi{border:1px solid #ddd;position:static;width:auto;margin:26px 26px 16px}#section-holder{position:static}#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:#fcfcfc url( ../images/spinner.gif ) no-repeat center}@media print,(-o-min-device-pixel-ratio:5/4),(-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:#fcfcfc url( ../images/spinner-2x.gif ) no-repeat center;-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{line-height:48px;width:48px;height:48px}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{line-height:48px}img{border:0}#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 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:0;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:0;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:#aaa}.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 0}.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{content:'\f142'}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.menu.ui-sortable,.meta-box-sortables.ui-sortable,.widgets-holder-wrap .ui-draggable,.widgets-holder-wrap .ui-sortable{-ms-touch-action:auto;touch-action:auto}.menu.ui-sortable .menu-item-handle,.meta-box-sortables.ui-sortable .hndle{-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:#aaa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title{border-right:0;border-left:0;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:#222;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,(-o-min-device-pixel-ratio:5/4),(-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) repeat-x bottom right;-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: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:rgba(0,0,0,0)!important}#wpwrap{background:#f0f0f0}#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,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{left:-190px}.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,input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #bbb;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-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-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:#888}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#2ea2cc}.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.disabled,input:disabled,textarea.disabled,textarea:disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}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}input.readonly,textarea.readonly{background-color:#ddd}@-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;padding:3px 5px;line-height:15px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],select,textarea{outline:0}.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[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],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:#333;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}select[disabled]{color:#7f7f7f}input[type=checkbox]:focus,input[type=email]: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=url]: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[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}.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:0}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:0;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:0;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{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-plugins input[name="s"],.search-box input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}input[type=text].ui-autocomplete-loading{background:transparent url(../images/loading.gif) no-repeat left center;visibility:visible}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete-input.open{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:1px solid #aaa;background-color:#efefef}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:right}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px;color:#444}.ui-autocomplete li a.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:#222;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}#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:0}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.pressthis{margin:20px 0}.pressthis a,.pressthis a:active,.pressthis a:focus,.pressthis a:hover{display:inline-block;position:relative;cursor:move;color:#333;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 a:active{outline:0}.pressthis a: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 a span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis a span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis a: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)}#local-time,#utc-time{padding-right:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}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=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}.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}}@media only screen and (max-width:768px){.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media screen and (max-width:600px){.color-option{width:49%}}#adminmenu,#adminmenu .wp-submenu,#adminmenuback,#adminmenuwrap{width:160px;background-color:#222}#adminmenuback{position:absolute;top:0;bottom:0;z-index:-1}#adminmenu{clear:right;margin:12px 0 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}#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:#bbb}#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:#2ea2cc}#adminmenu li.menu-top{border:0;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:#333;-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 none;margin-top:0;-webkit-box-shadow:none;box-shadow:none;background-color:#333}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{position:relative;background-color:#111}.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:#0074a2;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:#999;padding:7px 0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu div.wp-menu-image:before{color:#999}#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:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}.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;z-index:9999}.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:solid 8px 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:#333}#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 none}#adminmenu .awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.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,#sidemenu li a 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:#2ea2cc;color:#fff}#adminmenu li span.count-0,#sidemenu li a .count-0{display:none}#collapse-menu{font-size:13px;line-height:34px;margin-top:10px;color:#aaa;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}.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:#aaa;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}li#wp-admin-bar-menu-toggle{display:none}@media only screen and (max-width:900px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-right:56px}.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 none}.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:0;-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:#333}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:0;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:0!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 none;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}h3.dashboard-widget-title,h3.dashboard-widget-title small,h3.dashboard-widget-title span{color:#333}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}#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:0}#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}.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:transparent!important}.welcome-panel .welcome-icon:before{color:#888;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}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}.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:0;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{clear:left;float:left;position:relative;top:-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:#888}#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:0}#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:0}.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}#activity-widget #the-comment-list .alt,#activity-widget #the-comment-list .alternate{background:0 0}#activity-widget #the-comment-list .comment-item{background:#fafafa;padding:12px;position:relative}#activity-widget #the-comment-list img{position:absolute;right:13px;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{margin-left:20px;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:0}#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:#222;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{-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:0}#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}#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;line-height:100%;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:transparent none;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag h3.hndle{border:0;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 none;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 none;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 none;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:0 0;height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;background-position:center -80px;background-repeat:no-repeat;color:#fff}.post-com-count:after{content:"";display:block;width:0;height:0;margin-right:8px;border-top:5px solid #bbb;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:#bbb;color:#fff}.post-com-count:hover{background-position:center -3px}.post-com-count:hover span{background-color:#2ea2cc}.post-com-count:hover:after{border-top:5px solid #2ea2cc}strong .post-com-count{background-position:center -55px}strong .post-com-count span{background-color:#0074a2}strong .post-com-count:after{border-top:5px solid #0074a2}.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 .spinner{padding:2px 0 0;vertical-align:top;float:left}#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-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:0!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 none}#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 .spinner{padding-right:5px}.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:#888;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}th.manage-column a,th.sortable a:active,th.sortable a:focus,th.sortable a:hover{color:#333}th.sortable a:focus{background:#e1e1e1}.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: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-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:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:active,.tablenav .tablenav-pages a.disabled:focus,.tablenav .tablenav-pages a.disabled:hover{color:#aaa;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}.tablenav .delete{margin-left:20px}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}.view-switch{float:left;margin:5px 8px 0 16px}.view-switch img{display:none}.view-switch a{text-decoration:none}.view-switch>a{display:inline-block;width:18px;height:18px}.view-switch>a:before{color:#bbb;content:'\f163';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 a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}.view-switch>a+a:before{margin-right:5px;content:'\f164'}.filter{float:right;margin:-5px 10px 0 0}.filter .subsubsub{margin-right:-10px;margin-top:13px}.screen-per-page{width:4em}#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 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: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}.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:23px}.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}.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}.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 .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:text-bottom}.inline-edit-row fieldset label textarea{width:100%;height:4em}#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-save .spinner{padding:4px 10px 0;vertical-align:top;float:left}.inline-edit-row h4{text-transform:uppercase}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{font-style:italic;line-height:1.8em}.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.1em}.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:solid 1px #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 tr.active+tr.inactive.update td,.plugins tr.active+tr.inactive.update 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}.plugins .active th.check-column{border-right:4px solid #2ea2cc}.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{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-update-tr .update-message:before{color:#d54e21;content:'\f463';display:inline-block;font:400 20px/1 dashicons;speak:none;margin:0 -2px 0 8px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.plugins .plugin-update{padding:0;border: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 .plugin-update .update-message{background-color:#fcf3ef}.plugin-install-php h4{margin:2.5em 0 8px}.wp-list-table .site-deleted{background:#ff8573}.wp-list-table .site-spammed{background:#faafaa}.wp-list-table .site-archived{background:#ffebe8}.wp-list-table .site-mature{background:#fecac2}@media screen and (max-width:782px){.tablenav{height:auto}.tablenav.top{margin:0}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}.tablenav.top .actions,.tablenav.top .displaying-num,.view-switch{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}#bulk-titles div{margin:.8em .3em}#bulk-titles div a{height:22px}.tags .column-posts{width:50px}.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:0}.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)}}#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;margin-bottom:10px}#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;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:0 none;border:0 none;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:transparent none;border:0 none;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:#333}.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 none}#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:solid 1px 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}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:0;background-color:#f7f7f7;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}#post-status-info td{font-size:12px}.autosave-info{padding:2px;text-align:left}#editorcontent #post-status-info{border:0}#content-resize-handle{background:transparent url(../images/resize.gif) no-repeat scroll left bottom;width:12px;cursor:n-resize}.rtl #content-resize-handle{background:transparent url(../images/resize-rtl.gif) no-repeat scroll right bottom}#wp-word-count{display:block;padding:2px 10px}#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:#888}#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%;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}.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;white-space:nowrap;cursor:default}.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}.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0 none;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:#2ea2cc}#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:solid 1px #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,.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}.tagsdiv{margin-top:-8px}#poststuff .taghint{color:#aaa;margin:15px 12px -24px 0}#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}.taghint{color:#aaa;margin:-17px 7px 0 0;visibility:hidden}input.newtag~div.taghint{visibility:visible}input.newtag:focus~div.taghint{visibility:hidden}p.popular-tags{border:0;line-height:2em;max-width:1000px;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{margin-bottom:0;border-bottom-style:solid;border-bottom-width:1px}.comment-ays .alt{background-color:transparent}.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}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-2x.gif) no-repeat scroll left bottom;-webkit-background-size:11px 11px;background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-rtl-2x.gif) no-repeat scroll left bottom}}@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 none;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0}.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-top:6px;padding-bottom:6px;padding-right:6px;padding-left: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}#wp-content-editor-tools{overflow:hidden;padding:20px 0 1px 15px;top:1px}a.wp-switch-editor{font-size:16px;line-height:1em;margin:3px 7px 0 0;padding:12px 15px}#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{border-bottom:0}.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 #aaa;-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:fixed;vertical-align:middle;opacity:0;width:100%;top:50%;margin-right:-90px;-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}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#2ea2cc;border:1px solid #0074a2;-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,(-o-min-device-pixel-ratio:5/4),(-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}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}#media-items .media-item{border-bottom:1px solid #dfdfdf;min-height:36px;position:relative;width:100%}#media-items{width:623px}.media-new-php #media-items{margin:1em 0}#media-items:empty{border:0 none}.media-item .filename{line-height:36px;overflow:hidden}.media-item .pinkynail{float:right;margin:2px 0 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 0 0;width:200px;line-height:2em;padding:0;overflow:hidden;margin-bottom:2px;-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:#0074a2;-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{margin:0;padding:0}.media-item .error-div,.media-upload-form .media-item.error p{line-height:16px;margin:5px 10px;padding:0}.media-item .error-div a.dismiss{display:block;float:left;margin:5px 15px 0 4px}.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:125px;position:absolute;top:18px}#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:#2ea2cc}#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 0}#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 #bbb;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#aaa;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}.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:#fff url(../images/spinner.gif) no-repeat center;-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}.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;padding:0 0 4px;vertical-align:bottom}.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:#333}.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%}@media print,(-o-min-device-pixel-ratio:5/4),(-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}}.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}.theme-navigation .theme-count,.themes-php .wrap .theme-count{color:#fff;-webkit-border-radius:30px;border-radius:30px;background:#777;font-size:14px;padding:4px 10px;font-weight:600;margin-right:5px;margin-left:20px;position:relative;top:-3px}.theme-navigation a{text-decoration:none}.themes-php div.error,.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-transform:translateZ(0);-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:#222;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{outline:1px dotted #222}.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 .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-right:0;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-left:0}.theme-browser .theme .theme-author{background:#222;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:0;-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:after{display:block;content:'';-ms-filter:"alpha(Opacity=100)";opacity:1;background:0 0;background:rgba(0,0,0,0);position:absolute;top:0;right:0;left:0;bottom:0;padding:10% 0 0;text-shadow:none;border:5px dashed #d5d2ca;border:5px dashed rgba(0,0,0,.1);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out;-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:focus .theme-screenshot,.theme-browser .theme.add-new-theme:hover .theme-screenshot{background:0 0}.theme-browser .theme.add-new-theme:focus span:after,.theme-browser .theme.add-new-theme:hover span:after{background:#fff;color:#0074a2}.theme-browser .theme.add-new-theme:focus:after,.theme-browser .theme.add-new-theme:hover:after{border-color:transparent;color:#fff;background:#0074a2;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:-10%;margin-bottom:10%}.theme-browser .theme.add-new-theme:focus .theme-name,.theme-browser .theme.add-new-theme:hover .theme-name{color:#fff;z-index:2}.themes-php .theme-search{position:relative;top:-2px;right:20px;font-size:16px;font-weight:300;line-height:1.5;width:280px}.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}body.theme-overlay-open{overflow:hidden}.theme-overlay .theme-header{position:absolute;top:0;right:0;left:0;height:48px;border-bottom:1px solid #ddd}.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}.theme-overlay .theme-header .close:focus:before,.theme-overlay .theme-header .close:hover:before{color:#fff}.theme-overlay .theme-header .close:before{font:400 30px/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}.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:#0074a2;color:#fff}.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:'\f340'}.theme-overlay .theme-header .right:before{content:'\f344'}.rtl .theme-overlay .theme-header .left:before{content:'\f345'}.rtl .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}.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}.theme-overlay .theme-actions .delete-theme{color:#a00;position:absolute;left:10px;bottom:5px;text-decoration:none;border-color:transparent;-webkit-box-shadow:none;box-shadow:none;background:0 0}.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 #2ea2cc}.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:#333;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:#222;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;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.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:#888;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:#222;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 #2ea2cc;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:0;z-index:500;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 .theme-search{float:none;clear:both;right:0;top:0;left:0;margin:10px 0;width:100%}.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:#0074a2}.theme-browser .theme .theme-installed:before{content:'\f147'}.theme-browser .theme.is-installed .theme-actions .button-primary{display:none!important}.theme-navigation{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);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;display:inline-block;font-size:13px;margin:20px 0 30px;padding:0 20px;position:relative;width:100%}.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-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}body.show-upload-theme .upload-theme{display:block}.upload-theme .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;padding:30px;margin:30px auto;max-width:380px}.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+.theme-navigation,body.show-upload-theme .upload-theme+.theme-navigation+.theme-browser{display:none}.theme-navigation .theme-count{margin-right:0;position:absolute;top:12px}.theme-count+.theme-section{margin-right:60px}.theme-filter,.theme-section{border-bottom:4px solid #fff;color:#666;cursor:pointer;display:inline-block;margin:0 10px;padding:15px 0}.theme-filter.current,.theme-section.current{border-bottom:4px solid #666;color:#222}.theme-top-filters{display:inline-block}.theme-navigation .more-filters{color:#666;cursor:pointer;display:inline-block;margin:0 10px;padding:4px 6px}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{background:#777;-webkit-border-radius:2px;border-radius:2px;border:0;color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background:#2ea2cc}.theme-install-php .theme-search{position:absolute;left:10px;top:9px;font-size:16px;font-weight:300;line-height:1.5;width:280px}.more-filters:before{color:#777;margin:0 0 0 5px;content:"\f111";display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-size:16px;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}.more-filters.current:before{color:#fff}.more-filters-container{display:none;padding:20px;border-top:1px solid #eee;margin:0 -20px;background:#fafafa}body.more-filters-opened .more-filters-container{display:block;overflow:hidden}body.more-filters-opened .theme-section.current{border-bottom:0}body.more-filters-opened .theme-browser,body.more-filters-opened.filters-applied.loading-themes .theme-browser{display:none}body.more-filters-opened.filters-applied .theme-browser{display:block}.more-filters-container .filters-group{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:right;width:19%;background:#fff;margin:0 0 0 1%;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);padding:10px}.more-filters-container .wide-filters-group{width:38%}.more-filters-container .feature-name{margin:0;position:relative}.more-filters-container ol{list-style-type:none;margin:20px 0 0;font-size:12px}.more-filters-container li{display:inline-block;vertical-align:top;list-style-type:none;margin:5px 0;padding-left:25px;width:160px}.theme-navigation .more-filters-container .apply-filters{margin:0 0 20px}.theme-navigation .more-filters-container .clear-filters{display:none;margin:0 10px 20px 0}.more-filters-container .apply-filters span{display:inline-block;font-size:12px;text-indent:10px;opacity:.8}.more-filters-container .filtering-by{display:none;margin:0}.more-filters-container .filtering-by>span{font-weight:600}.more-filters-container .filtering-by .tags{display:inline}.more-filters-container .filtering-by .tag{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);font-size:11px;margin:0 5px;padding:4px 8px}.more-filters-container .filtering-by a{margin-right:10px}body.filters-applied .more-filters-container .filters-group,body.filters-applied .more-filters-container a.button,body.filters-applied .more-filters-container br{display:none!important}body.filters-applied .more-filters-container .filtering-by{display:block}body.filters-applied .more-filters-container{padding:20px}p.no-themes{color:#999;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){.theme-install-php .theme-search{margin:20px 0;position:static;width:100%}.more-filters-container{border-bottom:1px solid #eee}.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}.more-filters-container .filters-group{margin-bottom:0;margin-top:5px;width:100%}.more-filters-container .filters-group li{margin:10px 0}}@media only screen and (max-width:782px){.more-filters-container .filters-group,.more-filters-container .filters-group li{width:100%}}.rating{margin:30px 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:inline;margin-right:10px;line-height:20px;color:#999}.error .theme-browser,.loading-themes .theme-browser{display:none}.loading-themes .spinner{display:block;margin:40px auto 0;float:none}.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;overflow:auto;background:#eee;border-left:0}.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%}.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:0;-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:0;border-top:0;-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}.wp-full-overlay .close-full-overlay{text-decoration: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:#0074a2}.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 .theme-navigation{padding:10px 20px;position:absolute;bottom:10px;text-align:right}.wp-full-overlay .theme-navigation .next-theme{float:left}.wp-full-overlay.no-navigation .theme-navigation{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:#fff url(../images/spinner.gif) no-repeat fixed center center;-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-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{margin-top:9px}.theme-install-overlay .wp-full-overlay-header .theme-install{float:left;line-height:26px}.theme-install-overlay .wp-full-overlay-sidebar{background:#EEE;border-left:1px solid #DDD}.theme-install-overlay .wp-full-overlay-main{background:#fff url(../images/spinner.gif) no-repeat center center;-webkit-background-size:20px 20px;background-size:20px 20px}@media print,(-o-min-device-pixel-ratio:5/4),(-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-loading #customize-container,.theme-install-overlay .wp-full-overlay-main{background-image:url(../images/spinner-2x.gif)}}@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}}.press-this #message{border-right:4px solid #7ad03a;padding:1px 12px;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)}.press-this #side-sortables .category-tabs li{display:inline;line-height:1.35em}body.press-this ul.category-tabs li.tabs a{color:#333}.press-this #content-resize-handle{bottom:2px}body.press-this{color:#333;margin:0;padding:0;min-width:708px;min-height:400px}.press-this #titlediv #title{font-size:1.4em}.press-this #site-heading:before{top:3px;position:relative;display:inline-block;font:400 18px/1 dashicons;speak:none;color:#727272;content:'\f120';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.press-this #wphead{height:32px;margin-right:0;margin-left:0;margin-bottom:5px}.press-this #header-logo{float:right;margin:7px 7px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.press-this #wphead h1{font-weight:400;font-size:16px;line-height:32px;margin:0;float:right}.press-this #wphead h1 a{text-decoration:none}.press-this #wphead h1 a:hover{text-decoration:underline}.press-this #message{margin:10px 0}.press-this .posting{margin-left:250px}.press-this-sidebar{float:left;width:240px;padding-top:10px}.press-this #title{margin-right:0;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.press-this .tagchecklist{margin-top:8px}.press-this #titlediv{margin:0}.press-this #wp-content-wrap #wp-content-editor-tools{padding:0;top:3px;overflow:hidden}.press-this .wp-media-buttons{cursor:default;padding:8px 8px 6px}.press-this #wp-content-wrap #wp-content-media-buttons a{padding:0;line-height:normal;height:auto;font-size:16px}.press-this #wp-content-wrap .mce-toolbar .mce-btn-group .mce-btn{margin:0 1px}.press-this #wp-content-wrap .mce-toolbar .mce-btn button{padding:2px 3px}.press-this #wp-content-wrap .quicktags-toolbar,.press-this #wp-content-wrap div.mce-toolbar-grp{padding-left:3px}.press-this .howto{margin-top:2px;margin-bottom:3px;font-size:12px;font-style:italic;display:block}.press-this #wp-content-editor-container{clear:none}.press-this #poststuff .inside{margin-top:18px}.press-this .category-tabs{margin-bottom:3px}.press-this #poststuff{margin:0 8px;padding:0}.press-this #photo-add-url-div input[type=text]{width:220px}#poststuff #editor-toolbar{height:30px}.posting{margin-left:212px;position:relative}.press-this .inner-sidebar{width:200px}.press-this .inner-sidebar .sleeve{padding-top:5px}.press-this #submitdiv p{margin:0;padding:6px}.press-this #submitdiv #publishing-actions{border-bottom:1px solid #dfdfdf}.press-this #publish{float:left}.press-this #poststuff h2,.press-this #poststuff h3{font-size:14px;line-height:1}.press-this #categorydiv h3,.press-this #tagsdiv-post_tag h3{cursor:pointer}.press-this #submitdiv h3{cursor:default}h3.tb{font-weight:600;font-size:12px;margin-right:5px}.press-this .postbox,.press-this .stuffbox{margin-bottom:10px;min-width:0}.press-this #submitdiv:hover .handlediv{background:0 0}.tbtitle{font-size:1.7em;outline:0;padding:3px 4px;border:1px solid #dfdfdf}.press-this .actions{float:left;margin:-19px 0 0}.press-this #extra-fields .actions{margin:-32px 0 0 -7px}.press-this .actions li{float:right;list-style:none;margin-left:10px}#extra-fields .button{margin-left:5px}#photo_saving{margin:0 8px 8px;vertical-align:middle}#img_container_container{overflow:auto}#extra-fields{margin-top:10px;position:relative}#extra-fields h2{margin:12px}#waiting{margin-top:10px;overflow:hidden}#waiting span{float:left;margin:0 5px 0 0}#waiting .spinner{display:block}#extra-fields .postbox{margin-bottom:5px}#extra-fields .titlewrap{padding:0;overflow:auto;height:120px}#img_container a{float:right;overflow:hidden}#img_container a,#img_container img{width:68px;height:68px}#img_container img{border:0;background-color:#f4f4f4;cursor:pointer}#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block;position:relative}#img_container a:active,#img_container a:hover{border-color:#000;z-index:1000;border-width:1px}#embed-code{width:100%;height:98px}.press-this .categorydiv div.tabs-panel{height:100px}.press-this .tagsdiv .newtag{width:120px}.press-this #content{margin:5px 0;padding:0 5px;border:0 none;height:340px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:19px;background:0 0}.press-this #publishing-actions .spinner{display:inline;vertical-align:middle}@media screen and (max-width:782px){.press-this ul.category-tabs li.tabs{padding:3px 5px 5px}.press-this a.wp-switch-editor{font:13px/19px "Open Sans",sans-serif;margin:5px 5px 0 0;padding:3px 8px 4px}.press-this #wp-content-media-buttons a{padding:0;line-height:normal;height:auto}.press-this #wp-content-editor-tools{padding:0;top:3px}.press-this .category-tabs{margin-top:0}.press-this .tagsdiv .newtag{width:120px;padding:3px 5px;margin-bottom:0}.press-this .tagchecklist{padding:0;margin-bottom:0}.press-this .wp_themeSkin a.mceButton{width:20px;height:20px}.press-this .wp_themeSkin .mceButton .mceIcon{margin:0}.press-this #poststuff h3,.press-this .metabox-holder h3{padding:7px 12px}.press-this input[type=checkbox],.press-this input[type=radio]{height:16px;width:16px}.press-this input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px -4px 0 0}.press-this input[type=radio]:checked:before{font:400 21px/1 dashicons;width:6px;height:6px;margin:4px}.press-this ul.categorychecklist li,.press-this ul.categorychecklist ul{margin-top:0;margin-bottom:0}.press-this div.quicktags-toolbar input{padding:2px 4px}.press-this input,.press-this textarea{font-size:14px}.press-this .tagchecklist span{font-size:13px;line-height:1.8em}}.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%;vertical-align:middle}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 0 0 200px;color:#333;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h4{color:#222}.about-wrap .about-text,.about-wrap li.wp-person a.web,.about-wrap p.about-description{font-weight:400;line-height:1.6em;font-size:19px}.about-description{margin-top:1.4em}.about-text{margin:1em 0 1em 200px;min-height:60px;color:#777;font-size:24px}.about-wrap .changelog h2.about-headline-callout{margin:1.1em 0 .2em;font-size:2.4em;font-weight:300;line-height:1.3;text-align:center}.about-wrap h3{margin:1em 0 .6em;font-size:1.5em;line-height:1.5em}.customize h3{margin-top:1.75em;text-align:center}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1.2em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap code,.about-wrap ol li p{font-size:14px}.about-wrap .button.button-large{padding:8px 20px 10px!important;height:46px!important;font-size:14px;line-height:28px!important}.about-wrap .about-overview-img{margin: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}.wp-badge{background:#0074a2 url(../images/w-logo-white.png?ver=20131202) no-repeat;background:#0074a2,url(../images/wordpress-logo-white.svg?ver=20131110) no-repeat;background-position:center 24px;-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)}.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-overview{margin-top:40px;text-align:center}.about-overview .wp-video{margin:0 auto}.changelog .wp-playlist .wp-playlist-current-item img{height:64px;width:auto;max-width:100%}.about-wrap .feature-section{margin-top:40px;padding-bottom:20px}.about-wrap .feature-section.two-col>div{position:relative;width:47.5%;margin-left:4.999999999%;float:right}.about-wrap .feature-section.three-col>div{position:relative;width:29.95%;margin-left:4.999999999%;float:right}.about-wrap .feature-section.col .last-feature{margin-left:0}.about-wrap .under-the-hood .feature-section{margin-top:0}.about-wrap .changelog .feature-section{overflow:hidden}.about-wrap .feature-section.two-col div p{margin-left:3%}.about-wrap .feature-section div p img{float:left;margin-right:10px;max-width:20%}.about-wrap .changelog li{list-style-type:disc;margin-right:3em}.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 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{float:right;margin-left:10px}.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{height:70px;width:280px;padding-bottom:15px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;text-decoration:none}.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.one-col>div,.about-wrap .feature-section.three-col>div,.about-wrap .feature-section.two-col>div{width:100%;margin:0 0 40px;padding:0 0 40px;float:none;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .feature-section.col>div.last-feature,.about-wrap .under-the-hood .feature-section>div{margin:0;padding:0;border-bottom:0}}@media only screen and (max-width:500px){.about-wrap{margin-left:20px;margin-right:10px}.about-text,.about-wrap h1{margin-left:0}.about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap .feature-section.three-col div{width:100%;float:none}.about-wrap .three-col.about-updates .col-1{padding:0;float:none}.about-wrap .three-col.about-updates .col-2{margin:0 0 20px;width:100%;float:none}}.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:0;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 p{margin:.3em 0 .6em}.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 td.menu-location-menus{padding-bottom:5px}.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:#aaa;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}.postbox .spinner{display:none;vertical-align:middle}.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}.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;margin-bottom: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;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}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:0;-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;height:40px}.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 #0074a2;padding:1px 2px;color:#0074a2;text-decoration:none}.nav-menus-php .submitbox .submitcancel:hover{background:#0074a2;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{width:100%;height:auto}.menu-item-settings input{width:100%}.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{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:0;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:#aaa}.widget.ui-draggable-dragging{min-width:100%}.widget.ui-sortable-helper{opacity:.8}.widget-placeholder{border:1px dashed #bbb;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:0}#widgets-left .widgets-holder-wrap{border:0;-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:0;-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{margin:-5px 5px;float:none}#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:1px solid #444}.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,.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:#2ea2cc}#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:0}.widgets-chooser li.widgets-chooser-selected{background:#2ea2cc;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}@media screen and (max-width:480px){div.widget-liquid-left{width:100%;float:none;border-left:0;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}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-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
index 7ae4d6c638add3c1596a05163e3645bcc66e9dbb..b29af79894b7d47fc38eb0a5cc687eed54668645 100644 (file)
-/*------------------------------------------------------------------------------
-
-
-Hello, this is the main WordPress admin CSS file.
-All the important stuff is in here.
-
-
-TABLE OF CONTENTS:
-------------------
- 1.0 - Text Elements
- 2.0 - Forms
- 3.0 - Actions
- 4.0 - Notifications
- 5.0 - TinyMCE
- 6.0 - Admin Header
-       6.1 - Screen Options Tabs
-       6.2 - Help Menu
- 7.0 - Main Navigation
- 8.0 - Layout Blocks
- 9.0 - Dashboard
-10.0 - List Posts
-       10.1 - Inline Editing
-11.0 - Write/Edit Post Screen
-       11.1 - Custom Fields
-       11.2 - Post Revisions
-       11.3 - Featured Images
-       11.4 - Post Format Selection
-12.0 - Categories
-13.0 - Tags
-14.0 - Media Screen
-       14.1 - Media Library
-       14.2 - Image Editor
-15.0 - Comments Screen
-16.0 - Themes
-       16.1 - Manage Themes
-       16.2 - Install Themes
-       16.3 - Custom Header
-       16.4 - Custom Background
-17.0 - Plugins
-18.0 - Users
-19.0 - Tools
-20.0 - Settings
-21.0 - Admin Footer
-22.0 - About Pages
-23.0 - Full Overlay w/ Sidebar
-24.0 - Customize Loader
-25.0 - Tabbed Admin Screen Interface
-26.0 - Misc
-27.0 - Localization
-
-------------------------------------------------------------------------*/
-
-/* 2 column liquid layout */
-#wpwrap {
-       height: auto;
-       min-height: 100%;
-       width: 100%;
-       position: relative;
-       -webkit-font-smoothing: subpixel-antialiased;
-}
-
-#wpcontent {
-       height: 100%;
-}
-
-#wpcontent,
-#wpfooter {
-       margin-left: 180px;
-}
-
-.folded #wpcontent,
-.folded #wpfooter {
-       margin-left: 56px;
-}
-
-#wpbody-content {
-       padding-bottom: 65px;
-       float: left;
-       width: 100%;
-       overflow: visible !important;
-}
-
-#adminmenuback,
-#adminmenuwrap,
-#adminmenu,
-#adminmenu .wp-submenu {
-       width: 160px;
-}
-
-#adminmenuback {
-       position: absolute;
-       top: 0;
-       bottom: 0;
-       z-index: -1;
-}
-
-#adminmenu {
-       clear: left;
-       margin: 12px 0 0;
-       padding: 0;
-       list-style: none;
-}
-
-.folded #adminmenuback,
-.folded #adminmenuwrap,
-.folded #adminmenu,
-.folded #adminmenu li.menu-top {
-       width: 36px;
-}
-
-/* inner 2 column liquid layout */
-
-.inner-sidebar {
-       float: right;
-       clear: right;
-       display: none;
-       width: 281px;
-       position: relative;
-}
-
-.columns-2 .inner-sidebar {
-       margin-right: auto;
-       width: 286px;
-       display: block;
-}
-
-.inner-sidebar #side-sortables,
-.columns-2 .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;
-}
-
-/* 2 columns main area */
-
-#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;
-}
-
-/* utility classes */
-.alignleft {
-       float: left;
-}
-
-.alignright {
-       float: right;
-}
-
-.textleft {
-       text-align: left;
-}
-
-.textright {
-       text-align: right;
-}
-
-.clear {
-       clear: both;
-}
-
-/* Hide visually but not from screen readers */
-.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: none;
-}
-
-.hidden,
-.js .closed .inside,
-.js .hide-if-js,
-.no-js .hide-if-no-js,
-.js.wp-core-ui .hide-if-js,
-.js .wp-core-ui .hide-if-js,
-.no-js.wp-core-ui .hide-if-no-js,
-.no-js .wp-core-ui .hide-if-no-js {
-       display: none;
-}
-
-/* include margin and padding in the width calculation of input and textarea */
-input,
-input[type="text"],
-input[type="password"],
-input[type="number"],
-input[type="search"],
-input[type="email"],
-input[type="url"],
-textarea {
-       -moz-box-sizing: border-box;
-       -webkit-box-sizing: border-box;
-       -ms-box-sizing: border-box; /* ie8 only */
-       box-sizing: border-box;
-}
-
-input[type="checkbox"],
-input[type="radio"] {
-       border-width: 1px;
-       border-style: solid;
-       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-sizing: border-box;
-       box-sizing: border-box;
-}
-
-td > input[type="checkbox"],
-.wp-admin p input[type=checkbox],
-.wp-admin p input[type=radio] {
-       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] {
-       border-radius: 50%;
-       margin-right: 4px;
-       line-height: 10px;
-}
-
-input[type=checkbox]:disabled,
-input[type=radio]:disabled,
-input[type=checkbox]:disabled:checked:before,
-input[type=radio]:disabled:checked:before {
-       opacity: 0.7;
-}
-
-input[type=checkbox]:checked:before,
-input[type=radio]:checked:before {
-       float: left;
-       display: inline-block;
-       vertical-align: middle;
-       width: 16px;
-       font: normal 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;
-}
-
-input[type=radio]:checked:before {
-       content: '\2022';
-       text-indent: -9999px;
-       border-radius: 50px;
-       font-size: 24px;
-       width: 6px;
-       height: 6px;
-       margin: 4px;
-       line-height: 16px;
-}
-
-@-moz-document url-prefix() {
-       input[type=checkbox],
-       input[type=radio],
-       .form-table input.tog {
-               margin-bottom: -1px;
-       }
-}
-
-/* Search */
-input[type="search"] {
-       -webkit-appearance: textfield;
-}
-
-input[type="search"]::-webkit-search-decoration {
-       display: none;
-}
-
-.ie8 input[type="password"],
-.ie8 .login form .input {
-       font-family: sans-serif;
-}
-
-/* general */
-html,
-body {
-       height: 100%;
-       margin: 0;
-       padding: 0;
-}
-
-body {
-       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.login {
-       background: #fbfbfb;
-       min-width: 0;
-}
-
-iframe,
-img {
-       border: 0;
-}
-
-td,
-textarea,
-input,
-select,
-button {
-       font-family: inherit;
-       font-size: inherit;
-       font-weight: inherit;
-}
-
-td,
-textarea {
-       line-height: inherit;
-}
-
-textarea {
-       overflow: auto;
-}
-
-textarea,
-input,
-select {
-       font-size: 14px;
-       padding: 3px 5px;
-       line-height: 15px;
-       border-radius: 0; /* Reset mobile webkit's default element styling */
-}
-
-textarea {
-       padding: 2px 6px;
-       line-height: 1.4;
-}
-
-a,
-input[type="text"],
-input[type="password"],
-input[type="number"],
-input[type="search"],
-input[type="email"],
-input[type="url"],
-textarea,
-div,
-select {
-       outline: 0;
-}
-
-.wp-admin input[type="file"] {
-       padding: 3px 0;
-}
-
-a:focus,
-a:active {
-       outline: thin dotted;
-}
-
-#adminmenu a:focus,
-#adminmenu a:active,
-.screen-reader-text:focus {
-       outline: none;
-}
-
-blockquote,
-q {
-       quotes: none;
-}
-
-blockquote:before,
-blockquote:after,
-q:before,
-q:after {
-       content: '';
-       content: none;
-}
-
-p,
-.wp_attachment_details label[for="content"] {
-       font-size: 13px;
-       line-height: 1.5;
-       margin: 1em 0;
-}
-
-blockquote {
-       margin: 1em;
-}
-
-label {
-       cursor: pointer;
-}
-
-li,
-dd {
-       margin-bottom: 6px;
-}
-
-input,
-select {
-       margin: 1px;
-       padding: 3px 5px;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-       display: block;
-       font-weight: 600;
-}
-
-h1 {
-       font-size: 2em;
-       margin: .67em 0;
-}
-
-h2 {
-       font-size: 1.5em;
-       margin: .83em 0;
-       font-weight: 400;
-}
-
-h3 {
-       font-size: 1.3em;
-       margin: 1em 0;
-}
-
-h4 {
-       font-size: 1em;
-       margin: 1.33em 0;
-}
-
-h5 {
-       font-size: 0.83em;
-       margin: 1.67em 0;
-}
-
-h6 {
-       font-size: 0.67em;
-       margin: 2.33em 0;
-}
-
-ul,
-ol {
-       padding: 0;
-}
-
-ul {
-       list-style: none;
-}
-
-ol {
-       list-style-type: decimal;
-       margin-left: 2em;
-}
-
-ul.ul-disc {
-       list-style: disc outside;
-}
-
-ul.ul-square {
-       list-style: square outside;
-}
-
-ol.ol-decimal {
-       list-style: decimal outside;
-}
-
-ul.ul-disc,
-ul.ul-square,
-ol.ol-decimal {
-       margin-left: 1.8em;
-}
-
-ul.ul-disc > li,
-ul.ul-square > li,
-ol.ol-decimal > li {
-       margin: 0 0 0.5em;
-}
-
-/* @noflip */
-.code,
-code {
-       font-family: Consolas, Monaco, monospace;
-       direction: ltr;
-}
-
-input.code {
-       padding-top: 6px;
-}
-
-textarea.code {
-       line-height: 1.4;
-       padding: 4px 6px 1px 6px;
-}
-
-kbd,
-code {
-       padding: 3px 5px 2px 5px;
-       margin: 0 1px;
-       font-size: 13px;
-}
-
-.subsubsub {
-       list-style: none;
-       margin: 8px 0 0;
-       padding: 0;
-       font-size: 13px;
-       float: left;
-}
-
-.subsubsub a {
-       line-height: 2;
-       padding: .2em;
-       text-decoration: none;
-}
-
-.subsubsub a .count,
-.subsubsub a.current .count {
-       color: #999;
-       font-weight: normal;
-}
-
-.subsubsub a.current {
-       font-weight: 600;
-       border: none;
-}
-
-.subsubsub li {
-       display: inline-block;
-       margin: 0;
-       padding: 0;
-       white-space: nowrap;
-}
-
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="email"],
-input[type="number"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-select,
-.tablenav-pages span.current,
-#titlediv #title,
-#postcustomstuff table,
-#postcustomstuff input,
-#postcustomstuff textarea,
-.imgedit-menu div,
-.plugin-update-tr .update-message,
-#poststuff .inside .the-tagcloud,
-.nav-menus-php .list-container,
-.menu-item-handle,
-.link-to-original,
-.nav-menus-php .major-publishing-actions .form-invalid,
-#TB_window,
-.tbtitle,
-.highlight {
-       border-width: 1px;
-       border-style: solid;
-}
-
-/* .widefat - main style for tables */
-.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 tfoot th {
-       border-bottom: none;
-}
-
-.widefat .no-items td {
-       border-bottom-width: 0;
-}
-
-.widefat td {
-       vertical-align: top;
-}
-
-.widefat td,
-.widefat td p,
-.widefat td ol,
-.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 tbody th.check-column {
-       padding: 9px 0 22px;
-}
-
-.widefat.media .check-column {
-       padding-top: 8px;
-}
-
-.widefat thead th.check-column,
-.widefat tbody th.check-column,
-.widefat tfoot th.check-column {
-       padding: 11px 0 0 3px;
-}
-
-.widefat thead th.check-column {
-       padding-top: 10px;
-}
-
-.plugins tbody th.check-column,
-.plugins tbody {
-       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 thead th.check-column,
-.plugins tfoot th.check-column,
-.plugins .inactive th.check-column {
-       padding-left: 6px;
-}
-
-.upgrade .plugins td,
-.upgrade .plugins th {
-       -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);
-}
-
-.upgrade .plugins tr:last-of-type td,
-.upgrade .plugins tr:last-of-type th {
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-#update-plugins-table thead th.check-column,
-#update-plugins-table tfoot th.check-column {
-       padding-top: 11px;
-}
-
-.update-php div.updated,
-.update-php div.error {
-       margin-left: 0;
-}
-
-.no-js .widefat thead .check-column input,
-.no-js .widefat tfoot .check-column input {
-       display: none;
-}
-
-.widefat .num,
-.column-comments,
-.column-links,
-.column-posts {
-       text-align: center;
-}
-
-.widefat th#comments {
-       vertical-align: middle;
-}
-
-.wrap {
-       margin: 10px 20px 0 2px;
-}
-
-div.updated,
-div.error {
-       padding: 0 0.6em;
-       margin: 5px 15px 2px;
-}
-
-div.updated p,
-div.error p {
-       margin: 0.5em 0;
-       padding: 2px;
-}
-
-.wrap div.updated,
-.wrap div.error,
-.media-upload-form div.error {
-       margin: 5px 0 15px;
-}
-
-div.updated,
-.login .message,
-.press-this #message {
-       border: none;
-       padding: 1px 12px;
-}
-
-div.error,
-.login #login_error {
-       border: none;
-}
-
-div.error {
-       padding: 1px 12px;
-}
-
-.wrap h2,
-.subtitle {
-       font-weight: normal;
-       margin: 0;
-}
-
-.wrap h2 {
-       font-size: 23px;
-       font-weight: 400;
-       padding: 9px 15px 4px 0;
-       line-height: 29px;
-}
-
-.subtitle {
-       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;
-       border-radius: 2px;
-       text-shadow: none;
-       font-weight: 600;
-       font-size: 13px;
-}
-
-.wrap h2.long-header {
-       padding-right: 0;
-}
-
-html,
-.wp-dialog {
-       background-color: #fff;
-}
-
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="email"],
-input[type="number"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-select {
-       background-color: #fff;
-       color: #333;
-}
-
-select[disabled] {
-       color: #7f7f7f;
-}
-
-select:focus {
-       border-color: #aaa;
-}
-
-textarea:focus,
-input[type="text"]:focus,
-input[type="password"]:focus,
-input[type="email"]:focus,
-input[type="number"]:focus,
-input[type="search"]:focus,
-input[type="tel"]:focus,
-input[type="url"]:focus,
-input[type="checkbox"]:focus,
-input[type="radio"]:focus,
-select:focus,
-.widgets-chooser ul,
-#widgets-left .widget-in-question .widget-top,
-#available-widgets .widget-top:hover,
-div#widgets-right .widget-top:hover {
-       -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1);
-       box-shadow: 0 1px 2px rgba(0,0,0,0.1);
-}
-
-input[readonly] {
-       background-color: #eee;
-}
-
-:-moz-placeholder,
-.wp-core-ui :-moz-placeholder {
-   color: #a9a9a9;
-}
-
-/*------------------------------------------------------------------------------
-  1.0 - Text Styles
-------------------------------------------------------------------------------*/
-
-.widget .widget-top,
-.postbox h3,
-.stuffbox h3,
-.control-section .accordion-section-title,
-h3.dashboard-widget-title,
-h3.dashboard-widget-title span,
-h3.dashboard-widget-title small,
-.sidebar-name,
-#nav-menu-header,
-#nav-menu-footer,
-.menu-item-handle,
-.checkbox,
-.side-info,
-#your-profile #rich_editing,
-.widefat thead th,
-.widefat tfoot th {
-       line-height: 1.4em;
-}
-
-.quicktags,
-.search {
-       font-size: 12px;
-}
-
-.icon32 {
-       display: none;
-}
-
-.icon16 {
-       height: 18px;
-       width: 18px;
-       padding: 6px 6px;
-       margin: -6px 0 0 -8px;
-       float: left;
-}
-
-/* New Menu icons */
-
-.icon16:before {
-       font: normal 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;
-       -moz-transition:    all .1s ease-in-out;
-       transition:         all .1s ease-in-out;
-}
-
-.icon16.icon-dashboard:before,
-#adminmenu .menu-icon-dashboard div.wp-menu-image:before {
-       content: '\f226';
-}
-
-.icon16.icon-post:before,
-#adminmenu .menu-icon-post div.wp-menu-image:before {
-       content: '\f109';
-}
-
-.icon16.icon-media:before,
-#adminmenu .menu-icon-media div.wp-menu-image:before {
-       content: '\f104';
-}
-
-.icon16.icon-links:before,
-#adminmenu .menu-icon-links div.wp-menu-image:before {
-       content: '\f103';
-}
-
-.icon16.icon-page:before,
-#adminmenu .menu-icon-page div.wp-menu-image:before {
-       content: '\f105';
-}
-
-.icon16.icon-comments:before,
-#adminmenu .menu-icon-comments div.wp-menu-image:before {
-       content: '\f101';
-       margin-top: 1px;
-}
-
-.icon16.icon-appearance:before,
-#adminmenu .menu-icon-appearance div.wp-menu-image:before {
-       content: '\f100';
-}
-
-.icon16.icon-plugins:before,
-#adminmenu .menu-icon-plugins div.wp-menu-image:before {
-       content: '\f106';
-}
-
-.icon16.icon-users:before,
-#adminmenu .menu-icon-users div.wp-menu-image:before {
-       content: '\f110';
-}
-
-.icon16.icon-tools:before,
-#adminmenu .menu-icon-tools div.wp-menu-image:before {
-       content: '\f107';
-}
-
-.icon16.icon-settings:before,
-#adminmenu .menu-icon-settings div.wp-menu-image:before {
-       content: '\f108';
-}
-
-.icon16.icon-site:before,
-#adminmenu .menu-icon-site div.wp-menu-image:before {
-       content: '\f112'
-}
-
-.icon16.icon-generic:before,
-#adminmenu .menu-icon-generic div.wp-menu-image:before {
-       content: '\f111';
-}
-
-/* hide background-image for icons above */
-.icon16.icon-dashboard,
-.menu-icon-dashboard div.wp-menu-image,
-.icon16.icon-post,
-.menu-icon-post div.wp-menu-image,
-.icon16.icon-media,
-.menu-icon-media div.wp-menu-image,
-.icon16.icon-links,
-.menu-icon-links div.wp-menu-image,
-.icon16.icon-page,
-.menu-icon-page div.wp-menu-image,
-.icon16.icon-comments,
-.menu-icon-comments div.wp-menu-image,
-.icon16.icon-appearance,
-.menu-icon-appearance div.wp-menu-image,
-.icon16.icon-plugins,
-.menu-icon-plugins div.wp-menu-image,
-.icon16.icon-users,
-.menu-icon-users div.wp-menu-image,
-.icon16.icon-tools,
-.menu-icon-tools div.wp-menu-image,
-.icon16.icon-settings,
-.menu-icon-settings div.wp-menu-image,
-.icon16.icon-site,
-.menu-icon-site div.wp-menu-image,
-.icon16.icon-generic,
-.menu-icon-generic div.wp-menu-image {
-       background-image: none !important;
-}
-
-.key-labels label {
-       line-height: 24px;
-}
-
-strong, b {
-       font-weight: 600;
-}
-
-.pre {
-       /* https://developer.mozilla.org/en-US/docs/CSS/white-space */
-       white-space: pre-wrap; /* css-3 */
-       word-wrap: break-word; /* IE 5.5 - 7 */
-}
-
-.howto {
-       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;
-}
-
-/*------------------------------------------------------------------------------
-  2.0 - Forms
-------------------------------------------------------------------------------*/
-
-
-.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;
-       -webkit-border-bottom-right-radius: 3px;
-       border-bottom-left-radius: 3px;
-       border-bottom-right-radius: 3px;
-}
-
-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 + p.submit,
-table.form-table + input + p.submit,
-table.form-table + input + input + p.submit {
-       border-top: none;
-       padding-top: 0;
-}
-
-table.widefat span.delete a:hover,
-table.widefat span.trash a:hover,
-table.widefat span.spam a:hover,
-#dashboard_recent_comments .delete a:hover,
-#dashboard_recent_comments .trash a:hover,
-#dashboard_recent_comments .spam a:hover,
-.plugins a.delete:hover,
-#all-plugins-table .plugins a.delete:hover,
-#search-plugins-table .plugins a.delete:hover,
-.submitbox .submitdelete:hover,
-#media-items a.delete:hover,
-#media-items a.delete-permanently:hover,
-#nav-menu-footer .menu-delete:hover {
-       text-decoration: none;
-       border: none;
-}
-
-#minor-publishing-actions input,
-#major-publishing-actions input,
-#minor-publishing-actions .preview {
-       text-align: center;
-}
-
-textarea.all-options,
-input.all-options {
-       width: 250px;
-}
-
-input.large-text,
-textarea.large-text {
-       width: 99%;
-}
-
-input.regular-text,
-#adduser .form-field input {
-       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 #delete_all,
-.tablenav #clear-recent-list {
-       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;
-}
-
-label,
-#your-profile label + a {
-       vertical-align: middle;
-}
-
-fieldset label,
-#your-profile label + a {
-       vertical-align: middle;
-}
-
-.options-media-php label[for*="_size_"],
-#misc-publishing-actions label {
-       vertical-align: baseline;
-}
-
-#misc-publishing-actions label[for="post_status"]:before {
-       content: '\f173';
-       display: inline-block;
-       font: normal 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 {
-       border-style: solid;
-       border-width: 1px;
-       float: left;
-       margin: 13px 5px 5px 1px;
-       padding: 3px 5px;
-       text-align: center;
-       width: 200px;
-       display: none;
-}
-.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"],
-#search-plugins input[name="s"],
-.tagsdiv .newtag {
-       float: left;
-       height: 28px;
-       margin: 0 4px 0 0;
-}
-
-input[type="text"].ui-autocomplete-loading {
-       background: transparent url('../images/loading.gif') no-repeat right center;
-       visibility: visible;
-}
-
-ul#add-to-blog-users {
-       margin: 0 0 0 14px;
-}
-
-.ui-autocomplete-input.open {
-       border-bottom-right-radius: 0;
-       border-bottom-left-radius: 0;
-}
-
-.ui-autocomplete {
-       padding: 0;
-       margin: 0;
-       list-style: none;
-       position: absolute;
-       z-index: 10000;
-       border-bottom-right-radius: 3px;
-       border-bottom-left-radius: 3px;
-       border-width: 1px;
-       border-style: solid;
-}
-
-.ui-autocomplete li {
-       margin-bottom: 0;
-       white-space: nowrap;
-       text-align: left;
-}
-
-.ui-autocomplete li a {
-       display: block;
-       height: 100%;
-       padding: 4px 10px;
-}
-
-.ui-autocomplete li a.ui-state-focus {
-       cursor: pointer;
-}
-
-/*------------------------------------------------------------------------------
-  3.0 - Actions
-------------------------------------------------------------------------------*/
-
-#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;
-}
-
-.misc-pub-section:first-child {
-       border-top-width: 0;
-}
-
-.misc-pub-section-last {
-       border-bottom-width: 0;
-}
-
-#minor-publishing-actions {
-       padding: 10px 10px 0 10px;
-       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-width: 1px;
-       border-bottom-style: solid;
-}
-
-.side-info ul {
-       margin: 0;
-       padding-left: 18px;
-       list-style: square;
-}
-
-.approve,
-.unapproved .unapprove {
-       display: none;
-}
-
-.unapproved .approve,
-.spam .approve,
-.trash .approve {
-       display: inline;
-}
-
-td.action-links,
-th.action-links {
-       text-align: right;
-}
-
-
-/*------------------------------------------------------------------------------
-  4.0 - Notifications
-------------------------------------------------------------------------------*/
-
-#update-nag,
-.update-nag {
-       display: inline-block;
-       line-height: 19px;
-       padding: 11px 15px;
-       font-size: 14px;
-       text-align: left;
-       margin: 25px 20px 0 2px;
-}
-
-.plugins .plugin-update {
-       padding: 0;
-}
-
-.plugin-update .update-message {
-       margin: 0 10px 8px 31px;
-       font-weight: 600;
-}
-
-ul#dismissed-updates {
-       display: none;
-}
-
-form.upgrade {
-       margin-top: 8px;
-}
-
-form.upgrade .hint {
-       font-style: italic;
-       font-size: 85%;
-       margin: -0.5em 0 2em 0;
-}
-
-.update-php .spinner {
-       float: none;
-       margin: -4px 0;
-}
-
-#ajax-loading,
-.ajax-loading,
-.ajax-feedback,
-.imgedit-wait-spin,
-.list-ajax-loading { /* deprecated */
-       visibility: hidden;
-}
-
-#ajax-response.alignleft {
-       margin-left: 2em;
-}
-
-/*------------------------------------------------------------------------------
-  5.0 - TinyMCE
-------------------------------------------------------------------------------*/
-
-/* nothing? */
-
-/*------------------------------------------------------------------------------
-  6.0 - Admin Header
-------------------------------------------------------------------------------*/
-#adminmenu a,
-#sidemenu a,
-#taglist a,
-#catlist a {
-       text-decoration: none;
-}
-
-/*------------------------------------------------------------------------------
-  6.1 - Screen Options Tabs
-------------------------------------------------------------------------------*/
-
-#screen-options-wrap,
-#contextual-help-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: none;
-}
-
-/* screen options and help tabs revert */
-#screen-meta {
-       display: none;
-       margin: 0 20px -1px 0px;
-       position: relative;
-}
-
-#screen-options-link-wrap,
-#contextual-help-link-wrap {
-       float: right;
-       height: 28px;
-       margin: 0 0 0 6px;
-}
-
-#screen-meta-links .screen-meta-toggle {
-       position: relative;
-       top: 0;
-}
-
-#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: normal 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;
-}
-
-#screen-meta-links a.screen-meta-active:after {
-       content: '\f142';
-}
-
-#screen-meta-links a.show-settings:hover {
-       text-decoration: none;
-}
-/* end screen options and help tabs */
-
-.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;
-}
-
-#screen-options-wrap h5,
-#contextual-help-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;
-}
-
-/*------------------------------------------------------------------------------
-  6.2 - Help Menu
-------------------------------------------------------------------------------*/
-
-#contextual-help-wrap {
-       padding: 0;
-}
-
-#contextual-help-columns {
-       position: relative;
-}
-
-#contextual-help-back {
-       position: absolute;
-       top: 0;
-       bottom: 0;
-       left: 150px;
-       right: 170px;
-       border-width: 0 1px;
-       border-style: solid;
-}
-
-#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-style: solid;
-       border-width: 1px 0 1px 0;
-       border-color: transparent;
-}
-
-.contextual-help-tabs .active {
-       padding: 0;
-       margin: 0 -1px 0 0;
-       border-width: 0 0 0 2px;
-       border-style: solid;
-}
-
-.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;
-}
-
-
-/*------------------------------------------------------------------------------
-  7.0 - Main Navigation (Left Menu)
-------------------------------------------------------------------------------*/
-
-#adminmenuwrap {
-       position: relative;
-       float: left;
-}
-
-/* side admin menu */
-#adminmenu * {
-       -webkit-user-select: none;
-       -moz-user-select: none;
-       user-select: none;
-}
-
-#adminmenu li {
-       margin: 0;
-       padding: 0;
-       cursor: pointer;
-}
-
-#adminmenu a {
-       display: block;
-       line-height: 18px;
-       padding: 2px 5px;
-}
-
-#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 a.wp-has-current-submenu:focus + .wp-submenu,
-.folded #adminmenu .wp-has-current-submenu .wp-submenu {
-       padding: 7px 0 8px;
-       z-index: 9999;
-}
-
-.js #adminmenu .sub-open,
-.js #adminmenu .opensub .wp-submenu,
-#adminmenu a.menu-top:focus + .wp-submenu,
-.no-js li.wp-has-submenu:hover .wp-submenu {
-       top: -1px;
-}
-
-#adminmenu .wp-has-current-submenu .wp-submenu,
-.no-js li.wp-has-current-submenu:hover .wp-submenu,
-#adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
-#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,
-#adminmenu .wp-has-current-submenu.opensub .wp-submenu {
-       position: relative;
-       z-index: 3;
-       top: auto;
-       left: auto;
-       right: auto;
-       bottom: auto;
-       border: 0 none;
-       margin-top: 0;
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-.folded #adminmenu .wp-submenu.sub-open,
-.folded #adminmenu .opensub .wp-submenu,
-.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,
-.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,
-.folded #adminmenu a.menu-top:focus + .wp-submenu,
-.folded #adminmenu .wp-has-current-submenu a.menu-top:focus + .wp-submenu,
-.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu  {
-       top: 0;
-       left: 36px;
-}
-
-.folded #adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
-.folded #adminmenu .wp-has-current-submenu .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 .wp-not-current-submenu li > a,
-.folded #adminmenu .wp-has-current-submenu li > a {
-       padding-right: 16px;
-       padding-left: 14px;
-       -moz-transition: all .1s ease-in-out;
-       -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 a.menu-top,
-#adminmenu .wp-submenu-head {
-       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 0px;
-       opacity: 0.6;
-       filter: alpha(opacity=60);
-}
-
-#adminmenu div.wp-menu-name {
-       padding: 8px 0;
-}
-
-#adminmenu div.wp-menu-image {
-       float: left;
-       width: 36px;
-       height: 30px;
-       margin: 0;
-       text-align: center;
-}
-
-#adminmenu div.wp-menu-image.svg {
-       background-repeat: no-repeat;
-       background-position: center;
-       background-size: 20px auto;
-}
-
-div.wp-menu-image:before {
-       font: normal 20px/1 'dashicons' !important;
-       speak: none;
-       color: #999;
-       padding: 8px 0;
-       height: 36px;
-       width: 20px;
-       display: inline-block;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-       -moz-transition: all .1s ease-in-out;
-       -webkit-transition: all .1s ease-in-out;
-       transition: all .1s ease-in-out;
-}
-
-.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 support */
-.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;
-}
-/* End no @font-face support */
-
-/* Sticky admin menu */
-.sticky-menu #adminmenuwrap {
-       position: fixed;
-       z-index: 99; /* Match the z-index of .wp-submenu to ensure flyout menus don't appear underneath main column elements */
-}
-
-/* A new arrow */
-
-.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: solid transparent;
-       content: " ";
-       height: 0;
-       width: 0;
-       position: absolute;
-       pointer-events: none;
-       border-width: 8px;
-       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;
-}
-
-/* flyout menu arrow */
-#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;
-}
-
-/* ensure that wp-submenu's box shadow doesn't appear on top of the focused menu item's background. */
-#adminmenu li.menu-top:hover,
-#adminmenu li.opensub > a.menu-top,
-#adminmenu li > a.menu-top:focus {
-       position: relative;
-}
-
-.folded #adminmenu li.menu-top:hover,
-.folded #adminmenu li.opensub > a.menu-top,
-.folded #adminmenu li > a.menu-top:focus {
-       z-index: 10000;
-}
-
-#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: 3px;
-       padding: 0;
-       margin: 0 0 6px 0;
-       border-width: 1px 0;
-       border-style: solid;
-       cursor: inherit;
-}
-
-#adminmenu div.separator {
-       height: 1px;
-       padding: 0;
-       border-width: 1px 0 0 0;
-       border-style: solid;
-}
-
-#adminmenu .wp-submenu .wp-submenu-head {
-       font-weight: 400;
-       font-size: 14px;
-       padding: 8px 4px 8px 11px;
-       margin: -7px 0px 4px;
-}
-
-#adminmenu li.current,
-.folded #adminmenu li.wp-menu-open {
-       border: 0 none;
-}
-
-#adminmenu .awaiting-mod,
-#adminmenu span.update-plugins,
-#sidemenu li a span.update-plugins {
-       display: inline-block;
-       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,
-#sidemenu li a span.update-plugins span {
-       display: block;
-       padding: 0 6px;
-}
-
-#adminmenu li span.count-0,
-#sidemenu li a .count-0 {
-       display: none;
-}
-
-#adminmenu #collapse-menu {
-       font-size: 13px;
-       line-height: 34px;
-       margin-top: 10px;
-}
-
-.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;
-       font: normal 20px/1 'dashicons' !important;
-       speak: none;
-       margin: 0 auto;
-       padding: 0 !important;
-       position: relative;
-       text-align: center;
-       width: 20px;
-       -moz-transition: all .1s ease-in-out;
-       -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 {
-       -ms-transform: rotate(180deg);
-       -webkit-transform: rotate(180deg);
-       transform: rotate(180deg);
-}
-
-.rtl.folded #collapse-button div:after {
-       -ms-transform: none;
-       -webkit-transform: none;
-       transform: none;
-}
-
-/* Auto-folding of the admin menu */
-@media only screen and (max-width: 900px) {
-       .auto-fold #wpcontent,
-       .auto-fold #wpfooter {
-               margin-left: 56px;
-       }
-
-       .auto-fold #adminmenuback,
-       .auto-fold #adminmenuwrap,
-       .auto-fold #adminmenu,
-       .auto-fold #adminmenu li.menu-top {
-               width: 36px;
-       }
-
-       .auto-fold #adminmenu .wp-submenu.sub-open,
-       .auto-fold #adminmenu .opensub .wp-submenu,
-       .auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,
-       .auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,
-       .auto-fold #adminmenu a.menu-top:focus + .wp-submenu,
-       .auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus + .wp-submenu  {
-               top: 0px;
-               left: 36px;
-       }
-
-       .auto-fold #adminmenu a.wp-has-current-submenu:focus + .wp-submenu,
-       .auto-fold #adminmenu .wp-has-current-submenu .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 none;
-       }
-
-       .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: none;
-       }
-
-       .auto-fold #collapse-button div:after {
-               -ms-transform: rotate(180deg);
-               -webkit-transform: rotate(180deg);
-               transform: rotate(180deg);
-       }
-
-       .rtl.auto-fold #collapse-button div:after {
-               -ms-transform: none;
-               -webkit-transform: none;
-               transform: none;
-       }
-
-}
-
-/* List table styles */
-.post-com-count-wrapper {
-       min-width: 22px;
-}
-
-.post-com-count {
-       background: none;
-       height: 1.3em;
-       line-height: 1.1em;
-       display: block;
-       text-decoration: none;
-       padding: 0 0 6px;
-       cursor: pointer;
-       background-position: center -80px;
-       background-repeat: no-repeat;
-}
-
-.post-com-count:after {                /* draw bubble connector using CSS! */
-       content: "";
-       display: block;
-       width: 0;
-       height: 0;
-       margin-left: 8px;
-       border-top: 5px solid #bbbbbb;
-       border-right: 5px solid transparent;
-}
-
-.post-com-count span {
-       font-size: 11px;
-       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;
-}
-
-strong .post-com-count {
-       background-position: center -55px;
-}
-
-.post-com-count:hover {
-       background-position: center -3px;
-}
-
-.column-response .post-com-count {
-       float: left;
-       margin-right: 5px;
-       text-align: center;
-}
-
-.response-links {
-       float: left;
-}
-
-#the-comment-list .attachment-80x60 {
-       padding: 4px 8px;
-}
-
-th .comment-grey-bubble {
-       height: 16px;
-       width: 16px;
-}
-
-th .comment-grey-bubble:before {
-       content: '\f101';
-       font: normal 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;
-}
-
-/*------------------------------------------------------------------------------
-  8.0 - Layout Blocks
-------------------------------------------------------------------------------*/
-
-html.wp-toolbar {
-       padding-top: 32px;
-       -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-       box-sizing: border-box;
-}
-
-.narrow {
-       width: 70%;
-       margin-bottom: 40px;
-}
-
-.narrow p {
-       line-height: 150%;
-}
-
-.widefat th,
-.widefat td {
-       overflow: hidden;
-}
-
-.widefat th {
-       font-weight: normal;
-}
-
-.widefat td p {
-       margin: 2px 0 0.8em;
-}
-
-.widefat .column-comment p {
-       margin: 0.6em 0;
-}
-
-/* Screens with postboxes */
-.postbox-container {
-       float: left;
-}
-
-#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;
-}
-
-#wpbody-content #dashboard-widgets.columns-4 .postbox-container {
-       width: 25%;
-}
-
-.postbox-container .meta-box-sortables {
-       -moz-box-sizing: border-box;
-       -webkit-box-sizing: border-box;
-       -ms-box-sizing: border-box;
-       box-sizing: border-box;
-}
-
-.metabox-holder .postbox-container .empty-container {
-       border: 3px dashed #bbb;
-       height: 250px;
-}
-
-.metabox-holder.columns-1 .postbox-container .empty-container,
-.columns-2 #postbox-container-3 .empty-container,
-.columns-2 #postbox-container-4 .empty-container,
-.columns-3 #postbox-container-4 .empty-container {
-       border: 0 none;
-       height: 0;
-       min-height: 0;
-}
-
-.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 none;
-       height: 0;
-       min-height: 0;
-}
-
-#poststuff {
-       padding-top: 10px;
-       min-width: 763px;
-}
-
-#poststuff #post-body {
-       padding: 0;
-}
-
-#post-body-content {
-       width: 100%;
-       min-width: 463px;
-       float: left;
-}
-
-#poststuff .postbox-container {
-       width: 100%;
-}
-
-#poststuff #post-body.columns-2 {
-       margin-right: 300px;
-}
-
-#post-body.columns-2 #postbox-container-1 {
-       float: right;
-       margin-right: -300px;
-       width: 280px;
-}
-
-#post-body.columns-2 #side-sortables {
-       min-height: 250px;
-}
-
-#dashboard-widgets .postbox-container {
-       width: 25%;
-}
-
-#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container {
-       border: none !important;
-}
-
-#dashboard-widgets-wrap {
-       overflow: hidden;
-}
-
-/* one column on the dash */
-@media only screen and (max-width: 799px) {
-       #wpbody-content #dashboard-widgets .postbox-container {
-               width: 100%;
-       }
-
-       #wpbody-content .metabox-holder .postbox-container .empty-container {
-               border: 0 none;
-               height: 0;
-               min-height: 0;
-       }
-}
-
-/* two columns on the dash, but keep the setting if one is selected */
-@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 none;
-               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 none;
-               height: 0;
-               min-height: 0;
-       }
-
-       /* show the radio buttons for column prefs only for one or two columns */
-       .index-php .screen-layout,
-       .index-php .columns-prefs {
-               display: block;
-       }
-
-       .columns-prefs .columns-prefs-3,
-       .columns-prefs .columns-prefs-4 {
-               display: none;
-       }
-}
-
-/* three columns on the dash */
-@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 none;
-               height: 0;
-               min-height: 0;
-       }
-}
-
-/* one column on the post write/edit screen */
-@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 .empty-container,
-       #poststuff #postbox-container-1 #side-sortables:empty {
-               border: 0 none;
-               height: 0;
-               min-height: 0;
-       }
-
-       #poststuff #post-body.columns-2 #side-sortables {
-               min-height: 0;
-       }
-
-       /* hide the radio buttons for column prefs */
-       .screen-layout,
-       .columns-prefs {
-               display: none;
-       }
-}
-
-.js .postbox .hndle {
-       cursor: move;
-}
-
-.hndle a {
-       font-size: 11px;
-       font-weight: normal;
-}
-
-.postbox .handlediv {
-       float: right;
-       width: 27px;
-       height: 30px;
-}
-
-.js .postbox .handlediv {
-       cursor: pointer;
-}
-
-.sortable-placeholder {
-       border-width: 1px;
-       border-style: dashed;
-       margin-bottom: 20px;
-}
-
-.postbox,
-.stuffbox {
-       margin-bottom: 20px;
-       padding: 0;
-       line-height: 1;
-}
-
-.postbox h3,
-.stuffbox h3 {
-       margin-top: 1px;
-       -webkit-user-select: none;
-       -moz-user-select: none;
-       user-select: none;
-}
-
-.js .widget .widget-top,
-.js .postbox h3 {
-       cursor: move;
-}
-
-.postbox .inside,
-.stuffbox .inside {
-       padding: 0 12px 12px;
-       line-height: 1.4em;
-       font-size: 13px;
-}
-
-.postbox .inside {
-       margin: 11px 0;
-       position: relative;
-}
-
-#dashboard-widgets .postbox .inside {
-       margin-bottom: 0;
-}
-
-.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;
-}
-
-.temp-border {
-       border: 1px dotted #ccc;
-}
-
-.columns-prefs label {
-       padding: 0 5px;
-}
-
-
-/*------------------------------------------------------------------------------
-  9.0 - Dashboard
-------------------------------------------------------------------------------*/
-
-#dashboard-widgets-wrap {
-       margin: 0 -8px;
-}
-
-#wpbody-content .metabox-holder {
-       padding-top: 10px;
-}
-
-#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;
-}
-
-/* Welcome Panel */
-.welcome-panel {
-       position: relative;
-       overflow: auto;
-       margin: 16px 0;
-       padding: 23px 10px 0;
-       font-size: 13px;
-       line-height: 2.1em;
-}
-
-.welcome-panel h3 {
-       margin: 0;
-       font-size: 21px;
-       font-weight: normal;
-       line-height: 1.2;
-}
-
-.welcome-panel h4 {
-       margin: 1.33em 0 0;
-       font-size: 16px;
-}
-
-.welcome-panel li {
-       font-size: 14px;
-}
-
-.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,
-.tagchecklist span a:before,
-#bulk-titles div a:before {
-       content: '\f153';
-       display: block !important;
-       font: normal 16px/1 'dashicons';
-       speak: none;
-       height: 20px;
-       margin: 2px 0;
-       text-align: center;
-       width: 20px;
-       -webkit-font-smoothing: antialiased !important;
-}
-
-#welcome-panel.welcome-panel .welcome-panel-close::before {
-       position: absolute;
-       left: -18px;
-       margin-top: -2px;
-       -webkit-transition: all .1s ease-in-out;
-       -moz-transition:    all .1s ease-in-out;
-       transition:         all .1s ease-in-out;
-}
-
-.wp-core-ui .welcome-panel .button.button-hero {
-       margin: 15px 0 3px;
-}
-
-.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;
-}
-
-.welcome-panel .welcome-icon {
-       display: block;
-       padding: 0 0 8px;
-       background: transparent !important;
-}
-
-.welcome-panel .welcome-icon:before {
-       font: normal 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-write-blog:before,
-.welcome-panel .welcome-edit-page: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: 0.8em 1em 1em 0;
-}
-
-.welcome-panel .welcome-panel-column li {
-       line-height: 16px;
-       list-style-type: none;
-}
-
-/* Dashboard WordPress news */
-
-#dashboard_primary .inside {
-       margin: 0;
-       padding: 0;
-}
-
-#dashboard_primary .widget-loading,
-#dashboard_primary .dashboard-widget-control-form {
-       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: normal;
-}
-
-#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 */
-
-#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 {
-       padding: 0 12px 11px;
-}
-
-#dashboard_right_now .main p {
-       margin: 0;
-}
-
-.mu-storage {
-       overflow: hidden;
-}
-
-#dashboard-widgets h4.mu-storage {
-       margin-bottom: 10px;
-}
-
-/* Dashboard right now - Colors */
-
-#dashboard_right_now li a:before,
-#dashboard_right_now li span:before {
-       color: #888;
-}
-
-#dashboard_right_now .sub {
-       color: #777;
-       background: #f5f5f5;
-       border-top: 1px solid #eee;
-       padding: 10px 12px 6px 12px;
-}
-
-#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 - Icons */
-#dashboard_right_now li a:before,
-#dashboard_right_now li span:before {
-       content: '\f159';
-       font: normal 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 Draft */
-
-#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;
-}
-
-/* Dashboard Quick Draft - Form styling */
-
-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 {
-       box-sizing: border-box;
-       -moz-box-sizing:border-box;
-       -webkit-box-sizing:border-box;
-       margin: 0;
-}
-
-#dashboard_quick_press textarea {
-       resize: vertical;
-}
-
-#dashboard-widgets .postbox form .submit {
-       margin: -39px 0;
-       float: right;
-}
-
-#description-wrap {
-       margin-top: 12px;
-}
-
-#title-wrap #title-prompt-text,
-.textarea-wrap #content-prompt-text {
-       color: #777;
-}
-
-#title-wrap #title-prompt-text {
-       font-size: 1.1em;
-       padding: 7px 8px;
-}
-
-.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 Draft - Drafts list */
-
-.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: normal;
-}
-
-#dashboard_quick_press .drafts .view-all {
-       float: right;
-       margin: 0 12px 0 0;
-}
-
-#dashboard_primary a.rsswidget {
-       font-weight: normal;
-}
-
-#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 activity widget */
-
-#dashboard-widgets #dashboard_activity h4 {
-       margin: 0 0 8px 12px;
-       font-weight: normal;
-}
-
-#dashboard-widgets #dashboard_activity h4.comment-meta {
-       margin: 0;
-}
-
-#dashboard_activity h4.comment-meta {
-       overflow: hidden;
-       text-overflow: ellipsis;
-       white-space: nowrap;
-       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: normal 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 #eeeeee;
-       margin-top: 0;
-       padding: 8px 12px 4px;
-}
-
-#future-posts .show-more,
-#published-posts .show-more {
-       float: right;
-       margin-right: 12px;
-}
-
-#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;
-}
-
-/* Dashboard activity widget - Comments */
-
-#activity-widget #the-comment-list tr.undo,
-#activity-widget #the-comment-list div.undo {
-       background: none;
-       padding: 6px 0;
-}
-
-#activity-widget #the-comment-list .alternate,
-#activity-widget #the-comment-list .alt {
-       background: none;
-}
-
-#activity-widget #the-comment-list .comment {
-       background: #fafafa;
-       padding: 12px;
-       position: relative;
-}
-
-#activity-widget #the-comment-list img {
-       position: absolute;
-       left: 13px;
-       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 0;
-}
-
-#activity-widget #the-comment-list .comment-item:first-child {
-       border-top: 1px solid #eeeeee;
-}
-
-#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 {
-       margin-right: 20px;
-       position: relative;
-       top: 0;
-}
-
-/* Browse happy box */
-
-#dashboard-widgets #dashboard_browser_nag.postbox .inside {
-       margin: 10px;
-}
-
-@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: 0.4em 0 0;
-       }
-
-}
-
-/*------------------------------------------------------------------------------
-  10.0 - List Posts (/Pages/etc)
-------------------------------------------------------------------------------*/
-
-table.fixed {
-       table-layout: fixed;
-}
-
-.fixed .column-rating,
-.fixed .column-visible {
-       width: 8%;
-}
-
-.fixed .column-posts,
-.fixed .column-date,
-.fixed .column-parent,
-.fixed .column-links,
-.fixed .column-author,
-.fixed .column-format {
-       width: 10%;
-}
-
-.fixed .column-comment .comment-author {
-       display: none;
-}
-
-.fixed .column-response,
-.fixed .column-categories,
-.fixed .column-tags,
-.fixed .column-rel,
-.fixed .column-role {
-       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;
-}
-
-#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: 0.6em 0;
-       padding: 0;
-}
-
-#commentsdiv #replyrow td {
-       padding: 0;
-}
-
-#commentsdiv p {
-       padding: 8px 10px;
-       margin: 0;
-}
-
-#commentsdiv .comments-box {
-       border: 0 none;
-}
-
-#commentsdiv .comments-box thead th {
-       background: transparent;
-       padding: 0 7px 4px;
-       font-style: italic;
-}
-
-#commentsdiv .comments-box tr:last-child td {
-       border-bottom: 0 none;
-}
-
-#commentsdiv .spinner {
-       padding-left: 5px;
-}
-
-.sorting-indicator {
-       display: none;
-       width: 10px;
-       height: 4px;
-       margin-top: 8px;
-       margin-left: 7px;
-}
-
-.sorting-indicator:before {
-       background: none;
-       content: '\f142';
-       font: normal 20px/1 'dashicons';
-       speak: none;
-       display: inline-block;
-       padding: 0;
-       top: -4px;
-       left: -8px;
-       color: #444;
-       line-height: 10px;
-       position: relative;
-       vertical-align: top;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-       text-decoration: none !important;
-}
-
-.column-comments .sorting-indicator:before {
-       top: 0;
-       left: -10px;
-}
-
-th.sorted.asc .sorting-indicator:before,
-th.desc:hover span.sorting-indicator:before {
-       content: '\f142';
-}
-
-th.sorted.desc .sorting-indicator:before,
-th.asc:hover span.sorting-indicator:before {
-       content: '\f140';
-}
-
-tr.wp-locked .locked-indicator {
-       background: url('../images/lock.png') no-repeat;
-       margin: -2px 0 0 6px;
-       height: 20px;
-       width: 16px;
-}
-
-tr.wp-locked .check-column label,
-tr.wp-locked .check-column input[type="checkbox"],
-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 500ms;
-       -moz-transition:    height 1s, opacity 500ms;
-       -ms-transition:     height 1s, opacity 500ms;
-       -o-transition:      height 1s, opacity 500ms;
-       transition:         height 1s, opacity 500ms;
-}
-
-.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.sorted.asc .sorting-indicator,
-th.desc:hover 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 {
-       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;
-       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;
-       font-size: 16px;
-       font-weight: normal;
-}
-
-.tablenav .tablenav-pages a.disabled:hover ,
-.tablenav .tablenav-pages a.disabled:active {
-       cursor: default;
-}
-
-.tablenav .displaying-num {
-       margin-right: 2px;
-       font-size: 12px;
-       font-style: italic;
-}
-
-.tablenav .actions {
-       overflow: hidden;
-       padding: 2px 8px 0 0;
-}
-
-.tablenav .delete {
-       margin-right: 20px;
-}
-
-.view-switch {
-       float: right;
-       margin: 5px 16px 0 8px;
-}
-
-.view-switch img {
-       display: none;
-}
-
-.view-switch a {
-       text-decoration: none;
-}
-
-.view-switch > a {
-       display: inline-block;
-       width: 18px;
-       height: 18px;
-}
-
-.view-switch > a:before {
-       content: '\f163';
-       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 > a + a:before {
-       margin-left: 5px;
-       content: '\f164';
-}
-
-.filter {
-       float: left;
-       margin: -5px 0 0 10px;
-}
-
-.filter .subsubsub {
-       margin-left: -10px;
-       margin-top: 13px;
-}
-.screen-per-page {
-       width: 4em;
-}
-
-#posts-filter fieldset {
-       float: left;
-       margin: 0 1.5ex 1em 0;
-       padding: 0;
-}
-
-#posts-filter fieldset legend {
-       padding: 0 0 .2em 1px;
-}
-
-
-/*------------------------------------------------------------------------------
-  10.1 - Inline Editing
-------------------------------------------------------------------------------*/
-
-/*
-.quick-edit* is for Quick Edit
-.bulk-edit* is for Bulk Edit
-.inline-edit* is for everything
-*/
-
-/*     Layout */
-
-#wpbody-content .inline-edit-row fieldset {
-       font-size: 12px;
-       float: left;
-       margin: 0;
-       padding: 0;
-       width: 100%;
-}
-
-tr.inline-edit-row td,
-#wpbody-content .inline-edit-row fieldset .inline-edit-col {
-       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%;
-}
-
-#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 .quick-edit-row-page .inline-edit-col-right,
-#wpbody-content .bulk-edit-row-post .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;
-}
-
-.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: 0.5em;
-       margin: 0.5em 0 0;
-}
-
-.inline-edit-row span.error {
-       line-height: 22px;
-       margin: 0 15px;
-       padding: 3px 5px;
-}
-
-/*     Positioning */
-.inline-edit-row h4 {
-       margin: .2em 0;
-       padding: 0;
-       line-height: 23px;
-}
-.inline-edit-row fieldset span.title,
-.inline-edit-row fieldset span.checkbox-title {
-       margin: 0;
-       padding: 0;
-       line-height: 27px;
-}
-
-.inline-edit-row fieldset label,
-.inline-edit-row fieldset span.inline-edit-categories-label {
-       display: block;
-       margin: .2em 0;
-}
-
-.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;
-}
-
-.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: 0.5em;
-}
-
-.inline-edit-row .input-text-wrap input[type=text] {
-       width: 100%;
-}
-
-.inline-edit-row fieldset label input[type=checkbox] {
-       vertical-align: text-bottom;
-}
-
-.inline-edit-row fieldset label textarea {
-       width: 100%;
-       height: 4em;
-}
-
-#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: 0.5em
-}
-
-.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input {
-       width: 6em;
-}
-
-.inline-edit-save .spinner {
-       padding: 4px 10px 0;
-       vertical-align: top;
-       float: right;
-}
-
-/*     Styling */
-.inline-edit-row h4 {
-       text-transform: uppercase;
-}
-
-.inline-edit-row fieldset span.title,
-.inline-edit-row fieldset span.checkbox-title {
-       font-style: italic;
-       line-height: 1.8em;
-}
-
-/*     Specific Elements */
-.inline-edit-row fieldset input[type="text"],
-.inline-edit-row fieldset textarea {
-       border-style: solid;
-       border-width: 1px;
-}
-
-.inline-edit-row fieldset .inline-edit-date {
-       float: left;
-}
-
-.inline-edit-row fieldset input[name=jj],
-.inline-edit-row fieldset input[name=hh],
-.inline-edit-row fieldset input[name=mn] {
-       font-size: 12px;
-       width: 2.1em;
-}
-
-.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-style: solid;
-       border-width: 1px;
-       overflow-y: scroll;
-       padding: 0 5px;
-       margin: 0;
-}
-
-#bulk-titles {
-       display: block;
-       height: 12em;
-       border-style: solid;
-       border-width: 1px;
-       overflow-y: scroll;
-       padding: 0 5px;
-       margin: 0 0 5px;
-}
-
-.inline-edit-row fieldset ul.cat-checklist li,
-.inline-edit-row fieldset ul.cat-checklist input {
-       margin: 0;
-}
-
-.inline-edit-row fieldset ul.cat-checklist label,
-.inline-edit-row #bulk-titles div {
-       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%;
-}
-
-.quick-edit-row-post fieldset label.inline-edit-status {
-       float: left;
-}
-
-#bulk-titles {
-       line-height: 140%;
-}
-#bulk-titles div {
-       margin: 0.2em 0.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;
-}
-
-
-/*------------------------------------------------------------------------------
-  11.0 - Write/Edit Post Screen
-------------------------------------------------------------------------------*/
-
-#show-comments {
-       overflow: hidden;
-}
-
-#save-action .spinner,
-#show-comments a,
-#show-comments .spinner {
-       float: left;
-}
-
-#lost-connection-notice .spinner {
-       display: block;
-       float: left;
-       margin: 0 5px 0 0;
-}
-
-#titlediv {
-       position: relative;
-       margin-bottom: 10px;
-}
-
-#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: none;
-       margin: 0;
-}
-
-#titlediv #title-prompt-text,
-#wp-fullscreen-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;
-}
-
-#wp-fullscreen-title-prompt-text {
-       padding: 11px;
-}
-
-#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 none;
-       padding: 0;
-       font-size: 11px;
-       margin-top: -1px;
-}
-
-#edit-slug-box {
-       line-height: 24px;
-       min-height: 25px; /* Yes, line-height + 1 */
-       margin-top: 5px;
-       padding: 0 10px;
-}
-
-#edit-slug-box .cancel {
-       margin-right: 10px;
-       font-size: 11px;
-}
-
-#editable-post-name-full {
-       display: none;
-}
-
-#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;
-}
-
-.submitbox .submitdelete {
-       text-decoration: none;
-       padding: 1px 2px;
-}
-
-.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 Screen */
-#post-body #normal-sortables {
-       min-height: 50px;
-}
-
-.postbox {
-       position: relative;
-       min-width: 255px;
-}
-
-#trackback_url {
-       width: 99%;
-}
-
-#normal-sortables .postbox .submit {
-       background: transparent none;
-       border: 0 none;
-       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;
-}
-
-.press-this #side-sortables .category-tabs li,
-ul.category-tabs li,
-#side-sortables .add-menu-item-tabs li,
-.wp-tab-bar li {
-       display: inline;
-       line-height: 1.35em;
-}
-
-.no-js .category-tabs li.hide-if-no-js {
-       display: none;
-}
-
-.category-tabs a,
-#side-sortables .add-menu-item-tabs a,
-.wp-tab-bar a {
-       text-decoration: none;
-}
-
-.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 input,
-#side-sortables .submitbox .submit .preview,
-#side-sortables .submitbox .submit a.preview:hover {
-       border: 0 none;
-}
-
-#side-sortables .inside-submitbox .insidebox,
-.stuffbox .insidebox {
-       margin: 11px 0;
-}
-
-ul.category-tabs,
-ul.add-menu-item-tabs,
-ul.wp-tab-bar {
-       margin-top: 12px;
-}
-
-ul.category-tabs li {
-       border-style: solid;
-       border-width: 1px;
-       position: relative;
-}
-
-ul.add-menu-item-tabs li.tabs,
-.wp-tab-active {
-       border-style: solid solid none;
-       border-width: 1px 1px 0;
-}
-
-ul.add-menu-item-tabs li.tabs {
-       padding-bottom: 3px;
-       position: relative;
-}
-
-#post-body .add-menu-item-tabs li.tabs {
-       border-style: solid none solid solid;
-       border-width: 1px 0 1px 1px;
-       margin-right: -1px;
-}
-
-ul.category-tabs li,
-ul.add-menu-item-tabs li,
-ul.wp-tab-bar li {
-       padding: 3px 5px 5px;
-}
-
-#postimagediv .inside img {
-       max-width: 100%;
-       height: auto;
-}
-
-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 {
-       display: none;
-}
-
-.commentlist .avatar {
-       vertical-align: text-top;
-}
-
-#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%;
-}
-
-#post-status-info td {
-       font-size: 12px;
-}
-
-.autosave-info {
-       padding: 2px 15px;
-       text-align: right;
-}
-
-#editorcontent #post-status-info {
-       border: none;
-}
-
-#content-resize-handle,
-#post-body .wp_themeSkin .mceStatusbar a.mceResize {
-       background: transparent url('../images/resize.gif') no-repeat scroll right bottom;
-       width: 12px;
-       height: 12px;
-       cursor: se-resize;
-}
-
-.rtl #content-resize-handle,
-.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize {
-       background: transparent url('../images/resize-rtl.gif') no-repeat scroll right bottom;
-}
-
-#post-body .wp_themeSkin .mceStatusbar a.mceResize {
-       bottom: 3px;
-       position: absolute;
-       right: 3px;
-}
-
-#post-body .postarea .wp_themeSkin .mceStatusbar a.mceResize {
-       bottom: -20px;
-}
-
-#content-resize-handle {
-       position: absolute;
-       right: 3px;
-       bottom: -20px;
-}
-
-.press-this #content-resize-handle {
-       bottom: 2px;
-}
-
-.tmce-active #content-resize-handle {
-       display: none;
-}
-
-#wp-word-count {
-       display: block;
-       padding: 2px 10px;
-}
-
-#timestampdiv select {
-       height: 21px;
-       line-height: 14px;
-       padding: 0;
-       vertical-align: top;
-       font-size: 12px;
-}
-
-#aa, #jj, #hh, #mn {
-       padding: 1px;
-       font-size: 12px;
-}
-
-#jj, #hh, #mn {
-       width: 2em;
-}
-
-#aa {
-       width: 3.4em;
-}
-
-.curtime #timestamp {
-       padding: 2px 0 1px 0;
-       display: inline !important;
-       height: auto !important;
-}
-
-#post-body #visibility:before,
-.curtime #timestamp:before,
-#post-body .misc-pub-revisions:before {
-       font: normal 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%;
-       left: 50%;
-       width: 450px;
-       margin-left: -225px;
-       background: #fff;
-       line-height: 1.5;
-       z-index: 1000005;
-}
-
-.notification-dialog-background {
-       position: fixed;
-       top: 0;
-       left: 0;
-       right: 0;
-       bottom: 0;
-       background: #000;
-       opacity: 0.5;
-       filter: alpha(opacity=50);
-       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.saving .locked-saving,
-#post-lock-dialog.saved .locked-saved {
-       display: inline;
-}
-
-/*------------------------------------------------------------------------------
-  11.1 - Custom Fields
-------------------------------------------------------------------------------*/
-
-#postcustomstuff thead th {
-       padding: 5px 8px 8px;
-}
-
-#postcustom #postcustomstuff .submit {
-       border: 0 none;
-       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-width: 1px;
-       border-style: solid;
-       border-spacing: 0;
-}
-
-#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 th.left,
-#postcustomstuff td.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;
-}
-
-/*------------------------------------------------------------------------------
-  11.2 - Post Revisions
-------------------------------------------------------------------------------*/
-.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;
-}
-
-.revisions-tickmarks {
-       position: relative;
-       margin: 0 auto;
-       height: 0.7em;
-       top: 7px;
-       max-width: 70%;
-       -moz-box-sizing: border-box;
-       -webkit-box-sizing: border-box;
-       box-sizing: border-box;
-}
-
-.revisions-tickmarks > div {
-       position: absolute;
-       height: 100%;
-       border-style: solid;
-       border-width: 0 1px 0 0;
-       -moz-box-sizing: border-box;
-       -webkit-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: fixed;
-       vertical-align: middle;
-       opacity: 0;
-       width: 100%;
-       top: 50%;
-       margin-left: -90px;
-       -webkit-transition: opacity 0.5s;
-       -moz-transition:    opacity 0.5s;
-       -ms-transition:     opacity 0.5s;
-       -o-transition:      opacity 0.5s;
-       transition:         opacity 0.5s;
-       filter: alpha(opacity=0); /* ie8 and earlier */
-}
-
-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); /* ie8 and earlier */
-}
-
-.revisions .diff {
-       -webkit-transition: opacity 0.5s;
-       -moz-transition:    opacity 0.5s;
-       -ms-transition:     opacity 0.5s;
-       -o-transition:      opacity 0.5s;
-       transition:         opacity 0.5s;
-}
-
-.revisions.loading .diff {
-       opacity: 0.5;
-       filter: alpha(opacity=50); /* ie8 and earlier */
-}
-
-.revisions.diff-error .diff {
-       visibility: hidden;
-}
-
-.revisions-meta {
-       margin-top: 20px;
-}
-
-.revision-toggle-compare-mode {
-       position: absolute;
-       top: 0;
-       right: 0;
-}
-
-.comparing-two-revisions .revisions-previous,
-.comparing-two-revisions .revisions-next,
-.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: bold;
-}
-
-.comparing-two-revisions .diff-meta-to strong {
-       display: block;
-}
-
-.revisions.pinned .revisions-buttons {
-       padding: 0 11px;
-}
-
-.revisions-previous,
-.revisions-next {
-       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;
-}
-
-.revisions-diff h3:first-child {
-       margin-top: 0;
-}
-
-/* Revision meta box */
-.post-revisions li img,
-#revisions-meta-restored img {
-       vertical-align: middle;
-}
-
-table.diff tbody tr td:nth-child(2) {
-       width: 4%;
-}
-
-table.diff {
-       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;
-}
-
-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 del,
-table.diff .diff-addedline ins {
-       text-decoration: none;
-}
-
-.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 .avatar,
-.revisions-controls .author-card .author-info {
-       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;
-       display: none;
-       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);
-       -moz-transform:    rotate(45deg);
-       -ms-transform:     rotate(45deg);
-       -o-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-width: 1px;
-       border-style: solid;
-}
-
-
-
-
-.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;
-}
-
-.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);
-       -moz-transform: rotate(45deg);
-       -ms-transform: rotate(45deg);
-       -o-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;
-}
-
- /* jQuery UI Slider */
-.wp-slider.ui-slider {
-       position: relative;
-       border-width: 1px;
-       border-style: solid;
-       text-align: left;
-       cursor: pointer;
-}
-
-.wp-slider .ui-slider-handle {
-       border-radius: 50%;
-       height: 18px;
-       margin-top: -3px;
-       outline: none;
-       position: absolute;
-       width: 18px;
-       z-index: 2;
-}
-
-.wp-slider .ui-slider-handle:before {
-       background: none;
-       position: absolute;
-       top: 0;
-       left: 0;
-       content: "\f229";
-       font: normal 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';
-}
-
-.wp-slider .ui-slider-handle.to-handle:before {
-       content: '\f141';
-}
-
-.rtl .wp-slider .ui-slider-handle.from-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;
-}
-
-
-/*------------------------------------------------------------------------------
-  11.3 - Featured Images
-------------------------------------------------------------------------------*/
-
-#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;
-}
-
-/*------------------------------------------------------------------------------
-  11.4 - Post formats
-------------------------------------------------------------------------------*/
-
-.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: normal 20px/1 'dashicons' !important;
-       speak: none;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-}
-
-#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: 0px;
-       padding: 2px 0 2px 0px;
-}
-
-.post-format-icon:before {
-       position: relative;
-       display: inline-block;
-       margin-right: 7px;
-       font: normal 20px/1 'dashicons';
-       speak: none;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-}
-
-.post-state-format.post-format-standard:before,
-.post-format-icon.post-format-standard:before,
-a.post-state-format.format-standard:before {
-       content: '\f109';
-}
-
-.post-state-format.post-format-image:before,
-.post-format-icon.post-format-image:before,
-a.post-state-format.format-image:before {
-       content: '\f128';
-}
-
-.post-state-format.post-format-gallery:before,
-.post-format-icon.post-format-gallery:before,
-a.post-state-format.format-gallery:before {
-       content: '\f161';
-}
-
-.post-state-format.post-format-audio:before,
-.post-format-icon.post-format-audio:before,
-a.post-state-format.format-audio:before {
-       content: '\f127';
-}
-
-.post-state-format.post-format-video:before,
-.post-format-icon.post-format-video:before,
-a.post-state-format.format-video:before {
-       content: '\f126';
-}
-
-.post-state-format.post-format-chat:before,
-.post-format-icon.post-format-chat:before,
-a.post-state-format.format-chat:before {
-       content: '\f125';
-}
-
-.post-state-format.post-format-status:before,
-.post-format-icon.post-format-status:before,
-a.post-state-format.format-status:before {
-       content: '\f130';
-}
-
-.post-state-format.post-format-aside:before,
-.post-format-icon.post-format-aside:before,
-a.post-state-format.format-aside:before {
-       content: '\f123';
-}
-
-.post-state-format.post-format-quote:before,
-.post-format-icon.post-format-quote:before,
-a.post-state-format.format-quote:before {
-       content: '\f122';
-}
-
-.post-state-format.post-format-link:before,
-.post-format-icon.post-format-link:before,
-a.post-state-format.format-link:before {
-       content: '\f103';
-}
-
-/*------------------------------------------------------------------------------
-  12.0 - Categories
-------------------------------------------------------------------------------*/
-
-.category-adder {
-       margin-left: 120px;
-       padding: 4px 0;
-}
-
-.category-adder h4 {
-       margin: 0 0 8px;
-}
-
-#side-sortables .category-adder {
-       margin: 0;
-}
-
-#post-body ul.add-menu-item-tabs {
-       float: left;
-       width: 120px;
-       text-align: right;
-       /* Negative margin for the sake of those without JS: all tabs display */
-       margin: 0 -120px 0 5px;
-       padding: 0;
-}
-
-ul.add-menu-item-tabs li {
-       padding: 3px 5px 3px 8px;
-}
-
-#post-body ul.add-menu-item-tabs li.tabs {
-       -webkit-border-top-left-radius: 3px;
-       -webkit-border-bottom-left-radius: 3px;
-       border-top-left-radius: 3px;
-       border-bottom-left-radius: 3px;
-}
-
-.wp-tab-panel,
-.categorydiv div.tabs-panel,
-.customlinkdiv div.tabs-panel,
-.posttypediv div.tabs-panel,
-.taxonomydiv div.tabs-panel {
-       min-height: 42px;
-       max-height: 200px;
-       overflow: auto;
-       padding: 0 0.9em;
-       border-style: solid;
-       border-width: 1px;
-}
-
-div.tabs-panel-active {
-       display:block;
-}
-
-div.tabs-panel-inactive {
-       display:none;
-}
-
-#front-page-warning,
-#front-static-pages ul,
-ul.export-filters,
-.inline-editor ul.cat-checklist ul,
-.categorydiv ul.categorychecklist ul,
-.customlinkdiv ul.categorychecklist ul,
-.posttypediv ul.categorychecklist ul,
-.taxonomydiv ul.categorychecklist ul {
-       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 p,
-.form-wrap label {
-       font-size: 11px;
-}
-
-.form-wrap label {
-       display: block;
-       padding: 2px;
-       font-size: 12px;
-}
-
-.form-field input,
-.form-field textarea {
-       border-style: solid;
-       border-width: 1px;
-       width: 95%;
-}
-
-p.description,
-.form-wrap p {
-       margin: 2px 0 5px;
-}
-
-p.help,
-p.description,
-span.description,
-.form-wrap p {
-       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;
-}
-
-
-/*------------------------------------------------------------------------------
-  13.0 - Tags
-------------------------------------------------------------------------------*/
-
-.tagsdiv {
-       margin-top: -8px;
-}
-
-#poststuff .taghint {
-       color: #aaa;
-       margin: 15px 0 -24px 12px;
-}
-
-#poststuff .tagsdiv .howto {
-       margin: 0 0 6px 0;
-}
-
-.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;
-       max-width: 1000px;
-       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-width: 1px;
-       border-style: solid;
-}
-
-.wp-customizer .ac_results {
-       z-index: 500000;
-}
-
-.ac_results li {
-       padding: 2px 5px;
-       white-space: nowrap;
-       text-align: left;
-}
-
-.ac_over {
-       cursor: pointer;
-}
-
-.ac_match {
-       text-decoration: underline;
-}
-
-/* links tables */
-table.links-table {
-       width: 100%;
-}
-
-.links-table th {
-       font-weight: normal;
-       text-align: left;
-       vertical-align: top;
-       min-width: 80px;
-       width: 20%;
-       word-wrap: break-word;
-}
-
-.links-table th,
-.links-table td {
-       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;
-}
-
-/*------------------------------------------------------------------------------
-  14.0 - Media Screen
-------------------------------------------------------------------------------*/
-
-.media-item .describe {
-       border-collapse: collapse;
-       width: 100%;
-       border-top-style: solid;
-       border-top-width: 1px;
-       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: 0.5em;
-       font-size: 13px;
-}
-
-.media-upload-form th.label label span {
-       padding: 0 5px;
-}
-
-abbr.required {
-       border: medium none;
-       text-decoration: none;
-}
-
-.media-item .describe input[type="text"],
-.media-item .describe textarea {
-       width: 460px;
-}
-
-.media-item .describe p.help {
-       margin: 0;
-       padding: 0 0 0 5px;
-}
-
-.media-item .edit-attachment,
-.describe-toggle-on,
-.describe-toggle-off {
-       display: block;
-       line-height: 36px;
-       float: right;
-}
-
-.media-item .describe-toggle-off,
-.media-item.open .describe-toggle-on {
-       display: none;
-}
-
-.media-item.open .describe-toggle-off {
-       display: block;
-}
-
-#media-items .media-item {
-       border-bottom-style: solid;
-       border-bottom-width: 1px;
-       min-height: 36px;
-       position: relative;
-       width: 100%;
-}
-
-#media-items {
-       width: 623px;
-}
-
-.media-new-php #media-items {
-       margin: 1em 0;
-}
-
-#media-items:empty {
-       border: 0 none;
-}
-
-.media-item .filename {
-       line-height: 36px;
-       overflow: hidden;
-}
-
-.media-item .error-div {
-       padding-left: 10px;
-}
-
-.media-item .pinkynail {
-       float: left;
-       margin: 2px 10px 0 0;
-       max-width: 40px;
-       max-height: 32px;
-}
-
-.media-item .startopen,
-.media-item .startclosed {
-       display: none;
-}
-
-.media-item .original {
-       position: relative;
-       height: 34px;
-}
-
-.media-item .progress {
-       float: right;
-       height: 22px;
-       margin: 7px 0 0;
-       width: 200px;
-       line-height: 2em;
-       padding: 0;
-       overflow: hidden;
-       margin-bottom: 2px;
-       border-radius: 22px;
-       background: #ddd;
-       -webkit-box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
-       box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1);
-}
-
-.media-item .bar {
-       z-index: 9;
-       width: 0;
-       height: 100%;
-       margin-top: -22px;
-       border-radius: 22px;
-       background-color: #0074a2;
-       -webkit-box-shadow: inset 0 0 2px rgba(0,0,0,0.3);
-       box-shadow: inset 0 0 2px rgba(0,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: 0px 1px 2px rgba(0,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 {
-       margin: 0;
-       padding: 0;
-}
-
-.media-upload-form .media-item.error p,
-.media-item .error-div {
-       line-height: 16px;
-       margin: 5px 10px;
-       padding: 0;
-}
-
-.media-item .error-div a.dismiss {
-       display: block;
-       float: right;
-       margin: 5px 4px 0 15px;
-}
-
-/*------------------------------------------------------------------------------
-  14.1 - Media Library
-------------------------------------------------------------------------------*/
-
-.find-box {
-       width: 600px;
-       height: 300px;
-       overflow: hidden;
-       padding: 33px 0 51px;
-       position: absolute;
-       z-index: 1000;
-}
-
-.find-box-head {
-       cursor: move;
-       font-weight: 600;
-       height: 2em;
-       line-height: 2em;
-       padding: 1px 12px;
-       position: absolute;
-       top: 5px;
-       width: 100%;
-}
-
-.find-box-inside {
-       overflow: auto;
-       padding: 6px;
-       height: 100%;
-}
-
-.find-box-search {
-       overflow: hidden;
-       padding: 9px;
-       position: relative;
-}
-
-.find-box-search .spinner {
-       float: none;
-       left: 125px;
-       position: absolute;
-       top: 9px;
-}
-
-#find-posts-input {
-       float: left;
-       width: 140px;
-       height: 24px;
-}
-
-#find-posts-search {
-       float: left;
-       margin: 1px 4px 0 3px;
-}
-
-#find-posts-response {
-       margin: 8px 0;
-       padding: 0 1px 6px;
-}
-
-#find-posts-response table {
-       width: 100%;
-}
-
-#find-posts-response .found-radio {
-       padding: 3px 0 0 8px;
-       width: 15px;
-}
-
-.find-box-buttons {
-       padding: 8px;
-       overflow: hidden;
-}
-
-.find-box #resize-se {
-       position: absolute;
-       right: 1px;
-       bottom: 1px;
-}
-
-.ui-find-overlay {
-       position: absolute;
-       top: 0;
-       left: 0;
-       background-color: #000;
-       opacity: 0.6;
-       filter: alpha(opacity=60);
-}
-
-ul#dismissed-updates {
-       display: none;
-}
-
-form.upgrade {
-       margin-top: 8px;
-}
-
-form.upgrade .hint {
-       font-style: italic;
-       font-size: 85%;
-       margin: -0.5em 0 2em 0;
-}
-
-#poststuff .inside .the-tagcloud {
-       margin: 5px 0 10px;
-       padding: 8px;
-       border-width: 1px;
-       border-style: solid;
-       line-height: 1.8em;
-       word-spacing: 3px;
-       -webkit-border-radius: 6px;
-       border-radius: 6px;
-}
-
-.drag-drop #drag-drop-area {
-       border: 4px dashed #bbb;
-       height: 200px;
-}
-
-.drag-drop .drag-drop-inside {
-       margin: 70px auto 0;
-       width: 250px;
-}
-
-.drag-drop-inside p {
-       color: #aaa;
-       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-area:-moz-drag-over {
-       border-color: #83b4d8;
-}
-borger color while dragging a file over the uploader drop area */
-.drag-drop.drag-over #drag-drop-area {
-       border-color: #83b4d8;
-}
-
-#plupload-upload-ui {
-       position: relative;
-}
-
-
-/*------------------------------------------------------------------------------
-  14.2 - Image Editor
-------------------------------------------------------------------------------*/
-
-.wp_attachment_details #attachment_caption {
-       height: 4em;
-}
-
-.describe .image-editor {
-       vertical-align: top;
-}
-
-.imgedit-wrap {
-       position: relative;
-}
-
-.imgedit-settings p {
-       margin: 8px 0;
-}
-
-.post-php .imgedit-wrap table {
-       width: 100%;
-}
-
-.describe .imgedit-wrap table td,
-.wp_attachment_holder .imgedit-wrap table td {
-       vertical-align: top;
-       padding-top: 0;
-}
-
-.describe .imgedit-wrap table td.imgedit-settings {
-       padding: 0 5px;
-}
-
-.wp_attachment_holder .imgedit-wrap table td.imgedit-settings {
-       width: 250px;
-}
-
-td.imgedit-settings input {
-       margin-top: 0;
-       vertical-align: middle;
-}
-
-.imgedit-wait {
-       position: absolute;
-       top: 0;
-       background: #fff url('../images/spinner.gif') no-repeat scroll 22px 10px;
-       background-size: 20px 20px;
-       opacity: 0.7;
-       filter: alpha(opacity=70);
-       width: 100%;
-       height: 500px;
-       display: none;
-}
-
-.spinner {
-       background: url('../images/spinner.gif') no-repeat;
-       background-size: 20px 20px;
-       display: none;
-       float: right;
-       opacity: 0.7;
-       filter: alpha(opacity=70);
-       width: 20px;
-       height: 20px;
-       margin: 2px 5px 0;
-}
-
-.no-float {
-       float: none;
-}
-
-.media-disabled,
-.imgedit-settings .disabled  {
-       color: grey;
-}
-
-.wp_attachment_image,
-.A1B1 {
-       overflow: hidden;
-}
-
-.wp_attachment_image .button,
-.A1B1 .button {
-       float: left;
-}
-
-.no-js .wp_attachment_image .button {
-       display: none;
-}
-
-.wp_attachment_image .spinner,
-.A1B1 .spinner {
-       float: left;
-       padding: 0 0 4px 0;
-       vertical-align: bottom;
-}
-
-.imgedit-menu {
-       margin: 0 0 12px;
-       min-width: 300px;
-}
-
-.imgedit-menu div {
-       float: left;
-       width: 32px;
-       background: none;
-       margin: 0 8px 0 0;
-       height: 32px;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-       text-align: center;
-       line-height: 28px;
-}
-
-.imgedit-menu div:before {
-       font: normal 20px/1 'dashicons';
-       speak: none;
-       vertical-align: middle;
-}
-
-.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;
-}
-
-.imgedit-applyto .imgedit-label {
-       padding: 2px 0 0;
-       display: block;
-}
-
-.imgedit-help {
-       display: none;
-       font-style: italic;
-       margin-bottom: 8px;
-}
-
-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;
-}
-
-/*------------------------------------------------------------------------------
-  15.0 - Comments Screen
-------------------------------------------------------------------------------*/
-
-.form-table {
-       border-collapse: collapse;
-       margin-top: 0.5em;
-       width: 100%;
-       clear: both;
-}
-
-.form-table,
-.form-table td,
-.form-table th,
-.form-table td p,
-.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 {
-       font-weight: normal;
-       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 input.tog {
-       margin-top: 2px;
-       margin-right: 2px;
-       float: left;
-}
-
-.form-table td p {
-       margin-top: 4px;
-       margin-bottom: 0;
-}
-
-.form-table td fieldset label {
-       margin: 0.25em 0 0.5em !important;
-       display: inline-block;
-}
-
-.form-table td fieldset label,
-.form-table td fieldset p,
-.form-table td fieldset li {
-       line-height: 1.4em;
-}
-
-.form-table input.tog,
-.form-table input[type=radio] {
-       margin-top: -4px;
-       margin-right: 4px;
-       float: none;
-}
-
-.commentlist li {
-       padding: 1em 1em .2em;
-       margin: 0;
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
-}
-
-.commentlist li li {
-       border-bottom: 0;
-       padding: 0;
-}
-
-.commentlist p {
-       padding: 0;
-       margin: 0 0 .8em;
-}
-
-/* reply to comments */
-#replyrow input {
-       border-width: 1px;
-       border-style: solid;
-}
-
-#replyrow td {
-       padding: 2px;
-}
-
-#replysubmit {
-       margin: 0;
-       padding: 0 5px 3px;
-       text-align: center;
-}
-
-#replysubmit .spinner {
-       padding: 2px 0 0;
-       vertical-align: top;
-       float: right;
-}
-
-#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;
-}
-
-.comment-php .wp-editor-area {
-       height: 200px;
-}
-
-.comment-ays {
-       margin-bottom: 0;
-       border-bottom-style: solid;
-       border-bottom-width: 1px;
-}
-
-.comment-ays .alt {
-       background-color: transparent;
-}
-
-.trash-undo-inside,
-.spam-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;
-}
-
-.commentlist .avatar {
-       vertical-align: text-top;
-}
-
-#the-comment-list .unapproved th.check-column input {
-       margin-left: 4px;
-}
-
-
-/*------------------------------------------------------------------------------
-  16.0 - Themes
-------------------------------------------------------------------------------*/
-
-
-/*------------------------------------------------------------------------------
-  16.1 - Manage Themes
-------------------------------------------------------------------------------*/
-
-.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 .wrap .theme-count {
-       color: #fff;
-       border-radius: 30px;
-       background: #777;
-       font-size: 14px;
-       padding: 4px 10px;
-       font-weight: 600;
-       margin-left: 5px;
-       margin-right: 20px;
-       position: relative;
-       top: -3px;
-}
-
-/* Position admin messages */
-.themes-php div.updated,
-.themes-php div.error {
-       margin: 0 0 20px 0;
-       clear: both;
-}
-
-.themes-php div.updated a {
-       text-decoration: underline;
-}
-
-/**
- * Main theme element
- * (has flexible margins)
- */
-.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,0.1);
-       box-shadow:         0 1px 1px -1px rgba(0,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:hover,
-.theme-browser .theme:focus {
-       cursor: pointer;
-}
-
-.theme-browser .theme .theme-name {
-       font-size: 15px;
-       font-weight: 600;
-       margin: 0;
-       padding: 15px;
-       -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);
-       overflow: hidden;
-       white-space: nowrap;
-       text-overflow: ellipsis;
-       background: #fff;
-       background: rgba(255,255,255,0.65);
-}
-
-/* Activate and Customize buttons, shown on hover */
-.theme-browser .theme .theme-actions {
-       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
-       opacity: 0;
-       -webkit-transition: opacity 0.1s ease-in-out;
-       transition:         opacity 0.1s ease-in-out;
-       position: absolute;
-       bottom: 0;
-       right: 0;
-       height: 38px;
-       padding: 9px 10px 0 10px;
-       background: rgba(244, 244, 244, 0.7);
-       border-left: 1px solid rgba(0,0,0,0.05);
-}
-
-.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 Screenshot
- *
- * Has a fixed aspect ratio of 1.5 to 1 regardless of screenshot size
- * It is also responsive.
- */
-.theme-browser .theme .theme-screenshot {
-       display: block;
-       overflow: hidden;
-       position: relative;
-       -webkit-transition: opacity 0.2s ease-in-out;
-       transition:         opacity 0.2s ease-in-out;
-}
-
-.theme-browser .theme .theme-screenshot:after {
-       content: '';
-       display: block;
-       padding-top: 66.66666%; /* using a 3/2 aspect ratio */
-}
-
-.theme-browser .theme .theme-screenshot img {
-       height: auto;
-       position: absolute;
-       left: 0;
-       top: 0;
-       width: 100%;
-       -webkit-transform: translateZ( 0 ); /* Prevents rendering bugs in Chrome */
-       -webkit-transition: opacity 0.2s ease-in-out;
-       transition:         opacity 0.2s ease-in-out;
-}
-
-.theme-browser .theme:hover .theme-screenshot {
-       background: #fff;
-}
-
-.theme-browser.rendered .theme:hover .theme-screenshot img {
-       opacity: 0.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: #222;
-       background: rgba(0,0,0,0.7);
-       color: #fff;
-       font-size: 15px;
-       text-shadow: 0 1px 0 rgba(0,0,0,0.6);
-       -webkit-font-smoothing: antialiased;
-       font-weight: 600;
-       padding: 15px 12px;
-       text-align: center;
-       border-radius: 3px;
-       -webkit-transition: opacity 0.1s ease-in-out;
-       transition:         opacity 0.1s ease-in-out;
-}
-.theme-browser .theme:focus {
-       outline: 1px dotted #222;
-}
-/* Hide shortcut actions and hover feedback when using tab navigation */
-.theme-browser .theme:focus .theme-actions {
-       display: none;
-}
-/* Restore display of theme controls if you hover a focused theme */
-.theme-browser .theme:focus:hover .theme-actions {
-       display: block;
-}
-.theme-browser .theme:focus .more-details {
-       opacity: 1;
-}
-/* Current theme needs to have its action always on view */
-.theme-browser .theme.active:focus .theme-actions {
-       display: block;
-}
-
-.theme-browser.rendered .theme:hover .more-details {
-       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
-       opacity: 1;
-}
-
-/**
- * Displays a theme update notice
- * when an update is available.
- */
-.theme-browser .theme .theme-update {
-       background: #d54e21;
-       background: rgba(213, 78, 33, 0.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,0.25);
-       overflow: hidden;
-}
-
-.theme-browser .theme .theme-update:before {
-       content: '\f463';
-       display: inline-block;
-       font: normal 20px/1 'dashicons';
-       margin: 0 6px 0 0;
-       opacity: 0.8;
-       position: relative;
-       top: 5px;
-       speak: none;
-       -webkit-font-smoothing: antialiased;
-}
-
-
-/**
- * The currently active theme
- */
-.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,0.5);
-       box-shadow:         inset 0 1px 1px rgba(0,0,0,0.5);
-}
-
-.theme-browser .theme.active .theme-name span {
-       font-weight: 600;
-}
-
-.theme-browser .theme.active .theme-actions {
-       background: rgba(49,49,49,0.7);
-       border-left: none;
-       opacity: 1;
-}
-
-.theme-browser .theme.active .theme-actions .button-primary {
-       margin-right: 0;
-}
-
-.theme-browser .theme .theme-author {
-       background: #222;
-       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;
-}
-
-/**
- * Add new theme
- */
-.theme-browser .theme.add-new-theme {
-       border: 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:after {
-       display: block;
-       content: '';
-       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
-       opacity: 1;
-       background: transparent;
-       background: rgba(0, 0, 0, 0);
-       position: absolute;
-       top: 0;
-       left: 0;
-       right: 0;
-       bottom: 0;
-       padding: 10% 0 0 0;
-       text-shadow: none;
-       border: 5px dashed #d5d2ca;
-       border: 5px dashed rgba(0, 0, 0, 0.1);
-       -webkit-transition: opacity 0.2s ease-in-out;
-       transition:         opacity 0.2s ease-in-out;
-       -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, 0.1);
-       border-radius: 50%;
-       display: inline-block;
-       content: '\f132';
-       -webkit-font-smoothing: antialiased;
-       font: normal 74px/115px 'dashicons';
-       width: 100px;
-       height: 100px;
-       vertical-align: middle;
-       text-align: center;
-       color: rgb(153, 153, 153);
-       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:hover .theme-screenshot {
-       background: none;
-}
-
-.theme-browser .theme.add-new-theme:hover span:after {
-       background: #fff;
-       color: #0074a2;
-}
-
-.theme-browser .theme.add-new-theme:hover:after {
-       border-color: transparent;
-       color: #fff;
-       background: #0074a2;
-       content: '';
-}
-
-.theme-browser .theme.add-new-theme .theme-name {
-       background: none;
-       text-align: center;
-       box-shadow: none;
-       font-weight: 400;
-       position: relative;
-       top: 0;
-       margin-top: -10%;
-       margin-bottom: 10%;
-}
-
-.theme-browser .theme.add-new-theme:hover .theme-name {
-       color: #fff;
-       z-index: 2;
-}
-
-/*
- * The search form
- */
-.themes-php .theme-search {
-       position: relative;
-       top: -2px;
-       left: 20px;
-       font-size: 16px;
-       font-weight: 300;
-       line-height: 1.5;
-       width: 280px;
-}
-
-/**
- * Theme Overlay
- * Shown when clicking a theme
- */
-.theme-overlay .theme-backdrop {
-       position: absolute;
-       left: -20px;
-       right: 0;
-       top: 0;
-       bottom: 0;
-       background: #f1f1f1;
-       background: rgba( 238, 238, 238, 0.9 );
-       z-index: 10;
-}
-
-body.theme-overlay-open {
-       overflow: hidden;
-}
-
-.theme-overlay .theme-header {
-       position: absolute;
-       top: 0;
-       left: 0;
-       right: 0;
-       height: 48px;
-       border-bottom: 1px solid #ddd;
-}
-
-.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;
-}
-
-.theme-overlay .theme-header .close:hover:before,
-.theme-overlay .theme-header .close:focus:before {
-       color: #fff;
-}
-
-.theme-overlay .theme-header .close:before {
-       font: normal 30px/50px 'dashicons' !important;
-       color: #777;
-       display: inline-block;
-       content: '\f335';
-       font-weight: 300;
-}
-
-/* Left and right navigation */
-.theme-overlay .theme-header .right,
-.theme-overlay .theme-header .left {
-       cursor: pointer;
-       color: #777;
-       background-color: transparent;
-       height: 48px;
-       width: 54px;
-       float: left;
-       text-align: center;
-       border: 0;
-       border-right: 1px solid #ddd;
-}
-
-.theme-overlay .theme-header .close:hover,
-.theme-overlay .theme-header .right:hover,
-.theme-overlay .theme-header .left:hover,
-.theme-overlay .theme-header .close:focus,
-.theme-overlay .theme-header .right:focus,
-.theme-overlay .theme-header .left:focus {
-       background: #0074a2;
-       color: #fff;
-}
-
-.theme-overlay .theme-header .left.disabled,
-.theme-overlay .theme-header .right.disabled,
-.theme-overlay .theme-header .left.disabled:hover,
-.theme-overlay .theme-header .right.disabled:hover {
-       color: #ccc;
-       background: inherit;
-       cursor: inherit;
-}
-
-.theme-overlay .theme-header .right:before,
-.theme-overlay .theme-header .left:before {
-       font: normal 20px/50px 'dashicons' !important;
-       display: inline;
-       font-weight: 300;
-}
-
-.theme-overlay .theme-header .left:before {
-       content: '\f340';
-}
-
-.theme-overlay .theme-header .right:before {
-       content: '\f344';
-}
-
-.rtl .theme-overlay .theme-header .left:before {
-       content: '\f345';
-}
-
-.rtl .theme-overlay .theme-header .right:before {
-       content: '\f341';
-}
-
-.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, 0.1);
-       box-shadow:         0 1px 20px 5px rgba(0, 0, 0, 0.1);
-       z-index: 20;
-       box-sizing: border-box;
-}
-
-.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;
-       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;
-}
-
-.theme-overlay .theme-actions .delete-theme {
-       color: #a00;
-       position: absolute;
-       right: 10px;
-       bottom: 5px;
-       text-decoration: none;
-       border-color: transparent;
-       box-shadow: none;
-       background: transparent;
-}
-
-.theme-overlay .theme-actions .delete-theme:hover,
-.theme-overlay .theme-actions .delete-theme:focus {
-       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 Screenshots gallery
- */
-.theme-overlay .theme-screenshots {
-       float: left;
-       margin: 0 30px 0 0;
-       width: 55%;
-       max-width: 880px;
-       text-align: center;
-}
-
-/* First screenshot, shown big */
-.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,0.2);
-       box-shadow:         0 0 0 1px rgba(0,0,0,0.2);
-}
-
-.theme-overlay .screenshot:after {
-       content: '';
-       display: block;
-       padding-top: 75%; /* using a 4/3 aspect ratio */
-}
-
-.theme-overlay .screenshot img {
-       height: auto;
-       position: absolute;
-       left: 0;
-       top: 0;
-       width: 100%;
-}
-/* Handles old 300px screenshots */
-.theme-overlay.small-screenshot .theme-screenshots {
-       position: absolute;
-       width: 302px;
-}
-.theme-overlay.small-screenshot .theme-info {
-       margin-left: 350px;
-       width: auto;
-}
-
-/* Other screenshots, shown small and square */
-.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%; /* using a 1/1 aspect ratio */
-}
-
-.theme-overlay .screenshot.thumb img {
-       cursor: pointer;
-       height: auto;
-       position: absolute;
-       left: 0;
-       top: 0;
-       width: 100%;
-       height: auto;
-}
-
-.theme-overlay .screenshot.selected {
-       background: transparent;
-       border: 2px solid #2ea2cc;
-}
-
-.theme-overlay .screenshot.selected img {
-       opacity: 0.8;
-}
-
-/* No screenshot placeholder */
-.theme-browser .theme .theme-screenshot.blank,
-.theme-overlay .screenshot.blank {
-       background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=);
-}
-
-/**
- * Theme heading information
- */
-.theme-overlay .theme-info {
-       width: 40%;
-       float: left;
-}
-
-.theme-overlay .current-label {
-       background: #333;
-       color: #fff;
-       font-size: 11px;
-       display: inline-block;
-       padding: 2px 8px;
-       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: #222;
-       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;
-       -webkit-user-select: none;
-       -moz-user-select:    none;
-       -ms-user-select:     none;
-       user-select:         none;
-}
-
-.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 0;
-}
-
-.theme-overlay .theme-tags {
-       border-top: 3px solid #eee;
-       color: #888;
-       font-size: 13px;
-       font-weight: 400;
-       margin: 30px 0 0 0;
-       padding-top: 20px;
-}
-
-.theme-overlay .theme-tags span {
-       color: #444;
-       font-weight: bold;
-       margin-right: 5px;
-}
-
-/* Theme Updates info */
-.theme-overlay .theme-update-message {
-       background: #fefaf7;
-       border: 1px solid #eee;
-       border-left: 4px solid #d54e21;
-       border-radius: 3px;
-       padding: 5px 20px 10px;
-}
-
-.theme-overlay .theme-update {
-       color: #222;
-       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 #2ea2cc;
-       font-size: 14px;
-       font-weight: normal;
-       margin-top: 30px;
-       padding: 10px 10px 10px 20px;
-}
-
-.theme-overlay .parent-theme strong {
-       font-weight: 700;
-}
-
-/**
- * Single Theme Mode
- * Displays detailed view inline when a user has no switch capabilities
- */
-.single-theme .theme-overlay .theme-backdrop,
-.single-theme .theme-overlay .theme-header,
-.single-theme .theme {
-       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;
-}
-
-/**
- * Basic Responsive structure...
- *
- * Shuffles theme columns around based on screen width
- */
-
-@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;
-       }
-}
-
-/* Maximum screenshot width reaches 440px */
-@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%; /* using a 4/3 aspect ratio */
-       }
-
-       .theme-browser .theme:nth-child(3n) {
-               margin-right: 3%;
-       }
-
-       .theme-browser .theme:nth-child(4n) {
-               margin-right: 0;
-       }
-}
-/* Maximum screenshot width reaches 440px */
-@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%;
-       }
-}
-
-/* Admin menu is folded */
-@media only screen and (max-width: 900px) {
-       .theme-overlay .theme-wrap {
-               left: 65px;
-       }
-}
-
-@media only screen and (max-width: 780px) {
-       body.folded .theme-overlay .theme-wrap,
-       .theme-overlay .theme-wrap {
-               top: 0; /* The adminmenu isn't fixed on mobile, so this can use the full viewport height */
-               right: 0;
-               bottom: 0;
-               left: 0;
-               padding: 70px 20px 20px;
-               border: none;
-               z-index: 500; /* should overlap #wpadminbar, which is 500 on mobile. */
-               position: fixed;
-       }
-
-       .theme-browser .theme.active .theme-name span {
-               /* Hide the "Active: " label on smaller screens. */
-               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 10px;
-       }
-
-       .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:not(.active):hover .theme-actions,
-       .theme:hover .more-details {
-               display: none;
-       }
-
-       .theme-browser.rendered .theme:hover .theme-screenshot img {
-               opacity: 1.0;
-       }
-}
-
-@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-update,
-       .theme-overlay .theme-description {
-               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 0;
-       }
-
-       .theme-overlay .current-label {
-               margin-top: 10px;
-               font-size: 13px;
-       }
-
-       .themes-php .wrap h2 {
-               width: 100%;
-       }
-
-       .themes-php .theme-search {
-               float: none;
-               clear: both;
-               left: 0;
-               top: 0;
-               right: 0;
-               margin: 10px 0;
-               width: 100%;
-       }
-
-       .theme-browser .theme.add-new-theme span:after {
-               font: normal 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;
-}
-
-
-/*------------------------------------------------------------------------------
-  16.2 - Install Themes
-------------------------------------------------------------------------------*/
-
-.theme-install-php h4 {
-       margin: 2.5em 0 8px;
-}
-
-.theme-install-php .tablenav {
-       height: auto;
-}
-
-.theme-install-php .spinner {
-       margin-top: 9px;
-}
-
-.available-theme {
-       display: inline-block;
-       margin-right: 10px;
-       overflow: hidden;
-       padding: 20px 20px 20px 0;
-       vertical-align: top;
-       width: 300px;
-}
-
-.available-theme .screenshot {
-       width: 300px;
-       height: 225px;
-       display: block;
-       border-width: 1px;
-       border-style: solid;
-       margin-bottom: 10px;
-       overflow: hidden;
-}
-
-.available-theme img {
-       width: 300px;
-}
-
-.available-theme h3 {
-       margin: 15px 0 0;
-}
-
-.available-theme .theme-author {
-       line-height: 18px;
-}
-
-.available-theme .action-links {
-       margin-top: 10px;
-       overflow: hidden;
-}
-
-.available-theme a.screenshot:focus {
-       border-color: #777;
-}
-
-.available-theme .action-links li {
-       float: left;
-       padding-right: 10px;
-       margin-right: 10px;
-       border-right: 1px solid #dfdfdf;
-}
-
-.available-theme .action-links li {
-       padding-right: 8px;
-       margin-right: 8px;
-}
-
-.ie8 .available-theme .action-links li {
-       padding-right: 7px;
-       margin-right: 7px;
-}
-
-.available-theme .action-links li:last-child {
-       padding-right: 0;
-       margin-right: 0;
-       border-right: 0;
-}
-
-.available-theme .action-links .delete-theme {
-       float: right;
-       margin-left: 8px;
-       margin-right: 0;
-}
-
-.available-theme .action-links .delete-theme a {
-       color: red;
-       padding: 2px;
-}
-
-.available-theme .action-links .delete-theme a:hover {
-       background: red;
-       color: #fff;
-       text-decoration: none;
-}
-
-.available-theme .action-links p {
-       float: left;
-}
-
-/* Allow for three-up in small windows when sidebar is collapsed */
-@media only screen and (max-width: 1200px) {
-       .folded .available-theme,
-       .folded .available-theme .screenshot {
-               width: 300px;
-       }
-
-       .folded .available-theme .screenshot {
-               height: 225px;
-       }
-}
-
-/* Adjust three-up display in smaller windows when sidebar is collapsed */
-@media only screen and (max-width: 1079px) {
-       .folded .available-theme,
-       .folded .available-theme .screenshot {
-               width: 270px;
-       }
-
-       .folded .available-theme .screenshot {
-               height: 203px;
-       }
-}
-
-/* Allow for three-up on 1024px wide screens, e.g. tablets */
-@media only screen and (max-width: 1200px) {
-       .available-theme,
-       .available-theme .screenshot {
-               width: 240px;
-       }
-
-       .available-theme .screenshot {
-               height: 180px;
-       }
-
-       .available-theme img {
-               width: 100%;
-       }
-}
-
-#post-body ul.add-menu-item-tabs li.tabs a,
-#TB_window #TB_title a.tb-theme-preview-link,
-#TB_window #TB_title a.tb-theme-preview-link:visited {
-       font-weight: 600;
-       text-decoration: none;
-}
-
-#TB_window #TB_title {
-       background-color: #222;
-       color: #cfcfcf;
-}
-
-
-/*------------------------------------------------------------------------------
-  16.3 - Custom Header Screen
-------------------------------------------------------------------------------*/
-
-.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;
-}
-
-
-/*------------------------------------------------------------------------------
-  16.4 - Custom Background Screen
-------------------------------------------------------------------------------*/
-
-div#custom-background-image {
-       min-height: 100px;
-       border: 1px solid #dfdfdf;
-}
-
-div#custom-background-image img {
-       max-width: 400px;
-       max-height: 300px;
-}
-
-
-/*------------------------------------------------------------------------------
-  17.0 - Plugins
-------------------------------------------------------------------------------*/
-
-#dashboard_right_now .versions .b,
-#post-status-display,
-#post-visibility-display,
-#adminmenu .wp-submenu li.current,
-#adminmenu .wp-submenu li.current a,
-#adminmenu .wp-submenu li.current a:hover,
-.media-item .percent,
-.plugins .name,
-#pass-strength-result.strong,
-#pass-strength-result.short,
-#ed_reply_toolbar #ed_reply_strong,
-.item-controls .item-order a,
-.feature-filter .feature-name {
-       font-weight: 600;
-}
-
-.plugins p {
-       margin: 0 4px;
-       padding: 0;
-}
-
-.plugins .desc p {
-       margin: 0 0 8px;
-}
-
-.plugins td.desc {
-       line-height: 1.5em;
-}
-
-.plugins .desc ul,
-.plugins .desc ol {
-       margin: 0 0 0 2em;
-}
-
-.plugins .desc ul {
-       list-style-type: disc;
-}
-
-.plugins .row-actions {
-       font-size: 13px;
-       padding: 0;
-}
-
-.plugins .inactive td,
-.plugins .inactive th,
-.plugins .active td,
-.plugins .active th {
-       padding: 10px 9px;
-}
-
-.plugins .update th,
-.plugins .update td {
-       border-bottom: 0;
-}
-.plugin-update-tr td {
-       border-top: 0;
-}
-
-#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 .second,
-.plugins .row-actions {
-       padding: 0 0 5px;
-}
-
-.plugins .update .second,
-.plugins .update .row-actions {
-       padding-bottom: 0;
-}
-
-.plugins-php .widefat tfoot th,
-.plugins-php .widefat tfoot td {
-       border-top-style: solid;
-       border-top-width: 1px;
-}
-
-.plugin-update-tr .update-message {
-       border: none;
-       font-size: 13px;
-       font-weight: normal;
-       margin: 6px 12px 12px;
-       padding: 6px 12px;
-}
-
-.plugin-update-tr .update-message:before {
-       content: '\f463';
-       display: inline-block;
-       font: normal 20px/1 'dashicons';
-       speak: none;
-       margin: 0 8px 0 -2px;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-       vertical-align: top;
-}
-
-.plugin-install-php h4 {
-       margin: 2.5em 0 8px;
-}
-
-
-/*------------------------------------------------------------------------------
-  18.0 - Users
-------------------------------------------------------------------------------*/
-
-#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;
-}
-
-.scheme-list {
-
-}
-
-.color-option {
-       display: inline-block;
-       width: 24%;
-       padding: 5px 15px 15px;
-       -moz-box-sizing: border-box;
-       box-sizing: border-box;
-       margin-bottom: 3px;
-}
-
-.color-option:hover,
-.color-option.selected {
-       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;
-}
-
-/*------------------------------------------------------------------------------
-  19.0 - Tools
-------------------------------------------------------------------------------*/
-
-body.press-this {
-       color: #333;
-       margin: 0;
-       padding: 0;
-       min-width: 708px;
-       min-height: 400px;
-}
-
-.press-this #titlediv #title {
-       font-size: 1.4em;
-}
-
-.press-this #site-heading:before {
-    top: 3px;
-    position: relative;
-    display: inline-block;
-    font: normal 18px/1 'dashicons';
-    speak: none;
-    color: #727272;
-    content: '\f120';
-    -webkit-font-smoothing: antialiased;
-    -moz-osx-font-smoothing: grayscale;
-}
-
-.pressthis {
-       margin: 20px 0;
-}
-
-.pressthis a,
-.pressthis a:hover,
-.pressthis a:focus,
-.pressthis a:active {
-       display: inline-block;
-       position: relative;
-       cursor: move;
-       color: #333;
-       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 a:active {
-       outline: none;
-}
-
-.pressthis a:hover:after {
-       -webkit-transform: skew(20deg) rotate(9deg);
-       -moz-transform: skew(20deg) rotate(9deg);
-       transform: skew(20deg) rotate(9deg);
-       -webkit-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7);
-       box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7);
-}
-
-.pressthis a span {
-       display: inline-block;
-       margin: 0px 0 0;
-       padding: 0px 12px 8px 9px;
-}
-
-.pressthis a span:before {
-       font: normal 20px/1 'dashicons';
-       content:'\f157';
-       position: relative;
-       display: inline-block;
-       top: 4px;
-       margin-right: 4px;
-}
-
-.pressthis a:after {
-       content: '';
-       width: 70%;
-       height: 55%;
-       z-index: -1;
-       position: absolute;
-       right: 10px;
-       bottom: 9px;
-       background: transparent;
-
-       -webkit-transform: skew(20deg) rotate(6deg);
-       -moz-transform: skew(20deg) rotate(6deg);
-       transform: skew(20deg) rotate(6deg);
-       -webkit-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6);
-       box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6);
-}
-
-/*------------------------------------------------------------------------------
-  20.0 - Settings
-------------------------------------------------------------------------------*/
-
-#utc-time, #local-time {
-       padding-left: 25px;
-       font-style: italic;
-}
-
-.defaultavatarpicker .avatar {
-       margin: 2px 0;
-       vertical-align: middle;
-}
-
-.options-general-php .spinner {
-       float: none;
-       margin: -3px 3px;
-}
-
-/*------------------------------------------------------------------------------
-  21.0 - Admin Footer
-------------------------------------------------------------------------------*/
-
-#wpfooter {
-       position: absolute;
-       bottom: 0;
-       left: 0;
-       right: 0;
-       padding: 10px 0;
-       margin-right: 20px;
-       border-top-width: 1px;
-       border-top-style: solid;
-}
-
-#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;
-}
-
-/*------------------------------------------------------------------------------
-  22.0 - About Pages
-------------------------------------------------------------------------------*/
-
-.about-wrap {
-       position: relative;
-       margin: 25px 40px 0 20px;
-       max-width: 1050px; /* readability */
-
-       font-size: 15px;
-}
-
-.about-wrap div.updated,
-.about-wrap div.error {
-       display: none !important;
-}
-
-.about-wrap hr {
-       border: 0;
-       height: 0;
-       margin: 0;
-       border-top: 1px solid rgba(0, 0, 0, 0.1);
-}
-
-.about-wrap img {
-       margin: 0.5em 0 0.5em 5px;
-       max-width: 100%;
-}
-
-/* Typography */
-
-.about-wrap p {
-       line-height: 1.6em;
-       font-size: 14px;
-}
-
-.about-wrap h1 {
-       margin: 0.2em 200px 0 0;
-       line-height: 1.2em;
-       font-size: 2.8em;
-       font-weight: 400;
-}
-
-.about-wrap .about-text,
-.about-wrap p.about-description,
-.about-wrap li.wp-person a.web {
-       font-weight: normal;
-       line-height: 1.6em;
-       font-size: 19px;
-}
-
-.about-description {
-       margin-top: 1.4em;
-}
-
-.about-text {
-       margin: 1em 200px 1em 0;
-       min-height: 60px;
-       font-size: 24px;
-}
-
-.about-wrap .changelog h2.about-headline-callout {
-       margin: 1.1em 0 0.2em;
-       font-size: 2.4em;
-       font-weight: 300;
-       line-height: 1.3;
-       text-align: center;
-}
-
-.about-wrap h3 {
-       margin: 1em 0 .6em;
-       font-size: 1.5em;
-       line-height: 1.5em;
-}
-
-.about-wrap .feature-section h4 {
-       margin: 1.4em 0 0.6em 0;
-       font-size: 1.2em;
-}
-
-.about-wrap .feature-section p {
-       margin-top: 0.6em;
-}
-
-.about-wrap code,
-.about-wrap ol li p {
-       font-size: 14px;
-}
-
-/* 3.8 Images */
-
-.about-wrap .about-colors-img {
-       bottom: -25px;
-}
-
-.about-wrap .about-themes-img {
-       bottom: -38px;
-}
-
-.about-wrap .about-overview-img {
-       border-bottom: 1px solid rgba(0, 0, 0, 0.1);
-       margin: 0;
-}
-
-.about-colors-img img,
-.about-themes-img img {
-       margin: 0 0;
-       padding: 0;
-       line-height: 1;
-}
-
-/* Point Releases */
-
-.about-wrap .point-releases {
-       margin-top: 5px;
-}
-
-.about-wrap .changelog.point-releases h3 {
-       padding-top: 35px;
-}
-
-.about-wrap .changelog.point-releases h3:first-child {
-       padding-top: 7px;
-}
-
-/* WordPress Version Badge */
-
-.wp-badge {
-       background: url('../images/w-logo-white.png?ver=20131202') no-repeat;
-       background: none, url('../images/wordpress-logo-white.svg?ver=20131110') no-repeat;
-       background-position: center 24px;
-       background-size: 85px 85px;
-       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;
-}
-
-
-.about-wrap .wp-badge {
-       position: absolute;
-       top: 0;
-       right: 0;
-}
-
-/* Tabs */
-
-.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 h2 .nav-tab-active {
-       font-weight: bold;
-}
-
-/* Changelog / Update screen */
-
-.about-wrap .feature-section {
-       padding-bottom: 20px;
-}
-
-.about-wrap .feature-section.col {
-       margin-bottom: 0;
-}
-
-.about-wrap .feature-section.center-col > div {
-       margin: auto;
-       width: 60%;
-}
-
-.about-wrap .about-colors .one-col > div {
-       width: 100%;
-}
-
-.about-wrap .feature-section.two-col > div {
-       position: relative;
-       width: 50%;
-       float: left;
-}
-
-.about-wrap .feature-section.three-col > div {
-       position: relative;
-       width: 29.95%;
-       margin-right: 4.999999999%;
-       float: left;
-}
-
-.about-wrap .feature-section.col .last-feature {
-       margin-right: 0;
-}
-
-.about-wrap .about-updates img,
-.about-wrap .about-twentyfourteen img {
-       margin: 2em 0 0 0;
-       border: 1px solid #ddd;
-       -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-       box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.about-wrap .about-twentyfourteen img {
-       margin-top: 1em;
-}
-
-.about-wrap .changelog .feature-section {
-       overflow: hidden;
-}
-
-.about-wrap .about-colors .scheme-list {
-       margin-bottom: 1em;
-}
-
-.about-wrap .about-colors .color-option {
-       padding-top: 10px;
-}
-.about-wrap .about-colors .color-option label {
-       display: inline-block;
-       margin: 0.25em 0 0.5em;
-}
-
-.about-wrap .feature-section.two-col div p {
-       margin-right: 3%;
-}
-
-.about-wrap .feature-section div p img {
-       float: right;
-       margin-left: 10px;
-       max-width: 20%;
-}
-
-.about-wrap .changelog li {
-       list-style-type: disc;
-       margin-left: 3em;
-}
-
-/* Return to Dashboard Home link */
-
-.about-wrap .return-to-dashboard {
-       margin: 30px 0 0 -5px;
-       font-size: 14px;
-       font-weight: bold;
-}
-
-.about-wrap .return-to-dashboard a {
-       text-decoration: none;
-       padding: 0 5px;
-}
-
-/* Credits */
-
-.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 {
-       float: left;
-       margin-right: 10px;
-}
-
-.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 {
-       height: 70px;
-       width: 280px;
-       padding-bottom: 15px;
-}
-
-.about-wrap ul.compact li.wp-person {
-       height: auto;
-       width: 180px;
-       padding-bottom: 0;
-       margin-bottom: 0;
-}
-
-.about-wrap #wp-people-group-validators + p.wp-credits-list {
-       margin-top: 0;
-}
-
-.about-wrap li.wp-person a.web {
-       display: block;
-       margin: 6px 0 2px;
-       font-size: 16px;
-       text-decoration: none;
-}
-
-.about-wrap p.wp-credits-list a {
-       white-space: nowrap;
-}
-
-/* Freedoms */
-
-.freedoms-php .about-wrap ol {
-       margin: 40px 60px;
-}
-
-.freedoms-php .about-wrap ol li {
-       list-style-type: decimal;
-       font-weight: bold;
-}
-
-.freedoms-php .about-wrap ol p {
-       font-weight: normal;
-       margin: 0.6em 0;
-}
-
-/*------------------------------------------------------------------------------
-  23.0 - Full Overlay w/ Sidebar
-------------------------------------------------------------------------------*/
-
-body.full-overlay-active {
-       overflow: hidden;
-}
-
-.wp-full-overlay {
-       background: transparent;
-       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;
-       overflow: auto;
-       background: transparent;
-       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%;
-}
-
-.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;
-}
-
-/* Close Link */
-.wp-full-overlay .close-full-overlay {
-       text-decoration: none;
-}
-
-/* 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;
-       padding: 0;
-       border-radius: 50%;
-       text-decoration: none;
-}
-
-.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: none;
-}
-
-.wp-full-overlay .collapse-sidebar-arrow:before {
-       border-radius: 50%;
-       float: left;
-       content: "\f148";
-       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;
-}
-
-.wp-full-overlay.collapsed .collapse-sidebar-arrow:before,
-.rtl .wp-full-overlay .collapse-sidebar-arrow:before {
-       -ms-transform: rotate(180deg);
-       -webkit-transform: rotate(180deg);
-       transform: rotate(180deg);
-}
-
-.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before {
-       -ms-transform: none;
-       -webkit-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;
-}
-
-/* Animations */
-.wp-full-overlay,
-.wp-full-overlay-sidebar,
-.wp-full-overlay .collapse-sidebar,
-.wp-full-overlay-main {
-       -webkit-transition-property: left, right, top, bottom, width, margin;
-       -moz-transition-property:    left, right, top, bottom, width, margin;
-       -ms-transition-property:     left, right, top, bottom, width, margin;
-       -o-transition-property:      left, right, top, bottom, width, margin;
-       transition-property:         left, right, top, bottom, width, margin;
-       -webkit-transition-duration: 0.2s;
-       -moz-transition-duration:    0.2s;
-       -ms-transition-duration:     0.2s;
-       -o-transition-duration:      0.2s;
-       transition-duration:         0.2s;
-}
-
-/*------------------------------------------------------------------------------
-  24.0 - Customize Loader
-------------------------------------------------------------------------------*/
-
-.no-customize-support .hide-if-no-customize,
-.customize-support .hide-if-customize,
-.no-customize-support.wp-core-ui .hide-if-no-customize,
-.no-customize-support .wp-core-ui .hide-if-no-customize,
-.customize-support.wp-core-ui .hide-if-customize,
-.customize-support .wp-core-ui .hide-if-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: #fff url('../images/spinner.gif') no-repeat fixed center center;
-       background-size: 20px 20px;
-}
-
-#customize-container iframe,
-#theme-installer iframe {
-       height: 100%;
-       width: 100%;
-       z-index: 20;
-
-       -webkit-transition: opacity 0.3s;
-       -moz-transition:    opacity 0.3s;
-       -ms-transition:     opacity 0.3s;
-       -o-transition:      opacity 0.3s;
-       transition:         opacity 0.3s;
-}
-
-#customize-container .collapse-sidebar {
-       bottom: 16px;
-}
-
-#customize-controls {
-       margin-top: 0;
-}
-
-#theme-installer {
-       display: none;
-}
-
-#theme-installer.single-theme {
-       display: block;
-}
-
-.install-theme-info {
-       display: none;
-       padding: 10px 20px 20px;
-}
-
-.single-theme .install-theme-info {
-       padding-top: 15px;
-}
-
-#theme-installer .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;
-}
-
-#theme-installer .wp-full-overlay-header {
-       margin-top: 9px;
-}
-
-#theme-installer .wp-full-overlay-header .theme-install {
-       float: right;
-       /* For when .theme-install is a span rather than a.button-primary (already installed theme) */
-       line-height: 26px;
-}
-
-#theme-installer .wp-full-overlay-sidebar {
-       background: #EEE;
-       border-right: 1px solid #DDD;
-}
-
-#theme-installer .wp-full-overlay-main {
-       background: #fff url('../images/spinner.gif') no-repeat fixed center center;
-       background-size: 20px 20px;
-}
-
-
-/*------------------------------------------------------------------------------
-  25.0 - Tabbed Admin Screen Interface (Experimental)
-------------------------------------------------------------------------------*/
-
-.nav-tab {
-       border-style: solid;
-       border-width: 1px 1px 0;
-       font-size: 12px;
-       line-height: 16px;
-       display: inline-block;
-       padding: 4px 14px 6px;
-       text-decoration: none;
-       margin: -4px 4px -1px 0;
-}
-
-.nav-tab-active {
-       border-width: 1px;
-}
-
-.nav-tab-active,
-.nav-tab-active:hover {
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
-}
-
-h2.nav-tab-wrapper,
-h3.nav-tab-wrapper {
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
-       padding-bottom: 0;
-       padding-left: 10px;
-}
-
-h2 .nav-tab {
-       padding: 6px 10px;
-       font-weight: bold;
-       font-size: 15px;
-       line-height: 24px;
-}
-
-
-/*------------------------------------------------------------------------------
-  26.0 - Misc
-------------------------------------------------------------------------------*/
-
-#excerpt,
-.attachmentlinks {
-       margin: 0;
-       height: 4em;
-       width: 98%;
-}
-
-#template div {
-       margin-right: 190px;
-}
-
-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: 0.6em;
-}
-
-.column-author img,
-.column-username img,
-.column-comment .comment-author img {
-       float: left;
-       margin-right: 10px;
-       margin-top: 1px;
-}
-
-.row-actions {
-       font-size: 13px;
-       visibility: hidden;
-       padding: 2px 0 0;
-}
-
-tr:hover .row-actions,
-.mobile .row-actions,
-.row-actions.visible,
-div.comment-item:hover .row-actions {
-       visibility: visible;
-}
-
-/* deprecated */
-.row-actions-visible {
-       padding: 2px 0 0;
-}
-
-.form-table .pre {
-       padding: 8px;
-       margin: 0;
-}
-
-table.form-table td .updated {
-       font-size: 13px;
-}
-
-.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;
-       white-space: nowrap;
-       cursor: default;
-}
-
-.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,
-.metabox-holder h3 {
-       font-size: 14px;
-       padding: 8px 12px;
-       margin: 0;
-       line-height: 1.4;
-}
-
-#poststuff .inside {
-       margin: 6px 0 0 0;
-}
-
-#poststuff .inside #parent_id,
-#poststuff .inside #page_template {
-       max-width: 100%;
-}
-
-.inline-edit-row #post_parent,
-.inline-edit-row select[name="page_template"] {
-       max-width: 80%;
-}
-
-.ie8 #poststuff .inside #parent_id,
-.ie8 #poststuff .inside #page_template,
-.ie8 .inline-edit-row #post_parent,
-.ie8 .inline-edit-row select[name="page_template"] {
-       width: 250px;
-}
-
-#post-visibility-select {
-       line-height: 1.5em;
-       margin-top: 3px;
-}
-
-#poststuff #submitdiv .inside {
-       margin: 0;
-       padding: 0;
-}
-
-.edit-form-section {
-       margin-bottom: 20px;
-}
-
-#templateside ul li a {
-       text-decoration: none;
-}
-
-.tool-box .title {
-       margin: 8px 0;
-       font-size: 18px;
-       font-weight: normal;
-       line-height: 24px;
-}
-
-#sidemenu {
-       margin: -30px 15px 0 315px;
-       list-style: none;
-       position: relative;
-       float: right;
-       padding-left: 10px;
-       font-size: 12px;
-}
-
-#sidemenu a {
-       padding: 0 7px;
-       display: block;
-       float: left;
-       line-height: 28px;
-       border-top-width: 1px;
-       border-top-style: solid;
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
-       -webkit-transition: none;
-       -moz-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: normal;
-       padding-left: 6px;
-       padding-right: 6px;
-       -webkit-border-top-left-radius: 3px;
-       -webkit-border-top-right-radius: 3px;
-       border-top-left-radius: 3px;
-       border-top-right-radius: 3px;
-       border-width: 1px;
-       border-style: solid;
-}
-
-#sidemenu li a .count-0 {
-       display: none;
-}
-
-.plugin-install #description,
-.plugin-install-network #description {
-       width: 60%;
-}
-
-table .vers,
-table .column-visible,
-table .column-rating {
-       text-align: left;
-}
-
-.error-message {
-       color: red;
-       font-weight: 600;
-}
-
-/* Scrollbar fix for bulk upgrade iframe */
-body.iframe {
-       height: 98%;
-}
-
-/* Upgrader styles, Specific to Language Packs */
-.lp-show-latest p {
-       display: none;
-}
-.lp-show-latest p:last-child,
-.lp-show-latest .lp-error p {
-       display: block;
-}
-
-/* - Only used once or twice in all of WP - deprecate for global style
-------------------------------------------------------------------------------*/
-td.media-icon {
-       text-align: center;
-       width: 80px;
-       padding-top: 8px;
-       padding-bottom: 8px;
-}
-
-td.media-icon img {
-       max-width: 80px;
-       max-height: 60px;
-}
-
-#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;
-}
-
-/* - Used - but could/should be deprecated with a CSS reset
-------------------------------------------------------------------------------*/
-.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;
-}
-
-/*------------------------------------------------------------------------------
-  27.0 - Localization
-------------------------------------------------------------------------------*/
-
-/* RTL except Hebrew (see below): Tahoma as the first font; */
-body.rtl,
-body.rtl .press-this a.wp-switch-editor {
-       font-family: Tahoma, Arial, sans-serif;
-}
-
-
-/* he_IL: Remove Tahoma from the font stack. Arial is best for Hebrew. */
-body.locale-he-il,
-body.locale-he-il .press-this a.wp-switch-editor {
-       font-family: Arial, sans-serif;
-}
-
-/* he_IL: Have <em> be bold rather than italic. */
-.locale-he-il em {
-       font-style: normal;
-       font-weight: bold;
-}
-
-
-/*-----------------------------------------------------------------------------
- MERGED
--------------------------------------------------------------------------------*/
-
-/* dashboard */
-.edit-box {
-       display: none;
-}
-
-h3:hover .edit-box {
-       display: inline;
-}
-
-#dashboard-widgets form .input-text-wrap input {
-       width: 100%;
-}
-
-#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 {
-       font-weight: normal;
-       font-size: 14px;
-       margin: 0 0 .2em;
-       padding: 0;
-}
-
-#dashboard_plugins h5 {
-       font-size: 14px;
-}
-
-/* Recent Comments */
-
-#latest-comments #the-comment-list {
-       position: relative;
-}
-
-#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: normal;
-}
-
-#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;
-}
-
-/* QuickDraft */
-
-#title-wrap label {
-       cursor: text;
-}
-
-#title-wrap #title {
-       padding: 2px 6px;
-       font-size: 1.3em;
-       line-height: 100%;
-       outline: none;
-}
-
-#title-wrap #title-prompt-text {
-       font-size: 1.1em;
-       padding: 5px 8px;
-}
-
-/* Feeds */
-.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;
-}
-
-/* Browser Nag */
-#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: transparent none;
-       color: #fff;
-       -webkit-box-shadow: none;
-       box-shadow: none;
-}
-
-#dashboard_browser_nag a {
-       color: #fff;
-}
-
-/* Make the browser nags easier to read with Open Sans */
-
-#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 p,
-.postbox#dashboard_browser_nag a,
-.postbox#dashboard_browser_nag p.browser-update-nag {
-       font-size: 16px;
-}
-
-
-/* login */
-
-#loginform p.submit,
-.login-action-lostpassword p.submit {
-       border: none;
-       margin: -10px 0 20px; /* May want to revisit this */
-}
-
-.login * {
-       margin: 0;
-       padding: 0;
-}
-
-.login form {
-       margin-top: 20px;
-       margin-left: 0;
-       padding: 26px 24px 46px;
-       font-weight: normal;
-       overflow: hidden;
-}
-
-.login form .forgetmenot {
-       font-weight: normal;
-       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');
-       background-size: 80px 80px;
-       background-position: center top;
-       background-repeat: no-repeat;
-       color: #999;
-       height: 80px;
-       font-size: 20px;
-       font-weight: normal;
-       line-height: 1.3em;
-       margin: 0 auto 25px;
-       padding: 0;
-       text-decoration: none;
-       width: 80px;
-       text-indent: -9999px;
-       outline: none;
-       overflow: hidden;
-       display: block;
-}
-
-#login {
-       width: 320px;
-       padding: 8% 0 0;
-       margin: auto;
-}
-
-#login_error,
-.login .message {
-       margin-left: 0;
-       padding: 12px;
-}
-
-.login #nav,
-.login #backtoblog {
-       font-size: 13px;
-       padding: 0 24px 0;
-}
-
-.login #nav {
-       margin: 24px 0 0 0;
-}
-
-#backtoblog {
-       margin: 16px 0 0 0;
-}
-
-.login form .input,
-.login input[type="text"] {
-       font-size: 24px;
-       line-height: 1;
-       width: 100%;
-       padding: 3px;
-       margin: 2px 6px 16px 0;
-}
-
-.login #pass-strength-result {
-       width: 250px;
-       font-weight: 600;
-       border-style: solid;
-       border-width: 1px;
-       margin: 12px 0 6px;
-       padding: 6px 5px;
-       text-align: center;
-}
-
-.mobile #login {
-       padding: 20px 0;
-}
-
-.mobile #login form,
-.mobile #login .message,
-.mobile #login_error {
-       margin-left: 0;
-}
-
-.mobile #login #nav,
-.mobile #login #backtoblog {
-       margin-left: 8px;
-}
-
-.mobile #login h1 a {
-       width: auto;
-}
-
-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 */
-/* Background Color for Site Status */
-.wp-list-table .site-deleted {
-       background: #ff8573;
-}
-.wp-list-table .site-spammed {
-       background: #faafaa;
-}
-.wp-list-table .site-archived {
-       background: #ffebe8;
-}
-.wp-list-table .site-mature {
-       background: #fecac2;
-}
-
-/* nav-menu */
-
-.no-js #message {
-       display: block;
-}
-
-.accordion-section ul.category-tabs,
-.accordion-section ul.add-menu-item-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;
-}
-
-#nav-menus-frame .accordion-section-content .inside {
-       font-size: 14px;
-}
-
-#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 .postbox,
-.metabox-holder-disabled .accordion-section-content,
-.metabox-holder-disabled .accordion-section-title {
-       opacity: 0.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 {
-       font-style: italic;
-       font-weight: normal;
-       margin-left: 4px;
-}
-
-.manage-menus {
-       margin-top: 23px;
-       padding: 10px;
-       overflow: hidden;
-}
-
-.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 p {
-       margin: .3em 0 .6em;
-}
-
-.menu-edit #post-body-content h3 {
-       margin: 1em 0 10px;
-}
-
-.menu-settings {
-       border-top-width: 1px;
-       border-top-style: solid;
-       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 {
-       font-size: 11px;
-}
-
-/* Menu Container */
-#menu-management-liquid {
-       float: left;
-       min-width: 100%;
-       margin-top: 3px;
-}
-
-#menu-management {
-       position: relative;
-       margin-right: 20px;
-       margin-top: -3px;
-       width: 100%;
-}
-
-#menu-management .menu-edit {
-       margin-bottom: 20px;
-}
-
-.nav-menus-php #post-body {
-       padding: 0 10px 10px;
-       border-width: 1px 0;
-       border-style: solid;
-}
-
-#nav-menu-header,
-#nav-menu-footer {
-       padding: 0 10px;
-}
-
-#nav-menu-header {
-       border-bottom: 1px solid;
-       margin-bottom: 0;
-}
-
-#nav-menu-header .menu-name-label {
-       margin-top: 4px;
-}
-
-.nav-menus-php #post-body div.updated,
-.nav-menus-php #post-body div.error {
-       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 10px;
-       margin-bottom: 5px;
-}
-
-#select-nav-menu {
-       width: 100px;
-       display: inline;
-}
-
-#menu-name-label {
-       margin-top: -2px;
-}
-
-.widefat td.menu-location-menus {
-       padding-bottom: 5px;
-}
-
-.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-edit-menu-link,
-.locations-add-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 {
-       font-style: italic;
-}
-
-#menu-management .inside {
-       padding: 0 10px;
-}
-
-/* Add Menu Item Boxes */
-.postbox .howto input,
-.accordion-container .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;
-}
-
-/* Button Primary Actions */
-#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 .submitdelete,
-.nav-menus-php .submitcancel {
-       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.right, .button-secondary.right, .button-primary.right {
-       float: right;
-}
-
-/* Button Secondary Actions */
-.list-controls {
-       float: left;
-       margin-top: 5px;
-}
-
-.add-to-menu {
-       float: right;
-}
-
-.postbox .spinner {
-       display: none;
-       vertical-align: middle;
-}
-
-.button-controls {
-       clear:both;
-       margin: 10px 0;
-}
-
-.show-all,
-.hide-all {
-       cursor: pointer;
-}
-
-.hide-all {
-       display: none;
-}
-
-/* Create Menu */
-#menu-name {
-       width: 270px;
-}
-
-#manage-menu .inside {
-       padding: 0px 0px;
-}
-
-/* Custom Links */
-#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;
-}
-
-/* Menu item types */
-.quick-search {
-       width: 190px;
-}
-
-.nav-menus-php .list-wrap {
-       display: none;
-       clear: both;
-       margin-bottom: 10px;
-}
-
-.nav-menus-php .list-container {
-       max-height: 200px;
-       overflow-y: auto;
-       padding: 10px 10px 5px;
-}
-
-.nav-menus-php .postbox p.submit {
-       margin-bottom: 0;
-}
-
-/* Listings */
-.nav-menus-php .list li {
-       display: none;
-       margin: 0;
-       margin-bottom: 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;
-}
-
-/* Nav Menu */
-#menu-container .inside {
-       padding-bottom: 10px;
-}
-
-.menu {
-       padding-top:1em;
-}
-
-#menu-to-edit {
-       margin: 0;
-       padding: 0.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;
-       width: 382px;
-       line-height: 30px;
-       overflow: hidden;
-       word-wrap: break-word;
-}
-
-#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;
-}
-
-.menu-item-handle .item-title {
-       font-size: 13px;
-       font-weight: 600;
-       line-height: 20px;
-       display: block;
-       margin-right: 13em;
-}
-
-/* Sortables */
-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;
-}
-
-/* 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; }
-.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: 0px; }
-.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; }
-
-/* Menu item controls */
-.item-type {
-       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: none;
-       overflow: hidden;
-       white-space: nowrap;
-}
-
-/* Menu editing */
-.menu-instructions-inactive {
-       display: none;
-}
-
-.menu-item-settings {
-       display: block;
-       width: 402px;
-       padding: 10px 0 10px 10px;
-       position: relative;
-       z-index: 10; /* Keep .item-title's shadow from appearing on top of .menu-item-settings */
-}
-
-.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;
-       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;
-       height: 40px;
-}
-
-.description-wide {
-       width: 390px;
-}
-
-.menu-item-actions {
-       padding-top: 15px;
-}
-
-#cancel-save {
-       cursor: pointer;
-}
-
-/* Major/minor publishing actions (classes) */
-.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;
-       padding: 1px 2px;
-       text-decoration: none;
-}
-
-.nav-menus-php .major-publishing-actions .form-invalid {
-       padding-left: 4px;
-       margin-left: -4px;
-       border: 0 none;
-}
-
-/* Clearfix */
-#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;
-}
-
-#nav-menus-frame,
-.button-controls,
-#menu-item-url-wrap,
-#menu-item-name-wrap {
-       display: block;
-}
-
-/* Star Ratings - Back-compat for pre-3.8 */
-div.star-holder {
-       position: relative;
-       height: 17px;
-       width: 100px;
-       background: url('../images/stars.png?ver=20121108') repeat-x bottom left;
-}
-
-div.star-holder .star-rating {
-       background: url('../images/stars.png?ver=20121108') repeat-x top left;
-       height: 17px;
-       float: left;
-}
-
-/* Star Ratings */
-.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: normal;
-       font-style: normal;
-       vertical-align: top;
-       -moz-transition: color .1s ease-in 0;
-       -webkit-transition: color .1s ease-in 0;
-       text-align: center;
-       color: #0074a2;
-}
-
-.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: normal;
-       margin: 6px 0 0;
-}
-
-/* Header on thickbox */
-#plugin-information-header {
-       margin: 0;
-       padding: 0 5px;
-       font-weight: 600;
-       position: relative;
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
-       height: 2.5em;
-}
-#plugin-information ul#sidemenu {
-       font-weight: normal;
-       margin: 0 5px;
-       position: absolute;
-       left: 0;
-       bottom: -1px;
-}
-
-/* Install sidemenu */
-#plugin-information {
-       height: auto;
-}
-
-#plugin-information p.action-button {
-       width: 100%;
-       padding-bottom: 0;
-       margin-bottom: 0;
-       margin-top: 10px;
-       -webkit-border-top-left-radius: 3px;
-       -webkit-border-bottom-left-radius: 3px;
-       border-top-left-radius: 3px;
-       border-bottom-left-radius: 3px;
-}
-
-#plugin-information .action-button a {
-       text-align: center;
-       font-weight: 600;
-       text-decoration: none;
-       display: block;
-       line-height: 2em;
-}
-
-#plugin-information h2 {
-       clear: none !important;
-       margin-right: 200px;
-}
-
-#plugin-information .fyi {
-       margin: 0 10px 50px;
-       width: 210px;
-}
-
-#plugin-information .fyi h2 {
-       font-size: 0.9em;
-       margin-bottom: 0;
-       margin-right: 0;
-}
-
-#plugin-information .fyi h2.mainheader {
-       padding: 5px;
-       -webkit-border-top-left-radius: 3px;
-       border-top-left-radius: 3px;
-}
-
-#plugin-information .fyi ul {
-       padding: 10px 5px 10px 7px;
-       margin: 0;
-       list-style: none;
-       -webkit-border-bottom-left-radius: 3px;
-       border-bottom-left-radius: 3px;
-}
-
-#plugin-information .fyi li {
-       margin-right: 0;
-}
-
-#plugin-information #section-holder {
-       padding: 10px;
-}
-
-#plugin-information .section ul,
-#plugin-information .section ol {
-       margin-left: 16px;
-       list-style-type: square;
-       list-style-image: none;
-}
-
-#plugin-information #section-screenshots ol {
-       list-style: none;
-       margin: 0;
-}
-
-#plugin-information #section-screenshots li img {
-       vertical-align: text-top;
-       max-width: 100%;
-       width: auto;
-       height: auto;
-}
-
-#plugin-information #section-screenshots li p {
-       font-style: italic;
-       padding-left: 20px;
-       padding-bottom: 2em;
-}
-
-#plugin-information #section-screenshots ol,
-#plugin-information .updated,
-#plugin-information pre {
-       margin-right: 215px;
-}
-
-#plugin-information pre {
-       padding: 7px;
-       overflow: auto;
-       border-width: 1px;
-       border-style: solid;
-}
-
-.plugin-version-author-uri {
-       font-size: 13px;
-}
-
-img {
-       border: none;
-}
-
-/* Header */
-#wphead {
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
-}
-
-.press-this #wphead {
-       height: 32px;
-       margin-left: 0;
-       margin-right: 0;
-       margin-bottom: 5px;
-}
-
-.press-this #header-logo {
-       float: left;
-       margin: 7px 7px 0;
-       -webkit-user-select: none;
-       -moz-user-select: none;
-       user-select: none;
-}
-
-.press-this #wphead h1 {
-       font-weight: normal;
-       font-size: 16px;
-       line-height: 32px;
-       margin: 0;
-       float: left;
-}
-
-.press-this #wphead h1 a {
-       text-decoration: none;
-}
-
-.press-this #wphead h1 a:hover {
-       text-decoration: underline;
-}
-
-.press-this #message {
-       margin: 10px 0;
-}
-
-.press-this .posting {
-       margin-right: 252px;
-}
-
-.press-this-sidebar {
-       float: right;
-       width: 240px;
-       padding-top: 10px;
-}
-
-.press-this #title {
-       margin-left: 0;
-       margin-right: 0;
-       -moz-box-sizing: border-box;
-       -webkit-box-sizing: border-box;
-       -ms-box-sizing: border-box;
-       box-sizing: border-box;
-}
-
-.press-this .tagchecklist {
-       margin-top: 8px;
-}
-
-.press-this #titlediv {
-       margin: 0;
-}
-
-.press-this .wp-media-buttons {
-       cursor: default;
-       padding: 8px 8px 6px;
-}
-
-.press-this .howto {
-       margin-top: 2px;
-       margin-bottom: 3px;
-       font-size: 12px;
-       font-style: italic;
-       display: block;
-}
-
-.press-this #wp-content-editor-container {
-       clear: none;
-}
-
-.press-this #poststuff .inside {
-       margin-top: 18px;
-}
-
-.press-this .category-tabs {
-       margin-bottom: 3px;
-}
-
-/* Editor/Main Column */
-.press-this #poststuff {
-       margin: 0 10px 10px;
-       padding: 0;
-}
-
-.press-this #photo-add-url-div input[type="text"] {
-       width: 220px;
-}
-
-#poststuff #editor-toolbar {
-       height: 30px;
-}
-
-div.zerosize {
-       border: 0 none;
-       height: 0;
-       margin: 0;
-       overflow: hidden;
-       padding: 0;
-       width: 0;
-}
-
-.posting {
-       margin-right: 212px;
-       position: relative;
-}
-
-.press-this .inner-sidebar {
-       width: 200px;
-}
-
-.press-this .inner-sidebar .sleeve {
-       padding-top: 5px;
-}
-
-.press-this #submitdiv p {
-       margin: 0;
-       padding: 6px;
-}
-
-.press-this #submitdiv #publishing-actions {
-       border-bottom: 1px solid #dfdfdf;
-}
-
-.press-this #publish {
-       float: right;
-}
-
-.press-this #poststuff h2,
-.press-this #poststuff h3 {
-       font-size: 14px;
-       line-height: 1;
-}
-
-.press-this #tagsdiv-post_tag h3,
-.press-this #categorydiv h3 {
-       cursor: pointer;
-}
-
-.press-this #submitdiv h3 {
-       cursor: default;
-}
-
-h3.tb {
-       font-weight: 600;
-       font-size: 12px;
-       margin-left: 5px;
-}
-
-#TB_window {
-       border: 1px solid #333;
-}
-
-.press-this .postbox,
-.press-this .stuffbox {
-       margin-bottom: 10px;
-       min-width: 0;
-}
-
-.js .meta-box-sortables .postbox:hover .handlediv {
-       margin-right: 0 !important;
-}
-
-/* Metabox collapse arrow indicators */
-.js .sidebar-name .sidebar-name-arrow:before,
-.js .meta-box-sortables .postbox .handlediv:before {
-       right: 12px;
-       font: normal 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 .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow,
-.js #widgets-left .sidebar-name:hover .sidebar-name-arrow {
-       display: block;
-}
-
-/* Show the arrow only on hover */
-.js .sidebar-name .sidebar-name-arrow:before,
-.js .meta-box-sortables .postbox .handlediv:before {
-       content: '\f142';
-}
-
-.js .widgets-holder-wrap.closed .sidebar-name-arrow:before,
-.js .meta-box-sortables .postbox.closed .handlediv:before {
-       content: '\f140';
-}
-
-.press-this #submitdiv:hover .handlediv {
-       background: none;
-}
-
-.tbtitle {
-       font-size: 1.7em;
-       outline: none;
-       padding: 3px 4px;
-       border-color: #dfdfdf;
-}
-
-.press-this .actions {
-       float: right;
-       margin: -19px 0 0;
-}
-
-.press-this #extra-fields .actions {
-       margin: -32px -7px 0 0;
-}
-
-.press-this .actions li {
-       float: left;
-       list-style: none;
-       margin-right: 10px;
-}
-
-#extra-fields .button {
-       margin-right: 5px;
-}
-
-/* Photo Styles */
-#photo_saving {
-       margin: 0 8px 8px;
-       vertical-align: middle;
-}
-
-#img_container_container {
-       overflow: auto;
-}
-
-#extra-fields {
-       margin-top: 10px;
-       position: relative;
-}
-
-#extra-fields h2 {
-       margin: 12px;
-}
-
-#waiting {
-       margin-top: 10px;
-       overflow: hidden;
-}
-
-#waiting span {
-       float: right;
-       margin: 0 0 0 5px;
-}
-
-#waiting .spinner {
-       display: block;
-}
-
-#extra-fields .postbox {
-       margin-bottom: 5px;
-}
-
-#extra-fields .titlewrap {
-       padding: 0;
-       overflow: auto;
-       height: 120px;
-}
-
-#img_container a {
-       display: block;
-       float: left;
-       overflow: hidden;
-}
-
-#img_container img,
-#img_container a {
-       width: 68px;
-       height: 68px;
-}
-
-#img_container img {
-       border: none;
-       background-color: #f4f4f4;
-       cursor: pointer;
-}
-
-#img_container a,
-#img_container a:link,
-#img_container a:visited {
-       border: 1px solid #ccc;
-       display: block;
-       position: relative;
-}
-
-#img_container a:hover,
-#img_container a:active {
-       border-color: #000;
-       z-index: 1000;
-       border-width: 1px;
-}
-
-/* Video */
-#embed-code {
-       width: 100%;
-       height: 98px;
-}
-
-/* Categories */
-.press-this .categorydiv div.tabs-panel {
-       height: 100px;
-}
-
-/* Tags */
-.press-this .tagsdiv .newtag {
-       width: 120px;
-}
-
-.press-this #content {
-       margin: 5px 0;
-       padding: 0 5px;
-       border: 0 none;
-       height: 345px;
-       font-family: Consolas, Monaco, monospace;
-       font-size: 13px;
-       line-height: 19px;
-       background: transparent;
-}
-
-/* Submit */
-.press-this #publishing-actions .spinner {
-       display: inline;
-       vertical-align: middle;
-}
-
-#TB_ajaxContent #options {
-       position: absolute;
-       top: 20px;
-       right: 25px;
-       padding: 5px;
-}
-
-#TB_ajaxContent h3 {
-       margin-bottom: .25em;
-}
-
-.error a {
-       text-decoration: underline;
-}
-
-.updated a {
-       text-decoration: none;
-       padding-bottom: 2px;
-}
-
-/* tag hints */
-.taghint {
-       color: #aaa;
-       margin: -17px 0 0 7px;
-       visibility: hidden;
-}
-
-input.newtag ~ div.taghint {
-       visibility: visible;
-}
-
-input.newtag:focus ~ div.taghint {
-       visibility: hidden;
-}
-
-/* TinyMCE */
-#mce_fullscreen_container {
-       background: #fff;
-}
-
-#photo-add-url-div input[type="text"] {
-       width: 300px;
-}
-
-/* Theme/Plugin Editor */
-.alignleft h3 {
-       margin: 0;
-}
-
-#template textarea {
-       font-family: Consolas, Monaco, monospace;
-       font-size: 13px;
-       width: 97%;
-       background: #f9f9f9;
-       outline: none;
-}
-
-/* @noflip */
-#template textarea,
-#docs-list {
-       direction: ltr;
-}
-
-#template p {
-       width: 97%;
-}
-
-#templateside {
-       float: right;
-       width: 190px;
-       word-wrap: break-word;
-}
-
-#templateside h3,
-#postcustomstuff p.submit {
-       margin: 0;
-}
-
-#templateside h4 {
-       margin: 1em 0 0;
-}
-
-#templateside ol,
-#templateside ul {
-       margin: .5em 0;
-       padding: 0;
-}
-
-#templateside li {
-       margin: 4px 0;
-}
-
-#templateside 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: bold;
-}
-
-.nonessential {
-       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%;
-}
-
-.feature-filter {
-       padding: 8px 12px 0;
-}
-
-.feature-filter .feature-group {
-       float: left;
-       margin: 5px 10px 10px;
-}
-
-.feature-filter .feature-group li {
-       display: inline-block;
-       vertical-align: top;
-       list-style-type: none;
-       padding-right: 25px;
-       width: 150px;
-}
-
-/* General Widgets Styles */
-
-.widget {
-       margin: 0 auto 10px;
-       position: relative;
-       box-sizing: border-box;
-       -moz-box-sizing: border-box;
-       -webkit-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 {
-       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;
-       user-select: none;
-}
-
-.widgets-holder-wrap .widget-inside {
-       border-top: none;
-       padding: 1px 15px 15px 15px;
-       line-height: 16px;
-}
-
-/* Widget Dragging Helpers */
-.widget.ui-draggable-dragging {
-       min-width: 100%;
-}
-
-.widget.ui-sortable-helper {
-       opacity: 0.8;
-}
-
-.widget-placeholder {
-       border: 1px dashed #bbb;
-       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;
-}
-
-/* Widget Sidebars */
-.sidebar-name {
-       border: none;
-       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;
-}
-
-/* Widgets 2-col Layout */
-div.widget-liquid-left {
-       margin: 0;
-       width: 38%;
-       float: left;
-}
-
-div.widget-liquid-right {
-       float: right;
-       width: 58%;
-}
-
-/* Widgets Left - Available Widgets */
-
-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;
-}
-
-div#widgets-left .widget-holder {
-       background: transparent;
-       border: 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;
-}
-
-/* Inactive Sidebars */
-#widgets-left .inactive-sidebar {
-       clear: both;
-       width: 100%;
-       background: transparent;
-       padding: 0;
-       margin: 0 0 20px 0;
-       border: none;
-       box-shadow: none;
-}
-
-#widgets-left .inactive-sidebar.first {
-       margin-top: 40px;
-}
-
-/* Not sure what this is for... */
-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: transparent;
-       margin: 0;
-       position: relative;
-}
-
-/* Widgets Right */
-
-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 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 {
-       margin: -5px 5px;
-       float: none;
-}
-
-/* Dragging a widget over a closed sidebar */
-#widgets-right .widgets-holder-wrap.widget-hover {
-       border-color: #777;
-       box-shadow: 0 1px 2px rgba(0,0,0,0.3);
-}
-
-/* Accessibility Mode */
-.widgets_access #widgets-left .widget .widget-top {
-       cursor: auto;
-}
-
-.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,
-.widgets_access #wpwrap .widgets-holder-wrap.closed .widget,
-.widgets_access #wpwrap .widget-control-edit {
-       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: 1px solid #444;
-}
-
-.widgets-holder-wrap .sidebar-name,
-.widgets-holder-wrap .sidebar-description {
-       -webkit-user-select: none;
-       -moz-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 .widgets-holder-wrap.closed .widget,
-.js .widgets-holder-wrap.closed .sidebar-description,
-.js .closed br.clear {
-       display: none;
-}
-
-.nav-menus-php .item-edit:before,
-.widget-top a.widget-action:after,
-.control-section .accordion-section-title:after,
-.accordion-section-title:after {
-       right: 0;
-       content: '\f140';
-       border: none;
-       background: none;
-       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;
-}
-
-.widget-top a.widget-action:after {
-       padding: 12px 12px 0;
-}
-
-.nav-menus-php .item-edit:before {
-       line-height: 2.1;
-}
-
-.control-section .accordion-section-title:after,
-.accordion-section-title:after {
-       float: right;
-       right: 20px;
-       top: -2px;
-}
-
-.control-section.open .accordion-section-title:after,
-#customize-info.open .accordion-section-title:after,
-.nav-menus-php .menu-item-edit-active .item-edit:before {
-       content: '\f142';
-}
-
-/* Hide Widget Settings by Default */
-.widget-inside,
-.widget-description {
-       display: none;
-}
-
-/* Dragging widgets over the available widget area show's a "Deactivate" message */
-#removing-widget {
-       display: none;
-       font-weight: normal;
-       padding-left: 15px;
-       font-size: 12px;
-       line-height: 1;
-}
-
-.widget-control-noform,
-#access-off,
-.widgets_access .widget-action,
-.widgets_access .sidebar-name-arrow,
-.widgets_access #access-on,
-.widgets_access .widget-holder .description,
-.no-js .widget-holder .description {
-       display: none;
-}
-
-.widgets_access .widget-holder,
-.widgets_access #widget-list {
-       padding-top: 10px;
-}
-
-.widgets_access #access-off {
-       display: inline;
-}
-
-.widgets_access .sidebar-name,
-.widgets_access .widget .widget-top {
-       cursor: default;
-}
-
-
-/* Widgets Area Chooser */
-.widget-liquid-left #widgets-left.chooser #available-widgets .widget,
-.widget-liquid-left #widgets-left.chooser .inactive-sidebar {
-       transition: opacity 0.1s linear;
-}
-
-.widget-liquid-left #widgets-left.chooser #available-widgets .widget,
-.widget-liquid-left #widgets-left.chooser .inactive-sidebar {
-       /* -webkit-filter: blur(1px); */
-       opacity: 0.2;
-       pointer-events: none;
-}
-
-.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question {
-       /* -webkit-filter: none; */
-       opacity: 1;
-       pointer-events: auto;
-}
-
-.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: none;
-       position: relative;
-       transition: background: 0.2s ease-in-out;
-}
-
-.widgets-chooser li:hover,
-.widgets-chooser li:focus {
-       background: rgba(255,255,255,0.7);
-}
-
-.widgets-chooser li:focus:before {
-       content: '\f147';
-       display: block;
-       -webkit-font-smoothing: antialiased;
-       font: normal 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: #2ea2cc;
-       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: normal 26px/1 'dashicons';
-       color: #fff;
-       position: absolute;
-       top: 7px;
-       left: 5px;
-}
-
-.widgets-chooser .widgets-chooser-actions {
-       padding: 10px 0 12px 0;
-       text-align: center;
-}
-
-.widgets-chooser button {
-       margin-right: 5px;
-}
-
-#available-widgets .widget .widget-top {
-       cursor: pointer;
-}
-
-/* Enable draggable on IE10 touch events until it's rolled into jQuery UI core */
-.ui-sortable,
-.ui-draggable {
-       -ms-touch-action: none;
-       touch-action:     none;
-}
-
-.meta-box-sortables.ui-sortable,
-.widgets-holder-wrap .ui-draggable,
-.widgets-holder-wrap .ui-sortable,
-.menu.ui-sortable {
-       -ms-touch-action: auto;
-       touch-action:     auto;
-}
-
-.meta-box-sortables.ui-sortable .hndle,
-.menu.ui-sortable .menu-item-handle {
-       -ms-touch-action: none;
-       touch-action:     none;
-}
-
-/* Accordion */
-
-.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;
-       border-left: 1px solid #dfdfdf;
-       border-right: 1px solid #dfdfdf;
-}
-
-.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;
-       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: none;
-}
-
-.accordion-section-title:hover:after,
-.accordion-section-title:focus:after {
-       border-color: #aaa 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:hover .accordion-section-title,
-.js .control-section .accordion-section-title:hover,
-.js .control-section.open .accordion-section-title,
-.js .control-section .accordion-section-title:focus {
-       color: #222;
-       background: #f5f5f5;
-}
-
-.control-section.open .accordion-section-title {
-       /* When expanded */
-       border-bottom: 1px solid #dfdfdf;
-}
-
-.sticky-menu #TB_window .updated {
-       margin: 16px 0 0;
-}
-
-li#wp-admin-bar-menu-toggle {
-       display: none;
-}
-
-/* =Media Queries
--------------------------------------------------------------- */
-
-@media screen and (max-width: 480px) {
-       div.widget-liquid-left {
-               width: 100%;
-               float: none;
-               border-right: none;
-               padding-right: 0;
-       }
-
-       #widgets-left .sidebar-name {
-               margin-right: 0;
-       }
-
-       #widgets-left #available-widgets .widget-top {
-               margin-right: 0;
-       }
-
-       #widgets-left .inactive-sidebar .widgets-sortables {
-               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 (max-width: 768px) {
-       /* categories */
-       #col-left {
-               width: 100%;
-       }
-
-       #col-right {
-               width: 100%;
-       }
-}
-
-@media only screen and (min-width: 769px) {
-       /* categories */
-       #col-left {
-               width: 35%;
-       }
-
-       #col-right {
-               width: 65%;
-       }
-}
-
-@media only screen and (max-width: 860px) {
-
-       /* categories */
-       #col-left {
-               width: 35%;
-       }
-
-       #col-right {
-               width: 65%;
-       }
-}
-
-@media only screen and (min-width: 980px) {
-
-       /* categories */
-       #col-left {
-               width: 35%;
-       }
-
-       #col-right {
-               width: 65%;
-       }
-}
-
-@media only screen and (max-width: 768px) {
-       /* categories */
-       #col-left {
-               width: 100%;
-       }
-
-       #col-right {
-               width: 100%;
-       }
-
-       .form-field input,
-       .form-field textarea {
-               width: 99%;
-       }
-
-       .form-wrap .form-field {
-               padding:0;
-       }
-
-       /* users */
-       #profile-page .form-table textarea {
-               max-width: 400px;
-               width: auto;
-       }
-
-       /* menu locations */
-       #menu-locations-wrap .widefat {
-               width: 100%;
-       }
-}
-
-@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;
-       }
-}
-
-/**
- * HiDPI Displays
- */
-@media print,
-  (-o-min-device-pixel-ratio: 5/4),
-  (-webkit-min-device-pixel-ratio: 1.25),
-  (min-resolution: 120dpi) {
-       tr.wp-locked .locked-indicator {
-               background-image: url('../images/lock-2x.png');
-               background-size: 16px 16px;
-       }
-
-       #content-resize-handle,
-       #post-body .wp_themeSkin .mceStatusbar a.mceResize {
-               background: transparent url('../images/resize-2x.gif') no-repeat scroll right bottom;
-               background-size: 11px 11px;
-       }
-
-       .rtl #content-resize-handle,
-       .rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize {
-               background: transparent url('../images/resize-rtl-2x.gif') no-repeat scroll right bottom;
-       }
-
-       /* Back-compat for pre-3.8 */
-       div.star-holder {
-               background: url('../images/stars-2x.png?ver=20121108') repeat-x bottom left;
-               background-size: 21px 37px;
-       }
-
-       /* Back-compat for pre-3.8 */
-       div.star-holder .star-rating {
-               background: url('../images/stars-2x.png?ver=20121108') repeat-x top left;
-               background-size: 21px 37px;
-       }
-
-       .wp-full-overlay .collapse-sidebar-arrow {
-               background-image: url('../images/arrows-2x.png');
-               background-size: 15px 123px;
-       }
-
-       .spinner,
-       .imgedit-wait,
-       .customize-loading #customize-container,
-       .revision-tick.completed-false,
-       #theme-installer .wp-full-overlay-main {
-               background-image: url('../images/spinner-2x.gif');
-       }
-
-}
-
-/* =Localized CSS
--------------------------------------------------------------- */
-
-/* zh_CN: Remove italic properties. */
-.locale-zh-cn .howto,
-.locale-zh-cn .tablenav .displaying-num,
-.locale-zh-cn .js .input-with-default-title,
-.locale-zh-cn .link-to-original,
-.locale-zh-cn .inline-edit-row fieldset span.title,
-.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,
-.locale-zh-cn #utc-time,
-.locale-zh-cn #local-time,
-.locale-zh-cn p.install-help,
-.locale-zh-cn p.help,
-.locale-zh-cn p.description,
-.locale-zh-cn span.description,
-.locale-zh-cn .form-wrap p {
-       font-style: normal;
-}
-
-/* zh_CN: Enlarge dashboard widget 'Configure' link */
-.locale-zh-cn .hdnle a { font-size: 12px; }
-
-/* 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 {
-       padding: 0 5px 1px; /* default 0 10px 1px */
-}
-.locale-de-de #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.input-text-wrap {
-       margin-left: 8em; /* default 5em */
-}
-.locale-ru-ru.press-this .posting {
-       margin-right: 277px; /* default 252px + 25px */
-}
-.locale-ru-ru .press-this-sidebar {
-       width: 265px; /* default 240px + 25px */
-}
-.locale-ru-ru #customize-header-actions .button {
-       padding: 0 5px 1px; /* default 0 10px 1px */
-}
-.locale-ru-ru #customize-header-actions .spinner {
-       margin: 16px 3px 0; /* default 16px 4px 0 5px */
-}
-
-/* lt_LT: QuickEdit */
-.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;
-}
-
-
-@-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: rgba(0, 0, 0, 0) !important;
-       }
-
-       #wpwrap {
-               background: #f0f0f0;
-       }
-
-       #wpcontent, .auto-fold #wpcontent {
-               position: relative;
-               margin-left: 0;
-               padding-left: 10px;
-       }
-
-       .wrap {
-               margin-right: 12px;
-               margin-left: 0;
-       }
-
-       .col-wrap {
-               padding: 0;
-       }
-
-       .sticky-menu #adminmenuwrap {
-               position: relative;
-               z-index: auto;
-               top: 0;
-       }
-
-       /* Hidden Elements */
-       #screen-meta,
-       #screen-meta-links,
-       #collapse-menu,
-       .post-format-select {
-               display: none !important;
-       }
-
-       /* Input Elements */
-       textarea {
-               -webkit-appearance: none;
-       }
-
-       input[type=text], input[type=search],
-       input[type=password], input[type=number] {
-               -webkit-appearance: none;
-               padding: 6px 10px;
-       }
-
-       input.code {
-               padding-bottom: 5px;
-               padding-top: 10px;
-       }
-
-       input[type=checkbox], .widefat th input[type=checkbox] {
-               -webkit-appearance: none;
-               padding: 10px;
-       }
-
-       .widefat th input[type=checkbox] {
-               margin-bottom: 8px;
-       }
-
-       input[type=checkbox]:checked:before, .widefat th input[type=checkbox]:before {
-               font: normal 30px/1 'Dashicons';
-               margin: -3px -5px;
-       }
-
-       input[type=radio],
-       input[type=checkbox] {
-               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;
-       }
-
-       .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;
-       }
-
-       #createuser .form-field input {
-               width: 100%;
-       }
-
-       /* Feedback Messages */
-       .wrap div.updated, .wrap div.error, .media-upload-form div.error {
-               margin: 20px 0 10px 0;
-               padding: 5px 10px;
-               font-size: 14px;
-               line-height: 175%;
-       }
-
-       /* Sidebar Adjustments */
-       .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 #adminmenu li.menu-top {
-               width: 100%;
-       }
-
-       /* Resize the admin menu items to a comfortable touch size */
-       .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;
-       }
-
-       /* Restore the menu names */
-       .auto-fold #adminmenu .wp-menu-name {
-               display: block;
-               margin-left: 35px;
-       }
-
-       /* Switch the arrow side */
-       .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;
-       }
-
-       /* Make the submenus appear correctly when tapped. */
-       #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 .selected .wp-submenu:after,
-       .auto-fold #adminmenu .wp-menu-open .wp-submenu:after {
-               display: none;
-       }
-
-       .auto-fold #adminmenu .opensub .wp-submenu {
-               display: none;
-       }
-
-       .auto-fold #adminmenu .selected .wp-submenu {
-               display: block;
-       }
-
-       .auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after {
-               display: block;
-       }
-
-       .auto-fold #adminmenu a.menu-top:focus + .wp-submenu,
-       .auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus + .wp-submenu {
-               position: relative;
-               left: -1px;
-               right: 0;
-               top: 0;
-       }
-
-       /* Remove submenu headers and adjust sub meu*/
-       #adminmenu .wp-submenu .wp-submenu-head {
-               display: none;
-       }
-
-       /*  Sidebar Toggle */
-       #wp-responsive-toggle {
-               position: fixed;
-               top: 5px;
-               left: 4px;
-               padding-right: 10px;
-               z-index: 99999;
-               border: none;
-               box-sizing: border-box;
-               -moz-box-sizing: border-box;
-       }
-
-       .wrap .icon32 + h2 {
-               margin-top: -2px;
-       }
-
-       .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-               background: #333;
-       }
-
-       .wp-responsive-open #wpbody {
-               right: -190px;
-       }
-
-       .auto-fold .wp-responsive-open #adminmenuback,
-       .auto-fold .wp-responsive-open #adminmenuwrap {
-               display: block;
-       }
-
-       /* General New Post Form */
-       #post-body-content {
-               min-width: 0;
-       }
-
-       #titlediv #title-prompt-text,
-       #wp-fullscreen-title-prompt-text {
-               padding: 10px 10px;
-       }
-
-       .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;
-       }
-
-       /* General Metabox */
-       .postbox {
-               font-size: 14px;
-       }
-
-       #poststuff h3,
-       .metabox-holder h3 {
-               padding: 12px;
-       }
-
-       .postbox .handlediv {
-               margin-top: 3px;
-       }
-
-       /* Publish Metabox Options */
-       #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 #jj,
-       .timestamp-wrap #aa,
-       .timestamp-wrap #hh,
-       .timestamp-wrap #mn {
-               padding: 12px 3px;
-               font-size: 14px;
-               margin-bottom: 5px;
-               width: auto;
-               text-align: center;
-       }
-
-       /* Categories Metabox */
-       ul.category-tabs {
-               margin: 30px 0 15px;
-       }
-
-       ul.category-tabs li.tabs {
-               padding: 15px;
-       }
-
-       .press-this ul.category-tabs li.tabs {
-               padding: 3px 5px 5px; /* Reset tabs in Press This to standard size */
-       }
-
-       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;
-       }
-
-       /* Tags Metabox */
-       .tagsdiv .newtag {
-               width: 100%;
-               padding: 25px 10px;
-               margin-bottom: 15px;
-       }
-
-       .tagchecklist {
-               margin: 25px 10px;
-       }
-
-       .tagchecklist span {
-               font-size: 16px;
-               line-height: 120%;
-       }
-
-       /* Revisions */
-       #diff-next-revision,
-       #diff-previous-revision {
-               margin-top: -1em;
-       }
-
-       table.diff {
-               -ms-word-break: break-all;
-               word-break: break-all;
-               word-wrap: break-word;
-       }
-
-       /* Discussion */
-       #commentstatusdiv p {
-               line-height: 2.8;
-       }
-
-       /* TinyMCE Adjustments */
-       .mceToolbar * {
-               white-space: normal !important;
-       }
-
-       .mceToolbar tr,
-       .mceToolbar td {
-               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-top: 6px;
-               padding-bottom: 6px;
-               padding-left: 6px;
-               padding-right: 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;
-       }
-
-       #wp-content-editor-tools {
-               overflow: hidden;
-               padding: 20px 15px 1px 0;
-               top: 1px;
-       }
-
-       a.wp-switch-editor {
-               font-size: 16px;
-               line-height: 1em;
-               margin: 3px 0 0 7px;
-               padding: 12px 15px;
-       }
-
-       #wp-content-media-buttons a {
-               font-size: 16px;
-               line-height: 37px;
-               height: 39px;
-               padding: 0 20px 0 15px;
-       }
-
-       .wp-media-buttons span.wp-media-buttons-icon,
-       .wp-media-buttons span.jetpack-contact-form-icon {
-               width: 22px !important;
-               margin-top: -3px !important;
-               margin-left: -5px !important;
-       }
-
-       .wp-media-buttons .add_media span.wp-media-buttons-icon:before,
-       .wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before {
-               font-size: 20px !important;
-       }
-
-       #content_wp_fullscreen {
-               display: none;
-       }
-
-       .misc-pub-section {
-               padding: 20px 10px 20px;
-       }
-
-       .misc-pub-section > a {
-               float: right;
-               font-size: 16px;
-       }
-
-       #delete-action,
-       #publishing-action {
-               line-height: 47px;
-       }
-
-       /* Subsubsub Nav */
-       .subsubsub {
-               font-size: 16px;
-               text-align: center;
-               margin-bottom: 15px;
-       }
-
-       /* WP List Table Options & Filters */
-       .tablenav {
-               height: auto;
-       }
-
-       .tablenav.top {
-               margin: 0;
-       }
-
-       .tablenav.bottom {
-               position: relative;
-               margin-top: 15px;
-       }
-
-       .tablenav br {
-               display: none;
-       }
-
-       .tablenav br.clear {
-               display: block;
-       }
-
-       #wpbody-content {
-               padding-bottom: 100px;
-       }
-
-       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;
-       }
-
-       .tablenav.top .actions, .view-switch {
-               display: none;
-       }
-
-       /* Pagination */
-       .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 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, 0.05);
-       }
-
-       .tablenav-pages .pagination-links .current-page {
-               padding: 10px;
-               font-size: 14px;
-       }
-
-       /* WP List Table Adjustments: General */
-       .form-wrap > p {
-               display: none;
-       }
-
-       .comment-count {
-               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 {
-               display: none;
-       }
-
-       .fixed .column-comment .comment-author {
-               display: block;
-       }
-
-       /* Posts */
-       .column-title {
-               width: 85%;
-       }
-
-       .fixed .column-comments, .widefat .check-column {
-               width: 35px
-       }
-
-       .widefat thead .check-column, .widefat tfoot .check-column {
-               padding: 10px 0 10px;
-       }
-
-       .widefat * {
-               word-wrap: normal;
-       }
-
-       /* Quick Edit and Bulk Edit */
-       #wpbody-content .quick-edit-row-post .inline-edit-col-left,
-       #wpbody-content .quick-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 .bulk-edit-row-post .inline-edit-col-right,
-       #wpbody-content .bulk-edit-row .inline-edit-col-left,
-       #wpbody-content .bulk-edit-row-page .inline-edit-col-right,
-       #wpbody-content .bulk-edit-row .inline-edit-col-bottom {
-               float: none;
-               width: 100%;
-       }
-
-       #wpbody-content .quick-edit-row fieldset .inline-edit-col label,
-       #wpbody-content .quick-edit-row fieldset .inline-edit-group label,
-       #wpbody-content .bulk-edit-row fieldset .inline-edit-col label,
-       #wpbody-content .bulk-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;
-               -moz-box-sizing: border-box;
-               box-sizing: border-box;
-       }
-
-       .inline-edit-row fieldset ul.cat-checklist label,
-       .inline-edit-row #bulk-titles div {
-               font-size: 16px;
-       }
-
-       .inline-edit-row fieldset label span.title {
-               float: none;
-       }
-
-       .inline-edit-row fieldset label.inline-edit-tags {
-               padding: 0 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=jj],
-       .inline-edit-row fieldset input[name=hh],
-       .inline-edit-row fieldset input[name=mn] {
-               width: 3em;
-       }
-
-       .inline-edit-row fieldset input[name=aa] {
-               width: 4.5em;
-       }
-
-       #bulk-titles div {
-               margin: 0.8em 0.3em;
-       }
-
-       #bulk-titles div a {
-               height: 22px;
-       }
-
-       /* Taxonomies */
-       .tags .column-posts {
-               width: 50px;
-       }
-
-       .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;
-       }
-
-       /* Form Tables */
-       .form-table {
-               -moz-box-sizing: border-box;
-               box-sizing: border-box;
-       }
-
-       .form-table th,
-       .form-table td {
-               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;
-       }
-
-       textarea,
-       input {
-               font-size: 16px;
-       }
-
-       .form-table td input[type="text"],
-       .form-table td input[type="password"],
-       .form-table td select,
-       .form-table td textarea,
-       .form-table span.description,
-       #profile-page .form-table textarea {
-               width: 100%;
-               font-size: 16px;
-               line-height: 1.5;
-               padding: 7px 10px;
-               display: block;
-               max-width: none;
-               box-sizing: border-box;
-               -moz-box-sizing: border-box;
-       }
-
-       input[type=text].small-text,
-       input[type=search].small-text,
-       input[type=password].small-text,
-       input[type=number].small-text,
-       input[type="number"].small-text,
-       .form-table input[type=text].small-text {
-               width: auto;
-               max-width: 55px;
-               display: inline;
-               padding: 3px 6px;
-               margin: 0 3px;
-       }
-
-       #pass-strength-result {
-               width: 100%;
-               box-sizing: border-box;
-               -moz-box-sizing: border-box;
-               padding: 8px;
-       }
-
-       .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;
-       }
-
-       #utc-time,
-       #local-time {
-               display: block;
-               float: none;
-               padding: 0;
-               line-height: 2;
-       }
-
-       /* Add/Edit Media */
-       .wp_attachment_details label[for="content"] {
-               font-size: 14px;
-               line-height: 1.5em;
-       }
-
-       /* Links */
-       .link-manager-php #posts-filter {
-               margin-top: 25px;
-       }
-
-       .link-manager-php .tablenav.bottom {
-               overflow: hidden;
-       }
-
-       .links-table #link_rel {
-               max-width: none;
-       }
-
-       .links-table th,
-       .links-table td {
-               padding: 10px 0;
-       }
-
-       /**
-        * Nav Menus
-        * ----------------------------------------------------------------------------
-        */
-       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;
-       }
-
-       .menu-item-bar .menu-item-handle,
-       .menu-item-settings,
-       .description-wide {
-               width: auto;
-       }
-
-       .menu-item-settings {
-               padding: 10px;
-       }
-
-       .menu-item-settings .description-thin,
-       .menu-item-settings .description-wide {
-               width: 100%;
-               height: auto;
-       }
-
-       .menu-item-settings input {
-               width: 100%;
-       }
-
-       .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;
-       }
-
-       .available-theme .action-links .delete-theme {
-               float: none;
-               margin: 0;
-               padding: 0;
-               clear: both;
-       }
-
-       .available-theme .action-links .delete-theme a {
-               padding: 0;
-       }
-
-       /* Widget Management Page (Needs UX work on mobile) */
-       #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;
-       }
-
-       /* 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 {
-               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 {
-               display: block;
-               width: auto;
-       }
-
-       .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;
-       }
-
-       .wp-list-table.plugins .plugin-title,
-       .wp-list-table.plugins .theme-title {
-               padding-top: 13px;
-               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 {
-               box-shadow: none;
-               -webkit-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, 0.1);
-               -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
-               -ms-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
-               -o-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
-               box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
-       }
-
-       .plugins tr.active + tr.inactive th.check-column,
-       .plugins tr.active + tr.inactive td {
-               border-top: none;
-       }
-
-       .wp-list-table.plugins .column-description {
-               padding-top: 0;
-       }
-
-       .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;
-       }
-
-       .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 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;
-       }
-
-       .wp-list-table.plugins .plugin-title strong,
-       .wp-list-table.plugins .theme-title strong {
-               font-size: 1.4em;
-               line-height: 1.6em;
-       }
-
-       /* Add New plugins page */
-       table.plugin-install .column-name,
-       table.plugin-install .column-version,
-       table.plugin-install .column-rating,
-       table.plugin-install .column-description {
-               display: block;
-               width: auto;
-       }
-
-       table.plugin-install th.column-name,
-       table.plugin-install th.column-version,
-       table.plugin-install th.column-rating,
-       table.plugin-install th.column-description {
-               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,0.1);
-               box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
-       }
-
-       /*  Dashboard */
-       #dashboard_recent_comments #the-comment-list .comment-item .avatar {
-               height: 30px;
-               width: 30px;
-               margin: 4px 10px 5px 0;
-       }
-
-       /*  About Page */
-       .about-wrap .feature-section.one-col > div,
-       .about-wrap .feature-section.two-col > div,
-       .about-wrap .three-col.about-updates > div  {
-               width: 100%;
-               margin: 0;
-               float: none;
-       }
-
-       .about-wrap .about-colors .color-option {
-               width: 49%;
-       }
-
-       /* Moderate Comment */
-       .comment-ays {
-               border-bottom: none;
-       }
-
-       #wpfooter {
-               display: none;
-       }
-
-       #comments-form .checkforspam {
-               display: none;
-       }
-
-       /* Reset responsive styles in Press This */
-
-       .press-this a.wp-switch-editor {
-               font: 13px/19px "Open Sans", sans-serif;
-               margin: 5px 0 0 5px;
-               padding: 3px 8px 4px;
-       }
-
-       .press-this #wp-content-media-buttons a {
-               padding: 0;
-               line-height: normal;
-               height: auto;
-       }
-
-       .press-this #wp-content-editor-tools {
-               padding: 0;
-               top: 3px;
-       }
-
-       .press-this .category-tabs {
-               margin-top: 0;
-       }
-
-       .press-this .tagsdiv .newtag {
-               width: 120px;
-               padding: 3px 5px;
-               margin-bottom: 0;
-       }
-
-       .press-this .tagchecklist {
-               padding: 0;
-               margin-bottom: 0;
-       }
-
-       .press-this .wp_themeSkin a.mceButton {
-               width: 20px;
-               height: 20px;
-       }
-
-       .press-this .wp_themeSkin .mceButton .mceIcon {
-               margin: 0;
-       }
-
-       .press-this #poststuff h3,
-       .press-this .metabox-holder h3 {
-               padding: 7px 12px;
-       }
-
-       .interim-login input[type=checkbox],
-       .press-this input[type=checkbox],
-       .press-this input[type=radio] {
-               height: 16px;
-               width: 16px;
-       }
-
-       .interim-login input[type=checkbox]:checked:before,
-       .press-this input[type=checkbox]:checked:before {
-               width: 16px;
-               font: normal 21px/1 'dashicons';
-               margin: -3px 0 0 -4px;
-       }
-
-       .press-this input[type=radio]:checked:before {
-               font: normal 21px/1 'dashicons';
-               width: 6px;
-               height: 6px;
-               margin: 4px;
-       }
-
-       .press-this ul.categorychecklist ul,
-       .press-this ul.categorychecklist li {
-               margin-top: 0;
-               margin-bottom: 0;
-       }
-
-       .press-this div.quicktags-toolbar input {
-               padding: 2px 4px;
-       }
-
-       .press-this textarea,
-       .press-this input {
-               font-size: 14px;
-       }
-
-       .press-this .tagchecklist span {
-               font-size: 13px;
-               line-height: 1.8em;
-       }
-}
-
-@media only screen and (max-width: 500px) {
-       .about-wrap {
-               margin-right: 20px;
-               margin-left: 10px;
-       }
-
-       .about-wrap h1,
-       .about-text {
-               margin-right: 0;
-       }
-
-       .about-text {
-               margin-bottom: 0.25em;
-       }
-
-       .about-wrap .wp-badge {
-               position: relative;
-               margin-bottom: 1.5em;
-               width: 100%;
-       }
-
-       .about-wrap .feature-section.three-col div {
-               width: 100%;
-               float: none;
-       }
-
-       .about-wrap .three-col.about-updates .col-1 {
-               padding: 0;
-               float: none;
-       }
-
-       .about-wrap .three-col.about-updates .col-2 {
-               margin: 0 0 20px;
-               width: 100%;
-               float: none;
-       }
-
-       /* Align Add Media + Visual + Text tabs */
-       #wp-content-media-buttons a {
-               font-size: 14px;
-               padding: 0 10px 0 10px;
-       }
-}
-
-@media screen and ( max-width: 782px ) {
-       #wpadminbar #wp-admin-bar-menu-toggle a {
-               display: block;
-               padding: 0;
-               overflow: hidden;
-               outline: none;
-               text-decoration: none;
-               border: 1px solid transparent;
-               background: none;
-               height: 44px;
-               margin-left: -1px;
-       }
-
-       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: normal 40px/45px 'Dashicons';
-               vertical-align: middle;
-               outline: none;
-               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;
-               box-sizing: border-box;
-               -moz-box-sizing: border-box;
-       }
-}
-
-/* Smartphone */
-@media screen and (max-width: 600px) {
-       #adminmenuwrap,
-       #adminmenuback {
-               display: none;
-       }
-
-       .wp-responsive-open #adminmenuwrap,
-       .wp-responsive-open #adminmenuback {
-               display: block;
-       }
-
-       /* Disable horizontal scroll when responsive menu is open
-          since we push the main content off to the right. */
-       #wpwrap.wp-responsive-open {
-               overflow-x: hidden;
-       }
-
-       html.wp-toolbar {
-               padding-top: 0;
-       }
-
-       #wpbody {
-               padding-top: 46px;
-       }
-
-       .auto-fold #adminmenu {
-               top: 46px;
-       }
-
-       #wp-responsive-overlay {
-               position: fixed;
-               top: 0;
-               left: 0;
-               width: 100%;
-               height: 100%;
-               z-index: 400;
-       }
-
-       /* Keep the close icon from overlapping the Welcome text. */
-       .welcome-panel .welcome-panel-close {
-               overflow: hidden;
-               text-indent: 100%;
-               white-space: nowrap;
-               width: 20px;
-               height: 20px;
-               right: 0;
-               padding: 5px;
-       }
-
-       /* Make the close icon larger for tappability. */
-       #welcome-panel.welcome-panel .welcome-panel-close::before {
-               font-size: 20px;
-               margin: 0;
-       }
-
-       /* Keep full-width boxes on Edit Post page from causing horizontal scroll */
-       div#post-body.metabox-holder.columns-1 {
-               overflow-x: hidden;
-       }
-
-       /* Color Picker Options */
-       .color-option {
-               width: 49%;
-       }
-}
+@import url(common.css);
+@import url(forms.css);
+@import url(admin-menu.css);
+@import url(dashboard.css);
+@import url(list-tables.css);
+@import url(edit.css);
+@import url(revisions.css);
+@import url(media.css);
+@import url(themes.css);
+@import url(press-this.css);
+@import url(about.css);
+@import url(nav-menus.css);
+@import url(widgets.css);
+@import url(l10n.css);
index 565f28058ca843af1dc382f734136559787a1ac7..1611ca0d4ee5069aafc59d8ee000ee862250f8f4 100644 (file)
@@ -1 +1 @@
-#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%}#wpcontent,#wpfooter{margin-left:180px}.folded #wpcontent,.folded #wpfooter{margin-left:56px}#wpbody-content{padding-bottom:65px;float:left;width:100%;overflow:visible!important}#adminmenuback,#adminmenuwrap,#adminmenu,#adminmenu .wp-submenu{width:160px}#adminmenuback{position:absolute;top:0;bottom:0;z-index:-1}#adminmenu{clear:left;margin:12px 0 0;padding:0;list-style:none}.folded #adminmenuback,.folded #adminmenuwrap,.folded #adminmenu,.folded #adminmenu li.menu-top{width:36px}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-right:auto;width:286px;display:block}.inner-sidebar #side-sortables,.columns-2 .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,.no-js .hide-if-no-js,.js.wp-core-ui .hide-if-js,.js .wp-core-ui .hide-if-js,.no-js.wp-core-ui .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js{display:none}input,input[type=text],input[type=password],input[type=number],input[type=search],input[type=email],input[type=url],textarea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{border-width:1px;border-style:solid;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-sizing:border-box;box-sizing:border-box}td>input[type=checkbox],.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{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]{border-radius:50%;margin-right:4px;line-height:10px}input[type=checkbox]:disabled,input[type=radio]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio]:disabled:checked:before{opacity:.7}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}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px}@-moz-document url-prefix(){input[type=checkbox],input[type=radio],.form-table input.tog{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password],.ie8 .login form .input{font-family:sans-serif}html,body{height:100%;margin:0;padding:0}body{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.login{background:#fbfbfb;min-width:0}iframe,img{border:0}td,textarea,input,select,button{font-family:inherit;font-size:inherit;font-weight:inherit}td,textarea{line-height:inherit}textarea{overflow:auto}textarea,input,select{font-size:14px;padding:3px 5px;line-height:15px;border-radius:0}textarea{padding:2px 6px;line-height:1.4}a,input[type=text],input[type=password],input[type=number],input[type=search],input[type=email],input[type=url],textarea,div,select{outline:0}.wp-admin input[type=file]{padding:3px 0}a:focus,a:active{outline:thin dotted}#adminmenu a:focus,#adminmenu a:active,.screen-reader-text:focus{outline:0}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}p,.wp_attachment_details label[for=content]{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}label{cursor:pointer}li,dd{margin-bottom:6px}input,select{margin:1px;padding:3px 5px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0;font-weight:400}h3{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}ul,ol{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-left:2em}ul.ul-disc{list-style:disc outside}ul.ul-square{list-style:square outside}ol.ol-decimal{list-style:decimal outside}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:1.8em}ul.ul-disc>li,ul.ul-square>li,ol.ol-decimal>li{margin:0 0 .5em}.code,code{font-family:Consolas,Monaco,monospace;direction:ltr}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}kbd,code{padding:3px 5px 2px;margin:0 1px;font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;float:left}.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:0}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],select,.tablenav-pages span.current,#titlediv #title,#postcustomstuff table,#postcustomstuff input,#postcustomstuff textarea,.imgedit-menu div,.plugin-update-tr .update-message,#poststuff .inside .the-tagcloud,.nav-menus-php .list-container,.menu-item-handle,.link-to-original,.nav-menus-php .major-publishing-actions .form-invalid,#TB_window,.tbtitle,.highlight{border-width:1px;border-style:solid}.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 tfoot th{border-bottom:0}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td p,.widefat td ol,.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 tbody th.check-column{padding:9px 0 22px}.widefat.media .check-column{padding-top:8px}.widefat thead th.check-column,.widefat tbody th.check-column,.widefat tfoot th.check-column{padding:11px 0 0 3px}.widefat thead th.check-column{padding-top:10px}.plugins tbody th.check-column,.plugins tbody{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 thead th.check-column,.plugins tfoot th.check-column,.plugins .inactive th.check-column{padding-left:6px}.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)}.upgrade .plugins tr:last-of-type td,.upgrade .plugins tr:last-of-type th{-webkit-box-shadow:none;box-shadow:none}#update-plugins-table thead th.check-column,#update-plugins-table tfoot th.check-column{padding-top:11px}.update-php div.updated,.update-php div.error{margin-left:0}.no-js .widefat thead .check-column input,.no-js .widefat tfoot .check-column input{display:none}.widefat .num,.column-comments,.column-links,.column-posts{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 20px 0 2px}div.updated,div.error{padding:0 .6em;margin:5px 15px 2px}div.updated p,div.error p{margin:.5em 0;padding:2px}.wrap div.updated,.wrap div.error,.media-upload-form div.error{margin:5px 0 15px}div.updated,.login .message,.press-this #message{border:0;padding:1px 12px}div.error,.login #login_error{border:0}div.error{padding:1px 12px}.wrap h2,.subtitle{font-weight:400;margin:0}.wrap h2{font-size:23px;font-weight:400;padding:9px 15px 4px 0;line-height:29px}.subtitle{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:0;border-radius:2px;text-shadow:none;font-weight:600;font-size:13px}.wrap h2.long-header{padding-right:0}html,.wp-dialog{background-color:#fff}textarea,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],select{background-color:#fff;color:#333}select[disabled]{color:#7f7f7f}select:focus{border-color:#aaa}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=checkbox]:focus,input[type=radio]:focus,select:focus,.widgets-chooser ul,#widgets-left .widget-in-question .widget-top,#available-widgets .widget-top:hover,div#widgets-right .widget-top:hover{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}input[readonly]{background-color:#eee}:-moz-placeholder,.wp-core-ui :-moz-placeholder{color:#a9a9a9}.widget .widget-top,.postbox h3,.stuffbox h3,.control-section .accordion-section-title,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.sidebar-name,#nav-menu-header,#nav-menu-footer,.menu-item-handle,.checkbox,.side-info,#your-profile #rich_editing,.widefat thead th,.widefat tfoot th{line-height:1.4em}.quicktags,.search{font-size:12px}.icon32{display:none}.icon16{height:18px;width:18px;padding:6px;margin:-6px 0 0 -8px;float:left}.icon16:before{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;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.icon16.icon-dashboard:before,#adminmenu .menu-icon-dashboard div.wp-menu-image:before{content:'\f226'}.icon16.icon-post:before,#adminmenu .menu-icon-post div.wp-menu-image:before{content:'\f109'}.icon16.icon-media:before,#adminmenu .menu-icon-media div.wp-menu-image:before{content:'\f104'}.icon16.icon-links:before,#adminmenu .menu-icon-links div.wp-menu-image:before{content:'\f103'}.icon16.icon-page:before,#adminmenu .menu-icon-page div.wp-menu-image:before{content:'\f105'}.icon16.icon-comments:before,#adminmenu .menu-icon-comments div.wp-menu-image:before{content:'\f101';margin-top:1px}.icon16.icon-appearance:before,#adminmenu .menu-icon-appearance div.wp-menu-image:before{content:'\f100'}.icon16.icon-plugins:before,#adminmenu .menu-icon-plugins div.wp-menu-image:before{content:'\f106'}.icon16.icon-users:before,#adminmenu .menu-icon-users div.wp-menu-image:before{content:'\f110'}.icon16.icon-tools:before,#adminmenu .menu-icon-tools div.wp-menu-image:before{content:'\f107'}.icon16.icon-settings:before,#adminmenu .menu-icon-settings div.wp-menu-image:before{content:'\f108'}.icon16.icon-site:before,#adminmenu .menu-icon-site div.wp-menu-image:before{content:'\f112'}.icon16.icon-generic:before,#adminmenu .menu-icon-generic div.wp-menu-image:before{content:'\f111'}.icon16.icon-dashboard,.menu-icon-dashboard div.wp-menu-image,.icon16.icon-post,.menu-icon-post div.wp-menu-image,.icon16.icon-media,.menu-icon-media div.wp-menu-image,.icon16.icon-links,.menu-icon-links div.wp-menu-image,.icon16.icon-page,.menu-icon-page div.wp-menu-image,.icon16.icon-comments,.menu-icon-comments div.wp-menu-image,.icon16.icon-appearance,.menu-icon-appearance div.wp-menu-image,.icon16.icon-plugins,.menu-icon-plugins div.wp-menu-image,.icon16.icon-users,.menu-icon-users div.wp-menu-image,.icon16.icon-tools,.menu-icon-tools div.wp-menu-image,.icon16.icon-settings,.menu-icon-settings div.wp-menu-image,.icon16.icon-site,.menu-icon-site div.wp-menu-image,.icon16.icon-generic,.menu-icon-generic div.wp-menu-image{background-image:none!important}.key-labels label{line-height:24px}strong,b{font-weight:600}.pre{white-space:pre-wrap;word-wrap:break-word}.howto{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}.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;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}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:0;text-align:right}table.form-table+p.submit,table.form-table+input+p.submit,table.form-table+input+input+p.submit{border-top:0;padding-top:0}table.widefat span.delete a:hover,table.widefat span.trash a:hover,table.widefat span.spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover,#dashboard_recent_comments .spam a:hover,.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{text-decoration:none;border:0}#minor-publishing-actions input,#major-publishing-actions input,#minor-publishing-actions .preview{text-align:center}textarea.all-options,input.all-options{width:250px}input.large-text,textarea.large-text{width:99%}input.regular-text,#adduser .form-field input{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 #delete_all,.tablenav #clear-recent-list{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}label,#your-profile label+a{vertical-align:middle}fieldset label,#your-profile label+a{vertical-align:middle}.options-media-php label[for*="_size_"],#misc-publishing-actions label{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{border-style:solid;border-width:1px;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}.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"],#search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=text].ui-autocomplete-loading{background:transparent url(../images/loading.gif) no-repeat right center;visibility:visible}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete-input.open{border-bottom-right-radius:0;border-bottom-left-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-width:1px;border-style:solid}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:left}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px}.ui-autocomplete li a.ui-state-focus{cursor:pointer}#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}.misc-pub-section:first-child{border-top-width:0}.misc-pub-section-last{border-bottom-width:0}#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-width:1px;border-bottom-style:solid}.side-info ul{margin:0;padding-left:18px;list-style:square}.approve,.unapproved .unapprove{display:none}.unapproved .approve,.spam .approve,.trash .approve{display:inline}td.action-links,th.action-links{text-align:right}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:left;margin:25px 20px 0 2px}.plugins .plugin-update{padding:0}.plugin-update .update-message{margin:0 10px 8px 31px;font-weight:600}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em 0}.update-php .spinner{float:none;margin:-4px 0}#ajax-loading,.ajax-loading,.ajax-feedback,.imgedit-wait-spin,.list-ajax-loading{visibility:hidden}#ajax-response.alignleft{margin-left:2em}#adminmenu a,#sidemenu a,#taglist a,#catlist a{text-decoration:none}#screen-options-wrap,#contextual-help-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}#screen-options-link-wrap,#contextual-help-link-wrap{float:right;height:28px;margin:0 0 0 6px}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#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}#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}#screen-options-wrap h5,#contextual-help-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}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;left:150px;right:170px;border-width:0 1px;border-style:solid}#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-style:solid;border-width:1px 0;border-color:transparent}.contextual-help-tabs .active{padding:0;margin:0 -1px 0 0;border-width:0 0 0 2px;border-style:solid}.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}#adminmenuwrap{position:relative;float:left}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px}#adminmenu li.menu-top{border:0;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 a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{padding:7px 0 8px;z-index:9999}.js #adminmenu .sub-open,.js #adminmenu .opensub .wp-submenu,#adminmenu a.menu-top:focus+.wp-submenu,.no-js li.wp-has-submenu:hover .wp-submenu{top:-1px}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{position:relative;z-index:3;top:auto;left:auto;right:auto;bottom:auto;border:0 none;margin-top:0;-webkit-box-shadow:none;box-shadow:none}.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{top:0;left:36px}.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .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 .wp-not-current-submenu li>a,.folded #adminmenu .wp-has-current-submenu li>a{padding-right:16px;padding-left:14px;-moz-transition:all .1s ease-in-out;-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 a.menu-top,#adminmenu .wp-submenu-head{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:30px;margin:0;text-align:center}#adminmenu div.wp-menu-image.svg{background-repeat:no-repeat;background-position:center;background-size:20px auto}div.wp-menu-image:before{font:400 20px/1 dashicons!important;speak:none;color:#999;padding:8px 0;height:36px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.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;z-index:99}.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:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-width:8px;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.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{position:relative}.folded #adminmenu li.menu-top:hover,.folded #adminmenu li.opensub>a.menu-top,.folded #adminmenu li>a.menu-top:focus{z-index:10000}#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:3px;padding:0;margin:0 0 6px;border-width:1px 0;border-style:solid;cursor:inherit}#adminmenu div.separator{height:1px;padding:0;border-width:1px 0 0;border-style:solid}#adminmenu .wp-submenu .wp-submenu-head{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 none}#adminmenu .awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{display:inline-block;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,#sidemenu li a span.update-plugins span{display:block;padding:0 6px}#adminmenu li span.count-0,#sidemenu li a .count-0{display:none}#adminmenu #collapse-menu{font-size:13px;line-height:34px;margin-top:10px}.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;font:400 20px/1 dashicons!important;speak:none;margin:0 auto;padding:0!important;position:relative;text-align:center;width:20px;-moz-transition:all .1s ease-in-out;-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{-ms-transform:rotate(180deg);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rtl.folded #collapse-button div:after{-ms-transform:none;-webkit-transform:none;transform:none}@media only screen and (max-width:900px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-left:56px}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap,.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top{width:36px}.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu{top:0;left:36px}.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .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 none}.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{-ms-transform:rotate(180deg);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rtl.auto-fold #collapse-button div:after{-ms-transform:none;-webkit-transform:none;transform:none}}.post-com-count-wrapper{min-width:22px}.post-com-count{background:0 0;height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;background-position:center -80px;background-repeat:no-repeat}.post-com-count:after{content:"";display:block;width:0;height:0;margin-left:8px;border-top:5px solid #bbb;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}strong .post-com-count{background-position:center -55px}.post-com-count:hover{background-position:center -3px}.column-response .post-com-count{float:left;margin-right:5px;text-align:center}.response-links{float:left}#the-comment-list .attachment-80x60{padding:4px 8px}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}html.wp-toolbar{padding-top:32px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.narrow{width:70%;margin-bottom:40px}.narrow p{line-height:150%}.widefat th,.widefat td{overflow:hidden}.widefat th{font-weight:400}.widefat td p{margin:2px 0 .8em}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:left}#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}#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}.postbox-container .meta-box-sortables{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.metabox-holder .postbox-container .empty-container{border:3px dashed #bbb;height:250px}.metabox-holder.columns-1 .postbox-container .empty-container,.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container{border:0 none;height:0;min-height:0}.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 none;height:0;min-height:0}#poststuff{padding-top:10px;min-width:763px}#poststuff #post-body{padding:0}#post-body-content{width:100%;min-width:463px;float:left}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-right:300px}#post-body.columns-2 #postbox-container-1{float:right;margin-right:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}#dashboard-widgets .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:0!important}#dashboard-widgets-wrap{overflow:hidden}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}#wpbody-content .metabox-holder .postbox-container .empty-container{border:0 none;height:0;min-height:0}}@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 none;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 none;height:0;min-height:0}.index-php .screen-layout,.index-php .columns-prefs{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 none;height:0;min-height:0}}@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 .empty-container,#poststuff #postbox-container-1 #side-sortables:empty{border:0 none;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0}.screen-layout,.columns-prefs{display:none}}.js .postbox .hndle{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-width:1px;border-style:dashed;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox h3,.stuffbox h3{margin-top:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.js .widget .widget-top,.js .postbox h3{cursor:move}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}#dashboard-widgets .postbox .inside{margin-bottom:0}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:0;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#dashboard-widgets-wrap{margin:0 -8px}#wpbody-content .metabox-holder{padding-top:10px}#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:0}#the-comment-list td{vertical-align:top}#the-comment-list td.comment{word-wrap:break-word}.welcome-panel{position:relative;overflow:auto;margin:16px 0;padding:23px 10px 0;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 .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,.tagchecklist span a:before,#bulk-titles div a:before{content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;height:20px;margin:2px 0;text-align:center;width:20px;-webkit-font-smoothing:antialiased!important}#welcome-panel.welcome-panel .welcome-panel-close::before{position:absolute;left:-18px;margin-top:-2px;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 0 3px}.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}.welcome-panel .welcome-icon{display:block;padding:0 0 8px;background:transparent!important}.welcome-panel .welcome-icon:before{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-write-blog:before,.welcome-panel .welcome-edit-page: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 .widget-loading,#dashboard_primary .dashboard-widget-control-form{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:0;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{padding:0 12px 11px}#dashboard_right_now .main p{margin:0}.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:#888}#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{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin:0}#dashboard_quick_press textarea{resize:vertical}#dashboard-widgets .postbox form .submit{margin:-39px 0;float:right}#description-wrap{margin-top:12px}#title-wrap #title-prompt-text,.textarea-wrap #content-prompt-text{color:#777}#title-wrap #title-prompt-text{font-size:1.1em;padding:7px 8px}.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:0}#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{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;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 .show-more,#published-posts .show-more{float:right;margin-right:12px}#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:0}.activity-block .subsubsub li{color:#ddd}#activity-widget #the-comment-list tr.undo,#activity-widget #the-comment-list div.undo{background:0 0;padding:6px 0}#activity-widget #the-comment-list .alternate,#activity-widget #the-comment-list .alt{background:0 0}#activity-widget #the-comment-list .comment{background:#fafafa;padding:12px;position:relative}#activity-widget #the-comment-list img{position:absolute;left:13px;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: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{margin-right:20px;position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}@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}}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-posts,.fixed .column-date,.fixed .column-parent,.fixed .column-links,.fixed .column-author,.fixed .column-format{width:10%}.fixed .column-comment .comment-author{display:none}.fixed .column-response,.fixed .column-categories,.fixed .column-tags,.fixed .column-rel,.fixed .column-role{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}#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 none}#commentsdiv .comments-box thead th{background:transparent;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}#commentsdiv .spinner{padding-left:5px}.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;color:#444;line-height:10px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.column-comments .sorting-indicator:before{top:0;left:-10px}th.sorted.asc .sorting-indicator:before,th.desc:hover span.sorting-indicator:before{content:'\f142'}th.sorted.desc .sorting-indicator:before,th.asc:hover span.sorting-indicator:before{content:'\f140'}tr.wp-locked .locked-indicator{background:url(../images/lock.png) no-repeat;margin:-2px 0 0 6px;height:20px;width:16px}tr.wp-locked .check-column label,tr.wp-locked .check-column input[type=checkbox],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 500ms;-moz-transition:height 1s,opacity 500ms;-ms-transition:height 1s,opacity 500ms;-o-transition:height 1s,opacity 500ms;transition:height 1s,opacity 500ms}.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.sorted.asc .sorting-indicator,th.desc:hover 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}.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;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;font-size:16px;font-weight:400}.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:active{cursor:default}.tablenav .displaying-num{margin-right:2px;font-size:12px;font-style:italic}.tablenav .actions{overflow:hidden;padding:2px 8px 0 0}.tablenav .delete{margin-right:20px}.view-switch{float:right;margin:5px 16px 0 8px}.view-switch img{display:none}.view-switch a{text-decoration:none}.view-switch>a{display:inline-block;width:18px;height:18px}.view-switch>a:before{content:'\f163';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>a+a:before{margin-left:5px;content:'\f164'}.filter{float:left;margin:-5px 0 0 10px}.filter .subsubsub{margin-left:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0}#posts-filter fieldset legend{padding:0 0 .2em 1px}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:left;margin:0;padding:0;width:100%}tr.inline-edit-row td,#wpbody-content .inline-edit-row fieldset .inline-edit-col{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 .quick-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .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}.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:23px}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{margin:0;padding:0;line-height:27px}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0}.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}.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 .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:text-bottom}.inline-edit-row fieldset label textarea{width:100%;height:4em}#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-save .spinner{padding:4px 10px 0;vertical-align:top;float:right}.inline-edit-row h4{text-transform:uppercase}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{font-style:italic;line-height:1.8em}.inline-edit-row fieldset input[type=text],.inline-edit-row fieldset textarea{border-style:solid;border-width:1px}.inline-edit-row fieldset .inline-edit-date{float:left}.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.1em}.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-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0}#bulk-titles{display:block;height:12em;border-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist li,.inline-edit-row fieldset ul.cat-checklist input{margin:0}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row #bulk-titles div{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%}.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}#show-comments{overflow:hidden}#save-action .spinner,#show-comments a,#show-comments .spinner{float:left}#lost-connection-notice .spinner{display:block;float:left;margin:0 5px 0 0}#titlediv{position:relative;margin-bottom:10px}#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}#titlediv #title-prompt-text,#wp-fullscreen-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}#wp-fullscreen-title-prompt-text{padding:11px}#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 none;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px}#edit-slug-box .cancel{margin-right:10px;font-size:11px}#editable-post-name-full{display:none}#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}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}.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}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:transparent none;border:0 none;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}.press-this #side-sortables .category-tabs li,ul.category-tabs li,#side-sortables .add-menu-item-tabs li,.wp-tab-bar li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}.category-tabs a,#side-sortables .add-menu-item-tabs a,.wp-tab-bar a{text-decoration:none}.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 input,#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover{border:0 none}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.category-tabs,ul.add-menu-item-tabs,ul.wp-tab-bar{margin-top:12px}ul.category-tabs li{border-style:solid;border-width:1px;position:relative}ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-style:solid solid none;border-width:1px 1px 0}ul.add-menu-item-tabs li.tabs{padding-bottom:3px;position:relative}#post-body .add-menu-item-tabs li.tabs{border-style:solid none solid solid;border-width:1px 0 1px 1px;margin-right:-1px}ul.category-tabs li,ul.add-menu-item-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px}#postimagediv .inside img{max-width:100%;height:auto}form#tags-filter{position:relative}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}.wp-hidden-children .wp-hidden-child,.ui-tabs-hide{display:none}.commentlist .avatar{vertical-align:text-top}#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%}#post-status-info td{font-size:12px}.autosave-info{padding:2px 15px;text-align:right}#editorcontent #post-status-info{border:0}#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize.gif) no-repeat scroll right bottom;width:12px;height:12px;cursor:se-resize}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-rtl.gif) no-repeat scroll right bottom}#post-body .wp_themeSkin .mceStatusbar a.mceResize{bottom:3px;position:absolute;right:3px}#post-body .postarea .wp_themeSkin .mceStatusbar a.mceResize{bottom:-20px}#content-resize-handle{position:absolute;right:3px;bottom:-20px}.press-this #content-resize-handle{bottom:2px}.tmce-active #content-resize-handle{display:none}#wp-word-count{display:block;padding:2px 10px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#jj,#hh,#mn{padding:1px;font-size:12px}#jj,#hh,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#post-body #visibility:before,.curtime #timestamp:before,#post-body .misc-pub-revisions: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%;left:50%;width:450px;margin-left:-225px;background:#fff;line-height:1.5;z-index:1000005}.notification-dialog-background{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.5;filter:alpha(opacity=50);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.saving .locked-saving,#post-lock-dialog.saved .locked-saved{display:inline}#postcustomstuff thead th{padding:5px 8px 8px}#postcustom #postcustomstuff .submit{border:0 none;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-width:1px;border-style:solid;border-spacing:0}#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 th.left,#postcustomstuff td.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}.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}.revisions-tickmarks{position:relative;margin:0 auto;height:.7em;top:7px;max-width:70%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div{position:absolute;height:100%;border-style:solid;border-width:0 1px 0 0;-moz-box-sizing:border-box;-webkit-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:fixed;vertical-align:middle;opacity:0;width:100%;top:50%;margin-left:-90px;-webkit-transition:opacity .5s;-moz-transition:opacity .5s;-ms-transition:opacity .5s;-o-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;-moz-transition:opacity .5s;-ms-transition:opacity .5s;-o-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}.revision-toggle-compare-mode{position:absolute;top:0;right:0}.comparing-two-revisions .revisions-previous,.comparing-two-revisions .revisions-next,.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-previous,.revisions-next{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}.revisions-diff h3:first-child{margin-top:0}.post-revisions li img,#revisions-meta-restored img{vertical-align:middle}table.diff tbody tr td:nth-child(2){width:4%}table.diff{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}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 del,table.diff .diff-addedline ins{text-decoration:none}.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 .avatar,.revisions-controls .author-card .author-info{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;display:none;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);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-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-width:1px;border-style:solid}.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}.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);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-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-width:1px;border-style:solid;text-align:left;cursor:pointer}.wp-slider .ui-slider-handle{border-radius:50%;height:18px;margin-top:-3px;outline:0;position:absolute;width:18px;z-index:2}.wp-slider .ui-slider-handle:before{background:0 0;position:absolute;top:0;left:0;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'}.wp-slider .ui-slider-handle.to-handle:before{content:'\f141'}.rtl .wp-slider .ui-slider-handle.from-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}#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-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-state-format.post-format-standard:before,.post-format-icon.post-format-standard:before,a.post-state-format.format-standard:before{content:'\f109'}.post-state-format.post-format-image:before,.post-format-icon.post-format-image:before,a.post-state-format.format-image:before{content:'\f128'}.post-state-format.post-format-gallery:before,.post-format-icon.post-format-gallery:before,a.post-state-format.format-gallery:before{content:'\f161'}.post-state-format.post-format-audio:before,.post-format-icon.post-format-audio:before,a.post-state-format.format-audio:before{content:'\f127'}.post-state-format.post-format-video:before,.post-format-icon.post-format-video:before,a.post-state-format.format-video:before{content:'\f126'}.post-state-format.post-format-chat:before,.post-format-icon.post-format-chat:before,a.post-state-format.format-chat:before{content:'\f125'}.post-state-format.post-format-status:before,.post-format-icon.post-format-status:before,a.post-state-format.format-status:before{content:'\f130'}.post-state-format.post-format-aside:before,.post-format-icon.post-format-aside:before,a.post-state-format.format-aside:before{content:'\f123'}.post-state-format.post-format-quote:before,.post-format-icon.post-format-quote:before,a.post-state-format.format-quote:before{content:'\f122'}.post-state-format.post-format-link:before,.post-format-icon.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}#post-body ul.add-menu-item-tabs{float:left;width:120px;text-align:right;margin:0 -120px 0 5px;padding:0}ul.add-menu-item-tabs li{padding:3px 5px 3px 8px}#post-body ul.add-menu-item-tabs li.tabs{-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px}.wp-tab-panel,.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border-style:solid;border-width:1px}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,ul.export-filters,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul{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 p,.form-wrap label{font-size:11px}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input,.form-field textarea{border-style:solid;border-width:1px;width:95%}p.description,.form-wrap p{margin:2px 0 5px}p.help,p.description,span.description,.form-wrap p{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}.tagsdiv{margin-top:-8px}#poststuff .taghint{color:#aaa;margin:15px 0 -24px 12px}#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:0;line-height:2em;max-width:1000px;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-width:1px;border-style:solid}.wp-customizer .ac_results{z-index:500000}.ac_results li{padding:2px 5px;white-space:nowrap;text-align:left}.ac_over{cursor:pointer}.ac_match{text-decoration:underline}table.links-table{width:100%}.links-table th{font-weight:400;text-align:left;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table th,.links-table td{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}.media-item .describe{border-collapse:collapse;width:100%;border-top-style:solid;border-top-width:1px;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}abbr.required{border:medium none;text-decoration:none}.media-item .describe input[type=text],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 0 0 5px}.media-item .edit-attachment,.describe-toggle-on,.describe-toggle-off{display:block;line-height:36px;float:right}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}#media-items .media-item{border-bottom-style:solid;border-bottom-width:1px;min-height:36px;position:relative;width:100%}#media-items{width:623px}.media-new-php #media-items{margin:1em 0}#media-items:empty{border:0 none}.media-item .filename{line-height:36px;overflow:hidden}.media-item .error-div{padding-left:10px}.media-item .pinkynail{float:left;margin:2px 10px 0 0;max-width:40px;max-height:32px}.media-item .startopen,.media-item .startclosed{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:right;height:22px;margin:7px 0 0;width:200px;line-height:2em;padding:0;overflow:hidden;margin-bottom:2px;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;border-radius:22px;background-color:#0074a2;-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{margin:0;padding:0}.media-upload-form .media-item.error p,.media-item .error-div{line-height:16px;margin:5px 10px;padding:0}.media-item .error-div a.dismiss{display:block;float:right;margin:5px 4px 0 15px}.find-box{width:600px;height:300px;overflow:hidden;padding:33px 0 51px;position:absolute;z-index:1000}.find-box-head{cursor:move;font-weight:600;height:2em;line-height:2em;padding:1px 12px;position:absolute;top:5px;width:100%}.find-box-inside{overflow:auto;padding:6px;height:100%}.find-box-search{overflow:hidden;padding:9px;position:relative}.find-box-search .spinner{float:none;left:125px;position:absolute;top:9px}#find-posts-input{float:left;width:140px;height:24px}#find-posts-search{float:left;margin:1px 4px 0 3px}#find-posts-response{margin:8px 0;padding:0 1px 6px}#find-posts-response table{width:100%}#find-posts-response .found-radio{padding:3px 0 0 8px;width:15px}.find-box-buttons{padding:8px;overflow:hidden}.find-box #resize-se{position:absolute;right:1px;bottom:1px}.ui-find-overlay{position:absolute;top:0;left:0;background-color:#000;opacity:.6;filter:alpha(opacity=60)}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em 0}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border-width:1px;border-style:solid;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #bbb;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#aaa;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}.wp_attachment_details #attachment_caption{height:4em}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0}.post-php .imgedit-wrap table{width:100%}.describe .imgedit-wrap table td,.wp_attachment_holder .imgedit-wrap table td{vertical-align:top;padding-top:0}.describe .imgedit-wrap table td.imgedit-settings{padding:0 5px}.wp_attachment_holder .imgedit-wrap table td.imgedit-settings{width:250px}td.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:#fff url(../images/spinner.gif) no-repeat scroll 22px 10px;background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.spinner{background:url(../images/spinner.gif) no-repeat;background-size:20px 20px;display:none;float:right;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}.no-float{float:none}.media-disabled,.imgedit-settings .disabled{color:grey}.wp_attachment_image,.A1B1{overflow:hidden}.wp_attachment_image .button,.A1B1 .button{float:left}.no-js .wp_attachment_image .button{display:none}.wp_attachment_image .spinner,.A1B1 .spinner{float:left;padding:0 0 4px;vertical-align:bottom}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:left;width:32px;background:0 0;margin:0 8px 0 0;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;line-height:28px}.imgedit-menu div:before{font:400 20px/1 dashicons;speak:none;vertical-align:middle}.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}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic;margin-bottom:8px}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}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table th,.form-table td p,.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{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 input.tog{margin-top:2px;margin-right:2px;float:left}.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 p,.form-table td fieldset li{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom-width:1px;border-bottom-style:solid}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#replyrow input{border-width:1px;border-style:solid}#replyrow td{padding:2px}#replysubmit{margin:0;padding:0 5px 3px;text-align:center}#replysubmit .spinner{padding:2px 0 0;vertical-align:top;float:right}#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}.comment-php .wp-editor-area{height:200px}.comment-ays{margin-bottom:0;border-bottom-style:solid;border-bottom-width:1px}.comment-ays .alt{background-color:transparent}.trash-undo-inside,.spam-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}.commentlist .avatar{vertical-align:text-top}#the-comment-list .unapproved th.check-column input{margin-left:4px}.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 .wrap .theme-count{color:#fff;border-radius:30px;background:#777;font-size:14px;padding:4px 10px;font-weight:600;margin-left:5px;margin-right:20px;position:relative;top:-3px}.themes-php div.updated,.themes-php div.error{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:hover,.theme-browser .theme:focus{cursor:pointer}.theme-browser .theme .theme-name{font-size:15px;font-weight:600;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: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-transform:translateZ(0);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme:hover .theme-screenshot{background:#fff}.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:#222;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;border-radius:3px;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme:focus{outline:1px dotted #222}.theme-browser .theme:focus .theme-actions{display:none}.theme-browser .theme:focus:hover .theme-actions{display:block}.theme-browser .theme:focus .more-details{opacity:1}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser.rendered .theme:hover .more-details{-ms-filter:"alpha(Opacity=100)";opacity:1}.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-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 .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-left:0;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-right:0}.theme-browser .theme .theme-author{background:#222;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:0;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:after{display:block;content:'';-ms-filter:"alpha(Opacity=100)";opacity:1;background:transparent;background:rgba(0,0,0,0);position:absolute;top:0;left:0;right:0;bottom:0;padding:10% 0 0;text-shadow:none;border:5px dashed #d5d2ca;border:5px dashed rgba(0,0,0,.1);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out;-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);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:hover .theme-screenshot{background:0 0}.theme-browser .theme.add-new-theme:hover span:after{background:#fff;color:#0074a2}.theme-browser .theme.add-new-theme:hover:after{border-color:transparent;color:#fff;background:#0074a2;content:''}.theme-browser .theme.add-new-theme .theme-name{background:0 0;text-align:center;box-shadow:none;font-weight:400;position:relative;top:0;margin-top:-10%;margin-bottom:10%}.theme-browser .theme.add-new-theme:hover .theme-name{color:#fff;z-index:2}.themes-php .theme-search{position:relative;top:-2px;left:20px;font-size:16px;font-weight:300;line-height:1.5;width:280px}.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}body.theme-overlay-open{overflow:hidden}.theme-overlay .theme-header{position:absolute;top:0;left:0;right:0;height:48px;border-bottom:1px solid #ddd}.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}.theme-overlay .theme-header .close:hover:before,.theme-overlay .theme-header .close:focus:before{color:#fff}.theme-overlay .theme-header .close:before{font:400 30px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.theme-overlay .theme-header .right,.theme-overlay .theme-header .left{cursor:pointer;color:#777;background-color:transparent;height:48px;width:54px;float:left;text-align:center;border:0;border-right:1px solid #ddd}.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .right:hover,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .right:focus,.theme-overlay .theme-header .left:focus{background:#0074a2;color:#fff}.theme-overlay .theme-header .left.disabled,.theme-overlay .theme-header .right.disabled,.theme-overlay .theme-header .left.disabled:hover,.theme-overlay .theme-header .right.disabled:hover{color:#ccc;background:inherit;cursor:inherit}.theme-overlay .theme-header .right:before,.theme-overlay .theme-header .left:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.theme-overlay .theme-header .left:before{content:'\f340'}.theme-overlay .theme-header .right:before{content:'\f344'}.rtl .theme-overlay .theme-header .left:before{content:'\f345'}.rtl .theme-overlay .theme-header .right:before{content:'\f341'}.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;box-sizing:border-box}.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;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}.theme-overlay .theme-actions .delete-theme{color:#a00;position:absolute;right:10px;bottom:5px;text-decoration:none;border-color:transparent;box-shadow:none;background:transparent}.theme-overlay .theme-actions .delete-theme:hover,.theme-overlay .theme-actions .delete-theme:focus{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;height:auto;position:absolute;left:0;top:0;width:100%;height:auto}.theme-overlay .screenshot.selected{background:transparent;border:2px solid #2ea2cc}.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:#333;color:#fff;font-size:11px;display:inline-block;padding:2px 8px;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:#222;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;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.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:#888;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:#fefaf7;border:1px solid #eee;border-left:4px solid #d54e21;border-radius:3px;padding:5px 20px 10px}.theme-overlay .theme-update{color:#222;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 #2ea2cc;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-overlay .theme-backdrop,.single-theme .theme-overlay .theme-header,.single-theme .theme{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){body.folded .theme-overlay .theme-wrap,.theme-overlay .theme-wrap{top:0;right:0;bottom:0;left:0;padding:70px 20px 20px;border:0;z-index:500;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:not(.active):hover .theme-actions,.theme:hover .more-details{display:none}.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-update,.theme-overlay .theme-description{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 .theme-search{float:none;clear:both;left:0;top:0;right:0;margin:10px 0;width:100%}.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-install-php h4{margin:2.5em 0 8px}.theme-install-php .tablenav{height:auto}.theme-install-php .spinner{margin-top:9px}.available-theme{display:inline-block;margin-right:10px;overflow:hidden;padding:20px 20px 20px 0;vertical-align:top;width:300px}.available-theme .screenshot{width:300px;height:225px;display:block;border-width:1px;border-style:solid;margin-bottom:10px;overflow:hidden}.available-theme img{width:300px}.available-theme h3{margin:15px 0 0}.available-theme .theme-author{line-height:18px}.available-theme .action-links{margin-top:10px;overflow:hidden}.available-theme a.screenshot:focus{border-color:#777}.available-theme .action-links li{float:left;padding-right:10px;margin-right:10px;border-right:1px solid #dfdfdf}.available-theme .action-links li{padding-right:8px;margin-right:8px}.ie8 .available-theme .action-links li{padding-right:7px;margin-right:7px}.available-theme .action-links li:last-child{padding-right:0;margin-right:0;border-right:0}.available-theme .action-links .delete-theme{float:right;margin-left:8px;margin-right:0}.available-theme .action-links .delete-theme a{color:red;padding:2px}.available-theme .action-links .delete-theme a:hover{background:red;color:#fff;text-decoration:none}.available-theme .action-links p{float:left}@media only screen and (max-width:1200px){.folded .available-theme,.folded .available-theme .screenshot{width:300px}.folded .available-theme .screenshot{height:225px}}@media only screen and (max-width:1079px){.folded .available-theme,.folded .available-theme .screenshot{width:270px}.folded .available-theme .screenshot{height:203px}}@media only screen and (max-width:1200px){.available-theme,.available-theme .screenshot{width:240px}.available-theme .screenshot{height:180px}.available-theme img{width:100%}}#post-body ul.add-menu-item-tabs li.tabs a,#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{font-weight:600;text-decoration:none}#TB_window #TB_title{background-color:#222;color:#cfcfcf}.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}#dashboard_right_now .versions .b,#post-status-display,#post-visibility-display,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,.media-item .percent,.plugins .name,#pass-strength-result.strong,#pass-strength-result.short,#ed_reply_toolbar #ed_reply_strong,.item-controls .item-order a,.feature-filter .feature-name{font-weight:600}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ul,.plugins .desc ol{margin:0 0 0 2em}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{font-size:13px;padding:0}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th{padding:10px 9px}.plugins .update th,.plugins .update td{border-bottom:0}.plugin-update-tr td{border-top:0}#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 .second,.plugins .row-actions{padding:0 0 5px}.plugins .update .second,.plugins .update .row-actions{padding-bottom:0}.plugins-php .widefat tfoot th,.plugins-php .widefat tfoot td{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{border:0;font-size:13px;font-weight:400;margin:6px 12px 12px;padding:6px 12px}.plugin-update-tr .update-message:before{content:'\f463';display:inline-block;font:400 20px/1 dashicons;speak:none;margin:0 8px 0 -2px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.plugin-install-php h4{margin:2.5em 0 8px}#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}.scheme-list{}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option:hover,.color-option.selected{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:0}.color-option{cursor:pointer}body.press-this{color:#333;margin:0;padding:0;min-width:708px;min-height:400px}.press-this #titlediv #title{font-size:1.4em}.press-this #site-heading:before{top:3px;position:relative;display:inline-block;font:400 18px/1 dashicons;speak:none;color:#727272;content:'\f120';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pressthis{margin:20px 0}.pressthis a,.pressthis a:hover,.pressthis a:focus,.pressthis a:active{display:inline-block;position:relative;cursor:move;color:#333;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 a:active{outline:0}.pressthis a:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-moz-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 a span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis a span:before{font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:transparent;-webkit-transform:skew(20deg) rotate(6deg);-moz-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)}#utc-time,#local-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}#wpfooter{position:absolute;bottom:0;left:0;right:0;padding:10px 0;margin-right:20px;border-top-width:1px;border-top-style:solid}#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}.about-wrap{position:relative;margin:25px 40px 0 20px;max-width:1050px;font-size:15px}.about-wrap div.updated,.about-wrap div.error{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:.5em 0 .5em 5px;max-width:100%}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 200px 0 0;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap .about-text,.about-wrap p.about-description,.about-wrap li.wp-person a.web{font-weight:400;line-height:1.6em;font-size:19px}.about-description{margin-top:1.4em}.about-text{margin:1em 200px 1em 0;min-height:60px;font-size:24px}.about-wrap .changelog h2.about-headline-callout{margin:1.1em 0 .2em;font-size:2.4em;font-weight:300;line-height:1.3;text-align:center}.about-wrap h3{margin:1em 0 .6em;font-size:1.5em;line-height:1.5em}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1.2em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap code,.about-wrap ol li p{font-size:14px}.about-wrap .about-colors-img{bottom:-25px}.about-wrap .about-themes-img{bottom:-38px}.about-wrap .about-overview-img{border-bottom:1px solid rgba(0,0,0,.1);margin:0}.about-colors-img img,.about-themes-img img{margin:0;padding:0;line-height:1}.about-wrap .point-releases{margin-top:5px}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.wp-badge{background:url(../images/w-logo-white.png?ver=20131202) no-repeat;background:none,url(../images/wordpress-logo-white.svg?ver=20131110) no-repeat;background-position:center 24px;background-size:85px 85px;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}.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 h2 .nav-tab-active{font-weight:700}.about-wrap .feature-section{padding-bottom:20px}.about-wrap .feature-section.col{margin-bottom:0}.about-wrap .feature-section.center-col>div{margin:auto;width:60%}.about-wrap .about-colors .one-col>div{width:100%}.about-wrap .feature-section.two-col>div{position:relative;width:50%;float:left}.about-wrap .feature-section.three-col>div{position:relative;width:29.95%;margin-right:4.999999999%;float:left}.about-wrap .feature-section.col .last-feature{margin-right:0}.about-wrap .about-updates img,.about-wrap .about-twentyfourteen img{margin:2em 0 0;border:1px solid #ddd;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.about-wrap .about-twentyfourteen img{margin-top:1em}.about-wrap .changelog .feature-section{overflow:hidden}.about-wrap .about-colors .scheme-list{margin-bottom:1em}.about-wrap .about-colors .color-option{padding-top:10px}.about-wrap .about-colors .color-option label{display:inline-block;margin:.25em 0 .5em}.about-wrap .feature-section.two-col div p{margin-right:3%}.about-wrap .feature-section div p img{float:right;margin-left:10px;max-width:20%}.about-wrap .changelog li{list-style-type:disc;margin-left:3em}.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 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{float:left;margin-right:10px}.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{height:70px;width:280px;padding-bottom:15px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;text-decoration:none}.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}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:transparent;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;overflow:auto;background:transparent;border-right:0}.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%}.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:0;-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:0;border-top:0;-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}.wp-full-overlay .close-full-overlay{text-decoration: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;border-radius:50%;text-decoration:none}.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{border-radius:50%;float:left;content:"\f148";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}.wp-full-overlay.collapsed .collapse-sidebar-arrow:before,.rtl .wp-full-overlay .collapse-sidebar-arrow:before{-ms-transform:rotate(180deg);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-ms-transform:none;-webkit-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-sidebar,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main{-webkit-transition-property:left,right,top,bottom,width,margin;-moz-transition-property:left,right,top,bottom,width,margin;-ms-transition-property:left,right,top,bottom,width,margin;-o-transition-property:left,right,top,bottom,width,margin;transition-property:left,right,top,bottom,width,margin;-webkit-transition-duration:.2s;-moz-transition-duration:.2s;-ms-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s}.no-customize-support .hide-if-no-customize,.customize-support .hide-if-customize,.no-customize-support.wp-core-ui .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.customize-support.wp-core-ui .hide-if-customize,.customize-support .wp-core-ui .hide-if-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:#fff url(../images/spinner.gif) no-repeat fixed center center;background-size:20px 20px}#customize-container iframe,#theme-installer iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-ms-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}#theme-installer{display:none}#theme-installer.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 20px}.single-theme .install-theme-info{padding-top:15px}#theme-installer .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}#theme-installer .wp-full-overlay-header{margin-top:9px}#theme-installer .wp-full-overlay-header .theme-install{float:right;line-height:26px}#theme-installer .wp-full-overlay-sidebar{background:#EEE;border-right:1px solid #DDD}#theme-installer .wp-full-overlay-main{background:#fff url(../images/spinner.gif) no-repeat fixed center center;background-size:20px 20px}.nav-tab{border-style:solid;border-width:1px 1px 0;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:-4px 4px -1px 0}.nav-tab-active{border-width:1px}.nav-tab-active,.nav-tab-active:hover{border-bottom-width:1px;border-bottom-style:solid}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:0;padding-left:10px}h2 .nav-tab{padding:6px 10px;font-weight:700;font-size:15px;line-height:24px}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%}#template div{margin-right:190px}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-username img,.column-comment .comment-author img{float:left;margin-right:10px;margin-top:1px}.row-actions{font-size:13px;visibility:hidden;padding:2px 0 0}tr:hover .row-actions,.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}.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;white-space:nowrap;cursor:default}.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,.metabox-holder h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #parent_id,#poststuff .inside #page_template{max-width:100%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 #poststuff .inside #parent_id,.ie8 #poststuff .inside #page_template,.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{width:250px}#post-visibility-select{line-height:1.5em;margin-top:3px}#poststuff #submitdiv .inside{margin:0;padding:0}.edit-form-section{margin-bottom:20px}#templateside ul li a{text-decoration:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}#sidemenu{margin:-30px 15px 0 315px;list-style:none;position:relative;float:right;padding-left:10px;font-size:12px}#sidemenu a{padding:0 7px;display:block;float:left;line-height:28px;border-top-width:1px;border-top-style:solid;border-bottom-width:1px;border-bottom-style:solid;-webkit-transition:none;-moz-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;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-width:1px;border-style:solid}#sidemenu li a .count-0{display:none}.plugin-install #description,.plugin-install-network #description{width:60%}table .vers,table .column-visible,table .column-rating{text-align:left}.error-message{color:red;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}.lp-show-latest p:last-child,.lp-show-latest .lp-error p{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}#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:0;margin:0;padding:0}fieldset{border:0;padding:0;margin:0}.post-categories{display:inline;margin:0;padding:0}.post-categories li{display:inline}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}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}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input{width:100%}#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:0}#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{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 #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:0}#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}#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;line-height:100%;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:transparent none;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag h3.hndle{border:0;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}#loginform p.submit,.login-action-lostpassword p.submit{border:0;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}.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);background-size:80px 80px;background-position:center top;background-repeat:no-repeat;color:#999;height:80px;font-size:20px;font-weight:400;line-height:1.3em;margin:0 auto 25px;padding:0;text-decoration:none;width:80px;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 #nav,.login #backtoblog{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0 0}.login form .input,.login input[type=text]{font-size:24px;line-height:1;width:100%;padding:3px;margin:2px 6px 16px 0}.login #pass-strength-result{width:250px;font-weight:600;border-style:solid;border-width:1px;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login form,.mobile #login .message,.mobile #login_error{margin-left:0}.mobile #login #nav,.mobile #login #backtoblog{margin-left:8px}.mobile #login h1 a{width:auto}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}.wp-list-table .site-deleted{background:#ff8573}.wp-list-table .site-spammed{background:#faafaa}.wp-list-table .site-archived{background:#ffebe8}.wp-list-table .site-mature{background:#fecac2}.no-js #message{display:block}.accordion-section ul.category-tabs,.accordion-section ul.add-menu-item-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}#nav-menus-frame .accordion-section-content .inside{font-size:14px}#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 .postbox,.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title{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:0;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{font-style:italic;font-weight:400;margin-left:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden}.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 p{margin:.3em 0 .6em}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top-width:1px;border-top-style:solid;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{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%}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-width:1px 0;border-style:solid}#nav-menu-header,#nav-menu-footer{padding:0 10px}#nav-menu-header{border-bottom:1px solid;margin-bottom:0}#nav-menu-header .menu-name-label{margin-top:4px}.nav-menus-php #post-body div.updated,.nav-menus-php #post-body div.error{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 td.menu-location-menus{padding-bottom:5px}.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-edit-menu-link,.locations-add-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{font-style:italic}#menu-management .inside{padding:0 10px}.postbox .howto input,.accordion-container .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 .submitdelete,.nav-menus-php .submitcancel{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.right,.button-secondary.right,.button-primary.right{float:right}.list-controls{float:left;margin-top:5px}.add-to-menu{float:right}.postbox .spinner{display:none;vertical-align:middle}.button-controls{clear:both;margin:10px 0}.show-all,.hide-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}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .list-container{max-height:200px;overflow-y:auto;padding:10px 10px 5px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0;margin-bottom: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;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}#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}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-right:13em}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{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}.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;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;height:40px}.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;padding:1px 2px;text-decoration:none}.nav-menus-php .major-publishing-actions .form-invalid{padding-left:4px;margin-left:-4px;border:0 none}#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}#nav-menus-frame,.button-controls,#menu-item-url-wrap,#menu-item-name-wrap{display:block}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) repeat-x bottom left}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) repeat-x top left;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;-moz-transition:color .1s ease-in 0;-webkit-transition:color .1s ease-in 0;text-align:center;color:#0074a2}.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;margin:6px 0 0}#plugin-information-header{margin:0;padding:0 5px;font-weight:600;position:relative;border-bottom-width:1px;border-bottom-style:solid;height:2.5em}#plugin-information ul#sidemenu{font-weight:400;margin:0 5px;position:absolute;left:0;bottom:-1px}#plugin-information{height:auto}#plugin-information p.action-button{width:100%;padding-bottom:0;margin-bottom:0;margin-top:10px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px}#plugin-information .action-button a{text-align:center;font-weight:600;text-decoration:none;display:block;line-height:2em}#plugin-information h2{clear:none!important;margin-right:200px}#plugin-information .fyi{margin:0 10px 50px;width:210px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0}#plugin-information .fyi h2.mainheader{padding:5px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px}#plugin-information .fyi ul{padding:10px 5px 10px 7px;margin:0;list-style:none;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}#plugin-information .fyi li{margin-right:0}#plugin-information #section-holder{padding:10px}#plugin-information .section ul,#plugin-information .section ol{margin-left:16px;list-style-type:square;list-style-image:none}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;max-width:100%;width:auto;height:auto}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px;padding-bottom:2em}#plugin-information #section-screenshots ol,#plugin-information .updated,#plugin-information pre{margin-right:215px}#plugin-information pre{padding:7px;overflow:auto;border-width:1px;border-style:solid}.plugin-version-author-uri{font-size:13px}img{border:0}#wphead{border-bottom-width:1px;border-bottom-style:solid}.press-this #wphead{height:32px;margin-left:0;margin-right:0;margin-bottom:5px}.press-this #header-logo{float:left;margin:7px 7px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.press-this #wphead h1{font-weight:400;font-size:16px;line-height:32px;margin:0;float:left}.press-this #wphead h1 a{text-decoration:none}.press-this #wphead h1 a:hover{text-decoration:underline}.press-this #message{margin:10px 0}.press-this .posting{margin-right:252px}.press-this-sidebar{float:right;width:240px;padding-top:10px}.press-this #title{margin-left:0;margin-right:0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.press-this .tagchecklist{margin-top:8px}.press-this #titlediv{margin:0}.press-this .wp-media-buttons{cursor:default;padding:8px 8px 6px}.press-this .howto{margin-top:2px;margin-bottom:3px;font-size:12px;font-style:italic;display:block}.press-this #wp-content-editor-container{clear:none}.press-this #poststuff .inside{margin-top:18px}.press-this .category-tabs{margin-bottom:3px}.press-this #poststuff{margin:0 10px 10px;padding:0}.press-this #photo-add-url-div input[type=text]{width:220px}#poststuff #editor-toolbar{height:30px}div.zerosize{border:0 none;height:0;margin:0;overflow:hidden;padding:0;width:0}.posting{margin-right:212px;position:relative}.press-this .inner-sidebar{width:200px}.press-this .inner-sidebar .sleeve{padding-top:5px}.press-this #submitdiv p{margin:0;padding:6px}.press-this #submitdiv #publishing-actions{border-bottom:1px solid #dfdfdf}.press-this #publish{float:right}.press-this #poststuff h2,.press-this #poststuff h3{font-size:14px;line-height:1}.press-this #tagsdiv-post_tag h3,.press-this #categorydiv h3{cursor:pointer}.press-this #submitdiv h3{cursor:default}h3.tb{font-weight:600;font-size:12px;margin-left:5px}#TB_window{border:1px solid #333}.press-this .postbox,.press-this .stuffbox{margin-bottom:10px;min-width:0}.js .meta-box-sortables .postbox:hover .handlediv{margin-right:0!important}.js .sidebar-name .sidebar-name-arrow:before,.js .meta-box-sortables .postbox .handlediv: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 .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow,.js #widgets-left .sidebar-name:hover .sidebar-name-arrow{display:block}.js .sidebar-name .sidebar-name-arrow:before,.js .meta-box-sortables .postbox .handlediv:before{content:'\f142'}.js .widgets-holder-wrap.closed .sidebar-name-arrow:before,.js .meta-box-sortables .postbox.closed .handlediv:before{content:'\f140'}.press-this #submitdiv:hover .handlediv{background:0 0}.tbtitle{font-size:1.7em;outline:0;padding:3px 4px;border-color:#dfdfdf}.press-this .actions{float:right;margin:-19px 0 0}.press-this #extra-fields .actions{margin:-32px -7px 0 0}.press-this .actions li{float:left;list-style:none;margin-right:10px}#extra-fields .button{margin-right:5px}#photo_saving{margin:0 8px 8px;vertical-align:middle}#img_container_container{overflow:auto}#extra-fields{margin-top:10px;position:relative}#extra-fields h2{margin:12px}#waiting{margin-top:10px;overflow:hidden}#waiting span{float:right;margin:0 0 0 5px}#waiting .spinner{display:block}#extra-fields .postbox{margin-bottom:5px}#extra-fields .titlewrap{padding:0;overflow:auto;height:120px}#img_container a{display:block;float:left;overflow:hidden}#img_container img,#img_container a{width:68px;height:68px}#img_container img{border:0;background-color:#f4f4f4;cursor:pointer}#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block;position:relative}#img_container a:hover,#img_container a:active{border-color:#000;z-index:1000;border-width:1px}#embed-code{width:100%;height:98px}.press-this .categorydiv div.tabs-panel{height:100px}.press-this .tagsdiv .newtag{width:120px}.press-this #content{margin:5px 0;padding:0 5px;border:0 none;height:345px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:19px;background:transparent}.press-this #publishing-actions .spinner{display:inline;vertical-align:middle}#TB_ajaxContent #options{position:absolute;top:20px;right:25px;padding:5px}#TB_ajaxContent h3{margin-bottom:.25em}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}.taghint{color:#aaa;margin:-17px 0 0 7px;visibility:hidden}input.newtag~div.taghint{visibility:visible}input.newtag:focus~div.taghint{visibility:hidden}#mce_fullscreen_container{background:#fff}#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}#template textarea,#docs-list{direction:ltr}#template p{width:97%}#templateside{float:right;width:190px;word-wrap:break-word}#templateside h3,#postcustomstuff p.submit{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em 0;padding:0}#templateside li{margin:4px 0}#templateside 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:0;font-weight:700}.nonessential{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%}.feature-filter{padding:8px 12px 0}.feature-filter .feature-group{float:left;margin:5px 10px 10px}.feature-filter .feature-group li{display:inline-block;vertical-align:top;list-style-type:none;padding-right:25px;width:150px}.widget{margin:0 auto 10px;position:relative;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-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{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;user-select:none}.widgets-holder-wrap .widget-inside{border-top:0;padding:1px 15px 15px;line-height:16px}.widget.ui-draggable-dragging{min-width:100%}.widget.ui-sortable-helper{opacity:.8}.widget-placeholder{border:1px dashed #bbb;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{border:0;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}div#widgets-left .widget-holder{background:transparent;border:0}#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:transparent;padding:0;margin:0 0 20px;border:0;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:transparent;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{margin:-5px 5px;float:none}#widgets-right .widgets-holder-wrap.widget-hover{border-color:#777;box-shadow:0 1px 2px rgba(0,0,0,.3)}.widgets_access #widgets-left .widget .widget-top{cursor:auto}.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,.widgets_access #wpwrap .widgets-holder-wrap.closed .widget,.widgets_access #wpwrap .widget-control-edit{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:1px solid #444}.widgets-holder-wrap .sidebar-name,.widgets-holder-wrap .sidebar-description{-webkit-user-select:none;-moz-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 .widgets-holder-wrap.closed .widget,.js .widgets-holder-wrap.closed .sidebar-description,.js .closed br.clear{display:none}.nav-menus-php .item-edit:before,.widget-top a.widget-action:after,.control-section .accordion-section-title:after,.accordion-section-title:after{right:0;content:'\f140';border:0;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}.widget-top a.widget-action:after{padding:12px 12px 0}.nav-menus-php .item-edit:before{line-height:2.1}.control-section .accordion-section-title:after,.accordion-section-title:after{float:right;right:20px;top:-2px}.control-section.open .accordion-section-title:after,#customize-info.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before{content:'\f142'}.widget-inside,.widget-description{display:none}#removing-widget{display:none;font-weight:400;padding-left:15px;font-size:12px;line-height:1}.widget-control-noform,#access-off,.widgets_access .widget-action,.widgets_access .sidebar-name-arrow,.widgets_access #access-on,.widgets_access .widget-holder .description,.no-js .widget-holder .description{display:none}.widgets_access .widget-holder,.widgets_access #widget-list{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{transition:opacity .1s linear}.widget-liquid-left #widgets-left.chooser #available-widgets .widget,.widget-liquid-left #widgets-left.chooser .inactive-sidebar{opacity:.2;pointer-events:none}.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question{opacity:1;pointer-events:auto}.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;transition:background:.2s ease-in-out}.widgets-chooser li:hover,.widgets-chooser li:focus{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:0}.widgets-chooser li.widgets-chooser-selected{background:#2ea2cc;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}.ui-sortable,.ui-draggable{-ms-touch-action:none;touch-action:none}.meta-box-sortables.ui-sortable,.widgets-holder-wrap .ui-draggable,.widgets-holder-wrap .ui-sortable,.menu.ui-sortable{-ms-touch-action:auto;touch-action:auto}.meta-box-sortables.ui-sortable .hndle,.menu.ui-sortable .menu-item-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;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf}.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;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:hover:after,.accordion-section-title:focus:after{border-color:#aaa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title{border-left:0;border-right:0;padding:10px 10px 11px 14px;line-height:21px;background:#fff}.control-section .accordion-section-title:after{top:11px}.js .control-section:hover .accordion-section-title,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section .accordion-section-title:focus{color:#222;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #dfdfdf}.sticky-menu #TB_window .updated{margin:16px 0 0}li#wp-admin-bar-menu-toggle{display:none}@media screen and (max-width:480px){div.widget-liquid-left{width:100%;float:none;border-right:0;padding-right:0}#widgets-left .sidebar-name{margin-right:0}#widgets-left #available-widgets .widget-top{margin-right:0}#widgets-left .inactive-sidebar .widgets-sortables{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 (max-width:768px){#col-left{width:100%}#col-right{width:100%}}@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{width:100%}#col-right{width:100%}.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}#menu-locations-wrap .widefat{width:100%}}@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}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){tr.wp-locked .locked-indicator{background-image:url(../images/lock-2x.png);background-size:16px 16px}#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-2x.gif) no-repeat scroll right bottom;background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-rtl-2x.gif) no-repeat scroll right bottom}div.star-holder{background:url(../images/stars-2x.png?ver=20121108) repeat-x bottom left;background-size:21px 37px}div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) repeat-x top left;background-size:21px 37px}.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);background-size:15px 123px}.spinner,.imgedit-wait,.customize-loading #customize-container,.revision-tick.completed-false,#theme-installer .wp-full-overlay-main{background-image:url(../images/spinner-2x.gif)}}.locale-zh-cn .howto,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn #utc-time,.locale-zh-cn #local-time,.locale-zh-cn p.install-help,.locale-zh-cn p.help,.locale-zh-cn p.description,.locale-zh-cn span.description,.locale-zh-cn .form-wrap p{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.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}@-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:rgba(0,0,0,0)!important}#wpwrap{background:#f0f0f0}#wpcontent,.auto-fold #wpcontent{position:relative;margin-left:0;padding-left:10px}.wrap{margin-right:12px;margin-left:0}.col-wrap{padding:0}.sticky-menu #adminmenuwrap{position:relative;z-index:auto;top:0}#screen-meta,#screen-meta-links,#collapse-menu,.post-format-select{display:none!important}textarea{-webkit-appearance:none}input[type=text],input[type=search],input[type=password],input[type=number]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}input[type=checkbox],.widefat th input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}input[type=checkbox]:checked:before,.widefat th input[type=checkbox]:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=radio],input[type=checkbox]{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}.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}#createuser .form-field input{width:100%}.wrap div.updated,.wrap div.error,.media-upload-form div.error{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.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 #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 .selected .wp-submenu:after,.auto-fold #adminmenu .wp-menu-open .wp-submenu:after{display:none}.auto-fold #adminmenu .opensub .wp-submenu{display:none}.auto-fold #adminmenu .selected .wp-submenu{display:block}.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:block}.auto-fold #adminmenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu 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:0;box-sizing:border-box;-moz-box-sizing:border-box}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#333}.wp-responsive-open #wpbody{right:-190px}.auto-fold .wp-responsive-open #adminmenuback,.auto-fold .wp-responsive-open #adminmenuwrap{display:block}#post-body-content{min-width:0}#titlediv #title-prompt-text,#wp-fullscreen-title-prompt-text{padding:10px}.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}.postbox{font-size:14px}#poststuff h3,.metabox-holder h3{padding:12px}.postbox .handlediv{margin-top:3px}#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 #jj,.timestamp-wrap #aa,.timestamp-wrap #hh,.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}.press-this ul.category-tabs li.tabs{padding:3px 5px 5px}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%;padding:25px 10px;margin-bottom:15px}.tagchecklist{margin:25px 10px}.tagchecklist span{font-size:16px;line-height:120%}#diff-next-revision,#diff-previous-revision{margin-top:-1em}table.diff{-ms-word-break:break-all;word-break:break-all;word-wrap:break-word}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar tr,.mceToolbar td{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-top:6px;padding-bottom:6px;padding-left:6px;padding-right: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}#wp-content-editor-tools{overflow:hidden;padding:20px 15px 1px 0;top:1px}a.wp-switch-editor{font-size:16px;line-height:1em;margin:3px 0 0 7px;padding:12px 15px}#wp-content-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 20px 0 15px}.wp-media-buttons span.wp-media-buttons-icon,.wp-media-buttons span.jetpack-contact-form-icon{width:22px!important;margin-top:-3px!important;margin-left:-5px!important}.wp-media-buttons .add_media span.wp-media-buttons-icon:before,.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-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}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}.tablenav{height:auto}.tablenav.top{margin:0}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}#wpbody-content{padding-bottom:100px}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}.tablenav.top .actions,.view-switch{display:none}.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}.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{display:none}.fixed .column-comment .comment-author{display:block}.column-title{width:85%}.fixed .column-comments,.widefat .check-column{width:35px}.widefat thead .check-column,.widefat tfoot .check-column{padding:10px 0}.widefat *{word-wrap:normal}#wpbody-content .quick-edit-row-post .inline-edit-col-left,#wpbody-content .quick-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 .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .bulk-edit-row .inline-edit-col-left,#wpbody-content .bulk-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:none;width:100%}#wpbody-content .quick-edit-row fieldset .inline-edit-col label,#wpbody-content .quick-edit-row fieldset .inline-edit-group label,#wpbody-content .bulk-edit-row fieldset .inline-edit-col label,#wpbody-content .bulk-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;-moz-box-sizing:border-box;box-sizing:border-box}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row #bulk-titles div{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=jj],.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=mn]{width:3em}.inline-edit-row fieldset input[name=aa]{width:4.5em}#bulk-titles div{margin:.8em .3em}#bulk-titles div a{height:22px}.tags .column-posts{width:50px}.tags .column-slug{width:30%}.comments .column-response{width:35%}.users .column-role{width:35%}.sites .column-blogname{width:55%}#wpbody-content #update-themes-table .plugin-title{width:auto}.form-table{-moz-box-sizing:border-box;box-sizing:border-box}.form-table th,.form-table td{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}textarea,input{font-size:16px}.form-table td input[type=text],.form-table td input[type=password],.form-table td select,.form-table td textarea,.form-table span.description,#profile-page .form-table textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;box-sizing:border-box;-moz-box-sizing:border-box}input[type=text].small-text,input[type=search].small-text,input[type=password].small-text,input[type=number].small-text,input[type=number].small-text,.form-table input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;box-sizing:border-box;-moz-box-sizing:border-box;padding:8px}.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}#utc-time,#local-time{display:block;float:none;padding:0;line-height:2}.wp_attachment_details label[for=content]{font-size:14px;line-height:1.5em}.link-manager-php #posts-filter{margin-top:25px}.link-manager-php .tablenav.bottom{overflow:hidden}.links-table #link_rel{max-width:none}.links-table th,.links-table td{padding:10px 0}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}.menu-item-bar .menu-item-handle,.menu-item-settings,.description-wide{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide{width:100%;height:auto}.menu-item-settings input{width:100%}.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}.available-theme .action-links .delete-theme{float:none;margin:0;padding:0;clear:both}.available-theme .action-links .delete-theme a{padding:0}#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}.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{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{display:block;width:auto}.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}.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-top:13px;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{box-shadow:none;-webkit-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);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);-ms-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);-o-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 th.check-column,.plugins tr.active+tr.inactive td{border-top:0}.wp-list-table.plugins .column-description{padding-top:0}.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}.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 thead th.check-column,.wp-list-table.plugins tfoot 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 thead .check-column input,.wp-list-table.plugins tfoot .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-name,table.plugin-install .column-version,table.plugin-install .column-rating,table.plugin-install .column-description{display:block;width:auto}table.plugin-install th.column-name,table.plugin-install th.column-version,table.plugin-install th.column-rating,table.plugin-install th.column-description{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)}#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 10px 5px 0}.about-wrap .feature-section.one-col>div,.about-wrap .feature-section.two-col>div,.about-wrap .three-col.about-updates>div{width:100%;margin:0;float:none}.about-wrap .about-colors .color-option{width:49%}.comment-ays{border-bottom:0}#wpfooter{display:none}#comments-form .checkforspam{display:none}.press-this a.wp-switch-editor{font:13px/19px "Open Sans",sans-serif;margin:5px 0 0 5px;padding:3px 8px 4px}.press-this #wp-content-media-buttons a{padding:0;line-height:normal;height:auto}.press-this #wp-content-editor-tools{padding:0;top:3px}.press-this .category-tabs{margin-top:0}.press-this .tagsdiv .newtag{width:120px;padding:3px 5px;margin-bottom:0}.press-this .tagchecklist{padding:0;margin-bottom:0}.press-this .wp_themeSkin a.mceButton{width:20px;height:20px}.press-this .wp_themeSkin .mceButton .mceIcon{margin:0}.press-this #poststuff h3,.press-this .metabox-holder h3{padding:7px 12px}.interim-login input[type=checkbox],.press-this input[type=checkbox],.press-this input[type=radio]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before,.press-this input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px 0 0 -4px}.press-this input[type=radio]:checked:before{font:400 21px/1 dashicons;width:6px;height:6px;margin:4px}.press-this ul.categorychecklist ul,.press-this ul.categorychecklist li{margin-top:0;margin-bottom:0}.press-this div.quicktags-toolbar input{padding:2px 4px}.press-this textarea,.press-this input{font-size:14px}.press-this .tagchecklist span{font-size:13px;line-height:1.8em}}@media only screen and (max-width:500px){.about-wrap{margin-right:20px;margin-left:10px}.about-wrap h1,.about-text{margin-right:0}.about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap .feature-section.three-col div{width:100%;float:none}.about-wrap .three-col.about-updates .col-1{padding:0;float:none}.about-wrap .three-col.about-updates .col-2{margin:0 0 20px;width:100%;float:none}#wp-content-media-buttons a{font-size:14px;padding:0 10px}}@media screen and (max-width:782px){#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}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:0;text-align:center;text-decoration:none;box-sizing:border-box;-moz-box-sizing:border-box}}@media screen and (max-width:600px){#adminmenuwrap,#adminmenuback{display:none}.wp-responsive-open #adminmenuwrap,.wp-responsive-open #adminmenuback{display:block}#wpwrap.wp-responsive-open{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}.auto-fold #adminmenu{top:46px}#wp-responsive-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:400}.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}div#post-body.metabox-holder.columns-1{overflow-x:hidden}.color-option{width:49%}}
\ No newline at end of file
+#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%}#wpcontent,#wpfooter{margin-left:180px}.folded #wpcontent,.folded #wpfooter{margin-left:56px}#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,.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)}.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}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0074a2;-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:#2ea2cc}a:focus{color:#124964}a:active,a:focus{outline:thin dotted}#adminmenu a:active,#adminmenu a:focus,.screen-reader-text:focus{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:#222;font-size:1.5em;margin:.83em 0;font-weight:400}h3{color:#222;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 outside}ul.ul-square{list-style:square outside}ol.ol-decimal{list-style:decimal outside}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}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:0}.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:0}.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}div.error,div.updated{margin:5px 15px 2px}div.error p,div.updated p{margin:.5em 0;padding:2px}.media-upload-form div.error,.wrap div.error,.wrap div.updated{margin:5px 0 15px}div.updated{border-left:4px solid #7ad03a;padding:1px 12px;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)}div.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);padding:1px 12px}.attention{color:#2ea2cc}.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:0;-webkit-border-radius:2px;border-radius:2px;background:#e0e0e0;text-shadow:none;font-weight:600;font-size:13px}.wrap .add-new-h2:hover{background:#2ea2cc;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}.alt,.alternate{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:#333}.wp-ui-text-primary{color:#333}.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}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox h3,.side-info,.sidebar-name,.stuffbox h3,.widefat tfoot th,.widefat thead th,.widget .widget-top,h3.dashboard-widget-title,h3.dashboard-widget-title small,h3.dashboard-widget-title span{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#222}#namediv h3,#submitdiv h3,.postbox h3{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,.tagchecklist span a:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;height:20px;margin:2px 0;text-align:center;width:20px;-webkit-font-smoothing:antialiased!important}#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:0}#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}#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,#sidemenu 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:0;-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:0;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:#333}#screen-meta-links a:focus{border-color:#aaa;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.15);box-shadow:0 2px 3px rgba(0,0,0,.15)}#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:#bbb}#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}#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:0;border-bottom:0;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:0;border-left:0}.contextual-help-tabs a:hover{color:#333}.contextual-help-tabs .active{padding:0;margin:0 -1px 0 0;border-left:2px solid #2ea2cc;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:#333}.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}.narrow{width:70%;margin-bottom:40px}.narrow p{line-height:150%}.widefat td,.widefat th{overflow:hidden;color:#555}.widefat th{font-weight:400}.widefat tfoot tr th,.widefat thead tr th{color:#333}.widefat td p{margin:2px 0 .8em}.widefat ol,.widefat p,.widefat ul{color:#333}.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 #bbb;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 none;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 none;height:0;min-height:0}}.js .postbox .hndle{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 #bbb;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox h3,.stuffbox h3{margin-top:1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .postbox h3,.js .widget .widget-top{cursor:move}.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:0;-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 0;margin-right: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:0;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) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;float:right;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}#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}#sidemenu{margin:-30px 15px 0 315px;list-style:none;position:relative;float:right;padding-left:10px;font-size:12px}#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;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;border:1px solid #dfdfdf;border-bottom-color:#f1f1f1;background-color:#f1f1f1;color:#000}.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}#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:0;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) repeat-x bottom left}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) repeat-x top left;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:#0074a2}.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;margin:6px 0 0}#plugin-information{background:#fcfcfc;position:fixed;top:0;right:0;bottom:0;left:0;height:auto;padding:0}#plugin-information-title{padding:0 76px 0 20px;font-size:22px;font-weight:600;line-height:56px;top:0;right:0;left:0;height:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-tabs{padding:0 16px;position:absolute;top:56px;right:0;left:0;height:36px;z-index:1}#plugin-information-tabs a{position:relative;float:left;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;-webkit-transition:none;transition:none}#plugin-information-tabs a.current{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:0;color:#333}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd;position:absolute;top:90px;right:0;bottom:58px;left:0}#section-holder{margin:0;padding:10px 26px;position:absolute;top:0;right:250px;bottom:0;left:0;overflow:auto}#section-holder .updated{margin:16px 0}#plugin-information .fyi{background:#f3f3f3;border-left:1px solid #ddd;color:#666;padding:16px;position:absolute;top:0;right:0;bottom:0;width:217px;overflow:auto}#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-footer{padding:15px 16px;position:absolute;right:0;bottom:0;left:0;height:28px}#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-version-author-uri{font-size:13px}@media screen and (max-width:782px){#plugin-information-content{overflow:auto;bottom:58px}#plugin-information .fyi{border:1px solid #ddd;position:static;width:auto;margin:26px 26px 16px}#section-holder{position:static}#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:#fcfcfc url( ../images/spinner.gif ) no-repeat center}@media print,(-o-min-device-pixel-ratio:5/4),(-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:#fcfcfc url( ../images/spinner-2x.gif ) no-repeat center;-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{line-height:48px;width:48px;height:48px}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{line-height:48px}img{border:0}#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 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:0;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:0;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:#aaa}.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 0}.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{content:'\f142'}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.menu.ui-sortable,.meta-box-sortables.ui-sortable,.widgets-holder-wrap .ui-draggable,.widgets-holder-wrap .ui-sortable{-ms-touch-action:auto;touch-action:auto}.menu.ui-sortable .menu-item-handle,.meta-box-sortables.ui-sortable .hndle{-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:#aaa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title{border-left:0;border-right:0;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:#222;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,(-o-min-device-pixel-ratio:5/4),(-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) repeat-x bottom left;-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: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:rgba(0,0,0,0)!important}#wpwrap{background:#f0f0f0}#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,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{right:-190px}.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,input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #bbb;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-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-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:#888}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#2ea2cc}.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.disabled,input:disabled,textarea.disabled,textarea:disabled{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);border-color:rgba(222,222,222,.75);background:rgba(255,255,255,.5);color:rgba(51,51,51,.5)}input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}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}input.readonly,textarea.readonly{background-color:#ddd}@-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;padding:3px 5px;line-height:15px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],select,textarea{outline:0}.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[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],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:#333;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}select[disabled]{color:#7f7f7f}input[type=checkbox]:focus,input[type=email]: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=url]: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[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}.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:0}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:0;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:0;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{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-plugins input[name="s"],.search-box input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=text].ui-autocomplete-loading{background:transparent url(../images/loading.gif) no-repeat right center;visibility:visible}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete-input.open{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:1px solid #aaa;background-color:#efefef}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:left}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px;color:#444}.ui-autocomplete li a.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:#222;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}#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:0}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.pressthis{margin:20px 0}.pressthis a,.pressthis a:active,.pressthis a:focus,.pressthis a:hover{display:inline-block;position:relative;cursor:move;color:#333;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 a:active{outline:0}.pressthis a: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 a span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis a span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis a: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)}#local-time,#utc-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}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=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}.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}}@media only screen and (max-width:768px){.form-field input,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media screen and (max-width:600px){.color-option{width:49%}}#adminmenu,#adminmenu .wp-submenu,#adminmenuback,#adminmenuwrap{width:160px;background-color:#222}#adminmenuback{position:absolute;top:0;bottom:0;z-index:-1}#adminmenu{clear:left;margin:12px 0 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}#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:#bbb}#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:#2ea2cc}#adminmenu li.menu-top{border:0;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:#333;-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 none;margin-top:0;-webkit-box-shadow:none;box-shadow:none;background-color:#333}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{position:relative;background-color:#111}.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:#0074a2;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:#999;padding:7px 0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu div.wp-menu-image:before{color:#999}#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:hover div.wp-menu-image:before{color:#fff}#adminmenu li:hover div.wp-menu-image:before{color:#2ea2cc}.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;z-index:9999}.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:solid 8px 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:#333}#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 none}#adminmenu .awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.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,#sidemenu li a 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:#2ea2cc;color:#fff}#adminmenu li span.count-0,#sidemenu li a .count-0{display:none}#collapse-menu{font-size:13px;line-height:34px;margin-top:10px;color:#aaa;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after{color:#2ea2cc}.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:#aaa;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}li#wp-admin-bar-menu-toggle{display:none}@media only screen and (max-width:900px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-left:56px}.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 none}.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:0;-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:#333}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:0;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:0!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 none;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}h3.dashboard-widget-title,h3.dashboard-widget-title small,h3.dashboard-widget-title span{color:#333}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}#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:0}#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 0 3px}.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:transparent!important}.welcome-panel .welcome-icon:before{color:#888;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}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}.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:0;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{clear:right;float:right;position:relative;top:-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:#888}#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:0}#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:0}.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}#activity-widget #the-comment-list .alt,#activity-widget #the-comment-list .alternate{background:0 0}#activity-widget #the-comment-list .comment-item{background:#fafafa;padding:12px;position:relative}#activity-widget #the-comment-list img{position:absolute;left:13px;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{margin-right:20px;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:0}#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:#222;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{-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:0}#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}#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;line-height:100%;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:transparent none;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag h3.hndle{border:0;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 none;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 none;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 none;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:0 0;height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;background-position:center -80px;background-repeat:no-repeat;color:#fff}.post-com-count:after{content:"";display:block;width:0;height:0;margin-left:8px;border-top:5px solid #bbb;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:#bbb;color:#fff}.post-com-count:hover{background-position:center -3px}.post-com-count:hover span{background-color:#2ea2cc}.post-com-count:hover:after{border-top:5px solid #2ea2cc}strong .post-com-count{background-position:center -55px}strong .post-com-count span{background-color:#0074a2}strong .post-com-count:after{border-top:5px solid #0074a2}.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 .spinner{padding:2px 0 0;vertical-align:top;float:right}#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-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:0!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 none}#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 .spinner{padding-left:5px}.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:#888;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}th.manage-column a,th.sortable a:active,th.sortable a:focus,th.sortable a:hover{color:#333}th.sortable a:focus{background:#e1e1e1}.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:#2ea2cc}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:active,.tablenav .tablenav-pages a.disabled:focus,.tablenav .tablenav-pages a.disabled:hover{color:#aaa;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}.tablenav .delete{margin-right:20px}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}.view-switch{float:right;margin:5px 16px 0 8px}.view-switch img{display:none}.view-switch a{text-decoration:none}.view-switch>a{display:inline-block;width:18px;height:18px}.view-switch>a:before{color:#bbb;content:'\f163';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 a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}.view-switch>a+a:before{margin-left:5px;content:'\f164'}.filter{float:left;margin:-5px 0 0 10px}.filter .subsubsub{margin-left:-10px;margin-top:13px}.screen-per-page{width:4em}#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}.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:23px}.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}.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}.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 .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:text-bottom}.inline-edit-row fieldset label textarea{width:100%;height:4em}#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-save .spinner{padding:4px 10px 0;vertical-align:top;float:right}.inline-edit-row h4{text-transform:uppercase}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{font-style:italic;line-height:1.8em}.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.1em}.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:solid 1px #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 tr.active+tr.inactive.update td,.plugins tr.active+tr.inactive.update 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}.plugins .active th.check-column{border-left:4px solid #2ea2cc}.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{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-update-tr .update-message:before{color:#d54e21;content:'\f463';display:inline-block;font:400 20px/1 dashicons;speak:none;margin:0 8px 0 -2px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.plugins .plugin-update{padding:0;border: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 .plugin-update .update-message{background-color:#fcf3ef}.plugin-install-php h4{margin:2.5em 0 8px}.wp-list-table .site-deleted{background:#ff8573}.wp-list-table .site-spammed{background:#faafaa}.wp-list-table .site-archived{background:#ffebe8}.wp-list-table .site-mature{background:#fecac2}@media screen and (max-width:782px){.tablenav{height:auto}.tablenav.top{margin:0}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}.tablenav.top .actions,.tablenav.top .displaying-num,.view-switch{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}#bulk-titles div{margin:.8em .3em}#bulk-titles div a{height:22px}.tags .column-posts{width:50px}.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:0}.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)}}#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;margin-bottom:10px}#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;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 none;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:transparent none;border:0 none;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:#333}.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 none}#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:solid 1px 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}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:0;background-color:#f7f7f7;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}#post-status-info td{font-size:12px}.autosave-info{padding:2px;text-align:right}#editorcontent #post-status-info{border:0}#content-resize-handle{background:transparent url(../images/resize.gif) no-repeat scroll right bottom;width:12px;cursor:n-resize}.rtl #content-resize-handle{background:transparent url(../images/resize-rtl.gif) no-repeat scroll left bottom}#wp-word-count{display:block;padding:2px 10px}#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:#888}#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%;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}.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;white-space:nowrap;cursor:default}.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}.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0 none;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:#2ea2cc}#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:solid 1px #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,.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}.tagsdiv{margin-top:-8px}#poststuff .taghint{color:#aaa;margin:15px 0 -24px 12px}#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}.taghint{color:#aaa;margin:-17px 0 0 7px;visibility:hidden}input.newtag~div.taghint{visibility:visible}input.newtag:focus~div.taghint{visibility:hidden}p.popular-tags{border:0;line-height:2em;max-width:1000px;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{margin-bottom:0;border-bottom-style:solid;border-bottom-width:1px}.comment-ays .alt{background-color:transparent}.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}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-2x.gif) no-repeat scroll right bottom;-webkit-background-size:11px 11px;background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-rtl-2x.gif) no-repeat scroll right bottom}}@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 none;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0}.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-top:6px;padding-bottom:6px;padding-left:6px;padding-right: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}#wp-content-editor-tools{overflow:hidden;padding:20px 15px 1px 0;top:1px}a.wp-switch-editor{font-size:16px;line-height:1em;margin:3px 0 0 7px;padding:12px 15px}#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{border-bottom:0}.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 #aaa;-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:fixed;vertical-align:middle;opacity:0;width:100%;top:50%;margin-left:-90px;-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}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#2ea2cc;border:1px solid #0074a2;-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,(-o-min-device-pixel-ratio:5/4),(-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}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}#media-items .media-item{border-bottom:1px solid #dfdfdf;min-height:36px;position:relative;width:100%}#media-items{width:623px}.media-new-php #media-items{margin:1em 0}#media-items:empty{border:0 none}.media-item .filename{line-height:36px;overflow:hidden}.media-item .pinkynail{float:left;margin:2px 10px 0 0;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 0 0;width:200px;line-height:2em;padding:0;overflow:hidden;margin-bottom:2px;-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:#0074a2;-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{margin:0;padding:0}.media-item .error-div,.media-upload-form .media-item.error p{line-height:16px;margin:5px 10px;padding:0}.media-item .error-div a.dismiss{display:block;float:right;margin:5px 4px 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:125px;position:absolute;top:18px}#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:#2ea2cc}#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 0}#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 #bbb;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#aaa;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}.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:#fff url(../images/spinner.gif) no-repeat center;-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}.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;padding:0 0 4px;vertical-align:bottom}.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:#333}.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%}@media print,(-o-min-device-pixel-ratio:5/4),(-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}}.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}.theme-navigation .theme-count,.themes-php .wrap .theme-count{color:#fff;-webkit-border-radius:30px;border-radius:30px;background:#777;font-size:14px;padding:4px 10px;font-weight:600;margin-left:5px;margin-right:20px;position:relative;top:-3px}.theme-navigation a{text-decoration:none}.themes-php div.error,.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-transform:translateZ(0);-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:#222;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{outline:1px dotted #222}.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 .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-left:0;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-right:0}.theme-browser .theme .theme-author{background:#222;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:0;-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:after{display:block;content:'';-ms-filter:"alpha(Opacity=100)";opacity:1;background:0 0;background:rgba(0,0,0,0);position:absolute;top:0;left:0;right:0;bottom:0;padding:10% 0 0;text-shadow:none;border:5px dashed #d5d2ca;border:5px dashed rgba(0,0,0,.1);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out;-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:focus .theme-screenshot,.theme-browser .theme.add-new-theme:hover .theme-screenshot{background:0 0}.theme-browser .theme.add-new-theme:focus span:after,.theme-browser .theme.add-new-theme:hover span:after{background:#fff;color:#0074a2}.theme-browser .theme.add-new-theme:focus:after,.theme-browser .theme.add-new-theme:hover:after{border-color:transparent;color:#fff;background:#0074a2;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:-10%;margin-bottom:10%}.theme-browser .theme.add-new-theme:focus .theme-name,.theme-browser .theme.add-new-theme:hover .theme-name{color:#fff;z-index:2}.themes-php .theme-search{position:relative;top:-2px;left:20px;font-size:16px;font-weight:300;line-height:1.5;width:280px}.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}body.theme-overlay-open{overflow:hidden}.theme-overlay .theme-header{position:absolute;top:0;left:0;right:0;height:48px;border-bottom:1px solid #ddd}.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}.theme-overlay .theme-header .close:focus:before,.theme-overlay .theme-header .close:hover:before{color:#fff}.theme-overlay .theme-header .close:before{font:400 30px/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}.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:#0074a2;color:#fff}.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:'\f340'}.theme-overlay .theme-header .right:before{content:'\f344'}.rtl .theme-overlay .theme-header .left:before{content:'\f345'}.rtl .theme-overlay .theme-header .right:before{content:'\f341'}.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}.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}.theme-overlay .theme-actions .delete-theme{color:#a00;position:absolute;right:10px;bottom:5px;text-decoration:none;border-color:transparent;-webkit-box-shadow:none;box-shadow:none;background:0 0}.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 #2ea2cc}.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:#333;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:#222;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;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.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:#888;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:#222;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 #2ea2cc;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:0;z-index:500;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 .theme-search{float:none;clear:both;left:0;top:0;right:0;margin:10px 0;width:100%}.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:#0074a2}.theme-browser .theme .theme-installed:before{content:'\f147'}.theme-browser .theme.is-installed .theme-actions .button-primary{display:none!important}.theme-navigation{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);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;display:inline-block;font-size:13px;margin:20px 0 30px;padding:0 20px;position:relative;width:100%}.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-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}body.show-upload-theme .upload-theme{display:block}.upload-theme .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;padding:30px;margin:30px auto;max-width:380px}.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+.theme-navigation,body.show-upload-theme .upload-theme+.theme-navigation+.theme-browser{display:none}.theme-navigation .theme-count{margin-left:0;position:absolute;top:12px}.theme-count+.theme-section{margin-left:60px}.theme-filter,.theme-section{border-bottom:4px solid #fff;color:#666;cursor:pointer;display:inline-block;margin:0 10px;padding:15px 0}.theme-filter.current,.theme-section.current{border-bottom:4px solid #666;color:#222}.theme-top-filters{display:inline-block}.theme-navigation .more-filters{color:#666;cursor:pointer;display:inline-block;margin:0 10px;padding:4px 6px}body.more-filters-opened .more-filters,body.more-filters-opened .more-filters:before{background:#777;-webkit-border-radius:2px;border-radius:2px;border:0;color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover,body.more-filters-opened .more-filters:hover:before{background:#2ea2cc}.theme-install-php .theme-search{position:absolute;right:10px;top:9px;font-size:16px;font-weight:300;line-height:1.5;width:280px}.more-filters:before{color:#777;margin:0 5px 0 0;content:"\f111";display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-size:16px;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}.more-filters.current:before{color:#fff}.more-filters-container{display:none;padding:20px;border-top:1px solid #eee;margin:0 -20px;background:#fafafa}body.more-filters-opened .more-filters-container{display:block;overflow:hidden}body.more-filters-opened .theme-section.current{border-bottom:0}body.more-filters-opened .theme-browser,body.more-filters-opened.filters-applied.loading-themes .theme-browser{display:none}body.more-filters-opened.filters-applied .theme-browser{display:block}.more-filters-container .filters-group{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;width:19%;background:#fff;margin:0 1% 0 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);padding:10px}.more-filters-container .wide-filters-group{width:38%}.more-filters-container .feature-name{margin:0;position:relative}.more-filters-container ol{list-style-type:none;margin:20px 0 0;font-size:12px}.more-filters-container li{display:inline-block;vertical-align:top;list-style-type:none;margin:5px 0;padding-right:25px;width:160px}.theme-navigation .more-filters-container .apply-filters{margin:0 0 20px}.theme-navigation .more-filters-container .clear-filters{display:none;margin:0 0 20px 10px}.more-filters-container .apply-filters span{display:inline-block;font-size:12px;text-indent:10px;opacity:.8}.more-filters-container .filtering-by{display:none;margin:0}.more-filters-container .filtering-by>span{font-weight:600}.more-filters-container .filtering-by .tags{display:inline}.more-filters-container .filtering-by .tag{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);font-size:11px;margin:0 5px;padding:4px 8px}.more-filters-container .filtering-by a{margin-left:10px}body.filters-applied .more-filters-container .filters-group,body.filters-applied .more-filters-container a.button,body.filters-applied .more-filters-container br{display:none!important}body.filters-applied .more-filters-container .filtering-by{display:block}body.filters-applied .more-filters-container{padding:20px}p.no-themes{color:#999;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){.theme-install-php .theme-search{margin:20px 0;position:static;width:100%}.more-filters-container{border-bottom:1px solid #eee}.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}.more-filters-container .filters-group{margin-bottom:0;margin-top:5px;width:100%}.more-filters-container .filters-group li{margin:10px 0}}@media only screen and (max-width:782px){.more-filters-container .filters-group,.more-filters-container .filters-group li{width:100%}}.rating{margin:30px 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:inline;margin-left:10px;line-height:20px;color:#999}.error .theme-browser,.loading-themes .theme-browser{display:none}.loading-themes .spinner{display:block;margin:40px auto 0;float:none}.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;overflow:auto;background:#eee;border-right:0}.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%}.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:0;-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:0;border-top:0;-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}.wp-full-overlay .close-full-overlay{text-decoration: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:#0074a2}.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 .theme-navigation{padding:10px 20px;position:absolute;bottom:10px;text-align:left}.wp-full-overlay .theme-navigation .next-theme{float:right}.wp-full-overlay.no-navigation .theme-navigation{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:#fff url(../images/spinner.gif) no-repeat fixed center center;-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-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{margin-top:9px}.theme-install-overlay .wp-full-overlay-header .theme-install{float:right;line-height:26px}.theme-install-overlay .wp-full-overlay-sidebar{background:#EEE;border-right:1px solid #DDD}.theme-install-overlay .wp-full-overlay-main{background:#fff url(../images/spinner.gif) no-repeat center center;-webkit-background-size:20px 20px;background-size:20px 20px}@media print,(-o-min-device-pixel-ratio:5/4),(-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-loading #customize-container,.theme-install-overlay .wp-full-overlay-main{background-image:url(../images/spinner-2x.gif)}}@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}}.press-this #message{border-left:4px solid #7ad03a;padding:1px 12px;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)}.press-this #side-sortables .category-tabs li{display:inline;line-height:1.35em}body.press-this ul.category-tabs li.tabs a{color:#333}.press-this #content-resize-handle{bottom:2px}body.press-this{color:#333;margin:0;padding:0;min-width:708px;min-height:400px}.press-this #titlediv #title{font-size:1.4em}.press-this #site-heading:before{top:3px;position:relative;display:inline-block;font:400 18px/1 dashicons;speak:none;color:#727272;content:'\f120';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.press-this #wphead{height:32px;margin-left:0;margin-right:0;margin-bottom:5px}.press-this #header-logo{float:left;margin:7px 7px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.press-this #wphead h1{font-weight:400;font-size:16px;line-height:32px;margin:0;float:left}.press-this #wphead h1 a{text-decoration:none}.press-this #wphead h1 a:hover{text-decoration:underline}.press-this #message{margin:10px 0}.press-this .posting{margin-right:250px}.press-this-sidebar{float:right;width:240px;padding-top:10px}.press-this #title{margin-left:0;margin-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.press-this .tagchecklist{margin-top:8px}.press-this #titlediv{margin:0}.press-this #wp-content-wrap #wp-content-editor-tools{padding:0;top:3px;overflow:hidden}.press-this .wp-media-buttons{cursor:default;padding:8px 8px 6px}.press-this #wp-content-wrap #wp-content-media-buttons a{padding:0;line-height:normal;height:auto;font-size:16px}.press-this #wp-content-wrap .mce-toolbar .mce-btn-group .mce-btn{margin:0 1px}.press-this #wp-content-wrap .mce-toolbar .mce-btn button{padding:2px 3px}.press-this #wp-content-wrap .quicktags-toolbar,.press-this #wp-content-wrap div.mce-toolbar-grp{padding-right:3px}.press-this .howto{margin-top:2px;margin-bottom:3px;font-size:12px;font-style:italic;display:block}.press-this #wp-content-editor-container{clear:none}.press-this #poststuff .inside{margin-top:18px}.press-this .category-tabs{margin-bottom:3px}.press-this #poststuff{margin:0 8px;padding:0}.press-this #photo-add-url-div input[type=text]{width:220px}#poststuff #editor-toolbar{height:30px}.posting{margin-right:212px;position:relative}.press-this .inner-sidebar{width:200px}.press-this .inner-sidebar .sleeve{padding-top:5px}.press-this #submitdiv p{margin:0;padding:6px}.press-this #submitdiv #publishing-actions{border-bottom:1px solid #dfdfdf}.press-this #publish{float:right}.press-this #poststuff h2,.press-this #poststuff h3{font-size:14px;line-height:1}.press-this #categorydiv h3,.press-this #tagsdiv-post_tag h3{cursor:pointer}.press-this #submitdiv h3{cursor:default}h3.tb{font-weight:600;font-size:12px;margin-left:5px}.press-this .postbox,.press-this .stuffbox{margin-bottom:10px;min-width:0}.press-this #submitdiv:hover .handlediv{background:0 0}.tbtitle{font-size:1.7em;outline:0;padding:3px 4px;border:1px solid #dfdfdf}.press-this .actions{float:right;margin:-19px 0 0}.press-this #extra-fields .actions{margin:-32px -7px 0 0}.press-this .actions li{float:left;list-style:none;margin-right:10px}#extra-fields .button{margin-right:5px}#photo_saving{margin:0 8px 8px;vertical-align:middle}#img_container_container{overflow:auto}#extra-fields{margin-top:10px;position:relative}#extra-fields h2{margin:12px}#waiting{margin-top:10px;overflow:hidden}#waiting span{float:right;margin:0 0 0 5px}#waiting .spinner{display:block}#extra-fields .postbox{margin-bottom:5px}#extra-fields .titlewrap{padding:0;overflow:auto;height:120px}#img_container a{float:left;overflow:hidden}#img_container a,#img_container img{width:68px;height:68px}#img_container img{border:0;background-color:#f4f4f4;cursor:pointer}#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block;position:relative}#img_container a:active,#img_container a:hover{border-color:#000;z-index:1000;border-width:1px}#embed-code{width:100%;height:98px}.press-this .categorydiv div.tabs-panel{height:100px}.press-this .tagsdiv .newtag{width:120px}.press-this #content{margin:5px 0;padding:0 5px;border:0 none;height:340px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:19px;background:0 0}.press-this #publishing-actions .spinner{display:inline;vertical-align:middle}@media screen and (max-width:782px){.press-this ul.category-tabs li.tabs{padding:3px 5px 5px}.press-this a.wp-switch-editor{font:13px/19px "Open Sans",sans-serif;margin:5px 0 0 5px;padding:3px 8px 4px}.press-this #wp-content-media-buttons a{padding:0;line-height:normal;height:auto}.press-this #wp-content-editor-tools{padding:0;top:3px}.press-this .category-tabs{margin-top:0}.press-this .tagsdiv .newtag{width:120px;padding:3px 5px;margin-bottom:0}.press-this .tagchecklist{padding:0;margin-bottom:0}.press-this .wp_themeSkin a.mceButton{width:20px;height:20px}.press-this .wp_themeSkin .mceButton .mceIcon{margin:0}.press-this #poststuff h3,.press-this .metabox-holder h3{padding:7px 12px}.press-this input[type=checkbox],.press-this input[type=radio]{height:16px;width:16px}.press-this input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px 0 0 -4px}.press-this input[type=radio]:checked:before{font:400 21px/1 dashicons;width:6px;height:6px;margin:4px}.press-this ul.categorychecklist li,.press-this ul.categorychecklist ul{margin-top:0;margin-bottom:0}.press-this div.quicktags-toolbar input{padding:2px 4px}.press-this input,.press-this textarea{font-size:14px}.press-this .tagchecklist span{font-size:13px;line-height:1.8em}}.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%;vertical-align:middle}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 200px 0 0;color:#333;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h4{color:#222}.about-wrap .about-text,.about-wrap li.wp-person a.web,.about-wrap p.about-description{font-weight:400;line-height:1.6em;font-size:19px}.about-description{margin-top:1.4em}.about-text{margin:1em 200px 1em 0;min-height:60px;color:#777;font-size:24px}.about-wrap .changelog h2.about-headline-callout{margin:1.1em 0 .2em;font-size:2.4em;font-weight:300;line-height:1.3;text-align:center}.about-wrap h3{margin:1em 0 .6em;font-size:1.5em;line-height:1.5em}.customize h3{margin-top:1.75em;text-align:center}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1.2em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap code,.about-wrap ol li p{font-size:14px}.about-wrap .button.button-large{padding:8px 20px 10px!important;height:46px!important;font-size:14px;line-height:28px!important}.about-wrap .about-overview-img{margin: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}.wp-badge{background:#0074a2 url(../images/w-logo-white.png?ver=20131202) no-repeat;background:#0074a2,url(../images/wordpress-logo-white.svg?ver=20131110) no-repeat;background-position:center 24px;-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)}.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-overview{margin-top:40px;text-align:center}.about-overview .wp-video{margin:0 auto}.changelog .wp-playlist .wp-playlist-current-item img{height:64px;width:auto;max-width:100%}.about-wrap .feature-section{margin-top:40px;padding-bottom:20px}.about-wrap .feature-section.two-col>div{position:relative;width:47.5%;margin-right:4.999999999%;float:left}.about-wrap .feature-section.three-col>div{position:relative;width:29.95%;margin-right:4.999999999%;float:left}.about-wrap .feature-section.col .last-feature{margin-right:0}.about-wrap .under-the-hood .feature-section{margin-top:0}.about-wrap .changelog .feature-section{overflow:hidden}.about-wrap .feature-section.two-col div p{margin-right:3%}.about-wrap .feature-section div p img{float:right;margin-left:10px;max-width:20%}.about-wrap .changelog li{list-style-type:disc;margin-left:3em}.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 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{float:left;margin-right:10px}.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{height:70px;width:280px;padding-bottom:15px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;text-decoration:none}.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.one-col>div,.about-wrap .feature-section.three-col>div,.about-wrap .feature-section.two-col>div{width:100%;margin:0 0 40px;padding:0 0 40px;float:none;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .feature-section.col>div.last-feature,.about-wrap .under-the-hood .feature-section>div{margin:0;padding:0;border-bottom:0}}@media only screen and (max-width:500px){.about-wrap{margin-right:20px;margin-left:10px}.about-text,.about-wrap h1{margin-right:0}.about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap .feature-section.three-col div{width:100%;float:none}.about-wrap .three-col.about-updates .col-1{padding:0;float:none}.about-wrap .three-col.about-updates .col-2{margin:0 0 20px;width:100%;float:none}}.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:0;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 p{margin:.3em 0 .6em}.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 td.menu-location-menus{padding-bottom:5px}.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:#aaa;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}.postbox .spinner{display:none;vertical-align:middle}.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}.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;margin-bottom: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;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}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:0;-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;height:40px}.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 #0074a2;padding:1px 2px;color:#0074a2;text-decoration:none}.nav-menus-php .submitbox .submitcancel:hover{background:#0074a2;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{width:100%;height:auto}.menu-item-settings input{width:100%}.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{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:0;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:#aaa}.widget.ui-draggable-dragging{min-width:100%}.widget.ui-sortable-helper{opacity:.8}.widget-placeholder{border:1px dashed #bbb;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:0}#widgets-left .widgets-holder-wrap{border:0;-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:0;-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{margin:-5px 5px;float:none}#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:1px solid #444}.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,.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:#2ea2cc}#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:0}.widgets-chooser li.widgets-chooser-selected{background:#2ea2cc;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}@media screen and (max-width:480px){div.widget-liquid-left{width:100%;float:none;border-right:0;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}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-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
index e5666e71c40435026979643e53341152a7f0b34b..e53cd7d244fc80577d9367ac33ba1dac2b7383de 100644 (file)
@@ -96,7 +96,7 @@ class Custom_Background {
                get_current_screen()->set_help_sidebar(
                        '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
                        '<p>' . __( '<a href="http://codex.wordpress.org/Appearance_Background_Screen" target="_blank">Documentation on Custom Background</a>' ) . '</p>' .
-                       '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
+                       '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
                );
 
                wp_enqueue_media();
@@ -179,47 +179,49 @@ class Custom_Background {
        function admin_page() {
 ?>
 <div class="wrap" id="custom-background">
-<h2><?php _e('Custom Background'); ?></h2>
-<?php if ( !empty($this->updated) ) { ?>
+<h2><?php _e( 'Custom Background' ); ?></h2>
+
+<?php if ( ! empty( $this->updated ) ) { ?>
 <div id="message" class="updated">
 <p><?php printf( __( 'Background updated. <a href="%s">Visit your site</a> to see how it looks.' ), home_url( '/' ) ); ?></p>
 </div>
-<?php }
+<?php } ?>
+
+<h3><?php _e( 'Background Image' ); ?></h3>
 
-       if ( $this->admin_image_div_callback ) {
-               call_user_func($this->admin_image_div_callback);
-       } else {
-?>
-<h3><?php _e('Background Image'); ?></h3>
 <table class="form-table">
 <tbody>
-<tr valign="top">
-<th scope="row"><?php _e('Preview'); ?></th>
+<tr>
+<th scope="row"><?php _e( 'Preview' ); ?></th>
 <td>
-<?php
-$background_styles = '';
-if ( $bgcolor = get_background_color() )
-       $background_styles .= 'background-color: #' . $bgcolor . ';';
-
-if ( get_background_image() ) {
-       $background_image_thumb = esc_url( set_url_scheme( get_theme_mod( 'background_image_thumb', str_replace( '%', '%%', get_background_image() ) ) ) );
-       // background-image URL must be single quote, see below
-       $background_styles .= ' background-image: url(\'' . $background_image_thumb . '\');'
-               . ' background-repeat: ' . get_theme_mod( 'background_repeat', get_theme_support( 'custom-background', 'default-repeat' ) ) . ';'
-               . ' background-position: top ' . get_theme_mod( 'background_position_x', get_theme_support( 'custom-background', 'default-position-x' ) );
-}
-?>
-<div id="custom-background-image" style="<?php echo $background_styles; ?>"><?php // must be double quote, see above ?>
-<?php if ( get_background_image() ) { ?>
-<img class="custom-background-image" src="<?php echo $background_image_thumb; ?>" style="visibility:hidden;" alt="" /><br />
-<img class="custom-background-image" src="<?php echo $background_image_thumb; ?>" style="visibility:hidden;" alt="" />
-<?php } ?>
-</div>
-<?php } ?>
+       <?php
+       if ( $this->admin_image_div_callback ) {
+               call_user_func( $this->admin_image_div_callback );
+       } else {
+               $background_styles = '';
+               if ( $bgcolor = get_background_color() )
+                       $background_styles .= 'background-color: #' . $bgcolor . ';';
+
+               if ( get_background_image() ) {
+                       $background_image_thumb = esc_url( set_url_scheme( get_theme_mod( 'background_image_thumb', str_replace( '%', '%%', get_background_image() ) ) ) );
+                       // background-image URL must be single quote, see below
+                       $background_styles .= ' background-image: url(\'' . $background_image_thumb . '\');'
+                               . ' background-repeat: ' . get_theme_mod( 'background_repeat', get_theme_support( 'custom-background', 'default-repeat' ) ) . ';'
+                               . ' background-position: top ' . get_theme_mod( 'background_position_x', get_theme_support( 'custom-background', 'default-position-x' ) );
+               }
+       ?>
+       <div id="custom-background-image" style="<?php echo $background_styles; ?>"><?php // must be double quote, see above ?>
+               <?php if ( get_background_image() ) { ?>
+               <img class="custom-background-image" src="<?php echo $background_image_thumb; ?>" style="visibility:hidden;" alt="" /><br />
+               <img class="custom-background-image" src="<?php echo $background_image_thumb; ?>" style="visibility:hidden;" alt="" />
+               <?php } ?>
+       </div>
+       <?php } ?>
 </td>
 </tr>
+
 <?php if ( get_background_image() ) : ?>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Remove Image'); ?></th>
 <td>
 <form method="post" action="">
@@ -233,7 +235,7 @@ if ( get_background_image() ) {
 
 <?php $default_image = get_theme_support( 'custom-background', 'default-image' ); ?>
 <?php if ( $default_image && get_background_image() != $default_image ) : ?>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Restore Original Image'); ?></th>
 <td>
 <form method="post" action="">
@@ -243,9 +245,9 @@ if ( get_background_image() ) {
 </form>
 </td>
 </tr>
-
 <?php endif; ?>
-<tr valign="top">
+
+<tr>
 <th scope="row"><?php _e('Select Image'); ?></th>
 <td><form enctype="multipart/form-data" id="upload-form" class="wp-upload-form" method="post" action="">
        <p>
@@ -272,7 +274,7 @@ if ( get_background_image() ) {
 <table class="form-table">
 <tbody>
 <?php if ( get_background_image() ) : ?>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e( 'Position' ); ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e( 'Background Position' ); ?></span></legend>
 <label>
@@ -290,7 +292,7 @@ if ( get_background_image() ) {
 </fieldset></td>
 </tr>
 
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e( 'Repeat' ); ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e( 'Background Repeat' ); ?></span></legend>
 <label><input type="radio" name="background-repeat" value="no-repeat"<?php checked( 'no-repeat', get_theme_mod( 'background_repeat', get_theme_support( 'custom-background', 'default-repeat' ) ) ); ?> /> <?php _e('No Repeat'); ?></label>
@@ -300,7 +302,7 @@ if ( get_background_image() ) {
 </fieldset></td>
 </tr>
 
-<tr valign="top">
+<tr>
 <th scope="row"><?php _ex( 'Attachment', 'Background Attachment' ); ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e( 'Background Attachment' ); ?></span></legend>
 <label>
@@ -314,7 +316,7 @@ if ( get_background_image() ) {
 </fieldset></td>
 </tr>
 <?php endif; // get_background_image() ?>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e( 'Background Color' ); ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e( 'Background Color' ); ?></span></legend>
 <?php
index 7f222f7cb7e80cd3aca6c710b61bf61b2ba61b94..2a6a2f30834a6d272fca54775ec18eaaf9348e20 100644 (file)
@@ -40,10 +40,10 @@ class Custom_Image_Header {
         * @since 3.0.0
         * @access private
         */
-       var $default_headers = array();
+       var $default_headers;
 
        /**
-        * Holds custom headers uploaded by the user
+        * Holds custom headers uploaded by the user.
         *
         * @var array
         * @since 3.2.0
@@ -73,6 +73,11 @@ class Custom_Image_Header {
                $this->admin_image_div_callback = $admin_image_div_callback;
 
                add_action( 'admin_menu', array( $this, 'init' ) );
+
+               add_action( 'customize_save_after',         array( $this, 'customize_set_last_used' ) );
+               add_action( 'wp_ajax_custom-header-crop',   array( $this, 'ajax_header_crop'        ) );
+               add_action( 'wp_ajax_custom-header-add',    array( $this, 'ajax_header_add'         ) );
+               add_action( 'wp_ajax_custom-header-remove', array( $this, 'ajax_header_remove'      ) );
        }
 
        /**
@@ -93,6 +98,7 @@ class Custom_Image_Header {
                add_action("admin_head-$page", array($this, 'js'), 50);
                if ( $this->admin_header_callback )
                        add_action("admin_head-$page", $this->admin_header_callback, 51);
+
        }
 
        /**
@@ -131,7 +137,7 @@ class Custom_Image_Header {
                get_current_screen()->set_help_sidebar(
                        '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
                        '<p>' . __( '<a href="http://codex.wordpress.org/Appearance_Header_Screen" target="_blank">Documentation on Custom Header</a>' ) . '</p>' .
-                       '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
+                       '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
                );
        }
 
@@ -177,7 +183,7 @@ class Custom_Image_Header {
        /**
         * Set up the enqueue for the CSS files
         *
-        * @since 2.7
+        * @since 2.7.0
         */
        function css_includes() {
                $step = $this->step();
@@ -248,6 +254,10 @@ class Custom_Image_Header {
                if ( !isset($_wp_default_headers) )
                        return;
 
+               if ( is_array( $this->default_headers ) ) {
+                       return;
+               }
+
                $this->default_headers = $_wp_default_headers;
                $template_directory_uri = get_template_directory_uri();
                $stylesheet_directory_uri = get_stylesheet_directory_uri();
@@ -255,7 +265,6 @@ class Custom_Image_Header {
                        $this->default_headers[$header]['url'] =  sprintf( $this->default_headers[$header]['url'], $template_directory_uri, $stylesheet_directory_uri );
                        $this->default_headers[$header]['thumbnail_url'] =  sprintf( $this->default_headers[$header]['thumbnail_url'], $template_directory_uri, $stylesheet_directory_uri );
                }
-
        }
 
        /**
@@ -450,7 +459,7 @@ class Custom_Image_Header {
 ?>
 
 <div class="wrap">
-<h2><?php _e('Custom Header'); ?></h2>
+<h2><?php _e( 'Custom Header' ); ?></h2>
 
 <?php if ( ! empty( $this->updated ) ) { ?>
 <div id="message" class="updated">
@@ -464,11 +473,12 @@ class Custom_Image_Header {
 <tbody>
 
 <?php if ( get_custom_header() || display_header_text() ) : ?>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e( 'Preview' ); ?></th>
 <td>
-       <?php if ( $this->admin_image_div_callback ) {
-         call_user_func( $this->admin_image_div_callback );
+       <?php
+       if ( $this->admin_image_div_callback ) {
+               call_user_func( $this->admin_image_div_callback );
        } else {
                $custom_header = get_custom_header();
                $header_image_style = 'background-image:url(' . esc_url( get_header_image() ) . ');';
@@ -493,7 +503,7 @@ class Custom_Image_Header {
 <?php endif; ?>
 
 <?php if ( current_theme_supports( 'custom-header', 'uploads' ) ) : ?>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e( 'Select Image' ); ?></th>
 <td>
        <p><?php _e( 'You can select an image to be shown at the top of your site by uploading from your computer or choosing from your media library. After selecting an image you will be able to crop it.' ); ?><br />
@@ -547,7 +557,7 @@ class Custom_Image_Header {
 <table class="form-table">
 <tbody>
        <?php if ( get_uploaded_header_images() ) : ?>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e( 'Uploaded Images' ); ?></th>
 <td>
        <p><?php _e( 'You can choose one of your previously uploaded headers, or show a random one.' ) ?></p>
@@ -558,7 +568,7 @@ class Custom_Image_Header {
 </tr>
        <?php endif;
        if ( ! empty( $this->default_headers ) ) : ?>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e( 'Default Images' ); ?></th>
 <td>
 <?php if ( current_theme_supports( 'custom-header', 'uploads' ) ) : ?>
@@ -573,7 +583,7 @@ class Custom_Image_Header {
 </tr>
        <?php endif;
        if ( get_header_image() ) : ?>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e( 'Remove Image' ); ?></th>
 <td>
        <p><?php _e( 'This will remove the header image. You will not be able to restore any customizations.' ) ?></p>
@@ -584,7 +594,7 @@ class Custom_Image_Header {
 
        $default_image = get_theme_support( 'custom-header', 'default-image' );
        if ( $default_image && get_header_image() != $default_image ) : ?>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e( 'Reset Image' ); ?></th>
 <td>
        <p><?php _e( 'This will restore the original header image. You will not be able to restore any customizations.' ) ?></p>
@@ -601,7 +611,7 @@ class Custom_Image_Header {
 
 <table class="form-table">
 <tbody>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e( 'Header Text' ); ?></th>
 <td>
        <p>
@@ -610,7 +620,7 @@ class Custom_Image_Header {
 </td>
 </tr>
 
-<tr valign="top" class="displaying-header-text">
+<tr class="displaying-header-text">
 <th scope="row"><?php _e( 'Text Color' ); ?></th>
 <td>
        <p>
@@ -818,32 +828,15 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
                $attachment_id = absint( $_POST['attachment_id'] );
                $original = get_attached_file($attachment_id);
 
-
-               $max_width = 0;
-               // For flex, limit size of image displayed to 1500px unless theme says otherwise
-               if ( current_theme_supports( 'custom-header', 'flex-width' ) )
-                       $max_width = 1500;
-
-               if ( current_theme_supports( 'custom-header', 'max-width' ) )
-                       $max_width = max( $max_width, get_theme_support( 'custom-header', 'max-width' ) );
-               $max_width = max( $max_width, get_theme_support( 'custom-header', 'width' ) );
-
-               if ( ( current_theme_supports( 'custom-header', 'flex-height' ) && ! current_theme_supports( 'custom-header', 'flex-width' ) ) || $_POST['width'] > $max_width )
-                       $dst_height = absint( $_POST['height'] * ( $max_width / $_POST['width'] ) );
-               elseif ( current_theme_supports( 'custom-header', 'flex-height' ) && current_theme_supports( 'custom-header', 'flex-width' ) )
-                       $dst_height = absint( $_POST['height'] );
-               else
-                       $dst_height = get_theme_support( 'custom-header', 'height' );
-
-               if ( ( current_theme_supports( 'custom-header', 'flex-width' ) && ! current_theme_supports( 'custom-header', 'flex-height' ) ) || $_POST['width'] > $max_width )
-                       $dst_width = absint( $_POST['width'] * ( $max_width / $_POST['width'] ) );
-               elseif ( current_theme_supports( 'custom-header', 'flex-width' ) && current_theme_supports( 'custom-header', 'flex-height' ) )
-                       $dst_width = absint( $_POST['width'] );
-               else
-                       $dst_width = get_theme_support( 'custom-header', 'width' );
+               $dimensions = $this->get_header_dimensions( array(
+                       'height' => $_POST['height'],
+                       'width'  => $_POST['width'],
+               ) );
+               $height = $dimensions['dst_height'];
+               $width = $dimensions['dst_width'];
 
                if ( empty( $_POST['skip-cropping'] ) )
-                       $cropped = wp_crop_image( $attachment_id, (int) $_POST['x1'], (int) $_POST['y1'], (int) $_POST['width'], (int) $_POST['height'], $dst_width, $dst_height );
+                       $cropped = wp_crop_image( $attachment_id, (int) $_POST['x1'], (int) $_POST['y1'], (int) $_POST['width'], (int) $_POST['height'], $width, $height );
                elseif ( ! empty( $_POST['create-new-attachment'] ) )
                        $cropped = _copy_image_file( $attachment_id );
                else
@@ -855,31 +848,15 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
                /** This filter is documented in wp-admin/custom-header.php */
                $cropped = apply_filters( 'wp_create_file_in_uploads', $cropped, $attachment_id ); // For replication
 
-               $parent = get_post($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 = $this->create_attachment_object( $cropped, $attachment_id );
 
-               // Construct the object array
-               $object = array(
-                       'ID' => $attachment_id,
-                       'post_title' => basename($cropped),
-                       'post_content' => $url,
-                       'post_mime_type' => $image_type,
-                       'guid' => $url,
-                       'context' => 'custom-header'
-               );
                if ( ! empty( $_POST['create-new-attachment'] ) )
                        unset( $object['ID'] );
 
                // Update the attachment
-               $attachment_id = wp_insert_attachment( $object, $cropped );
-               wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $cropped ) );
+               $attachment_id = $this->insert_attachment( $object, $cropped );
 
-               $width = $dst_width;
-               $height = $dst_height;
+               $url = $object['guid'];
                $this->set_header_image( compact( 'url', 'attachment_id', 'width', 'height' ) );
 
                // cleanup
@@ -1040,4 +1017,269 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
                set_theme_mod( 'header_image', $default );
                set_theme_mod( 'header_image_data', (object) $default_data );
        }
+
+       /**
+        * Calculate width and height based on what the currently selected theme supports.
+        *
+        * @return array dst_height and dst_width of header image.
+        */
+       final public function get_header_dimensions( $dimensions ) {
+               $max_width = 0;
+               $width = absint( $dimensions['width'] );
+               $height = absint( $dimensions['height'] );
+               $theme_height = get_theme_support( 'custom-header', 'height' );
+               $theme_width = get_theme_support( 'custom-header', 'width' );
+               $has_flex_width = current_theme_supports( 'custom-header', 'flex-width' );
+               $has_flex_height = current_theme_supports( 'custom-header', 'flex-height' );
+               $has_max_width = current_theme_supports( 'custom-header', 'max-width' ) ;
+               $dst = array( 'dst_height' => null, 'dst_height' => null );
+
+               // For flex, limit size of image displayed to 1500px unless theme says otherwise
+               if ( $has_flex_width ) {
+                       $max_width = 1500;
+               }
+
+               if ( $has_max_width ) {
+                       $max_width = max( $max_width, get_theme_support( 'custom-header', 'max-width' ) );
+               }
+               $max_width = max( $max_width, $theme_width );
+
+               if ( $has_flex_height && ( ! $has_flex_width || $width > $max_width ) ) {
+                       $dst['dst_height'] = absint( $height * ( $max_width / $width ) );
+               }
+               elseif ( $has_flex_height && $has_flex_width ) {
+                       $dst['dst_height'] = $height;
+               }
+               else {
+                       $dst['dst_height'] = $theme_height;
+               }
+
+               if ( $has_flex_width && ( ! $has_flex_height || $width > $max_width ) ) {
+                       $dst['dst_width'] = absint( $width * ( $max_width / $width ) );
+               }
+               elseif ( $has_flex_width && $has_flex_height ) {
+                       $dst['dst_width'] = $width;
+               }
+               else {
+                       $dst['dst_width'] = $theme_width;
+               }
+
+               return $dst;
+       }
+
+       /**
+        * Create an attachment 'object'.
+        *
+        * @param string $cropped Cropped image URL.
+        * @param int $parent_attachment_id Attachment ID of parent image.
+        *
+        * @return array Attachment object.
+        */
+       final 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' => 'custom-header'
+               );
+
+               return $object;
+       }
+
+       /**
+        * Insert an attachment & its metadata.
+        *
+        * @param array $object Attachment object.
+        * @param string $cropped Cropped image URL.
+        *
+        * @return int Attachment ID.
+        */
+       final public function insert_attachment( $object, $cropped ) {
+               $attachment_id = wp_insert_attachment( $object, $cropped );
+               $metadata = wp_generate_attachment_metadata( $attachment_id, $cropped );
+               /**
+                * Allows us to insert custom meta data for an attachment.
+                *
+                */
+               $metadata = apply_filters( 'wp_header_image_attachment_metadata', $metadata );
+               wp_update_attachment_metadata( $attachment_id, $metadata );
+               return $attachment_id;
+       }
+
+       /**
+        * Gets attachment uploaded by Media Manager, crops it, then saves it as a
+        * new object. Returns JSON-encoded object details.
+        */
+       function ajax_header_crop() {
+               check_ajax_referer( 'image_editor-' . $_POST['id'], 'nonce' );
+
+               if ( ! current_user_can( 'edit_theme_options' ) ) {
+                       wp_send_json_error();
+               }
+
+               if ( ! current_theme_supports( 'custom-header', 'uploads' ) ) {
+                       wp_send_json_error();
+               }
+
+               $crop_details = $_POST['cropDetails'];
+
+               $dimensions = $this->get_header_dimensions( array(
+                       'height' => $crop_details['height'],
+                       'width'  => $crop_details['width'],
+               ) );
+
+               $attachment_id = absint( $_POST['id'] );
+
+               $cropped = wp_crop_image(
+                       $attachment_id,
+                       (int) $crop_details['x1'],
+                       (int) $crop_details['y1'],
+                       (int) $crop_details['width'],
+                       (int) $crop_details['height'],
+                       (int) $dimensions['dst_width'],
+                       (int) $dimensions['dst_height']
+               );
+
+               if ( ! $cropped || is_wp_error( $cropped ) ) {
+                       wp_send_json_error( array( 'message' => __( 'Image could not be processed. Please go back and try again.' ) ) );
+               }
+
+               $cropped = apply_filters( 'wp_create_file_in_uploads', $cropped, $attachment_id ); // For replication
+
+               $object = $this->create_attachment_object( $cropped, $attachment_id );
+
+               unset( $object['ID'] );
+
+               $new_attachment_id = $this->insert_attachment( $object, $cropped );
+
+               $object['attachment_id'] = $new_attachment_id;
+               $object['width']         = $dimensions['dst_width'];
+               $object['height']        = $dimensions['dst_height'];
+
+               wp_send_json_success( $object );
+       }
+
+       /**
+        * Given an attachment ID for a header image, updates its "last used"
+        * timestamp to now.
+        *
+        * Triggered when the user tries adds a new header image from the
+        * Media Manager, even if s/he doesn't save that change.
+        */
+       function ajax_header_add() {
+               check_ajax_referer( 'header-add', 'nonce' );
+
+               if ( ! current_user_can( 'edit_theme_options' ) ) {
+                       wp_send_json_error();
+               }
+
+               $attachment_id = absint( $_POST['attachment_id'] );
+               if ( $attachment_id < 1 ) {
+                       wp_send_json_error();
+               }
+
+               $key = '_wp_attachment_custom_header_last_used_' . get_stylesheet();
+               update_post_meta( $attachment_id, $key, time() );
+               update_post_meta( $attachment_id, '_wp_attachment_is_custom_header', get_stylesheet() );
+
+               wp_send_json_success();
+       }
+
+       /**
+        * Given an attachment ID for a header image, unsets it as a user-uploaded
+        * header image for the current theme.
+        *
+        * Triggered when the user clicks the overlay "X" button next to each image
+        * choice in the Customizer's Header tool.
+        */
+       function ajax_header_remove() {
+               check_ajax_referer( 'header-remove', 'nonce' );
+
+               if ( ! current_user_can( 'edit_theme_options' ) ) {
+                       wp_send_json_error();
+               }
+
+               $attachment_id = absint( $_POST['attachment_id'] );
+               if ( $attachment_id < 1 ) {
+                       wp_send_json_error();
+               }
+
+               $key = '_wp_attachment_custom_header_last_used_' . get_stylesheet();
+               delete_post_meta( $attachment_id, $key );
+               delete_post_meta( $attachment_id, '_wp_attachment_is_custom_header', get_stylesheet() );
+
+               wp_send_json_success();
+       }
+
+       function customize_set_last_used( $wp_customize ) {
+               $data = $wp_customize->get_setting( 'header_image_data' )->post_value();
+
+               if ( ! isset( $data['attachment_id'] ) ) {
+                       return;
+               }
+
+               $attachment_id = $data['attachment_id'];
+               $key = '_wp_attachment_custom_header_last_used_' . get_stylesheet();
+               update_post_meta( $attachment_id, $key, time() );
+       }
+
+       public function get_default_header_images() {
+               $this->process_default_headers();
+
+               // Get the default image if there is one.
+               $default = get_theme_support( 'custom-header', 'default-image' );
+
+               if ( ! $default ) { // If not,
+                       return $this->default_headers; // easy peasy.
+               }
+
+               $default = sprintf( $default, get_template_directory_uri(), get_stylesheet_directory_uri() );
+               $already_has_default = false;
+
+               foreach ( $this->default_headers as $k => $h ) {
+                       if ( $h['url'] === $default ) {
+                               $already_has_default = true;
+                               break;
+                       }
+               }
+
+               if ( $already_has_default ) {
+                       return $this->default_headers;
+               }
+
+               // If the one true image isn't included in the default set, prepend it.
+               $header_images = array();
+               $header_images['default'] = array(
+                       'url'           => $default,
+                       'thumbnail_url' => $default,
+                       'description'   => 'Default'
+               );
+
+               // The rest of the set comes after.
+               $header_images = array_merge( $header_images, $this->default_headers );
+               return $header_images;
+       }
+
+       public function get_uploaded_header_images() {
+               $header_images = get_uploaded_header_images();
+               $timestamp_key = '_wp_attachment_custom_header_last_used_' . get_stylesheet();
+               $alt_text_key = '_wp_attachment_image_alt';
+
+               foreach ( $header_images as &$header_image ) {
+                       $header_meta = get_post_meta( $header_image['attachment_id'] );
+                       $header_image['timestamp'] = isset( $header_meta[ $timestamp_key ] ) ? $header_meta[ $timestamp_key ] : '';
+                       $header_image['alt_text'] = isset( $header_meta[ $alt_text_key ] ) ? $header_meta[ $alt_text_key ] : '';
+               }
+
+               return $header_images;
+       }
 }
index b247b19d28830bcdf211fddae6f79ef44182b742..b1485d1f4680fbd23090d6f1546f28c71f794237 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * Customize Controls
+ * Theme Customize Screen.
  *
  * @package WordPress
  * @subpackage Customize
@@ -9,7 +9,9 @@
 
 define( 'IFRAME_REQUEST', true );
 
+/** Load WordPress Administration Bootstrap */
 require_once( dirname( __FILE__ ) . '/admin.php' );
+
 if ( ! current_user_can( 'edit_theme_options' ) )
        wp_die( __( 'Cheatin&#8217; uh?' ) );
 
@@ -82,14 +84,14 @@ var ajaxurl = '<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>';
 
 <?php
 /**
- * Print Customizer control styles.
+ * Fires when Customizer control styles are printed.
  *
  * @since 3.4.0
  */
 do_action( 'customize_controls_print_styles' );
 
 /**
- * Print Customizer control scripts.
+ * Fires when Customizer control scripts are printed.
  *
  * @since 3.4.0
  */
@@ -116,6 +118,7 @@ do_action( 'customize_controls_print_scripts' );
                        $cannot_expand = ! ( $screenshot || $wp_customize->theme()->get('Description') );
                ?>
 
+               <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 accordion-container" tabindex="-1">
                        <div id="customize-info" class="accordion-section <?php if ( $cannot_expand ) echo ' cannot-expand'; ?>">
                                <div class="accordion-section-title" aria-label="<?php esc_attr_e( 'Theme Customizer Options' ); ?>" tabindex="0">
@@ -144,6 +147,7 @@ do_action( 'customize_controls_print_scripts' );
                                ?>
                        </ul></div>
                </div>
+               </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'); ?>">
@@ -199,21 +203,22 @@ do_action( 'customize_controls_print_scripts' );
                'customize-login' => 1
        ), wp_login_url() );
 
+       // Prepare customizer settings to pass to Javascript.
        $settings = array(
                'theme'    => array(
                        'stylesheet' => $wp_customize->get_stylesheet(),
                        'active'     => $wp_customize->is_theme_active(),
                ),
                'url'      => array(
-                       'preview'       => esc_url( $url ? $url : home_url( '/' ) ),
-                       'parent'        => esc_url( admin_url() ),
-                       'activated'     => admin_url( 'themes.php?activated=true&previewed' ),
-                       'ajax'          => esc_url( admin_url( 'admin-ajax.php', 'relative' ) ),
-                       'allowed'       => array_map( 'esc_url', $allowed_urls ),
+                       'preview'       => esc_url_raw( $url ? $url : home_url( '/' ) ),
+                       'parent'        => esc_url_raw( admin_url() ),
+                       'activated'     => esc_url_raw( admin_url( 'themes.php?activated=true&previewed' ) ),
+                       'ajax'          => esc_url_raw( admin_url( 'admin-ajax.php', 'relative' ) ),
+                       'allowed'       => array_map( 'esc_url_raw', $allowed_urls ),
                        'isCrossDomain' => $cross_domain,
-                       'fallback'      => $fallback_url,
-                       'home'          => esc_url( home_url( '/' ) ),
-                       'login'         => $login_url,
+                       'fallback'      => esc_url_raw( $fallback_url ),
+                       'home'          => esc_url_raw( home_url( '/' ) ),
+                       'login'         => esc_url_raw( $login_url ),
                ),
                'browser'  => array(
                        'mobile' => wp_is_mobile(),
@@ -222,11 +227,12 @@ do_action( 'customize_controls_print_scripts' );
                'settings' => array(),
                'controls' => array(),
                'nonce'    => array(
-                       'save'    => wp_create_nonce( 'save-customize_' . $wp_customize->get_stylesheet() ),
-                       'preview' => wp_create_nonce( 'preview-customize_' . $wp_customize->get_stylesheet() )
-               ),
+                       'save'    => wp_create_nonce( 'save-customize_' . $wp_customize->get_stylesheet() ),
+                       'preview' => wp_create_nonce( 'preview-customize_' . $wp_customize->get_stylesheet() )
+               ),
        );
 
+       // Prepare Customize Setting objects to pass to Javascript.
        foreach ( $wp_customize->settings() as $id => $setting ) {
                $settings['settings'][ $id ] = array(
                        'value'     => $setting->js_value(),
@@ -234,6 +240,7 @@ do_action( 'customize_controls_print_scripts' );
                );
        }
 
+       // Prepare Customize Control objects to pass to Javascript.
        foreach ( $wp_customize->controls() as $id => $control ) {
                $control->to_json();
                $settings['controls'][ $id ] = $control->json;
index b12264a02c2012c9d361c25e7dc7f2bc468d7116..5f289762d6ddb15f410fa63bc28979625ee289f9 100644 (file)
@@ -121,7 +121,7 @@ get_current_screen()->add_help_tab( array(
 'id'           => 'moderating-comments',
 'title'                => __('Moderating Comments'),
 'content'      =>
-               '<p>' . __( 'A yellow row means the comment is waiting for you to moderate it.' ) . '</p>' .
+               '<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>' .
@@ -133,7 +133,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __( '<a href="http://codex.wordpress.org/Administration_Screens#Comments" target="_blank">Documentation on Comments</a>' ) . '</p>' .
        '<p>' . __( '<a href="http://codex.wordpress.org/Comment_Spam" target="_blank">Documentation on Comment Spam</a>' ) . '</p>' .
        '<p>' . __( '<a href="http://codex.wordpress.org/Keyboard_Shortcuts" target="_blank">Documentation on Keyboard Shortcuts</a>' ) . '</p>' .
-       '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
+       '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
index 7970b8c5af66efb880f77bfd89c357349f73f2e5..8dc481508f584c23e48465ae78d3de034450ec93 100644 (file)
@@ -24,7 +24,16 @@ $post_ID = isset($post_ID) ? (int) $post_ID : 0;
 $user_ID = isset($user_ID) ? (int) $user_ID : 0;
 $action = isset($action) ? $action : '';
 
-if ( post_type_supports($post_type, 'editor') || post_type_supports($post_type, 'thumbnail') ) {
+$thumbnail_support = current_theme_supports( 'post-thumbnails', $post_type ) && post_type_supports( $post_type, 'thumbnail' );
+if ( ! $thumbnail_support && 'attachment' === $post_type && $post->post_mime_type ) {
+       if ( 0 === strpos( $post->post_mime_type, 'audio/' ) ) {
+               $thumbnail_support = post_type_supports( 'attachment:audio', 'thumbnail' ) || current_theme_supports( 'post-thumbnails', 'attachment:audio' );
+       } elseif ( 0 === strpos( $post->post_mime_type, 'video/' ) ) {
+               $thumbnail_support = post_type_supports( 'attachment:video', 'thumbnail' ) || current_theme_supports( 'post-thumbnails', 'attachment:video' );
+       }
+}
+
+if ( $thumbnail_support ) {
        add_thickbox();
        wp_enqueue_media( array( 'post' => $post_ID ) );
 }
@@ -48,7 +57,7 @@ $messages['post'] = array(
         7 => __('Post saved.'),
         8 => sprintf( __('Post submitted. <a target="_blank" href="%s">Preview post</a>'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
         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
+               /* translators: Publish box date format, see http://php.net/date */
                date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), esc_url( get_permalink($post_ID) ) ),
        10 => sprintf( __('Post draft updated. <a target="_blank" href="%s">Preview post</a>'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
 );
@@ -137,6 +146,10 @@ if ( 'attachment' == $post_type ) {
        wp_enqueue_style( 'imgareaselect' );
        add_meta_box( 'submitdiv', __('Save'), 'attachment_submit_meta_box', null, 'side', 'core' );
        add_action( 'edit_form_after_title', 'edit_form_image_editor' );
+
+       if ( 0 === strpos( $post->post_mime_type, 'audio/' ) ) {
+               add_meta_box( 'attachment-id3', __( 'Metadata' ), 'attachment_id3_data_meta_box', null, 'normal', 'core' );
+       }
 } else {
        add_meta_box( 'submitdiv', __( 'Publish' ), 'post_submit_meta_box', null, 'side', 'core', $publish_callback_args );
 }
@@ -163,14 +176,7 @@ foreach ( get_object_taxonomies( $post ) as $tax_name ) {
 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');
 
-$audio_post_support = $video_post_support = false;
-$theme_support = current_theme_supports( 'post-thumbnails', $post_type ) && post_type_supports( $post_type, 'thumbnail' );
-if ( 'attachment' === $post_type && ! empty( $post->post_mime_type ) ) {
-       $audio_post_support = 0 === strpos( $post->post_mime_type, 'audio/' ) && current_theme_supports( 'post-thumbnails', 'attachment:audio' ) && post_type_supports( 'attachment:audio', 'thumbnail' );
-       $video_post_support = 0 === strpos( $post->post_mime_type, 'video/' ) && current_theme_supports( 'post-thumbnails', 'attachment:video' ) && post_type_supports( 'attachment:video', 'thumbnail' );
-}
-
-if ( $theme_support || $audio_post_support || $video_post_support )
+if ( $thumbnail_support )
        add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', null, 'side', 'low');
 
 if ( post_type_supports($post_type, 'excerpt') )
@@ -257,6 +263,7 @@ if ( 'post' == $post_type ) {
 
        $title_and_editor  = '<p>' . __('<strong>Title</strong> - Enter a title for your post. After you enter a title, you&#8217;ll see the permalink below, which you can edit.') . '</p>';
        $title_and_editor .= '<p>' . __('<strong>Post editor</strong> - Enter the text for your post. There are two modes of editing: Visual and Text. Choose the mode by clicking on the appropriate tab. Visual mode gives you a WYSIWYG editor. Click the last icon in the row to get a second row of controls. The Text mode allows you to enter HTML along with your post text. Line breaks will be converted to paragraphs automatically. You can insert media files by clicking the icons above the post editor and following the directions. You can go to the distraction-free writing screen via the Fullscreen icon in Visual mode (second to last in the top row) or the Fullscreen button in Text mode (last in the row). Once there, you can make buttons visible by hovering over the top area. Exit Fullscreen back to the regular post editor.') . '</p>';
+       $title_and_editor .= '<p>' . __( 'Keyboard users: When you&#8217;re working in the visual editor, you can use <kbd>Alt + F10</kbd> to access the toolbar.' ) . '</p>';
 
        get_current_screen()->add_help_tab( array(
                'id'      => 'title-post-editor',
@@ -268,7 +275,7 @@ if ( 'post' == $post_type ) {
                        '<p>' . sprintf(__('You can also create posts with the <a href="%s">Press This bookmarklet</a>.'), 'options-writing.php') . '</p>' .
                        '<p><strong>' . __('For more information:') . '</strong></p>' .
                        '<p>' . __('<a href="http://codex.wordpress.org/Posts_Add_New_Screen" target="_blank">Documentation on Writing and Editing Posts</a>') . '</p>' .
-                       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</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>' .
@@ -284,7 +291,7 @@ if ( 'post' == $post_type ) {
                        '<p><strong>' . __('For more information:') . '</strong></p>' .
                        '<p>' . __('<a href="http://codex.wordpress.org/Pages_Add_New_Screen" target="_blank">Documentation on Adding New Pages</a>') . '</p>' .
                        '<p>' . __('<a href="http://codex.wordpress.org/Pages_Screen#Editing_Individual_Pages" target="_blank">Documentation on Editing Pages</a>') . '</p>' .
-                       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+                       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 } elseif ( 'attachment' == $post_type ) {
        get_current_screen()->add_help_tab( array(
@@ -300,7 +307,7 @@ if ( 'post' == $post_type ) {
        get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Media_Add_New_Screen#Edit_Media" target="_blank">Documentation on Edit Media</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 }
 
@@ -402,7 +409,6 @@ if ( 'draft' != get_post_status( $post ) )
 
 echo $form_extra;
 
-wp_nonce_field( 'autosave', 'autosavenonce', false );
 wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false );
 wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
 ?>
@@ -481,10 +487,15 @@ if ( post_type_supports($post_type, 'editor') ) {
 
 <?php wp_editor( $post->post_content, 'content', array(
        'dfw' => true,
+       'drag_drop_upload' => true,
        'tabfocus_elements' => 'insert-media-button,save-post',
        'editor_height' => 360,
+       'tinymce' => array(
+               'resize' => false,
+               'add_unload_trigger' => false,
+       ),
 ) ); ?>
-<table id="post-status-info" cellspacing="0"><tbody><tr>
+<table id="post-status-info"><tbody><tr>
        <td id="wp-word-count"><?php printf( __( 'Word count: %s' ), '<span class="word-count">0</span>' ); ?></td>
        <td class="autosave-info">
        <span class="autosave-message">&nbsp;</span>
@@ -499,6 +510,7 @@ if ( post_type_supports($post_type, 'editor') ) {
                echo '</span>';
        } ?>
        </td>
+       <td id="content-resize-handle" class="hide-if-no-js"><br /></td>
 </tr></tbody></table>
 
 </div>
index 55f8df635b023a8551d602d6188b7dcef18d1ba4..3d0ebf5104c318d203bbc7159a9df3d6fc1aa364 100644 (file)
@@ -28,11 +28,11 @@ if ( !defined('ABSPATH') )
 <div class="inside">
 <table class="form-table editcomment">
 <tbody>
-<tr valign="top">
+<tr>
        <td class="first"><?php _e( 'Name:' ); ?></td>
        <td><input type="text" name="newcomment_author" size="30" value="<?php echo esc_attr( $comment->comment_author ); ?>" id="name" /></td>
 </tr>
-<tr valign="top">
+<tr>
        <td class="first">
        <?php
                if ( $comment->comment_author_email ) {
@@ -43,7 +43,7 @@ if ( !defined('ABSPATH') )
 ?></td>
        <td><input type="text" name="newcomment_author_email" size="30" value="<?php echo $comment->comment_author_email; ?>" id="email" /></td>
 </tr>
-<tr valign="top">
+<tr>
        <td class="first">
        <?php
                if ( ! empty( $comment->comment_author_url ) && 'http://' != $comment->comment_author_url ) {
@@ -99,7 +99,7 @@ if ( !defined('ABSPATH') )
 
 <div class="misc-pub-section curtime misc-pub-curtime">
 <?php
-// translators: Publish box date format, see http://php.net/date
+/* translators: Publish box date format, see http://php.net/date */
 $datef = __( 'M j, Y @ G:i' );
 $stamp = __('Submitted on: <b>%1$s</b>');
 $date = date_i18n( $datef, strtotime( $comment->comment_date ) );
index d4a38cab563eec5568aca87db0c83b5a9bafa27d..007146c817cd331182984c89e878d254ad478db5 100644 (file)
@@ -63,7 +63,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
        '<p>' . __( '<a href="http://codex.wordpress.org/Links_Add_New_Screen" target="_blank">Documentation on Creating Links</a>' ) . '</p>' .
-       '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
+       '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
index f021b2a3a85b0c0baed16f039c28b4fd1ecb1eb6..9d5ceb55c1616e490aa06b0576f9f26ea8035331 100644 (file)
@@ -18,38 +18,92 @@ if ( empty($tag_ID) ) { ?>
 
 // Back compat hooks
 if ( 'category' == $taxonomy ) {
+       /**
+        * Fires before the Edit Category form.
+        *
+        * @since 2.1.0
+        * @deprecated 3.0.0 Use {$taxonomy}_pre_edit_form instead.
+        *
+        * @param object $tag Current category term object.
+        */
        do_action( 'edit_category_form_pre', $tag );
 } elseif ( 'link_category' == $taxonomy ) {
+       /**
+        * Fires before the Edit Link Category form.
+        *
+        * @since 2.3.0
+        * @deprecated 3.0.0 Use {$taxonomy}_pre_edit_form instead.
+        *
+        * @param object $tag Current link category term object.
+        */
        do_action( 'edit_link_category_form_pre', $tag );
 } else {
+       /**
+        * Fires before the Edit Tag form.
+        *
+        * @since 2.5.0
+        * @deprecated 3.0.0 Use {$taxonomy}_pre_edit_form instead.
+        *
+        * @param object $tag Current tag term object.
+        */
        do_action( 'edit_tag_form_pre', $tag );
 }
+/**
+ * Fires before the Edit Term form for all taxonomies.
+ *
+ * The dynamic portion of the hook name, $taxonomy, refers to
+ * the taxonomy slug.
+ *
+ * @since 3.0.0
+ *
+ * @param object $tag      Current taxonomy term object.
+ * @param string $taxonomy Current $taxonomy slug.
+ */
 do_action( "{$taxonomy}_pre_edit_form", $tag, $taxonomy ); ?>
 
 <div class="wrap">
 <h2><?php echo $tax->labels->edit_item; ?></h2>
 <div id="ajax-response"></div>
-<form name="edittag" id="edittag" method="post" action="edit-tags.php" class="validate"<?php do_action( $taxonomy . '_term_edit_form_tag' ); ?>>
+<?php
+/**
+ * Fires inside the Edit Term form tag.
+ *
+ * The dynamic portion of the hook name, $taxonomy, refers to
+ * the taxonomy slug.
+ *
+ * @since 3.7.0
+ */
+?>
+<form name="edittag" id="edittag" method="post" action="edit-tags.php" class="validate"<?php do_action( "{$taxonomy}_term_edit_form_tag" ); ?>>
 <input type="hidden" name="action" value="editedtag" />
 <input type="hidden" name="tag_ID" value="<?php echo esc_attr($tag->term_id) ?>" />
 <input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy) ?>" />
 <?php wp_original_referer_field(true, 'previous'); wp_nonce_field('update-tag_' . $tag_ID); ?>
        <table class="form-table">
                <tr class="form-field form-required">
-                       <th scope="row" valign="top"><label for="name"><?php _ex('Name', 'Taxonomy Name'); ?></label></th>
+                       <th scope="row"><label for="name"><?php _ex('Name', 'Taxonomy Name'); ?></label></th>
                        <td><input name="name" id="name" type="text" value="<?php if ( isset( $tag->name ) ) echo esc_attr($tag->name); ?>" size="40" aria-required="true" />
                        <p class="description"><?php _e('The name is how it appears on your site.'); ?></p></td>
                </tr>
 <?php if ( !global_terms_enabled() ) { ?>
                <tr class="form-field">
-                       <th scope="row" valign="top"><label for="slug"><?php _ex('Slug', 'Taxonomy Slug'); ?></label></th>
-                       <td><input name="slug" id="slug" type="text" value="<?php if ( isset( $tag->slug ) ) echo esc_attr(apply_filters('editable_slug', $tag->slug)); ?>" size="40" />
+                       <th scope="row"><label for="slug"><?php _ex('Slug', 'Taxonomy Slug'); ?></label></th>
+                       <?php
+                       /**
+                        * Filter the editable term slug.
+                        *
+                        * @since 2.6.0
+                        *
+                        * @param string $slug The current term slug.
+                        */
+                       ?>
+                       <td><input name="slug" id="slug" type="text" value="<?php if ( isset( $tag->slug ) ) echo esc_attr( apply_filters( 'editable_slug', $tag->slug ) ); ?>" size="40" />
                        <p class="description"><?php _e('The &#8220;slug&#8221; is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.'); ?></p></td>
                </tr>
 <?php } ?>
 <?php if ( is_taxonomy_hierarchical($taxonomy) ) : ?>
                <tr class="form-field">
-                       <th scope="row" valign="top"><label for="parent"><?php _ex('Parent', 'Taxonomy Parent'); ?></label></th>
+                       <th scope="row"><label for="parent"><?php _ex('Parent', 'Taxonomy Parent'); ?></label></th>
                        <td>
                                <?php wp_dropdown_categories(array('hide_empty' => 0, 'hide_if_empty' => false, 'name' => 'parent', 'orderby' => 'name', 'taxonomy' => $taxonomy, 'selected' => $tag->parent, 'exclude_tree' => $tag->term_id, 'hierarchical' => true, 'show_option_none' => __('None'))); ?>
                                <?php if ( 'category' == $taxonomy ) : ?>
@@ -59,32 +113,87 @@ do_action( "{$taxonomy}_pre_edit_form", $tag, $taxonomy ); ?>
                </tr>
 <?php endif; // is_taxonomy_hierarchical() ?>
                <tr class="form-field">
-                       <th scope="row" valign="top"><label for="description"><?php _ex('Description', 'Taxonomy Description'); ?></label></th>
+                       <th scope="row"><label for="description"><?php _ex('Description', 'Taxonomy Description'); ?></label></th>
                        <td><textarea name="description" id="description" rows="5" cols="50" class="large-text"><?php echo $tag->description; // textarea_escaped ?></textarea><br />
                        <span class="description"><?php _e('The description is not prominent by default; however, some themes may show it.'); ?></span></td>
                </tr>
                <?php
                // Back compat hooks
-               if ( 'category' == $taxonomy )
-                       do_action('edit_category_form_fields', $tag);
-               elseif ( 'link_category' == $taxonomy )
-                       do_action('edit_link_category_form_fields', $tag);
-               else
-                       do_action('edit_tag_form_fields', $tag);
-
-               do_action($taxonomy . '_edit_form_fields', $tag, $taxonomy);
+               if ( 'category' == $taxonomy ) {
+                       /**
+                        * Fires after the Edit Category form fields are displayed.
+                        *
+                        * @since 2.9.0
+                        * @deprecated 3.0.0 Use {$taxonomy}_edit_form_fields instead.
+                        *
+                        * @param object $tag Current category term object.
+                        */
+                       do_action( 'edit_category_form_fields', $tag );
+               } elseif ( 'link_category' == $taxonomy ) {
+                       /**
+                        * Fires after the Edit Link Category form fields are displayed.
+                        *
+                        * @since 2.9.0
+                        * @deprecated 3.0.0 Use {$taxonomy}_edit_form_fields instead.
+                        *
+                        * @param object $tag Current link category term object.
+                        */
+                       do_action( 'edit_link_category_form_fields', $tag );
+               } else {
+                       /**
+                        * Fires after the Edit Tag form fields are displayed.
+                        *
+                        * @since 2.9.0
+                        * @deprecated 3.0.0 Use {$taxonomy}_edit_form_fields instead.
+                        *
+                        * @param object $tag Current tag term object.
+                        */
+                       do_action( 'edit_tag_form_fields', $tag );
+               }
+               /**
+                * Fires after the Edit Term form fields are displayed.
+                *
+                * The dynamic portion of the hook name, $taxonomy, refers to
+                * the taxonomy slug.
+                *
+                * @since 3.0.0
+                *
+                * @param object $tag      Current taxonomy term object.
+                * @param string $taxonomy Current taxonomy slug.
+                */
+               do_action( "{$taxonomy}_edit_form_fields", $tag, $taxonomy );
                ?>
        </table>
 <?php
 // Back compat hooks
-if ( 'category' == $taxonomy )
-       do_action('edit_category_form', $tag);
-elseif ( 'link_category' == $taxonomy )
-       do_action('edit_link_category_form', $tag);
-else
-       do_action('edit_tag_form', $tag);
-
-do_action($taxonomy . '_edit_form', $tag, $taxonomy);
+if ( 'category' == $taxonomy ) {
+       /** This action is documented in wp-admin/edit-tags.php */
+       do_action( 'edit_category_form', $tag );
+} elseif ( 'link_category' == $taxonomy ) {
+       /** This action is documented in wp-admin/edit-tags.php */
+       do_action( 'edit_link_category_form', $tag );
+} else {
+       /**
+        * Fires at the end of the Edit Term form.
+        *
+        * @since 2.5.0
+        * @deprecated 3.0.0 Use {$taxonomy}_edit_form instead.
+        *
+        * @param object $tag Current taxonomy term object.
+        */
+       do_action( 'edit_tag_form', $tag );
+}
+/**
+ * Fires at the end of the Edit Term form for all taxonomies.
+ *
+ * The dynamic portion of the hook name, $taxonomy, refers to the taxonomy slug.
+ *
+ * @since 3.0.0
+ *
+ * @param object $tag      Current taxonomy term object.
+ * @param string $taxonomy Current taxonomy slug.
+ */
+do_action( "{$taxonomy}_edit_form", $tag, $taxonomy );
 
 submit_button( __('Update') );
 ?>
index 56fa11a1c2ee950d791e6bdb098793a2c7e6687a..717954c0c0319a41ae18d2a37f36002835fdce22 100644 (file)
@@ -240,7 +240,7 @@ if ( 'category' == $taxonomy || 'link_category' == $taxonomy || 'post_tag' == $t
        else
                $help .= '<p>' . __( '<a href="http://codex.wordpress.org/Posts_Tags_Screen" target="_blank">Documentation on Tags</a>' ) . '</p>';
 
-       $help .= '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>';
+       $help .= '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>';
 
        get_current_screen()->set_help_sidebar( $help );
 
@@ -370,7 +370,7 @@ do_action( "after-{$taxonomy}-table", $taxonomy );
 
 if ( !is_null( $tax->labels->popular_items ) ) {
        if ( current_user_can( $tax->cap->edit_terms ) )
-               $tag_cloud = wp_tag_cloud( array( 'taxonomy' => $taxonomy, 'echo' => false, 'link' => 'edit' ) );
+               $tag_cloud = wp_tag_cloud( array( 'taxonomy' => $taxonomy, 'post_type' => $post_type, 'echo' => false, 'link' => 'edit' ) );
        else
                $tag_cloud = wp_tag_cloud( array( 'taxonomy' => $taxonomy, 'echo' => false ) );
 
index e98da90ff1106afbaa1ec2509cf116b7ecb68103..a062b0911acba2885db444fa6c584df6351da701 100644 (file)
@@ -197,7 +197,7 @@ if ( 'post' == $post_type ) {
        get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Posts_Screen" target="_blank">Documentation on Managing Posts</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 
 } elseif ( 'page' == $post_type ) {
@@ -218,7 +218,7 @@ if ( 'post' == $post_type ) {
        get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Pages_Screen" target="_blank">Documentation on Managing Pages</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 }
 
index e0811c324d1c369d311f5f358d5789a9b76e7418..1ad91a06a90e270b83baff222feaaf7c1f796496 100644 (file)
@@ -53,7 +53,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Tools_Export_Screen" target="_blank">Documentation on Export</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 if ( isset( $_GET['download'] ) ) {
index a020a85d89b85679c8f6247a5ea362278fc7aa53..fa6728a0a2868316edf4651df74cbc87822c5bf7 100644 (file)
@@ -33,7 +33,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
        </a>
 </h2>
 
-<p class="about-description"><?php printf( __( 'WordPress is Free and open source software, built by a distributed community of mostly volunteer developers from around the world. WordPress comes with some awesome, worldview-changing rights courtesy of its <a href="%s">license</a>, the GPL.' ), 'http://wordpress.org/about/license/' ); ?></p>
+<p class="about-description"><?php printf( __( 'WordPress is Free and open source software, built by a distributed community of mostly volunteer developers from around the world. WordPress comes with some awesome, worldview-changing rights courtesy of its <a href="%s">license</a>, the GPL.' ), 'https://wordpress.org/about/license/' ); ?></p>
 
 <ol start="0">
        <li><p><?php _e( 'You have the freedom to run the program, for any purpose.' ); ?></p></li>
@@ -46,10 +46,10 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 
 <p><?php
 
-$plugins_url = current_user_can( 'activate_plugins' ) ? admin_url( 'plugins.php' ) : 'http://wordpress.org/plugins/';
-$themes_url = current_user_can( 'switch_themes' ) ? admin_url( 'themes.php' ) : 'http://wordpress.org/themes/';
+$plugins_url = current_user_can( 'activate_plugins' ) ? admin_url( 'plugins.php' ) : 'https://wordpress.org/plugins/';
+$themes_url = current_user_can( 'switch_themes' ) ? admin_url( 'themes.php' ) : 'https://wordpress.org/themes/';
 
-printf( __( 'Every plugin and theme in WordPress.org&#8217;s directory is 100%% GPL or a similarly free and compatible license, so you can feel safe finding <a href="%1$s">plugins</a> and <a href="%2$s">themes</a> there. If you get a plugin or theme from another source, make sure to <a href="%3$s">ask them if it&#8217;s GPL</a> first. If they don&#8217;t respect the WordPress license, we don&#8217;t recommend them.' ), $plugins_url, $themes_url, 'http://wordpress.org/about/license/' ); ?></p>
+printf( __( 'Every plugin and theme in WordPress.org&#8217;s directory is 100%% GPL or a similarly free and compatible license, so you can feel safe finding <a href="%1$s">plugins</a> and <a href="%2$s">themes</a> there. If you get a plugin or theme from another source, make sure to <a href="%3$s">ask them if it&#8217;s GPL</a> first. If they don&#8217;t respect the WordPress license, we don&#8217;t recommend them.' ), $plugins_url, $themes_url, 'https://wordpress.org/about/license/' ); ?></p>
 
 <p><?php _e( 'Don&#8217;t you wish all software came with these freedoms? So do we! For more information, check out the <a href="http://www.fsf.org/">Free Software Foundation</a>.' ); ?></p>
 
index ae29abb12bdccba81a5b77474a90286b9192bd86..77ac312180c227d318e19a4b3090bcc40094cb84 100644 (file)
Binary files a/wp-admin/images/bubble_bg-2x.gif and b/wp-admin/images/bubble_bg-2x.gif differ
index 315ab527fa270f2b4ffdc10f7fc80d692a763d03..f4535c996fd09c32fa86df588575525d31a1573c 100644 (file)
Binary files a/wp-admin/images/bubble_bg.gif and b/wp-admin/images/bubble_bg.gif differ
index fafc74dd6113cb420fdf68a858a7dea3cc68a275..0eec4a6df0c365e51d6de1a9c218d5c6621f6d83 100644 (file)
Binary files a/wp-admin/images/comment-grey-bubble-2x.png and b/wp-admin/images/comment-grey-bubble-2x.png differ
index 95839c9aff34de60f5f5021a21b6a2b2dd5cf73a..53cc417a999317d6fa8043814f474da170a8bf36 100644 (file)
Binary files a/wp-admin/images/date-button-2x.gif and b/wp-admin/images/date-button-2x.gif differ
index 33ecd66e115a3aedb064ef102d4b23fba2f2cafb..dc40633bb51fcc4241d16d12c928a583a130714b 100644 (file)
Binary files a/wp-admin/images/date-button.gif and b/wp-admin/images/date-button.gif differ
index 85b99d46b9911ba53a792d716d9f688f3bb3c784..7df3368caad0054a9182d08b74b0e55eb5693bed 100644 (file)
Binary files a/wp-admin/images/loading.gif and b/wp-admin/images/loading.gif differ
diff --git a/wp-admin/images/lock-2x.png b/wp-admin/images/lock-2x.png
deleted file mode 100644 (file)
index 46c5a48..0000000
Binary files a/wp-admin/images/lock-2x.png and /dev/null differ
diff --git a/wp-admin/images/lock.png b/wp-admin/images/lock.png
deleted file mode 100644 (file)
index e17cc7d..0000000
Binary files a/wp-admin/images/lock.png and /dev/null differ
index fae4b6da39353de76320f9b4bb77852fc1313057..30313b871ddb76755ddbec31df04e2c55f0f5647 100644 (file)
Binary files a/wp-admin/images/marker.png and b/wp-admin/images/marker.png differ
index 5e7e4265f8f40117642214da16e3cc88feb553a2..d3db5802fba3e1f0d546cae9eb60f335e9c43235 100644 (file)
Binary files a/wp-admin/images/media-button-image.gif and b/wp-admin/images/media-button-image.gif differ
index 0254a0881101b767577c82b30a7f6a7f522e6dad..c9795b3f45fb003e1af7529fe76ecc24216c98f0 100644 (file)
Binary files a/wp-admin/images/media-button-music.gif and b/wp-admin/images/media-button-music.gif differ
index 414a95785b20af83e8f63b58bb1af90654b1e189..86b977776855fc108d51ec777d0459b7c5326e79 100644 (file)
Binary files a/wp-admin/images/media-button-other.gif and b/wp-admin/images/media-button-other.gif differ
index 50ac6e0283a959c8afe2d49dcc04ce12f5be6015..15fe0a437b40051f6ef3a16091999fb08d2ca0f6 100644 (file)
Binary files a/wp-admin/images/media-button-video.gif and b/wp-admin/images/media-button-video.gif differ
index 2d749bef6ac0528d1b071f7383d1d09e5b09d95b..cae309e5d5ed78f9b5ea61ed6361c862d1163bdf 100644 (file)
Binary files a/wp-admin/images/post-formats.png and b/wp-admin/images/post-formats.png differ
index 96825790775982b91dd47e5891987d4becd75fff..315ea062f659b33db362ba1bbb157013806d978e 100644 (file)
Binary files a/wp-admin/images/resize-2x.gif and b/wp-admin/images/resize-2x.gif differ
index 1ca2a631b7c1a120bc86ec5348d6a67b9a10d7cf..a379ad44514d63e1f270bc8d8cff01eba65bedae 100644 (file)
Binary files a/wp-admin/images/resize-rtl-2x.gif and b/wp-admin/images/resize-rtl-2x.gif differ
index 95e7b32a4ae89140c2fa2001deb443dc402f1d5e..329f93d79c1291a5151debf09434a550a9815c5a 100644 (file)
Binary files a/wp-admin/images/resize-rtl.gif and b/wp-admin/images/resize-rtl.gif differ
index 6a1b41cdaf417a47e8db12cbc3a58126b71e4056..4bff03d2ed2598493cbf3098e8c0b01c676ae44b 100644 (file)
Binary files a/wp-admin/images/resize.gif and b/wp-admin/images/resize.gif differ
index ed5cf4b5319e0352febcdaf717937ef5f79489ca..1362f436f0b34782ffd5cf0dcb4411610feb027e 100644 (file)
Binary files a/wp-admin/images/sort-2x.gif and b/wp-admin/images/sort-2x.gif differ
index 2a5a6e8ceb3bbeef9993896ee8ed3b787823a1a7..70b4bf9dc4f2d3153a7d38d16c995c7e27b3feae 100644 (file)
Binary files a/wp-admin/images/sort.gif and b/wp-admin/images/sort.gif differ
index 1f65928b6f7556db424a6df489fd9fd36453dec0..9593f3d57fdc007a4ecfaca3784a03c1acb41441 100644 (file)
Binary files a/wp-admin/images/spinner-2x.gif and b/wp-admin/images/spinner-2x.gif differ
index e31945163ba43cfaad9c5d85ea3788b73016b7aa..c15632f7dc5045d1ac772052e5f7ebdf27207042 100644 (file)
Binary files a/wp-admin/images/spinner.gif and b/wp-admin/images/spinner.gif differ
index 60c97f8f6ccd97afb3ac8af04ef6a575b87804b2..11e550c74e07cdbae3192894aacdd5e3cb271def 100644 (file)
Binary files a/wp-admin/images/w-logo-blue.png and b/wp-admin/images/w-logo-blue.png differ
index e7c19d6a57bb2fe11df099516a30672be16189c1..bb70f57852c01cbae105081944424eea79f301cb 100644 (file)
Binary files a/wp-admin/images/w-logo-white.png and b/wp-admin/images/w-logo-white.png differ
index e10b97ff9d84d7ff8d7efe5c4c09783dd390e338..7f7172727e46bc58a6c8c31bc2e244b8870acf02 100644 (file)
Binary files a/wp-admin/images/wpspin_light.gif and b/wp-admin/images/wpspin_light.gif differ
index 64ab2ce789b4553820bcb932f5688ea2ea0376ed..b5ce86b77e48ed199f7835929c3164e4cbb5c385 100644 (file)
Binary files a/wp-admin/images/xit-2x.gif and b/wp-admin/images/xit-2x.gif differ
index 80c251fdd75c5a9a960b87e4120509a1100e131b..64cb8546cc2f2de09d377937fcc5abc5d947ae0d 100644 (file)
Binary files a/wp-admin/images/xit.gif and b/wp-admin/images/xit.gif differ
index e85bf7012b8b7d77c4a3de228a558c95aefb3f84..e6f05e0eb332997d243575f3d536c10357c2af64 100644 (file)
@@ -26,7 +26,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Tools_Import_Screen" target="_blank">Documentation on Import</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 if ( current_user_can( 'install_plugins' ) )
@@ -74,9 +74,9 @@ foreach ( $popular_importers as $pop_importer => $pop_data ) {
 if ( empty( $importers ) ) {
        echo '<p>' . __('No importers are available.') . '</p>'; // TODO: make more helpful
 } else {
-       uasort($importers, create_function('$a, $b', 'return strnatcasecmp($a[0], $b[0]);'));
+       uasort( $importers, '_usort_by_first_member' );
 ?>
-<table class="widefat importers" cellspacing="0">
+<table class="widefat importers">
 
 <?php
        $alt = '';
index 02a0a4e0749eb47a2e3272c57177a5bb0ef1217e..ba26be0ded13a828f2037cef9f0d4556ef40f2e2 100644 (file)
@@ -197,16 +197,27 @@ function wp_ajax_autocomplete_user() {
        $return = array();
 
        // Check the type of request
-       if ( isset( $_REQUEST['autocomplete_type'] ) )
+       // Current allowed values are `add` and `search`
+       if ( isset( $_REQUEST['autocomplete_type'] ) && 'search' === $_REQUEST['autocomplete_type'] ) {
                $type = $_REQUEST['autocomplete_type'];
-       else
+       } else {
                $type = 'add';
+       }
+
+       // Check the desired field for value
+       // Current allowed values are `user_email` and `user_login`
+       if ( isset( $_REQUEST['autocomplete_field'] ) && 'user_email' === $_REQUEST['autocomplete_field'] ) {
+               $field = $_REQUEST['autocomplete_field'];
+       } else {
+               $field = 'user_login';
+       }
 
        // Exclude current users of this blog
-       if ( isset( $_REQUEST['site_id'] ) )
+       if ( isset( $_REQUEST['site_id'] ) ) {
                $id = absint( $_REQUEST['site_id'] );
-       else
+       } else {
                $id = get_current_blog_id();
+       }
 
        $include_blog_users = ( $type == 'search' ? get_users( array( 'blog_id' => $id, 'fields' => 'ID' ) ) : array() );
        $exclude_blog_users = ( $type == 'add' ? get_users( array( 'blog_id' => $id, 'fields' => 'ID' ) ) : array() );
@@ -223,7 +234,7 @@ function wp_ajax_autocomplete_user() {
                $return[] = array(
                        /* translators: 1: user_login, 2: user_email */
                        'label' => sprintf( __( '%1$s (%2$s)' ), $user->user_login, $user->user_email ),
-                       'value' => $user->user_login,
+                       'value' => $user->$field,
                );
        }
 
@@ -259,7 +270,7 @@ function wp_ajax_logged_in() {
  *
  * Contrary to normal success AJAX response ("1"), die with time() on success.
  *
- * @since 2.7
+ * @since 2.7.0
  *
  * @param int $comment_id
  * @return die
@@ -1089,68 +1100,6 @@ function wp_ajax_add_user( $action ) {
        $x->send();
 }
 
-function wp_ajax_autosave() {
-       define( 'DOING_AUTOSAVE', true );
-
-       check_ajax_referer( 'autosave', 'autosavenonce' );
-
-       if ( ! empty( $_POST['catslist'] ) )
-               $_POST['post_category'] = explode( ',', $_POST['catslist'] );
-       if ( $_POST['post_type'] == 'page' || empty( $_POST['post_category'] ) )
-               unset( $_POST['post_category'] );
-
-       $data = '';
-       $supplemental = array();
-       $id = $revision_id = 0;
-
-       $post_id = (int) $_POST['post_id'];
-       $_POST['ID'] = $_POST['post_ID'] = $post_id;
-       $post = get_post( $post_id );
-       if ( empty( $post->ID ) || ! current_user_can( 'edit_post', $post->ID ) )
-               wp_die( __( 'You are not allowed to edit this post.' ) );
-
-       if ( 'page' == $post->post_type && ! current_user_can( 'edit_page', $post->ID ) )
-               wp_die( __( 'You are not allowed to edit this page.' ) );
-
-       if ( 'auto-draft' == $post->post_status )
-               $_POST['post_status'] = 'draft';
-
-       if ( ! empty( $_POST['autosave'] ) ) {
-               if ( ! wp_check_post_lock( $post->ID ) && get_current_user_id() == $post->post_author && ( 'auto-draft' == $post->post_status || 'draft' == $post->post_status ) ) {
-                       // Drafts and auto-drafts are just overwritten by autosave for the same user if the post is not locked
-                       $id = edit_post();
-               } else {
-                       // Non drafts or other users drafts are not overwritten. The autosave is stored in a special post revision for each user.
-                       $revision_id = wp_create_post_autosave( $post->ID );
-                       if ( is_wp_error($revision_id) )
-                               $id = $revision_id;
-                       else
-                               $id = $post->ID;
-               }
-
-               if ( ! is_wp_error($id) ) {
-                       /* translators: draft saved date format, see http://php.net/date */
-                       $draft_saved_date_format = __('g:i:s a');
-                       /* translators: %s: date and time */
-                       $data = sprintf( __('Draft saved at %s.'), date_i18n( $draft_saved_date_format ) );
-               }
-       } else {
-               if ( ! empty( $_POST['auto_draft'] ) )
-                       $id = 0; // This tells us it didn't actually save
-               else
-                       $id = $post->ID;
-       }
-
-       // @todo Consider exposing any errors, rather than having 'Saving draft...'
-       $x = new WP_Ajax_Response( array(
-               'what' => 'autosave',
-               'id' => $id,
-               'data' => $data,
-               'supplemental' => $supplemental
-       ) );
-       $x->send();
-}
-
 function wp_ajax_closed_postboxes() {
        check_ajax_referer( 'closedpostboxes', 'closedpostboxesnonce' );
        $closed = isset( $_POST['closed'] ) ? explode( ',', $_POST['closed']) : array();
@@ -1230,7 +1179,8 @@ function wp_ajax_menu_get_metabox() {
                 *
                 * @since 3.0.0
                 *
-                * @param object $menus_meta_box_object A nav menu meta box object, such as Page, Post, Category, Tag, etc.
+                * @param object $menus_meta_box_object A nav menu meta box object, such as Page,
+                *                                      Post, Category, Tag, etc.
                 */
                $item = apply_filters( 'nav_menu_meta_box_object', $menus_meta_box_object );
                ob_start();
@@ -1480,9 +1430,11 @@ function wp_ajax_find_posts() {
        if ( ! $posts )
                wp_die( __('No items found.') );
 
-       $html = '<table class="widefat" cellspacing="0"><thead><tr><th class="found-radio"><br /></th><th>'.__('Title').'</th><th class="no-break">'.__('Type').'</th><th class="no-break">'.__('Date').'</th><th class="no-break">'.__('Status').'</th></tr></thead><tbody>';
+       $html = '<table class="widefat"><thead><tr><th class="found-radio"><br /></th><th>'.__('Title').'</th><th class="no-break">'.__('Type').'</th><th class="no-break">'.__('Date').'</th><th class="no-break">'.__('Status').'</th></tr></thead><tbody>';
+       $alt = '';
        foreach ( $posts as $post ) {
                $title = trim( $post->post_title ) ? $post->post_title : __( '(no title)' );
+               $alt = ( 'alternate' == $alt ) ? '' : 'alternate';
 
                switch ( $post->post_status ) {
                        case 'publish' :
@@ -1507,17 +1459,13 @@ function wp_ajax_find_posts() {
                        $time = mysql2date(__('Y/m/d'), $post->post_date);
                }
 
-               $html .= '<tr class="found-posts"><td class="found-radio"><input type="radio" id="found-'.$post->ID.'" name="found_post_id" value="' . esc_attr($post->ID) . '"></td>';
+               $html .= '<tr class="' . trim( 'found-posts ' . $alt ) . '"><td class="found-radio"><input type="radio" id="found-'.$post->ID.'" name="found_post_id" value="' . esc_attr($post->ID) . '"></td>';
                $html .= '<td><label for="found-'.$post->ID.'">' . esc_html( $title ) . '</label></td><td class="no-break">' . esc_html( $post_types[$post->post_type]->labels->singular_name ) . '</td><td class="no-break">'.esc_html( $time ) . '</td><td class="no-break">' . esc_html( $stat ). ' </td></tr>' . "\n\n";
        }
 
        $html .= '</tbody></table>';
 
-       $x = new WP_Ajax_Response();
-       $x->add( array(
-               'data' => $html
-       ));
-       $x->send();
+       wp_send_json_success( $html );
 }
 
 function wp_ajax_widgets_order() {
@@ -1575,11 +1523,7 @@ function wp_ajax_save_widget() {
         */
        do_action( 'widgets.php' );
 
-       /**
-        * Fires early when editing the widgets displayed in sidebars.
-        *
-        * @since 2.2.0
-        */
+       /** This action is documented in wp-admin/widgets.php */
        do_action( 'sidebar_admin_setup' );
 
        $id_base = $_POST['id_base'];
@@ -1639,6 +1583,11 @@ function wp_ajax_save_widget() {
        wp_die();
 }
 
+function wp_ajax_update_widget() {
+       global $wp_customize;
+       $wp_customize->widgets->wp_ajax_update_widget();
+}
+
 function wp_ajax_upload_attachment() {
        check_ajax_referer( 'media-form' );
 
@@ -1763,11 +1712,11 @@ function wp_ajax_set_post_thumbnail() {
 }
 
 function wp_ajax_date_format() {
-       wp_die( date_i18n( sanitize_option( 'date_format', $_POST['date'] ) ) );
+       wp_die( date_i18n( sanitize_option( 'date_format', wp_unslash( $_POST['date'] ) ) ) );
 }
 
 function wp_ajax_time_format() {
-       wp_die( date_i18n( sanitize_option( 'time_format', $_POST['date'] ) ) );
+       wp_die( date_i18n( sanitize_option( 'time_format', wp_unslash( $_POST['date'] ) ) ) );
 }
 
 function wp_ajax_wp_fullscreen_save_post() {
@@ -1787,16 +1736,8 @@ function wp_ajax_wp_fullscreen_save_post() {
 
        $post_id = edit_post();
 
-       if ( is_wp_error($post_id) ) {
-               if ( $post_id->get_error_message() )
-                       $message = $post_id->get_error_message();
-               else
-                       $message = __('Save failed');
-
-               echo json_encode( array( 'message' => $message, 'last_edited' => '' ) );
-               wp_die();
-       } else {
-               $message = __('Saved.');
+       if ( is_wp_error( $post_id ) ) {
+               wp_send_json_error();
        }
 
        if ( $post ) {
@@ -1807,15 +1748,14 @@ function wp_ajax_wp_fullscreen_save_post() {
                $last_time = date_i18n( get_option('time_format') );
        }
 
-       if ( $last_id = get_post_meta($post_id, '_edit_last', true) ) {
-               $last_user = get_userdata($last_id);
+       if ( $last_id = get_post_meta( $post_id, '_edit_last', true ) ) {
+               $last_user = get_userdata( $last_id );
                $last_edited = sprintf( __('Last edited by %1$s on %2$s at %3$s'), esc_html( $last_user->display_name ), $last_date, $last_time );
        } else {
                $last_edited = sprintf( __('Last edited on %1$s at %2$s'), $last_date, $last_time );
        }
 
-       echo json_encode( array( 'message' => $message, 'last_edited' => $last_edited ) );
-       wp_die();
+       wp_send_json_success( array( 'last_edited' => $last_edited ) );
 }
 
 function wp_ajax_wp_remove_post_lock() {
@@ -1839,9 +1779,10 @@ function wp_ajax_wp_remove_post_lock() {
         *
         * @since 3.3.0
         *
-        * @param int $interval The interval in seconds the post lock duration should last, plus 5 seconds. Default 120.
+        * @param int $interval The interval in seconds the post lock duration
+        *                      should last, plus 5 seconds. Default 150.
         */
-       $new_lock = ( time() - apply_filters( 'wp_check_post_lock_window', 120 ) + 5 ) . ':' . $active_lock[1];
+       $new_lock = ( time() - apply_filters( 'wp_check_post_lock_window', 150 ) + 5 ) . ':' . $active_lock[1];
        update_post_meta( $post_id, '_edit_lock', $new_lock, implode( ':', $active_lock ) );
        wp_die( 1 );
 }
@@ -1913,11 +1854,14 @@ function wp_ajax_query_attachments() {
                $query['post_status'] .= ',private';
 
        /**
-        * Filter the arguments passed to WP_Query during an AJAX call for querying attachments.
+        * Filter the arguments passed to WP_Query during an AJAX
+        * call for querying attachments.
         *
         * @since 3.7.0
         *
-        * @param array $query An array of query variables. @see WP_Query::parse_query()
+        * @see WP_Query::parse_query()
+        *
+        * @param array $query An array of query variables.
         */
        $query = apply_filters( 'ajax_query_attachments_args', $query );
        $query = new WP_Query( $query );
@@ -2172,7 +2116,7 @@ function wp_ajax_heartbeat() {
                $screen_id = 'front';
 
        if ( ! empty($_POST['data']) ) {
-               $data = (array) $_POST['data'];
+               $data = wp_unslash( (array) $_POST['data'] );
 
                /**
                 * Filter the Heartbeat response received.
@@ -2260,3 +2204,48 @@ function wp_ajax_save_user_color_scheme() {
        update_user_meta( get_current_user_id(), 'admin_color', $color_scheme );
        wp_send_json_success();
 }
+
+/**
+ * Get themes from themes_api().
+ *
+ * @since 3.9.0
+ */
+function wp_ajax_query_themes() {
+       global $themes_allowedtags, $theme_field_defaults;
+
+       if ( ! current_user_can( 'install_themes' ) ) {
+               wp_send_json_error();
+       }
+
+       $args = wp_parse_args( wp_unslash( $_REQUEST['request'] ), array(
+               'per_page' => 20,
+               'fields'   => $theme_field_defaults
+       ) );
+
+       $old_filter = isset( $args['browse'] ) ? $args['browse'] : 'search';
+
+       /** This filter is documented in wp-admin/includes/class-wp-theme-install-list-table.php */
+       $args = apply_filters( 'install_themes_table_api_args_' . $old_filter, $args );
+
+       $api = themes_api( 'query_themes', $args );
+
+       if ( is_wp_error( $api ) ) {
+               wp_send_json_error();
+       }
+
+       $update_php = self_admin_url( 'update.php?action=install-theme' );
+       foreach ( $api->themes as &$theme ) {
+               $theme->install_url = add_query_arg( array(
+                       'theme'    => $theme->slug,
+                       '_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug )
+               ), $update_php );
+
+               $theme->name        = wp_kses( $theme->name, $themes_allowedtags );
+               $theme->author      = wp_kses( $theme->author, $themes_allowedtags );
+               $theme->version     = wp_kses( $theme->version, $themes_allowedtags );
+               $theme->description = wp_kses( $theme->description, $themes_allowedtags );
+               $theme->num_ratings = sprintf( _n( '(based on %s rating)', '(based on %s ratings)', $theme->num_ratings ), number_format_i18n( $theme->num_ratings ) );
+       }
+
+       wp_send_json_success( $api );
+}
index c765d553eb7b0cb5f9319656f1e794b5850c2945..bb7742abec9b6b186d95a4450b49ef92af1504ab 100644 (file)
@@ -3,7 +3,7 @@
  * PemFTP - A Ftp implementation in pure PHP
  *
  * @package PemFTP
- * @since 2.5
+ * @since 2.5.0
  *
  * @version 1.0
  * @copyright Alexey Dotsenko
@@ -17,7 +17,7 @@
  *
  * @package PemFTP
  * @subpackage Pure
- * @since 2.5
+ * @since 2.5.0
  *
  * @version 1.0
  * @copyright Alexey Dotsenko
index abdf0db682cbab2aa127bf133c952968d1ec1bf2..f9ea6cd5d2a7a654a8033293f6daddc7837cbc72 100644 (file)
@@ -3,7 +3,7 @@
  * PemFTP - A Ftp implementation in pure PHP
  *
  * @package PemFTP
- * @since 2.5
+ * @since 2.5.0
  *
  * @version 1.0
  * @copyright Alexey Dotsenko
@@ -17,7 +17,7 @@
  *
  * @package PemFTP
  * @subpackage Socket
- * @since 2.5
+ * @since 2.5.0
  *
  * @version 1.0
  * @copyright Alexey Dotsenko
index 3fa1d7c2b74263744829949cd7719cd744dd2e58..c489efee7b43c987a7b29a361f046c54b9b62d54 100644 (file)
@@ -233,7 +233,7 @@ class WP_Comments_List_Table extends WP_List_Table {
                if ( 'top' == $which ) {
 ?>
                        <select name="comment_type">
-                               <option value=""><?php _e( 'Show all comment types' ); ?></option>
+                               <option value=""><?php _e( 'All comment types' ); ?></option>
 <?php
                                /**
                                 * Filter the comment types dropdown menu.
@@ -316,7 +316,7 @@ class WP_Comments_List_Table extends WP_List_Table {
                $this->display_tablenav( 'top' );
 
 ?>
-<table class="<?php echo implode( ' ', $this->get_table_classes() ); ?>" cellspacing="0">
+<table class="<?php echo implode( ' ', $this->get_table_classes() ); ?>">
        <thead>
        <tr>
                <?php $this->print_column_headers(); ?>
@@ -462,8 +462,8 @@ class WP_Comments_List_Table extends WP_List_Table {
 
                        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>';
-                               $actions['quickedit'] = '<a onclick="commentReply.open( \''.$comment->comment_ID.'\',\''.$post->ID.'\',\'edit\' );return false;" class="vim-q" title="'.esc_attr__( 'Quick Edit' ).'" href="#">' . __( 'Quick&nbsp;Edit' ) . '</a>';
-                               $actions['reply'] = '<a onclick="commentReply.open( \''.$comment->comment_ID.'\',\''.$post->ID.'\' );return false;" class="vim-r" title="'.esc_attr__( 'Reply to this comment' ).'" href="#">' . __( 'Reply' ) . '</a>';
+                               $actions['quickedit'] = '<a onclick="window.commentReply && commentReply.open( \''.$comment->comment_ID.'\',\''.$post->ID.'\',\'edit\' );return false;" class="vim-q" title="'.esc_attr__( 'Quick Edit' ).'" href="#">' . __( 'Quick&nbsp;Edit' ) . '</a>';
+                               $actions['reply'] = '<a onclick="window.commentReply && commentReply.open( \''.$comment->comment_ID.'\',\''.$post->ID.'\' );return false;" class="vim-r" title="'.esc_attr__( 'Reply to this comment' ).'" href="#">' . __( 'Reply' ) . '</a>';
                        }
 
                        /** This filter is documented in wp-admin/includes/dashboard.php */
@@ -602,7 +602,7 @@ class WP_Post_Comments_List_Table extends WP_Comments_List_Table {
 
                wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
 ?>
-<table class="<?php echo implode( ' ', $this->get_table_classes() ); ?>" cellspacing="0" style="display:none;">
+<table class="<?php echo implode( ' ', $this->get_table_classes() ); ?>" style="display:none;">
        <tbody id="the-comment-list"<?php if ( $singular ) echo " data-wp-lists='list:$singular'"; ?>>
                <?php if ( ! $output_empty ) $this->display_rows_or_placeholder(); ?>
        </tbody>
index d07305bc1dda3cd7ddb13dd93d4cca78a763e51d..2d4e56640acd0fc9c8b047b6f6b8ea0690e371ed 100644 (file)
@@ -9,7 +9,7 @@
 /**
  * WordPress Filesystem Class for direct PHP file and folder manipulation.
  *
- * @since 2.5
+ * @since 2.5.0
  * @package WordPress
  * @subpackage Filesystem
  * @uses WP_Filesystem_Base Extends class
@@ -194,10 +194,10 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
         * FIXME does not handle errors in fileperms()
         *
         * @param string $file Path to the file.
-        * @return string Mode of the file (last 4 digits).
+        * @return string Mode of the file (last 3 digits).
         */
        function getchmod($file) {
-               return substr(decoct(@fileperms($file)),3);
+               return substr( decoct( @fileperms( $file ) ), -3 );
        }
 
        function group($file) {
index b9e32cdc42fb6f1b9dbb3937032a0cbac3e9084e..434a1f98e2e6ce8e4b914a8d1a45d9e70dcc2b8d 100644 (file)
@@ -9,7 +9,7 @@
 /**
  * WordPress Filesystem Class for implementing FTP.
  *
- * @since 2.5
+ * @since 2.5.0
  * @package WordPress
  * @subpackage Filesystem
  * @uses WP_Filesystem_Base Extends class
index 817dd08e0bfeda9146b4beb270960c9f5233a119..af4c53100eead722f7f35c762d96500e38e18fe0 100644 (file)
@@ -9,7 +9,7 @@
 /**
  * WordPress Filesystem Class for implementing FTP Sockets.
  *
- * @since 2.5
+ * @since 2.5.0
  * @package WordPress
  * @subpackage Filesystem
  * @uses WP_Filesystem_Base Extends class
index f942989dad6151e54e68f0e47f19c051dff36a9f..30a96b1da51ba7fbd71be4de5a63c388ebe28831 100644 (file)
@@ -230,7 +230,7 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
        }
 
        function getchmod($file) {
-               return substr(decoct(@fileperms( 'ssh2.sftp://' . $this->sftp_link . '/' . ltrim($file, '/') )),3);
+               return substr( decoct( @fileperms( 'ssh2.sftp://' . $this->sftp_link . '/' . ltrim( $file, '/' ) ) ), -3 );
        }
 
        function group($file) {
index 61d8c176b468a0219d0492d1ff69818ae0b381ec..98281b0367ad1d3db58b46d616929fdfdb3a5fc8 100644 (file)
@@ -114,7 +114,7 @@ class WP_Links_List_Table extends WP_List_Table {
 
                        $edit_link = get_edit_bookmark_link( $link );
 ?>
-               <tr id="link-<?php echo $link->link_id; ?>" valign="middle" <?php echo $style; ?>>
+               <tr id="link-<?php echo $link->link_id; ?>" <?php echo $style; ?>>
 <?php
 
                        list( $columns, $hidden ) = $this->get_column_info();
index f5db9dbbab35b777c2dbeea3117ac3b9e88e8620..3aa066d8afb8163eda145ee607bbdc27c8b9e36f 100644 (file)
@@ -1,12 +1,4 @@
 <?php
-/**
- * Base class for displaying a list of items in an ajaxified HTML table.
- *
- * @package WordPress
- * @subpackage List_Table
- * @since 3.1.0
- */
-
 /**
  * Base class for displaying a list of items in an ajaxified HTML table.
  *
@@ -406,7 +398,7 @@ class WP_List_Table {
                $m = isset( $_GET['m'] ) ? (int) $_GET['m'] : 0;
 ?>
                <select name='m'>
-                       <option<?php selected( $m, 0 ); ?> value='0'><?php _e( 'Show all dates' ); ?></option>
+                       <option<?php selected( $m, 0 ); ?> value='0'><?php _e( 'All dates' ); ?></option>
 <?php
                foreach ( $months as $arc_row ) {
                        if ( 0 == $arc_row->year )
@@ -773,7 +765,7 @@ class WP_List_Table {
                $this->display_tablenav( 'top' );
 
 ?>
-<table class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>" cellspacing="0">
+<table class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>">
        <thead>
        <tr>
                <?php $this->print_column_headers(); ?>
index 1f0067dd8ae2b16f8c78a564812426f7a74d7021..48e4363980c56860fde98bbcd9ec83f53c0814da 100644 (file)
@@ -90,6 +90,7 @@ class WP_Media_List_Table extends WP_List_Table {
                if ( 'top' == $which && !is_singular() && !$this->detached && !$this->is_trash ) {
                        $this->months_dropdown( 'attachment' );
 
+                       /** This action is documented in wp-admin/includes/class-wp-posts-list-table.php */
                        do_action( 'restrict_manage_posts' );
                        submit_button( __( 'Filter' ), 'button', false, false, array( 'id' => 'post-query-submit' ) );
                }
@@ -137,6 +138,14 @@ class WP_Media_List_Table extends WP_List_Table {
                $taxonomies = get_taxonomies_for_attachments( 'objects' );
                $taxonomies = wp_filter_object_list( $taxonomies, array( 'show_admin_column' => true ), 'and', 'name' );
 
+               /**
+                * Filter the taxonomy columns for attachments in the Media list table.
+                *
+                * @since 3.5.0
+                *
+                * @param array  $taxonomies An array of registered taxonomies to show for attachments.
+                * @param string $post_type  The post type. Default 'attachment'.
+                */
                $taxonomies = apply_filters( 'manage_taxonomies_for_attachment_columns', $taxonomies, 'attachment' );
                $taxonomies = array_filter( $taxonomies, 'taxonomy_exists' );
 
@@ -155,10 +164,19 @@ 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"><div title="' . esc_attr__( 'Comments' ) . '" class="comment-grey-bubble"></div></span>';
+                               $posts_columns['comments'] = '<span class="vers"><span title="' . esc_attr__( 'Comments' ) . '" class="comment-grey-bubble"></span></span>';
                }
                /* translators: column name */
                $posts_columns['date'] = _x( 'Date', 'column name' );
+               /**
+                * Filter the Media list table columns.
+                *
+                * @since 2.5.0
+                *
+                * @param array $posts_columns An array of columns displayed in the Media 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;
@@ -191,7 +209,7 @@ class WP_Media_List_Table extends WP_List_Table {
                        $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( $alt . ' author-' . $post_owner . ' status-' . $post->post_status ); ?>' valign="top">
+       <tr id='post-<?php echo $post->ID; ?>' class='<?php echo trim( $alt . ' author-' . $post_owner . ' status-' . $post->post_status ); ?>'>
 <?php
 
 list( $columns, $hidden ) = $this->get_column_info();
@@ -311,7 +329,7 @@ foreach ( $columns as $column_name => $column_display_name ) {
                        $parent_type = get_post_type_object( $parent->post_type );
 ?>
                        <td <?php echo $attributes ?>><strong>
-                               <?php if ( current_user_can( 'edit_post', $post->post_parent ) && $parent_type->show_ui ) { ?>
+                               <?php if ( current_user_can( 'edit_post', $post->post_parent ) && $parent_type && $parent_type->show_ui ) { ?>
                                        <a href="<?php echo get_edit_post_link( $post->post_parent ); ?>">
                                                <?php echo $title ?></a><?php
                                } else {
@@ -383,6 +401,18 @@ foreach ( $columns as $column_name => $column_display_name ) {
                }
 ?>
                <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.
+                                */
+                       ?>
                        <?php do_action( 'manage_media_custom_column', $column_name, $post->ID ); ?>
                </td>
 <?php
@@ -430,6 +460,17 @@ foreach ( $columns as $column_name => $column_display_name ) {
                        }
                }
 
+               /**
+                * Filter the action links for each attachment in the Media list table.
+                *
+                * @since 2.8.0
+                *
+                * @param array   $actions  An array of action links for each attachment.
+                *                          Default 'Edit', 'Delete Permanently', 'View'.
+                * @param WP_Post $post     WP_Post object for the current attachment.
+                * @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 $actions;
index f9b33e424fc137e8e8f1b472bbc7687054d048dc..fcabfd777cb988919a7d488f460bf0fdaebf9b44 100644 (file)
@@ -233,7 +233,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
                                        break;
 
                                        case 'id':?>
-                                               <th valign="top" scope="row">
+                                               <th scope="row">
                                                        <?php echo $blog['blog_id'] ?>
                                                </th>
                                        <?php
@@ -306,7 +306,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
                                        break;
 
                                        case 'lastupdated':
-                                               echo "<td valign='top' class='$column_name column-$column_name'$style>";
+                                               echo "<td class='$column_name column-$column_name'$style>";
                                                        if ( 'list' == $mode )
                                                                $date = 'Y/m/d';
                                                        else
@@ -316,7 +316,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
                                        <?php
                                        break;
                                case 'registered':
-                                               echo "<td valign='top' class='$column_name column-$column_name'$style>";
+                                               echo "<td class='$column_name column-$column_name'$style>";
                                                if ( $blog['registered'] == '0000-00-00 00:00:00' )
                                                        echo '&#x2014;';
                                                else
@@ -326,7 +326,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
                                        <?php
                                        break;
                                case 'users':
-                                               echo "<td valign='top' class='$column_name column-$column_name'$style>";
+                                               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 = '';
@@ -350,7 +350,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
 
                                case 'plugins': ?>
                                        <?php if ( has_filter( 'wpmublogsaction' ) ) {
-                                       echo "<td valign='top' class='$column_name column-$column_name'$style>";
+                                       echo "<td class='$column_name column-$column_name'$style>";
                                                /**
                                                 * Fires inside the auxiliary 'Actions' column of the Sites list table.
                                                 *
index 3239778c48e9184af93a47c2a470977e3d615a13..59183c311f147074dac329312434cf64a5fd2d76 100644 (file)
@@ -49,6 +49,14 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
                wp_reset_vars( array( 'orderby', 'order', 's' ) );
 
                $themes = array(
+                       /**
+                        * Filter the full array of WP_Theme objects to list in the Multisite
+                        * themes list table.
+                        *
+                        * @since 3.1.0
+                        *
+                        * @param array $all An array of WP_Theme objects to display in the list table.
+                        */
                        'all' => apply_filters( 'all_themes', wp_get_themes() ),
                        'search' => array(),
                        'enabled' => array(),
@@ -284,7 +292,44 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
                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.
+                *
+                * The action links displayed are determined by the theme's status, and
+                * which Multisite themes list table is being displayed - the Network
+                * themes list table (themes.php), which displays all installed themes,
+                * or the Site themes list table (site-themes.php), which displays the
+                * non-network enabled themes when editing a site in the Network admin.
+                *
+                * The default action links for the Network themes list table include
+                * 'Network Enable', 'Network Disable', 'Edit', and 'Delete'.
+                *
+                * The default action links for the Site themes list table include
+                * 'Enable', 'Disable', and 'Edit'.
+                *
+                * @since 2.8.0
+                *
+                * @param array    $actions An array of action links.
+                * @param WP_Theme $theme   The current WP_Theme object.
+                * @param string   $context Status of the theme.
+                */
                $actions = apply_filters( 'theme_action_links', array_filter( $actions ), $theme, $context );
+
+               /**
+                * Filter the action links of a specific theme in the Multisite themes
+                * list table.
+                *
+                * The dynamic portion of the hook name, $stylesheet, refers to the
+                * directory name of the theme, which in most cases is synonymous
+                * with the template name.
+                *
+                * @since 3.1.0
+                *
+                * @param array    $actions An array of action links.
+                * @param WP_Theme $theme   The current WP_Theme object.
+                * @param string   $context Status of the theme.
+                */
                $actions = apply_filters( "theme_action_links_$stylesheet", $actions, $theme, $context );
 
                $class = ! $allowed ? 'inactive' : 'active';
@@ -333,6 +378,19 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
                                        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 );
 
@@ -341,6 +399,16 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
 
                                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>";
                        }
@@ -350,7 +418,31 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
 
                if ( $this->is_site_themes )
                        remove_action( "after_theme_row_$stylesheet", 'wp_theme_update_row' );
+
+               /**
+                * Fires after each row in the Multisite themes list table.
+                *
+                * @since 3.1.0
+                *
+                * @param string   $stylesheet Directory name of the theme.
+                * @param WP_Theme $theme      Current WP_Theme object.
+                * @param string   $status     Status of the theme.
+                */
                do_action( 'after_theme_row', $stylesheet, $theme, $status );
+
+               /**
+                * Fires after each specific row in the Multisite themes list table.
+                *
+                * The dynamic portion of the hook name, $stylesheet, refers to the
+                * directory name of the theme, most often synonymous with the template
+                * name of the theme.
+                *
+                * @since 3.5.0
+                *
+                * @param string   $stylesheet Directory name of the theme.
+                * @param WP_Theme $theme      Current WP_Theme object.
+                * @param string   $status     Status of the theme.
+                */
                do_action( "after_theme_row_$stylesheet", $stylesheet, $theme, $status );
        }
 }
index 271fe5a09307cf0e2906bc3f80bfe5a0123a5a2c..df0640686bf2192cb795f3ca76dce00e1531f2be 100644 (file)
@@ -16,7 +16,7 @@ class WP_MS_Users_List_Table extends WP_List_Table {
        function prepare_items() {
                global $usersearch, $role, $wpdb, $mode;
 
-               $usersearch = isset( $_REQUEST['s'] ) ? $_REQUEST['s'] : '';
+               $usersearch = isset( $_REQUEST['s'] ) ? wp_unslash( trim( $_REQUEST['s'] ) ) : '';
 
                $users_per_page = $this->get_items_per_page( 'users_network_per_page' );
 
index 6096464d69332b190b0f9f47dfa474036d11cba4..868c08caa3d74f0fb001acd7aec9bf596efad31b 100644 (file)
@@ -129,7 +129,7 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
 
                $this->set_pagination_args( array(
                        'total_items' => $api->info['results'],
-                       'per_page' => $per_page,
+                       'per_page' => $args['per_page'],
                ) );
        }
 
@@ -245,7 +245,7 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
                                                break;
                                        case 'update_available':
                                                if ( $status['url'] )
-                                                       $action_links[] = '<a href="' . $status['url'] . '" title="' . esc_attr( sprintf( __( 'Update to version %s' ), $status['version'] ) ) . '">' . sprintf( __( 'Update Now' ), $status['version'] ) . '</a>';
+                                                       $action_links[] = '<a href="' . $status['url'] . '" title="' . esc_attr( sprintf( __( 'Update to version %s' ), $status['version'] ) ) . '">' . __( 'Update Now' ) . '</a>';
                                                break;
                                        case 'latest_installed':
                                        case 'newer_installed':
index 9e648498fe8653e2e29d79e33d2546cec86bd95a..6535833710a5be61e851a6473f4f923a0de7e3fd 100644 (file)
@@ -40,6 +40,15 @@ class WP_Plugins_List_Table extends WP_List_Table {
 
                wp_reset_vars( array( 'orderby', 'order', 's' ) );
 
+               /**
+                * Filter the full array of plugins to list in the Plugins list table.
+                *
+                * @since 3.0.0
+                *
+                * @see get_plugins()
+                *
+                * @param array $plugins An array of plugins to display in the list table.
+                */
                $plugins = array(
                        'all' => apply_filters( 'all_plugins', get_plugins() ),
                        'search' => array(),
@@ -54,8 +63,27 @@ class WP_Plugins_List_Table extends WP_List_Table {
                $screen = $this->screen;
 
                if ( ! is_multisite() || ( $screen->in_admin( 'network' ) && current_user_can( 'manage_network_plugins' ) ) ) {
-                       if ( apply_filters( 'show_advanced_plugins', true, 'mustuse' ) )
+
+                       /**
+                        * Filter whether to display the advanced plugins list table.
+                        *
+                        * There are two types of advanced plugins - must-use and drop-ins -
+                        * which can be used in a single site or Multisite network.
+                        *
+                        * The $type parameter allows you to differentiate between the type of advanced
+                        * plugins to filter the display of. Contexts include 'mustuse' and 'dropins'.
+                        *
+                        * @since 3.0.0
+                        *
+                        * @param bool   $show Whether to show the advanced plugins for the specified
+                        *                     plugin type. Default true.
+                        * @param string $type The plugin type. Accepts 'mustuse', 'dropins'.
+                        */
+                       if ( apply_filters( 'show_advanced_plugins', true, 'mustuse' ) ) {
                                $plugins['mustuse'] = get_mu_plugins();
+                       }
+
+                       /** This action is documented in wp-admin/includes/class-wp-plugins-list-table.php */
                        if ( apply_filters( 'show_advanced_plugins', true, 'dropins' ) )
                                $plugins['dropins'] = get_dropins();
 
@@ -83,16 +111,23 @@ class WP_Plugins_List_Table extends WP_List_Table {
 
                foreach ( (array) $plugins['all'] as $plugin_file => $plugin_data ) {
                        // Filter into individual sections
-                       if ( is_multisite() && ! $screen->in_admin( 'network' ) && is_network_only_plugin( $plugin_file ) ) {
+                       if ( is_multisite() && ! $screen->in_admin( 'network' ) && is_network_only_plugin( $plugin_file ) && ! is_plugin_active( $plugin_file ) ) {
+                               // On the non-network screen, filter out network-only plugins as long as they're not individually activated
                                unset( $plugins['all'][ $plugin_file ] );
                        } elseif ( ! $screen->in_admin( 'network' ) && is_plugin_active_for_network( $plugin_file ) ) {
+                               // On the non-network screen, filter out network activated plugins
                                unset( $plugins['all'][ $plugin_file ] );
                        } elseif ( ( ! $screen->in_admin( 'network' ) && is_plugin_active( $plugin_file ) )
                                || ( $screen->in_admin( 'network' ) && is_plugin_active_for_network( $plugin_file ) ) ) {
+                               // On the non-network screen, populate the active list with plugins that are individually activated
+                               // On the network-admin screen, populate the active list with plugins that are network activated
                                $plugins['active'][ $plugin_file ] = $plugin_data;
                        } else {
-                               if ( ! $screen->in_admin( 'network' ) && isset( $recently_activated[ $plugin_file ] ) ) // Was the plugin recently activated?
+                               if ( ! $screen->in_admin( 'network' ) && isset( $recently_activated[ $plugin_file ] ) ) {
+                                       // On the non-network screen, populate the recently activated list with plugins that have been recently activated
                                        $plugins['recently_activated'][ $plugin_file ] = $plugin_data;
+                               }
+                               // Populate the inactive list with plugins that aren't activated
                                $plugins['inactive'][ $plugin_file ] = $plugin_data;
                        }
                }
@@ -142,9 +177,11 @@ class WP_Plugins_List_Table extends WP_List_Table {
                if ( is_null( $term ) )
                        $term = wp_unslash( $_REQUEST['s'] );
 
-               foreach ( $plugin as $value )
-                       if ( stripos( $value, $term ) !== false )
+               foreach ( $plugin as $value ) {
+                       if ( false !== stripos( strip_tags( $value ), $term ) ) {
                                return true;
+                       }
+               }
 
                return false;
        }
@@ -362,7 +399,53 @@ class WP_Plugins_List_Table extends WP_List_Table {
                } // end if $context
 
                $prefix = $screen->in_admin( 'network' ) ? 'network_admin_' : '';
+
+               /**
+                * Filter the action links displayed for each plugin in the Plugins list table.
+                *
+                * The dynamic portion of the hook name, $prefix, refers to the context the
+                * action links are displayed in. The 'network_admin_' prefix is used if the
+                * current screen is the Network plugins list table. The prefix is empty ('')
+                * if the current screen is the site plugins list table.
+                *
+                * The default action links for the Network plugins list table include
+                * 'Network Activate', 'Network Deactivate', 'Edit', and 'Delete'.
+                *
+                * The default action links for the site plugins list table include
+                * 'Activate', 'Deactivate', and 'Edit', for a network site, and
+                * 'Activate', 'Deactivate', 'Edit', and 'Delete' for a single site.
+                *
+                * @since 2.5.0
+                *
+                * @param array  $actions     An array of plugin action links.
+                * @param string $plugin_file Path to the plugin file.
+                * @param array  $plugin_data An array of plugin data.
+                * @param string $context     The plugin context. Defaults are 'All', 'Active',
+                *                            'Inactive', 'Recently Activated', 'Upgrade',
+                *                            'Must-Use', 'Drop-ins', 'Search'.
+                */
                $actions = apply_filters( $prefix . 'plugin_action_links', array_filter( $actions ), $plugin_file, $plugin_data, $context );
+
+               /**
+                * Filter the list of action links displayed for a specific plugin.
+                *
+                * The first dynamic portion of the hook name, $prefix, refers to the context
+                * the action links are displayed in. The 'network_admin_' prefix is used if the
+                * current screen is the Network plugins list table. The prefix is empty ('')
+                * if the current screen is the site plugins list table.
+                *
+                * The second dynamic portion of the hook name, $plugin_file, refers to the path
+                * to the plugin file, relative to the plugins directory.
+                *
+                * @since 2.7.0
+                *
+                * @param array  $actions     An array of plugin action links.
+                * @param string $plugin_file Path to the plugin file.
+                * @param array  $plugin_data An array of plugin data.
+                * @param string $context     The plugin context. Defaults are 'All', 'Active',
+                *                            'Inactive', 'Recently Activated', 'Upgrade',
+                *                            'Must-Use', 'Drop-ins', 'Search'.
+                */
                $actions = apply_filters( $prefix . "plugin_action_links_$plugin_file", $actions, $plugin_file, $plugin_data, $context );
 
                $class = $is_active ? 'active' : 'inactive';
@@ -417,6 +500,20 @@ class WP_Plugins_List_Table extends WP_List_Table {
                                        if ( ! empty( $plugin_data['PluginURI'] ) )
                                                $plugin_meta[] = '<a href="' . $plugin_data['PluginURI'] . '" title="' . esc_attr__( 'Visit plugin site' ) . '">' . __( 'Visit plugin site' ) . '</a>';
 
+                                       /**
+                                        * Filter the array of row meta for each plugin in the Plugins list table.
+                                        *
+                                        * @since 2.8.0
+                                        *
+                                        * @param array  $plugin_meta An array of the plugin's metadata,
+                                        *                            including the version, author,
+                                        *                            author URI, and plugin URI.
+                                        * @param string $plugin_file Path to the plugin file, relative to the plugins directory.
+                                        * @param array  $plugin_data An array of plugin data.
+                                        * @param string $status      Status of the plugin. Defaults are 'All', 'Active',
+                                        *                            'Inactive', 'Recently Activated', 'Upgrade', 'Must-Use',
+                                        *                            'Drop-ins', 'Search'.
+                                        */
                                        $plugin_meta = apply_filters( 'plugin_row_meta', $plugin_meta, $plugin_file, $plugin_data, $status );
                                        echo implode( ' | ', $plugin_meta );
 
@@ -424,6 +521,16 @@ class WP_Plugins_List_Table extends WP_List_Table {
                                        break;
                                default:
                                        echo "<td class='$column_name column-$column_name'$style>";
+
+                                       /**
+                                        * Fires inside each custom column of the Plugins list table.
+                                        *
+                                        * @since 3.1.0
+                                        *
+                                        * @param string $column_name Name of the column.
+                                        * @param string $plugin_file Path to the plugin file.
+                                        * @param array  $plugin_data An array of plugin data.
+                                        */
                                        do_action( 'manage_plugins_custom_column', $column_name, $plugin_file, $plugin_data );
                                        echo "</td>";
                        }
@@ -431,7 +538,33 @@ class WP_Plugins_List_Table extends WP_List_Table {
 
                echo "</tr>";
 
+               /**
+                * Fires after each row in the Plugins list table.
+                *
+                * @since 2.3.0
+                *
+                * @param string $plugin_file Path to the plugin file, relative to the plugins directory.
+                * @param array  $plugin_data An array of plugin data.
+                * @param string $status      Status of the plugin. Defaults are 'All', 'Active',
+                *                            'Inactive', 'Recently Activated', 'Upgrade', 'Must-Use',
+                *                            'Drop-ins', 'Search'.
+                */
                do_action( 'after_plugin_row', $plugin_file, $plugin_data, $status );
+
+               /**
+                * Fires after each specific row in the Plugins list table.
+                *
+                * The dynamic portion of the hook name, $plugin_file, refers to the path
+                * to the plugin file, relative to the plugins directory.
+                *
+                * @since 2.7.0
+                *
+                * @param string $plugin_file Path to the plugin file, relative to the plugins directory.
+                * @param array  $plugin_data An array of plugin data.
+                * @param string $status      Status of the plugin. Defaults are 'All', 'Active',
+                *                            'Inactive', 'Recently Activated', 'Upgrade', 'Must-Use',
+                *                            'Drop-ins', 'Search'.
+                */
                do_action( "after_plugin_row_$plugin_file", $plugin_file, $plugin_data, $status );
        }
 }
index 500541119dbf504e6f05ddd5ef1c8cc64db497a7..1e763f2ff33ef32790b4d5262b43ff5c19be43af 100644 (file)
@@ -89,6 +89,8 @@ class WP_Posts_List_Table extends WP_List_Table {
 
                $post_type = $this->screen->post_type;
                $per_page = $this->get_items_per_page( 'edit_' . $post_type . '_per_page' );
+
+               /** This filter is documented in wp-admin/includes/post.php */
                $per_page = apply_filters( 'edit_posts_per_page', $per_page, $post_type );
 
                if ( $this->hierarchical_display )
@@ -215,7 +217,17 @@ class WP_Posts_List_Table extends WP_List_Table {
                                );
                                wp_dropdown_categories( $dropdown_options );
                        }
+
+                       /**
+                        * Fires before the Filter button on the Posts and Pages list tables.
+                        *
+                        * The Filter button allows sorting by date and/or category on the
+                        * Posts list table, and sorting by date on the Pages list table.
+                        *
+                        * @since 2.1.0
+                        */
                        do_action( 'restrict_manage_posts' );
+
                        submit_button( __( 'Filter' ), 'button', false, false, array( 'id' => 'post-query-submit' ) );
                }
 
@@ -265,6 +277,17 @@ class WP_Posts_List_Table extends WP_List_Table {
                $taxonomies = get_object_taxonomies( $post_type, 'objects' );
                $taxonomies = wp_filter_object_list( $taxonomies, array( 'show_admin_column' => true ), 'and', 'name' );
 
+               /**
+                * Filter the taxonomy columns in the Posts list table.
+                *
+                * The dynamic portion of the hook name, $post_type, refers to the post
+                * type slug.
+                *
+                * @since 3.5.0
+                *
+                * @param array  $taxonomies Array of taxonomies to show columns for.
+                * @param string $post_type  The post type.
+                */
                $taxonomies = apply_filters( "manage_taxonomies_for_{$post_type}_columns", $taxonomies, $post_type );
                $taxonomies = array_filter( $taxonomies, 'taxonomy_exists' );
 
@@ -281,14 +304,42 @@ class WP_Posts_List_Table extends WP_List_Table {
 
                $post_status = !empty( $_REQUEST['post_status'] ) ? $_REQUEST['post_status'] : 'all';
                if ( post_type_supports( $post_type, 'comments' ) && !in_array( $post_status, array( 'pending', 'draft', 'future' ) ) )
-                       $posts_columns['comments'] = '<span class="vers"><div title="' . esc_attr__( 'Comments' ) . '" class="comment-grey-bubble"></div></span>';
+                       $posts_columns['comments'] = '<span class="vers"><span title="' . esc_attr__( 'Comments' ) . '" class="comment-grey-bubble"></span></span>';
 
                $posts_columns['date'] = __( 'Date' );
 
-               if ( 'page' == $post_type )
+               if ( 'page' == $post_type ) {
+
+                       /**
+                        * Filter the columns displayed in the Pages list table.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param array $post_columns An array of column names.
+                        */
                        $posts_columns = apply_filters( 'manage_pages_columns', $posts_columns );
-               else
+               } else {
+
+                       /**
+                        * Filter the columns displayed in the Posts list table.
+                        *
+                        * @since 1.5.0
+                        *
+                        * @param array  $posts_columns An array of column names.
+                        * @param string $post_type     The post type slug.
+                        */
                        $posts_columns = apply_filters( 'manage_posts_columns', $posts_columns, $post_type );
+               }
+
+               /**
+                * Filter the columns displayed in the Posts list table for a specific post type.
+                *
+                * The dynamic portion of the hook name, $post_type, refers to the post type slug.
+                *
+                * @since 3.0.0
+                *
+                * @param array $post_columns An array of column names.
+                */
                $posts_columns = apply_filters( "manage_{$post_type}_posts_columns", $posts_columns );
 
                return $posts_columns;
@@ -346,7 +397,7 @@ class WP_Posts_List_Table extends WP_List_Table {
                }
 
                /*
-                * arrange pages into two parts: top level pages and children_pages
+                * Arrange pages into two parts: top level pages and children_pages
                 * children_pages is two dimensional array, eg.
                 * children_pages[10][] contains all sub-pages whose parent is 10.
                 * It only takes O( N ) to arrange this and it takes O( 1 ) for subsequent lookup operations
@@ -499,7 +550,7 @@ class WP_Posts_List_Table extends WP_List_Table {
                    $classes .= ' level-0';
                }
        ?>
-               <tr id="post-<?php echo $post->ID; ?>" class="<?php echo implode( ' ', get_post_class( $classes, $post->ID ) ); ?>" valign="top">
+               <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();
@@ -605,14 +656,48 @@ class WP_Posts_List_Table extends WP_List_Table {
                                }
                                if ( $post_type_object->public ) {
                                        if ( in_array( $post->post_status, array( 'pending', 'draft', 'future' ) ) ) {
-                                               if ( $can_edit_post )
+                                               if ( $can_edit_post ) {
+
+                                                       /** This filter is documented in wp-admin/includes/meta-boxes.php */
                                                        $actions['view'] = '<a href="' . esc_url( apply_filters( 'preview_post_link', set_url_scheme( add_query_arg( 'preview', 'true', get_permalink( $post->ID ) ) ) ) ) . '" 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>';
                                        }
                                }
 
-                               $actions = apply_filters( is_post_type_hierarchical( $post->post_type ) ? 'page_row_actions' : 'post_row_actions', $actions, $post );
+                               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 );
+                               }
+
                                echo $this->row_actions( $actions );
 
                                get_inline_data( $post );
@@ -637,10 +722,28 @@ class WP_Posts_List_Table extends WP_List_Table {
                                }
 
                                echo '<td ' . $attributes . '>';
-                               if ( 'excerpt' == $mode )
+                               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
+                               } 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' );
@@ -719,10 +822,46 @@ class WP_Posts_List_Table extends WP_List_Table {
                                }
                        ?>
                        <td <?php echo $attributes ?>><?php
-                               if ( is_post_type_hierarchical( $post->post_type ) )
+                               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
+                               } 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 );
+                               }
+
+                               /**
+                                * 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
@@ -906,7 +1045,18 @@ class WP_Posts_List_Table extends WP_List_Table {
 
                if ( $bulk )
                        $dropdown_args['show_option_no_change'] =  __( '&mdash; No Change &mdash;' );
+
+               /**
+                * Filter the arguments used to generate the Quick Edit page-parent drop-down.
+                *
+                * @since 2.7.0
+                *
+                * @see wp_dropdown_pages()
+                *
+                * @param array $dropdown_args An array of arguments.
+                */
                $dropdown_args = apply_filters( 'quick_edit_dropdown_pages_args', $dropdown_args );
+
                wp_dropdown_pages( $dropdown_args );
        ?>
                        </label>
@@ -1047,19 +1197,20 @@ class WP_Posts_List_Table extends WP_List_Table {
 
        <?php
 
-       if ( $bulk && post_type_supports( $screen->post_type, 'post-formats' ) ) {
-               $all_post_formats = get_post_format_strings();
+       if ( $bulk && current_theme_supports( 'post-formats' ) && post_type_supports( $screen->post_type, 'post-formats' ) ) {
+               $post_formats = get_theme_support( 'post-formats' );
 
                ?>
                <label class="alignleft" for="post_format">
                <span class="title"><?php _ex( 'Format', 'post format' ); ?></span>
                <select name="post_format">
                        <option value="-1"><?php _e( '&mdash; No Change &mdash;' ); ?></option>
+                       <option value="0"><?php echo get_post_format_string( 'standard' ); ?></option>
                        <?php
 
-                       foreach ( $all_post_formats as $slug => $format ) {
+                       foreach ( $post_formats[0] as $format ) {
                                ?>
-                               <option value="<?php echo esc_attr( $slug ); ?>"><?php echo esc_html( $format ); ?></option>
+                               <option value="<?php echo esc_attr( $format ); ?>"><?php echo esc_html( get_post_format_string( $format ) ); ?></option>
                                <?php
                        }
 
@@ -1079,7 +1230,31 @@ class WP_Posts_List_Table extends WP_List_Table {
                foreach ( $columns as $column_name => $column_display_name ) {
                        if ( isset( $core_columns[$column_name] ) )
                                continue;
-                       do_action( $bulk ? 'bulk_edit_custom_box' : 'quick_edit_custom_box', $column_name, $screen->post_type );
+
+                       if ( $bulk ) {
+
+                               /**
+                                * Fires once for each column in Bulk Edit mode.
+                                *
+                                * @since 2.7.0
+                                *
+                                * @param string  $column_name Name of the column to edit.
+                                * @param WP_Post $post_type   The post type slug.
+                                */
+                               do_action( 'bulk_edit_custom_box', $column_name, $screen->post_type );
+                       } else {
+
+                               /**
+                                * Fires once for each column in Quick Edit mode.
+                                *
+                                * @since 2.7.0
+                                *
+                                * @param string  $column_name Name of the column to edit.
+                                * @param WP_Post $post_type   The post type slug.
+                                */
+                               do_action( 'quick_edit_custom_box', $column_name, $screen->post_type );
+                       }
+
                }
        ?>
                <p class="submit inline-edit-save">
index f44b626616faf4b80896b1083810de314d8cb681..bf31468a6b37643b5c59ceee4c9a63bc7203c95b 100644 (file)
@@ -46,10 +46,33 @@ class WP_Terms_List_Table extends WP_List_Table {
                $tags_per_page = $this->get_items_per_page( 'edit_' . $this->screen->taxonomy . '_per_page' );
 
                if ( 'post_tag' == $this->screen->taxonomy ) {
+                       /**
+                        * Filter the number of terms displayed per page for the Tags list table.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param int $tags_per_page Number of tags to be displayed. Default 20.
+                        */
                        $tags_per_page = apply_filters( 'edit_tags_per_page', $tags_per_page );
-                       $tags_per_page = apply_filters( 'tagsperpage', $tags_per_page ); // Old filter
+
+                       /**
+                        * Filter the number of terms displayed per page for the Tags list table.
+                        *
+                        * @since 2.7.0
+                        * @deprecated 2.8.0 Use edit_tags_per_page instead.
+                        *
+                        * @param int $tags_per_page Number of tags to be displayed. Default 20.
+                        */
+                       $tags_per_page = apply_filters( 'tagsperpage', $tags_per_page );
                } elseif ( 'category' == $this->screen->taxonomy ) {
-                       $tags_per_page = apply_filters( 'edit_categories_per_page', $tags_per_page ); // Old filter
+                       /**
+                        * Filter the number of terms displayed per page for the Categories list table.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param int $tags_per_page Number of categories to be displayed. Default 20.
+                        */
+                       $tags_per_page = apply_filters( 'edit_categories_per_page', $tags_per_page );
                }
 
                $search = !empty( $_REQUEST['s'] ) ? trim( wp_unslash( $_REQUEST['s'] ) ) : '';
@@ -246,7 +269,22 @@ class WP_Terms_List_Table extends WP_List_Table {
                $default_term = get_option( 'default_' . $taxonomy );
 
                $pad = str_repeat( '&#8212; ', max( 0, $this->level ) );
+
+               /**
+                * Filter display of the term name in the terms list table.
+                *
+                * The default output may include padding due to the term's
+                * current level in the term hierarchy.
+                *
+                * @since 2.5.0
+                *
+                * @see WP_Terms_List_Table::column_name()
+                *
+                * @param string $pad_tag_name The term name, padded if not top-level.
+                * @param object $tag          Term object.
+                */
                $name = apply_filters( 'term_name', $pad . ' ' . $tag->name, $tag );
+
                $qe_data = get_term( $tag->term_id, $taxonomy, OBJECT, 'edit' );
                $edit_link = esc_url( get_edit_term_link( $tag->term_id, $taxonomy, $this->screen->post_type ) );
 
@@ -262,12 +300,36 @@ class WP_Terms_List_Table extends WP_List_Table {
                if ( $tax->public )
                        $actions['view'] = '<a href="' . get_term_link( $tag ) . '">' . __( 'View' ) . '</a>';
 
+               /**
+                * Filter the action links displayed for each term in the Tags list table.
+                *
+                * @since 2.8.0
+                * @deprecated 3.0.0 Use {$taxonomy}_row_actions instead.
+                *
+                * @param array  $actions An array of action links to be displayed. Default
+                *                        'Edit', 'Quick Edit', 'Delete', and 'View'.
+                * @param object $tag     Term object.
+                */
                $actions = apply_filters( 'tag_row_actions', $actions, $tag );
+
+               /**
+                * Filter the action links displayed for each term in the terms list table.
+                *
+                * The dynamic portion of the hook name, $taxonomy, refers to the taxonomy slug.
+                *
+                * @since 3.0.0
+                *
+                * @param array  $actions An array of action links to be displayed. Default
+                *                        'Edit', 'Quick Edit', 'Delete', and 'View'.
+                * @param object $tag     Term object.
+                */
                $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>';
 
@@ -279,6 +341,7 @@ class WP_Terms_List_Table extends WP_List_Table {
        }
 
        function column_slug( $tag ) {
+               /** This filter is documented in wp-admin/edit-tag-form.php */
                return apply_filters( 'editable_slug', $tag->slug );
        }
 
@@ -314,6 +377,18 @@ class WP_Terms_List_Table extends WP_List_Table {
        }
 
        function column_default( $tag, $column_name ) {
+               /**
+                * Filter the displayed columns in the terms list table.
+                *
+                * The dynamic portion of the hook name, $this->screen->taxonomy,
+                * refers to the slug of the current taxonomy.
+                *
+                * @since 2.8.0
+                *
+                * @param string $string      Blank string.
+                * @param string $column_name Name of the column.
+                * @param int    $term_id     Term ID.
+                */
                return apply_filters( "manage_{$this->screen->taxonomy}_custom_column", '', $column_name, $tag->term_id );
        }
 
@@ -356,6 +431,7 @@ class WP_Terms_List_Table extends WP_List_Table {
                        if ( isset( $core_columns[$column_name] ) )
                                continue;
 
+                       /** This action is documented in wp-admin/includes/class-wp-posts-list-table.php */
                        do_action( 'quick_edit_custom_box', $column_name, 'edit-tags', $this->screen->taxonomy );
                }
 
index 8934684c21b57df9a0c4f55e668ca6e3b17c943f..e991c4ec46b64ae684a060376705606b93963a8a 100644 (file)
@@ -48,7 +48,24 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 
                $nonmenu_tabs = array( 'theme-information' ); // Valid actions to perform which do not have a Menu item.
 
+               /**
+                * Filter the tabs shown on the Install Themes screen.
+                *
+                * @since 2.8.0
+                *
+                * @param array $tabs The tabs shown on the Install Themes screen. Defaults are
+                *                    'dashboard', 'search', 'upload', 'featured', 'new', and 'updated'.
+                */
                $tabs = apply_filters( 'install_themes_tabs', $tabs );
+
+               /**
+                * Filter tabs not associated with a menu item on the Install Themes screen.
+                *
+                * @since 2.8.0
+                *
+                * @param array $nonmenu_tabs The tabs that don't have a menu item on
+                *                            the Install Themes screen.
+                */
                $nonmenu_tabs = apply_filters( 'install_themes_nonmenu_tabs', $nonmenu_tabs );
 
                // If a non-valid menu tab has been selected, And it's not a non-menu action.
@@ -93,6 +110,17 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
                                break;
                }
 
+               /**
+                * Filter API request arguments for each Install Themes screen tab.
+                *
+                * The dynamic portion of the hook name, $tab, refers to the theme install
+                * tabs. Default tabs are 'dashboard', 'search', 'upload', 'featured',
+                * 'new', and 'updated'.
+                *
+                * @since 3.7.0
+                *
+                * @param array $args An array of themes API arguments.
+                */
                $args = apply_filters( 'install_themes_table_api_args_' . $tab, $args );
 
                if ( ! $args )
@@ -107,7 +135,7 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 
                $this->set_pagination_args( array(
                        'total_items' => $api->info['results'],
-                       'per_page' => $per_page,
+                       'per_page' => $args['per_page'],
                        'infinite_scroll' => true,
                ) );
        }
@@ -134,7 +162,14 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 ?>
                <div class="tablenav top themes">
                        <div class="alignleft actions">
-                               <?php do_action( 'install_themes_table_header' ); ?>
+                               <?php
+                               /**
+                                * Fires in the Install Themes list table header.
+                                *
+                                * @since 2.8.0
+                                */
+                               do_action( 'install_themes_table_header' );
+                               ?>
                        </div>
                        <?php $this->pagination( 'top' ); ?>
                        <br class="clear" />
@@ -192,7 +227,7 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
                $preview_url   = add_query_arg( array(
                        'tab'   => 'theme-information',
                        'theme' => $theme->slug,
-               ) );
+               ), self_admin_url( 'theme-install.php' ) );
 
                $actions = array();
 
@@ -224,6 +259,15 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 
                $actions[] = '<a class="install-theme-preview" href="' . esc_url( $preview_url ) . '" title="' . esc_attr( sprintf( __( 'Preview %s' ), $name ) ) . '">' . __( 'Preview' ) . '</a>';
 
+               /**
+                * Filter the install action links for a theme in the Install Themes list table.
+                *
+                * @since 3.4.0
+                *
+                * @param array    $actions An array of theme action hyperlinks. Defaults are
+                *                          links to Install Now, Preview, and Details.
+                * @param WP_Theme $theme   Theme object.
+                */
                $actions = apply_filters( 'theme_install_actions', $actions, $theme );
 
                ?>
@@ -358,7 +402,7 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
        /**
         * Send required variables to JavaScript land
         *
-        * @since 3.4
+        * @since 3.4.0
         * @access private
         *
         * @uses $tab Global; current tab within Themes->Install screen
@@ -372,7 +416,7 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
        /**
         * Check to see if the theme is already installed.
         *
-        * @since 3.4
+        * @since 3.4.0
         * @access private
         *
         * @param object $theme - A WordPress.org Theme API object.
index d49d9930b9555607f3b1f996131d4c28ef0f5fb4..be75de02a673324a495e19f3e6b23f5277a31b2f 100644 (file)
@@ -158,7 +158,10 @@ class WP_Themes_List_Table extends WP_List_Table {
                                        . '" onclick="' . "return confirm( '" . esc_js( sprintf( __( "You are about to delete this theme '%s'\n  'Cancel' to stop, 'OK' to delete." ), $title ) )
                                        . "' );" . '">' . __( 'Delete' ) . '</a>';
 
+                       /** This filter is documented in wp-admin/includes/class-wp-ms-themes-list-table.php */
                        $actions       = apply_filters( 'theme_action_links', $actions, $theme );
+
+                       /** This filter is documented in wp-admin/includes/class-wp-ms-themes-list-table.php */
                        $actions       = apply_filters( "theme_action_links_$stylesheet", $actions, $theme );
                        $delete_action = isset( $actions['delete'] ) ? '<div class="delete-theme">' . $actions['delete'] . '</div>' : '';
                        unset( $actions['delete'] );
@@ -219,8 +222,9 @@ class WP_Themes_List_Table extends WP_List_Table {
 
                        foreach ( array( 'Name', 'Description', 'Author', 'AuthorURI' ) as $header ) {
                                // Don't mark up; Do translate.
-                               if ( false !== stripos( $theme->display( $header, false, true ), $word ) )
+                               if ( false !== stripos( strip_tags( $theme->display( $header, false, true ) ), $word ) ) {
                                        continue 2;
+                               }
                        }
 
                        if ( false !== stripos( $theme->get_stylesheet(), $word ) )
@@ -238,7 +242,7 @@ class WP_Themes_List_Table extends WP_List_Table {
        /**
         * Send required variables to JavaScript land
         *
-        * @since 3.4
+        * @since 3.4.0
         * @access private
         *
         * @uses $this->features Array of all feature search terms.
index 71a1293e8bb370c16cfed86116ea9d6c9264a431..8c4840764271203981accd913bd917d160228137 100644 (file)
@@ -65,7 +65,7 @@ class WP_Upgrader_Skin {
                } elseif ( is_wp_error($errors) && $errors->get_error_code() ) {
                        foreach ( $errors->get_error_messages() as $message ) {
                                if ( $errors->get_error_data() && is_string( $errors->get_error_data() ) )
-                                       $this->feedback($message . ' ' . esc_html( $errors->get_error_data() ) );
+                                       $this->feedback($message . ' ' . esc_html( strip_tags( $errors->get_error_data() ) ) );
                                else
                                        $this->feedback($message);
                        }
@@ -92,6 +92,26 @@ class WP_Upgrader_Skin {
        function before() {}
        function after() {}
 
+       /**
+        * Output JavaScript that calls function to decrement the update counts.
+        *
+        * @since 3.9.0
+        *
+        * @param string $type Type of update count to decrement. Likely values include 'plugin',
+        *                     'theme', 'translation', etc.
+        */
+       protected function decrement_update_count( $type ) {
+               if ( ! $this->result || is_wp_error( $this->result ) || 'up_to_date' === $this->result ) {
+                       return;
+               }
+               echo '<script type="text/javascript">
+                               (function( wp ) {
+                                       if ( wp && wp.updates.decrementCount ) {
+                                               wp.updates.decrementCount( "' . $type . '" );
+                                       }
+                               })( window.wp );
+                       </script>';
+       }
 }
 
 /**
@@ -124,6 +144,8 @@ class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
                        echo '<iframe style="border:0;overflow:hidden" width="100%" height="170px" src="' . wp_nonce_url('update.php?action=activate-plugin&networkwide=' . $this->plugin_network_active . '&plugin=' . urlencode( $this->plugin ), 'activate-plugin_' . $this->plugin) .'"></iframe>';
                }
 
+               $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>'
@@ -131,7 +153,16 @@ class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
                if ( $this->plugin_active || ! $this->result || is_wp_error( $this->result ) || ! current_user_can( 'activate_plugins' ) )
                        unset( $update_actions['activate_plugin'] );
 
-               $update_actions = apply_filters('update_plugin_complete_actions', $update_actions, $this->plugin);
+               /**
+                * Filter the list of action links available following a single plugin update.
+                *
+                * @since 2.7.0
+                *
+                * @param array  $update_actions Array of plugin action links.
+                * @param string $plugin         Path to the plugin file.
+                */
+               $update_actions = apply_filters( 'update_plugin_complete_actions', $update_actions, $this->plugin );
+
                if ( ! empty($update_actions) )
                        $this->feedback(implode(' | ', (array)$update_actions));
        }
@@ -198,7 +229,7 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
                if ( is_wp_error($error) ) {
                        foreach ( $error->get_error_messages() as $emessage ) {
                                if ( $error->get_error_data() && is_string( $error->get_error_data() ) )
-                                       $messages[] = $emessage . ' ' . esc_html( $error->get_error_data() );
+                                       $messages[] = $emessage . ' ' . esc_html( strip_tags( $error->get_error_data() ) );
                                else
                                        $messages[] = $emessage;
                        }
@@ -252,6 +283,25 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
                wp_ob_end_flush_all();
                flush();
        }
+
+       /**
+        * Output JavaScript that sends message to parent window to decrement the update counts.
+        *
+        * @since 3.9.0
+        *
+        * @param string $type Type of update count to decrement. Likely values include 'plugin',
+        *                     'theme', 'translation', etc.
+        */
+       protected function decrement_update_count( $type ) {
+               if ( ! $this->result || is_wp_error( $this->result ) || 'up_to_date' === $this->result ) {
+                       return;
+               }
+               echo '<script type="text/javascript">
+                               if ( window.postMessage && JSON ) {
+                                       window.parent.postMessage( JSON.stringify( { action: "decrementUpdateCount", upgradeType: "' . $type . '" } ), window.location.protocol + "//" + window.location.hostname );
+                               }
+                       </script>';
+       }
 }
 
 class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin {
@@ -272,6 +322,7 @@ class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin {
 
        function after($title = '') {
                parent::after($this->plugin_info['Title']);
+               $this->decrement_update_count( 'plugin' );
        }
        function bulk_footer() {
                parent::bulk_footer();
@@ -282,7 +333,16 @@ class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin {
                if ( ! current_user_can( 'activate_plugins' ) )
                        unset( $update_actions['plugins_page'] );
 
-               $update_actions = apply_filters('update_bulk_plugins_complete_actions', $update_actions, $this->plugin_info);
+               /**
+                * Filter the list of action links available following bulk plugin updates.
+                *
+                * @since 3.0.0
+                *
+                * @param array $update_actions Array of plugin action links.
+                * @param array $plugin_info    Array of information for the last-updated plugin.
+                */
+               $update_actions = apply_filters( 'update_bulk_plugins_complete_actions', $update_actions, $this->plugin_info );
+
                if ( ! empty($update_actions) )
                        $this->feedback(implode(' | ', (array)$update_actions));
        }
@@ -306,6 +366,7 @@ class Bulk_Theme_Upgrader_Skin extends Bulk_Upgrader_Skin {
 
        function after($title = '') {
                parent::after( $this->theme_info->display('Name') );
+               $this->decrement_update_count( 'theme' );
        }
 
        function bulk_footer() {
@@ -317,7 +378,16 @@ class Bulk_Theme_Upgrader_Skin extends Bulk_Upgrader_Skin {
                if ( ! current_user_can( 'switch_themes' ) && ! current_user_can( 'edit_theme_options' ) )
                        unset( $update_actions['themes_page'] );
 
-               $update_actions = apply_filters('update_bulk_theme_complete_actions', $update_actions, $this->theme_info );
+               /**
+                * Filter the list of action links available following bulk theme updates.
+                *
+                * @since 3.0.0
+                *
+                * @param array $update_actions Array of theme action links.
+                * @param array $theme_info     Array of information for the last-updated theme.
+                */
+               $update_actions = apply_filters( 'update_bulk_theme_complete_actions', $update_actions, $this->theme_info );
+
                if ( ! empty($update_actions) )
                        $this->feedback(implode(' | ', (array)$update_actions));
        }
@@ -380,7 +450,19 @@ class Plugin_Installer_Skin extends WP_Upgrader_Skin {
                        unset( $install_actions['activate_plugin'] );
                }
 
-               $install_actions = apply_filters('install_plugin_complete_actions', $install_actions, $this->api, $plugin_file);
+               /**
+                * Filter the list of action links available following a single plugin installation.
+                *
+                * @since 2.7.0
+                *
+                * @param array  $install_actions Array of plugin action links.
+                * @param object $api             Object containing WordPress.org API plugin data. Empty
+                *                                for non-API installs, such as when a plugin is installed
+                *                                via upload.
+                * @param string $plugin_file     Path to the plugin file.
+                */
+               $install_actions = apply_filters( 'install_plugin_complete_actions', $install_actions, $this->api, $plugin_file );
+
                if ( ! empty($install_actions) )
                        $this->feedback(implode(' | ', (array)$install_actions));
        }
@@ -453,7 +535,17 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin {
                if ( ! $this->result || is_wp_error($this->result) || is_network_admin() || ! current_user_can( 'switch_themes' ) )
                        unset( $install_actions['activate'], $install_actions['preview'] );
 
-               $install_actions = apply_filters('install_theme_complete_actions', $install_actions, $this->api, $stylesheet, $theme_info);
+               /**
+                * Filter the list of action links available following a single theme installation.
+                *
+                * @since 2.8.0
+                *
+                * @param array    $install_actions Array of theme action links.
+                * @param object   $api             Object containing WordPress.org API theme data.
+                * @param string   $stylesheet      Theme directory name.
+                * @param WP_Theme $theme_info      Theme object.
+                */
+               $install_actions = apply_filters( 'install_theme_complete_actions', $install_actions, $this->api, $stylesheet, $theme_info );
                if ( ! empty($install_actions) )
                        $this->feedback(implode(' | ', (array)$install_actions));
        }
@@ -479,6 +571,7 @@ class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
        }
 
        function after() {
+               $this->decrement_update_count( 'theme' );
 
                $update_actions = array();
                if ( ! empty( $this->upgrader->result['destination_name'] ) && $theme_info = $this->upgrader->theme_info() ) {
@@ -514,7 +607,16 @@ class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
 
                $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 = apply_filters('update_theme_complete_actions', $update_actions, $this->theme);
+               /**
+                * Filter the list of action links available following a single theme update.
+                *
+                * @since 2.8.0
+                *
+                * @param array  $update_actions Array of theme action links.
+                * @param string $theme          Theme directory name.
+                */
+               $update_actions = apply_filters( 'update_theme_complete_actions', $update_actions, $this->theme );
+
                if ( ! empty($update_actions) )
                        $this->feedback(implode(' | ', (array)$update_actions));
        }
@@ -561,8 +663,17 @@ class Language_Pack_Upgrader_Skin extends WP_Upgrader_Skin {
        }
 
        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>';
+
+               /**
+                * Filter the list of action links available following a translations update.
+                *
+                * @since 3.7.0
+                *
+                * @param array $update_actions Array of translations update links.
+                */
                $update_actions = apply_filters( 'update_translations_complete_actions', $update_actions );
 
                if ( $update_actions && $this->display_footer_actions )
index af00d4ae33a91e182b3782ff5a4b79b55bc38506..6db2c2772573b182e36c94933b425a5d6454b73c 100644 (file)
@@ -113,9 +113,10 @@ class WP_Upgrader {
                 *
                 * @since 3.7.0
                 *
-                * @param bool    $reply   Whether to bail without returning the package. Default is false.
-                * @param string  $package The package file name.
-                * @param object  $this    The WP_Upgrader instance.
+                * @param bool        $reply   Whether to bail without returning the package.
+                *                             Default false.
+                * @param string      $package The package file name.
+                * @param WP_Upgrader $this    The WP_Upgrader instance.
                 */
                $reply = apply_filters( 'upgrader_pre_download', false, $package, $this );
                if ( false !== $reply )
@@ -198,7 +199,19 @@ class WP_Upgrader {
 
                $this->skin->feedback('installing_package');
 
-               $res = apply_filters('upgrader_pre_install', true, $hook_extra);
+               /**
+                * Filter the install response before the installation has started.
+                *
+                * Returning a truthy value, or one that could be evaluated as a WP_Error
+                * will effectively short-circuit the installation, returning that value
+                * instead.
+                *
+                * @since 2.8.0
+                *
+                * @param bool|WP_Error $response   Response.
+                * @param array         $hook_extra Extra arguments passed to hooked filters.
+                */
+               $res = apply_filters( 'upgrader_pre_install', true, $hook_extra );
                if ( is_wp_error($res) )
                        return $res;
 
@@ -217,8 +230,16 @@ class WP_Upgrader {
                else //It's only a single file, the upgrader will use the foldername of this file as the destination folder. foldername is based on zip filename.
                        $source = trailingslashit($source);
 
-               //Hook ability to change the source file location..
-               $source = apply_filters('upgrader_source_selection', $source, $remote_source, $this);
+               /**
+                * Filter the source file location for the upgrade package.
+                *
+                * @since 2.8.0
+                *
+                * @param string      $source        File source location.
+                * @param string      $remote_source Remove file source location.
+                * @param WP_Upgrader $this          WP_Upgrader instance.
+                */
+               $source = apply_filters( 'upgrader_source_selection', $source, $remote_source, $this );
                if ( is_wp_error($source) )
                        return $source;
 
@@ -243,7 +264,18 @@ class WP_Upgrader {
                        $removed = true;
                        if ( $wp_filesystem->exists($remote_destination) )
                                $removed = $wp_filesystem->delete($remote_destination, true);
-                       $removed = apply_filters('upgrader_clear_destination', $removed, $local_destination, $remote_destination, $hook_extra);
+
+                       /**
+                        * Filter whether the upgrader cleared the destination.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param bool   $removed            Whether the destination was cleared.
+                        * @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, $hook_extra );
 
                        if ( is_wp_error($removed) )
                                return $removed;
@@ -282,7 +314,17 @@ class WP_Upgrader {
 
                $this->result = compact('local_source', 'source', 'source_name', 'source_files', 'destination', 'destination_name', 'local_destination', 'remote_destination', 'clear_destination', 'delete_source_dir');
 
-               $res = apply_filters('upgrader_post_install', true, $hook_extra, $this->result);
+               /**
+                * Filter the install response after the installation has finished.
+                *
+                * @since 2.8.0
+                *
+                * @param bool  $response   Install response.
+                * @param array $hook_extra Extra arguments passed to hooked filters.
+                * @param array $result     Installation result data.
+                */
+               $res = apply_filters( 'upgrader_post_install', true, $hook_extra, $this->result );
+
                if ( is_wp_error($res) ) {
                        $this->result = $res;
                        return $res;
@@ -373,6 +415,8 @@ class WP_Upgrader {
                $this->skin->after();
 
                if ( ! $is_multi ) {
+
+                       /** This action is documented in wp-admin/includes/class-wp-upgrader.php */
                        do_action( 'upgrader_process_complete', $this, $hook_extra );
                        $this->skin->footer();
                }
@@ -560,7 +604,7 @@ class Plugin_Upgrader extends WP_Upgrader {
                        $this->skin->plugin_info = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin, false, true);
 
                        if ( !isset( $current->response[ $plugin ] ) ) {
-                               $this->skin->set_result(true);
+                               $this->skin->set_result('up_to_date');
                                $this->skin->before();
                                $this->skin->feedback('up_to_date');
                                $this->skin->after();
@@ -593,6 +637,22 @@ class Plugin_Upgrader extends WP_Upgrader {
 
                $this->maintenance_mode(false);
 
+               /**
+                * Fires when the bulk upgrader process is complete.
+                *
+                * @since 3.6.0
+                *
+                * @param Plugin_Upgrader $this Plugin_Upgrader instance. In other contexts, $this, might
+                *                              be a Theme_Upgrader or Core_Upgrade instance.
+                * @param array           $data {
+                *     Array of bulk item update data.
+                *
+                *     @type string $action   Type of action. Default 'update'.
+                *     @type string $type     Type of update process. Accepts 'plugin', 'theme', or 'core'.
+                *     @type bool   $bulk     Whether the update process is a bulk update. Default true.
+                *     @type array  $packages Array of plugin, theme, or core packages to update.
+                * }
+                */
                do_action( 'upgrader_process_complete', $this, array(
                        'action' => 'update',
                        'type' => 'plugin',
@@ -863,7 +923,7 @@ class Theme_Upgrader extends WP_Upgrader {
                if ( !isset( $current->response[ $theme ] ) ) {
                        $this->skin->before();
                        $this->skin->set_result(false);
-                       $this->skin->error('up_to_date');
+                       $this->skin->error( 'up_to_date' );
                        $this->skin->after();
                        return false;
                }
@@ -948,7 +1008,7 @@ class Theme_Upgrader extends WP_Upgrader {
                        if ( !isset( $current->response[ $theme ] ) ) {
                                $this->skin->set_result(true);
                                $this->skin->before();
-                               $this->skin->feedback('up_to_date');
+                               $this->skin->feedback( 'up_to_date' );
                                $this->skin->after();
                                $results[$theme] = true;
                                continue;
@@ -976,6 +1036,7 @@ class Theme_Upgrader extends WP_Upgrader {
 
                $this->maintenance_mode(false);
 
+               /** This action is documented in wp-admin/includes/class-wp-upgrader.php */
                do_action( 'upgrader_process_complete', $this, array(
                        'action' => 'update',
                        'type' => 'theme',
@@ -1346,10 +1407,12 @@ class Core_Upgrader extends WP_Upgrader {
                elseif ( $parsed_args['pre_check_md5'] && ! $this->check_files() )
                        $partial = false;
 
-               // If partial update is returned from the API, use that, unless we're doing a reinstall.
-               // If we cross the new_bundled version number, then use the new_bundled zip.
-               // Don't though if the constant is set to skip bundled items.
-               // If the API returns a no_content zip, go with it. Finally, default to the full zip.
+               /*
+                * If partial update is returned from the API, use that, unless we're doing
+                * a reinstall. If we cross the new_bundled version number, then use
+                * the new_bundled zip. Don't though if the constant is set to skip bundled items.
+                * If the API returns a no_content zip, go with it. Finally, default to the full zip.
+                */
                if ( $parsed_args['do_rollback'] && $current->packages->rollback )
                        $to_download = 'rollback';
                elseif ( $current->packages->partial && 'reinstall' != $current->response && $wp_version == $current->partial_version && $partial )
@@ -1401,7 +1464,10 @@ class Core_Upgrader extends WP_Upgrader {
                        }
 
                        if ( $try_rollback ) {
+                               /** This filter is documented in wp-admin/includes/update-core.php */
                                apply_filters( 'update_feedback', $result );
+
+                               /** This filter is documented in wp-admin/includes/update-core.php */
                                apply_filters( 'update_feedback', $this->strings['start_rollback'] );
 
                                $rollback_result = $this->upgrade( $current, array_merge( $parsed_args, array( 'do_rollback' => true ) ) );
@@ -1411,6 +1477,7 @@ class Core_Upgrader extends WP_Upgrader {
                        }
                }
 
+               /** This action is documented in wp-admin/includes/class-wp-upgrader.php */
                do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'core' ) );
 
                // Clear the current updates
@@ -1506,18 +1573,45 @@ class Core_Upgrader extends WP_Upgrader {
 
                // 3: 3.7-alpha-25000 -> 3.7-alpha-25678 -> 3.7-beta1 -> 3.7-beta2
                if ( $current_is_development_version ) {
+
+                       /**
+                        * Filter whether to enable automatic core updates for development versions.
+                        *
+                        * @since 3.7.0
+                        *
+                        * @param bool $upgrade_dev Whether to enable automatic updates for
+                        *                          development versions.
+                        */
                        if ( ! apply_filters( 'allow_dev_auto_core_updates', $upgrade_dev ) )
                                return false;
                        // else fall through to minor + major branches below
                }
 
                // 4: Minor In-branch updates (3.7.0 -> 3.7.1 -> 3.7.2 -> 3.7.4)
-               if ( $current_branch == $new_branch )
+               if ( $current_branch == $new_branch ) {
+
+                       /**
+                        * Filter whether to enable minor automatic core updates.
+                        *
+                        * @since 3.7.0
+                        *
+                        * @param bool $upgrade_minor Whether to enable minor automatic core updates.
+                        */
                        return apply_filters( 'allow_minor_auto_core_updates', $upgrade_minor );
+               }
 
                // 5: Major version updates (3.7.0 -> 3.8.0 -> 3.9.1)
-               if ( version_compare( $new_branch, $current_branch, '>' ) )
+               if ( version_compare( $new_branch, $current_branch, '>' ) ) {
+
+                       /**
+                        * Filter whether to enable major automatic core updates.
+                        *
+                        * @since 3.7.0
+                        *
+                        * @param bool $upgrade_major Whether to enable major automatic core updates.
+                        */
                        return apply_filters( 'allow_major_auto_core_updates', $upgrade_major );
+               }
 
                // If we're not sure, we don't want it
                return false;
@@ -1658,6 +1752,7 @@ class WP_Automatic_Updater {
                 * This also disables update notification emails. That may change in the future.
                 *
                 * @since 3.7.0
+                *
                 * @param bool $disabled Whether the updater should be disabled.
                 */
                return apply_filters( 'automatic_updater_disabled', $disabled );
@@ -1711,13 +1806,15 @@ class WP_Automatic_Updater {
                }
 
                /**
-                * Filter whether the automatic updater should consider a filesystem location to be potentially
-                * managed by a version control system.
+                * Filter whether the automatic updater should consider a filesystem
+                * location to be potentially managed by a version control system.
                 *
                 * @since 3.7.0
                 *
-                * @param bool $checkout  Whether a VCS checkout was discovered at $context or ABSPATH, or anywhere higher.
-                * @param string $context The filesystem context (a path) against which filesystem status should be checked.
+                * @param bool $checkout  Whether a VCS checkout was discovered at $context
+                *                        or ABSPATH, or anywhere higher.
+                * @param string $context The filesystem context (a path) against which
+                *                        filesystem status should be checked.
                 */
                return apply_filters( 'automatic_updates_is_vcs_checkout', $checkout, $context );
        }
@@ -1727,10 +1824,11 @@ class WP_Automatic_Updater {
         *
         * @since 3.7.0
         *
-        * @param string $type    The type of update being checked: 'core', 'theme', 'plugin', 'translation'.
+        * @param string $type    The type of update being checked: 'core', 'theme',
+        *                        'plugin', 'translation'.
         * @param object $item    The update offer.
-        * @param string $context The filesystem context (a path) against which filesystem access and status
-        *                        should be checked.
+        * @param string $context The filesystem context (a path) against which filesystem
+        *                        access and status should be checked.
         */
        public function should_update( $type, $item, $context ) {
                // Used to see if WP_Filesystem is set up to allow unattended updates.
@@ -1758,11 +1856,13 @@ class WP_Automatic_Updater {
                 * The dynamic portion of the hook name, $type, refers to the type of update
                 * being checked. Can be 'core', 'theme', 'plugin', or 'translation'.
                 *
-                * Generally speaking, plugins, themes, and major core versions are not updated by default,
-                * while translations and minor and development versions for core are updated by default.
+                * Generally speaking, plugins, themes, and major core versions are not updated
+                * by default, while translations and minor and development versions for core
+                * are updated by default.
                 *
-                * See the filters allow_dev_auto_core_updates, allow_minor_auto_core_updates, and
-                * allow_major_auto_core_updates more straightforward filters to adjust core updates.
+                * See the allow_dev_auto_core_updates, allow_minor_auto_core_updates, and
+                * allow_major_auto_core_updates filters for a more straightforward way to
+                * adjust core updates.
                 *
                 * @since 3.7.0
                 *
@@ -1813,20 +1913,23 @@ class WP_Automatic_Updater {
                $notify = ! empty( $item->notify_email );
 
                /**
-                * Whether to notify the site administrator of a new core update.
+                * Filter whether to notify the site administrator of a new core update.
                 *
-                * By default, administrators are notified when the update offer received from WordPress.org
-                * sets a particular flag. This allows for discretion in if and when to notify.
+                * By default, administrators are notified when the update offer received
+                * from WordPress.org sets a particular flag. This allows some discretion
+                * in if and when to notify.
                 *
-                * This filter only fires once per release -- if the same email address was already
-                * notified of the same new version, we won't repeatedly email the administrator.
+                * This filter is only evaluated once per release. If the same email address
+                * was already notified of the same new version, WordPress won't repeatedly
+                * email the administrator.
                 *
-                * This filter is also used on about.php to check if a plugin has disabled these notifications.
+                * This filter is also used on about.php to check if a plugin has disabled
+                * these notifications.
                 *
                 * @since 3.7.0
                 *
-                * @param bool $notify Whether the site administrator is notified.
-                * @param object $item The update offer.
+                * @param bool   $notify Whether the site administrator is notified.
+                * @param object $item   The update offer.
                 */
                if ( ! apply_filters( 'send_core_update_notification_email', $notify, $item ) )
                        return false;
@@ -1859,7 +1962,7 @@ class WP_Automatic_Updater {
                                break;
                        case 'theme':
                                $upgrader = new Theme_Upgrader( $skin );
-                               $context  = get_theme_root( $item );
+                               $context  = get_theme_root( $item->theme );
                                break;
                        case 'translation':
                                $upgrader = new Language_Pack_Upgrader( $skin );
@@ -2034,11 +2137,14 @@ class WP_Automatic_Updater {
                // Send debugging email to all development installs.
                if ( ! empty( $this->update_results ) ) {
                        $development_version = false !== strpos( $wp_version, '-' );
+
                        /**
                         * Filter whether to send a debugging email for each automatic background update.
                         *
                         * @since 3.7.0
-                        * @param bool $development_version By default, emails are sent if the install is a development version.
+                        *
+                        * @param bool $development_version By default, emails are sent if the
+                        *                                  install is a development version.
                         *                                  Return false to avoid the email.
                         */
                        if ( apply_filters( 'automatic_updates_send_debug_email', $development_version ) )
@@ -2048,12 +2154,12 @@ class WP_Automatic_Updater {
                                $this->after_core_update( $this->update_results['core'][0] );
 
                        /**
-                        * Action triggered after all automatic updates have run.
-                        *
-                        * @since 3.8.0
-                        *
-                        * @param array $update_results The results of all attempted updates.
-                        */
+                        * Fires after all automatic updates have run.
+                        *
+                        * @since 3.8.0
+                        *
+                        * @param array $update_results The results of all attempted updates.
+                        */
                        do_action( 'automatic_updates_complete', $this->update_results );
                }
 
@@ -2176,7 +2282,8 @@ class WP_Automatic_Updater {
                 * @since 3.7.0
                 *
                 * @param bool   $send        Whether to send the email. Default true.
-                * @param string $type        The type of email to send. Can be one of 'success', 'fail', 'critical'.
+                * @param string $type        The type of email to send. Can be one of
+                *                            'success', 'fail', 'critical'.
                 * @param object $core_update The update offer that was attempted.
                 * @param mixed  $result      The result for the core update. Can be WP_Error.
                 */
@@ -2258,13 +2365,24 @@ class WP_Automatic_Updater {
                                break;
                }
 
+               $critical_support = 'critical' === $type && ! empty( $core_update->support_email );
+               if ( $critical_support ) {
+                       // Support offer if available.
+                       $body .= "\n\n" . sprintf( __( "The WordPress team is willing to help you. Forward this email to %s and the team will work with you to make sure your site is working." ), $core_update->support_email );
+               } else {
+                       // Add a note about the support forums.
+                       $body .= "\n\n" . __( 'If you experience any issues or need support, the volunteers in the WordPress.org support forums may be able to help.' );
+                       $body .= "\n" . __( 'https://wordpress.org/support/' );
+               }
+
                // Updates are important!
-               if ( $type != 'success' || $newer_version_available )
+               if ( $type != 'success' || $newer_version_available ) {
                        $body .= "\n\n" . __( 'Keeping your site updated is important for security. It also makes the internet a safer place for you and your readers.' );
+               }
 
-               // Add a note about the support forums to all emails.
-               $body .= "\n\n" . __( 'If you experience any issues or need support, the volunteers in the WordPress.org support forums may be able to help.' );
-               $body .= "\n" . __( 'http://wordpress.org/support/' );
+               if ( $critical_support ) {
+                       $body .= " " . __( "If you reach out to us, we'll also ensure you'll never have this problem again." );
+               }
 
                // If things are successful and we're now on the latest, mention plugins and themes if any are out of date.
                if ( $type == 'success' && ! $newer_version_available && ( get_plugin_updates() || get_theme_updates() ) ) {
@@ -2307,6 +2425,7 @@ class WP_Automatic_Updater {
                $headers = '';
 
                $email = compact( 'to', 'subject', 'body', 'headers' );
+
                /**
                 * Filter the email sent following an automatic background core update.
                 *
@@ -2315,18 +2434,20 @@ class WP_Automatic_Updater {
                 * @param array $email {
                 *     Array of email arguments that will be passed to wp_mail().
                 *
-                *     @type string $to      The email recipient. An array of emails can be returned, as handled by wp_mail().
+                *     @type string $to      The email recipient. An array of emails
+                *                            can be returned, as handled by wp_mail().
                 *     @type string $subject The email's subject.
                 *     @type string $body    The email message body.
                 *     @type string $headers Any email headers, defaults to no headers.
                 * }
-                * @param string $type        The type of email being sent. Can be one of 'success', 'fail', 'manual', 'critical'.
+                * @param string $type        The type of email being sent. Can be one of
+                *                            'success', 'fail', 'manual', 'critical'.
                 * @param object $core_update The update offer that was attempted.
                 * @param mixed  $result      The result for the core update. Can be WP_Error.
                 */
                $email = apply_filters( 'auto_core_update_email', $email, $type, $core_update, $result );
 
-               wp_mail( $email['to'], $email['subject'], $email['body'], $email['headers'] );
+               wp_mail( $email['to'], wp_specialchars_decode( $email['subject'] ), $email['body'], $email['headers'] );
        }
 
        /**
@@ -2401,7 +2522,7 @@ BETA TESTING?
 This debugging email is sent when you are using a development version of WordPress.
 
 If you think these failures might be due to a bug in WordPress, could you report it?
- * Open a thread in the support forums: http://wordpress.org/support/forum/alphabeta
+ * Open a thread in the support forums: https://wordpress.org/support/forum/alphabeta
  * Or, if you're comfortable writing a bug report: http://core.trac.wordpress.org/
 
 Thanks! -- The WordPress Team" );
@@ -2411,8 +2532,9 @@ Thanks! -- The WordPress Team" );
                        $subject = sprintf( __( '[%s] Background updates have finished' ), $site_title );
                }
 
-               $body[] = __( 'UPDATE LOG' );
-               $body[] = '==========';
+               $title = __( 'UPDATE LOG' );
+               $body[] = $title;
+               $body[] = str_repeat( '=', strlen( $title ) );
                $body[] = '';
 
                foreach ( array( 'core', 'plugin', 'theme', 'translation' ) as $type ) {
@@ -2456,15 +2578,16 @@ Thanks! -- The WordPress Team" );
                );
 
                /**
-                * Filter the debug email that can be sent following an automatic background core update.
+                * Filter the debug email that can be sent following an automatic
+                * background core update.
                 *
                 * @since 3.8.0
                 *
                 * @param array $email {
                 *     Array of email arguments that will be passed to wp_mail().
                 *
-                *     @type string $to      The email recipient. An array of emails can be returned,
-                *                           as handled by wp_mail().
+                *     @type string $to      The email recipient. An array of emails
+                *                           can be returned, as handled by wp_mail().
                 *     @type string $subject Email subject.
                 *     @type string $body    Email message body.
                 *     @type string $headers Any email headers. Default empty.
@@ -2474,6 +2597,6 @@ Thanks! -- The WordPress Team" );
                 */
                $email = apply_filters( 'automatic_updates_debug_email', $email, $failures, $this->update_results );
 
-               wp_mail( $email['to'], $email['subject'], $email['body'], $email['headers'] );
+               wp_mail( $email['to'], wp_specialchars_decode( $email['subject'] ), $email['body'], $email['headers'] );
        }
 }
index 48c9c0c2568955b3168488e47d984f420b4f2ac6..dcce6d555adfb9335eaa16801632ef3cbf2d78e5 100644 (file)
@@ -2,16 +2,38 @@
 /**
  * Users List Table class.
  *
- * @package WordPress
- * @subpackage List_Table
  * @since 3.1.0
  * @access private
+ *
+ * @package WordPress
+ * @subpackage List_Table
  */
 class WP_Users_List_Table extends WP_List_Table {
 
+       /**
+        * Site ID to generate the Users list table for.
+        *
+        * @since 3.1.0
+        * @access public
+        * @var int
+        */
        var $site_id;
+
+       /**
+        * Whether or not the current Users list table is for Multisite.
+        *
+        * @since 3.1.0
+        * @access public
+        * @var bool
+        */
        var $is_site_users;
 
+       /**
+        * Constructor.
+        *
+        * @since 3.1.0
+        * @access public
+        */
        function __construct( $args = array() ) {
                parent::__construct( array(
                        'singular' => 'user',
@@ -25,6 +47,12 @@ class WP_Users_List_Table extends WP_List_Table {
                        $this->site_id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0;
        }
 
+       /**
+        * Check the current user's permissions.
+        *
+        * @since 3.1.0
+        * @access public
+        */
        function ajax_user_can() {
                if ( $this->is_site_users )
                        return current_user_can( 'manage_sites' );
@@ -32,10 +60,16 @@ class WP_Users_List_Table extends WP_List_Table {
                        return current_user_can( 'list_users' );
        }
 
+       /**
+        * Prepare the users list for display.
+        *
+        * @since 3.1.0
+        * @access public
+        */
        function prepare_items() {
                global $role, $usersearch;
 
-               $usersearch = isset( $_REQUEST['s'] ) ? trim( $_REQUEST['s'] ) : '';
+               $usersearch = isset( $_REQUEST['s'] ) ? wp_unslash( trim( $_REQUEST['s'] ) ) : '';
 
                $role = isset( $_REQUEST['role'] ) ? $_REQUEST['role'] : '';
 
@@ -75,10 +109,28 @@ class WP_Users_List_Table extends WP_List_Table {
                ) );
        }
 
+       /**
+        * Output 'no users' message.
+        *
+        * @since 3.1.0
+        * @access public
+        */
        function no_items() {
                _e( 'No matching users were found.' );
        }
 
+       /**
+        * Return an associative array listing all the views that can be used
+        * with this table.
+        *
+        * Provides a list of roles and user count for that role for easy
+        * filtering of the user table.
+        *
+        * @since  3.1.0
+        * @access public
+        *
+        * @return array An array of HTML links, one for each view.
+        */
        function get_views() {
                global $wp_roles, $role;
 
@@ -119,6 +171,14 @@ class WP_Users_List_Table extends WP_List_Table {
                return $role_links;
        }
 
+       /**
+        * Retrieve an associative array of bulk actions available on this table.
+        *
+        * @since  3.1.0
+        * @access public
+        *
+        * @return array Array of bulk actions.
+        */
        function get_bulk_actions() {
                $actions = array();
 
@@ -133,6 +193,15 @@ class WP_Users_List_Table extends WP_List_Table {
                return $actions;
        }
 
+       /**
+        * Output the controls to allow user roles to be changed in bulk.
+        *
+        * @since 3.1.0
+        * @access public
+        *
+        * @param string $which Whether this is being invoked above ("top")
+        *                      or below the table ("bottom").
+        */
        function extra_tablenav( $which ) {
                if ( 'top' != $which )
                        return;
@@ -148,10 +217,27 @@ class WP_Users_List_Table extends WP_List_Table {
                        submit_button( __( 'Change' ), 'button', 'changeit', false );
                endif;
 
+               /**
+                * Fires just before the closing div containing the bulk role-change controls
+                * in the Users list table.
+                *
+                * @since 3.5.0
+                */
                do_action( 'restrict_manage_users' );
                echo '</div>';
        }
 
+       /**
+        * Capture the bulk action required, and return it.
+        *
+        * Overridden from the base class implementation to capture
+        * the role change drop-down.
+        *
+        * @since  3.1.0
+        * @access public
+        *
+        * @return string The bulk action required.
+        */
        function current_action() {
                if ( isset($_REQUEST['changeit']) && !empty($_REQUEST['new_role']) )
                        return 'promote';
@@ -159,6 +245,15 @@ class WP_Users_List_Table extends WP_List_Table {
                return parent::current_action();
        }
 
+       /**
+        * Get a list of columns for the list table.
+        *
+        * @since  3.1.0
+        * @access public
+        *
+        * @return array Array in which the key is the ID of the column,
+        *               and the value is the description.
+        */
        function get_columns() {
                $c = array(
                        'cb'       => '<input type="checkbox" />',
@@ -175,6 +270,14 @@ class WP_Users_List_Table extends WP_List_Table {
                return $c;
        }
 
+       /**
+        * Get a list of sortable columns for the list table.
+        *
+        * @since 3.1.0
+        * @access public
+        *
+        * @return array Array of sortable columns.
+        */
        function get_sortable_columns() {
                $c = array(
                        'username' => 'login',
@@ -188,6 +291,12 @@ class WP_Users_List_Table extends WP_List_Table {
                return $c;
        }
 
+       /**
+        * Generate the list table rows.
+        *
+        * @since 3.1.0
+        * @access public
+        */
        function display_rows() {
                // Query the post counts for this page
                if ( ! $this->is_site_users )
@@ -216,13 +325,16 @@ class WP_Users_List_Table extends WP_List_Table {
        /**
         * Generate HTML for a single row on the users.php admin panel.
         *
-        * @since 2.1.0
+        * @since 3.1.0
+        * @access public
         *
-        * @param object $user_object
-        * @param string $style Optional. Attributes added to the TR element. Must be sanitized.
-        * @param string $role Key for the $wp_roles array.
-        * @param int $numposts Optional. Post count to display for this user. Defaults to zero, as in, a new user has made zero posts.
-        * @return string
+        * @param object $user_object The current user object.
+        * @param string $style       Optional. Style attributes added to the <tr> element.
+        *                            Must be sanitized. Default empty.
+        * @param string $role        Optional. Key for the $wp_roles array. Default empty.
+        * @param int    $numposts    Optional. Post count to display for this user. Defaults
+        *                            to zero, as in, a new user has made zero posts.
+        * @return string Output for a single row.
         */
        function single_row( $user_object, $style = '', $role = '', $numposts = 0 ) {
                global $wp_roles;
@@ -257,6 +369,17 @@ class WP_Users_List_Table extends WP_List_Table {
                                $actions['delete'] = "<a class='submitdelete' href='" . wp_nonce_url( "users.php?action=delete&amp;user=$user_object->ID", 'bulk-users' ) . "'>" . __( 'Delete' ) . "</a>";
                        if ( is_multisite() && get_current_user_id() != $user_object->ID && current_user_can( 'remove_user', $user_object->ID ) )
                                $actions['remove'] = "<a class='submitdelete' href='" . wp_nonce_url( $url."action=remove&amp;user=$user_object->ID", 'bulk-users' ) . "'>" . __( 'Remove' ) . "</a>";
+
+                       /**
+                        * Filter the action links displayed under each user in the Users list table.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param array   $actions     An array of action links to be displayed.
+                        *                             Default 'Edit', 'Delete' for single site, and
+                        *                             'Edit', 'Remove' for Multisite.
+                        * @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 );
 
@@ -313,6 +436,16 @@ class WP_Users_List_Table extends WP_List_Table {
                                        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>";
                        }
index 0f62ebc7df046cd45292983f5df2872d8401533b..fb50197e17ab4f48091482a75d457c7b295a3c77 100644 (file)
@@ -56,16 +56,56 @@ function wp_dashboard_setup() {
        // WordPress News
        wp_add_dashboard_widget( 'dashboard_primary', __( 'WordPress News' ), 'wp_dashboard_primary' );
 
-       // Hook to register new widgets
-       // Filter widget order
        if ( is_network_admin() ) {
+
+               /**
+                * Fires after core widgets for the Network Admin dashboard have been registered.
+                *
+                * @since 3.1.0
+                */
                do_action( 'wp_network_dashboard_setup' );
+
+               /**
+                * Filter the list of widgets to load for the Network Admin dashboard.
+                *
+                * @since 3.1.0
+                *
+                * @param array $dashboard_widgets An array of dashboard widgets.
+                */
                $dashboard_widgets = apply_filters( 'wp_network_dashboard_widgets', array() );
        } elseif ( is_user_admin() ) {
+
+               /**
+                * Fires after core widgets for the User Admin dashboard have been registered.
+                *
+                * @since 3.1.0
+                */
                do_action( 'wp_user_dashboard_setup' );
+
+               /**
+                * Filter the list of widgets to load for the User Admin dashboard.
+                *
+                * @since 3.1.0
+                *
+                * @param array $dashboard_widgets An array of dashboard widgets.
+                */
                $dashboard_widgets = apply_filters( 'wp_user_dashboard_widgets', array() );
        } else {
+
+               /**
+                * Fires after core widgets for the admin dashboard have been registered.
+                *
+                * @since 2.5.0
+                */
                do_action( 'wp_dashboard_setup' );
+
+               /**
+                * Filter the list of widgets to load for the admin dashboard.
+                *
+                * @since 2.5.0
+                *
+                * @param array $dashboard_widgets An array of dashboard widgets.
+                */
                $dashboard_widgets = apply_filters( 'wp_dashboard_widgets', array() );
        }
 
@@ -87,9 +127,10 @@ function wp_dashboard_setup() {
                update_option( 'dashboard_widget_options', $widget_options );
 
        /** This action is documented in wp-admin/edit-form-advanced.php */
-       do_action('do_meta_boxes', $screen->id, 'normal', '');
+       do_action( 'do_meta_boxes', $screen->id, 'normal', '' );
+
        /** This action is documented in wp-admin/edit-form-advanced.php */
-       do_action('do_meta_boxes', $screen->id, 'side', '');
+       do_action( 'do_meta_boxes', $screen->id, 'side', '' );
 }
 
 function wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_callback = null, $callback_args = null ) {
@@ -165,7 +206,9 @@ function wp_dashboard() {
 
 }
 
-/* Dashboard Widgets */
+//
+// Dashboard Widgets
+//
 
 /**
  * Dashboard widget that displays some basic stats about the site.
@@ -220,40 +263,51 @@ function wp_dashboard_right_now() {
        }
 
        /**
-        * Include additional elements in the 'At a Glance' dashboard widget.
-        * This widget was previously 'Right Now'.
+        * Filter the array of extra elements to list in the 'At a Glance'
+        * dashboard widget.
+        *
+        * Prior to 3.8.0, the widget was named 'Right Now'. Each element
+        * is wrapped in list-item tags on output.
         *
         * @since 3.8.0
-        * @param array $items Array of items.
+        *
+        * @param array $items Array of extra 'At a Glance' widget items.
         */
        $elements = apply_filters( 'dashboard_glance_items', array() );
+
        if ( $elements ) {
                echo '<li>' . implode( "</li>\n<li>", $elements ) . "</li>\n";
        }
 
        ?>
        </ul>
-       <p><?php printf( __( 'WordPress %1$s running %2$s theme.' ), get_bloginfo( 'version', 'display' ), $theme_name ); ?></p>
        <?php
+       update_right_now_message();
 
        // Check if search engines are asked not to index this site.
        if ( ! is_network_admin() && ! is_user_admin() && current_user_can( 'manage_options' ) && '1' != get_option( 'blog_public' ) ) {
 
                /**
-                * Filter the title attribute for the link displayed in Site Content metabox when search engines are discouraged from indexing the site.
+                * Filter the link title attribute for the 'Search Engines Discouraged'
+                * message displayed in the 'At a Glance' dashboard widget.
+                *
+                * Prior to 3.8.0, the widget was named 'Right Now'.
                 *
                 * @since 3.0.0
                 *
-                * @param string Default attribute text.
+                * @param string $title Default attribute text.
                 */
                $title = apply_filters( 'privacy_on_link_title', __( 'Your site is asking search engines not to index its content' ) );
 
                /**
-                * Filter the text for the link displayed in Site Content metabox when search engines are discouraged from indexing the site.
+                * Filter the link label for the 'Search Engines Discouraged' message
+                * displayed in the 'At a Glance' dashboard widget.
+                *
+                * Prior to 3.8.0, the widget was named 'Right Now'.
                 *
                 * @since 3.0.0
                 *
-                * @param string Default text.
+                * @param string $content Default text.
                 */
                $content = apply_filters( 'privacy_on_link_text' , __( 'Search Engines Discouraged' ) );
 
@@ -262,11 +316,30 @@ function wp_dashboard_right_now() {
        ?>
        </div>
        <?php
-       // activity_box_end has a core action, but only prints content when multisite.
-       // Using an output buffer is the only way to really check if anything's displayed here.
+       /*
+        * activity_box_end has a core action, but only prints content when multisite.
+        * Using an output buffer is the only way to really check if anything's displayed here.
+        */
        ob_start();
+
+       /**
+        * Fires at the end of the 'At a Glance' dashboard widget.
+        *
+        * Prior to 3.8.0, the widget was named 'Right Now'.
+        *
+        * @since 2.5.0
+        */
        do_action( 'rightnow_end' );
+
+       /**
+        * Fires at the end of the 'At a Glance' dashboard widget.
+        *
+        * Prior to 3.8.0, the widget was named 'Right Now'.
+        *
+        * @since 2.0.0
+        */
        do_action( 'activity_box_end' );
+
        $actions = ob_get_clean();
 
        if ( !empty( $actions ) ) : ?>
@@ -303,7 +376,19 @@ function wp_network_dashboard_right_now() {
        <br class="clear" />
 
        <p class="youhave"><?php echo $sentence; ?></p>
-       <?php do_action( 'wpmuadminresult', '' ); ?>
+
+
+       <?php
+               /**
+                * Fires in the Network Admin 'Right Now' dashboard widget
+                * just before the user and site search form fields.
+                *
+                * @since MU
+                *
+                * @param null $unused
+                */
+               do_action( 'wpmuadminresult', '' );
+       ?>
 
        <form action="<?php echo network_admin_url('users.php'); ?>" method="get">
                <p>
@@ -319,7 +404,18 @@ function wp_network_dashboard_right_now() {
                </p>
        </form>
 <?php
+       /**
+        * Fires at the end of the 'Right Now' widget in the Network Admin dashboard.
+        *
+        * @since MU
+        */
        do_action( 'mu_rightnow_end' );
+
+       /**
+        * Fires at the end of the 'Right Now' widget in the Network Admin dashboard.
+        *
+        * @since MU
+        */
        do_action( 'mu_activity_box_end' );
 }
 
@@ -361,7 +457,13 @@ function wp_dashboard_quick_press( $error_msg = false ) {
                <?php endif; ?>
 
                <div class="input-text-wrap" id="title-wrap">
-                       <label class="screen-reader-text prompt" for="title" id="title-prompt-text"><?php echo apply_filters( 'enter_title_here', __( 'Title' ), $post ); ?></label>
+                       <label class="screen-reader-text prompt" for="title" id="title-prompt-text">
+
+                               <?php
+                               /** This filter is documented in wp-admin/edit-form-advanced.php */
+                               echo apply_filters( 'enter_title_here', __( 'Title' ), $post );
+                               ?>
+                       </label>
                        <input type="text" name="post_title" id="title" autocomplete="off" />
                </div>
 
@@ -429,9 +531,15 @@ function wp_dashboard_recent_drafts( $drafts = false ) {
 function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
        $GLOBALS['comment'] =& $comment;
 
-       $comment_post_url = get_edit_post_link( $comment->comment_post_ID );
        $comment_post_title = strip_tags(get_the_title( $comment->comment_post_ID ));
-       $comment_post_link = "<a href='$comment_post_url'>$comment_post_title</a>";
+
+       if ( current_user_can( 'edit_post', $comment->comment_post_ID ) ) {
+               $comment_post_url = get_edit_post_link( $comment->comment_post_ID );
+               $comment_post_link = "<a href='$comment_post_url'>$comment_post_title</a>";
+       } else {
+               $comment_post_link = $comment_post_title;
+       }
+
        $comment_link = '<a class="comment-link" href="' . esc_url(get_comment_link()) . '">#</a>';
 
        $actions_string = '';
@@ -457,13 +565,24 @@ function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
                $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>';
                $actions['edit'] = "<a href='comment.php?action=editcomment&amp;c={$comment->comment_ID}' title='" . esc_attr__('Edit comment') . "'>". __('Edit') . '</a>';
-               $actions['reply'] = '<a onclick="commentReply.open(\''.$comment->comment_ID.'\',\''.$comment->comment_post_ID.'\');return false;" class="vim-r hide-if-no-js" title="'.esc_attr__('Reply to this comment').'" href="#">' . __('Reply') . '</a>';
+               $actions['reply'] = '<a onclick="window.commentReply && commentReply.open(\''.$comment->comment_ID.'\',\''.$comment->comment_post_ID.'\');return false;" class="vim-r hide-if-no-js" title="'.esc_attr__('Reply to this comment').'" href="#">' . __('Reply') . '</a>';
                $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>';
                if ( !EMPTY_TRASH_DAYS )
                        $actions['delete'] = "<a href='$delete_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::trash=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>';
 
+               /**
+                * Filter the action links displayed for each comment in the 'Recent Comments'
+                * dashboard widget.
+                *
+                * @since 2.6.0
+                *
+                * @param array  $actions An array of comment actions. Default actions include:
+                *                        'Approve', 'Unapprove', 'Edit', 'Reply', 'Spam',
+                *                        'Delete', and 'Trash'.
+                * @param object $comment The comment object.
+                */
                $actions = apply_filters( 'comment_row_actions', array_filter($actions), $comment );
 
                $i = 0;
@@ -482,10 +601,11 @@ function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
 ?>
 
                <div id="comment-<?php echo $comment->comment_ID; ?>" <?php comment_class( array( 'comment-item', wp_get_comment_status($comment->comment_ID) ) ); ?>>
-                       <?php if ( !$comment->comment_type || 'comment' == $comment->comment_type ) : ?>
 
                        <?php echo get_avatar( $comment, 50, 'mystery' ); ?>
 
+                       <?php if ( !$comment->comment_type || 'comment' == $comment->comment_type ) : ?>
+
                        <div class="dashboard-comment-wrap">
                        <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' ),
@@ -529,7 +649,6 @@ function wp_dashboard_site_activity() {
        echo '<div id="activity-widget">';
 
        $future_posts = wp_dashboard_recent_posts( array(
-               'display' => 2,
                'max'     => 5,
                'status'  => 'future',
                'order'   => 'ASC',
@@ -537,7 +656,6 @@ function wp_dashboard_site_activity() {
                'id'      => 'future-posts',
        ) );
        $recent_posts = wp_dashboard_recent_posts( array(
-               'display' => 2,
                'max'     => 5,
                'status'  => 'publish',
                'order'   => 'DESC',
@@ -565,8 +683,7 @@ function wp_dashboard_site_activity() {
  * @param array $args {
  *     An array of query and display arguments.
  *
- *     @type int    $display Number of posts to display.
- *     @type int    $max     Maximum number of posts to query.
+ *     @type int    $max     Number of posts to display.
  *     @type string $status  Post status.
  *     @type string $order   Designates ascending ('ASC') or descending ('DESC') order.
  *     @type string $title   Section title.
@@ -582,7 +699,8 @@ function wp_dashboard_recent_posts( $args ) {
                'order'          => $args['order'],
                'posts_per_page' => intval( $args['max'] ),
                'no_found_rows'  => true,
-               'cache_results'  => false
+               'cache_results'  => false,
+               'perm'           => ( 'future' === $args['status'] ) ? 'editable' : 'readable',
        );
        $posts = new WP_Query( $query_args );
 
@@ -590,10 +708,6 @@ function wp_dashboard_recent_posts( $args ) {
 
                echo '<div id="' . $args['id'] . '" class="activity-block">';
 
-               if ( $posts->post_count > $args['display'] ) {
-                       echo '<small class="show-more hide-if-no-js"><a href="#">' . sprintf( __( 'See %s more&hellip;'), $posts->post_count - intval( $args['display'] ) ) . '</a></small>';
-               }
-
                echo '<h4>' . $args['title'] . '</h4>';
 
                echo '<ul>';
@@ -615,18 +729,15 @@ function wp_dashboard_recent_posts( $args ) {
                                $relative = date_i18n( __( 'M jS' ), $time );
                        }
 
-                       $text = sprintf(
-                               /* translators: 1: relative date, 2: time, 4: post title */
-                               __( '<span>%1$s, %2$s</span> <a href="%3$s">%4$s</a>' ),
-                               $relative,
-                               get_the_time(),
-                               get_edit_post_link(),
-                               _draft_or_post_title()
-                       );
-
-                       $hidden = $i >= $args['display'] ? ' class="hidden"' : '';
-                       echo "<li{$hidden}>$text</li>";
-                       $i++;
+                       if ( current_user_can( 'edit_post', get_the_ID() ) ) {
+                               /* translators: 1: relative date, 2: time, 3: post edit link, 4: post title */
+                               $format = __( '<span>%1$s, %2$s</span> <a href="%3$s">%4$s</a>' );
+                               printf( "<li>$format</li>", $relative, get_the_time(), get_edit_post_link(), _draft_or_post_title() );
+                       } else {
+                               /* translators: 1: relative date, 2: time, 3: post title */
+                               $format = __( '<span>%1$s, %2$s</span> %3$s' );
+                               printf( "<li>$format</li>", $relative, get_the_time(), _draft_or_post_title() );
+                       }
                }
 
                echo '</ul>';
@@ -832,9 +943,33 @@ function wp_dashboard_rss_control( $widget_id, $form_inputs = array() ) {
  */
 function wp_dashboard_primary() {
        $feeds = array(
-               'news'   => array(
-                       'link'         => apply_filters( 'dashboard_primary_link', __( 'http://wordpress.org/news/' ) ),
-                       'url'          => apply_filters( 'dashboard_primary_feed', __( 'http://wordpress.org/news/feed/' ) ),
+               'news' => array(
+
+                       /**
+                        * Filter the primary link URL for the 'WordPress News' dashboard widget.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param string $link The widget's primary link URL.
+                        */
+                       'link' => apply_filters( 'dashboard_primary_link', __( 'http://wordpress.org/news/' ) ),
+
+                       /**
+                        * Filter the primary feed URL for the 'WordPress News' dashboard widget.
+                        *
+                        * @since 2.3.0
+                        *
+                        * @param string $url The widget's primary feed URL.
+                        */
+                       'url' => apply_filters( 'dashboard_primary_feed', __( 'http://wordpress.org/news/feed/' ) ),
+
+                       /**
+                        * Filter the primary link title for the 'WordPress News' dashboard widget.
+                        *
+                        * @since 2.3.0
+                        *
+                        * @param string $title Title attribute for the widget's primary link.
+                        */
                        'title'        => apply_filters( 'dashboard_primary_title', __( 'WordPress Blog' ) ),
                        'items'        => 1,
                        'show_summary' => 1,
@@ -842,8 +977,32 @@ function wp_dashboard_primary() {
                        'show_date'    => 1,
                ),
                'planet' => array(
-                       'link'         => apply_filters( 'dashboard_secondary_link', __( 'http://planet.wordpress.org/' ) ),
-                       'url'          => apply_filters( 'dashboard_secondary_feed', __( 'http://planet.wordpress.org/feed/' ) ),
+
+                       /**
+                        * Filter the secondary link URL for the 'WordPress News' dashboard widget.
+                        *
+                        * @since 2.3.0
+                        *
+                        * @param string $link The widget's secondary link URL.
+                        */
+                       'link' => apply_filters( 'dashboard_secondary_link', __( 'http://planet.wordpress.org/' ) ),
+
+                       /**
+                        * Filter the secondary feed URL for the 'WordPress News' dashboard widget.
+                        *
+                        * @since 2.3.0
+                        *
+                        * @param string $url The widget's secondary feed URL.
+                        */
+                       'url' => apply_filters( 'dashboard_secondary_feed', __( 'http://planet.wordpress.org/feed/' ) ),
+
+                       /**
+                        * Filter the secondary link title for the 'WordPress News' dashboard widget.
+                        *
+                        * @since 2.3.0
+                        *
+                        * @param string $title Title attribute for the widget's secondary link.
+                        */
                        'title'        => apply_filters( 'dashboard_secondary_title', __( 'Other WordPress News' ) ),
                        'items'        => 3,
                        'show_summary' => 0,
@@ -959,7 +1118,7 @@ function wp_dashboard_plugins_output( $rss, $args = array() ) {
 
                $ilink = wp_nonce_url('plugin-install.php?tab=plugin-information&plugin=' . $slug, 'install-plugin_' . $slug) . '&amp;TB_iframe=true&amp;width=600&amp;height=800';
 
-               echo "<li class='dashboard-news-plugin'><span>$label:</span> <a href='$link' class='dashboard-news-plugin-link'>$title</a></h5>&nbsp;<span>(<a href='$ilink' class='thickbox' title='$title'>" . __( 'Install' ) . "</a>)</span></li>";
+               echo "<li class='dashboard-news-plugin'><span>$label:</span> <a href='$link' class='dashboard-news-plugin-link'>$title</a>&nbsp;<span>(<a href='$ilink' class='thickbox' title='$title'>" . __( 'Install' ) . "</a>)</span></li>";
 
                $$feed->__destruct();
                unset( $$feed );
@@ -1059,6 +1218,14 @@ function wp_dashboard_browser_nag() {
                $notice .= '<div class="clear"></div>';
        }
 
+       /**
+       * Filter the notice output for the 'Browse Happy' nag meta box.
+       *
+       * @since 3.2.0
+       *
+       * @param string $notice   The notice content.
+       * @param array  $response An array containing web browser information.
+       */
        echo apply_filters( 'browse-happy-notice', $notice, $response );
 }
 
@@ -1163,8 +1330,21 @@ function wp_welcome_panel() {
        <div class="welcome-panel-column welcome-panel-last">
                <h4><?php _e( 'More Actions' ); ?></h4>
                <ul>
-                       <li><?php printf( '<div class="welcome-icon welcome-widgets-menus">' . __( 'Manage <a href="%1$s">widgets</a> or <a href="%2$s">menus</a>' ) . '</div>', admin_url( 'widgets.php' ), admin_url( 'nav-menus.php' ) ); ?></li>
+               <?php if ( current_theme_supports( 'widgets' ) || current_theme_supports( 'menus' ) ) : ?>
+                       <li><div class="welcome-icon welcome-widgets-menus"><?php
+                               if ( current_theme_supports( 'widgets' ) && current_theme_supports( 'menus' ) ) {
+                                       printf( __( 'Manage <a href="%1$s">widgets</a> or <a href="%2$s">menus</a>' ),
+                                               admin_url( 'widgets.php' ), admin_url( 'nav-menus.php' ) );
+                               } elseif ( current_theme_supports( 'widgets' ) ) {
+                                       echo '<a href="' . admin_url( 'widgets.php' ) . '">' . __( 'Manage widgets' ) . '</a>';
+                               } else {
+                                       echo '<a href="' . admin_url( 'nav-menus.php' ) . '">' . __( 'Manage menus' ) . '</a>';
+                               }
+                       ?></div></li>
+               <?php endif; ?>
+               <?php if ( current_user_can( 'manage_options' ) ) : ?>
                        <li><?php printf( '<a href="%s" class="welcome-icon welcome-comments">' . __( 'Turn comments on or off' ) . '</a>', admin_url( 'options-discussion.php' ) ); ?></li>
+               <?php endif; ?>
                        <li><?php printf( '<a href="%s" class="welcome-icon welcome-learn-more">' . __( 'Learn more about getting started' ) . '</a>', __( 'http://codex.wordpress.org/First_Steps_With_WordPress' ) ); ?></li>
                </ul>
        </div>
index 2edbc6f4f06b0920105f3aa9244ff8cd3507b035..36b4ca28ca5b8d5af67dac378a707cca98255bb9 100644 (file)
@@ -1174,3 +1174,17 @@ function wp_dashboard_recent_comments_control() {}
 function wp_dashboard_secondary() {}
 function wp_dashboard_secondary_control() {}
 /**#@-*/
+
+/**
+ * This was once used to move child posts to a new parent.
+ *
+ * @since 2.3.0
+ * @deprecated 3.9.0
+ * @access private
+ *
+ * @param int $old_ID
+ * @param int $new_ID
+ */
+function _relocate_children( $old_ID, $new_ID ) {
+       _deprecated_function( __FUNCTION__, '3.9' );
+}
index a7f20991e8fd63dbaeeca2a4097e8739d75921ae..162e00721e8ca79931a6b3bf0a9a0dfdb6092cc7 100644 (file)
@@ -30,6 +30,13 @@ function export_wp( $args = array() ) {
        );
        $args = wp_parse_args( $args, $defaults );
 
+       /**
+        * Fires at the beginning of an export, before any headers are sent.
+        *
+        * @since 2.3.0
+        *
+        * @param array $args An array of export arguments.
+        */
        do_action( 'export_wp', $args );
 
        $sitename = sanitize_key( get_bloginfo( 'name' ) );
@@ -350,7 +357,10 @@ function export_wp( $args = array() ) {
 <?php endforeach; ?>
 <?php if ( 'all' == $args['content'] ) wxr_nav_menu_terms(); ?>
 
-       <?php do_action( 'rss2_head' ); ?>
+       <?php
+       /** This action is documented in wp-includes/feed-rss2.php */
+       do_action( 'rss2_head' );
+       ?>
 
 <?php if ( $post_ids ) {
        global $wp_query;
@@ -374,8 +384,26 @@ function export_wp( $args = array() ) {
                <dc:creator><?php echo wxr_cdata( get_the_author_meta( 'login' ) ); ?></dc:creator>
                <guid isPermaLink="false"><?php the_guid(); ?></guid>
                <description></description>
-               <content:encoded><?php echo wxr_cdata( apply_filters( 'the_content_export', $post->post_content ) ); ?></content:encoded>
-               <excerpt:encoded><?php echo wxr_cdata( apply_filters( 'the_excerpt_export', $post->post_excerpt ) ); ?></excerpt:encoded>
+               <content:encoded><?php
+                       /**
+                        * Filter the post content used for WXR exports.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param string $post_content Content of the current post.
+                        */
+                       echo wxr_cdata( apply_filters( 'the_content_export', $post->post_content ) );
+               ?></content:encoded>
+               <excerpt:encoded><?php
+                       /**
+                        * Filter the post excerpt used for WXR exports.
+                        *
+                        * @since 2.6.0
+                        *
+                        * @param string $post_excerpt Excerpt for the current post.
+                        */
+                       echo wxr_cdata( apply_filters( 'the_excerpt_export', $post->post_excerpt ) );
+               ?></excerpt:encoded>
                <wp:post_id><?php echo $post->ID; ?></wp:post_id>
                <wp:post_date><?php echo $post->post_date; ?></wp:post_date>
                <wp:post_date_gmt><?php echo $post->post_date_gmt; ?></wp:post_date_gmt>
@@ -394,6 +422,18 @@ function export_wp( $args = array() ) {
 <?php  wxr_post_taxonomy(); ?>
 <?php  $postmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->postmeta WHERE post_id = %d", $post->ID ) );
                foreach ( $postmeta as $meta ) :
+                       /**
+                        * Filter whether to selectively skip post meta used for WXR exports.
+                        *
+                        * Returning a truthy value to the filter will skip the current meta
+                        * object from being exported.
+                        *
+                        * @since 3.3.0
+                        *
+                        * @param bool   $skip     Whether to skip the current post meta. Default false.
+                        * @param string $meta_key Current meta key.
+                        * @param object $meta     Current meta object.
+                        */
                        if ( apply_filters( 'wxr_export_skip_postmeta', false, $meta->meta_key, $meta ) )
                                continue;
                ?>
index 7b83ca5539a55a740fa5a38d09f2d2bfa424f2b8..d81dd525469032c01449c5057ac499140c315cad 100644 (file)
@@ -177,13 +177,13 @@ function validate_file_to_edit( $file, $allowed_files = '' ) {
 
        switch ( $code ) {
                case 1 :
-                       wp_die( __('Sorry, can&#8217;t edit files with &#8220;..&#8221; in the name. If you are trying to edit a file in your WordPress home directory, you can just type the name of the file in.' ));
+                       wp_die( __( 'Sorry, that file cannot be edited.' ) );
 
                //case 2 :
                //      wp_die( __('Sorry, can&#8217;t call files with their real path.' ));
 
                case 3 :
-                       wp_die( __('Sorry, that file cannot be edited.' ));
+                       wp_die( __( 'Sorry, that file cannot be edited.' ) );
        }
 }
 
@@ -191,10 +191,9 @@ function validate_file_to_edit( $file, $allowed_files = '' ) {
  * Handle PHP uploads in WordPress, sanitizing file names, checking extensions for mime type,
  * and moving the file to the appropriate directory within the uploads directory.
  *
- * @since 2.0
+ * @since 2.0.0
  *
  * @uses wp_handle_upload_error
- * @uses apply_filters
  * @uses is_multisite
  * @uses wp_check_filetype_and_ext
  * @uses current_user_can
@@ -214,6 +213,13 @@ function wp_handle_upload( &$file, $overrides = false, $time = null ) {
                }
        }
 
+       /**
+        * Filter data for the current file to upload.
+        *
+        * @since 2.9.0
+        *
+        * @param array $file An array of data for a single file.
+        */
        $file = apply_filters( 'wp_handle_upload_prefilter', $file );
 
        // You may define your own function and pass the name in $overrides['upload_error_handler']
@@ -258,8 +264,9 @@ function wp_handle_upload( &$file, $overrides = false, $time = null ) {
                return call_user_func($upload_error_handler, $file, __( 'Invalid form submission.' ));
 
        // A successful upload will pass this test. It makes no sense to override this one.
-       if ( $file['error'] > 0 )
-               return call_user_func($upload_error_handler, $file, $upload_error_strings[$file['error']] );
+       if ( isset( $file['error'] ) && $file['error'] > 0 ) {
+               return call_user_func( $upload_error_handler, $file, $upload_error_strings[ $file['error'] ] );
+       }
 
        // A non-empty file will pass this test.
        if ( $test_size && !($file['size'] > 0 ) ) {
@@ -324,6 +331,20 @@ function wp_handle_upload( &$file, $overrides = false, $time = null ) {
        if ( is_multisite() )
                delete_transient( 'dirsize_cache' );
 
+       /**
+        * Filter the data array for the uploaded file.
+        *
+        * @since 2.1.0
+        *
+        * @param array  $upload {
+        *     Array of upload data.
+        *
+        *     @type string $file Filename of the newly-uploaded file.
+        *     @type string $url  URL of the uploaded file.
+        *     @type string $type File type.
+        * }
+        * @param string $context The type of upload action. Accepts 'upload' or 'sideload'.
+        */
        return apply_filters( 'wp_handle_upload', array( 'file' => $new_file, 'url' => $url, 'type' => $type ), 'upload' );
 }
 
@@ -335,7 +356,6 @@ function wp_handle_upload( &$file, $overrides = false, $time = null ) {
  * @since 2.6.0
  *
  * @uses wp_handle_upload_error
- * @uses apply_filters
  * @uses wp_check_filetype_and_ext
  * @uses current_user_can
  * @uses wp_upload_dir
@@ -449,6 +469,7 @@ function wp_handle_sideload( &$file, $overrides = false, $time = null ) {
        // Compute the URL
        $url = $uploads['url'] . "/$filename";
 
+       /** This filter is documented in wp-admin/includes/file.php */
        $return = apply_filters( 'wp_handle_upload', array( 'file' => $new_file, 'url' => $url, 'type' => $type ), 'sideload' );
 
        return $return;
@@ -498,7 +519,7 @@ function download_url( $url, $timeout = 300 ) {
 }
 
 /**
- * Calculates and compares the MD5 of a file to it's expected value.
+ * Calculates and compares the MD5 of a file to its expected value.
  *
  * @since 3.7.0
  *
@@ -542,6 +563,7 @@ function unzip_file($file, $to) {
                return new WP_Error('fs_unavailable', __('Could not access filesystem.'));
 
        // Unzip can use a lot of memory, but not this much hopefully
+       /** This filter is documented in wp-admin/admin.php */
        @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) );
 
        $needed_dirs = array();
@@ -565,7 +587,14 @@ function unzip_file($file, $to) {
                }
        }
 
-       if ( class_exists('ZipArchive') && apply_filters('unzip_file_use_ziparchive', true ) ) {
+       /**
+        * Filter whether to use ZipArchive to unzip archives.
+        *
+        * @since 3.0.0
+        *
+        * @param bool $ziparchive Whether to use ZipArchive. Default true.
+        */
+       if ( class_exists( 'ZipArchive' ) && apply_filters( 'unzip_file_use_ziparchive', true ) ) {
                $result = _unzip_file_ziparchive($file, $to, $needed_dirs);
                if ( true === $result ) {
                        return $result;
@@ -842,7 +871,19 @@ function WP_Filesystem( $args = false, $context = false ) {
                return false;
 
        if ( ! class_exists("WP_Filesystem_$method") ) {
-               $abstraction_file = apply_filters('filesystem_method_file', ABSPATH . 'wp-admin/includes/class-wp-filesystem-' . $method . '.php', $method);
+
+               /**
+                * Filter the path for a specific filesystem method class file.
+                *
+                * @since 2.6.0
+                *
+                * @see get_filesystem_method()
+                *
+                * @param string $path   Path to the specific filesystem method class file.
+                * @param string $method The filesystem method to use.
+                */
+               $abstraction_file = apply_filters( 'filesystem_method_file', ABSPATH . 'wp-admin/includes/class-wp-filesystem-' . $method . '.php', $method );
+
                if ( ! file_exists($abstraction_file) )
                        return;
 
@@ -880,7 +921,7 @@ function WP_Filesystem( $args = false, $context = false ) {
  * Note that the return value of this function can be overridden in 2 ways
  *  - By defining FS_METHOD in your <code>wp-config.php</code> file
  *  - By using the filesystem_method filter
- * Valid values for these are: 'direct', 'ssh', 'ftpext' or 'ftpsockets'
+ * Valid values for these are: 'direct', 'ssh2', 'ftpext' or 'ftpsockets'
  * Plugins may also define a custom transport handler, See the WP_Filesystem function for more information.
  *
  * @since 2.5.0
@@ -890,7 +931,7 @@ function WP_Filesystem( $args = false, $context = false ) {
  * @return string The transport to use, see description for valid return values.
  */
 function get_filesystem_method($args = array(), $context = false) {
-       $method = defined('FS_METHOD') ? FS_METHOD : false; //Please ensure that this is either 'direct', 'ssh', 'ftpext' or 'ftpsockets'
+       $method = defined('FS_METHOD') ? FS_METHOD : false; // Please ensure that this is either 'direct', 'ssh2', 'ftpext' or 'ftpsockets'
 
        if ( ! $method && function_exists('getmyuid') && function_exists('fileowner') ){
                if ( !$context )
@@ -914,7 +955,16 @@ function get_filesystem_method($args = array(), $context = false) {
        if ( ! $method && isset($args['connection_type']) && 'ssh' == $args['connection_type'] && extension_loaded('ssh2') && function_exists('stream_get_contents') ) $method = 'ssh2';
        if ( ! $method && extension_loaded('ftp') ) $method = 'ftpext';
        if ( ! $method && ( extension_loaded('sockets') || function_exists('fsockopen') ) ) $method = 'ftpsockets'; //Sockets: Socket extension; PHP Mode: FSockopen / fwrite / fread
-       return apply_filters('filesystem_method', $method, $args);
+
+       /**
+        * Filter the filesystem method to use.
+        *
+        * @since 2.6.0
+        *
+        * @param string $method Filesystem method to return.
+        * @param array  $args   An array of connection details for the method.
+        */
+       return apply_filters( 'filesystem_method', $method, $args );
 }
 
 /**
@@ -935,6 +985,24 @@ function get_filesystem_method($args = array(), $context = false) {
  * @return boolean False on failure. True on success.
  */
 function request_filesystem_credentials($form_post, $type = '', $error = false, $context = false, $extra_fields = null) {
+
+       /**
+        * Filter the filesystem credentials form output.
+        *
+        * Returning anything other than an empty string will effectively short-circuit
+        * output of the filesystem credentials form, returning that value instead.
+        *
+        * @since 2.5.0
+        *
+        * @param mixed  $output       Form output to return instead. Default empty.
+        * @param string $form_post    URL to POST the form to.
+        * @param string $type         Chosen type of filesystem.
+        * @param bool   $error        Whether the current request has failed to connect.
+        *                             Default false.
+        * @param string $context      Full path to the directory that is tested for
+        *                             being writable.
+        * @param array  $extra_fields Extra POST fields.
+        */
        $req_cred = apply_filters( 'request_filesystem_credentials', '', $form_post, $type, $error, $context, $extra_fields );
        if ( '' !== $req_cred )
                return $req_cred;
@@ -970,7 +1038,7 @@ function request_filesystem_credentials($form_post, $type = '', $error = false,
                unset($credentials['port']);
        }
 
-       if ( (defined('FTP_SSH') && FTP_SSH) || (defined('FS_METHOD') && 'ssh' == FS_METHOD) )
+       if ( ( defined('FTP_SSH') && FTP_SSH ) || ( defined('FS_METHOD') && 'ssh2' == FS_METHOD ) )
                $credentials['connection_type'] = 'ssh';
        else if ( (defined('FTP_SSL') && FTP_SSL) && 'ftpext' == $type ) //Only the FTP Extension understands SSL
                $credentials['connection_type'] = 'ftps';
@@ -1013,7 +1081,19 @@ function request_filesystem_credentials($form_post, $type = '', $error = false,
        if ( extension_loaded('ssh2') && function_exists('stream_get_contents') )
                $types[ 'ssh' ] = __('SSH2');
 
-       $types = apply_filters('fs_ftp_connection_types', $types, $credentials, $type, $error, $context);
+       /**
+        * Filter the connection types to output to the filesystem credentials form.
+        *
+        * @since 2.9.0
+        *
+        * @param array  $types       Types of connections.
+        * @param array  $credentials Credentials to connect with.
+        * @param string $type        Chosen filesystem method.
+        * @param object $error       Error object.
+        * @param string $context     Full path to the directory that is tested
+        *                            for being writable.
+        */
+       $types = apply_filters( 'fs_ftp_connection_types', $types, $credentials, $type, $error, $context );
 
 ?>
 <script type="text/javascript">
@@ -1052,24 +1132,24 @@ jQuery(function($){
        _e('If you do not remember your credentials, you should contact your web host.');
 ?></p>
 <table class="form-table">
-<tr valign="top">
+<tr>
 <th scope="row"><label for="hostname"><?php _e('Hostname') ?></label></th>
 <td><input name="hostname" type="text" id="hostname" value="<?php echo esc_attr($hostname); if ( !empty($port) ) echo ":$port"; ?>"<?php disabled( defined('FTP_HOST') ); ?> size="40" /></td>
 </tr>
 
-<tr valign="top">
+<tr>
 <th scope="row"><label for="username"><?php echo $label_user; ?></label></th>
 <td><input name="username" type="text" id="username" value="<?php echo esc_attr($username) ?>"<?php disabled( defined('FTP_USER') ); ?> size="40" /></td>
 </tr>
 
-<tr valign="top">
+<tr>
 <th scope="row"><label for="password"><?php echo $label_pass; ?></label></th>
 <td><div><input name="password" type="password" id="password" value="<?php if ( defined('FTP_PASS') ) echo '*****'; ?>"<?php disabled( defined('FTP_PASS') ); ?> size="40" /></div>
 <div><em><?php if ( ! defined('FTP_PASS') ) _e( 'This password will not be stored on the server.' ); ?></em></div></td>
 </tr>
 
 <?php if ( isset($types['ssh']) ) : ?>
-<tr id="ssh_keys" valign="top" style="<?php if ( 'ssh' != $connection_type ) echo 'display:none' ?>">
+<tr id="ssh_keys" style="<?php if ( 'ssh' != $connection_type ) echo 'display:none' ?>">
 <th scope="row"><?php _e('Authentication Keys') ?>
 <div class="key-labels textright">
 <label for="public_key"><?php _e('Public Key:') ?></label ><br />
@@ -1080,7 +1160,7 @@ jQuery(function($){
 </tr>
 <?php endif; ?>
 
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Connection Type') ?></th>
 <td>
 <fieldset><legend class="screen-reader-text"><span><?php _e('Connection Type') ?></span></legend>
index f25546e5e7ed6b95ee118ee52da0506536a2752a..9e0f38448ab6a3a3116bb3d2ac9ab7de1be391f6 100644 (file)
@@ -34,70 +34,31 @@ function wp_image_editor($post_id, $msg = false) {
 
        ?>
        <div class="imgedit-wrap">
-       <?php echo $note; ?>
-       <table id="imgedit-panel-<?php echo $post_id; ?>"><tbody>
-       <tr><td>
-       <div class="imgedit-menu">
-               <div onclick="imageEdit.crop(<?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-crop disabled" title="<?php esc_attr_e( 'Crop' ); ?>"></div><?php
-
-       // On some setups GD library does not provide imagerotate() - Ticket #11536
-       if ( wp_image_editor_supports( array( 'mime_type' => get_post_mime_type( $post_id ), 'methods' => array( 'rotate' ) ) ) ) { ?>
-               <div class="imgedit-rleft"  onclick="imageEdit.rotate( 90, <?php echo "$post_id, '$nonce'"; ?>, this)" title="<?php esc_attr_e( 'Rotate counter-clockwise' ); ?>"></div>
-               <div class="imgedit-rright" onclick="imageEdit.rotate(-90, <?php echo "$post_id, '$nonce'"; ?>, this)" title="<?php esc_attr_e( 'Rotate clockwise' ); ?>"></div>
-<?php } else {
-               $note_no_rotate = esc_attr__('Image rotation is not supported by your web host.');
-?>
-           <div class="imgedit-rleft disabled"  title="<?php echo $note_no_rotate; ?>"></div>
-           <div class="imgedit-rright disabled" title="<?php echo $note_no_rotate; ?>"></div>
-<?php } ?>
-
-               <div onclick="imageEdit.flip(1, <?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-flipv" title="<?php esc_attr_e( 'Flip vertically' ); ?>"></div>
-               <div onclick="imageEdit.flip(2, <?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-fliph" title="<?php esc_attr_e( 'Flip horizontally' ); ?>"></div>
-
-               <div id="image-undo-<?php echo $post_id; ?>" onclick="imageEdit.undo(<?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-undo disabled" title="<?php esc_attr_e( 'Undo' ); ?>"></div>
-               <div id="image-redo-<?php echo $post_id; ?>" onclick="imageEdit.redo(<?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-redo disabled" title="<?php esc_attr_e( 'Redo' ); ?>"></div>
-               <br class="clear" />
-       </div>
-
-       <input type="hidden" id="imgedit-sizer-<?php echo $post_id; ?>" value="<?php echo $sizer; ?>" />
-       <input type="hidden" id="imgedit-minthumb-<?php echo $post_id; ?>" value="<?php echo ( get_option('thumbnail_size_w') . ':' . get_option('thumbnail_size_h') ); ?>" />
-       <input type="hidden" id="imgedit-history-<?php echo $post_id; ?>" value="" />
-       <input type="hidden" id="imgedit-undone-<?php echo $post_id; ?>" value="0" />
-       <input type="hidden" id="imgedit-selection-<?php echo $post_id; ?>" value="" />
-       <input type="hidden" id="imgedit-x-<?php echo $post_id; ?>" value="<?php echo isset( $meta['width'] ) ? $meta['width'] : 0; ?>" />
-       <input type="hidden" id="imgedit-y-<?php echo $post_id; ?>" value="<?php echo isset( $meta['height'] ) ? $meta['height'] : 0; ?>" />
+       <div id="imgedit-panel-<?php echo $post_id; ?>">
 
-       <div id="imgedit-crop-<?php echo $post_id; ?>" class="imgedit-crop-wrap">
-       <img id="image-preview-<?php echo $post_id; ?>" onload="imageEdit.imgLoaded('<?php echo $post_id; ?>')" src="<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>?action=imgedit-preview&amp;_ajax_nonce=<?php echo $nonce; ?>&amp;postid=<?php echo $post_id; ?>&amp;rand=<?php echo rand(1, 99999); ?>" />
-       </div>
-
-       <div class="imgedit-submit">
-               <input type="button" onclick="imageEdit.close(<?php echo $post_id; ?>, 1)" class="button" value="<?php esc_attr_e( 'Cancel' ); ?>" />
-               <input type="button" onclick="imageEdit.save(<?php echo "$post_id, '$nonce'"; ?>)" disabled="disabled" class="button-primary imgedit-submit-btn" value="<?php esc_attr_e( 'Save' ); ?>" />
-       </div>
-       </td>
-
-       <td class="imgedit-settings">
+       <div class="imgedit-settings">
        <div class="imgedit-group">
        <div class="imgedit-group-top">
-               <a class="imgedit-help-toggle" onclick="imageEdit.toggleHelp(this);return false;" href="#"><strong><?php _e('Scale Image'); ?></strong></a>
+               <h3><?php _e( 'Scale Image' ); ?> <a href="#" class="dashicons dashicons-editor-help imgedit-help-toggle" onclick="imageEdit.toggleHelp(this);return false;"></a></h3>
                <div class="imgedit-help">
-               <p><?php _e('You can proportionally scale the original image. For best results the scaling should be done before performing any other operations on it like crop, rotate, etc. Note that images can only be scaled down, not up.'); ?></p>
+               <p><?php _e('You can proportionally scale the original image. For best results, scaling should be done before you crop, flip, or rotate. Images can only be scaled down, not up.'); ?></p>
+               </div>
                <?php if ( isset( $meta['width'], $meta['height'] ) ): ?>
-               <p><?php printf( __('Original dimensions %s'), $meta['width'] . '&times;' . $meta['height'] ); ?></p>
+               <p><?php printf( __('Original dimensions %s'), $meta['width'] . ' &times; ' . $meta['height'] ); ?></p>
                <?php endif ?>
                <div class="imgedit-submit">
-               <span class="nowrap"><input type="text" id="imgedit-scale-width-<?php echo $post_id; ?>" onkeyup="imageEdit.scaleChanged(<?php echo $post_id; ?>, 1)" onblur="imageEdit.scaleChanged(<?php echo $post_id; ?>, 1)" style="width:4em;" value="<?php echo isset( $meta['width'] ) ? $meta['width'] : 0; ?>" />&times;<input type="text" id="imgedit-scale-height-<?php echo $post_id; ?>" onkeyup="imageEdit.scaleChanged(<?php echo $post_id; ?>, 0)" onblur="imageEdit.scaleChanged(<?php echo $post_id; ?>, 0)" style="width:4em;" value="<?php echo isset( $meta['height'] ) ? $meta['height'] : 0; ?>" />
+               <span class="nowrap"><input type="text" id="imgedit-scale-width-<?php echo $post_id; ?>" onkeyup="imageEdit.scaleChanged(<?php echo $post_id; ?>, 1)" onblur="imageEdit.scaleChanged(<?php echo $post_id; ?>, 1)" style="width:4em;" value="<?php echo isset( $meta['width'] ) ? $meta['width'] : 0; ?>" /> &times; <input type="text" id="imgedit-scale-height-<?php echo $post_id; ?>" onkeyup="imageEdit.scaleChanged(<?php echo $post_id; ?>, 0)" onblur="imageEdit.scaleChanged(<?php echo $post_id; ?>, 0)" style="width:4em;" value="<?php echo isset( $meta['height'] ) ? $meta['height'] : 0; ?>" />
                <span class="imgedit-scale-warn" id="imgedit-scale-warn-<?php echo $post_id; ?>">!</span></span>
-               <input type="button" onclick="imageEdit.action(<?php echo "$post_id, '$nonce'"; ?>, 'scale')" class="button-primary" value="<?php esc_attr_e( 'Scale' ); ?>" />
-               </div>
+               <input type="button" onclick="imageEdit.action(<?php echo "$post_id, '$nonce'"; ?>, 'scale')" class="button button-primary" value="<?php esc_attr_e( 'Scale' ); ?>" />
                </div>
        </div>
+       </div>
 
 <?php if ( $can_restore ) { ?>
 
+       <div class="imgedit-group">
        <div class="imgedit-group-top">
-               <a class="imgedit-help-toggle" onclick="imageEdit.toggleHelp(this);return false;" href="#"><strong><?php _e('Restore Original Image'); ?></strong></a>
+               <h3><a onclick="imageEdit.toggleHelp(this);return false;" href="#"><?php _e('Restore Original Image'); ?> <span class="dashicons dashicons-arrow-down imgedit-help-toggle"></span></a></h3>
                <div class="imgedit-help">
                <p><?php _e('Discard any changes and restore the original image.');
 
@@ -106,27 +67,26 @@ function wp_image_editor($post_id, $msg = false) {
 
                ?></p>
                <div class="imgedit-submit">
-               <input type="button" onclick="imageEdit.action(<?php echo "$post_id, '$nonce'"; ?>, 'restore')" class="button-primary" value="<?php esc_attr_e( 'Restore image' ); ?>" <?php echo $can_restore; ?> />
+               <input type="button" onclick="imageEdit.action(<?php echo "$post_id, '$nonce'"; ?>, 'restore')" class="button button-primary" value="<?php esc_attr_e( 'Restore image' ); ?>" <?php echo $can_restore; ?> />
                </div>
                </div>
        </div>
+       </div>
 
 <?php } ?>
 
-       </div>
-
        <div class="imgedit-group">
        <div class="imgedit-group-top">
-               <strong><?php _e('Image Crop'); ?></strong>
-               <a class="imgedit-help-toggle" onclick="imageEdit.toggleHelp(this);return false;" href="#"><?php _e('(help)'); ?></a>
+               <h3><?php _e('Image Crop'); ?> <a href="#" class="dashicons dashicons-editor-help imgedit-help-toggle" onclick="imageEdit.toggleHelp(this);return false;"></a></h3>
+
                <div class="imgedit-help">
-               <p><?php _e('The image can be cropped by clicking on it and dragging to select the desired part. While dragging the dimensions of the selection are displayed below.'); ?></p>
+               <p><?php _e('To crop the image, click on it and drag to make your selection.'); ?></p>
 
                <p><strong><?php _e('Crop Aspect Ratio'); ?></strong><br />
-               <?php _e('You can specify the crop selection aspect ratio then hold down the Shift key while dragging to lock it. The values can be 1:1 (square), 4:3, 16:9, etc. If there is a selection, specifying aspect ratio will set it immediately.'); ?></p>
+               <?php _e('The aspect ratio is the relationship between the width and height. You can preserve the aspect ratio by holding down the shift key while resizing your selection. Use the input box to specify the aspect ratio, e.g. 1:1 (square), 4:3, 16:9, etc.'); ?></p>
 
                <p><strong><?php _e('Crop Selection'); ?></strong><br />
-               <?php _e('Once started, the selection can be adjusted by entering new values (in pixels). Note that these values are scaled to approximately match the original image dimensions. The minimum selection size equals the thumbnail size as set in the Media settings.'); ?></p>
+               <?php _e('Once you have made your selection, you can adjust it by entering the size in pixels. The minimum selection size is the thumbnail size as set in the Media settings.'); ?></p>
                </div>
        </div>
 
@@ -143,7 +103,7 @@ function wp_image_editor($post_id, $msg = false) {
                <?php _e('Selection:'); ?>
                <span  class="nowrap">
                <input type="text" id="imgedit-sel-width-<?php echo $post_id; ?>" onkeyup="imageEdit.setNumSelection(<?php echo $post_id; ?>)" style="width:4em;" />
-               :
+               &times;
                <input type="text" id="imgedit-sel-height-<?php echo $post_id; ?>" onkeyup="imageEdit.setNumSelection(<?php echo $post_id; ?>)" style="width:4em;" />
                </span>
        </p>
@@ -155,13 +115,13 @@ function wp_image_editor($post_id, $msg = false) {
 
        <div class="imgedit-group imgedit-applyto">
        <div class="imgedit-group-top">
-               <strong><?php _e('Thumbnail Settings'); ?></strong>
-               <a class="imgedit-help-toggle" onclick="imageEdit.toggleHelp(this);return false;" href="#"><?php _e('(help)'); ?></a>
-               <p class="imgedit-help"><?php _e('The thumbnail image can be cropped differently. For example it can be square or contain only a portion of the original image to showcase it better. Here you can select whether to apply changes to all image sizes or make the thumbnail different.'); ?></p>
+               <h3><?php _e('Thumbnail Settings'); ?> <a href="#" class="dashicons dashicons-editor-help imgedit-help-toggle" onclick="imageEdit.toggleHelp(this);return false;"></a></h3>
+               <p class="imgedit-help"><?php _e('You can edit the image while preserving the thumbnail. For example, you may wish to have a square thumbnail that displays just a section of the image.'); ?></p>
        </div>
 
        <p>
-               <img src="<?php echo $thumb['url']; ?>" width="<?php echo $thumb_img[0]; ?>" height="<?php echo $thumb_img[1]; ?>" class="imgedit-size-preview" alt="" /><br /><?php _e('Current thumbnail'); ?>
+               <img src="<?php echo $thumb['url']; ?>" width="<?php echo $thumb_img[0]; ?>" height="<?php echo $thumb_img[1]; ?>" class="imgedit-size-preview" alt="" draggable="false" />
+               <br /><?php _e('Current thumbnail'); ?>
        </p>
 
        <p id="imgedit-save-target-<?php echo $post_id; ?>">
@@ -183,8 +143,51 @@ function wp_image_editor($post_id, $msg = false) {
 
        <?php } ?>
 
-       </td></tr>
-       </tbody></table>
+       </div>
+       
+       <div class="imgedit-panel-content">
+               <?php echo $note; ?>
+               <div class="imgedit-menu">
+                       <div onclick="imageEdit.crop(<?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-crop disabled" title="<?php esc_attr_e( 'Crop' ); ?>"></div><?php
+       
+               // On some setups GD library does not provide imagerotate() - Ticket #11536
+               if ( wp_image_editor_supports( array( 'mime_type' => get_post_mime_type( $post_id ), 'methods' => array( 'rotate' ) ) ) ) { ?>
+                       <div class="imgedit-rleft"  onclick="imageEdit.rotate( 90, <?php echo "$post_id, '$nonce'"; ?>, this)" title="<?php esc_attr_e( 'Rotate counter-clockwise' ); ?>"></div>
+                       <div class="imgedit-rright" onclick="imageEdit.rotate(-90, <?php echo "$post_id, '$nonce'"; ?>, this)" title="<?php esc_attr_e( 'Rotate clockwise' ); ?>"></div>
+       <?php } else {
+                       $note_no_rotate = esc_attr__('Image rotation is not supported by your web host.');
+       ?>
+                   <div class="imgedit-rleft disabled"  title="<?php echo $note_no_rotate; ?>"></div>
+                   <div class="imgedit-rright disabled" title="<?php echo $note_no_rotate; ?>"></div>
+       <?php } ?>
+       
+                       <div onclick="imageEdit.flip(1, <?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-flipv" title="<?php esc_attr_e( 'Flip vertically' ); ?>"></div>
+                       <div onclick="imageEdit.flip(2, <?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-fliph" title="<?php esc_attr_e( 'Flip horizontally' ); ?>"></div>
+       
+                       <div id="image-undo-<?php echo $post_id; ?>" onclick="imageEdit.undo(<?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-undo disabled" title="<?php esc_attr_e( 'Undo' ); ?>"></div>
+                       <div id="image-redo-<?php echo $post_id; ?>" onclick="imageEdit.redo(<?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-redo disabled" title="<?php esc_attr_e( 'Redo' ); ?>"></div>
+                       <br class="clear" />
+               </div>
+       
+               <input type="hidden" id="imgedit-sizer-<?php echo $post_id; ?>" value="<?php echo $sizer; ?>" />
+               <input type="hidden" id="imgedit-minthumb-<?php echo $post_id; ?>" value="<?php echo ( get_option('thumbnail_size_w') . ':' . get_option('thumbnail_size_h') ); ?>" />
+               <input type="hidden" id="imgedit-history-<?php echo $post_id; ?>" value="" />
+               <input type="hidden" id="imgedit-undone-<?php echo $post_id; ?>" value="0" />
+               <input type="hidden" id="imgedit-selection-<?php echo $post_id; ?>" value="" />
+               <input type="hidden" id="imgedit-x-<?php echo $post_id; ?>" value="<?php echo isset( $meta['width'] ) ? $meta['width'] : 0; ?>" />
+               <input type="hidden" id="imgedit-y-<?php echo $post_id; ?>" value="<?php echo isset( $meta['height'] ) ? $meta['height'] : 0; ?>" />
+       
+               <div id="imgedit-crop-<?php echo $post_id; ?>" class="imgedit-crop-wrap">
+               <img id="image-preview-<?php echo $post_id; ?>" onload="imageEdit.imgLoaded('<?php echo $post_id; ?>')" src="<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>?action=imgedit-preview&amp;_ajax_nonce=<?php echo $nonce; ?>&amp;postid=<?php echo $post_id; ?>&amp;rand=<?php echo rand(1, 99999); ?>" />
+               </div>
+       
+               <div class="imgedit-submit">
+                       <input type="button" onclick="imageEdit.close(<?php echo $post_id; ?>, 1)" class="button" value="<?php esc_attr_e( 'Cancel' ); ?>" />
+                       <input type="button" onclick="imageEdit.save(<?php echo "$post_id, '$nonce'"; ?>)" disabled="disabled" class="button button-primary imgedit-submit-btn" value="<?php esc_attr_e( 'Save' ); ?>" />
+               </div>
+       </div>
+       
+       </div>
        <div class="imgedit-wait" id="imgedit-wait-<?php echo $post_id; ?>"></div>
        <script type="text/javascript">jQuery( function() { imageEdit.init(<?php echo $post_id; ?>); });</script>
        <div class="hidden" id="imgedit-leaving-<?php echo $post_id; ?>"><?php _e("There are unsaved changes that will be lost. 'OK' to continue, 'Cancel' to return to the Image Editor."); ?></div>
@@ -203,7 +206,16 @@ function wp_image_editor($post_id, $msg = false) {
  */
 function wp_stream_image( $image, $mime_type, $post_id ) {
        if ( $image instanceof WP_Image_Editor ) {
-               $image = apply_filters('image_editor_save_pre', $image, $post_id);
+
+               /**
+                * Filter the WP_Image_Editor instance for the image to be streamed to the browser.
+                *
+                * @since 3.5.0
+                *
+                * @param WP_Image_Editor $image   WP_Image_Editor instance.
+                * @param int             $post_id Post ID.
+                */
+               $image = apply_filters( 'image_editor_save_pre', $image, $post_id );
 
                if ( is_wp_error( $image->stream( $mime_type ) ) )
                        return false;
@@ -212,7 +224,16 @@ function wp_stream_image( $image, $mime_type, $post_id ) {
        } else {
                _deprecated_argument( __FUNCTION__, '3.5', __( '$image needs to be an WP_Image_Editor object' ) );
 
-               $image = apply_filters('image_save_pre', $image, $post_id);
+               /**
+                * Filter the GD image resource to be streamed to the browser.
+                *
+                * @since 2.9.0
+                * @deprecated 3.5.0 Use image_editor_save_pre instead.
+                *
+                * @param resource $image   Image resource to be streamed.
+                * @param int      $post_id Post ID.
+                */
+               $image = apply_filters( 'image_save_pre', $image, $post_id );
 
                switch ( $mime_type ) {
                        case 'image/jpeg':
@@ -241,8 +262,25 @@ function wp_stream_image( $image, $mime_type, $post_id ) {
  */
 function wp_save_image_file( $filename, $image, $mime_type, $post_id ) {
        if ( $image instanceof WP_Image_Editor ) {
-               $image = apply_filters('image_editor_save_pre', $image, $post_id);
-               $saved = apply_filters('wp_save_image_editor_file', null, $filename, $image, $mime_type, $post_id);
+
+               /** This filter is documented in wp-admin/includes/image-edit.php */
+               $image = apply_filters( 'image_editor_save_pre', $image, $post_id );
+
+               /**
+                * Filter whether to skip saving the image file.
+                *
+                * Returning a non-null value will short-circuit the save method,
+                * returning that value instead.
+                *
+                * @since 3.5.0
+                *
+                * @param mixed           $override  Value to return instead of saving. Default null.
+                * @param string          $filename  Name of the file to be saved.
+                * @param WP_Image_Editor $image     WP_Image_Editor instance.
+                * @param string          $mime_type Image mime type.
+                * @param int             $post_id   Post ID.
+                */
+               $saved = apply_filters( 'wp_save_image_editor_file', null, $filename, $image, $mime_type, $post_id );
 
                if ( null !== $saved )
                        return $saved;
@@ -251,14 +289,32 @@ function wp_save_image_file( $filename, $image, $mime_type, $post_id ) {
        } else {
                _deprecated_argument( __FUNCTION__, '3.5', __( '$image needs to be an WP_Image_Editor object' ) );
 
-               $image = apply_filters('image_save_pre', $image, $post_id);
-               $saved = apply_filters('wp_save_image_file', null, $filename, $image, $mime_type, $post_id);
+               /** This filter is documented in wp-admin/includes/image-edit.php */
+               $image = apply_filters( 'image_save_pre', $image, $post_id );
+
+               /**
+                * Filter whether to skip saving the image file.
+                *
+                * Returning a non-null value will short-circuit the save method,
+                * returning that value instead.
+                *
+                * @since 2.9.0
+                * @deprecated 3.5.0 Use wp_save_image_editor_file instead.
+                *
+                * @param mixed           $override  Value to return instead of saving. Default null.
+                * @param string          $filename  Name of the file to be saved.
+                * @param WP_Image_Editor $image     WP_Image_Editor instance.
+                * @param string          $mime_type Image mime type.
+                * @param int             $post_id   Post ID.
+                */
+               $saved = apply_filters( 'wp_save_image_file', null, $filename, $image, $mime_type, $post_id );
 
                if ( null !== $saved )
                        return $saved;
 
                switch ( $mime_type ) {
                        case 'image/jpeg':
+
                                /** This filter is documented in wp-includes/class-wp-image-editor.php */
                                return imagejpeg( $image, $filename, apply_filters( 'jpeg_quality', 90, 'edit_image' ) );
                        case 'image/png':
@@ -398,10 +454,30 @@ function image_edit_apply_changes( $image, $changes ) {
        }
 
        // image resource before applying the changes
-       if ( $image instanceof WP_Image_Editor )
-               $image = apply_filters('wp_image_editor_before_change', $image, $changes);
-       elseif ( is_resource( $image ) )
-               $image = apply_filters('image_edit_before_change', $image, $changes);
+       if ( $image instanceof WP_Image_Editor ) {
+
+               /**
+                * Filter the WP_Image_Editor instance before applying changes to the image.
+                *
+                * @since 3.5.0
+                *
+                * @param WP_Image_Editor $image   WP_Image_Editor instance.
+                * @param array           $changes Array of change operations.
+                */
+               $image = apply_filters( 'wp_image_editor_before_change', $image, $changes );
+       } elseif ( is_resource( $image ) ) {
+
+               /**
+                * Filter the GD image resource before applying changes to the image.
+                *
+                * @since 2.9.0
+                * @deprecated 3.5.0 Use wp_image_editor_before_change instead.
+                *
+                * @param resource $image   GD image resource.
+                * @param array    $changes Array of change operations.
+                */
+               $image = apply_filters( 'image_edit_before_change', $image, $changes );
+       }
 
        foreach ( $changes as $operation ) {
                switch ( $operation->type ) {
@@ -451,6 +527,8 @@ function image_edit_apply_changes( $image, $changes ) {
  */
 function stream_preview_image( $post_id ) {
        $post = get_post( $post_id );
+
+       /** This filter is documented in wp-admin/admin.php */
        @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) );
 
        $img = wp_get_image_editor( _load_image_to_edit_path( $post_id ) );
@@ -500,8 +578,9 @@ function wp_restore_image($post_id) {
                        if ( defined('IMAGE_EDIT_OVERWRITE') && IMAGE_EDIT_OVERWRITE ) {
                                // delete only if it's edited image
                                if ( preg_match('/-e[0-9]{13}\./', $parts['basename']) ) {
+
                                        /** This filter is documented in wp-admin/custom-header.php */
-                                       $delpath = apply_filters('wp_delete_file', $file);
+                                       $delpath = apply_filters( 'wp_delete_file', $file );
                                        @unlink($delpath);
                                }
                        } elseif ( isset( $meta['width'], $meta['height'] ) ) {
@@ -560,6 +639,8 @@ function wp_restore_image($post_id) {
  * @return \stdClass
  */
 function wp_save_image( $post_id ) {
+       global $_wp_additional_image_sizes;
+
        $return = new stdClass;
        $success = $delete = $scaled = $nocrop = false;
        $post = get_post( $post_id );
@@ -694,8 +775,17 @@ function wp_save_image( $post_id ) {
                                        $backup_sizes[$tag] = $meta['sizes'][$size];
                        }
 
-                       $crop = $nocrop ? false : get_option("{$size}_crop");
-                       $_sizes[ $size ] = array( 'width' => get_option("{$size}_size_w"), 'height' => get_option("{$size}_size_h"), 'crop' => $crop );
+                       if ( isset( $_wp_additional_image_sizes[ $size ] ) ) {
+                               $width  = intval( $_wp_additional_image_sizes[ $size ]['width'] );
+                               $height = intval( $_wp_additional_image_sizes[ $size ]['height'] );
+                               $crop   = ( $nocrop ) ? false : $_wp_additional_image_sizes[ $size ]['crop'];
+                       } else {
+                               $height = get_option( "{$size}_size_h" );
+                               $width  = get_option( "{$size}_size_w" );
+                               $crop   = ( $nocrop ) ? false : get_option( "{$size}_crop" );
+                       }
+
+                       $_sizes[ $size ] = array( 'width' => $width, 'height' => $height, 'crop' => $crop );
                }
 
                $meta['sizes'] = array_merge( $meta['sizes'], $img->multi_resize( $_sizes ) );
@@ -725,8 +815,9 @@ function wp_save_image( $post_id ) {
        }
 
        if ( $delete ) {
+
                /** This filter is documented in wp-admin/custom-header.php */
-               $delpath = apply_filters('wp_delete_file', $new_path);
+               $delpath = apply_filters( 'wp_delete_file', $new_path );
                @unlink( $delpath );
        }
 
index 61f527a569581cbe99fe3ac254f8d590e8d2b82e..5799d28e6234c26ca42d38f10888404fe5185002 100644 (file)
@@ -97,11 +97,18 @@ function wp_generate_attachment_metadata( $attachment_id, $file ) {
                        else
                                $sizes[$s]['height'] = get_option( "{$s}_size_h" ); // For default sizes set in options
                        if ( isset( $_wp_additional_image_sizes[$s]['crop'] ) )
-                               $sizes[$s]['crop'] = intval( $_wp_additional_image_sizes[$s]['crop'] ); // For theme-added sizes
+                               $sizes[$s]['crop'] = $_wp_additional_image_sizes[$s]['crop']; // For theme-added sizes
                        else
                                $sizes[$s]['crop'] = get_option( "{$s}_crop" ); // For default sizes set in options
                }
 
+               /**
+                * Filter the image sizes automatically generated when uploading an image.
+                *
+                * @since 2.9.0
+                *
+                * @param array $sizes An associative array of image sizes.
+                */
                $sizes = apply_filters( 'intermediate_image_sizes_advanced', $sizes );
 
                if ( $sizes ) {
@@ -120,34 +127,63 @@ function wp_generate_attachment_metadata( $attachment_id, $file ) {
 
        } elseif ( preg_match( '#^video/#', get_post_mime_type( $attachment ) ) ) {
                $metadata = wp_read_video_metadata( $file );
-               $support = current_theme_supports( 'post-thumbnails', 'attachment:video' ) && post_type_supports( 'attachment:video', 'thumbnail' );
+               $support = current_theme_supports( 'post-thumbnails', 'attachment:video' ) || post_type_supports( 'attachment:video', 'thumbnail' );
        } elseif ( preg_match( '#^audio/#', get_post_mime_type( $attachment ) ) ) {
                $metadata = wp_read_audio_metadata( $file );
-               $support = current_theme_supports( 'post-thumbnails', 'attachment:audio' ) && post_type_supports( 'attachment:audio', 'thumbnail' );
+               $support = current_theme_supports( 'post-thumbnails', 'attachment:audio' ) || post_type_supports( 'attachment:audio', 'thumbnail' );
        }
 
        if ( $support && ! empty( $metadata['image']['data'] ) ) {
-               $ext = '.jpg';
-               switch ( $metadata['image']['mime'] ) {
-               case 'image/gif':
-                       $ext = '.gif';
-                       break;
-               case 'image/png':
-                       $ext = '.png';
-                       break;
-               }
-               $basename = str_replace( '.', '-', basename( $file ) ) . '-image' . $ext;
-               $uploaded = wp_upload_bits( $basename, '', $metadata['image']['data'] );
-               if ( false === $uploaded['error'] ) {
-                       $attachment = array(
-                               'post_mime_type' => $metadata['image']['mime'],
-                               'post_type' => 'attachment',
-                               'post_content' => '',
-                       );
-                       $sub_attachment_id = wp_insert_attachment( $attachment, $uploaded['file'] );
-                       $attach_data = wp_generate_attachment_metadata( $sub_attachment_id, $uploaded['file'] );
-                       wp_update_attachment_metadata( $sub_attachment_id, $attach_data );
-                       update_post_meta( $attachment_id, '_thumbnail_id', $sub_attachment_id );
+               // check for existing cover
+               $hash = md5( $metadata['image']['data'] );
+               $posts = get_posts( array(
+                       'fields' => 'ids',
+                       'post_type' => 'attachment',
+                       'post_mime_type' => $metadata['image']['mime'],
+                       'post_status' => 'inherit',
+                       'posts_per_page' => 1,
+                       'meta_key' => '_cover_hash',
+                       'meta_value' => $hash
+               ) );
+               $exists = reset( $posts );
+
+               if ( ! empty( $exists ) ) {
+                       update_post_meta( $attachment_id, '_thumbnail_id', $exists );
+               } else {
+                       $ext = '.jpg';
+                       switch ( $metadata['image']['mime'] ) {
+                       case 'image/gif':
+                               $ext = '.gif';
+                               break;
+                       case 'image/png':
+                               $ext = '.png';
+                               break;
+                       }
+                       $basename = str_replace( '.', '-', basename( $file ) ) . '-image' . $ext;
+                       $uploaded = wp_upload_bits( $basename, '', $metadata['image']['data'] );
+                       if ( false === $uploaded['error'] ) {
+                               $image_attachment = array(
+                                       'post_mime_type' => $metadata['image']['mime'],
+                                       'post_type' => 'attachment',
+                                       'post_content' => '',
+                               );
+                               /**
+                                * Filter the parameters for the attachment thumbnail creation.
+                                *
+                                * @since 3.9.0
+                                *
+                                * @param array $image_attachment An array of parameters to create the thumbnail.
+                                * @param array $metadata         Current attachment metadata.
+                                * @param array $uploaded         An array containing the thumbnail path and url.
+                                */
+                               $image_attachment = apply_filters( 'attachment_thumbnail_args', $image_attachment, $metadata, $uploaded );
+
+                               $sub_attachment_id = wp_insert_attachment( $image_attachment, $uploaded['file'] );
+                               add_post_meta( $sub_attachment_id, '_cover_hash', $hash );
+                               $attach_data = wp_generate_attachment_metadata( $sub_attachment_id, $uploaded['file'] );
+                               wp_update_attachment_metadata( $sub_attachment_id, $attach_data );
+                               update_post_meta( $attachment_id, '_thumbnail_id', $sub_attachment_id );
+                       }
                }
        }
 
@@ -155,6 +191,14 @@ function wp_generate_attachment_metadata( $attachment_id, $file ) {
        if ( isset( $metadata['image']['data'] ) )
                unset( $metadata['image']['data'] );
 
+       /**
+        * Filter the generated attachment meta data.
+        *
+        * @since 2.1.0
+        *
+        * @param array $metadata      An array of attachment meta data.
+        * @param int   $attachment_id Current attachment ID.
+        */
        return apply_filters( 'wp_generate_attachment_metadata', $metadata, $attachment_id );
 }
 
@@ -268,7 +312,13 @@ function wp_read_image_metadata( $file ) {
                 }
        }
 
-       // fetch additional info from exif if available
+       /**
+        * Filter the image types to check for exif data.
+        *
+        * @since 2.5.0
+        *
+        * @param array $image_types Image types to check for exif data.
+        */
        if ( is_callable( 'exif_read_data' ) && in_array( $sourceImageType, apply_filters( 'wp_read_image_metadata_types', array( IMAGETYPE_JPEG, IMAGETYPE_TIFF_II, IMAGETYPE_TIFF_MM ) ) ) ) {
                $exif = @exif_read_data( $file );
 
@@ -316,6 +366,15 @@ function wp_read_image_metadata( $file ) {
                        $meta[ $key ] = utf8_encode( $meta[ $key ] );
        }
 
+       /**
+        * Filter the array of meta data read from an image's exif data.
+        *
+        * @since 2.5.0
+        *
+        * @param array  $meta            Image meta data.
+        * @param string $file            Path to image file.
+        * @param int    $sourceImageType Type of image.
+        */
        return apply_filters( 'wp_read_image_metadata', $meta, $file, $sourceImageType );
 
 }
@@ -337,7 +396,6 @@ function file_is_valid_image($path) {
  * Validate that file is suitable for displaying within a web page.
  *
  * @since 2.5.0
- * @uses apply_filters() Calls 'file_is_displayable_image' on $result and $path.
  *
  * @param string $path File path to test.
  * @return bool True if suitable, false if not suitable.
@@ -351,7 +409,15 @@ function file_is_displayable_image($path) {
        else
                $result = true;
 
-       return apply_filters('file_is_displayable_image', $result, $path);
+       /**
+        * Filter whether the current image is displayable in the browser.
+        *
+        * @since 2.5.0
+        *
+        * @param bool   $result Whether the image can be displayed. Default true.
+        * @param string $path   Path to the image.
+        */
+       return apply_filters( 'file_is_displayable_image', $result, $path );
 }
 
 /**
@@ -384,7 +450,16 @@ function load_image_to_edit( $attachment_id, $mime_type, $size = 'full' ) {
                        break;
        }
        if ( is_resource($image) ) {
-               $image = apply_filters('load_image_to_edit', $image, $attachment_id, $size);
+               /**
+                * Filter the current image being loaded for editing.
+                *
+                * @since 2.9.0
+                *
+                * @param resource $image         Current image.
+                * @param string   $attachment_id Attachment ID.
+                * @param string   $size          Image size.
+                */
+               $image = apply_filters( 'load_image_to_edit', $image, $attachment_id, $size );
                if ( function_exists('imagealphablending') && function_exists('imagesavealpha') ) {
                        imagealphablending($image, false);
                        imagesavealpha($image, true);
@@ -411,12 +486,43 @@ function _load_image_to_edit_path( $attachment_id, $size = 'full' ) {
 
        if ( $filepath && file_exists( $filepath ) ) {
                if ( 'full' != $size && ( $data = image_get_intermediate_size( $attachment_id, $size ) ) ) {
+                       /**
+                        * Filter the path to the current image.
+                        *
+                        * The filter is evaluated for all image sizes except 'full'.
+                        *
+                        * @since 3.1.0
+                        *
+                        * @param string $path          Path to the current image.
+                        * @param string $attachment_id Attachment ID.
+                        * @param string $size          Size of the image.
+                        */
                        $filepath = apply_filters( 'load_image_to_edit_filesystempath', path_join( dirname( $filepath ), $data['file'] ), $attachment_id, $size );
                }
        } elseif ( function_exists( 'fopen' ) && function_exists( 'ini_get' ) && true == ini_get( 'allow_url_fopen' ) ) {
+               /**
+                * Filter the image URL if not in the local filesystem.
+                *
+                * The filter is only evaluated if fopen is enabled on the server.
+                *
+                * @since 3.1.0
+                *
+                * @param string $image_url     Current image URL.
+                * @param string $attachment_id Attachment ID.
+                * @param string $size          Size of the image.
+                */
                $filepath = apply_filters( 'load_image_to_edit_attachmenturl', wp_get_attachment_url( $attachment_id ), $attachment_id, $size );
        }
 
+       /**
+        * Filter the returned path or URL of the current image.
+        *
+        * @since 2.9.0
+        *
+        * @param string|bool $filepath      File path or URL to current image, or false.
+        * @param string      $attachment_id Attachment ID.
+        * @param string      $size          Size of the image.
+        */
        return apply_filters( 'load_image_to_edit_path', $filepath, $attachment_id, $size );
 }
 
index 590a54f527df5489065fb1275870d3b85bfbf2a0..f01eb8734ddfec90488c8f2b54a1049601b63b31 100644 (file)
  */
 function get_importers() {
        global $wp_importers;
-       if ( is_array($wp_importers) )
-               uasort($wp_importers, create_function('$a, $b', 'return strcmp($a[0], $b[0]);'));
+       if ( is_array( $wp_importers ) ) {
+               uasort( $wp_importers, '_usort_by_first_member' );
+       }
        return $wp_importers;
 }
 
+/**
+ * Sorts a multidimensional array by first member of each top level member
+ *
+ * Used by uasort() as a callback, should not be used directly.
+ *
+ * @since 2.9.0
+ * @access private
+ *
+ * @param array $a
+ * @param array $b
+ * @return int
+ */
+function _usort_by_first_member( $a, $b ) {
+       return strnatcasecmp( $a[0], $b[0] );
+}
+
 /**
  * Register importer for WordPress.
  *
index e2f78d63f4bfeace2313ad417e80feecc382defd..06cd1c1283530d0e413037f4e9a512e869cef86d 100644 (file)
@@ -21,7 +21,14 @@ function media_upload_tabs() {
                'library' => __('Media Library')
        );
 
-       return apply_filters('media_upload_tabs', $_default_tabs);
+       /**
+        * Filter the available tabs in the legacy (pre-3.5.0) media popup.
+        *
+        * @since 2.5.0
+        *
+        * @param array $_default_tabs An array of media tabs.
+        */
+       return apply_filters( 'media_upload_tabs', $_default_tabs );
 }
 
 /**
@@ -68,12 +75,14 @@ function the_media_upload_tabs() {
 
        if ( !empty($tabs) ) {
                echo "<ul id='sidemenu'>\n";
-               if ( isset($redir_tab) && array_key_exists($redir_tab, $tabs) )
+               if ( isset($redir_tab) && array_key_exists($redir_tab, $tabs) ) {
                        $current = $redir_tab;
-               elseif ( isset($_GET['tab']) && array_key_exists($_GET['tab'], $tabs) )
+               } elseif ( isset($_GET['tab']) && array_key_exists($_GET['tab'], $tabs) ) {
                        $current = $_GET['tab'];
-               else
-                       $current = apply_filters('media_upload_default_tab', $default);
+               } else {
+                       /** This filter is documented in wp-admin/media-upload.php */
+                       $current = apply_filters( 'media_upload_default_tab', $default );
+               }
 
                foreach ( $tabs as $callback => $text ) {
                        $class = '';
@@ -113,6 +122,20 @@ function get_image_send_to_editor($id, $caption, $title, $align, $url='', $rel =
        if ( $url )
                $html = '<a href="' . esc_attr($url) . "\"$rel>$html</a>";
 
+       /**
+        * Filter the image HTML markup to send to the editor.
+        *
+        * @since 2.5.0
+        *
+        * @param string $html    The image HTML markup to send.
+        * @param int    $id      The attachment id.
+        * @param string $caption The image caption.
+        * @param string $title   The image title.
+        * @param string $align   The image alignment.
+        * @param string $url     The image source URL.
+        * @param string $size    The image size.
+        * @param string $alt     The image alternative, or alt, text.
+        */
        $html = apply_filters( 'image_send_to_editor', $html, $id, $caption, $title, $align, $url, $size, $alt );
 
        return $html;
@@ -135,6 +158,16 @@ function get_image_send_to_editor($id, $caption, $title, $align, $url='', $rel =
  */
 function image_add_caption( $html, $id, $caption, $title, $align, $url, $size, $alt = '' ) {
 
+       /**
+        * Filter whether to disable captions.
+        *
+        * Prevents image captions from being appended to image HTML when inserted into the editor.
+        *
+        * @since 2.6.0
+        *
+        * @param bool $bool Whether to disable appending captions. Returning true to the filter
+        *                   will disable captions. Default empty string.
+        */
        if ( empty($caption) || apply_filters( 'disable_captions', '' ) )
                return $html;
 
@@ -156,6 +189,14 @@ function image_add_caption( $html, $id, $caption, $title, $align, $url, $size, $
 
        $shcode = '[caption id="' . $id . '" align="align' . $align     . '" width="' . $width . '"]' . $html . ' ' . $caption . '[/caption]';
 
+       /**
+        * Filter the image HTML markup including the caption shortcode.
+        *
+        * @since 2.6.0
+        *
+        * @param string $shcode The image HTML markup with caption shortcode.
+        * @param string $html   The image HTML markup.
+        */
        return apply_filters( 'image_add_caption_shortcode', $shcode, $html );
 }
 add_filter( 'image_send_to_editor', 'image_add_caption', 20, 8 );
@@ -199,7 +240,7 @@ win.send_to_editor('<?php echo addslashes($html); ?>');
  * @param int $post_id The post ID the media is associated with
  * @param array $post_data allows you to overwrite some of the attachment
  * @param array $overrides allows you to override the {@link wp_handle_upload()} behavior
- * @return int the ID of the attachment
+ * @return int|WP_Error ID of the attachment or a WP_Error object on failure.
  */
 function media_handle_upload($file_id, $post_id, $post_data = array(), $overrides = array( 'test_form' => false )) {
 
@@ -397,16 +438,54 @@ isRtl = <?php echo (int) is_rtl(); ?>;
 //]]>
 </script>
 <?php
-do_action('admin_enqueue_scripts', 'media-upload-popup');
-do_action('admin_print_styles-media-upload-popup');
-do_action('admin_print_styles');
-do_action('admin_print_scripts-media-upload-popup');
-do_action('admin_print_scripts');
-do_action('admin_head-media-upload-popup');
-do_action('admin_head');
-
-if ( is_string($content_func) )
+       /** This action is documented in wp-admin/admin-header.php */
+       do_action( 'admin_enqueue_scripts', 'media-upload-popup' );
+
+       /**
+        * Fires when admin styles enqueued for the legacy (pre-3.5.0) media upload popup are printed.
+        *
+        * @since 2.9.0
+        */
+       do_action( 'admin_print_styles-media-upload-popup' );
+
+       /** This action is documented in wp-admin/admin-header.php */
+       do_action( 'admin_print_styles' );
+
+       /**
+        * Fires when admin scripts enqueued for the legacy (pre-3.5.0) media upload popup are printed.
+        *
+        * @since 2.9.0
+        */
+       do_action( 'admin_print_scripts-media-upload-popup' );
+
+       /** This action is documented in wp-admin/admin-header.php */
+       do_action( 'admin_print_scripts' );
+
+       /**
+        * Fires when scripts enqueued for the admin header for the legacy (pre-3.5.0)
+        * media upload popup are printed.
+        *
+        * @since 2.9.0
+        */
+       do_action( 'admin_head-media-upload-popup' );
+
+       /** This action is documented in wp-admin/admin-header.php */
+       do_action( 'admin_head' );
+
+if ( is_string( $content_func ) ) {
+       /**
+        * Fires in the admin header for each specific form tab in the legacy
+        * (pre-3.5.0) media upload popup.
+        *
+        * The dynamic portion of the hook, $content_func, refers to the form
+        * callback for the media upload type. Possible values include
+        * 'media_upload_type_form', 'media_upload_type_url_form', and
+        * 'media_upload_library_form'.
+        *
+        * @since 2.5.0
+        */
        do_action( "admin_head_{$content_func}" );
+}
 ?>
 </head>
 <body<?php if ( isset($GLOBALS['body_id']) ) echo ' id="' . $GLOBALS['body_id'] . '"'; ?> class="wp-core-ui no-js">
@@ -418,7 +497,8 @@ document.body.className = document.body.className.replace('no-js', 'js');
        $args = array_slice($args, 1);
        call_user_func_array($content_func, $args);
 
-       do_action('admin_print_footer_scripts');
+       /** This action is documented in wp-admin/admin-footer.php */
+       do_action( 'admin_print_footer_scripts' );
 ?>
 <script type="text/javascript">if(typeof wpOnload=='function')wpOnload();</script>
 </body>
@@ -446,8 +526,15 @@ function media_buttons($editor_id = 'content') {
 
        echo '<a href="#" id="insert-media-button" class="button insert-media add_media" data-editor="' . esc_attr( $editor_id ) . '" title="' . esc_attr__( 'Add Media' ) . '">' . $img . __( 'Add Media' ) . '</a>';
 
-       // Don't use this filter. Want to add a button? Use the media_buttons action.
-       $legacy_filter = apply_filters('media_buttons_context', ''); // deprecated
+       /**
+        * Filter the legacy (pre-3.5.0) media buttons.
+        *
+        * @since 2.5.0
+        * @deprecated 3.5.0 Use 'media_buttons' action instead.
+        *
+        * @param string $string Media buttons context. Default empty.
+        */
+       $legacy_filter = apply_filters( 'media_buttons_context', '' );
 
        if ( $legacy_filter ) {
                // #WP22559. Close <a> if a plugin started by closing <a> to open their own <a> tag.
@@ -472,7 +559,17 @@ function get_upload_iframe_src( $type = null, $post_id = null, $tab = null ) {
        if ( ! empty( $tab ) )
                $upload_iframe_src = add_query_arg('tab', $tab, $upload_iframe_src);
 
-       $upload_iframe_src = apply_filters($type . '_upload_iframe_src', $upload_iframe_src);
+       /**
+        * Filter the upload iframe source URL for a specific media type.
+        *
+        * The dynamic portion of the hook name, $type, refers to the type
+        * of media uploaded.
+        *
+        * @since 3.0.0
+        *
+        * @param string $upload_iframe_src The upload iframe source URL by type.
+        */
+       $upload_iframe_src = apply_filters( $type . '_upload_iframe_src', $upload_iframe_src );
 
        return add_query_arg('TB_iframe', true, $upload_iframe_src);
 }
@@ -514,7 +611,17 @@ function media_upload_form_handler() {
                                $post['post_parent'] = $attachment['post_parent'];
                }
 
-               $post = apply_filters('attachment_fields_to_save', $post, $attachment);
+               /**
+                * Filter the attachment fields to be saved.
+                *
+                * @since 2.5.0
+                *
+                * @see wp_get_attachment_metadata()
+                *
+                * @param WP_Post $post       The WP_Post object.
+                * @param array   $attachment An array of attachment metadata.
+                */
+               $post = apply_filters( 'attachment_fields_to_save', $post, $attachment );
 
                if ( isset($attachment['image_alt']) ) {
                        $image_alt = wp_unslash( $attachment['image_alt'] );
@@ -561,7 +668,18 @@ function media_upload_form_handler() {
                        $html = "<a href='{$attachment['url']}'$rel>$html</a>";
                }
 
-               $html = apply_filters('media_send_to_editor', $html, $send_id, $attachment);
+               /**
+                * Filter the HTML markup for a media item sent to the editor.
+                *
+                * @since 2.5.0
+                *
+                * @see wp_get_attachment_metadata()
+                *
+                * @param string $html       HTML markup for a media item sent to the editor.
+                * @param int    $send_id    The first key from the $_POST['send'] data.
+                * @param array  $attachment Array of attachment metadata.
+                */
+               $html = apply_filters( 'media_send_to_editor', $html, $send_id, $attachment );
                return media_send_to_editor($html);
        }
 
@@ -608,6 +726,18 @@ function wp_media_upload_handler() {
                                && ( 'audio' == $ext_type || 'video' == $ext_type ) )
                                        $type = $ext_type;
 
+                       /**
+                        * Filter the URL sent to the editor for a specific media type.
+                        *
+                        * The dynamic portion of the hook name, $type, refers to the type
+                        * of media being sent.
+                        *
+                        * @since 3.3.0
+                        *
+                        * @param string $html  HTML markup sent to the editor.
+                        * @param string $src   Media source URL.
+                        * @param string $title Media title.
+                        */
                        $html = apply_filters( $type . '_send_to_editor_url', $html, esc_url_raw( $src ), $title );
                } else {
                        $align = '';
@@ -619,6 +749,17 @@ function wp_media_upload_handler() {
                        if ( !empty($src) )
                                $html = "<img src='" . esc_url($src) . "' alt='$alt'$class />";
 
+                       /**
+                        * Filter the image URL sent to the editor.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param string $html  HTML markup sent to the editor for an image.
+                        * @param string $src   Image source URL.
+                        * @param string $alt   Image alternate, or alt, text.
+                        * @param string $align The image alignment. Default 'alignnone'. Possible values include
+                        *                      'alignleft', 'aligncenter', 'alignright', 'alignnone'.
+                        */
                        $html = apply_filters( 'image_send_to_editor_url', $html, esc_url_raw( $src ), $alt, $align );
                }
 
@@ -761,7 +902,7 @@ function image_align_input_fields( $post, $checked = '' ) {
        foreach ( $alignments as $name => $label ) {
                $name = esc_attr($name);
                $out[] = "<input type='radio' name='attachments[{$post->ID}][align]' id='image-align-{$name}-{$post->ID}' value='$name'".
-                       ( $checked == $name ? " checked='checked'" : "" ) .
+                       ( $checked == $name ? " checked='checked'" : "" ) .
                        " /><label for='image-align-{$name}-{$post->ID}' class='align image-align-{$name}-label'>$label</label>";
        }
        return join("\n", $out);
@@ -778,8 +919,20 @@ function image_align_input_fields( $post, $checked = '' ) {
  */
 function image_size_input_fields( $post, $check = '' ) {
 
-               // get a list of the actual pixel dimensions of each possible intermediate version of this image
-               $size_names = apply_filters( 'image_size_names_choose', array('thumbnail' => __('Thumbnail'), 'medium' => __('Medium'), 'large' => __('Large'), 'full' => __('Full Size')) );
+       /**
+        * Filter the names and labels of the default image sizes.
+        *
+        * @since 3.3.0
+        *
+        * @param array $size_names Array of image sizes and their names. Default values
+        *                          include 'Thumbnail', 'Medium', 'Large', 'Full Size'.
+        */
+       $size_names = apply_filters( 'image_size_names_choose', array(
+               'thumbnail' => __( 'Thumbnail' ),
+               'medium'    => __( 'Medium' ),
+               'large'     => __( 'Large' ),
+               'full'      => __( 'Full Size' )
+       ) );
 
                if ( empty($check) )
                        $check = get_user_setting('imgsize', 'medium');
@@ -1061,7 +1214,15 @@ function get_attachment_fields_to_edit($post, $errors = null) {
                unset( $form_fields['image_alt'] );
        }
 
-       $form_fields = apply_filters('attachment_fields_to_edit', $form_fields, $post);
+       /**
+        * Filter the attachment fields to edit.
+        *
+        * @since 2.5.0
+        *
+        * @param array   $form_fields An array of attachment form fields.
+        * @param WP_Post $post        The WP_Post attachment object.
+        */
+       $form_fields = apply_filters( 'attachment_fields_to_edit', $form_fields, $post );
 
        return $form_fields;
 }
@@ -1126,6 +1287,16 @@ function get_media_item( $attachment_id, $args = null ) {
 
        $default_args = array( 'errors' => null, 'send' => $current_post_id ? post_type_supports( get_post_type( $current_post_id ), 'editor' ) : true, 'delete' => true, 'toggle' => true, 'show_title' => true );
        $args = wp_parse_args( $args, $default_args );
+
+       /**
+        * Filter the arguments used to retrieve an image for the edit image form.
+        *
+        * @since 3.1.0
+        *
+        * @see get_media_item
+        *
+        * @param array $args An array of arguments.
+        */
        $args = apply_filters( 'get_media_item_args', $args );
        extract( $args, EXTR_SKIP );
 
@@ -1180,6 +1351,15 @@ function get_media_item( $attachment_id, $args = null ) {
        $meta = wp_get_attachment_metadata( $post->ID );
        if ( isset( $meta['width'], $meta['height'] ) )
                $media_dims .= "<span id='media-dims-$post->ID'>{$meta['width']}&nbsp;&times;&nbsp;{$meta['height']}</span> ";
+
+       /**
+        * Filter the media metadata.
+        *
+        * @since 2.5.0
+        *
+        * @param string  $media_dims The HTML markup containing the media dimensions.
+        * @param WP_Post $post       The WP_Post attachment object.
+        */
        $media_dims = apply_filters( 'media_meta', $media_dims, $post );
 
        $image_edit_button = '';
@@ -1197,7 +1377,7 @@ function get_media_item( $attachment_id, $args = null ) {
        $display_title
        <table class='slidetoggle describe $class'>
                <thead class='media-item-info' id='media-head-$post->ID'>
-               <tr valign='top'>
+               <tr>
                        <td class='A1B1' id='thumbnail-head-$post->ID'>
                        <p><a href='$attachment_url' target='_blank'><img class='thumbnail' src='$thumb_url' alt='' /></a></p>
                        <p>$image_edit_button</p>
@@ -1282,7 +1462,7 @@ function get_media_item( $attachment_id, $args = null ) {
                $class  = $id;
                $class .= $field['required'] ? ' form-required' : '';
 
-               $item .= "\t\t<tr class='$class'>\n\t\t\t<th valign='top' scope='row' class='label'><label for='$name'><span class='alignleft'>{$field['label']}</span>$required<br class='clear' /></label></th>\n\t\t\t<td class='field'>";
+               $item .= "\t\t<tr class='$class'>\n\t\t\t<th scope='row' class='label'><label for='$name'><span class='alignleft'>{$field['label']}</span>$required<br class='clear' /></label></th>\n\t\t\t<td class='field'>";
                if ( !empty( $field[ $field['input'] ] ) )
                        $item .= $field[ $field['input'] ];
                elseif ( $field['input'] == 'textarea' ) {
@@ -1343,6 +1523,8 @@ function get_compat_media_markup( $attachment_id, $args = null ) {
        $user_can_edit = current_user_can( 'edit_post', $attachment_id );
 
        $args = wp_parse_args( $args, $default_args );
+
+       /** This filter is documented in wp-admin/includes/media.php */
        $args = apply_filters( 'get_media_item_args', $args );
 
        $form_fields = array();
@@ -1376,21 +1558,23 @@ function get_compat_media_markup( $attachment_id, $args = null ) {
        // The recursive merge is easily traversed with array casting: foreach( (array) $things as $thing )
        $form_fields = array_merge_recursive($form_fields, (array) $args['errors'] );
 
+       /** This filter is documented in wp-admin/includes/media.php */
        $form_fields = apply_filters( 'attachment_fields_to_edit', $form_fields, $post );
 
        unset( $form_fields['image-size'], $form_fields['align'], $form_fields['image_alt'],
                $form_fields['post_title'], $form_fields['post_excerpt'], $form_fields['post_content'],
                $form_fields['url'], $form_fields['menu_order'], $form_fields['image_url'] );
 
+       /** This filter is documented in wp-admin/includes/media.php */
        $media_meta = apply_filters( 'media_meta', '', $post );
 
        $defaults = array(
                'input'         => 'text',
-               'required'      => false,
-               'value'         => '',
-               'extra_rows'    => array(),
-               'show_in_edit'  => true,
-               'show_in_modal' => true,
+               'required'      => false,
+               'value'         => '',
+               'extra_rows'    => array(),
+               'show_in_edit'  => true,
+               'show_in_modal' => true,
        );
 
        $hidden_fields = array();
@@ -1425,7 +1609,7 @@ function get_compat_media_markup( $attachment_id, $args = null ) {
                $class .= $field['required'] ? ' form-required' : '';
 
                $item .= "\t\t<tr class='$class'>";
-               $item .= "\t\t\t<th valign='top' scope='row' class='label'><label for='$id_attr'><span class='alignleft'>{$field['label']}</span>$required<br class='clear' /></label>";
+               $item .= "\t\t\t<th scope='row' class='label'><label for='$id_attr'><span class='alignleft'>{$field['label']}</span>$required<br class='clear' /></label>";
                $item .= "</th>\n\t\t\t<td class='field'>";
 
                if ( !empty( $field[ $field['input'] ] ) )
@@ -1503,7 +1687,7 @@ function media_upload_form( $errors = null ) {
        global $type, $tab, $is_IE, $is_opera;
 
        if ( ! _device_can_upload() ) {
-               echo '<p>' . sprintf( __('The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.'), 'http://wordpress.org/mobile/' ) . '</p>';
+               echo '<p>' . sprintf( __('The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.'), 'https://wordpress.org/mobile/' ) . '</p>';
                return;
        }
 
@@ -1541,11 +1725,21 @@ function media_upload_form( $errors = null ) {
 ?></div>
 <?php
 if ( is_multisite() && !is_upload_space_available() ) {
+       /**
+        * Fires when an upload will exceed the defined upload space quota for a network site.
+        *
+        * @since 3.5.0
+        */
        do_action( 'upload_ui_over_quota' );
        return;
 }
 
-do_action('pre-upload-ui');
+/**
+ * Fires just before the legacy (pre-3.5.0) upload interface is loaded.
+ *
+ * @since 2.6.0
+ */
+do_action( 'pre-upload-ui' );
 
 $post_params = array(
                "post_id" => $post_id,
@@ -1555,23 +1749,29 @@ $post_params = array(
                "short" => "1",
 );
 
-$post_params = apply_filters( 'upload_post_params', $post_params ); // hook change! old name: 'swfupload_post_params'
+/**
+ * Filter the media upload post parameters.
+ *
+ * @since 3.1.0 As 'swfupload_post_params'
+ * @since 3.3.0
+ *
+ * @param array $post_params An array of media upload parameters used by Plupload.
+ */
+$post_params = apply_filters( 'upload_post_params', $post_params );
 
 $plupload_init = array(
-       'runtimes' => 'html5,silverlight,flash,html4',
-       'browse_button' => 'plupload-browse-button',
-       'container' => 'plupload-upload-ui',
-       'drop_element' => 'drag-drop-area',
-       'file_data_name' => 'async-upload',
-       'multiple_queues' => true,
-       'max_file_size' => $max_upload_size . 'b',
-       'url' => $upload_action_url,
-       'flash_swf_url' => includes_url('js/plupload/plupload.flash.swf'),
-       'silverlight_xap_url' => includes_url('js/plupload/plupload.silverlight.xap'),
-       'filters' => array( array('title' => __( 'Allowed Files' ), 'extensions' => '*') ),
-       'multipart' => true,
-       'urlstream_upload' => true,
-       'multipart_params' => $post_params
+       'runtimes'            => 'html5,flash,silverlight,html4',
+       'browse_button'       => 'plupload-browse-button',
+       'container'           => 'plupload-upload-ui',
+       'drop_element'        => 'drag-drop-area',
+       'file_data_name'      => 'async-upload',
+       'url'                 => $upload_action_url,
+       'flash_swf_url'       => includes_url( 'js/plupload/plupload.flash.swf' ),
+       'silverlight_xap_url' => includes_url( 'js/plupload/plupload.silverlight.xap' ),
+       'filters' => array(
+               'max_file_size'   => $max_upload_size . 'b',
+       ),
+       'multipart_params'    => $post_params,
 );
 
 // Multi-file uploading doesn't currently work in iOS Safari,
@@ -1579,6 +1779,13 @@ $plupload_init = array(
 if ( wp_is_mobile() )
        $plupload_init['multi_selection'] = false;
 
+/**
+ * Filter the default Plupload settings.
+ *
+ * @since 3.3.0
+ *
+ * @param array $plupload_init An array of default settings used by Plupload.
+ */
 $plupload_init = apply_filters( 'plupload_init', $plupload_init );
 
 ?>
@@ -1598,7 +1805,14 @@ wpUploaderInit = <?php echo json_encode($plupload_init); ?>;
 </script>
 
 <div id="plupload-upload-ui" class="hide-if-no-js">
-<?php do_action('pre-plupload-upload-ui'); // hook change, old name: 'pre-flash-upload-ui' ?>
+<?php
+/**
+ * Fires before the upload interface loads.
+ *
+ * @since 2.6.0 As 'pre-flash-upload-ui'
+ * @since 3.3.0
+ */
+do_action( 'pre-plupload-upload-ui' ); ?>
 <div id="drag-drop-area">
        <div class="drag-drop-inside">
        <p class="drag-drop-info"><?php _e('Drop files here'); ?></p>
@@ -1606,11 +1820,25 @@ wpUploaderInit = <?php echo json_encode($plupload_init); ?>;
        <p class="drag-drop-buttons"><input id="plupload-browse-button" type="button" value="<?php esc_attr_e('Select Files'); ?>" class="button" /></p>
        </div>
 </div>
-<?php do_action('post-plupload-upload-ui'); // hook change, old name: 'post-flash-upload-ui' ?>
+<?php
+/**
+ * Fires after the upload interface loads.
+ *
+ * @since 2.6.0 As 'post-flash-upload-ui'
+ * @since 3.3.0
+ */
+do_action( 'post-plupload-upload-ui' ); ?>
 </div>
 
 <div id="html-upload-ui" class="hide-if-js">
-<?php do_action('pre-html-upload-ui'); ?>
+       <?php
+       /**
+        * Fires before the upload button in the media upload interface.
+        *
+        * @since 2.6.0
+        */
+       do_action( 'pre-html-upload-ui' );
+       ?>
        <p id="async-upload-wrap">
                <label class="screen-reader-text" for="async-upload"><?php _e('Upload'); ?></label>
                <input type="file" name="async-upload" id="async-upload" />
@@ -1618,16 +1846,27 @@ wpUploaderInit = <?php echo json_encode($plupload_init); ?>;
                <a href="#" onclick="try{top.tb_remove();}catch(e){}; return false;"><?php _e('Cancel'); ?></a>
        </p>
        <div class="clear"></div>
-<?php do_action('post-html-upload-ui'); ?>
+<?php
+/**
+ * Fires after the upload button in the media upload interface.
+ *
+ * @since 2.6.0
+ */
+do_action( 'post-html-upload-ui' );
+?>
 </div>
 
 <span class="max-upload-size"><?php printf( __( 'Maximum upload file size: %d%s.' ), esc_html($upload_size_unit), esc_html($sizes[$u]) ); ?></span>
 <?php
-if ( ($is_IE || $is_opera) && $max_upload_size > 100 * 1024 * 1024 ) { ?>
-       <span class="big-file-warning"><?php _e('Your browser has some limitations uploading large files with the multi-file uploader. Please use the browser uploader for files over 100MB.'); ?></span>
-<?php }
 
-       do_action('post-upload-ui');
+       /**
+        * Fires on the post upload UI screen.
+        *
+        * Legacy (pre-3.5.0) media workflow hook.
+        *
+        * @since 2.6.0
+        */
+       do_action( 'post-upload-ui' );
 }
 
 /**
@@ -1646,7 +1885,16 @@ function media_upload_type_form($type = 'file', $errors = null, $id = null) {
        $post_id = isset( $_REQUEST['post_id'] )? intval( $_REQUEST['post_id'] ) : 0;
 
        $form_action_url = admin_url("media-upload.php?type=$type&tab=type&post_id=$post_id");
-       $form_action_url = apply_filters('media_upload_form_url', $form_action_url, $type);
+
+       /**
+        * Filter the media upload form action URL.
+        *
+        * @since 2.6.0
+        *
+        * @param string $form_action_url The media upload form action URL.
+        * @param string $type            The type of media. Default 'file'.
+        */
+       $form_action_url = apply_filters( 'media_upload_form_url', $form_action_url, $type );
        $form_class = 'media-upload-form type-form validate';
 
        if ( get_user_setting('uploader') )
@@ -1711,7 +1959,8 @@ function media_upload_type_url_form($type = null, $errors = null, $id = null) {
        $post_id = isset( $_REQUEST['post_id'] ) ? intval( $_REQUEST['post_id'] ) : 0;
 
        $form_action_url = admin_url("media-upload.php?type=$type&tab=type&post_id=$post_id");
-       $form_action_url = apply_filters('media_upload_form_url', $form_action_url, $type);
+       /** This filter is documented in wp-admin/includes/media.php */
+       $form_action_url = apply_filters( 'media_upload_form_url', $form_action_url, $type );
        $form_class = 'media-upload-form type-form validate';
 
        if ( get_user_setting('uploader') )
@@ -1741,7 +1990,10 @@ var addExtImage = {
                if ( f.alt.value )
                        alt = f.alt.value.replace(/'/g, '&#039;').replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
 
-<?php if ( ! apply_filters( 'disable_captions', '' ) ) { ?>
+<?php
+       /** This filter is documented in wp-admin/includes/media.php */
+       if ( ! apply_filters( 'disable_captions', '' ) ) {
+               ?>
                if ( f.caption.value ) {
                        caption = f.caption.value.replace(/\r\n|\r/g, '\n');
                        caption = caption.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g, function(a){
@@ -1818,7 +2070,16 @@ jQuery(document).ready( function($) {
 
 <div id="media-items">
 <div class="media-item media-blank">
-<?php echo apply_filters( 'type_url_form_media', wp_media_insert_url_form( $type ) ); ?>
+<?php
+/**
+ * Filter the insert media from URL form HTML.
+ *
+ * @since 3.3.0
+ *
+ * @param string $form_html The insert from URL form HTML.
+ */
+echo apply_filters( 'type_url_form_media', wp_media_insert_url_form( $type ) );
+?>
 </div>
 </div>
 </form>
@@ -1840,7 +2101,8 @@ function media_upload_gallery_form($errors) {
 
        $post_id = intval($_REQUEST['post_id']);
        $form_action_url = admin_url("media-upload.php?type=$type&tab=gallery&post_id=$post_id");
-       $form_action_url = apply_filters('media_upload_form_url', $form_action_url, $type);
+       /** This filter is documented in wp-admin/includes/media.php */
+       $form_action_url = apply_filters( 'media_upload_form_url', $form_action_url, $type );
        $form_class = 'media-upload-form validate';
 
        if ( get_user_setting('uploader') )
@@ -1872,7 +2134,7 @@ jQuery(function($){
 <form enctype="multipart/form-data" method="post" action="<?php echo esc_url( $form_action_url ); ?>" class="<?php echo $form_class; ?>" id="gallery-form">
 <?php wp_nonce_field('media-form'); ?>
 <?php //media_upload_form( $errors ); ?>
-<table class="widefat" cellspacing="0">
+<table class="widefat">
 <thead><tr>
 <th><?php _e('Media'); ?></th>
 <th class="order-head"><?php _e('Order'); ?></th>
@@ -1986,21 +2248,25 @@ function media_upload_library_form($errors) {
        $post_id = isset( $_REQUEST['post_id'] ) ? intval( $_REQUEST['post_id'] ) : 0;
 
        $form_action_url = admin_url("media-upload.php?type=$type&tab=library&post_id=$post_id");
-       $form_action_url = apply_filters('media_upload_form_url', $form_action_url, $type);
+       /** This filter is documented in wp-admin/includes/media.php */
+       $form_action_url = apply_filters( 'media_upload_form_url', $form_action_url, $type );
        $form_class = 'media-upload-form validate';
 
        if ( get_user_setting('uploader') )
                $form_class .= ' html-uploader';
 
-       $_GET['paged'] = isset( $_GET['paged'] ) ? intval($_GET['paged']) : 0;
-       if ( $_GET['paged'] < 1 )
-               $_GET['paged'] = 1;
-       $start = ( $_GET['paged'] - 1 ) * 10;
-       if ( $start < 1 )
-               $start = 0;
-       add_filter( 'post_limits', create_function( '$a', "return 'LIMIT $start, 10';" ) );
+       $q = $_GET;
+       $q['posts_per_page'] = 10;
+       $q['paged'] = isset( $q['paged'] ) ? intval( $q['paged'] ) : 0;
+       if ( $q['paged'] < 1 ) {
+               $q['paged'] = 1;
+       }
+       $q['offset'] = ( $q['paged'] - 1 ) * 10;
+       if ( $q['offset'] < 1 ) {
+               $q['offset'] = 0;
+       }
 
-       list($post_mime_types, $avail_post_mime_types) = wp_edit_attachments_query();
+       list($post_mime_types, $avail_post_mime_types) = wp_edit_attachments_query( $q );
 
 ?>
 
@@ -2049,6 +2315,15 @@ foreach ( $post_mime_types as $mime_type => $label ) {
 
        $type_links[] = "<li><a href='" . esc_url(add_query_arg(array('post_mime_type'=>$mime_type, 'paged'=>false))) . "'$class>" . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), "<span id='$mime_type-counter'>" . number_format_i18n( $num_posts[$mime_type] ) . '</span>') . '</a>';
 }
+/**
+ * Filter the media upload mime type list items.
+ *
+ * Returned values should begin with an <li> tag.
+ *
+ * @since 3.1.0
+ *
+ * @param array $type_links An array of list items containing mime type link HTML.
+ */
 echo implode(' | </li>', apply_filters( 'media_upload_mime_type_links', $type_links ) ) . '</li>';
 unset($type_links);
 ?>
@@ -2063,7 +2338,7 @@ $page_links = paginate_links( array(
        'prev_text' => __('&laquo;'),
        'next_text' => __('&raquo;'),
        'total' => ceil($wp_query->found_posts / 10),
-       'current' => $_GET['paged']
+       'current' => $q['paged'],
 ));
 
 if ( $page_links )
@@ -2082,7 +2357,7 @@ $selected_month = isset( $_GET['m'] ) ? $_GET['m'] : 0;
 
 if ( $month_count && !( 1 == $month_count && 0 == $arc_result[0]->mmonth ) ) { ?>
 <select name='m'>
-<option<?php selected( $selected_month, 0 ); ?> value='0'><?php _e('Show all dates'); ?></option>
+<option<?php selected( $selected_month, 0 ); ?> value='0'><?php _e( 'All dates' ); ?></option>
 <?php
 foreach ($arc_result as $arc_row) {
        if ( $arc_row->yyear == 0 )
@@ -2148,10 +2423,11 @@ jQuery(function($){
  * @return string the form html
  */
 function wp_media_insert_url_form( $default_view = 'image' ) {
-       if ( !apply_filters( 'disable_captions', '' ) ) {
+       /** This filter is documented in wp-admin/includes/media.php */
+       if ( ! apply_filters( 'disable_captions', '' ) ) {
                $caption = '
                <tr class="image-only">
-                       <th valign="top" scope="row" class="label">
+                       <th scope="row" class="label">
                                <label for="caption"><span class="alignleft">' . __('Image Caption') . '</span></label>
                        </th>
                        <td class="field"><textarea id="caption" name="caption"></textarea></td>
@@ -2176,7 +2452,7 @@ function wp_media_insert_url_form( $default_view = 'image' ) {
        <p class="media-types"><label><input type="radio" name="media_type" value="image" id="image-only"' . checked( 'image-only', $view, false ) . ' /> ' . __( 'Image' ) . '</label> &nbsp; &nbsp; <label><input type="radio" name="media_type" value="generic" id="not-image"' . checked( 'not-image', $view, false ) . ' /> ' . __( 'Audio, Video, or Other File' ) . '</label></p>
        <table class="describe ' . $table_class . '"><tbody>
                <tr>
-                       <th valign="top" scope="row" class="label" style="width:130px;">
+                       <th scope="row" class="label" style="width:130px;">
                                <label for="src"><span class="alignleft">' . __('URL') . '</span></label>
                                <span class="alignright"><abbr id="status_img" title="required" class="required">*</abbr></span>
                        </th>
@@ -2184,7 +2460,7 @@ function wp_media_insert_url_form( $default_view = 'image' ) {
                </tr>
 
                <tr>
-                       <th valign="top" scope="row" class="label">
+                       <th scope="row" class="label">
                                <label for="title"><span class="alignleft">' . __('Title') . '</span></label>
                                <span class="alignright"><abbr title="required" class="required">*</abbr></span>
                        </th>
@@ -2194,7 +2470,7 @@ function wp_media_insert_url_form( $default_view = 'image' ) {
                <tr class="not-image"><td></td><td><p class="help">' . __('Link text, e.g. &#8220;Ransom Demands (PDF)&#8221;') . '</p></td></tr>
 
                <tr class="image-only">
-                       <th valign="top" scope="row" class="label">
+                       <th scope="row" class="label">
                                <label for="alt"><span class="alignleft">' . __('Alternative Text') . '</span></label>
                        </th>
                        <td class="field"><input id="alt" name="alt" value="" type="text" aria-required="true" />
@@ -2202,7 +2478,7 @@ function wp_media_insert_url_form( $default_view = 'image' ) {
                </tr>
                ' . $caption . '
                <tr class="align image-only">
-                       <th valign="top" scope="row" class="label"><p><label for="align">' . __('Alignment') . '</label></p></th>
+                       <th scope="row" class="label"><p><label for="align">' . __('Alignment') . '</label></p></th>
                        <td class="field">
                                <input name="align" id="align-none" value="none" onclick="addExtImage.align=\'align\'+this.value" type="radio"' . ($default_align == 'none' ? ' checked="checked"' : '').' />
                                <label for="align-none" class="align image-align-none-label">' . __('None') . '</label>
@@ -2216,7 +2492,7 @@ function wp_media_insert_url_form( $default_view = 'image' ) {
                </tr>
 
                <tr class="image-only">
-                       <th valign="top" scope="row" class="label">
+                       <th scope="row" class="label">
                                <label for="url"><span class="alignleft">' . __('Link Image To:') . '</span></label>
                        </th>
                        <td class="field"><input id="url" name="url" value="" type="text" /><br />
@@ -2271,7 +2547,7 @@ add_action('post-plupload-upload-ui', 'media_upload_flash_bypass');
 function media_upload_html_bypass() {
        ?>
        <p class="upload-html-bypass hide-if-no-js">
-       <?php _e('You are using the browser&#8217;s built-in file uploader. The WordPress uploader includes multiple file selection and drag and drop capability. <a href="#">Switch to the multi-file uploader</a>.'); ?>
+          <?php _e('You are using the browser&#8217;s built-in file uploader. The WordPress uploader includes multiple file selection and drag and drop capability. <a href="#">Switch to the multi-file uploader</a>.'); ?>
        </p>
        <?php
 }
@@ -2344,7 +2620,7 @@ function edit_form_image_editor( $post ) {
                        $nonce = wp_create_nonce( "image_editor-$post->ID" );
                        $image_edit_button = "<input type='button' id='imgedit-open-btn-$post->ID' onclick='imageEdit.open( $post->ID, \"$nonce\" )' class='button' value='" . esc_attr__( 'Edit Image' ) . "' /> <span class='spinner'></span>";
                }
-       ?>
+       ?>
 
                <div class="imgedit-response" id="imgedit-response-<?php echo $attachment_id; ?>"></div>
 
@@ -2358,25 +2634,26 @@ function edit_form_image_editor( $post ) {
        <?php
        elseif ( $attachment_id && 0 === strpos( $post->post_mime_type, 'audio/' ) ):
 
+               wp_maybe_generate_attachment_metadata( $post );
+
                echo wp_audio_shortcode( array( 'src' => $att_url ) );
 
        elseif ( $attachment_id && 0 === strpos( $post->post_mime_type, 'video/' ) ):
 
+               wp_maybe_generate_attachment_metadata( $post );
+
                $meta = wp_get_attachment_metadata( $attachment_id );
-               $w = ! empty( $meta['width'] ) ? min( $meta['width'], 600 ) : 0;
-               $h = 0;
-               if ( ! empty( $meta['height'] ) )
-                       $h = $meta['height'];
-               if ( $h && $w < $meta['width'] )
+               $w = ! empty( $meta['width'] ) ? min( $meta['width'], 640 ) : 0;
+               $h = ! empty( $meta['height'] ) ? $meta['height'] : 0;
+               if ( $h && $w < $meta['width'] ) {
                        $h = round( ( $meta['height'] * $w ) / $meta['width'] );
+               }
 
                $attr = array( 'src' => $att_url );
-
-               if ( ! empty( $meta['width' ] ) )
+               if ( ! empty( $w ) && ! empty( $h ) ) {
                        $attr['width'] = $w;
-
-               if ( ! empty( $meta['height'] ) )
                        $attr['height'] = $h;
+               }
 
                echo wp_video_shortcode( $attr );
 
@@ -2388,6 +2665,7 @@ function edit_form_image_editor( $post ) {
                        <textarea class="widefat" name="excerpt" id="attachment_caption"><?php echo $post->post_excerpt; ?></textarea>
                </p>
 
+
        <?php if ( 'image' === substr( $post->post_mime_type, 0, 5 ) ) : ?>
                <p>
                        <label for="attachment_alt"><strong><?php _e( 'Alternative Text' ); ?></strong></label><br />
@@ -2406,7 +2684,10 @@ function edit_form_image_editor( $post ) {
                );
        ?>
 
-       <label for="content"><strong><?php _e( 'Description' ); ?></strong></label>
+       <label for="content"><strong><?php _e( 'Description' ); ?></strong><?php
+       if ( preg_match( '#^(audio|video)/#', $post->post_mime_type ) ) {
+               echo ': ' . __( 'Displayed on attachment pages.' );
+       } ?></label>
        <?php wp_editor( $post->post_content, 'attachment_content', $editor_args ); ?>
 
        </div>
@@ -2430,6 +2711,7 @@ function attachment_submitbox_metadata() {
        $meta = wp_get_attachment_metadata( $post->ID );
        if ( isset( $meta['width'], $meta['height'] ) )
                $media_dims .= "<span id='media-dims-$post->ID'>{$meta['width']}&nbsp;&times;&nbsp;{$meta['height']}</span> ";
+       /** This filter is documented in wp-admin/includes/media.php */
        $media_dims = apply_filters( 'media_meta', $media_dims, $post );
 
        $att_url = wp_get_attachment_url( $post->ID );
@@ -2443,10 +2725,17 @@ function attachment_submitbox_metadata() {
        </div>
        <div class="misc-pub-section misc-pub-filetype">
                <?php _e( 'File type:' ); ?> <strong><?php
-                       if ( preg_match( '/^.*?\.(\w+)$/', get_attached_file( $post->ID ), $matches ) )
+                       if ( preg_match( '/^.*?\.(\w+)$/', get_attached_file( $post->ID ), $matches ) ) {
                                echo esc_html( strtoupper( $matches[1] ) );
-                       else
+                               list( $mime_type ) = explode( '/', $post->post_mime_type );
+                               if ( $mime_type !== 'image' && ! empty( $meta['mime_type'] ) ) {
+                                       if ( $meta['mime_type'] !== "$mime_type/" . strtolower( $matches[1] ) ) {
+                                               echo ' (' . $meta['mime_type'] . ')';
+                                       }
+                               }
+                       } else {
                                echo strtoupper( str_replace( 'image/', '', $post->post_mime_type ) );
+                       }
                ?></strong>
        </div>
 
@@ -2466,84 +2755,73 @@ function attachment_submitbox_metadata() {
                        <?php
                endif;
 
-       if ( preg_match( '#^(audio|video)#', $post->post_mime_type ) ):
+       if ( preg_match( '#^(audio|video)/#', $post->post_mime_type ) ) {
 
                /**
-                * Audio and video metadata fields to be shown in the publish meta box.
+                * Filter the audio and video metadata fields to be shown in the publish meta box.
                 *
                 * The key for each item in the array should correspond to an attachment
                 * metadata key, and the value should be the desired label.
                 *
-                * @since  3.7.0
-                *
-                * @param array $fields {
-                *     An array of the attachment metadata keys and labels.
+                * @since 3.7.0
                 *
-                *     @type string 'mime_type'        Label to be shown before the field mime_type.
-                *     @type string 'year'             Label to be shown before the field year.
-                *     @type string 'genre'            Label to be shown before the field genre.
-                *     @type string 'length_formatted' Label to be shown before the field length_formatted.
-                * }
+                * @param array $fields An array of the attachment metadata keys and labels.
                 */
                $fields = apply_filters( 'media_submitbox_misc_sections', array(
-                       'mime_type'        => __( 'Mime-type:' ),
-                       'year'             => __( 'Year:' ),
-                       'genre'            => __( 'Genre:' ),
                        'length_formatted' => __( 'Length:' ),
+                       'bitrate'          => __( 'Bitrate:' ),
                ) );
 
-               foreach ( $fields as $key => $label ):
-                       if ( ! empty( $meta[$key] ) ) : ?>
+               foreach ( $fields as $key => $label ) {
+                       if ( empty( $meta[ $key ] ) ) {
+                               continue;
+                       }
+       ?>
                <div class="misc-pub-section misc-pub-mime-meta misc-pub-<?php echo sanitize_html_class( $key ); ?>">
-                       <?php echo $label ?> <strong><?php echo esc_html( $meta[$key] ); ?></strong>
-               </div>
-       <?php
-                       endif;
-               endforeach;
-
-               if ( ! empty( $meta['bitrate'] ) ) : ?>
-               <div class="misc-pub-section misc-pub-bitrate">
-                       <?php _e( 'Bitrate:' ); ?> <strong><?php
-                               echo round( $meta['bitrate'] / 1000 ), 'kb/s';
-
-                               if ( ! empty( $meta['bitrate_mode'] ) )
-                                       echo ' ', strtoupper( $meta['bitrate_mode'] );
-
+                       <?php echo $label ?> <strong><?php
+                               switch ( $key ) {
+                                       case 'bitrate' :
+                                               echo round( $meta['bitrate'] / 1000 ) . 'kb/s';
+                                               if ( ! empty( $meta['bitrate_mode'] ) ) {
+                                                       echo ' ' . strtoupper( esc_html( $meta['bitrate_mode'] ) );
+                                               }
+                                               break;
+                                       default:
+                                               echo esc_html( $meta[ $key ] );
+                                               break;
+                               }
                        ?></strong>
                </div>
        <?php
-               endif;
+               }
 
                /**
-                * Audio attachment metadata fields to be shown in the publish meta box.
+                * Filter the audio attachment metadata fields to be shown in the publish meta box.
                 *
                 * The key for each item in the array should correspond to an attachment
                 * metadata key, and the value should be the desired label.
                 *
-                * @since  3.7.0
-                *
-                * @param array $fields {
-                *     An array of the attachment metadata keys and labels.
+                * @since 3.7.0
                 *
-                *     @type string 'dataformat' Label to be shown before the field dataformat.
-                *     @type string 'codec'      Label to be shown before the field codec.
-                * }
+                * @param array $fields An array of the attachment metadata keys and labels.
                 */
                $audio_fields = apply_filters( 'audio_submitbox_misc_sections', array(
                        'dataformat' => __( 'Audio Format:' ),
                        'codec'      => __( 'Audio Codec:' )
                ) );
 
-               foreach ( $audio_fields as $key => $label ):
-                       if ( ! empty( $meta['audio'][$key] ) ) : ?>
+               foreach ( $audio_fields as $key => $label ) {
+                       if ( empty( $meta['audio'][ $key ] ) ) {
+                               continue;
+                       }
+       ?>
                <div class="misc-pub-section misc-pub-audio misc-pub-<?php echo sanitize_html_class( $key ); ?>">
                        <?php echo $label; ?> <strong><?php echo esc_html( $meta['audio'][$key] ); ?></strong>
                </div>
        <?php
-                       endif;
-               endforeach;
+               }
 
-       endif;
+       }
 
        if ( $media_dims ) : ?>
        <div class="misc-pub-section misc-pub-dimensions">
index e315c7666bf8d5402980307c1db22a03ddc38be6..6835091a700aaa8e977e5bd6f4a296dd0742204d 100644 (file)
@@ -1,5 +1,4 @@
 <?php
-
 /**
  * Build Administration Menu.
  *
@@ -7,12 +6,40 @@
  * @subpackage Administration
  */
 
-if ( is_network_admin() )
-       do_action('_network_admin_menu');
-elseif ( is_user_admin() )
-       do_action('_user_admin_menu');
-else
-       do_action('_admin_menu');
+if ( is_network_admin() ) {
+
+       /**
+        * Fires before the administration menu loads in the Network Admin.
+        *
+        * The hook fires before menus and sub-menus are removed based on user privileges.
+        *
+        * @private
+        * @since 3.1.0
+        */
+       do_action( '_network_admin_menu' );
+} elseif ( is_user_admin() ) {
+
+       /**
+        * Fires before the administration menu loads in the User Admin.
+        *
+        * The hook fires before menus and sub-menus are removed based on user privileges.
+        *
+        * @private
+        * @since 3.1.0
+        */
+       do_action( '_user_admin_menu' );
+} else {
+
+       /**
+        * Fires before the administration menu loads in the admin.
+        *
+        * The hook fires before menus and sub-menus are removed based on user privileges.
+        *
+        * @private
+        * @since 2.2.0
+        */
+       do_action( '_admin_menu' );
+}
 
 // Create list of page plugin hook names.
 foreach ($menu as $menu_page) {
@@ -61,9 +88,11 @@ foreach ( array( 'submenu' ) as $sub_loop ) {
 }
 unset($sub_loop);
 
-// Loop over the top-level menu.
-// Menus for which the original parent is not accessible due to lack of privs will have the next
-// submenu in line be assigned as the new menu parent.
+/*
+ * Loop over the top-level menu.
+ * Menus for which the original parent is not accessible due to lack of privileges
+ * will have the next submenu in line be assigned as the new menu parent.
+ */
 foreach ( $menu as $id => $data ) {
        if ( empty($submenu[$data[2]]) )
                continue;
@@ -89,21 +118,50 @@ foreach ( $menu as $id => $data ) {
 }
 unset($id, $data, $subs, $first_sub, $old_parent, $new_parent);
 
-if ( is_network_admin() )
-       do_action('network_admin_menu', '');
-elseif ( is_user_admin() )
-       do_action('user_admin_menu', '');
-else
-       do_action('admin_menu', '');
+if ( is_network_admin() ) {
+
+       /**
+        * Fires before the administration menu loads in the Network Admin.
+        *
+        * @since 3.1.0
+        *
+        * @param string $context Empty context.
+        */
+       do_action( 'network_admin_menu', '' );
+} elseif ( is_user_admin() ) {
+
+       /**
+        * Fires before the administration menu loads in the User Admin.
+        *
+        * @since 3.1.0
+        *
+        * @param string $context Empty context.
+        */
+       do_action( 'user_admin_menu', '' );
+} else {
+
+       /**
+        * Fires before the administration menu loads in the admin.
+        *
+        * @since 1.5.0
+        *
+        * @param string $context Empty context.
+        */
+       do_action( 'admin_menu', '' );
+}
 
-// Remove menus that have no accessible submenus and require privs that the user does not have.
-// Run re-parent loop again.
+/*
+ * Remove menus that have no accessible submenus and require privileges
+ * that the user does not have. Run re-parent loop again.
+ */
 foreach ( $menu as $id => $data ) {
        if ( ! current_user_can($data[1]) )
                $_wp_menu_nopriv[$data[2]] = true;
 
-       // If there is only one submenu and it is has same destination as the parent,
-       // remove the submenu.
+       /*
+        * If there is only one submenu and it is has same destination as the parent,
+        * remove the submenu.
+        */
        if ( ! empty( $submenu[$data[2]] ) && 1 == count ( $submenu[$data[2]] ) ) {
                $subs = $submenu[$data[2]];
                $first_sub = array_shift($subs);
@@ -177,19 +235,48 @@ function add_menu_classes($menu) {
                $lastorder = $order;
        }
 
+       /**
+        * Filter administration menus array with classes added for top-level items.
+        *
+        * @since 2.7.0
+        *
+        * @param array $menu Associative array of administration menu items.
+        */
        return apply_filters( 'add_menu_classes', $menu );
 }
 
 uksort($menu, "strnatcasecmp"); // make it all pretty
 
-if ( apply_filters('custom_menu_order', false) ) {
+/**
+ * Filter whether to enable custom ordering of the administration menu.
+ *
+ * See the 'menu_order' filter for reordering menu items.
+ *
+ * @since 2.8.0
+ *
+ * @param bool $custom Whether custom ordering is enabled. Default false.
+ */
+if ( apply_filters( 'custom_menu_order', false ) ) {
        $menu_order = array();
        foreach ( $menu as $menu_item ) {
                $menu_order[] = $menu_item[2];
        }
        unset($menu_item);
        $default_menu_order = $menu_order;
-       $menu_order = apply_filters('menu_order', $menu_order);
+
+       /**
+        * Filter the order of administration menu items.
+        *
+        * A truthy value must first be passed to the 'custom_menu_order' filter
+        * for this filter to work. Use the following to enable custom menu ordering:
+        *
+        *     add_filter( 'custom_menu_order', '__return_true' );
+        *
+        * @since 2.8.0
+        *
+        * @param array $menu_order An ordered array of menu items.
+        */
+       $menu_order = apply_filters( 'menu_order', $menu_order );
        $menu_order = array_flip($menu_order);
        $default_menu_order = array_flip($default_menu_order);
 
@@ -222,7 +309,14 @@ if ( !empty( $menu ) && 'wp-menu-separator' == $menu[ $last_menu_key ][ 4 ] )
 unset( $last_menu_key );
 
 if ( !user_can_access_admin_page() ) {
-       do_action('admin_page_access_denied');
+
+       /**
+        * Fires when access to an admin page is denied.
+        *
+        * @since 2.5.0
+        */
+       do_action( 'admin_page_access_denied' );
+
        wp_die( __('You do not have sufficient permissions to access this page.') );
 }
 
index e77c9ecc4f1e1482dad5d125e5a8783eadeaaf78..9f7f469a427bc6ee48d6ad5088f94368f1b23a8c 100644 (file)
@@ -42,11 +42,18 @@ if ( 'publish' == $post->post_status ) {
        $preview_button = __( 'Preview Changes' );
 } else {
        $preview_link = set_url_scheme( get_permalink( $post->ID ) );
+       /**
+        * Filter the URI of a post preview in the post submit box.
+        *
+        * @since 2.0.5
+        *
+        * @param string $preview_link URI the user will be directed to for a post preview.
+        */
        $preview_link = esc_url( apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ) ) );
        $preview_button = __( 'Preview' );
 }
 ?>
-<a class="preview button" href="<?php echo $preview_link; ?>" target="wp-preview" id="post-preview"><?php echo $preview_button; ?></a>
+<a class="preview button" href="<?php echo $preview_link; ?>" target="wp-preview-<?php echo (int) $post->ID; ?>" id="post-preview"><?php echo $preview_button; ?></a>
 <input type="hidden" name="wp-preview" id="wp-preview" value="" />
 </div>
 <?php endif; // public post type ?>
@@ -79,7 +86,7 @@ switch ( $post->post_status ) {
 ?>
 </span>
 <?php if ( 'publish' == $post->post_status || 'private' == $post->post_status || $can_publish ) { ?>
-<a href="#post_status" <?php if ( 'private' == $post->post_status ) { ?>style="display:none;" <?php } ?>class="edit-post-status hide-if-no-js"><?php _e('Edit') ?></a>
+<a href="#post_status" <?php if ( 'private' == $post->post_status ) { ?>style="display:none;" <?php } ?>class="edit-post-status hide-if-no-js"><span aria-hidden="true"><?php _e( 'Edit' ); ?></span> <span class="screen-reader-text"><?php _e( 'Edit status' ); ?></span></a>
 
 <div id="post-status-select" class="hide-if-js">
 <input type="hidden" name="hidden_post_status" id="hidden_post_status" value="<?php echo esc_attr( ('auto-draft' == $post->post_status ) ? 'draft' : $post->post_status); ?>" />
@@ -125,7 +132,7 @@ if ( 'private' == $post->post_status ) {
 
 echo esc_html( $visibility_trans ); ?></span>
 <?php if ( $can_publish ) { ?>
-<a href="#visibility" class="edit-visibility hide-if-no-js"><?php _e('Edit'); ?></a>
+<a href="#visibility" class="edit-visibility hide-if-no-js"><span aria-hidden="true"><?php _e( 'Edit' ); ?></span> <span class="screen-reader-text"><?php _e( 'Edit visibility' ); ?></span></a>
 
 <div id="post-visibility-select" class="hide-if-js">
 <input type="hidden" name="hidden_post_password" id="hidden-post-password" value="<?php echo esc_attr($post->post_password); ?>" />
@@ -151,7 +158,7 @@ echo esc_html( $visibility_trans ); ?></span>
 </div><!-- .misc-pub-section -->
 
 <?php
-// translators: Publish box date format, see http://php.net/date
+/* translators: Publish box date format, see http://php.net/date */
 $datef = __( 'M j, Y @ G:i' );
 if ( 0 != $post->ID ) {
        if ( 'future' == $post->post_status ) { // scheduled for publishing at a future date
@@ -185,7 +192,7 @@ if ( ! empty( $args['args']['revisions_count'] ) ) :
                printf( __( 'Revisions: %s' ), '<b>' . number_format_i18n( $args['args']['revisions_count'] ) . '</b>' );
        }
 ?>
-       <a class="hide-if-no-js" href="<?php echo esc_url( get_edit_post_link( $args['args']['revision_id'] ) ); ?>"><?php _ex( 'Browse', 'revisions' ); ?></a>
+       <a class="hide-if-no-js" href="<?php echo esc_url( get_edit_post_link( $args['args']['revision_id'] ) ); ?>"><span aria-hidden="true"><?php _ex( 'Browse', 'revisions' ); ?></span> <span class="screen-reader-text"><?php _e( 'Browse revisions' ); ?></span></a>
 </div>
 <?php endif;
 
@@ -193,18 +200,32 @@ if ( $can_publish ) : // Contributors don't get to choose the date of publish ?>
 <div class="misc-pub-section curtime misc-pub-curtime">
        <span id="timestamp">
        <?php printf($stamp, $date); ?></span>
-       <a href="#edit_timestamp" class="edit-timestamp hide-if-no-js"><?php _e('Edit') ?></a>
+       <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>
 </div><?php // /misc-pub-section ?>
 <?php endif; ?>
 
-<?php do_action('post_submitbox_misc_actions'); ?>
+<?php
+/**
+ * Fires after the post time/date setting in the Publish meta box.
+ *
+ * @since 2.9.0
+ */
+do_action( 'post_submitbox_misc_actions' );
+?>
 </div>
 <div class="clear"></div>
 </div>
 
 <div id="major-publishing-actions">
-<?php do_action('post_submitbox_start'); ?>
+<?php
+/**
+ * Fires at the beginning of the publishing actions section of the Publish meta box.
+ *
+ * @since 2.7.0
+ */
+do_action( 'post_submitbox_start' );
+?>
 <div id="delete-action">
 <?php
 if ( current_user_can( "delete_post", $post->ID ) ) {
@@ -273,7 +294,7 @@ function attachment_submit_meta_box( $post ) {
 
 <div id="misc-publishing-actions">
        <?php
-       // translators: Publish box date format, see http://php.net/date
+       /* translators: Publish box date format, see http://php.net/date */
        $datef = __( 'M j, Y @ G:i' );
        $stamp = __('Uploaded on: <b>%1$s</b>');
        $date = date_i18n( $datef, strtotime( $post->post_date ) );
@@ -282,7 +303,15 @@ function attachment_submit_meta_box( $post ) {
                <span id="timestamp"><?php printf($stamp, $date); ?></span>
        </div><!-- .misc-pub-section -->
 
-       <?php do_action('attachment_submitbox_misc_actions'); ?>
+       <?php
+       /**
+        * Fires after the 'Uploaded on' section of the Save meta box
+        * in the attachment editing screen.
+        *
+        * @since 3.5.0
+        */
+       do_action( 'attachment_submitbox_misc_actions' );
+       ?>
 </div><!-- #misc-publishing-actions -->
 <div class="clear"></div>
 </div><!-- #minor-publishing -->
@@ -525,7 +554,16 @@ function post_comment_status_meta_box($post) {
 <p class="meta-options">
        <label for="comment_status" class="selectit"><input name="comment_status" type="checkbox" id="comment_status" value="open" <?php checked($post->comment_status, 'open'); ?> /> <?php _e( 'Allow comments.' ) ?></label><br />
        <label for="ping_status" class="selectit"><input name="ping_status" type="checkbox" id="ping_status" value="open" <?php checked($post->ping_status, 'open'); ?> /> <?php printf( __( 'Allow <a href="%s" target="_blank">trackbacks and pingbacks</a> on this page.' ), __( 'http://codex.wordpress.org/Introduction_to_Blogging#Managing_Comments' ) ); ?></label>
-       <?php do_action('post_comment_status_meta_box-options', $post); ?>
+       <?php
+       /**
+        * Fires at the end of the Discussion meta box on the post editing screen.
+        *
+        * @since 3.1.0
+        *
+        * @param WP_Post $post WP_Post object of the current post.
+        */
+       do_action( 'post_comment_status_meta_box-options', $post );
+       ?>
 </p>
 <?php
 }
@@ -555,7 +593,7 @@ function post_comment_meta_box( $post ) {
 
        wp_nonce_field( 'get-comments', 'add_comment_nonce', false );
        ?>
-       <p class="hide-if-no-js" id="add-new-comment"><a class="button" href="#commentstatusdiv" onclick="commentReply.addcomment(<?php echo $post->ID; ?>);return false;"><?php _e('Add comment'); ?></a></p>
+       <p class="hide-if-no-js" id="add-new-comment"><a class="button" href="#commentstatusdiv" onclick="window.commentReply && commentReply.addcomment(<?php echo $post->ID; ?>);return false;"><?php _e('Add comment'); ?></a></p>
        <?php
 
        $total = get_comments( array( 'post_id' => $post->ID, 'number' => 1, 'count' => true ) );
@@ -588,8 +626,9 @@ function post_comment_meta_box( $post ) {
  * @param object $post
  */
 function post_slug_meta_box($post) {
+/** This filter is documented in wp-admin/edit-tag-form.php */
 ?>
-<label class="screen-reader-text" for="post_name"><?php _e('Slug') ?></label><input name="post_name" type="text" size="13" id="post_name" value="<?php echo esc_attr( apply_filters('editable_slug', $post->post_name) ); ?>" />
+<label class="screen-reader-text" for="post_name"><?php _e('Slug') ?></label><input name="post_name" type="text" size="13" id="post_name" value="<?php echo esc_attr( apply_filters( 'editable_slug', $post->post_name ) ); ?>" />
 <?php
 }
 
@@ -646,6 +685,16 @@ function page_attributes_meta_box($post) {
                        'echo'             => 0,
                );
 
+               /**
+                * Filter the arguments used to generate a Pages drop-down element.
+                *
+                * @since 3.3.0
+                *
+                * @see wp_dropdown_pages()
+                *
+                * @param array   $dropdown_args Array of arguments used to generate the pages drop-down.
+                * @param WP_Post $post          The current WP_Post object.
+                */
                $dropdown_args = apply_filters( 'page_attributes_dropdown_pages_args', $dropdown_args, $post );
                $pages = wp_dropdown_pages( $dropdown_args );
                if ( ! empty($pages) ) {
@@ -656,7 +705,7 @@ function page_attributes_meta_box($post) {
 <?php
                } // end empty pages check
        } // end hierarchical check.
-       if ( 'page' == $post->post_type && 0 != count( get_page_templates() ) ) {
+       if ( 'page' == $post->post_type && 0 != count( get_page_templates( $post ) ) ) {
                $template = !empty($post->page_template) ? $post->page_template : false;
                ?>
 <p><strong><?php _e('Template') ?></strong></p>
@@ -710,7 +759,10 @@ function link_submit_meta_box($link) {
 </div>
 
 <div id="major-publishing-actions">
-<?php do_action('post_submitbox_start'); ?>
+<?php
+/** This action is documented in wp-admin/includes/meta-boxes.php */
+do_action( 'post_submitbox_start' );
+?>
 <div id="delete-action">
 <?php
 if ( !empty($_GET['action']) && 'edit' == $_GET['action'] && current_user_can('manage_links') ) { ?>
@@ -727,7 +779,14 @@ if ( !empty($_GET['action']) && 'edit' == $_GET['action'] && current_user_can('m
 </div>
 <div class="clear"></div>
 </div>
-<?php do_action('submitlink_box'); ?>
+<?php
+/**
+ * Fires at the end of the Publish box in the Link editing screen.
+ *
+ * @since 2.5.0
+ */
+do_action( 'submitlink_box' );
+?>
 <div class="clear"></div>
 </div>
 <?php
@@ -841,7 +900,7 @@ function xfn_check( $class, $value = '', $deprecated = '' ) {
  */
 function link_xfn_meta_box($link) {
 ?>
-<table class="links-table" cellspacing="0">
+<table class="links-table">
        <tr>
                <th scope="row"><label for="link_rel"><?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('rel:') ?></label></th>
                <td><input type="text" name="link_rel" id="link_rel" value="<?php echo ( isset( $link->link_rel ) ? esc_attr($link->link_rel) : ''); ?>" /></td>
@@ -998,3 +1057,29 @@ function post_thumbnail_meta_box( $post ) {
        $thumbnail_id = get_post_meta( $post->ID, '_thumbnail_id', true );
        echo _wp_post_thumbnail_html( $thumbnail_id, $post->ID );
 }
+
+/**
+ * Display fields for ID3 data
+ *
+ * @since 3.9.0
+ *
+ * @param WP_Post $post
+ */
+function attachment_id3_data_meta_box( $post ) {
+       $meta = array();
+       if ( ! empty( $post->ID ) ) {
+               $meta = wp_get_attachment_metadata( $post->ID );
+       }
+
+       foreach ( wp_get_attachment_id3_keys( $post, 'edit' ) as $key => $label ) : ?>
+       <p>
+               <label for="title"><?php echo $label ?></label><br />
+               <input type="text" name="id3_<?php echo esc_attr( $key ) ?>" id="id3_<?php echo esc_attr( $key ) ?>" class="large-text" value="<?php
+                       if ( ! empty( $meta[ $key ] ) ) {
+                               echo esc_attr( $meta[ $key ] );
+                       }
+               ?>" />
+       </p>
+       <?php
+       endforeach;
+}
index 3a8ad89e5ec735ce824dc25504cf679b6b7007ac..3680f8e5a954ec42eef6789d3c269306db1893da 100644 (file)
@@ -27,7 +27,7 @@ function got_mod_rewrite() {
         * @since 2.5.0
         * @param bool $got_rewrite Whether Apache and mod_rewrite are present.
         */
-       return apply_filters('got_rewrite', $got_rewrite);
+       return apply_filters( 'got_rewrite', $got_rewrite );
 }
 
 /**
@@ -314,11 +314,15 @@ function wp_doc_link_parse( $content ) {
                return array();
 
        $tokens = token_get_all( $content );
+       $count = count( $tokens );
        $functions = array();
        $ignore_functions = array();
-       for ( $t = 0, $count = count( $tokens ); $t < $count; $t++ ) {
-               if ( !is_array( $tokens[$t] ) ) continue;
-               if ( T_STRING == $tokens[$t][0] && ( '(' == $tokens[ $t + 1 ] || '(' == $tokens[ $t + 2 ] ) ) {
+       for ( $t = 0; $t < $count - 2; $t++ ) {
+               if ( ! is_array( $tokens[ $t ] ) ) {
+                       continue;
+               }
+
+               if ( T_STRING == $tokens[ $t ][0] && ( '(' == $tokens[ $t + 1 ] || '(' == $tokens[ $t + 2 ] ) ) {
                        // If it's a function or class defined locally, there's not going to be any docs available
                        if ( ( isset( $tokens[ $t - 2 ][1] ) && in_array( $tokens[ $t - 2 ][1], array( 'function', 'class' ) ) ) || ( isset( $tokens[ $t - 2 ][0] ) && T_OBJECT_OPERATOR == $tokens[ $t - 1 ][0] ) ) {
                                $ignore_functions[] = $tokens[$t][1];
@@ -330,7 +334,16 @@ function wp_doc_link_parse( $content ) {
 
        $functions = array_unique( $functions );
        sort( $functions );
+
+       /**
+        * Filter the list of functions/classes to be ignored from the documentation lookup.
+        *
+        * @since 2.8.0
+        *
+        * @param array $ignore_functions Functions/Classes to be ignored.
+        */
        $ignore_functions = apply_filters( 'documentation_ignore_functions', $ignore_functions );
+
        $ignore_functions = array_unique( $ignore_functions );
 
        $out = array();
@@ -346,8 +359,8 @@ function wp_doc_link_parse( $content ) {
 /**
  * Saves option for number of rows when listing posts, pages, comments, etc.
  *
- * @since 2.8
-**/
+ * @since 2.8.0
+ */
 function set_screen_options() {
 
        if ( isset($_POST['wp_screen_options']) && is_array($_POST['wp_screen_options']) ) {
@@ -390,7 +403,25 @@ function set_screen_options() {
                                        return;
                                break;
                        default:
-                               $value = apply_filters('set-screen-option', false, $option, $value);
+
+                               /**
+                                * Filter a screen option value before it is set.
+                                *
+                                * The filter can also be used to modify non-standard [items]_per_page
+                                * settings. See the parent function for a full list of standard options.
+                                *
+                                * Returning false to the filter will skip saving the current option.
+                                *
+                                * @since 2.8.0
+                                *
+                                * @see set_screen_options()
+                                *
+                                * @param bool|int $value  Screen option value. Default false to skip.
+                                * @param string   $option The option name.
+                                * @param int      $value  The number of rows to use.
+                                */
+                               $value = apply_filters( 'set-screen-option', false, $option, $value );
+
                                if ( false === $value )
                                        return;
                                break;
@@ -648,7 +679,7 @@ add_action('admin_head', '_ipad_meta');
 /**
  * Check lock status for posts displayed on the Posts screen
  *
- * @since 3.6
+ * @since 3.6.0
  */
 function wp_check_locked_posts( $response, $data, $screen_id ) {
        $checked = array();
@@ -679,7 +710,7 @@ add_filter( 'heartbeat_received', 'wp_check_locked_posts', 10, 3 );
 /**
  * Check lock status on the New/Edit Post screen and refresh the lock
  *
- * @since 3.6
+ * @since 3.6.0
  */
 function wp_refresh_post_lock( $response, $data, $screen_id ) {
        if ( array_key_exists( 'wp-refresh-post-lock', $data ) ) {
@@ -718,7 +749,7 @@ add_filter( 'heartbeat_received', 'wp_refresh_post_lock', 10, 3 );
 /**
  * Check nonce expiration on the New/Edit Post screen and refresh if needed
  *
- * @since 3.6
+ * @since 3.6.0
  */
 function wp_refresh_post_nonces( $response, $data, $screen_id ) {
        if ( array_key_exists( 'wp-refresh-post-nonces', $data ) ) {
@@ -734,7 +765,6 @@ function wp_refresh_post_nonces( $response, $data, $screen_id ) {
                if ( 2 === wp_verify_nonce( $received['post_nonce'], 'update-post_' . $post_id ) ) {
                        $response['wp-refresh-post-nonces'] = array(
                                'replace' => array(
-                                       'autosavenonce' => wp_create_nonce('autosave'),
                                        'getpermalinknonce' => wp_create_nonce('getpermalink'),
                                        'samplepermalinknonce' => wp_create_nonce('samplepermalink'),
                                        'closedpostboxesnonce' => wp_create_nonce('closedpostboxes'),
@@ -768,3 +798,29 @@ function wp_heartbeat_set_suspension( $settings ) {
        return $settings;
 }
 add_filter( 'heartbeat_settings', 'wp_heartbeat_set_suspension' );
+
+/**
+ * Autosave with heartbeat
+ *
+ * @since 3.9
+ */
+function heartbeat_autosave( $response, $data ) {
+       if ( ! empty( $data['wp_autosave'] ) ) {
+               $saved = wp_autosave( $data['wp_autosave'] );
+
+               if ( is_wp_error( $saved ) ) {
+                       $response['wp_autosave'] = array( 'success' => false, 'message' => $saved->get_error_message() );
+               } elseif ( empty( $saved ) ) {
+                       $response['wp_autosave'] = array( 'success' => false, 'message' => __( 'Error while saving.' ) );
+               } else {
+                       /* translators: draft saved date format, see http://php.net/date */
+                       $draft_saved_date_format = __( 'g:i:s a' );
+                       /* translators: %s: date and time */
+                       $response['wp_autosave'] = array( 'success' => true, 'message' => sprintf( __( 'Draft saved at %s.' ), date_i18n( $draft_saved_date_format ) ) );
+               }
+       }
+
+       return $response;
+}
+// Run later as we have to set DOING_AUTOSAVE for back-compat
+add_filter( 'heartbeat_received', 'heartbeat_autosave', 500, 2 );
index e376a1ed13ab96fb27ecfd1caafe158204924757..3a4d1907bc6a62183b3f872e692ad022df698cf6 100644 (file)
@@ -259,7 +259,7 @@ All at ###SITENAME###
        $content = str_replace( '###SITENAME###', get_site_option( 'site_name' ), $content );
        $content = str_replace( '###SITEURL###', network_home_url(), $content );
 
-       wp_mail( $value, sprintf( __( '[%s] New Admin Email Address' ), get_option( 'blogname' ) ), $content );
+       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 );
@@ -328,7 +328,7 @@ All at ###SITENAME###
                $content = str_replace( '###SITENAME###', get_site_option( 'site_name' ), $content );
                $content = str_replace( '###SITEURL###', network_home_url(), $content );
 
-               wp_mail( $_POST['email'], sprintf( __( '[%s] New Email Address' ), get_option( 'blogname' ) ), $content );
+               wp_mail( $_POST['email'], sprintf( __( '[%s] New Email Address' ), wp_specialchars_decode( get_option( 'blogname' ) ) ), $content );
                $_POST['email'] = $current_user->user_email;
        }
 }
@@ -536,15 +536,13 @@ function _access_denied_splash() {
        $output .= '<table>';
 
        foreach ( $blogs as $blog ) {
-               $output .= "<tr>";
-               $output .= "<td valign='top'>";
-               $output .= "{$blog->blogname}";
-               $output .= "</td>";
-               $output .= "<td valign='top'>";
-               $output .= "<a href='" . esc_url( get_admin_url( $blog->userblog_id ) ) . "'>" . __( 'Visit Dashboard' ) . "</a> | <a href='" . esc_url( get_home_url( $blog->userblog_id ) ). "'>" . __( 'View Site' ) . "</a>" ;
-               $output .= "</td>";
-               $output .= "</tr>";
+               $output .= '<tr>';
+               $output .= "<td>{$blog->blogname}</td>";
+               $output .= '<td><a href="' . esc_url( get_admin_url( $blog->userblog_id ) ) . '">' . __( 'Visit Dashboard' ) . '</a> | ' .
+                       '<a href="' . esc_url( get_home_url( $blog->userblog_id ) ). '">' . __( 'View Site' ) . '</a></td>';
+               $output .= '</tr>';
        }
+
        $output .= '</table>';
 
        wp_die( $output );
@@ -688,13 +686,14 @@ function choose_primary_blog() {
  *
  * @since 3.0.0
  * @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.
  */
 function grant_super_admin( $user_id ) {
-       global $super_admins;
-
        // If global super_admins override is defined, there is nothing to do here.
-       if ( isset( $super_admins ) )
+       if ( isset( $GLOBALS['super_admins'] ) ) {
                return false;
+       }
 
        /**
         * Fires before the user is granted Super Admin privileges.
@@ -731,13 +730,14 @@ function grant_super_admin( $user_id ) {
  *
  * @since 3.0.0
  * @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.
  */
 function revoke_super_admin( $user_id ) {
-       global $super_admins;
-
        // If global super_admins override is defined, there is nothing to do here.
-       if ( isset( $super_admins ) )
+       if ( isset( $GLOBALS['super_admins'] ) ) {
                return false;
+       }
 
        /**
         * Fires before the user's Super Admin privileges are revoked.
index c98e32fb978ceea520658d60cde61ed74a6b3c50..05a9b294767c19215bd033f686cd8ffb5ccab964 100644 (file)
@@ -231,7 +231,6 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
 /**
  * Create HTML list of nav menu input items.
  *
- * @package WordPress
  * @since 3.0.0
  * @uses Walker_Nav_Menu
  */
index 37d862e0f5770ded6d7f4db9463d76d2f77a1ff8..44a6a1b4c436c6742aea164b55327802b2b3608f 100644 (file)
@@ -53,7 +53,7 @@ function plugins_api($action, $args = null) {
         *
         * @since 2.7.0
         *
-        * @param bool|object         The result object. Default is false.
+        * @param bool|object $result The result object. Default false.
         * @param string      $action The type of information being requested from the Plugin Install API.
         * @param object      $args   Plugin API arguments.
         */
@@ -74,16 +74,16 @@ function plugins_api($action, $args = null) {
                $request = wp_remote_post( $url, $args );
 
                if ( $ssl && is_wp_error( $request ) ) {
-                       trigger_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="http://wordpress.org/support/">support forums</a>.' ) . ' ' . '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)', headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
+                       trigger_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>.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
                        $request = wp_remote_post( $http_url, $args );
                }
 
                if ( is_wp_error($request) ) {
-                       $res = new WP_Error('plugins_api_failed', __( '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="http://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() );
+                       $res = new WP_Error('plugins_api_failed', __( '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>.' ), $request->get_error_message() );
                } else {
                        $res = maybe_unserialize( wp_remote_retrieve_body( $request ) );
                        if ( ! is_object( $res ) && ! is_array( $res ) )
-                               $res = new WP_Error('plugins_api_failed', __( '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="http://wordpress.org/support/">support forums</a>.' ), wp_remote_retrieve_body( $request ) );
+                               $res = new WP_Error('plugins_api_failed', __( '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>.' ), wp_remote_retrieve_body( $request ) );
                }
        } elseif ( !is_wp_error($res) ) {
                $res->external = true;
@@ -126,7 +126,7 @@ function install_popular_tags( $args = array() ) {
 
 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>.' ), 'http://wordpress.org/plugins/', self_admin_url( 'plugin-install.php?tab=upload' ) ); ?></p>
+       <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>
 
        <h4><?php _e('Search') ?></h4>
        <?php install_search_form( false ); ?>
@@ -312,8 +312,8 @@ function install_plugin_information() {
 
        $api = plugins_api( 'plugin_information', array( 'slug' => wp_unslash( $_REQUEST['plugin'] ), 'is_ssl' => is_ssl() ) );
 
-       if ( is_wp_error($api) )
-               wp_die($api);
+       if ( is_wp_error( $api ) )
+               wp_die( $api );
 
        $plugins_allowedtags = array(
                'a' => array( 'href' => array(), 'title' => array(), 'target' => array() ),
@@ -334,13 +334,17 @@ function install_plugin_information() {
        );
 
        //Sanitize HTML
-       foreach ( (array)$api->sections as $section_name => $content )
+       foreach ( (array)$api->sections as $section_name => $content ) {
                $api->sections[$section_name] = wp_kses($content, $plugins_allowedtags);
+       }
+
        foreach ( array( 'version', 'author', 'requires', 'tested', 'homepage', 'downloaded', 'slug' ) as $key ) {
                if ( isset( $api->$key ) )
                        $api->$key = wp_kses( $api->$key, $plugins_allowedtags );
        }
 
+       $_tab = esc_attr( $tab );
+
        $section = isset( $_REQUEST['section'] ) ? wp_unslash( $_REQUEST['section'] ) : 'description'; //Default to the Description tab, Do not translate, API returns English.
        if ( empty( $section ) || ! isset( $api->sections[ $section ] ) ) {
                $section_titles = array_keys( (array) $api->sections );
@@ -348,8 +352,10 @@ function install_plugin_information() {
        }
 
        iframe_header( __('Plugin Install') );
-       echo "<div id='$tab-header'>\n";
-       echo "<ul id='sidemenu'>\n";
+
+       echo "<div id='{$_tab}-title'>{$api->name}</div>";
+       echo "<div id='{$_tab}-tabs'>\n";
+
        foreach ( (array)$api->sections as $section_name => $content ) {
 
                if ( isset( $plugins_section_titles[ $section_name ] ) )
@@ -359,70 +365,48 @@ function install_plugin_information() {
 
                $class = ( $section_name == $section ) ? ' class="current"' : '';
                $href = add_query_arg( array('tab' => $tab, 'section' => $section_name) );
-               $href = esc_url($href);
+               $href = esc_url( $href );
                $san_section = esc_attr( $section_name );
-               echo "\t<li><a name='$san_section' href='$href' $class>$title</a></li>\n";
+               echo "\t<a name='$san_section' href='$href' $class>$title</a>\n";
        }
-       echo "</ul>\n";
+
        echo "</div>\n";
+
        ?>
-       <div class="alignright fyi">
-               <?php if ( ! empty($api->download_link) && ( current_user_can('install_plugins') || current_user_can('update_plugins') ) ) : ?>
-               <p class="action-button">
-               <?php
-               $status = install_plugin_install_status($api);
-               switch ( $status['status'] ) {
-                       case 'install':
-                               if ( $status['url'] )
-                                       echo '<a href="' . $status['url'] . '" target="_parent">' . __('Install Now') . '</a>';
-                               break;
-                       case 'update_available':
-                               if ( $status['url'] )
-                                       echo '<a href="' . $status['url'] . '" target="_parent">' . __('Install Update Now') .'</a>';
-                               break;
-                       case 'newer_installed':
-                               echo '<a>' . sprintf(__('Newer Version (%s) Installed'), $status['version']) . '</a>';
-                               break;
-                       case 'latest_installed':
-                               echo '<a>' . __('Latest Version Installed') . '</a>';
-                               break;
-               }
-               ?>
-               </p>
-               <?php endif; ?>
-               <h2 class="mainheader"><?php /* translators: For Your Information */ _e('FYI') ?></h2>
+       <div id="<?php echo $_tab; ?>-content">
+       <div class="fyi">
                <ul>
-<?php if ( ! empty($api->version) ) : ?>
+<?php if ( ! empty( $api->version ) ) : ?>
                        <li><strong><?php _e('Version:') ?></strong> <?php echo $api->version ?></li>
-<?php endif; if ( ! empty($api->author) ) : ?>
+<?php endif; if ( ! empty( $api->author ) ) : ?>
                        <li><strong><?php _e('Author:') ?></strong> <?php echo links_add_target($api->author, '_blank') ?></li>
-<?php endif; if ( ! empty($api->last_updated) ) : ?>
+<?php endif; if ( ! empty( $api->last_updated ) ) : ?>
                        <li><strong><?php _e('Last Updated:') ?></strong> <span title="<?php echo $api->last_updated ?>"><?php
                                                        printf( __('%s ago'), human_time_diff(strtotime($api->last_updated)) ) ?></span></li>
-<?php endif; if ( ! empty($api->requires) ) : ?>
+<?php endif; if ( ! empty( $api->requires ) ) : ?>
                        <li><strong><?php _e('Requires WordPress Version:') ?></strong> <?php printf(__('%s or higher'), $api->requires) ?></li>
-<?php endif; if ( ! empty($api->tested) ) : ?>
+<?php endif; if ( ! empty( $api->tested ) ) : ?>
                        <li><strong><?php _e('Compatible up to:') ?></strong> <?php echo $api->tested ?></li>
-<?php endif; if ( ! empty($api->downloaded) ) : ?>
+<?php endif; if ( ! empty( $api->downloaded ) ) : ?>
                        <li><strong><?php _e('Downloaded:') ?></strong> <?php printf(_n('%s time', '%s times', $api->downloaded), number_format_i18n($api->downloaded)) ?></li>
-<?php endif; if ( ! empty($api->slug) && empty($api->external) ) : ?>
-                       <li><a target="_blank" href="http://wordpress.org/plugins/<?php echo $api->slug ?>/"><?php _e('WordPress.org Plugin Page &#187;') ?></a></li>
-<?php endif; if ( ! empty($api->homepage) ) : ?>
+<?php endif; if ( ! empty( $api->slug ) && empty( $api->external ) ) : ?>
+                       <li><a target="_blank" href="https://wordpress.org/plugins/<?php echo $api->slug ?>/"><?php _e('WordPress.org Plugin Page &#187;') ?></a></li>
+<?php endif; if ( ! empty( $api->homepage ) ) : ?>
                        <li><a target="_blank" href="<?php echo $api->homepage ?>"><?php _e('Plugin Homepage &#187;') ?></a></li>
 <?php endif; ?>
                </ul>
-               <?php if ( ! empty($api->rating) ) : ?>
-               <h2><?php _e('Average Rating') ?></h2>
+               <?php if ( ! empty( $api->rating ) ) : ?>
+               <h3><?php _e('Average Rating') ?></h3>
                <?php wp_star_rating( array( 'rating' => $api->rating, 'type' => 'percent', 'number' => $api->num_ratings ) ); ?>
-               <small><?php printf(_n('(based on %s rating)', '(based on %s ratings)', $api->num_ratings), number_format_i18n($api->num_ratings)); ?></small>
+               <small><?php printf( _n('(based on %s rating)', '(based on %s ratings)', $api->num_ratings), number_format_i18n($api->num_ratings) ); ?></small>
                <?php endif; ?>
        </div>
        <div id="section-holder" class="wrap">
        <?php
-               if ( !empty($api->tested) && version_compare( substr($GLOBALS['wp_version'], 0, strlen($api->tested)), $api->tested, '>') )
+               if ( ! empty( $api->tested ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->tested ) ), $api->tested, '>' ) )
                        echo '<div class="updated"><p>' . __('<strong>Warning:</strong> This plugin has <strong>not been tested</strong> with your current version of WordPress.') . '</p></div>';
 
-               else if ( !empty($api->requires) && version_compare( substr($GLOBALS['wp_version'], 0, strlen($api->requires)), $api->requires, '<') )
+               else if ( ! empty( $api->requires ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->requires ) ), $api->requires, '<' ) )
                        echo '<div class="updated"><p>' . __('<strong>Warning:</strong> This plugin has <strong>not been marked as compatible</strong> with your version of WordPress.') . '</p></div>';
 
                foreach ( (array)$api->sections as $section_name => $content ) {
@@ -432,19 +416,40 @@ function install_plugin_information() {
                        else
                                $title = ucwords( str_replace( '_', ' ', $section_name ) );
 
-                       $content = links_add_base_url($content, 'http://wordpress.org/plugins/' . $api->slug . '/');
-                       $content = links_add_target($content, '_blank');
+                       $content = links_add_base_url( $content, 'https://wordpress.org/plugins/' . $api->slug . '/' );
+                       $content = links_add_target( $content, '_blank' );
 
                        $san_section = esc_attr( $section_name );
 
                        $display = ( $section_name == $section ) ? 'block' : 'none';
 
                        echo "\t<div id='section-{$san_section}' class='section' style='display: {$display};'>\n";
-                       echo "\t\t<h2 class='long-header'>$title</h2>";
                        echo $content;
                        echo "\t</div>\n";
                }
        echo "</div>\n";
+       echo "</div>\n";
+       echo "<div id='$tab-footer'>\n";
+       if ( ! empty( $api->download_link ) && ( current_user_can('install_plugins') || current_user_can('update_plugins') ) ) {
+               $status = install_plugin_install_status($api);
+               switch ( $status['status'] ) {
+                       case 'install':
+                               if ( $status['url'] )
+                                       echo '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' . __('Install Now') . '</a>';
+                               break;
+                       case 'update_available':
+                               if ( $status['url'] )
+                                       echo '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' . __('Install Update Now') .'</a>';
+                               break;
+                       case 'newer_installed':
+                               echo '<a class="button button-primary right disabled">' . sprintf(__('Newer Version (%s) Installed'), $status['version']) . '</a>';
+                               break;
+                       case 'latest_installed':
+                               echo '<a class="button button-primary right disabled">' . __('Latest Version Installed') . '</a>';
+                               break;
+               }
+       }
+       echo "</div>\n";
 
        iframe_footer();
        exit;
index 8095cd4330ea4a34544e9e4d2303087290d9977b..08adef827bbc4553ca3daab7676d01a92b3aea5c 100644 (file)
@@ -537,11 +537,15 @@ function activate_plugin( $plugin, $redirect = '', $network_wide = false, $silen
                if ( !empty($redirect) )
                        wp_redirect(add_query_arg('_error_nonce', wp_create_nonce('plugin-activation-error_' . $plugin), $redirect)); // we'll override this later if the plugin can be included without fatal error
                ob_start();
-               include_once(WP_PLUGIN_DIR . '/' . $plugin);
+               wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $plugin );
+               include_once( WP_PLUGIN_DIR . '/' . $plugin );
 
                if ( ! $silent ) {
                        /**
-                        * Fires before a plugin is activated in activate_plugin() when the $silent parameter is false.
+                        * Fires before a plugin is activated.
+                        *
+                        * If a plugin is silently activated (such as during an update),
+                        * this hook does not fire.
                         *
                         * @since 2.9.0
                         *
@@ -552,10 +556,14 @@ function activate_plugin( $plugin, $redirect = '', $network_wide = false, $silen
                        do_action( 'activate_plugin', $plugin, $network_wide );
 
                        /**
-                        * Fires before a plugin is activated in activate_plugin() when the $silent parameter is false.
+                        * Fires as a specific plugin is being deactivated.
+                        *
+                        * This hook is the "deactivation" hook used internally by
+                        * register_deactivation_hook(). The dynamic portion of the
+                        * hook name, $plugin. refers to the plugin basename.
                         *
-                        * The action concatenates the 'activate_' prefix with the $plugin value passed to
-                        * activate_plugin() to create a dynamically-named action.
+                        * If a plugin is silently activated (such as during an update),
+                        * this hook does not fire.
                         *
                         * @since 2.0.0
                         *
@@ -576,7 +584,10 @@ function activate_plugin( $plugin, $redirect = '', $network_wide = false, $silen
 
                if ( ! $silent ) {
                        /**
-                        * Fires after a plugin has been activated in activate_plugin() when the $silent parameter is false.
+                        * Fires after a plugin has been activated.
+                        *
+                        * If a plugin is silently activated (such as during an update),
+                        * this hook does not fire.
                         *
                         * @since 2.9.0
                         *
@@ -625,8 +636,10 @@ function deactivate_plugins( $plugins, $silent = false, $network_wide = null ) {
 
                if ( ! $silent ) {
                        /**
-                        * Fires for each plugin being deactivated in deactivate_plugins(), before deactivation
-                        * and when the $silent parameter is false.
+                        * Fires before a plugin is deactivated.
+                        *
+                        * If a plugin is silently deactivated (such as during an update),
+                        * this hook does not fire.
                         *
                         * @since 2.9.0
                         *
@@ -656,11 +669,14 @@ function deactivate_plugins( $plugins, $silent = false, $network_wide = null ) {
 
                if ( ! $silent ) {
                        /**
-                        * Fires for each plugin being deactivated in deactivate_plugins(), after deactivation
-                        * and when the $silent parameter is false.
+                        * Fires as a specific plugin is being deactivated.
                         *
-                        * The action concatenates the 'deactivate_' prefix with the plugin's basename
-                        * to create a dynamically-named action.
+                        * This hook is the "deactivation" hook used internally by
+                        * register_deactivation_hook(). The dynamic portion of the
+                        * hook name, $plugin. refers to the plugin basename.
+                        *
+                        * If a plugin is silently deactivated (such as during an update),
+                        * this hook does not fire.
                         *
                         * @since 2.0.0
                         *
@@ -670,14 +686,16 @@ function deactivate_plugins( $plugins, $silent = false, $network_wide = null ) {
                        do_action( 'deactivate_' . $plugin, $network_deactivating );
 
                        /**
-                        * Fires for each plugin being deactivated in deactivate_plugins(), after deactivation
-                        * and when the $silent parameter is false.
+                        * Fires after a plugin is deactivated.
+                        *
+                        * If a plugin is silently deactivated (such as during an update),
+                        * this hook does not fire.
                         *
                         * @since 2.9.0
                         *
-                        * @param string $plugin               Plugin path to main plugin file with plugin data.
+                        * @param string $plugin               Plugin basename.
                         * @param bool   $network_deactivating Whether the plugin is deactivated for all sites in the network
-                        *                                     or just the current site. Multisite only. Default is false.
+                        *                                     or just the current site. Multisite only. Default false.
                         */
                        do_action( 'deactivated_plugin', $plugin, $network_deactivating );
                }
@@ -921,6 +939,7 @@ function uninstall_plugin($plugin) {
                unset($uninstallable_plugins);
 
                define('WP_UNINSTALL_PLUGIN', $file);
+               wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . dirname( $file ) );
                include WP_PLUGIN_DIR . '/' . dirname($file) . '/uninstall.php';
 
                return true;
@@ -932,6 +951,7 @@ function uninstall_plugin($plugin) {
                update_option('uninstall_plugins', $uninstallable_plugins);
                unset($uninstallable_plugins);
 
+               wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $file );
                include WP_PLUGIN_DIR . '/' . $file;
 
                add_action( 'uninstall_' . $file, $callable );
@@ -969,7 +989,7 @@ function uninstall_plugin($plugin) {
  * @param string $icon_url The url to the icon to be used for this menu.
  *     * Pass a base64-encoded SVG using a data URI, which will be colored to match the color scheme.
  *       This should begin with 'data:image/svg+xml;base64,'.
- *     * Pass the name of a Dashicons helper class to use a font icon, e.g. 'dashicons-piechart'.
+ *     * Pass the name of a Dashicons helper class to use a font icon, e.g. 'dashicons-chart-pie'.
  *     * Pass 'none' to leave div.wp-menu-image empty so an icon can be added via CSS.
  * @param int $position The position in the menu order this one should appear
  *
@@ -988,7 +1008,7 @@ function add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $func
                add_action( $hookname, $function );
 
        if ( empty($icon_url) ) {
-               $icon_url = 'none';
+               $icon_url = 'dashicons-admin-generic';
                $icon_class = 'menu-icon-generic ';
        } else {
                $icon_url = set_url_scheme( $icon_url );
@@ -1412,7 +1432,7 @@ function remove_submenu_page( $menu_slug, $submenu_slug ) {
  *
  * If the slug hasn't been registered properly no url will be returned
  *
- * @since 3.0
+ * @since 3.0.0
  *
  * @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
@@ -1461,15 +1481,6 @@ function get_admin_page_parent( $parent = '' ) {
                return $parent;
        }
 
-       /*
-       if ( !empty ( $parent_file ) ) {
-               if ( isset( $_wp_real_parent_file[$parent_file] ) )
-                       $parent_file = $_wp_real_parent_file[$parent_file];
-
-               return $parent_file;
-       }
-       */
-
        if ( $pagenow == 'admin.php' && isset( $plugin_page ) ) {
                foreach ( (array)$menu as $parent_menu ) {
                        if ( $parent_menu[2] == $plugin_page ) {
index 11aa9cf8f568b96a63b503e5e3603c08604c361d..64b63d649614a9340365bb22ad75b8273bcbdf69 100644 (file)
@@ -79,9 +79,19 @@ function _wp_translate_postdata( $update = false, $post_data = null ) {
                }
        }
 
-       if ( ! empty( $post_data['post_status'] ) )
+       if ( ! empty( $post_data['post_status'] ) ) {
                $post_data['post_status'] = sanitize_key( $post_data['post_status'] );
 
+               // No longer an auto-draft
+               if ( 'auto-draft' === $post_data['post_status'] ) {
+                       $post_data['post_status'] = 'draft';
+               }
+
+               if ( ! get_post_status_object( $post_data['post_status'] ) ) {
+                       unset( $post_data['post_status'] );
+               }
+       }
+
        // What to do based on which button they pressed
        if ( isset($post_data['saveasdraft']) && '' != $post_data['saveasdraft'] )
                $post_data['post_status'] = 'draft';
@@ -112,8 +122,9 @@ function _wp_translate_postdata( $update = false, $post_data = null ) {
                if ( ! in_array( $previous_status, $published_statuses ) || !current_user_can( 'edit_post', $post_id ) )
                        $post_data['post_status'] = 'pending';
 
-       if ( ! isset($post_data['post_status']) )
-               $post_data['post_status'] = $previous_status;
+       if ( ! isset( $post_data['post_status'] ) ) {
+               $post_data['post_status'] = 'auto-draft' === $previous_status ? 'draft' : $previous_status;
+       }
 
        if ( isset( $post_data['post_password'] ) && ! current_user_can( $ptype->cap->publish_posts ) ) {
                unset( $post_data['post_password'] );
@@ -223,10 +234,6 @@ function edit_post( $post_data = null ) {
        if ( is_wp_error($post_data) )
                wp_die( $post_data->get_error_message() );
 
-       if ( ( empty( $post_data['action'] ) || 'autosave' != $post_data['action'] ) && 'auto-draft' == $post_data['post_status'] ) {
-               $post_data['post_status'] = 'draft';
-       }
-
        // Post Formats
        if ( isset( $post_data['post_format'] ) )
                set_post_format( $post_ID, $post_data['post_format'] );
@@ -250,6 +257,20 @@ function edit_post( $post_data = null ) {
                }
        }
 
+       if ( 'attachment' === $post_data['post_type'] && preg_match( '#^(audio|video)/#', $post_data['post_mime_type'] ) ) {
+               $id3data = wp_get_attachment_metadata( $post_ID );
+               if ( ! is_array( $id3data ) ) {
+                       $id3data = array();
+               }
+
+               foreach ( wp_get_attachment_id3_keys( $post, 'edit' ) as $key => $label ) {
+                       if ( isset( $post_data[ 'id3_' . $key ] ) ) {
+                               $id3data[ $key ] = sanitize_text_field( wp_unslash( $post_data[ 'id3_' . $key ] ) );
+                       }
+               }
+               wp_update_attachment_metadata( $post_ID, $id3data );
+       }
+
        // Meta Stuff
        if ( isset($post_data['meta']) && $post_data['meta'] ) {
                foreach ( $post_data['meta'] as $key => $value ) {
@@ -287,6 +308,7 @@ function edit_post( $post_data = null ) {
                }
 
                $attachment_data = isset( $post_data['attachments'][ $post_ID ] ) ? $post_data['attachments'][ $post_ID ] : array();
+
                /** This filter is documented in wp-admin/includes/media.php */
                $post_data = apply_filters( 'attachment_fields_to_save', $post_data, $attachment_data );
        }
@@ -536,8 +558,34 @@ function get_default_post_to_edit( $post_type = 'post', $create_in_db = false )
                $post = new WP_Post( $post );
        }
 
+       /**
+        * Filter the default post content initially used in the "Write Post" form.
+        *
+        * @since 1.5.0
+        *
+        * @param string  $post_content Default post content.
+        * @param WP_Post $post         Post object.
+        */
        $post->post_content = apply_filters( 'default_content', $post_content, $post );
-       $post->post_title   = apply_filters( 'default_title',   $post_title, $post   );
+
+       /**
+        * Filter the default post title initially used in the "Write Post" form.
+        *
+        * @since 1.5.0
+        *
+        * @param string  $post_title Default post title.
+        * @param WP_Post $post       Post object.
+        */
+       $post->post_title = apply_filters( 'default_title', $post_title, $post );
+
+       /**
+        * Filter the default post excerpt initially used in the "Write Post" form.
+        *
+        * @since 1.5.0
+        *
+        * @param string  $post_excerpt Default post excerpt.
+        * @param WP_Post $post         Post object.
+        */
        $post->post_excerpt = apply_filters( 'default_excerpt', $post_excerpt, $post );
        $post->post_name = '';
 
@@ -850,33 +898,6 @@ function _fix_attachment_links( $post ) {
        }
 }
 
-/**
- * Move child posts to a new parent.
- *
- * @since 2.3.0
- * @access private
- *
- * @param unknown_type $old_ID
- * @param unknown_type $new_ID
- * @return unknown
- */
-function _relocate_children( $old_ID, $new_ID ) {
-       global $wpdb;
-       $old_ID = (int) $old_ID;
-       $new_ID = (int) $new_ID;
-
-       $children = $wpdb->get_col( $wpdb->prepare("
-               SELECT post_id
-               FROM $wpdb->postmeta
-               WHERE meta_key = '_wp_attachment_temp_parent'
-               AND meta_value = %d", $old_ID) );
-
-       foreach ( $children as $child_id ) {
-               $wpdb->update($wpdb->posts, array('post_parent' => $new_ID), array('ID' => $child_id) );
-               delete_post_meta($child_id, '_wp_attachment_temp_parent');
-       }
-}
-
 /**
  * Get all the possible statuses for a post_type
  *
@@ -933,7 +954,30 @@ function wp_edit_posts_query( $q = false ) {
        if ( empty( $posts_per_page ) || $posts_per_page < 1 )
                $posts_per_page = 20;
 
+       /**
+        * Filter the number of items per page to show for a specific 'per_page' type.
+        *
+        * The dynamic hook name, $per_page, refers to a hook name comprised of the post type,
+        * preceded by 'edit_', and succeeded by '_per_page', e.g. 'edit_$post_type_per_page'.
+        *
+        * Some examples of filter hooks generated here include: 'edit_attachment_per_page',
+        * 'edit_post_per_page', 'edit_page_per_page', etc.
+        *
+        * @since 3.0.0
+        *
+        * @param int $posts_per_page Number of posts to display per page for the given 'per_page'
+        *                            type. Default 20.
+        */
        $posts_per_page = apply_filters( $per_page, $posts_per_page );
+
+       /**
+        * Filter the number of posts displayed per page when specifically listing "posts".
+        *
+        * @since 2.8.0
+        *
+        * @param int    $per_page  Number of posts to be displayed. Default 20.
+        * @param string $post_type The post type.
+        */
        $posts_per_page = apply_filters( 'edit_posts_per_page', $posts_per_page, $post_type );
 
        $query = compact('post_type', 'post_status', 'perm', 'order', 'orderby', 'posts_per_page');
@@ -974,7 +1018,6 @@ function get_available_post_mime_types($type = 'attachment') {
  * can be passed in, which will override the arguments set by this function.
  *
  * @since 2.5.0
- * @uses apply_filters() Calls 'upload_per_page' on posts_per_page argument
  *
  * @param array|bool $q Array of query variables to use to build the query or false to use $_GET superglobal.
  * @return array
@@ -995,6 +1038,14 @@ function wp_edit_attachments_query( $q = false ) {
        $media_per_page = (int) get_user_option( 'upload_per_page' );
        if ( empty( $media_per_page ) || $media_per_page < 1 )
                $media_per_page = 20;
+
+       /**
+        * Filter the number of items to list per page when listing media items.
+        *
+        * @since 2.9.0
+        *
+        * @param int $media_per_page Number of media to list. Default 20.
+        */
        $q['posts_per_page'] = apply_filters( 'upload_per_page', $media_per_page );
 
        $post_mime_types = get_post_mime_types();
@@ -1004,21 +1055,13 @@ function wp_edit_attachments_query( $q = false ) {
                unset($q['post_mime_type']);
 
        if ( isset($q['detached']) )
-               add_filter('posts_where', '_edit_attachments_query_helper');
+               $q['post_parent'] = 0;
 
        wp( $q );
 
-       if ( isset($q['detached']) )
-               remove_filter('posts_where', '_edit_attachments_query_helper');
-
        return array($post_mime_types, $avail_post_mime_types);
 }
 
-function _edit_attachments_query_helper($where) {
-       global $wpdb;
-       return $where .= " AND {$wpdb->posts}.post_parent < 1";
-}
-
 /**
  * Returns the list of classes to be used by a metabox
  *
@@ -1042,6 +1085,16 @@ function postbox_classes( $id, $page ) {
                $classes = array( '' );
        }
 
+       /**
+        * Filter the postbox classes for a specific screen and screen ID combo.
+        *
+        * The dynamic portions of the hook name, $page, and $id, refer to
+        * the screen, and screen ID, respectively.
+        *
+        * @since 3.2.0
+        *
+        * @param array $classes An array of postbox classes.
+        */
        $classes = apply_filters( "postbox_classes_{$page}_{$id}", $classes );
        return implode( ' ', $classes );
 }
@@ -1093,13 +1146,16 @@ function get_sample_permalink($id, $title = null, $name = null) {
                $uri = untrailingslashit($uri);
                $uri = strrev( stristr( strrev( $uri ), '/' ) );
                $uri = untrailingslashit($uri);
+
+               /** This filter is documented in wp-admin/edit-tag-form.php */
                $uri = apply_filters( 'editable_slug', $uri );
                if ( !empty($uri) )
                        $uri .= '/';
                $permalink = str_replace('%pagename%', "{$uri}%pagename%", $permalink);
        }
 
-       $permalink = array($permalink, apply_filters('editable_slug', $post->post_name));
+       /** This filter is documented in wp-admin/edit-tag-form.php */
+       $permalink = array( $permalink, apply_filters( 'editable_slug', $post->post_name ) );
        $post->post_status = $original_status;
        $post->post_date = $original_date;
        $post->post_name = $original_name;
@@ -1125,9 +1181,12 @@ function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
 
        list($permalink, $post_name) = get_sample_permalink($post->ID, $new_title, $new_slug);
 
-       if ( 'publish' == get_post_status( $post ) ) {
-               $ptype = get_post_type_object($post->post_type);
+       if ( current_user_can( 'read_post', $post->ID ) ) {
+               $ptype = get_post_type_object( $post->post_type );
                $view_post = $ptype->labels->view_item;
+       }
+
+       if ( 'publish' == get_post_status( $post ) ) {
                $title = __('Click to edit this part of the permalink');
        } else {
                $title = __('Temporary permalink. Click to edit this part.');
@@ -1140,7 +1199,17 @@ function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
                if ( isset( $view_post ) )
                        $return .= "<span id='view-post-btn'><a href='$permalink' class='button button-small'>$view_post</a></span>\n";
 
-               $return = apply_filters('get_sample_permalink_html', $return, $id, $new_title, $new_slug);
+               /**
+                * Filter the sample permalink HTML markup.
+                *
+                * @since 2.9.0
+                *
+                * @param string      $return    Sample permalink HTML markup.
+                * @param int|WP_Post $id        Post object or ID.
+                * @param string      $new_title New sample permalink title.
+                * @param string      $new_slug  New sample permalink slug.
+                */
+               $return = apply_filters( 'get_sample_permalink_html', $return, $id, $new_title, $new_slug );
 
                return $return;
        }
@@ -1167,10 +1236,13 @@ function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
        $return .= '&lrm;'; // Fix bi-directional text display defect in RTL languages.
        $return .= '<span id="edit-slug-buttons"><a href="#post_name" class="edit-slug button button-small hide-if-no-js" onclick="editPermalink(' . $id . '); return false;">' . __('Edit') . "</a></span>\n";
        $return .= '<span id="editable-post-name-full">' . $post_name . "</span>\n";
-       if ( isset($view_post) )
-               $return .= "<span id='view-post-btn'><a href='$view_link' class='button button-small'>$view_post</a></span>\n";
 
-       $return = apply_filters('get_sample_permalink_html', $return, $id, $new_title, $new_slug);
+       if ( isset( $view_post ) ) {
+               $return .= "<span id='view-post-btn'><a href='" . get_permalink( $post ) . "' class='button button-small'>$view_post</a></span>\n";
+       }
+
+       /** This filter is documented in wp-admin/includes/post.php */
+       $return = apply_filters( 'get_sample_permalink_html', $return, $id, $new_title, $new_slug );
 
        return $return;
 }
@@ -1208,6 +1280,14 @@ function _wp_post_thumbnail_html( $thumbnail_id = null, $post = null ) {
                $content_width = $old_content_width;
        }
 
+       /**
+        * Filter the admin post thumbnail HTML markup to return.
+        *
+        * @since 2.9.0
+        *
+        * @param string $content Admin post thumbnail HTML markup.
+        * @param int    $post_id Post ID.
+        */
        return apply_filters( 'admin_post_thumbnail_html', $content, $post->ID );
 }
 
@@ -1230,6 +1310,7 @@ function wp_check_post_lock( $post_id ) {
        $time = $lock[0];
        $user = isset( $lock[1] ) ? $lock[1] : get_post_meta( $post->ID, '_edit_last', true );
 
+       /** This filter is documented in wp-admin/includes/ajax-actions.php */
        $time_window = apply_filters( 'wp_check_post_lock_window', 150 );
 
        if ( $time && $time > time() - $time_window && $user != get_current_user_id() )
@@ -1274,6 +1355,17 @@ function _admin_notice_post_locked() {
                $user = get_userdata( $user_id );
 
        if ( $user ) {
+
+               /**
+                * Filter whether to show the post locked dialog.
+                *
+                * Returning a falsey value to the filter will short-circuit displaying the dialog.
+                *
+                * @since 3.6.0
+                *
+                * @param bool         $display Whether to display the dialog. Default true.
+                * @param WP_User|bool $user    WP_User object on success, false otherwise.
+                */
                if ( ! apply_filters( 'show_post_locked_dialog', true, $post, $user ) )
                        return;
 
@@ -1316,7 +1408,21 @@ function _admin_notice_post_locked() {
                        $preview_link = '';
                }
 
+               /** This filter is documented in wp-admin/includes/meta-boxes.php */
                $preview_link = apply_filters( 'preview_post_link', $preview_link );
+
+               /**
+                * Filter whether to allow the post lock to be overridden.
+                *
+                * Returning a falsey value to the filter will disable the ability
+                * to override the post lock.
+                *
+                * @since 3.6.0
+                *
+                * @param bool    $override Whether to allow overriding post locks. Default true.
+                * @param WP_Post $post     Post object.
+                * @param WP_User $user     User object.
+                */
                $override = apply_filters( 'override_post_lock', true, $post, $user );
                $tab_last = $override ? '' : ' wp-tab-last';
 
@@ -1330,7 +1436,16 @@ function _admin_notice_post_locked() {
                                printf( ' ' . __( 'If you take over, %s will be blocked from continuing to edit.' ), esc_html( $user->display_name ) );
                ?>
                </p>
-               <?php do_action( 'post_locked_dialog', $post ); ?>
+               <?php
+               /**
+                * Fires inside the post locked dialog before the buttons are displayed.
+                *
+                * @since 3.6.0
+                *
+                * @param WP_Post $post Post object.
+                */
+               do_action( 'post_locked_dialog', $post );
+               ?>
                <p>
                <a class="button" href="<?php echo esc_url( $sendback ); ?>"><?php echo $sendback_text; ?></a>
                <?php if ( $preview_link ) { ?>
@@ -1358,7 +1473,16 @@ function _admin_notice_post_locked() {
                        <span class="locked-saving hidden"><img src="images/wpspin_light-2x.gif" width="16" height="16" /> <?php _e('Saving revision...'); ?></span>
                        <span class="locked-saved hidden"><?php _e('Your latest changes were saved as a revision.'); ?></span>
                        </p>
-                       <?php do_action( 'post_lock_lost_dialog', $post ); ?>
+                       <?php
+                       /**
+                        * Fires inside the dialog displayed when a user has lost the post lock.
+                        *
+                        * @since 3.6.0
+                        *
+                        * @param WP_Post $post Post object.
+                        */
+                       do_action( 'post_lock_lost_dialog', $post );
+                       ?>
                        <p><a class="button button-primary wp-tab-last" href="<?php echo esc_url( $sendback ); ?>"><?php echo $sendback_text; ?></a></p>
                </div>
                <?php
@@ -1380,25 +1504,33 @@ function _admin_notice_post_locked() {
  * @uses _wp_translate_postdata()
  * @uses _wp_post_revision_fields()
  *
- * @return unknown
+ * @param mixed $post_data Associative array containing the post data or int post ID.
+ * @return mixed The autosave revision ID. WP_Error or 0 on error.
  */
-function wp_create_post_autosave( $post_id ) {
-       $translated = _wp_translate_postdata( true );
-       if ( is_wp_error( $translated ) )
-               return $translated;
+function wp_create_post_autosave( $post_data ) {
+       if ( is_numeric( $post_data ) ) {
+               $post_id = $post_data;
+               $post_data = &$_POST;
+       } else {
+               $post_id = (int) $post_data['post_ID'];
+       }
+
+       $post_data = _wp_translate_postdata( true, $post_data );
+       if ( is_wp_error( $post_data ) )
+               return $post_data;
 
        $post_author = get_current_user_id();
 
        // Store one autosave per author. If there is already an autosave, overwrite it.
        if ( $old_autosave = wp_get_post_autosave( $post_id, $post_author ) ) {
-               $new_autosave = _wp_post_revision_fields( $_POST, true );
+               $new_autosave = _wp_post_revision_fields( $post_data, true );
                $new_autosave['ID'] = $old_autosave->ID;
                $new_autosave['post_author'] = $post_author;
 
-               // If the new autosave is the same content as the post, delete the old autosave.
+               // If the new autosave has the same content as the post, delete the autosave.
                $post = get_post( $post_id );
                $autosave_is_different = false;
-               foreach ( array_keys( _wp_post_revision_fields() ) as $field ) {
+               foreach ( array_intersect( array_keys( $new_autosave ), array_keys( _wp_post_revision_fields() ) ) as $field ) {
                        if ( normalize_whitespace( $new_autosave[ $field ] ) != normalize_whitespace( $post->$field ) ) {
                                $autosave_is_different = true;
                                break;
@@ -1407,14 +1539,14 @@ function wp_create_post_autosave( $post_id ) {
 
                if ( ! $autosave_is_different ) {
                        wp_delete_post_revision( $old_autosave->ID );
-                       return;
+                       return 0;
                }
 
                return wp_update_post( $new_autosave );
        }
 
        // _wp_put_post_revision() expects unescaped.
-       $post_data = wp_unslash( $_POST );
+       $post_data = wp_unslash( $post_data );
 
        // Otherwise create the new autosave as a special post revision
        return _wp_put_post_revision( $post_data, true );
@@ -1440,58 +1572,88 @@ function wp_create_post_autosave( $post_id ) {
 function post_preview() {
 
        $post_ID = (int) $_POST['post_ID'];
-       $status = get_post_status( $post_ID );
-       if ( 'auto-draft' == $status )
-               wp_die( __('Preview not available. Please save as a draft first.') );
-
-       if ( isset($_POST['catslist']) )
-               $_POST['post_category'] = explode(",", $_POST['catslist']);
+       $_POST['ID'] = $post_ID;
 
-       if ( isset($_POST['tags_input']) )
-               $_POST['tags_input'] = explode(",", $_POST['tags_input']);
+       if ( ! $post = get_post( $post_ID ) ) {
+               wp_die( __( 'You are not allowed to edit this post.' ) );
+       }
 
-       if ( $_POST['post_type'] == 'page' || empty($_POST['post_category']) )
-               unset($_POST['post_category']);
+       if ( ! current_user_can( 'edit_post', $post->ID ) ) {
+               wp_die( __( 'You are not allowed to edit this post.' ) );
+       }
 
-       $_POST['ID'] = $post_ID;
-       $post = get_post($post_ID);
+       $is_autosave = false;
 
-       if ( 'page' == $post->post_type ) {
-               if ( ! current_user_can('edit_page', $post_ID) )
-                       wp_die( __('You are not allowed to edit this page.') );
+       if ( ! wp_check_post_lock( $post->ID ) && get_current_user_id() == $post->post_author && ( 'draft' == $post->post_status || 'auto-draft' == $post->post_status ) ) {
+               $saved_post_id = edit_post();
        } else {
-               if ( ! current_user_can('edit_post', $post_ID) )
-                       wp_die( __('You are not allowed to edit this post.') );
-       }
+               $is_autosave = true;
 
-       $user_id = get_current_user_id();
-       $locked = wp_check_post_lock( $post->ID );
-       if ( ! $locked && 'draft' == $post->post_status && $user_id == $post->post_author ) {
-               $id = edit_post();
-       } else { // Non drafts are not overwritten. The autosave is stored in a special post revision.
-               $id = wp_create_post_autosave( $post->ID );
-               if ( ! is_wp_error($id) )
-                       $id = $post->ID;
+               if ( 'auto-draft' == $_POST['post_status'] )
+                       $_POST['post_status'] = 'draft';
+
+               $saved_post_id = wp_create_post_autosave( $post->ID );
        }
 
-       if ( is_wp_error($id) )
-               wp_die( $id->get_error_message() );
+       if ( is_wp_error( $saved_post_id ) )
+               wp_die( $saved_post_id->get_error_message() );
 
-       if ( ! $locked && $_POST['post_status'] == 'draft' && $user_id == $post->post_author ) {
-               $url = add_query_arg( 'preview', 'true', get_permalink($id) );
-       } else {
-               $nonce = wp_create_nonce('post_preview_' . $id);
-               $args = array(
-                       'preview' => 'true',
-                       'preview_id' => $id,
-                       'preview_nonce' => $nonce,
-               );
+       $query_args = array( 'preview' => 'true' );
 
-               if ( isset( $_POST['post_format'] ) )
-                       $args['post_format'] = empty( $_POST['post_format'] ) ? 'standard' : sanitize_key( $_POST['post_format'] );
+       if ( $is_autosave && $saved_post_id ) {
+               $query_args['preview_id'] = $post->ID;
+               $query_args['preview_nonce'] = wp_create_nonce( 'post_preview_' . $post->ID );
 
-               $url = add_query_arg( $args, get_permalink($id) );
+               if ( isset( $_POST['post_format'] ) )
+                       $query_args['post_format'] = empty( $_POST['post_format'] ) ? 'standard' : sanitize_key( $_POST['post_format'] );
        }
 
+       $url = add_query_arg( $query_args, get_permalink( $post->ID ) );
+
+       /** This filter is documented in wp-admin/includes/meta-boxes.php */
        return apply_filters( 'preview_post_link', $url );
 }
+
+/**
+ * Save a post submitted with XHR
+ *
+ * Intended for use with heartbeat and autosave.js
+ *
+ * @since 3.9
+ *
+ * @param $post_data Associative array of the submitted post data.
+ * @return mixed The value 0 or WP_Error on failure. The saved post ID on success.
+ *               Te ID can be the draft post_id or the autosave revision post_id.
+ */
+function wp_autosave( $post_data ) {
+       // Back-compat
+       if ( ! defined( 'DOING_AUTOSAVE' ) )
+               define( 'DOING_AUTOSAVE', true );
+
+       $post_id = (int) $post_data['post_id'];
+       $post_data['ID'] = $post_data['post_ID'] = $post_id;
+
+       if ( false === wp_verify_nonce( $post_data['_wpnonce'], 'update-post_' . $post_id ) ) {
+               return new WP_Error( 'invalid_nonce', __( 'Error while saving.' ) );
+       }
+
+       $post = get_post( $post_id );
+
+       if ( ! current_user_can( 'edit_post', $post->ID ) ) {
+               return new WP_Error( 'edit_posts', __( 'You are not allowed to edit this item.' ) );
+       }
+
+       if ( 'auto-draft' == $post->post_status )
+               $post_data['post_status'] = 'draft';
+
+       if ( $post_data['post_type'] != 'page' && ! empty( $post_data['catslist'] ) )
+               $post_data['post_category'] = explode( ',', $post_data['catslist'] );
+
+       if ( ! wp_check_post_lock( $post->ID ) && get_current_user_id() == $post->post_author && ( 'auto-draft' == $post->post_status || 'draft' == $post->post_status ) ) {
+               // Drafts and auto-drafts are just overwritten by autosave for the same user if the post is not locked
+               return edit_post( wp_slash( $post_data ) );
+       } else {
+               // Non drafts or other users drafts are not overwritten. The autosave is stored in a special post revision for each user.
+               return wp_create_post_autosave( wp_slash( $post_data ) );
+       }
+}
index 90ab600b72b4c2d8a831ce408a14474fb2f77f16..0c7a53c909bef896a1f72129f6eb81798eb5da43 100644 (file)
@@ -392,9 +392,6 @@ function populate_options() {
        'time_format' => __('g:i a'),
        /* translators: links last updated date format, see http://php.net/date */
        'links_updated_date_format' => __('F j, Y g:i a'),
-       'links_recently_updated_prepend' => '<em>',
-       'links_recently_updated_append' => '</em>',
-       'links_recently_updated_time' => 120,
        'comment_moderation' => 0,
        'moderation_notify' => 1,
        'permalink_structure' => '',
@@ -537,6 +534,7 @@ function populate_options() {
                'links_rating_ignore_zero', 'links_rating_single_image', 'links_rating_image0', 'links_rating_image1',
                'links_rating_image2', 'links_rating_image3', 'links_rating_image4', 'links_rating_image5',
                'links_rating_image6', 'links_rating_image7', 'links_rating_image8', 'links_rating_image9',
+               'links_recently_updated_time', 'links_recently_updated_prepend', 'links_recently_updated_append',
                'weblogs_cacheminutes', 'comment_allowed_tags', 'search_engine_friendly_urls', 'default_geourl_lat',
                'default_geourl_lon', 'use_default_geourl', 'weblogs_xml_url', 'new_users_can_blog', '_wpnonce',
                '_wp_http_referer', 'Update', 'action', 'rich_editing', 'autosave_interval', 'deactivated_plugins',
@@ -889,6 +887,8 @@ function populate_network( $network_id = 1, $domain = '', $email = '', $site_nam
                $wpdb->insert( $wpdb->site, array( 'domain' => $domain, 'path' => $path, 'id' => $network_id ) );
        }
 
+       wp_cache_delete( 'networks_have_paths', 'site-options' );
+
        if ( !is_multisite() ) {
                $site_admins = array( $site_user->user_login );
                $users = get_users( array( 'fields' => array( 'ID', 'user_login' ) ) );
index 85ab71248f93ba048bc7543f06a5bcf10b5ef182..7d4ec8815240cdd10057ee85c993445db0e1949d 100644 (file)
@@ -20,8 +20,22 @@ function get_column_headers( $screen ) {
 
        static $column_headers = array();
 
-       if ( ! isset( $column_headers[ $screen->id ] ) )
+       if ( ! isset( $column_headers[ $screen->id ] ) ) {
+
+               /**
+                * Filter the column headers for a list table on a specific screen.
+                *
+                * The dynamic portion of the hook name, $screen->id, refers to the
+                * ID of a specific screen. For example, the screen ID for the Posts
+                * list table is edit-post, so the filter for that screen would be
+                * manage_edit-post_columns.
+                *
+                * @since 3.0.0
+                *
+                * @param array $columns An array of column headers. Default empty.
+                */
                $column_headers[ $screen->id ] = apply_filters( 'manage_' . $screen->id . '_columns', array() );
+       }
 
        return $column_headers[ $screen->id ];
 }
@@ -101,9 +115,28 @@ function get_hidden_meta_boxes( $screen ) {
                        else
                                $hidden = array( 'slugdiv' );
                }
+
+               /**
+                * Filter the default list of hidden meta boxes.
+                *
+                * @since 3.1.0
+                *
+                * @param array     $hidden An array of meta boxes hidden by default.
+                * @param WP_Screen $screen WP_Screen object of the current screen.
+                */
                $hidden = apply_filters( 'default_hidden_meta_boxes', $hidden, $screen );
        }
 
+       /**
+        * Filter the list of hidden meta boxes.
+        *
+        * @since 3.3.0
+        *
+        * @param array     $hidden       An array of hidden meta boxes.
+        * @param WP_Screen $screen       WP_Screen object of the current screen.
+        * @param bool      $use_defaults Whether to show the default meta boxes.
+        *                                Default true.
+        */
        return apply_filters( 'hidden_meta_boxes', $hidden, $screen, $use_defaults );
 }
 
@@ -502,6 +535,14 @@ final class WP_Screen {
                $current_screen = $this;
                $taxnow = $this->taxonomy;
                $typenow = $this->post_type;
+
+               /**
+                * Fires after the current screen has been set.
+                *
+                * @since 3.0.0
+                *
+                * @param WP_Screen $current_screen Current WP_Screen object.
+                */
                do_action( 'current_screen', $current_screen );
        }
 
@@ -747,14 +788,46 @@ final class WP_Screen {
         */
        public function render_screen_meta() {
 
-               // Call old contextual_help_list filter.
+               /**
+                * Filter the legacy contextual help list.
+                *
+                * @since 2.7.0
+                * @deprecated 3.3.0 Use get_current_screen()->add_help_tab() or
+                *                   get_current_screen()->remove_help_tab() instead.
+                *
+                * @param array     $old_compat_help Old contextual help.
+                * @param WP_Screen $this            Current WP_Screen instance.
+                */
                self::$_old_compat_help = apply_filters( 'contextual_help_list', self::$_old_compat_help, $this );
 
                $old_help = isset( self::$_old_compat_help[ $this->id ] ) ? self::$_old_compat_help[ $this->id ] : '';
+
+               /**
+                * Filter the legacy contextual help text.
+                *
+                * @since 2.7.0
+                * @deprecated 3.3.0 Use get_current_screen()->add_help_tab() or
+                *                   get_current_screen()->remove_help_tab() instead.
+                *
+                * @param string    $old_help  Help text that appears on the screen.
+                * @param string    $screen_id Screen ID.
+                * @param WP_Screen $this      Current WP_Screen instance.
+                *
+                */
                $old_help = apply_filters( 'contextual_help', $old_help, $this->id, $this );
 
                // Default help only if there is no old-style block of text and no new-style help tabs.
                if ( empty( $old_help ) && ! $this->get_help_tabs() ) {
+
+                       /**
+                        * Filter the default legacy contextual help text.
+                        *
+                        * @since 2.8.0
+                        * @deprecated 3.3.0 Use get_current_screen()->add_help_tab() or
+                        *                   get_current_screen()->remove_help_tab() instead.
+                        *
+                        * @param string $old_help_default Default contextual help text.
+                        */
                        $default_help = apply_filters( 'default_contextual_help', '' );
                        if ( $default_help )
                                $old_help = '<p>' . $default_help . '</p>';
@@ -835,7 +908,18 @@ final class WP_Screen {
                <?php
                // Setup layout columns
 
-               // Back compat for plugins using the filter instead of add_screen_option()
+               /**
+                * Filter the array of screen layout columns.
+                *
+                * This hook provides back-compat for plugins using the back-compat
+                * filter instead of add_screen_option().
+                *
+                * @since 2.8.0
+                *
+                * @param array     $empty_columns Empty array.
+                * @param string    $screen_id     Screen ID.
+                * @param WP_Screen $this          Current WP_Screen instance.
+                */
                $columns = apply_filters( 'screen_layout_columns', array(), $this->id, $this );
 
                if ( ! empty( $columns ) && isset( $columns[ $this->id ] ) )
@@ -892,11 +976,31 @@ final class WP_Screen {
                                break;
                }
 
+               /**
+                * Filter the screen settings text displayed in the Screen Options tab.
+                *
+                * This filter is currently only used on the Widgets screen to enable
+                * accessibility mode.
+                *
+                * @since 3.0.0
+                *
+                * @param string    $screen_settings Screen settings.
+                * @param WP_Screen $this            WP_Screen object.
+                */
                $this->_screen_settings = apply_filters( 'screen_settings', $this->_screen_settings, $this );
 
                if ( $this->_screen_settings || $this->_options )
                        $show_screen = true;
 
+               /**
+                * Filter whether to show the Screen Options tab.
+                *
+                * @since 3.2.0
+                *
+                * @param bool      $show_screen Whether to show Screen Options tab.
+                *                               Default true.
+                * @param WP_Screen $this        Current WP_Screen instance.
+                */
                $this->_show_screen_options = apply_filters( 'screen_options_show_screen', $show_screen, $this );
                return $this->_show_screen_options;
        }
@@ -1034,16 +1138,22 @@ final class WP_Screen {
 
                if ( 'edit_comments_per_page' == $option ) {
                        $comment_status = isset( $_REQUEST['comment_status'] ) ? $_REQUEST['comment_status'] : 'all';
+
+                       /** This filter is documented in wp-admin/includes/class-wp-comments-list-table.php */
                        $per_page = apply_filters( 'comments_per_page', $per_page, $comment_status );
                } elseif ( 'categories_per_page' == $option ) {
+                       /** This filter is documented in wp-admin/includes/class-wp-terms-list-table.php */
                        $per_page = apply_filters( 'edit_categories_per_page', $per_page );
                } else {
+                       /** This filter is documented in wp-admin/includes/class-wp-list-table.php */
                        $per_page = apply_filters( $option, $per_page );
                }
 
                // Back compat
-               if ( isset( $this->post_type ) )
+               if ( isset( $this->post_type ) ) {
+                       /** This filter is documented in wp-admin/includes/class-wp-posts-list-table.php */
                        $per_page = apply_filters( 'edit_posts_per_page', $per_page, $this->post_type );
+               }
 
                ?>
                <div class="screen-options">
index 87fe6e6d6738ba6a93e4f93d1d9b251b1ae363e6..2953765efb37136d92f27921288327848ee87f8c 100644 (file)
@@ -233,6 +233,17 @@ function get_terms_to_edit( $post_id, $taxonomy = 'post_tag' ) {
                $tag_names[] = $tag->name;
        $tags_to_edit = join( ',', $tag_names );
        $tags_to_edit = esc_attr( $tags_to_edit );
+
+       /**
+        * Filter the comma-separated list of terms available to edit.
+        *
+        * @since 2.8.0
+        *
+        * @see get_terms_to_edit()
+        *
+        * @param array  $tags_to_edit An array of terms.
+        * @param string $taxonomy     The taxonomy for which to retrieve terms. Default 'post_tag'.
+        */
        $tags_to_edit = apply_filters( 'terms_to_edit', $tags_to_edit, $taxonomy );
 
        return $tags_to_edit;
index 076638262a55411f0ab36f6e94ed3d38bfab42b6..fb5814483c3a0c0440c24e9d8ec652bd6e735aba 100644 (file)
@@ -80,7 +80,9 @@ class Walker_Category_Checklist extends Walker {
                        $name = 'tax_input['.$taxonomy.']';
 
                $class = in_array( $category->term_id, $popular_cats ) ? ' class="popular-category"' : '';
-               $output .= "\n<li id='{$taxonomy}-{$category->term_id}'$class>" . '<label class="selectit"><input value="' . $category->term_id . '" type="checkbox" name="'.$name.'[]" id="in-'.$taxonomy.'-' . $category->term_id . '"' . checked( in_array( $category->term_id, $selected_cats ), true, false ) . disabled( empty( $args['disabled'] ), false, false ) . ' /> ' . esc_html( apply_filters('the_category', $category->name )) . '</label>';
+
+               /** This filter is documented in wp-includes/category-template.php */
+               $output .= "\n<li id='{$taxonomy}-{$category->term_id}'$class>" . '<label class="selectit"><input value="' . $category->term_id . '" type="checkbox" name="'.$name.'[]" id="in-'.$taxonomy.'-' . $category->term_id . '"' . checked( in_array( $category->term_id, $selected_cats ), true, false ) . disabled( empty( $args['disabled'] ), false, false ) . ' /> ' . esc_html( apply_filters( 'the_category', $category->name ) ) . '</label>';
        }
 
        /**
@@ -143,6 +145,17 @@ function wp_terms_checklist($post_id = 0, $args = array()) {
                'taxonomy' => 'category',
                'checked_ontop' => true
        );
+
+       /**
+        * Filter the taxonomy terms checklist arguments.
+        *
+        * @since 3.4.0
+        *
+        * @see wp_terms_checklist()
+        *
+        * @param array $args    An array of arguments.
+        * @param int   $post_id The post ID.
+        */
        $args = apply_filters( 'wp_terms_checklist_args', $args, $post_id );
 
        extract( wp_parse_args($args, $defaults), EXTR_SKIP );
@@ -235,8 +248,11 @@ function wp_popular_terms_checklist( $taxonomy, $default = 0, $number = 10, $ech
 
                <li id="<?php echo $id; ?>" class="popular-category">
                        <label class="selectit">
-                       <input id="in-<?php echo $id; ?>" type="checkbox" <?php echo $checked; ?> value="<?php echo (int) $term->term_id; ?>" <?php disabled( ! current_user_can( $tax->cap->assign_terms ) ); ?> />
-                               <?php echo esc_html( apply_filters( 'the_category', $term->name ) ); ?>
+                               <input id="in-<?php echo $id; ?>" type="checkbox" <?php echo $checked; ?> value="<?php echo (int) $term->term_id; ?>" <?php disabled( ! current_user_can( $tax->cap->assign_terms ) ); ?> />
+                               <?php
+                               /** This filter is documented in wp-includes/category-template.php */
+                               echo esc_html( apply_filters( 'the_category', $term->name ) );
+                               ?>
                        </label>
                </li>
 
@@ -271,6 +287,8 @@ function wp_link_category_checklist( $link_id = 0 ) {
 
        foreach ( $categories as $category ) {
                $cat_id = $category->term_id;
+
+               /** This filter is documented in wp-includes/category-template.php */
                $name = esc_html( apply_filters( 'the_category', $category->name ) );
                $checked = in_array( $cat_id, $checked_categories ) ? ' checked="checked"' : '';
                echo '<li id="link-category-', $cat_id, '"><label for="in-link-category-', $cat_id, '" class="selectit"><input value="', $cat_id, '" type="checkbox" name="link_category[]" id="in-link-category-', $cat_id, '"', $checked, '/> ', $name, "</label></li>";
@@ -292,10 +310,11 @@ function get_inline_data($post) {
 
        $title = esc_textarea( trim( $post->post_title ) );
 
+       /** This filter is documented in wp-admin/edit-tag-form.php */
        echo '
 <div class="hidden" id="inline_' . $post->ID . '">
        <div class="post_title">' . $title . '</div>
-       <div class="post_name">' . apply_filters('editable_slug', $post->post_name) . '</div>
+       <div class="post_name">' . apply_filters( 'editable_slug', $post->post_name ) . '</div>
        <div class="post_author">' . $post->post_author . '</div>
        <div class="comment_status">' . esc_html( $post->comment_status ) . '</div>
        <div class="ping_status">' . esc_html( $post->ping_status ) . '</div>
@@ -349,8 +368,23 @@ function get_inline_data($post) {
  * @param unknown_type $mode
  */
 function wp_comment_reply($position = '1', $checkbox = false, $mode = 'single', $table_row = true) {
-       // allow plugin to replace the popup content
-       $content = apply_filters( 'wp_comment_reply', '', array('position' => $position, 'checkbox' => $checkbox, 'mode' => $mode) );
+
+       /**
+        * Filter the in-line comment reply-to form output in the Comments
+        * list table.
+        *
+        * Returning a non-empty value here will short-circuit display
+        * of the in-line comment-reply form in the Comments list table,
+        * echoing the returned value instead.
+        *
+        * @since 2.7.0
+        *
+        * @see wp_comment_reply()
+        *
+        * @param string $content The reply-to form content.
+        * @param array  $args    An array of default args.
+        */
+       $content = apply_filters( 'wp_comment_reply', '', array( 'position' => $position, 'checkbox' => $checkbox, 'mode' => $mode ) );
 
        if ( ! empty($content) ) {
                echo $content;
@@ -532,7 +566,7 @@ function _list_meta_row( $entry, &$count ) {
        $delete_nonce = wp_create_nonce( 'delete-meta_' . $entry['meta_id'] );
 
        $r .= "\n\t<tr id='meta-{$entry['meta_id']}' class='$style'>";
-       $r .= "\n\t\t<td class='left'><label class='screen-reader-text' for='meta[{$entry['meta_id']}][key]'>" . __( 'Key' ) . "</label><input name='meta[{$entry['meta_id']}][key]' id='meta[{$entry['meta_id']}][key]' type='text' size='20' value='{$entry['meta_key']}' />";
+       $r .= "\n\t\t<td class='left'><label class='screen-reader-text' for='meta-{$entry['meta_id']}-key'>" . __( 'Key' ) . "</label><input name='meta[{$entry['meta_id']}][key]' id='meta-{$entry['meta_id']}-key' type='text' size='20' value='{$entry['meta_key']}' />";
 
        $r .= "\n\t\t<div class='submit'>";
        $r .= get_submit_button( __( 'Delete' ), 'deletemeta small', "deletemeta[{$entry['meta_id']}]", false, array( 'data-wp-lists' => "delete:the-list:meta-{$entry['meta_id']}::_ajax_nonce=$delete_nonce" ) );
@@ -542,7 +576,7 @@ function _list_meta_row( $entry, &$count ) {
        $r .= wp_nonce_field( 'change-meta', '_ajax_nonce', false, false );
        $r .= "</td>";
 
-       $r .= "\n\t\t<td><label class='screen-reader-text' for='meta[{$entry['meta_id']}][value]'>" . __( 'Value' ) . "</label><textarea name='meta[{$entry['meta_id']}][value]' id='meta[{$entry['meta_id']}][value]' rows='2' cols='30'>{$entry['meta_value']}</textarea></td>\n\t</tr>";
+       $r .= "\n\t\t<td><label class='screen-reader-text' for='meta-{$entry['meta_id']}-value'>" . __( 'Value' ) . "</label><textarea name='meta[{$entry['meta_id']}][value]' id='meta-{$entry['meta_id']}-value' rows='2' cols='30'>{$entry['meta_value']}</textarea></td>\n\t</tr>";
        return $r;
 }
 
@@ -556,6 +590,15 @@ function _list_meta_row( $entry, &$count ) {
 function meta_form( $post = null ) {
        global $wpdb;
        $post = get_post( $post );
+
+       /**
+        * Filter the number of custom fields to retrieve for the drop-down
+        * in the Custom Fields meta box.
+        *
+        * @since 2.1.0
+        *
+        * @param int $limit Number of custom fields to retrieve. Default 30.
+        */
        $limit = (int) apply_filters( 'postmeta_form_limit', 30 );
        $keys = $wpdb->get_col( "
                SELECT meta_key
@@ -564,14 +607,18 @@ function meta_form( $post = null ) {
                HAVING meta_key NOT LIKE '\_%'
                ORDER BY meta_key
                LIMIT $limit" );
-       if ( $keys )
-               natcasesort($keys);
+       if ( $keys ) {
+               natcasesort( $keys );
+               $meta_key_input_id = 'metakeyselect';
+       } else {
+               $meta_key_input_id = 'metakeyinput';
+       }
 ?>
 <p><strong><?php _e( 'Add New Custom Field:' ) ?></strong></p>
 <table id="newmeta">
 <thead>
 <tr>
-<th class="left"><label for="metakeyselect"><?php _ex( 'Name', 'meta name' ) ?></label></th>
+<th class="left"><label for="<?php echo $meta_key_input_id; ?>"><?php _ex( 'Name', 'meta name' ) ?></label></th>
 <th><label for="metavalue"><?php _e( 'Value' ) ?></label></th>
 </tr>
 </thead>
@@ -615,14 +662,15 @@ function meta_form( $post = null ) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Print out HTML form date elements for editing post or comment publish date.
  *
  * @since 0.71
  *
- * @param unknown_type $edit
- * @param unknown_type $for_post
- * @param unknown_type $tab_index
- * @param unknown_type $multi
+ * @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|bool $tab_index The tabindex attribute to add. Default 0.
+ * @param int|bool $multi     Optional. Whether the additional fields and buttons should be added.
+ *                            Default 0|false.
  */
 function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) {
        global $wp_locale, $comment;
@@ -655,11 +703,9 @@ function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) {
        $month = "<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 . '"';
-               if ( $i == $mm )
-                       $month .= ' selected="selected"';
+               $month .= "\t\t\t" . '<option value="' . $monthnum . '" ' . 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, $wp_locale->get_month_abbrev( $wp_locale->get_month( $i ) ) ) . "</option>\n";
        }
        $month .= '</select>';
 
@@ -680,7 +726,7 @@ function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) {
        foreach ( array('mm', 'jj', 'aa', 'hh', 'mn') as $timeunit ) {
                echo '<input type="hidden" id="hidden_' . $timeunit . '" name="hidden_' . $timeunit . '" value="' . $$timeunit . '" />' . "\n";
                $cur_timeunit = 'cur_' . $timeunit;
-               echo '<input type="hidden" id="'. $cur_timeunit . '" name="'. $cur_timeunit . '" value="' . $$cur_timeunit . '" />' . "\n";
+               echo '<input type="hidden" id="' . $cur_timeunit . '" name="' . $cur_timeunit . '" value="' . $$cur_timeunit . '" />' . "\n";
        }
 ?>
 
@@ -692,33 +738,31 @@ function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Print out <option> HTML elements for the page templates drop-down.
  *
  * @since 1.5.0
  *
- * @param unknown_type $default
+ * @param string $default Optional. The template file name. Default empty.
  */
 function page_template_dropdown( $default = '' ) {
-       $templates = get_page_templates();
+       $templates = get_page_templates( get_post() );
        ksort( $templates );
-       foreach (array_keys( $templates ) as $template )
-               : if ( $default == $templates[$template] )
-                       $selected = " selected='selected'";
-               else
-                       $selected = '';
-       echo "\n\t<option value='".$templates[$template]."' $selected>$template</option>";
-       endforeach;
+       foreach ( array_keys( $templates ) as $template ) {
+               $selected = selected( $default, $templates[ $template ], false );
+               echo "\n\t<option value='" . $templates[ $template ] . "' $selected>$template</option>";
+       }
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Print out <option> HTML elements for the page parents drop-down.
  *
  * @since 1.5.0
  *
- * @param unknown_type $default
- * @param unknown_type $parent
- * @param unknown_type $level
- * @return unknown
+ * @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.
+ *
+ * @return void|bool Boolean False if page has no children, otherwise print out html elements
  */
 function parent_dropdown( $default = 0, $parent = 0, $level = 0 ) {
        global $wpdb;
@@ -732,12 +776,9 @@ function parent_dropdown( $default = 0, $parent = 0, $level = 0 ) {
                                continue;
 
                        $pad = str_repeat( '&nbsp;', $level * 3 );
-                       if ( $item->ID == $default)
-                               $current = ' selected="selected"';
-                       else
-                               $current = '';
+                       $selected = selected( $default, $item->ID, false );
 
-                       echo "\n\t<option class='level-$level' value='$item->ID'$current>$pad " . esc_html($item->post_title) . "</option>";
+                       echo "\n\t<option class='level-$level' value='$item->ID' $selected>$pad " . esc_html($item->post_title) . "</option>";
                        parent_dropdown( $default, $item->ID, $level +1 );
                }
        } else {
@@ -776,6 +817,16 @@ function wp_dropdown_roles( $selected = false ) {
  * @param string $action The action attribute for the form.
  */
 function wp_import_upload_form( $action ) {
+
+       /**
+        * Filter the maximum allowed upload size for import files.
+        *
+        * @since 2.3.0
+        *
+        * @see wp_max_upload_size()
+        *
+        * @param int $max_upload_size Allowed upload size. Default 1 MB.
+        */
        $bytes = apply_filters( 'import_upload_size_limit', wp_max_upload_size() );
        $size = size_format( $bytes );
        $upload_dir = wp_upload_dir();
@@ -802,13 +853,23 @@ function wp_import_upload_form( $action ) {
  *
  * @since 2.5.0
  *
- * @param string $id String for use in the 'id' attribute of tags.
- * @param string $title Title of the meta box.
- * @param string $callback Function that fills the box with the desired content. The function should echo its output.
- * @param string|object $screen Optional. The screen on which to show the box (post, page, link). Defaults to current screen.
- * @param string $context Optional. The context within the page where the boxes should show ('normal', 'advanced').
- * @param string $priority Optional. The priority within the context where the boxes should show ('high', 'low').
- * @param array $callback_args Optional. Data that should be set as the "args" property of the box array (which is the second parameter passed to your callback).
+ * @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.
+ *                                        The function should echo its output.
+ * @param string|WP_Screen $screen        Optional. The screen on which to show the box (like a post
+ *                                        type, 'link', or 'comment'). Default is the current screen.
+ * @param string           $context       Optional. The context within the screen where the boxes
+ *                                        should display. Available contexts vary from screen to
+ *                                        screen. Post edit screen contexts include 'normal', 'side',
+ *                                        and 'advanced'. Comments screen contexts include 'normal'
+ *                                        and 'side'. Menus meta boxes (accordion sections) all use
+ *                                        the 'side' context. Global default is 'advanced'.
+ * @param string           $priority      Optional. The priority within the context where the boxes
+ *                                        should show ('high', 'low'). Default 'default'.
+ * @param array            $callback_args Optional. Data that should be set as the $args property
+ *                                        of the box array (which is the second parameter passed
+ *                                        to your callback). Default null.
  */
 function add_meta_box( $id, $title, $callback, $screen = null, $context = 'advanced', $priority = 'default', $callback_args = null ) {
        global $wp_meta_boxes;
@@ -1167,7 +1228,7 @@ function do_settings_fields($page, $section) {
                return;
 
        foreach ( (array) $wp_settings_fields[$page][$section] as $field ) {
-               echo '<tr valign="top">';
+               echo '<tr>';
                if ( !empty($field['args']['label_for']) )
                        echo '<th scope="row"><label for="' . esc_attr( $field['args']['label_for'] ) . '">' . $field['title'] . '</label></th>';
                else
@@ -1319,26 +1380,29 @@ function settings_errors( $setting = '', $sanitize = false, $hide_on_update = fa
  */
 function find_posts_div($found_action = '') {
 ?>
-       <div id="find-posts" class="find-box" style="display:none;">
-               <div id="find-posts-head" class="find-box-head"><?php _e('Find Posts or Pages'); ?></div>
+       <div id="find-posts" class="find-box" style="display: none;">
+               <div id="find-posts-head" class="find-box-head">
+                       <?php _e( 'Find Posts or Pages' ); ?>
+                       <div id="find-posts-close"></div>
+               </div>
                <div class="find-box-inside">
                        <div class="find-box-search">
                                <?php if ( $found_action ) { ?>
                                        <input type="hidden" name="found_action" value="<?php echo esc_attr($found_action); ?>" />
                                <?php } ?>
-
                                <input type="hidden" name="affected" id="affected" value="" />
                                <?php wp_nonce_field( 'find-posts', '_ajax_nonce', false ); ?>
                                <label class="screen-reader-text" for="find-posts-input"><?php _e( 'Search' ); ?></label>
                                <input type="text" id="find-posts-input" name="ps" value="" />
                                <span class="spinner"></span>
                                <input type="button" id="find-posts-search" value="<?php esc_attr_e( 'Search' ); ?>" class="button" />
+                               <div class="clear"></div>
                        </div>
                        <div id="find-posts-response"></div>
                </div>
                <div class="find-box-buttons">
-                       <input id="find-posts-close" type="button" class="button alignleft" value="<?php esc_attr_e('Close'); ?>" />
                        <?php submit_button( __( 'Select' ), 'button-primary alignright', 'find-posts-submit', false ); ?>
+                       <div class="clear"></div>
                </div>
        </div>
 <?php
@@ -1426,13 +1490,26 @@ var ajaxurl = '<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>',
 //]]>
 </script>
 <?php
-do_action('admin_enqueue_scripts', $hook_suffix);
-do_action("admin_print_styles-$hook_suffix");
-do_action('admin_print_styles');
-do_action("admin_print_scripts-$hook_suffix");
-do_action('admin_print_scripts');
-do_action("admin_head-$hook_suffix");
-do_action('admin_head');
+/** This action is documented in wp-admin/admin-header.php */
+do_action( 'admin_enqueue_scripts', $hook_suffix );
+
+/** This action is documented in wp-admin/admin-header.php */
+do_action( "admin_print_styles-$hook_suffix" );
+
+/** This action is documented in wp-admin/admin-header.php */
+do_action( 'admin_print_styles' );
+
+/** This action is documented in wp-admin/admin-header.php */
+do_action( "admin_print_scripts-$hook_suffix" );
+
+/** This action is documented in wp-admin/admin-header.php */
+do_action( 'admin_print_scripts' );
+
+/** This action is documented in wp-admin/admin-header.php */
+do_action( "admin_head-$hook_suffix" );
+
+/** This action is documented in wp-admin/admin-header.php */
+do_action( 'admin_head' );
 
 $admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
 
@@ -1441,6 +1518,7 @@ if ( is_rtl() )
 
 ?>
 </head>
+<?php /** This filter is documented in wp-admin/admin-header.php */ ?>
 <body<?php if ( isset($GLOBALS['body_id']) ) echo ' id="' . $GLOBALS['body_id'] . '"'; ?> class="wp-admin wp-core-ui no-js iframe <?php echo apply_filters( 'admin_body_class', '' ) . ' ' . $admin_body_class; ?>">
 <script type="text/javascript">
 //<![CDATA[
@@ -1461,11 +1539,20 @@ document.body.className = c;
  *
  */
 function iframe_footer() {
-       //We're going to hide any footer output on iframe pages, but run the hooks anyway since they output Javascript or other needed content. ?>
+       /*
+        * We're going to hide any footer output on iFrame pages,
+        * but run the hooks anyway since they output Javascript
+        * or other needed content.
+        */
+        ?>
        <div class="hidden">
 <?php
-       do_action('admin_footer', '');
-       do_action('admin_print_footer_scripts'); ?>
+       /** This action is documented in wp-admin/admin-footer.php */
+       do_action( 'admin_footer', '' );
+
+       /** This action is documented in wp-admin/admin-footer.php */
+       do_action( 'admin_print_footer_scripts' );
+?>
        </div>
 <script type="text/javascript">if(typeof wpOnload=="function")wpOnload();</script>
 </body>
@@ -1492,6 +1579,15 @@ function _post_states($post) {
        if ( is_sticky($post->ID) )
                $post_states['sticky'] = __('Sticky');
 
+       /**
+        * Filter the default post display states used in the Posts list table.
+        *
+        * @since 2.8.0
+        *
+        * @param array $post_states An array of post display states. Values include 'Password protected',
+        *                           'Private', 'Draft', 'Pending', and 'Sticky'.
+        * @param int   $post        The post ID.
+        */
        $post_states = apply_filters( 'display_post_states', $post_states, $post );
 
        if ( ! empty($post_states) ) {
@@ -1523,6 +1619,14 @@ function _media_states( $post ) {
                        $media_states[] = __( 'Background Image' );
        }
 
+       /**
+        * 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'.
+        */
        $media_states = apply_filters( 'display_media_states', $media_states );
 
        if ( ! empty( $media_states ) ) {
@@ -1603,21 +1707,26 @@ function compression_test() {
 }
 
 /**
- * Echos a submit button, with provided text and appropriate class
+ * Echoes a submit button, with provided text and appropriate class(es).
  *
  * @since 3.1.0
  *
- * @param string $text The text of the button (defaults to 'Save Changes')
- * @param string $type The type of button. One of: primary, secondary, delete
- * @param string $name The HTML name of the submit button. Defaults to "submit". If no id attribute
- *               is given in $other_attributes below, $name will be used as the button's id.
- * @param bool $wrap True if the output button should be wrapped in a paragraph tag,
- *                        false otherwise. Defaults to true
- * @param array|string $other_attributes Other attributes that should be output with the button,
- *                     mapping attributes to their values, such as array( 'tabindex' => '1' ).
- *                     These attributes will be output as attribute="value", such as tabindex="1".
- *                     Defaults to no other attributes. Other attributes can also be provided as a
- *                     string such as 'tabindex="1"', though the array format is typically cleaner.
+ * @see get_submit_button()
+ *
+ * @param string       $text             The text of the button (defaults to 'Save Changes')
+ * @param string       $type             Optional. The type and CSS class(es) of the button. Core values
+ *                                       include 'primary', 'secondary', 'delete'. Default 'primary'
+ * @param string       $name             The HTML name of the submit button. Defaults to "submit". If no
+ *                                       id attribute is given in $other_attributes below, $name will be
+ *                                       used as the button's id.
+ * @param bool         $wrap             True if the output button should be wrapped in a paragraph tag,
+ *                                       false otherwise. Defaults to true
+ * @param array|string $other_attributes Other attributes that should be output with the button, mapping
+ *                                       attributes to their values, such as setting tabindex to 1, etc.
+ *                                       These key/value attribute pairs will be output as attribute="value",
+ *                                       where attribute is the key. Other attributes can also be provided
+ *                                       as a string such as 'tabindex="1"', though the array format is
+ *                                       preferred. Default null.
  */
 function submit_button( $text = null, $type = 'primary', $name = 'submit', $wrap = true, $other_attributes = null ) {
        echo get_submit_button( $text, $type, $name, $wrap, $other_attributes );
@@ -1692,13 +1801,19 @@ function _wp_admin_html_begin() {
        if ( $is_IE )
                @header('X-UA-Compatible: IE=edge');
 
+/**
+ * Fires inside the HTML tag in the admin header.
+ *
+ * @since 2.2.0
+ */
 ?>
 <!DOCTYPE html>
 <!--[if IE 8]>
-<html xmlns="http://www.w3.org/1999/xhtml" class="ie8 <?php echo $admin_html_class; ?>" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>>
+<html xmlns="http://www.w3.org/1999/xhtml" class="ie8 <?php echo $admin_html_class; ?>" <?php do_action( 'admin_xml_ns' ); ?> <?php language_attributes(); ?>>
 <![endif]-->
 <!--[if !(IE 8) ]><!-->
-<html xmlns="http://www.w3.org/1999/xhtml" class="<?php echo $admin_html_class; ?>" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>>
+<?php /** This action is documented in wp-admin/includes/template.php */ ?>
+<html xmlns="http://www.w3.org/1999/xhtml" class="<?php echo $admin_html_class; ?>" <?php do_action( 'admin_xml_ns' ); ?> <?php language_attributes(); ?>>
 <!--<![endif]-->
 <head>
 <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
@@ -1714,8 +1829,8 @@ final class WP_Internal_Pointers {
         * All pointers can be disabled using the following:
         *     remove_action( 'admin_enqueue_scripts', array( 'WP_Internal_Pointers', 'enqueue_scripts' ) );
         *
-        * Individual pointers (e.g. wp330_toolbar) can be disabled using the following:
-        *     remove_action( 'admin_print_footer_scripts', array( 'WP_Internal_Pointers', 'pointer_wp330_toolbar' ) );
+        * 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' ) );
         */
        public static function enqueue_scripts( $hook_suffix ) {
                /*
@@ -1724,13 +1839,11 @@ final class WP_Internal_Pointers {
                 */
 
                $registered_pointers = array(
-                       'index.php'    => 'wp330_toolbar',
                        'post-new.php' => 'wp350_media',
                        'post.php'     => array( 'wp350_media', 'wp360_revisions' ),
                        'edit.php'     => 'wp360_locks',
-                       'themes.php'   => array( 'wp330_saving_widgets', 'wp340_customize_current_theme_link' ),
-                       'appearance_page_custom-header' => 'wp340_choose_image_from_library',
-                       'appearance_page_custom-background' => 'wp340_choose_image_from_library',
+                       'widgets.php'  => 'wp390_widgets',
+                       'themes.php'   => 'wp390_widgets',
                );
 
                // Check if screen related pointer is registered
@@ -1740,10 +1853,8 @@ final class WP_Internal_Pointers {
                $pointers = (array) $registered_pointers[ $hook_suffix ];
 
                $caps_required = array(
-                       'wp330_saving_widgets' => array( 'edit_theme_options', 'switch_themes' ),
-                       'wp340_customize_current_theme_link' => array( 'edit_theme_options' ),
-                       'wp340_choose_image_from_library' => array( 'edit_theme_options' ),
                        'wp350_media' => array( 'upload_files' ),
+                       'wp390_widgets' => array( 'edit_theme_options' ),
                );
 
                // Get dismissed pointers
@@ -1817,71 +1928,11 @@ final class WP_Internal_Pointers {
                <?php
        }
 
-       public static function pointer_wp330_toolbar() {
-               $content  = '<h3>' . __( 'New Feature: Toolbar' ) . '</h3>';
-               $content .= '<p>' .  __( 'We&#8217;ve combined the admin bar and the old Dashboard header into one persistent toolbar. Hover over the toolbar items to see what&#8217;s new.' ) . '</p>';
-
-               if ( is_multisite() && is_super_admin() )
-                       $content .= '<p>' . __( 'Network Admin is now located in the My Sites menu.' ) . '</p>';
-
-               WP_Internal_Pointers::print_js( 'wp330_toolbar', '#wpadminbar', array(
-                       'content'  => $content,
-                       'position' => array( 'edge' => 'top', 'align' => 'center' ),
-               ) );
-       }
-
-       /**
-        * Print 'Updated Media Uploader' for 3.3.0.
-        *
-        * @since 3.3.0
-        */
+       public static function pointer_wp330_toolbar() {}
        public static function pointer_wp330_media_uploader() {}
-
-       /**
-        * Print 'New Feature: Saving Widgets' for 3.3.0.
-        *
-        * @since 3.3.0
-        */
-       public static function pointer_wp330_saving_widgets() {
-               $content  = '<h3>' . __( 'New Feature: Saving Widgets' ) . '</h3>';
-               $content .= '<p>' . __( 'If you change your mind and revert to your previous theme, we&#8217;ll put the widgets back the way you had them.' ) . '</p>';
-
-               WP_Internal_Pointers::print_js( 'wp330_saving_widgets', '#message2', array(
-                       'content'  => $content,
-                       'position' => array( 'edge' => 'top', 'align' => is_rtl() ? 'right' : 'left' ),
-               ) );
-       }
-
-       /**
-        * Print 'New Feature: Current Theme Customize Link' for 3.4.0.
-        *
-        * @since 3.4.0
-        */
-       public static function pointer_wp340_customize_current_theme_link() {
-               $content  = '<h3>' . __( 'New Feature: Customizer' ) . '</h3>';
-               $content .= '<p>' . __( 'Click Customize to change the header, background, title and menus of the current theme, all in one place.' ) . '</p>';
-               $content .= '<p>' . __( 'Click the Live Preview links in the Available Themes list below to customize and preview another theme before activating it.' ) . '</p>';
-
-               WP_Internal_Pointers::print_js( 'wp340_customize_current_theme_link', '#customize-current-theme-link', array(
-                       'content'  => $content,
-                       'position' => array( 'edge' => 'top', 'align' => is_rtl() ? 'right' : 'left', 'offset' => is_rtl() ? '32 0' : '-32 0' ),
-               ) );
-       }
-
-       /**
-        * Print 'New Feature: Choose Image from Library' for 3.4.0.
-        *
-        * @since 3.4.0
-        */
-       public static function pointer_wp340_choose_image_from_library() {
-               $content  = '<h3>' . __( 'New Feature: Choose Image from Library' ) . '</h3>';
-               $content .= '<p>' . __( 'Want to use an image you uploaded earlier? Select it from your media library instead of uploading it again.' ) . '</p>';
-
-               WP_Internal_Pointers::print_js( 'wp340_choose_image_from_library', '#choose-from-library-link', array(
-                       'content'  => $content,
-                       'position' => array( 'edge' => 'top', 'align' => is_rtl() ? 'right' : 'left', 'defer_loading' => true ),
-               ) );
-       }
+       public static function pointer_wp330_saving_widgets() {}
+       public static function pointer_wp340_customize_current_theme_link() {}
+       public static function pointer_wp340_choose_image_from_library() {}
 
        public static function pointer_wp350_media() {
                $content  = '<h3>' . __( 'New Media Manager' ) . '</h3>';
@@ -1904,25 +1955,52 @@ final class WP_Internal_Pointers {
        }
 
        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>';
 
-               if ( ! is_multi_author() )
-                       return;
-
                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 theme 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', 'my' => is_rtl() ? 'right-13px' : '' );
+               } 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,
+               ) );
+       }
+
        /**
         * Prevents new users from seeing existing 'new feature' pointers.
         *
         * @since 3.3.0
         */
        public static function dismiss_pointers_for_new_users( $user_id ) {
-               add_user_meta( $user_id, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_saving_widgets,wp340_choose_image_from_library,wp340_customize_current_theme_link,wp350_media,wp360_revisions,wp360_locks' );
+               add_user_meta( $user_id, 'dismissed_wp_pointers', 'wp350_media,wp360_revisions,wp360_locks,wp390_widgets' );
        }
 }
 
@@ -1949,7 +2027,7 @@ function convert_to_screen( $hook_name ) {
 /**
  * Output the HTML for restoring the post data from DOM storage
  *
- * @since 3.6
+ * @since 3.6.0
  * @access private
  */
 function _local_storage_notice() {
@@ -2021,4 +2099,4 @@ function wp_star_rating( $args = array() ) {
        echo str_repeat( '<div class="star star-half"></div>', $half_stars );
        echo str_repeat( '<div class="star star-empty"></div>', $empty_stars);
        echo '</div>';
-}
\ No newline at end of file
+}
index 63be1d7e0152033cfd5061cc1eead93c34b1aed9..0a28e0fabd0a033c7dc6806718b7fcc954f6bc7e 100644 (file)
@@ -132,11 +132,10 @@ function install_themes_dashboard() {
 </form>
 <?php
 }
-add_action('install_themes_dashboard', 'install_themes_dashboard');
+// add_action('install_themes_dashboard', 'install_themes_dashboard');
 
-function install_themes_upload($page = 1) {
+function install_themes_upload() {
 ?>
-<h4><?php _e('Install a theme in .zip format'); ?></h4>
 <p class="install-help"><?php _e('If you have a theme in a .zip format, you may install it by uploading it here.'); ?></p>
 <form method="post" enctype="multipart/form-data" class="wp-upload-form" action="<?php echo self_admin_url('update.php?action=upload-theme'); ?>">
        <?php wp_nonce_field( 'theme-upload'); ?>
@@ -145,7 +144,7 @@ function install_themes_upload($page = 1) {
 </form>
        <?php
 }
-add_action('install_themes_upload', 'install_themes_upload', 10, 1);
+// add_action('install_themes_upload', 'install_themes_upload', 10, 0);
 
 /**
  * Prints a theme on the Install Themes pages.
@@ -155,6 +154,10 @@ add_action('install_themes_upload', 'install_themes_upload', 10, 1);
 function display_theme( $theme ) {
        _deprecated_function( __FUNCTION__, '3.4' );
        global $wp_list_table;
+       if ( ! isset( $wp_list_table ) ) {
+               $wp_list_table = _get_list_table('WP_Theme_Install_List_Table');
+       }
+       $wp_list_table->prepare_items();
        $wp_list_table->single_row( $theme );
 }
 
@@ -166,12 +169,17 @@ function display_theme( $theme ) {
 function display_themes() {
        global $wp_list_table;
 
+       if ( ! isset( $wp_list_table ) ) {
+               $wp_list_table = _get_list_table('WP_Theme_Install_List_Table');
+       }
+       $wp_list_table->prepare_items();
        $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');
+// 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.
@@ -179,7 +187,7 @@ add_action('install_themes_updated', 'display_themes');
  * @since 2.8.0
  */
 function install_theme_information() {
-       global $tab, $themes_allowedtags, $wp_list_table;
+       global $wp_list_table;
 
        $theme = themes_api( 'theme_information', array( 'slug' => wp_unslash( $_REQUEST['theme'] ) ) );
 
@@ -187,6 +195,9 @@ function install_theme_information() {
                wp_die( $theme );
 
        iframe_header( __('Theme Install') );
+       if ( ! isset( $wp_list_table ) ) {
+               $wp_list_table = _get_list_table('WP_Theme_Install_List_Table');
+       }
        $wp_list_table->theme_installer_single( $theme );
        iframe_footer();
        exit;
index 2d989204845394deea8eeba256e4f94931dc5833..ab665f81532ea5c6e15b18b1ee9f4d43a1381694 100644 (file)
@@ -78,10 +78,11 @@ function delete_theme($stylesheet, $redirect = '') {
  *
  * @since 1.5.0
  *
+ * @param WP_Post|null $post Optional. The post being edited, provided for context.
  * @return array Key is the template name, value is the filename of the template
  */
-function get_page_templates() {
-       return array_flip( wp_get_theme()->get_page_templates() );
+function get_page_templates( $post = null ) {
+       return array_flip( wp_get_theme()->get_page_templates( $post ) );
 }
 
 /**
@@ -147,11 +148,14 @@ function get_theme_update_available( $theme ) {
 
                if ( !is_multisite() ) {
                        if ( ! current_user_can('update_themes') ) {
-                               $html = sprintf( '<p><strong>' . __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s details</a>.') . '</strong></p>', $theme_name, $details_url, $update['new_version']);
+                               $html = sprintf( '<p><strong>' . __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a>.' ) . '</strong></p>',
+                                       $theme_name, esc_url( $details_url ), esc_attr( $theme['Name'] ), $update['new_version'] );
                        } else if ( empty( $update['package'] ) ) {
-                               $html = sprintf( '<p><strong>' . __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s details</a>. <em>Automatic update is unavailable for this theme.</em>') . '</strong></p>', $theme_name, $details_url, $update['new_version']);
+                               $html = sprintf( '<p><strong>' . __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a>. <em>Automatic update is unavailable for this theme.</em>' ) . '</strong></p>',
+                                       $theme_name, esc_url( $details_url ), esc_attr( $theme['Name'] ), $update['new_version'] );
                        } else {
-                               $html = sprintf( '<p><strong>' . __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%1$s">View version %3$s details</a> or <a href="%4$s" %5$s>update now</a>.') . '</strong></p>', $theme_name, $details_url, $update['new_version'], $update_url, $update_onclick );
+                               $html = sprintf( '<p><strong>' . __( 'There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a> or <a href="%5$s">update now</a>.' ) . '</strong></p>',
+                                       $theme_name, esc_url( $details_url ), esc_attr( $theme['Name'] ), $update['new_version'], $update_url, $update_onclick );
                        }
                }
        }
@@ -188,7 +192,10 @@ function get_theme_feature_list( $api = true ) {
                                'light'   => __( 'Light' ),
                        ),
 
-               __( 'Columns' ) => array(
+               __( 'Layout' ) => array(
+                       'fixed-layout'      => __( 'Fixed Layout' ),
+                       'fluid-layout'      => __( 'Fluid Layout' ),
+                       'responsive-layout' => __( 'Responsive Layout' ),
                        'one-column'    => __( 'One Column' ),
                        'two-columns'   => __( 'Two Columns' ),
                        'three-columns' => __( 'Three Columns' ),
@@ -197,12 +204,6 @@ function get_theme_feature_list( $api = true ) {
                        'right-sidebar' => __( 'Right Sidebar' ),
                ),
 
-               __( 'Layout' ) => array(
-                       'fixed-layout'      => __( 'Fixed Layout' ),
-                       'fluid-layout'      => __( 'Fluid Layout' ),
-                       'responsive-layout' => __( 'Responsive Layout' ),
-               ),
-
                __( 'Features' ) => array(
                        'accessibility-ready'   => __( 'Accessibility Ready' ),
                        'blavatar'              => __( 'Blavatar' ),
@@ -252,7 +253,6 @@ function get_theme_feature_list( $api = true ) {
 
        $category_translations = array(
                'Colors'   => __( 'Colors' ),
-               'Columns'  => __( 'Columns' ),
                'Layout'   => __( 'Layout' ),
                'Features' => __( 'Features' ),
                'Subject'  => __( 'Subject' )
@@ -297,7 +297,7 @@ function get_theme_feature_list( $api = true ) {
  * @param array|object $args   Optional. Arguments to serialize for the Theme Info API.
  * @return mixed
  */
-function themes_api( $action, $args = null ) {
+       function themes_api( $action, $args = null ) {
 
        if ( is_array($args) )
                $args = (object)$args;
@@ -346,16 +346,18 @@ function themes_api( $action, $args = null ) {
                $request = wp_remote_post( $url, $args );
 
                if ( $ssl && is_wp_error( $request ) ) {
-                       trigger_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="http://wordpress.org/support/">support forums</a>.' ) . ' ' . '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)', headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
+                       if ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) {
+                               trigger_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>.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
+                       }
                        $request = wp_remote_post( $http_url, $args );
                }
 
                if ( is_wp_error($request) ) {
-                       $res = new WP_Error('themes_api_failed', __( '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="http://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() );
+                       $res = new WP_Error('themes_api_failed', __( '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>.' ), $request->get_error_message() );
                } else {
                        $res = maybe_unserialize( wp_remote_retrieve_body( $request ) );
                        if ( ! is_object( $res ) && ! is_array( $res ) )
-                               $res = new WP_Error('themes_api_failed', __( '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="http://wordpress.org/support/">support forums</a>.' ), wp_remote_retrieve_body( $request ) );
+                               $res = new WP_Error('themes_api_failed', __( '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>.' ), wp_remote_retrieve_body( $request ) );
                }
        }
 
@@ -452,4 +454,4 @@ function wp_prepare_themes_for_js( $themes = null ) {
         */
        $prepared_themes = apply_filters( 'wp_prepare_themes_for_js', $prepared_themes );
        return array_values( $prepared_themes );
-}
\ No newline at end of file
+}
index cb41afe31c2fe4f3a5022b794e3500420377d96f..52f2171bb15c51452ba07beb2524214e9eb8c9ec 100644 (file)
@@ -292,20 +292,14 @@ $_old_files = array(
 'wp-admin/css/colors-classic-rtl.dev.css',
 'wp-admin/css/colors-fresh-rtl.css',
 'wp-admin/css/colors-fresh-rtl.dev.css',
-'wp-admin/css/dashboard-rtl.css',
 'wp-admin/css/dashboard-rtl.dev.css',
-'wp-admin/css/dashboard.css',
 'wp-admin/css/dashboard.dev.css',
-'wp-admin/css/farbtastic-rtl.css',
 'wp-admin/css/global-rtl.css',
 'wp-admin/css/global-rtl.dev.css',
 'wp-admin/css/global.css',
 'wp-admin/css/global.dev.css',
-'wp-admin/css/install-rtl.css',
 'wp-admin/css/install-rtl.dev.css',
-'wp-admin/css/login-rtl.css',
 'wp-admin/css/login-rtl.dev.css',
-'wp-admin/css/login.css',
 'wp-admin/css/login.dev.css',
 'wp-admin/css/ms.css',
 'wp-admin/css/ms.dev.css',
@@ -317,9 +311,7 @@ $_old_files = array(
 'wp-admin/css/plugin-install-rtl.dev.css',
 'wp-admin/css/plugin-install.css',
 'wp-admin/css/plugin-install.dev.css',
-'wp-admin/css/press-this-rtl.css',
 'wp-admin/css/press-this-rtl.dev.css',
-'wp-admin/css/press-this.css',
 'wp-admin/css/press-this.dev.css',
 'wp-admin/css/theme-editor-rtl.css',
 'wp-admin/css/theme-editor-rtl.dev.css',
@@ -329,9 +321,7 @@ $_old_files = array(
 'wp-admin/css/theme-install-rtl.dev.css',
 'wp-admin/css/theme-install.css',
 'wp-admin/css/theme-install.dev.css',
-'wp-admin/css/widgets-rtl.css',
 'wp-admin/css/widgets-rtl.dev.css',
-'wp-admin/css/widgets.css',
 'wp-admin/css/widgets.dev.css',
 'wp-admin/includes/internal-linking.php',
 'wp-includes/images/admin-bar-sprite-rtl.png',
@@ -603,6 +593,72 @@ $_old_files = array(
 'wp-admin/images/stars-rtl.png',
 'wp-admin/images/wp-logo-vs-2x.png',
 'wp-admin/images/about-updates-2x.png',
+// 3.9
+'wp-admin/css/colors.css',
+'wp-admin/css/colors.min.css',
+'wp-admin/css/colors-rtl.css',
+'wp-admin/css/colors-rtl.min.css',
+'wp-admin/css/media-rtl.min.css',
+'wp-admin/css/media.min.css',
+'wp-admin/css/farbtastic-rtl.min.css',
+'wp-admin/images/lock-2x.png',
+'wp-admin/images/lock.png',
+'wp-admin/js/theme-preview.js',
+'wp-admin/js/theme-install.min.js',
+'wp-admin/js/theme-install.js',
+'wp-admin/js/theme-preview.min.js',
+'wp-includes/js/plupload/plupload.html4.js',
+'wp-includes/js/plupload/plupload.html5.js',
+'wp-includes/js/plupload/changelog.txt',
+'wp-includes/js/plupload/plupload.silverlight.js',
+'wp-includes/js/plupload/plupload.flash.js',
+'wp-includes/js/plupload/plupload.js',
+'wp-includes/js/tinymce/plugins/spellchecker',
+'wp-includes/js/tinymce/plugins/inlinepopups',
+'wp-includes/js/tinymce/plugins/media/js',
+'wp-includes/js/tinymce/plugins/media/css',
+'wp-includes/js/tinymce/plugins/wordpress/img',
+'wp-includes/js/tinymce/plugins/wpdialogs/js',
+'wp-includes/js/tinymce/plugins/wpeditimage/img',
+'wp-includes/js/tinymce/plugins/wpeditimage/js',
+'wp-includes/js/tinymce/plugins/wpeditimage/css',
+'wp-includes/js/tinymce/plugins/wpgallery/img',
+'wp-includes/js/tinymce/plugins/wpfullscreen/css',
+'wp-includes/js/tinymce/plugins/paste/js',
+'wp-includes/js/tinymce/themes/advanced',
+'wp-includes/js/tinymce/tiny_mce.js',
+'wp-includes/js/tinymce/mark_loaded_src.js',
+'wp-includes/js/tinymce/wp-tinymce-schema.js',
+'wp-includes/js/tinymce/plugins/media/editor_plugin.js',
+'wp-includes/js/tinymce/plugins/media/editor_plugin_src.js',
+'wp-includes/js/tinymce/plugins/media/media.htm',
+'wp-includes/js/tinymce/plugins/wpview/editor_plugin_src.js',
+'wp-includes/js/tinymce/plugins/wpview/editor_plugin.js',
+'wp-includes/js/tinymce/plugins/directionality/editor_plugin.js',
+'wp-includes/js/tinymce/plugins/directionality/editor_plugin_src.js',
+'wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js',
+'wp-includes/js/tinymce/plugins/wordpress/editor_plugin_src.js',
+'wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin_src.js',
+'wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.js',
+'wp-includes/js/tinymce/plugins/wpeditimage/editimage.html',
+'wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.js',
+'wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js',
+'wp-includes/js/tinymce/plugins/fullscreen/editor_plugin_src.js',
+'wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm',
+'wp-includes/js/tinymce/plugins/fullscreen/editor_plugin.js',
+'wp-includes/js/tinymce/plugins/wplink/editor_plugin_src.js',
+'wp-includes/js/tinymce/plugins/wplink/editor_plugin.js',
+'wp-includes/js/tinymce/plugins/wpgallery/editor_plugin_src.js',
+'wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.js',
+'wp-includes/js/tinymce/plugins/tabfocus/editor_plugin.js',
+'wp-includes/js/tinymce/plugins/tabfocus/editor_plugin_src.js',
+'wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.js',
+'wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin_src.js',
+'wp-includes/js/tinymce/plugins/paste/editor_plugin.js',
+'wp-includes/js/tinymce/plugins/paste/pasteword.htm',
+'wp-includes/js/tinymce/plugins/paste/editor_plugin_src.js',
+'wp-includes/js/tinymce/plugins/paste/pastetext.htm',
+'wp-includes/js/tinymce/langs/wp-langs.php',
 );
 
 /**
@@ -684,8 +740,26 @@ function update_core($from, $to) {
 
        @set_time_limit( 300 );
 
-       // Sanity check the unzipped distribution
-       apply_filters( 'update_feedback', __('Verifying the unpacked files&#8230;') );
+       /**
+        * Filter feedback messages displayed during the core update process.
+        *
+        * The filter is first evaluated after the zip file for the latest version
+        * has been downloaded and unzipped. It is evaluated five more times during
+        * the process:
+        *
+        * 1. Before WordPress begins the core upgrade process.
+        * 2. Before Maintenance Mode is enabled.
+        * 3. Before WordPress begins copying over the necessary files.
+        * 4. Before Maintenance Mode is disabled.
+        * 5. Before the database is upgraded.
+        *
+        * @since 2.5.0
+        *
+        * @param string $feedback The core update feedback messages.
+        */
+       apply_filters( 'update_feedback', __( 'Verifying the unpacked files&#8230;' ) );
+
+       // Sanity check the unzipped distribution.
        $distro = '';
        $roots = array( '/wordpress/', '/wordpress-mu/' );
        foreach ( $roots as $root ) {
@@ -703,8 +777,8 @@ function update_core($from, $to) {
        // $wp_filesystem->wp_content_dir() returned unslashed pre-2.8
        $versions_file = trailingslashit( $wp_filesystem->wp_content_dir() ) . 'upgrade/version-current.php';
        if ( ! $wp_filesystem->copy( $from . $distro . 'wp-includes/version.php', $versions_file ) ) {
-                $wp_filesystem->delete( $from, true );
-                return new WP_Error( 'copy_failed_for_version_file', __( 'The update cannot be installed because we will be unable to copy some files. This is usually due to inconsistent file permissions.' ), 'wp-includes/version.php' );
+               $wp_filesystem->delete( $from, true );
+               return new WP_Error( 'copy_failed_for_version_file', __( 'The update cannot be installed because we will be unable to copy some files. This is usually due to inconsistent file permissions.' ), 'wp-includes/version.php' );
        }
 
        $wp_filesystem->chmod( $versions_file, FS_CHMOD_FILE );
@@ -731,10 +805,12 @@ function update_core($from, $to) {
        elseif ( !$mysql_compat )
                return new WP_Error( 'mysql_not_compatible', sprintf( __('The update cannot be installed because WordPress %1$s requires MySQL version %2$s or higher. You are running version %3$s.'), $wp_version, $required_mysql_version, $mysql_version ) );
 
+       /** This filter is documented in wp-admin/includes/update-core.php */
        apply_filters( 'update_feedback', __( 'Preparing to install the latest version&#8230;' ) );
 
        // Don't copy wp-content, we'll deal with that below
-       $skip = array( 'wp-content' );
+       // We also copy version.php last so failed updates report their old version
+       $skip = array( 'wp-content', 'wp-includes/version.php' );
        $check_is_writable = array();
 
        // Check to see which files don't really need updating - only available for 3.7 and higher
@@ -781,6 +857,7 @@ function update_core($from, $to) {
                }
        }
 
+       /** This filter is documented in wp-admin/includes/update-core.php */
        apply_filters( 'update_feedback', __( 'Enabling Maintenance mode&#8230;' ) );
        // Create maintenance file to signal that we are upgrading
        $maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
@@ -788,12 +865,22 @@ function update_core($from, $to) {
        $wp_filesystem->delete($maintenance_file);
        $wp_filesystem->put_contents($maintenance_file, $maintenance_string, FS_CHMOD_FILE);
 
+       /** This filter is documented in wp-admin/includes/update-core.php */
        apply_filters( 'update_feedback', __( 'Copying the required files&#8230;' ) );
        // Copy new versions of WP files into place.
        $result = _copy_dir( $from . $distro, $to, $skip );
        if ( is_wp_error( $result ) )
                $result = new WP_Error( $result->get_error_code(), $result->get_error_message(), substr( $result->get_error_data(), strlen( $to ) ) );
 
+       // Since we know the core files have copied over, we can now copy the version file
+       if ( ! is_wp_error( $result ) ) {
+               if ( ! $wp_filesystem->copy( $from . $distro . 'wp-includes/version.php', $to . 'wp-includes/version.php', true /* overwrite */ ) ) {
+                       $wp_filesystem->delete( $from, true );
+                       $result = new WP_Error( 'copy_failed_for_version_file', __( 'The update cannot be installed because we will be unable to copy some files. This is usually due to inconsistent file permissions.' ), 'wp-includes/version.php' );
+               }
+               $wp_filesystem->chmod( $to . 'wp-includes/version.php', FS_CHMOD_FILE );
+       }
+
        // Check to make sure everything copied correctly, ignoring the contents of wp-content
        $skip = array( 'wp-content' );
        $failed = array();
@@ -853,6 +940,7 @@ function update_core($from, $to) {
                }
        }
 
+       /** This filter is documented in wp-admin/includes/update-core.php */
        apply_filters( 'update_feedback', __( 'Disabling Maintenance mode&#8230;' ) );
        // Remove maintenance file, we're done with potential site-breaking changes
        $wp_filesystem->delete( $maintenance_file );
@@ -924,7 +1012,8 @@ function update_core($from, $to) {
        }
 
        // Upgrade DB with separate request
-       apply_filters('update_feedback', __('Upgrading database&#8230;'));
+       /** This filter is documented in wp-admin/includes/update-core.php */
+       apply_filters( 'update_feedback', __( 'Upgrading database&#8230;' ) );
        $db_upgrade_url = admin_url('upgrade.php?step=upgrade_db');
        wp_remote_post($db_upgrade_url, array('timeout' => 60));
 
@@ -942,7 +1031,13 @@ function update_core($from, $to) {
        else
                delete_option('update_core');
 
-       // If we made it this far:
+       /**
+        * Fires after WordPress core has been successfully updated.
+        *
+        * @since 3.3.0
+        *
+        * @param string $wp_version The current WordPress version.
+        */
        do_action( '_core_updated_successfully', $wp_version );
 
        // Clear the option that blocks auto updates after failures, now that we've been successful.
index c514d208e5f759950b588eb6f49bfe574367b3c7..c3f54900e772c28295be731c43d173739918d2be 100644 (file)
@@ -7,9 +7,9 @@
  */
 
 /**
- * Selects the first update version from the update_core option
+ * Selects the first update version from the update_core option.
  *
- * @return object the response from the API
+ * @return bool|object The response from the API on success, false on failure.
  */
 function get_preferred_from_update_core() {
        $updates = get_core_updates();
@@ -21,11 +21,11 @@ function get_preferred_from_update_core() {
 }
 
 /**
- * Get available core updates
+ * 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 array Array of the update objects
+ * @return bool|array 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 );
@@ -114,7 +114,7 @@ function get_core_checksums( $version, $locale ) {
 
        $response = wp_remote_get( $url, $options );
        if ( $ssl && is_wp_error( $response ) ) {
-               trigger_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="http://wordpress.org/support/">support forums</a>.' ) . ' ' . '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)', headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
+               trigger_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>.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
                $response = wp_remote_get( $http_url, $options );
        }
 
@@ -221,7 +221,12 @@ add_action( 'network_admin_notices', 'update_nag', 3 );
 
 // Called directly from dashboard
 function update_right_now_message() {
-       $msg = sprintf( __( 'You are using <span class="b">WordPress %s</span>.' ), get_bloginfo( 'version', 'display' ) );
+       $theme_name = wp_get_theme();
+       if ( current_user_can( 'switch_themes' ) ) {
+               $theme_name = sprintf( '<a href="themes.php">%1$s</a>', $theme_name );
+       }
+
+       $msg = sprintf( __( 'WordPress %1$s running %2$s theme.' ), get_bloginfo( 'version', 'display' ), $theme_name );
 
        if ( current_user_can('update_core') ) {
                $cur = get_preferred_from_update_core();
@@ -230,7 +235,7 @@ function update_right_now_message() {
                        $msg .= " <a href='" . network_admin_url( 'update-core.php' ) . "' class='button'>" . sprintf( __('Update to %s'), $cur->current ? $cur->current : __( 'Latest' ) ) . '</a>';
        }
 
-       echo "<span id='wp-version-message'>$msg</span>";
+       echo "<p id='wp-version-message'>$msg</p>";
 }
 
 function get_plugin_updates() {
index ac8e522f26be9fc77070baaa04678d88cbde5986..4a853fed0bde74a2b4ef8afe14fb0c09fa316a5f 100644 (file)
@@ -86,6 +86,15 @@ function wp_install( $blog_title, $user_name, $user_email, $public, $deprecated
 
        wp_cache_flush();
 
+       /**
+        * Fires after a site is fully installed.
+        *
+        * @since 3.9.0
+        *
+        * @param WP_User $user The site owner.
+        */
+       do_action( 'wp_install', $user );
+
        return array('url' => $guessurl, 'user_id' => $user_id, 'password' => $user_password, 'password_message' => $message);
 }
 endif;
@@ -161,7 +170,7 @@ function wp_install_defaults( $user_id ) {
 
        // Default comment
        $first_comment_author = __('Mr WordPress');
-       $first_comment_url = 'http://wordpress.org/';
+       $first_comment_url = 'https://wordpress.org/';
        $first_comment = __('Hi, this is a comment.
 To delete a comment, just log in and view the post&#039;s comments. There you will have the option to edit or delete them.');
        if ( is_multisite() ) {
@@ -273,7 +282,7 @@ Password: %3\$s
 We hope you enjoy your new site. Thanks!
 
 --The WordPress Team
-http://wordpress.org/
+https://wordpress.org/
 "), $blog_url, $name, $password);
 
        @wp_mail($email, __('New WordPress Site'), $message);
@@ -317,6 +326,16 @@ function wp_upgrade() {
                else
                        $wpdb->query( "INSERT INTO {$wpdb->blog_versions} ( `blog_id` , `db_version` , `last_updated` ) VALUES ( '{$wpdb->blogid}', '{$wp_db_version}', NOW());" );
        }
+
+       /**
+        * Fires after a site is fully upgraded.
+        *
+        * @since 3.9.0
+        *
+        * @param int $wp_db_version         The new $wp_db_version.
+        * @param int $wp_current_db_version The old (current) $wp_db_version.
+        */
+       do_action( 'wp_upgrade', $wp_db_version, $wp_current_db_version );
 }
 endif;
 
@@ -411,9 +430,6 @@ function upgrade_all() {
        if ( $wp_current_db_version < 26691 )
                upgrade_380();
 
-       if ( $wp_current_db_version < 26692 )
-               upgrade_383();
-
        maybe_disable_link_manager();
 
        maybe_disable_automattic_widgets();
@@ -1254,36 +1270,6 @@ function upgrade_380() {
                deactivate_plugins( array( 'mp6/mp6.php' ), true );
        }
 }
-
-/**
- * Execute changes made in WordPress 3.8.3.
- *
- * @since 3.8.3
- */
-function upgrade_383() {
-       global $wp_current_db_version, $wpdb;
-       if ( $wp_current_db_version < 26692 ) {
-               // Find all lost Quick Draft auto-drafts and promote them to proper drafts.
-               $posts = $wpdb->get_results( "SELECT ID, post_title, post_content FROM $wpdb->posts WHERE post_type = 'post'
-                       AND post_status = 'auto-draft' AND post_date >= '2014-04-08 00:00:00'" );
-
-               foreach ( $posts as $post ) {
-                       // A regular auto-draft should never have content as that would mean it should have been promoted.
-                       // If an auto-draft has content, it's from Quick Draft and it should be recovered.
-                       if ( '' === $post->post_content ) {
-                               // If it does not have content, we must evaluate whether the title should be recovered.
-                               if ( 'Auto Draft' === $post->post_title || __( 'Auto Draft' ) === $post->post_title ) {
-                                       // This a plain old auto draft. Ignore it.
-                                       continue;
-                               }
-                       }
-
-                       $wpdb->update( $wpdb->posts, array( 'post_status' => 'draft' ), array( 'ID' => $post->ID ) );
-                       clean_post_cache( $post->ID );
-               }
-       }
-}
-
 /**
  * Execute network level changes
  *
@@ -1569,6 +1555,14 @@ function dbDelta( $queries = '', $execute = true ) {
                $queries = explode( ';', $queries );
                $queries = array_filter( $queries );
        }
+       
+       /** 
+        * Filter the dbDelta SQL queries.
+        *
+        * @since 3.3.0
+        *
+        * @param array $queries An array of dbDelta SQL queries.
+        */
        $queries = apply_filters( 'dbdelta_queries', $queries );
 
        $cqueries = array(); // Creation Queries
@@ -1590,7 +1584,27 @@ function dbDelta( $queries = '', $execute = true ) {
                        // Unrecognized query type
                }
        }
+       
+       /** 
+        * Filter the dbDelta SQL queries for creating tables and/or databases.
+        *
+        * Queries filterable via this hook contain "CREATE TABLE" or "CREATE DATABASE".
+        * 
+        * @since 3.3.0
+        *
+        * @param array $cqueries An array of dbDelta create SQL queries.
+        */
        $cqueries = apply_filters( 'dbdelta_create_queries', $cqueries );
+
+       /** 
+        * Filter the dbDelta SQL queries for inserting or updating.
+        *
+        * Queries filterable via this hook contain "INSERT INTO" or "UPDATE".
+        * 
+        * @since 3.3.0
+        *
+        * @param array $iqueries An array of dbDelta insert or update SQL queries.
+        */
        $iqueries = apply_filters( 'dbdelta_insert_queries', $iqueries );
 
        $global_tables = $wpdb->tables( 'global' );
index 85939fa9aba18b680d3a481a5b6ee4e7fcb295eb..137afcd1483d38216b81b5a40c171eeb90dcd5e3 100644 (file)
@@ -9,7 +9,7 @@
 /**
  * Creates a new user from the "Users" form using $_POST information.
  *
- * @since 2.0
+ * @since 2.0.0
  *
  * @return null|WP_Error|int Null when adding user, WP_Error or User ID integer when no parameters.
  */
@@ -22,7 +22,7 @@ function add_user() {
  *
  * Used on user-edit.php and profile.php to manage and process user options, passwords etc.
  *
- * @since 2.0
+ * @since 2.0.0
  *
  * @param int $user_id Optional. User ID.
  * @return int user id of the updated user
@@ -193,7 +193,7 @@ function edit_user( $user_id = 0 ) {
  * only editors or authors. This filter allows admins to delegate
  * user management.
  *
- * @since 2.8
+ * @since 2.8.0
  *
  * @return unknown
  */
@@ -268,7 +268,7 @@ function get_users_drafts( $user_id ) {
  * @param int $reassign Optional. Reassign posts and links to new User ID.
  * @return bool True when finished.
  */
-function wp_delete_user( $id, $reassign = 'novalue' ) {
+function wp_delete_user( $id, $reassign = null ) {
        global $wpdb;
 
        $id = (int) $id;
@@ -277,16 +277,25 @@ function wp_delete_user( $id, $reassign = 'novalue' ) {
        if ( !$user->exists() )
                return false;
 
+       // Normalize $reassign to null or a user ID. 'novalue' was an older default.
+       if ( 'novalue' === $reassign ) {
+               $reassign = null;
+       } elseif ( null !== $reassign ) {
+               $reassign = (int) $reassign;
+       }
+
        /**
         * Fires immediately before a user is deleted from the database.
         *
         * @since 2.0.0
         *
-        * @param int $id User ID.
+        * @param int      $id       ID of the user to delete.
+        * @param int|null $reassign ID of the user to reassign posts and links to.
+        *                           Default null, for no reassignment.
         */
-       do_action( 'delete_user', $id );
+       do_action( 'delete_user', $id, $reassign );
 
-       if ( 'novalue' === $reassign || null === $reassign ) {
+       if ( null === $reassign ) {
                $post_types_to_delete = array();
                foreach ( get_post_types( array(), 'objects' ) as $post_type ) {
                        if ( $post_type->delete_with_user ) {
@@ -320,7 +329,6 @@ function wp_delete_user( $id, $reassign = 'novalue' ) {
                                wp_delete_link($link_id);
                }
        } else {
-               $reassign = (int) $reassign;
                $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_author = %d", $id ) );
                $wpdb->update( $wpdb->posts, array('post_author' => $reassign), array('post_author' => $id) );
                if ( ! empty( $post_ids ) ) {
@@ -353,9 +361,11 @@ function wp_delete_user( $id, $reassign = 'novalue' ) {
         *
         * @since 2.9.0
         *
-        * @param int $id ID of the deleted user.
+        * @param int      $id       ID of the deleted user.
+        * @param int|null $reassign ID of the user to reassign posts and links to.
+        *                           Default null, for no reassignment.
         */
-       do_action( 'deleted_user', $id );
+       do_action( 'deleted_user', $id, $reassign );
 
        return true;
 }
@@ -420,7 +430,7 @@ function default_password_nag() {
        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?');
        echo '</p><p>';
-       printf( '<a href="%s">' . __('Yes, take me to my profile page') . '</a> | ', get_edit_profile_url( get_current_user_id() ) . '#password' );
+       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' );
        echo '</p></div>';
 }
index c574f41f686679411772084e851f636e73c217fe..0a868151e06d53d85132a3a3e654c8c6e6c43f9d 100644 (file)
@@ -237,5 +237,6 @@ function wp_widget_control( $sidebar_args ) {
        </div>
 <?php
        echo $sidebar_args['after_widget'];
+
        return $sidebar_args;
 }
index 88b1587fd1671f3db134de0656814282f95000f1..3bd4c7c012dda9a6b3b6e732cc9b8801b6733d9c 100644 (file)
@@ -54,7 +54,7 @@ $screen->add_help_tab( array(
 $help  = '<p>' . __( 'You can use the following controls to arrange your Dashboard screen to suit your workflow. This is true on most other administration screens as well.' ) . '</p>';
 $help .= '<p>' . __( '<strong>Screen Options</strong> - Use the Screen Options tab to choose which Dashboard boxes to show.' ) . '</p>';
 $help .= '<p>' . __( '<strong>Drag and Drop</strong> - To rearrange the boxes, drag and drop by clicking on the title bar of the selected box and releasing when you see a gray dotted-line rectangle appear in the location you want to place the box.' ) . '</p>';
-$help .= '<p>' . __( '<strong>Box Controls</strong> - Click the title bar of the box to expand or collapse it. In addition, some boxes have configurable content, and will show a &#8220;Configure&#8221; link in the title bar if you hover over it.' ) . '</p>';
+$help .= '<p>' . __( '<strong>Box Controls</strong> - Click the title bar of the box to expand or collapse it. Some boxes added by plugins may have configurable content, and will show a &#8220;Configure&#8221; link in the title bar if you hover over it.' ) . '</p>';
 
 $screen->add_help_tab( array(
        'id'      => 'help-layout',
@@ -64,8 +64,8 @@ $screen->add_help_tab( array(
 
 $help  = '<p>' . __( 'The boxes on your Dashboard screen are:' ) . '</p>';
 if ( current_user_can( 'edit_posts' ) )
-       $help .= '<p>' . __( '<strong>Site Content</strong> - Displays a summary of the content on your site and identifies which theme and version of WordPress you are using.' ) . '</p>';
-$help .= '<p>' . __( '<strong>Activity</strong> - Shows the upcoming scheduled posts, recently published posts, and the most recent comments on your posts and allows you to moderate them.' ) . '</p>';
+       $help .= '<p>' . __( '<strong>At A Glance</strong> - Displays a summary of the content on your site and identifies which theme and version of WordPress you are using.' ) . '</p>';
+       $help .= '<p>' . __( '<strong>Activity</strong> - Shows the upcoming scheduled posts, recently published posts, and the most recent comments on your posts and allows you to moderate them.' ) . '</p>';
 if ( is_blog_admin() && current_user_can( 'edit_posts' ) )
        $help .= '<p>' . __( "<strong>Quick Draft</strong> - Allows you to create a new post and save it as a draft. Also displays links to the 5 most recent draft posts you've started." ) . '</p>';
 if ( ! is_multisite() && current_user_can( 'install_plugins' ) )
@@ -86,7 +86,7 @@ unset( $help );
 $screen->set_help_sidebar(
        '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
        '<p>' . __( '<a href="http://codex.wordpress.org/Dashboard_Screen" target="_blank">Documentation on Dashboard</a>' ) . '</p>' .
-       '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
+       '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
 include( ABSPATH . 'wp-admin/admin-header.php' );
index c98b28cc30d29869e6511bd3d1629c7192746068..c654a92b061dfa1170217931b78d5daa89a10278 100644 (file)
@@ -43,8 +43,7 @@ if ( ! function_exists('maybe_create_table') ) :
  * Create database table, if it doesn't already exist.
  *
  * @since 1.0.0
- * @package WordPress
- * @subpackage Plugin
+ *
  * @uses $wpdb
  *
  * @param string $table_name Database table name.
@@ -75,8 +74,7 @@ if ( ! function_exists('maybe_add_column') ) :
  * Add column to database table, if column doesn't already exist in table.
  *
  * @since 1.0.0
- * @package WordPress
- * @subpackage Plugin
+ *
  * @uses $wpdb
  *
  * @param string $table_name Database table name
@@ -108,8 +106,7 @@ endif;
  * Drop column from database table, if it exists.
  *
  * @since 1.0.0
- * @package WordPress
- * @subpackage Plugin
+ *
  * @uses $wpdb
  *
  * @param string $table_name Table name
@@ -152,8 +149,6 @@ function maybe_drop_column($table_name, $column_name, $drop_ddl) {
  *      Extra
  *
  * @since 1.0.0
- * @package WordPress
- * @subpackage Plugin
  *
  * @param string $table_name Table name
  * @param string $col_name Column name
index 587d79ade9ee38114c7dd24f3276c7bef08e3412..d29c8098730ce44d4788e33a7e74a9d63ab17af9 100644 (file)
@@ -16,7 +16,7 @@ if ( false ) {
        <title>Error: PHP is not running</title>
 </head>
 <body class="wp-core-ui">
-       <h1 id="logo"><a href="http://wordpress.org/">WordPress</a></h1>
+       <h1 id="logo"><a href="https://wordpress.org/">WordPress</a></h1>
        <h2>Error: PHP is not running</h2>
        <p>WordPress requires that your web server is running PHP. Your server does not have PHP installed, or PHP is turned off.</p>
 </body>
@@ -47,8 +47,6 @@ $step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0;
  * Display install header.
  *
  * @since 2.5.0
- * @package WordPress
- * @subpackage Installer
  */
 function display_header() {
        header( 'Content-Type: text/html; charset=utf-8' );
@@ -64,7 +62,7 @@ function display_header() {
        ?>
 </head>
 <body class="wp-core-ui<?php if ( is_rtl() ) echo ' rtl'; ?>">
-<h1 id="logo"><a href="<?php echo esc_url( __( 'http://wordpress.org/' ) ); ?>"><?php _e( 'WordPress' ); ?></a></h1>
+<h1 id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>"><?php _e( 'WordPress' ); ?></a></h1>
 
 <?php
 } // end display_header()
@@ -73,8 +71,6 @@ function display_header() {
  * Display installer setup form.
  *
  * @since 2.8.0
- * @package WordPress
- * @subpackage Installer
  */
 function display_setup_form( $error = null ) {
        global $wpdb;
@@ -106,6 +102,7 @@ function display_setup_form( $error = null ) {
                        <?php
                        if ( $user_table ) {
                                _e('User(s) already exists.');
+                               echo '<input name="user_name" type="hidden" value="admin" />';
                        } else {
                                ?><input name="user_name" type="text" id="user_login" size="25" value="<?php echo esc_attr( sanitize_user( $user_name, true ) ); ?>" />
                                <p><?php _e( 'Usernames can have only alphanumeric characters, spaces, underscores, hyphens, periods and the @ symbol.' ); ?></p>
@@ -123,7 +120,7 @@ function display_setup_form( $error = null ) {
                                <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 _e('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; ).'); ?></p>
+                               <p><?php _e('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; ).'); ?></p>
                        </td>
                </tr>
                <?php endif; ?>
@@ -221,7 +218,7 @@ switch($step) {
 
                if ( $error === false ) {
                        $wpdb->show_errors();
-                       $result = wp_install($weblog_title, $user_name, $admin_email, $public, '', $admin_password);
+                       $result = wp_install($weblog_title, $user_name, $admin_email, $public, '', wp_slash( $admin_password ) );
                        extract( $result, EXTR_SKIP );
 ?>
 
index eb73b44dfb7dfa724a332b119ca1895ee94d4a94..92e935f64853af9f96b303376495ee87eb9ee37c 100644 (file)
@@ -1 +1 @@
-!function(a,b){var c,d='<a tabindex="0" class="wp-color-result" />',e='<div class="wp-picker-holder" />',f='<div class="wp-picker-container" />',g='<input type="button" class="button button-small hidden" />';c={options:{defaultColor:!1,change:!1,clear:!1,hide:!0,palettes:!0},_create:function(){if(a.support.iris){var b=this,c=b.element;a.extend(b.options,c.data()),b.initialValue=c.val(),c.addClass("wp-color-picker").hide().wrap(f),b.wrap=c.parent(),b.toggler=a(d).insertBefore(c).css({backgroundColor:b.initialValue}).attr("title",wpColorPickerL10n.pick).attr("data-current",wpColorPickerL10n.current),b.pickerContainer=a(e).insertAfter(c),b.button=a(g),b.options.defaultColor?b.button.addClass("wp-picker-default").val(wpColorPickerL10n.defaultString):b.button.addClass("wp-picker-clear").val(wpColorPickerL10n.clear),c.wrap('<span class="wp-picker-input-wrap" />').after(b.button),c.iris({target:b.pickerContainer,hide:!0,width:255,mode:"hsv",palettes:b.options.palettes,change:function(c,d){b.toggler.css({backgroundColor:d.color.toString()}),a.isFunction(b.options.change)&&b.options.change.call(this,c,d)}}),c.val(b.initialValue),b._addListeners(),b.options.hide||b.toggler.click()}},_addListeners:function(){var b=this;b.toggler.click(function(c){c.stopPropagation(),b.element.toggle().iris("toggle"),b.button.toggleClass("hidden"),b.toggler.toggleClass("wp-picker-open"),b.toggler.hasClass("wp-picker-open")?a("body").on("click",{wrap:b.wrap,toggler:b.toggler},b._bodyListener):a("body").off("click",b._bodyListener)}),b.element.change(function(c){var d=a(this),e=d.val();(""===e||"#"===e)&&(b.toggler.css("backgroundColor",""),a.isFunction(b.options.clear)&&b.options.clear.call(this,c))}),b.toggler.on("keyup",function(a){(13===a.keyCode||32===a.keyCode)&&(a.preventDefault(),b.toggler.trigger("click").next().focus())}),b.button.click(function(c){var d=a(this);d.hasClass("wp-picker-clear")?(b.element.val(""),b.toggler.css("backgroundColor",""),a.isFunction(b.options.clear)&&b.options.clear.call(this,c)):d.hasClass("wp-picker-default")&&b.element.val(b.options.defaultColor).change()})},_bodyListener:function(a){a.data.wrap.find(a.target).length||a.data.toggler.click()},color:function(a){return a===b?this.element.iris("option","color"):(this.element.iris("option","color",a),void 0)},defaultColor:function(a){return a===b?this.options.defaultColor:(this.options.defaultColor=a,void 0)}},a.widget("wp.wpColorPicker",c)}(jQuery);
\ No newline at end of file
+!function(a,b){var c,d='<a tabindex="0" class="wp-color-result" />',e='<div class="wp-picker-holder" />',f='<div class="wp-picker-container" />',g='<input type="button" class="button button-small hidden" />';c={options:{defaultColor:!1,change:!1,clear:!1,hide:!0,palettes:!0},_create:function(){if(a.support.iris){var b=this,c=b.element;a.extend(b.options,c.data()),b.initialValue=c.val(),c.addClass("wp-color-picker").hide().wrap(f),b.wrap=c.parent(),b.toggler=a(d).insertBefore(c).css({backgroundColor:b.initialValue}).attr("title",wpColorPickerL10n.pick).attr("data-current",wpColorPickerL10n.current),b.pickerContainer=a(e).insertAfter(c),b.button=a(g),b.options.defaultColor?b.button.addClass("wp-picker-default").val(wpColorPickerL10n.defaultString):b.button.addClass("wp-picker-clear").val(wpColorPickerL10n.clear),c.wrap('<span class="wp-picker-input-wrap" />').after(b.button),c.iris({target:b.pickerContainer,hide:!0,width:255,mode:"hsv",palettes:b.options.palettes,change:function(c,d){b.toggler.css({backgroundColor:d.color.toString()}),a.isFunction(b.options.change)&&b.options.change.call(this,c,d)}}),c.val(b.initialValue),b._addListeners(),b.options.hide||b.toggler.click()}},_addListeners:function(){var b=this;b.toggler.click(function(c){c.stopPropagation(),b.element.toggle().iris("toggle"),b.button.toggleClass("hidden"),b.toggler.toggleClass("wp-picker-open"),b.toggler.hasClass("wp-picker-open")?a("body").on("click",{wrap:b.wrap,toggler:b.toggler},b._bodyListener):a("body").off("click",b._bodyListener)}),b.element.change(function(c){var d=a(this),e=d.val();(""===e||"#"===e)&&(b.toggler.css("backgroundColor",""),a.isFunction(b.options.clear)&&b.options.clear.call(this,c))}),b.toggler.on("keyup",function(a){(13===a.keyCode||32===a.keyCode)&&(a.preventDefault(),b.toggler.trigger("click").next().focus())}),b.button.click(function(c){var d=a(this);d.hasClass("wp-picker-clear")?(b.element.val(""),b.toggler.css("backgroundColor",""),a.isFunction(b.options.clear)&&b.options.clear.call(this,c)):d.hasClass("wp-picker-default")&&b.element.val(b.options.defaultColor).change()})},_bodyListener:function(a){a.data.wrap.find(a.target).length||a.data.toggler.click()},color:function(a){return a===b?this.element.iris("option","color"):void this.element.iris("option","color",a)},defaultColor:function(a){return a===b?this.options.defaultColor:void(this.options.defaultColor=a)}},a.widget("wp.wpColorPicker",c)}(jQuery);
\ No newline at end of file
index c126a984d579b7f56cf6fbb8285d56cab6828dae..510f2952fcf7ccbd13500601e08d29dfaa202964 100644 (file)
@@ -1,4 +1,4 @@
-/* global setUserSetting, ajaxurl, commonL10n, alert, confirm, toggleWithKeyboard, pagenow */
+/* global setUserSetting, ajaxurl, commonL10n, alert, confirm, pagenow */
 var showNotice, adminMenu, columns, validateForm, screenMeta;
 ( function( $, window, undefined ) {
 // Removed in 3.3.
@@ -228,7 +228,10 @@ $(document).ready( function() {
                });
 
                menu.find('a.wp-has-submenu').on( mobileEvent+'.wp-mobile-hover', function(e) {
-                       var el = $(this), parent = el.parent();
+                       var b, h, o, f, menutop, wintop, maxtop,
+                               el = $(this),
+                               parent = el.parent(),
+                               m = parent.find('.wp-submenu');
 
                        if ( menu.data('wp-responsive') ) {
                                return;
@@ -239,6 +242,30 @@ $(document).ready( function() {
                        //      - the submenu is not shown inline or the menu is not folded
                        if ( !parent.hasClass('opensub') && ( !parent.hasClass('wp-menu-open') || parent.width() < 40 ) ) {
                                e.preventDefault();
+
+                               menutop = parent.offset().top;
+                               wintop = $(window).scrollTop();
+                               maxtop = menutop - wintop - 30; // max = make the top of the sub almost touch admin bar
+
+                               b = menutop + m.height() + 1; // Bottom offset of the menu
+                               h = $('#wpwrap').height(); // Height of the entire page
+                               o = 60 + b - h;
+                               f = $(window).height() + wintop - 50; // The fold
+
+                               if ( f < (b - o) ) {
+                                       o = b - f;
+                               }
+
+                               if ( o > maxtop ) {
+                                       o = maxtop;
+                               }
+
+                               if ( o > 1 ) {
+                                       m.css('margin-top', '-'+o+'px');
+                               } else {
+                                       m.css('margin-top', '');
+                               }
+
                                menu.find('li.opensub').removeClass('opensub');
                                parent.addClass('opensub');
                        }
@@ -249,8 +276,9 @@ $(document).ready( function() {
                over: function() {
                        var b, h, o, f, m = $(this).find('.wp-submenu'), menutop, wintop, maxtop, top = parseInt( m.css('top'), 10 );
 
-                       if ( isNaN(top) || top > -5 ) // meaning the submenu is visible
+                       if ( isNaN(top) || top > -5 ) // meaning the submenu is visible
                                return;
+                       }
 
                        if ( menu.data('wp-responsive') ) {
                                // The menu is in responsive mode, bail
@@ -266,16 +294,19 @@ $(document).ready( function() {
                        o = 60 + b - h;
                        f = $(window).height() + wintop - 15; // The fold
 
-                       if ( f < (b - o) )
+                       if ( f < (b - o) ) {
                                o = b - f;
+                       }
 
-                       if ( o > maxtop )
+                       if ( o > maxtop ) {
                                o = maxtop;
+                       }
 
-                       if ( o > 1 )
+                       if ( o > 1 ) {
                                m.css('margin-top', '-'+o+'px');
-                       else
+                       } else {
                                m.css('margin-top', '');
+                       }
 
                        menu.find('li.menu-top').removeClass('opensub');
                        $(this).addClass('opensub');
@@ -346,32 +377,39 @@ $(document).ready( function() {
                return true;
        });
 
-       $('thead, tfoot').find('.check-column :checkbox').click( function(e) {
-               var c = $(this).prop('checked'),
-                       kbtoggle = 'undefined' == typeof toggleWithKeyboard ? false : toggleWithKeyboard,
-                       toggle = e.shiftKey || kbtoggle;
+       $('thead, tfoot').find('.check-column :checkbox').on( 'click.wp-toggle-checkboxes', function( event ) {
+               var $this = $(this),
+                       $table = $this.closest( 'table' ),
+                       controlChecked = $this.prop('checked'),
+                       toggle = event.shiftKey || $this.data('wp-toggle');
+
+               $table.children( 'tbody' ).filter(':visible')
+                       .children().children('.check-column').find(':checkbox')
+                       .prop('checked', function() {
+                               if ( $(this).is(':hidden') ) {
+                                       return false;
+                               }
+
+                               if ( toggle ) {
+                                       return ! $(this).prop( 'checked' );
+                               } else if ( controlChecked ) {
+                                       return true;
+                               }
 
-               $(this).closest( 'table' ).children( 'tbody' ).filter(':visible')
-               .children().children('.check-column').find(':checkbox')
-               .prop('checked', function() {
-                       if ( $(this).is(':hidden') )
                                return false;
-                       if ( toggle )
-                               return $(this).prop( 'checked' );
-                       else if (c)
-                               return true;
-                       return false;
-               });
+                       });
+
+               $table.children('thead,  tfoot').filter(':visible')
+                       .children().children('.check-column').find(':checkbox')
+                       .prop('checked', function() {
+                               if ( toggle ) {
+                                       return false;
+                               } else if ( controlChecked ) {
+                                       return true;
+                               }
 
-               $(this).closest('table').children('thead,  tfoot').filter(':visible')
-               .children().children('.check-column').find(':checkbox')
-               .prop('checked', function() {
-                       if ( toggle )
                                return false;
-                       else if (c)
-                               return true;
-                       return false;
-               });
+                       });
        });
 
        // Show row actions on keyboard focus of its parent container element or any other elements contained within
@@ -694,15 +732,4 @@ $(document).ready( function() {
        }
 })();
 
-// internal use
-$(document).bind( 'wp_CloseOnEscape', function( e, data ) {
-       if ( typeof(data.cb) != 'function' )
-               return;
-
-       if ( typeof(data.condition) != 'function' || data.condition() )
-               data.cb();
-
-       return true;
-});
-
 }( jQuery, window ));
index 5da5820a4fec2b63ca7ff484d2f62181962cea8b..7f43a0234837bf4ffac2e1965d369b61f4ee602d 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)})},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(".contextual-help-tabs").delegate("a","click focus",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(),c.addClass("active").show(),void 0)}),a(document).ready(function(){var c,d,e,f,g,h,i,j,k=!1,l=a("#adminmenu"),m=a("input.current-page"),n=m.val();l.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=a(document.body);a("#adminmenu div.wp-submenu").css("margin-top",""),c=b.innerWidth?Math.max(b.innerWidth,document.documentElement.clientWidth):901,c&&900>c?d.hasClass("auto-fold")?(d.removeClass("auto-fold").removeClass("folded"),setUserSetting("unfold",1),setUserSetting("mfold","o")):(d.addClass("auto-fold"),setUserSetting("unfold",0)):d.hasClass("folded")?(d.removeClass("folded"),setUserSetting("mfold","o")):(d.addClass("folded"),setUserSetting("mfold","f"))}),("ontouchstart"in b||/IEMobile\/[1-9]/.test(navigator.userAgent))&&(h=/Mobile\/.+Safari/.test(navigator.userAgent)?"touchstart":"click",a(document.body).on(h+".wp-mobile-hover",function(b){l.data("wp-responsive")||a(b.target).closest("#adminmenu").length||l.find("li.wp-has-submenu.opensub").removeClass("opensub")}),l.find("a.wp-has-submenu").on(h+".wp-mobile-hover",function(b){var c=a(this),d=c.parent();l.data("wp-responsive")||d.hasClass("opensub")||d.hasClass("wp-menu-open")&&!(d.width()<40)||(b.preventDefault(),l.find("li.opensub").removeClass("opensub"),d.addClass("opensub"))})),l.find("li.wp-has-submenu").hoverIntent({over:function(){var c,d,e,f,g,h,i,j=a(this).find(".wp-submenu"),k=parseInt(j.css("top"),10);isNaN(k)||k>-5||l.data("wp-responsive")||(g=a(this).offset().top,h=a(b).scrollTop(),i=g-h-30,c=g+j.height()+1,d=a("#wpwrap").height(),e=60+c-d,f=a(b).height()+h-15,c-e>f&&(e=c-f),e>i&&(e=i),e>1?j.css("margin-top","-"+e+"px"):j.css("margin-top",""),l.find("li.menu-top").removeClass("opensub"),a(this).addClass("opensub"))},out:function(){l.data("wp-responsive")||a(this).removeClass("opensub").find(".wp-submenu").css("margin-top","")},timeout:200,sensitivity:7,interval:90}),l.on("focus.adminmenu",".wp-submenu a",function(b){l.data("wp-responsive")||a(b.target).closest("li.menu-top").addClass("opensub")}).on("blur.adminmenu",".wp-submenu a",function(b){l.data("wp-responsive")||a(b.target).closest("li.menu-top").removeClass("opensub")}),a("div.wrap h2:first").nextAll("div.updated, div.error").addClass("below-h2"),a("div.updated, div.error").not(".below-h2, .inline").insertAfter(a("div.wrap h2:first")),screenMeta.init(),a("tbody").children().children(".check-column").find(":checkbox").click(function(b){if("undefined"==b.shiftKey)return!0;if(b.shiftKey){if(!k)return!0;c=a(k).closest("form").find(":checkbox"),d=c.index(k),e=c.index(this),f=a(this).prop("checked"),d>0&&e>0&&d!=e&&(g=e>d?c.slice(d,e):c.slice(e,d),g.prop("checked",function(){return a(this).closest("tr").is(":visible")?f:!1}))}k=this;var h=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===h.length}),!0}),a("thead, tfoot").find(".check-column :checkbox").click(function(b){var c=a(this).prop("checked"),d="undefined"==typeof toggleWithKeyboard?!1:toggleWithKeyboard,e=b.shiftKey||d;a(this).closest("table").children("tbody").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return a(this).is(":hidden")?!1:e?a(this).prop("checked"):c?!0:!1}),a(this).closest("table").children("thead,  tfoot").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return e?!1:c?!0:!1})}),a("td.post-title, td.title, td.comment, .bookmarks td.column-name, td.blogname, td.username, .dashboard-comment-wrap").focusin(function(){clearTimeout(i),j=a(this).find(".row-actions"),j.addClass("visible")}).focusout(function(){i=setTimeout(function(){j.removeClass("visible")},30)}),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 a(h).data("tab-out",!0),void 0;if(!(9!=b.keyCode||b.ctrlKey||b.altKey||b.shiftKey)){if(a(h).data("tab-out"))return a(h).data("tab-out",!1),void 0;c=h.selectionStart,d=h.selectionEnd,e=h.value;try{this.lastKey=9}catch(i){}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()}}),a("#newcontent").bind("blur.wpevent_InsertTab",function(){this.lastKey&&9==this.lastKey&&this.focus()}),m.length&&m.closest("form").submit(function(){-1==a('select[name="action"]').val()&&-1==a('select[name="action2"]').val()&&m.val()==n&&m.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))}()}),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)}(),a(document).ready(function(){var c=a(document),d=a(b),e=a(document.body),f=a("#adminmenuwrap"),g=a("#collapse-menu"),h=a("#wpwrap"),i=a("#adminmenu"),j=a("#wp-responsive-overlay"),k=a("#wp-toolbar"),l=k.find('a[aria-haspopup="true"]'),m=a(".meta-box-sortables"),n=!1,o=!1;b.stickyMenu={enable:function(){n||(c.on("wp-window-resized.sticky-menu",a.proxy(this.update,this)),g.on("click.sticky-menu",a.proxy(this.update,this)),this.update(),n=!0)},disable:function(){n&&(d.off("resize.sticky-menu"),g.off("click.sticky-menu"),e.removeClass("sticky-menu"),n=!1)},update:function(){d.height()>f.height()+32?e.hasClass("sticky-menu")||e.addClass("sticky-menu"):e.hasClass("sticky-menu")&&e.removeClass("sticky-menu")}},b.wpResponsive={init:function(){var e=this,f=0;c.on("wp-responsive-activate.wp-responsive",function(){e.activate()}).on("wp-responsive-deactivate.wp-responsive",function(){e.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.toggleClass("wp-responsive-open"),h.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")}),i.on("touchstart.wp-responsive","li.wp-has-submenu > a",function(){f=d.scrollTop()}).on("touchend.wp-responsive click.wp-responsive","li.wp-has-submenu > a",function(b){!i.data("wp-responsive")||"touchend"===b.type&&d.scrollTop()!==f||(a(this).parent("li").toggleClass("selected"),b.preventDefault())}),e.trigger(),c.on("wp-window-resized.wp-responsive",a.proxy(this.trigger,this)),d.on("load.wp-responsive",function(){var a=navigator.userAgent.indexOf("AppleWebKit/")>-1?d.width():b.innerWidth;782>=a&&e.disableSortables()})},activate:function(){b.stickyMenu.disable(),e.hasClass("auto-fold")||e.addClass("auto-fold"),i.data("wp-responsive",1),this.disableSortables()},deactivate:function(){b.stickyMenu.enable(),i.removeData("wp-responsive"),this.enableSortables()},trigger:function(){var a;b.innerWidth&&(a=Math.max(b.innerWidth,document.documentElement.clientWidth),782>=a?o||(c.trigger("wp-responsive-activate"),o=!0):o&&(c.trigger("wp-responsive-deactivate"),o=!1),480>=a?this.enableOverlay():this.disableOverlay())},enableOverlay:function(){0===j.length&&(j=a('<div id="wp-responsive-overlay"></div>').insertAfter("#wpcontent").hide().on("click.wp-responsive",function(){k.find(".menupop.hover").removeClass("hover"),a(this).hide()})),l.on("click.wp-responsive",function(){j.show()})},disableOverlay:function(){l.off("click.wp-responsive"),j.hide()},disableSortables:function(){if(m.length)try{m.sortable("disable")}catch(a){}},enableSortables:function(){if(m.length)try{m.sortable("enable")}catch(a){}}},b.stickyMenu.enable(),b.wpResponsive.init()}),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)}}(),a(document).bind("wp_CloseOnEscape",function(a,b){return"function"==typeof b.cb?(("function"!=typeof b.condition||b.condition())&&b.cb(),!0):void 0})}(jQuery,window);
\ No newline at end of file
+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)})},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(".contextual-help-tabs").delegate("a","click focus",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(){var c,d,e,f,g,h,i,j,k=!1,l=a("#adminmenu"),m=a("input.current-page"),n=m.val();l.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=a(document.body);a("#adminmenu div.wp-submenu").css("margin-top",""),c=b.innerWidth?Math.max(b.innerWidth,document.documentElement.clientWidth):901,c&&900>c?d.hasClass("auto-fold")?(d.removeClass("auto-fold").removeClass("folded"),setUserSetting("unfold",1),setUserSetting("mfold","o")):(d.addClass("auto-fold"),setUserSetting("unfold",0)):d.hasClass("folded")?(d.removeClass("folded"),setUserSetting("mfold","o")):(d.addClass("folded"),setUserSetting("mfold","f"))}),("ontouchstart"in b||/IEMobile\/[1-9]/.test(navigator.userAgent))&&(h=/Mobile\/.+Safari/.test(navigator.userAgent)?"touchstart":"click",a(document.body).on(h+".wp-mobile-hover",function(b){l.data("wp-responsive")||a(b.target).closest("#adminmenu").length||l.find("li.wp-has-submenu.opensub").removeClass("opensub")}),l.find("a.wp-has-submenu").on(h+".wp-mobile-hover",function(c){var d,e,f,g,h,i,j,k=a(this),m=k.parent(),n=m.find(".wp-submenu");l.data("wp-responsive")||m.hasClass("opensub")||m.hasClass("wp-menu-open")&&!(m.width()<40)||(c.preventDefault(),h=m.offset().top,i=a(b).scrollTop(),j=h-i-30,d=h+n.height()+1,e=a("#wpwrap").height(),f=60+d-e,g=a(b).height()+i-50,d-f>g&&(f=d-g),f>j&&(f=j),f>1?n.css("margin-top","-"+f+"px"):n.css("margin-top",""),l.find("li.opensub").removeClass("opensub"),m.addClass("opensub"))})),l.find("li.wp-has-submenu").hoverIntent({over:function(){var c,d,e,f,g,h,i,j=a(this).find(".wp-submenu"),k=parseInt(j.css("top"),10);isNaN(k)||k>-5||l.data("wp-responsive")||(g=a(this).offset().top,h=a(b).scrollTop(),i=g-h-30,c=g+j.height()+1,d=a("#wpwrap").height(),e=60+c-d,f=a(b).height()+h-15,c-e>f&&(e=c-f),e>i&&(e=i),e>1?j.css("margin-top","-"+e+"px"):j.css("margin-top",""),l.find("li.menu-top").removeClass("opensub"),a(this).addClass("opensub"))},out:function(){l.data("wp-responsive")||a(this).removeClass("opensub").find(".wp-submenu").css("margin-top","")},timeout:200,sensitivity:7,interval:90}),l.on("focus.adminmenu",".wp-submenu a",function(b){l.data("wp-responsive")||a(b.target).closest("li.menu-top").addClass("opensub")}).on("blur.adminmenu",".wp-submenu a",function(b){l.data("wp-responsive")||a(b.target).closest("li.menu-top").removeClass("opensub")}),a("div.wrap h2:first").nextAll("div.updated, div.error").addClass("below-h2"),a("div.updated, div.error").not(".below-h2, .inline").insertAfter(a("div.wrap h2:first")),screenMeta.init(),a("tbody").children().children(".check-column").find(":checkbox").click(function(b){if("undefined"==b.shiftKey)return!0;if(b.shiftKey){if(!k)return!0;c=a(k).closest("form").find(":checkbox"),d=c.index(k),e=c.index(this),f=a(this).prop("checked"),d>0&&e>0&&d!=e&&(g=e>d?c.slice(d,e):c.slice(e,d),g.prop("checked",function(){return a(this).closest("tr").is(":visible")?f:!1}))}k=this;var h=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===h.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("td.post-title, td.title, td.comment, .bookmarks td.column-name, td.blogname, td.username, .dashboard-comment-wrap").focusin(function(){clearTimeout(i),j=a(this).find(".row-actions"),j.addClass("visible")}).focusout(function(){i=setTimeout(function(){j.removeClass("visible")},30)}),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 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;try{this.lastKey=9}catch(i){}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()}}),a("#newcontent").bind("blur.wpevent_InsertTab",function(){this.lastKey&&9==this.lastKey&&this.focus()}),m.length&&m.closest("form").submit(function(){-1==a('select[name="action"]').val()&&-1==a('select[name="action2"]').val()&&m.val()==n&&m.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))}()}),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)}(),a(document).ready(function(){var c=a(document),d=a(b),e=a(document.body),f=a("#adminmenuwrap"),g=a("#collapse-menu"),h=a("#wpwrap"),i=a("#adminmenu"),j=a("#wp-responsive-overlay"),k=a("#wp-toolbar"),l=k.find('a[aria-haspopup="true"]'),m=a(".meta-box-sortables"),n=!1,o=!1;b.stickyMenu={enable:function(){n||(c.on("wp-window-resized.sticky-menu",a.proxy(this.update,this)),g.on("click.sticky-menu",a.proxy(this.update,this)),this.update(),n=!0)},disable:function(){n&&(d.off("resize.sticky-menu"),g.off("click.sticky-menu"),e.removeClass("sticky-menu"),n=!1)},update:function(){d.height()>f.height()+32?e.hasClass("sticky-menu")||e.addClass("sticky-menu"):e.hasClass("sticky-menu")&&e.removeClass("sticky-menu")}},b.wpResponsive={init:function(){var e=this,f=0;c.on("wp-responsive-activate.wp-responsive",function(){e.activate()}).on("wp-responsive-deactivate.wp-responsive",function(){e.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.toggleClass("wp-responsive-open"),h.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")}),i.on("touchstart.wp-responsive","li.wp-has-submenu > a",function(){f=d.scrollTop()}).on("touchend.wp-responsive click.wp-responsive","li.wp-has-submenu > a",function(b){!i.data("wp-responsive")||"touchend"===b.type&&d.scrollTop()!==f||(a(this).parent("li").toggleClass("selected"),b.preventDefault())}),e.trigger(),c.on("wp-window-resized.wp-responsive",a.proxy(this.trigger,this)),d.on("load.wp-responsive",function(){var a=navigator.userAgent.indexOf("AppleWebKit/")>-1?d.width():b.innerWidth;782>=a&&e.disableSortables()})},activate:function(){b.stickyMenu.disable(),e.hasClass("auto-fold")||e.addClass("auto-fold"),i.data("wp-responsive",1),this.disableSortables()},deactivate:function(){b.stickyMenu.enable(),i.removeData("wp-responsive"),this.enableSortables()},trigger:function(){var a;b.innerWidth&&(a=Math.max(b.innerWidth,document.documentElement.clientWidth),782>=a?o||(c.trigger("wp-responsive-activate"),o=!0):o&&(c.trigger("wp-responsive-deactivate"),o=!1),480>=a?this.enableOverlay():this.disableOverlay())},enableOverlay:function(){0===j.length&&(j=a('<div id="wp-responsive-overlay"></div>').insertAfter("#wpcontent").hide().on("click.wp-responsive",function(){k.find(".menupop.hover").removeClass("hover"),a(this).hide()})),l.on("click.wp-responsive",function(){j.show()})},disableOverlay:function(){l.off("click.wp-responsive"),j.hide()},disableSortables:function(){if(m.length)try{m.sortable("disable")}catch(a){}},enableSortables:function(){if(m.length)try{m.sortable("enable")}catch(a){}}},b.stickyMenu.enable(),b.wpResponsive.init()}),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 669d281f6a3789edb044eb2b62fb70f7557ebd74..f53e02cae7ff35506bb7a0d680267e12ea0c7fd6 100644 (file)
@@ -1 +1 @@
-!function(a){a(document).ready(function(){var b,c=a("#custom-background-image");a("#background-color").wpColorPicker({change:function(a,b){c.css("background-color",b.color.toString())},clear:function(){c.css("background-color","")}}),a('input[name="background-position-x"]').change(function(){c.css("background-position",a(this).val()+" top")}),a('input[name="background-repeat"]').change(function(){c.css("background-repeat",a(this).val())}),a("#choose-from-library-link").click(function(c){var d=a(this);return c.preventDefault(),b?(b.open(),void 0):(b=wp.media.frames.customBackground=wp.media({title:d.data("choose"),library:{type:"image"},button:{text:d.data("update"),close:!1}}),b.on("select",function(){var c=b.state().get("selection").first();a.post(ajaxurl,{action:"set-background-image",attachment_id:c.id,size:"full"}).done(function(){window.location.reload()})}),b.open(),void 0)})})}(jQuery);
\ No newline at end of file
+!function(a){a(document).ready(function(){var b,c=a("#custom-background-image");a("#background-color").wpColorPicker({change:function(a,b){c.css("background-color",b.color.toString())},clear:function(){c.css("background-color","")}}),a('input[name="background-position-x"]').change(function(){c.css("background-position",a(this).val()+" top")}),a('input[name="background-repeat"]').change(function(){c.css("background-repeat",a(this).val())}),a("#choose-from-library-link").click(function(c){var d=a(this);return c.preventDefault(),b?void b.open():(b=wp.media.frames.customBackground=wp.media({title:d.data("choose"),library:{type:"image"},button:{text:d.data("update"),close:!1}}),b.on("select",function(){var c=b.state().get("selection").first();a.post(ajaxurl,{action:"set-background-image",attachment_id:c.id,size:"full"}).done(function(){window.location.reload()})}),void b.open())})})}(jQuery);
\ No newline at end of file
index 3a05ad437f74a084943d1babaff828feca65792f..9c28a96d5fa399a24a24740f8b33daf974982975 100644 (file)
@@ -1,3 +1,4 @@
+/* globals _wpCustomizeHeader, _wpMediaViewsL10n */
 (function( exports, $ ){
        var api = wp.customize;
 
                }
        });
 
+       api.HeaderControl = api.Control.extend({
+               ready: function() {
+                       this.btnRemove        = $('.actions .remove');
+                       this.btnNew           = $('.actions .new');
+
+                       _.bindAll(this, 'openMedia', 'removeImage');
+
+                       this.btnNew.on( 'click', this.openMedia );
+                       this.btnRemove.on( 'click', this.removeImage );
+
+                       api.HeaderTool.currentHeader = new api.HeaderTool.ImageModel();
+
+                       new api.HeaderTool.CurrentView({
+                               model: api.HeaderTool.currentHeader,
+                               el: '.current .container'
+                       });
+
+                       new api.HeaderTool.ChoiceListView({
+                               collection: api.HeaderTool.UploadsList = new api.HeaderTool.ChoiceList(),
+                               el: '.choices .uploaded .list'
+                       });
+
+                       new api.HeaderTool.ChoiceListView({
+                               collection: api.HeaderTool.DefaultsList = new api.HeaderTool.DefaultsList(),
+                               el: '.choices .default .list'
+                       });
+
+                       api.HeaderTool.combinedList = api.HeaderTool.CombinedList = new api.HeaderTool.CombinedList([
+                               api.HeaderTool.UploadsList,
+                               api.HeaderTool.DefaultsList
+                       ]);
+               },
+
+               /**
+                * Returns a set of options, computed from the attached image data and
+                * theme-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 xInit = parseInt(_wpCustomizeHeader.data.width, 10),
+                               yInit = parseInt(_wpCustomizeHeader.data.height, 10),
+                               flexWidth = !! parseInt(_wpCustomizeHeader.data['flex-width'], 10),
+                               flexHeight = !! parseInt(_wpCustomizeHeader.data['flex-height'], 10),
+                               ratio, xImg, yImg, realHeight, realWidth,
+                               imgSelectOptions;
+
+                       realWidth = attachment.get('width');
+                       realHeight = attachment.get('height');
+
+                       this.headerImage = new api.HeaderTool.ImageModel();
+                       this.headerImage.set({
+                               themeWidth: xInit,
+                               themeHeight: yInit,
+                               themeFlexWidth: flexWidth,
+                               themeFlexHeight: flexHeight,
+                               imageWidth: realWidth,
+                               imageHeight: realHeight
+                       });
+
+                       controller.set( 'canSkipCrop', ! this.headerImage.shouldBeCropped() );
+
+                       ratio = xInit / yInit;
+                       xImg = realWidth;
+                       yImg = realHeight;
+
+                       if ( xImg / yImg > ratio ) {
+                               yInit = yImg;
+                               xInit = yInit * ratio;
+                       } else {
+                               xInit = xImg;
+                               yInit = xInit / ratio;
+                       }
+
+                       imgSelectOptions = {
+                               handles: true,
+                               keys: true,
+                               instance: true,
+                               persistent: true,
+                               imageWidth: realWidth,
+                               imageHeight: realHeight,
+                               x1: 0,
+                               y1: 0,
+                               x2: xInit,
+                               y2: yInit
+                       };
+
+                       if (flexHeight === false && flexWidth === false) {
+                               imgSelectOptions.aspectRatio = xInit + ':' + yInit;
+                       }
+                       if (flexHeight === false ) {
+                               imgSelectOptions.maxHeight = yInit;
+                       }
+                       if (flexWidth === false ) {
+                               imgSelectOptions.maxWidth = xInit;
+                       }
+
+                       return imgSelectOptions;
+               },
+
+               /**
+                * Sets up and opens the Media Manager in order to select an image.
+                * Depending on both the size of the image and the properties of the
+                * current theme, a cropping step after selection may be required or
+                * skippable.
+                *
+                * @param {event} event
+                */
+               openMedia: function(event) {
+                       var l10n = _wpMediaViewsL10n;
+
+                       event.preventDefault();
+
+                       this.frame = wp.media({
+                               button: {
+                                       text: l10n.selectAndCrop,
+                                       close: false
+                               },
+                               states: [
+                                       new wp.media.controller.Library({
+                                               title:     l10n.chooseImage,
+                                               library:   wp.media.query({ type: 'image' }),
+                                               multiple:  false,
+                                               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(croppedImage) {
+                       var url = croppedImage.post_content,
+                               attachmentId = croppedImage.attachment_id,
+                               w = croppedImage.width,
+                               h = croppedImage.height;
+                       this.setImageFromURL(url, attachmentId, w, h);
+               },
+               onSkippedCrop: function(selection) {
+                       var url = selection.get('url'),
+                               w = selection.get('width'),
+                               h = selection.get('height');
+                       this.setImageFromURL(url, selection.id, w, h);
+               },
+
+               /**
+                * Creates a new wp.customize.HeaderTool.ImageModel from provided
+                * header image data and inserts it into the user-uploaded headers
+                * collection.
+                *
+                * @param {String} url
+                * @param {Number} attachmentId
+                * @param {Number} width
+                * @param {Number} height
+                */
+               setImageFromURL: function(url, attachmentId, width, height) {
+                       var choice, data = {};
+
+                       data.url = url;
+                       data.thumbnail_url = url;
+                       data.timestamp = _.now();
+
+                       if (attachmentId) {
+                               data.attachment_id = attachmentId;
+                       }
+
+                       if (width) {
+                               data.width = width;
+                       }
+
+                       if (height) {
+                               data.height = height;
+                       }
+
+                       choice = new api.HeaderTool.ImageModel({
+                               header: data,
+                               choice: url.split('/').pop()
+                       });
+                       api.HeaderTool.UploadsList.add(choice);
+                       api.HeaderTool.currentHeader.set(choice.toJSON());
+                       choice.save();
+                       choice.importImage();
+               },
+
+               /**
+                * Triggers the necessary events to deselect an image which was set as
+                * the currently selected one.
+                */
+               removeImage: function() {
+                       api.HeaderTool.currentHeader.trigger('hide');
+                       api.HeaderTool.CombinedList.trigger('control:removeImage');
+               }
+
+       });
+
        // Change objects contained within the main customize object to Settings.
        api.defaultConstructor = api.Setting;
 
        api.controlConstructor = {
                color:  api.ColorControl,
                upload: api.UploadControl,
-               image:  api.ImageControl
+               image:  api.ImageControl,
+               header: api.HeaderControl
        };
 
        $( function() {
                        body = $( document.body ),
                        overlay = body.children('.wp-full-overlay');
 
-               // Prevent the form from saving when enter is pressed.
+               // Prevent the form from saving when enter is pressed on an input or select element.
                $('#customize-controls').on( 'keydown', function( e ) {
-                       if ( $( e.target ).is('textarea') )
-                               return;
+                       var isEnter = ( 13 === e.which ),
+                               $el = $( e.target );
 
-                       if ( 13 === e.which ) // Enter
+                       if ( isEnter && ( $el.is( 'input:not([type=button])' ) || $el.is( 'select' ) ) ) {
                                e.preventDefault();
+                       }
                });
 
                // Initialize Previewer
                                        query = $.extend( this.query(), {
                                                action: 'customize_save',
                                                nonce:  this.nonce.save
-                                       }),
-                                       request = $.post( api.settings.url.ajax, query );
-
-                               api.trigger( 'save', request );
-
-                               body.addClass('saving');
+                                       } ),
+                                       processing = api.state( 'processing' ),
+                                       submitWhenDoneProcessing,
+                                       submit;
+
+                               body.addClass( 'saving' );
+
+                               submit = function () {
+                                       var request = $.post( api.settings.url.ajax, query );
+
+                                       api.trigger( 'save', request );
+
+                                       request.always( function () {
+                                               body.removeClass( 'saving' );
+                                       } );
+
+                                       request.done( function( response ) {
+                                               // Check if the user is logged out.
+                                               if ( '0' === response ) {
+                                                       self.preview.iframe.hide();
+                                                       self.login().done( function() {
+                                                               self.save();
+                                                               self.preview.iframe.show();
+                                                       } );
+                                                       return;
+                                               }
 
-                               request.always( function() {
-                                       body.removeClass('saving');
-                               });
+                                               // Check for cheaters.
+                                               if ( '-1' === response ) {
+                                                       self.cheatin();
+                                                       return;
+                                               }
 
-                               request.done( function( response ) {
-                                       // Check if the user is logged out.
-                                       if ( '0' === response ) {
-                                               self.preview.iframe.hide();
-                                               self.login().done( function() {
-                                                       self.save();
-                                                       self.preview.iframe.show();
-                                               });
-                                               return;
-                                       }
+                                               api.trigger( 'saved' );
+                                       } );
+                               };
 
-                                       // Check for cheaters.
-                                       if ( '-1' === response ) {
-                                               self.cheatin();
-                                               return;
-                                       }
+                               if ( 0 === processing() ) {
+                                       submit();
+                               } else {
+                                       submitWhenDoneProcessing = function () {
+                                               if ( 0 === processing() ) {
+                                                       api.state.unbind( 'change', submitWhenDoneProcessing );
+                                                       submit();
+                                               }
+                                       };
+                                       api.state.bind( 'change', submitWhenDoneProcessing );
+                               }
 
-                                       api.trigger( 'saved' );
-                               });
                        }
                });
 
                // Save and activated states
                (function() {
                        var state = new api.Values(),
-                               saved = state.create('saved'),
-                               activated = state.create('activated');
+                               saved = state.create( 'saved' ),
+                               activated = state.create( 'activated' ),
+                               processing = state.create( 'processing' );
 
                        state.bind( 'change', function() {
                                var save = $('#save'),
                        // Set default states.
                        saved( true );
                        activated( api.settings.theme.active );
+                       processing( 0 );
 
                        api.bind( 'change', function() {
                                state('saved').set( false );
                        });
                });
 
-               // Handle header image data
-               api.control( 'header_image', function( control ) {
-                       control.setting.bind( function( to ) {
-                               if ( to === control.params.removed )
-                                       control.settings.data.set( false );
-                       });
-
-                       control.library.on( 'click', 'a', function() {
-                               control.settings.data.set( $(this).data('customizeHeaderImageData') );
-                       });
-
-                       control.uploader.success = function( attachment ) {
-                               var data;
-
-                               api.ImageControl.prototype.success.call( control, attachment );
-
-                               data = {
-                                       attachment_id: attachment.get('id'),
-                                       url:           attachment.get('url'),
-                                       thumbnail_url: attachment.get('url'),
-                                       height:        attachment.get('height'),
-                                       width:         attachment.get('width')
-                               };
-
-                               attachment.element.data( 'customizeHeaderImageData', data );
-                               control.settings.data.set( data );
-                       };
-               });
-
                api.trigger( 'ready' );
 
                // Make sure left column gets focus
index e91162669a53cc28d912b69b2cf1f5e854f8042e..632fd244419381cb6b7601dfeb5c5e65d1ae8be6 100644 (file)
@@ -1 +1 @@
-!function(a,b){var c=wp.customize;c.Setting=c.Value.extend({initialize:function(a,b,d){c.Value.prototype.initialize.call(this,b,d),this.id=a,this.transport=this.transport||"refresh",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()])}}}),c.Control=c.Class.extend({initialize:function(a,d){var e,f,g,h=this;this.params={},b.extend(this,d||{}),this.id=a,this.selector="#customize-control-"+a.replace(/\]/g,"").replace(/\[/g,"-"),this.container=b(this.selector),g=b.map(this.params.settings,function(a){return a}),c.apply(c,g.concat(function(){var a;h.settings={};for(a in h.params.settings)h.settings[a]=c(h.params.settings[a]);h.setting=h.settings["default"]||null,h.ready()})),h.elements=[],e=this.container.find("[data-customize-setting-link]"),f={},e.each(function(){var a,d=b(this);if(d.is(":radio")){if(a=d.prop("name"),f[a])return;f[a]=!0,d=e.filter('[name="'+a+'"]')}c(d.data("customizeSettingLink"),function(a){var b=new c.Element(d);h.elements.push(b),b.sync(a),b.set(a())})})},ready:function(){},dropdownInit:function(){var a=this,b=this.container.find(".dropdown-status"),c=this.params,d=!1,e=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){("keydown"!==b.type||13===b.which)&&(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(e),e(this.setting())}}),c.ColorControl=c.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)}})}}),c.UploadControl=c.Control.extend({ready:function(){var a=this;this.params.removed=this.params.removed||"",this.success=b.proxy(this.success,this),this.uploader=b.extend({container:this.container,browser:this.container.find(".upload"),dropzone:this.container.find(".upload-dropzone"),success:this.success,plupload:{},params:{}},this.uploader||{}),a.params.extensions&&(a.uploader.plupload.filters=[{title:c.l10n.allowedFiles,extensions:a.params.extensions}]),a.params.context&&(a.uploader.params["post_data[context]"]=this.params.context),c.settings.theme.stylesheet&&(a.uploader.params["post_data[theme]"]=c.settings.theme.stylesheet),this.uploader=new wp.Uploader(this.uploader),this.remover=this.container.find(".remove"),this.remover.on("click keydown",function(b){("keydown"!==b.type||13===b.which)&&(a.setting.set(a.params.removed),b.preventDefault())}),this.removerVisibility=b.proxy(this.removerVisibility,this),this.setting.bind(this.removerVisibility),this.removerVisibility(this.setting.get())},success:function(a){this.setting.set(a.get("url"))},removerVisibility:function(a){this.remover.toggle(a!=this.params.removed)}}),c.ImageControl=c.UploadControl.extend({ready:function(){var a,d=this;this.uploader={init:function(){var a,b;this.supports.dragdrop||(a=d.container.find(".upload-fallback"),b=a.children().detach(),this.browser.detach().empty().append(b),a.append(this.browser).show())}},c.UploadControl.prototype.ready.call(this),this.thumbnail=this.container.find(".preview-thumbnail img"),this.thumbnailSrc=b.proxy(this.thumbnailSrc,this),this.setting.bind(this.thumbnailSrc),this.library=this.container.find(".library"),this.tabs={},a=this.library.find(".library-content"),this.library.children("ul").children("li").each(function(){var c=b(this),e=c.data("customizeTab"),f=a.filter('[data-customize-tab="'+e+'"]');d.tabs[e]={both:c.add(f),link:c,panel:f}}),this.library.children("ul").on("click keydown","li",function(a){if("keydown"!==a.type||13===a.which){var c=b(this).data("customizeTab"),e=d.tabs[c];a.preventDefault(),e.link.hasClass("library-selected")||(d.selected.both.removeClass("library-selected"),d.selected=e,d.selected.both.addClass("library-selected"))}}),this.library.on("click keydown","a",function(a){if("keydown"!==a.type||13===a.which){var c=b(this).data("customizeImageValue");c&&(d.setting.set(c),a.preventDefault())}}),this.tabs.uploaded&&(this.tabs.uploaded.target=this.library.find(".uploaded-target"),this.tabs.uploaded.panel.find(".thumbnail").length||this.tabs.uploaded.both.addClass("hidden")),a.each(function(){var a=d.tabs[b(this).data("customizeTab")];return a.link.hasClass("hidden")?void 0:(d.selected=a,a.both.addClass("library-selected"),!1)}),this.dropdownInit()},success:function(a){c.UploadControl.prototype.success.call(this,a),this.tabs.uploaded&&this.tabs.uploaded.target.length&&(this.tabs.uploaded.both.removeClass("hidden"),a.element=b('<a href="#" class="thumbnail"></a>').data("customizeImageValue",a.get("url")).append('<img src="'+a.get("url")+'" />').appendTo(this.tabs.uploaded.target))},thumbnailSrc:function(a){/^(https?:)?\/\//.test(a)?this.thumbnail.prop("src",a).show():this.thumbnail.hide()}}),c.defaultConstructor=c.Setting,c.control=new c.Values({defaultConstructor:c.Control}),c.PreviewFrame=c.Messenger.extend({sensitivity:2e3,initialize:function(a,d){var e=b.Deferred();e.promise(this),this.container=a.container,this.signature=a.signature,b.extend(a,{channel:c.PreviewFrame.uuid()}),c.Messenger.prototype.initialize.call(this,a,d),this.add("previewUrl",a.previewUrl),this.query=b.extend(a.query||{},{customize_messenger_channel:this.channel()}),this.run(e)},run:function(a){var c=this,d=!1,e=!1;this._ready&&this.unbind("ready",this._ready),this._ready=function(){e=!0,d&&a.resolveWith(c)},this.bind("ready",this._ready),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(f){var g,h=c.request.getResponseHeader("Location"),i=c.signature;return h&&h!=c.previewUrl()?(a.rejectWith(c,["redirect",h]),void 0):"0"===f?(c.login(a),void 0):"-1"===f?(a.rejectWith(c,["cheatin"]),void 0):(g=f.lastIndexOf(i),-1===g||g<f.lastIndexOf("</html>")?(a.rejectWith(c,["unsigned"]),void 0):(f=f.slice(0,g)+f.slice(g+i.length),c.iframe=b("<iframe />").appendTo(c.container),c.iframe.one("load",function(){d=!0,e?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(f),c.targetWindow().document.close(),void 0))})},login:function(a){var d,e=this;return d=function(){a.rejectWith(e,["logged out"])},this.triedLogin?d():(b.get(c.settings.url.ajax,{action:"logged-in"}).fail(d).done(function(c){var f;"1"!==c&&d(),f=b('<iframe src="'+e.previewUrl()+'" />').hide(),f.appendTo(e.container),f.load(function(){e.triedLogin=!0,f.remove(),e.run(a)})}),void 0)},destroy:function(){c.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;c.PreviewFrame.uuid=function(){return"preview-"+a++}}(),c.Previewer=c.Messenger.extend({refreshBuffer:250,initialize:function(a,d){var e=this,f=/^https?/;b.extend(this,d||{}),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=c.ensure(a.container),this.allowedUrls=a.allowedUrls,this.signature=a.signature,a.url=window.location.href,c.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,e.scheme()),a],function(a,d){return b.each(e.allowedUrls,function(a,b){var e;return b=b.replace(/\/+$/,""),e=d.replace(b,""),0===d.indexOf(b)&&/^([/#?]|$)/.test(e)?(c=d,!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)},query:function(){},abort:function(){this.loading&&(this.loading.destroy(),delete this.loading)},refresh:function(){var a=this;this.abort(),this.loading=new c.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.send("active")}),this.send("sync",{scroll:a.scroll,settings:c.get()})}),this.loading.fail(function(b,c){"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,d,e,f=this;return this._login?this._login:(a=b.Deferred(),this._login=a.promise(),d=new c.Messenger({channel:"login",url:c.settings.url.login}),e=b('<iframe src="'+c.settings.url.login+'" />').appendTo(this.container),d.targetWindow(e[0].contentWindow),d.bind("login",function(){e.remove(),d.destroy(),delete f._login,a.resolve()}),this._login)},cheatin:function(){b(document.body).empty().addClass("cheatin").append("<p>"+c.l10n.cheatin+"</p>")}}),c.controlConstructor={color:c.ColorControl,upload:c.UploadControl,image:c.ImageControl},b(function(){if(c.settings=window._wpCustomizeSettings,c.l10n=window._wpCustomizeControlsL10n,c.settings){if(!b.support.postMessage||!b.support.cors&&c.settings.isCrossDomain)return window.location=c.settings.url.fallback;var a,d,e,f=b(document.body),g=f.children(".wp-full-overlay");b("#customize-controls").on("keydown",function(a){b(a.target).is("textarea")||13===a.which&&a.preventDefault()}),a=new c.Previewer({container:"#customize-preview",form:"#customize-controls",previewUrl:c.settings.url.preview,allowedUrls:c.settings.url.allowed,signature:"WP_CUSTOMIZER_SIGNATURE"},{nonce:c.settings.nonce,query:function(){return{wp_customize:"on",theme:c.settings.theme.stylesheet,customized:JSON.stringify(c.get()),nonce:this.nonce.preview}},save:function(){var a=this,d=b.extend(this.query(),{action:"customize_save",nonce:this.nonce.save}),e=b.post(c.settings.url.ajax,d);c.trigger("save",e),f.addClass("saving"),e.always(function(){f.removeClass("saving")}),e.done(function(b){return"0"===b?(a.preview.iframe.hide(),a.login().done(function(){a.save(),a.preview.iframe.show()}),void 0):"-1"===b?(a.cheatin(),void 0):(c.trigger("saved"),void 0)})}}),a.bind("nonce",function(a){b.extend(this.nonce,a)}),b.each(c.settings.settings,function(b,d){c.create(b,b,d.value,{transport:d.transport,previewer:a})}),b.each(c.settings.controls,function(b,d){var e,f=c.controlConstructor[d.type]||c.Control;e=c.control.add(b,new f(b,{params:d,previewer:a}))}),a.previewUrl()?a.refresh():a.previewUrl(c.settings.url.home),function(){var a=new c.Values,d=a.create("saved"),e=a.create("activated");a.bind("change",function(){var a=b("#save"),f=b(".back");e()?d()?(a.val(c.l10n.saved).prop("disabled",!0),f.text(c.l10n.close)):(a.val(c.l10n.save).prop("disabled",!1),f.text(c.l10n.cancel)):(a.val(c.l10n.activate).prop("disabled",!1),f.text(c.l10n.cancel))}),d(!0),e(c.settings.theme.active),c.bind("change",function(){a("saved").set(!1)}),c.bind("saved",function(){a("saved").set(!0),a("activated").set(!0)}),e.bind(function(a){a&&c.trigger("activated")}),c.state=a}(),b("#save").click(function(b){a.save(),b.preventDefault()}).keydown(function(b){9!==b.which&&(13===b.which&&a.save(),b.preventDefault())}),b(".back").keydown(function(a){9!==a.which&&(13===a.which&&this.click(),a.preventDefault())}),b(".upload-dropzone a.upload").keydown(function(a){13===a.which&&this.click()}),b(".collapse-sidebar").on("click keydown",function(a){("keydown"!==a.type||13===a.which)&&(g.toggleClass("collapsed").toggleClass("expanded"),a.preventDefault())}),d=new c.Messenger({url:c.settings.url.parent,channel:"loader"}),d.bind("back",function(){b(".back").on("click.back",function(a){a.preventDefault(),d.send("close")})}),c.bind("saved",function(){d.send("saved")}),c.bind("activated",function(){d.targetWindow()?d.send("activated",c.settings.url.activated):c.settings.url.activated&&(window.location=c.settings.url.activated)}),d.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,d){c(a,function(a){b.each(d.controls,function(b,e){c.control(e,function(b){var c=function(a){b.container.toggle(d.callback(a))};c(a.get()),a.bind(c)})})})}),c.control("display_header_text",function(a){var b="";a.elements[0].unsync(c("header_textcolor")),a.element=new c.Element(a.container.find("input")),a.element.set("blank"!==a.setting()),a.element.bind(function(d){d||(b=c("header_textcolor").get()),a.setting.set(d?b:"blank")}),a.setting.bind(function(b){a.element.set("blank"!==b)})}),c.control("header_image",function(a){a.setting.bind(function(b){b===a.params.removed&&a.settings.data.set(!1)}),a.library.on("click","a",function(){a.settings.data.set(b(this).data("customizeHeaderImageData"))}),a.uploader.success=function(b){var d;c.ImageControl.prototype.success.call(a,b),d={attachment_id:b.get("id"),url:b.get("url"),thumbnail_url:b.get("url"),height:b.get("height"),width:b.get("width")},b.element.data("customizeHeaderImageData",d),a.settings.data.set(d)}}),c.trigger("ready"),e=b(".back"),e.focus(),setTimeout(function(){e.focus()},200)}})}(wp,jQuery);
\ No newline at end of file
+!function(a,b){var c=wp.customize;c.Setting=c.Value.extend({initialize:function(a,b,d){c.Value.prototype.initialize.call(this,b,d),this.id=a,this.transport=this.transport||"refresh",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()])}}}),c.Control=c.Class.extend({initialize:function(a,d){var e,f,g,h=this;this.params={},b.extend(this,d||{}),this.id=a,this.selector="#customize-control-"+a.replace(/\]/g,"").replace(/\[/g,"-"),this.container=b(this.selector),g=b.map(this.params.settings,function(a){return a}),c.apply(c,g.concat(function(){var a;h.settings={};for(a in h.params.settings)h.settings[a]=c(h.params.settings[a]);h.setting=h.settings["default"]||null,h.ready()})),h.elements=[],e=this.container.find("[data-customize-setting-link]"),f={},e.each(function(){var a,d=b(this);if(d.is(":radio")){if(a=d.prop("name"),f[a])return;f[a]=!0,d=e.filter('[name="'+a+'"]')}c(d.data("customizeSettingLink"),function(a){var b=new c.Element(d);h.elements.push(b),b.sync(a),b.set(a())})})},ready:function(){},dropdownInit:function(){var a=this,b=this.container.find(".dropdown-status"),c=this.params,d=!1,e=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){("keydown"!==b.type||13===b.which)&&(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(e),e(this.setting())}}),c.ColorControl=c.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)}})}}),c.UploadControl=c.Control.extend({ready:function(){var a=this;this.params.removed=this.params.removed||"",this.success=b.proxy(this.success,this),this.uploader=b.extend({container:this.container,browser:this.container.find(".upload"),dropzone:this.container.find(".upload-dropzone"),success:this.success,plupload:{},params:{}},this.uploader||{}),a.params.extensions&&(a.uploader.plupload.filters=[{title:c.l10n.allowedFiles,extensions:a.params.extensions}]),a.params.context&&(a.uploader.params["post_data[context]"]=this.params.context),c.settings.theme.stylesheet&&(a.uploader.params["post_data[theme]"]=c.settings.theme.stylesheet),this.uploader=new wp.Uploader(this.uploader),this.remover=this.container.find(".remove"),this.remover.on("click keydown",function(b){("keydown"!==b.type||13===b.which)&&(a.setting.set(a.params.removed),b.preventDefault())}),this.removerVisibility=b.proxy(this.removerVisibility,this),this.setting.bind(this.removerVisibility),this.removerVisibility(this.setting.get())},success:function(a){this.setting.set(a.get("url"))},removerVisibility:function(a){this.remover.toggle(a!=this.params.removed)}}),c.ImageControl=c.UploadControl.extend({ready:function(){var a,d=this;this.uploader={init:function(){var a,b;this.supports.dragdrop||(a=d.container.find(".upload-fallback"),b=a.children().detach(),this.browser.detach().empty().append(b),a.append(this.browser).show())}},c.UploadControl.prototype.ready.call(this),this.thumbnail=this.container.find(".preview-thumbnail img"),this.thumbnailSrc=b.proxy(this.thumbnailSrc,this),this.setting.bind(this.thumbnailSrc),this.library=this.container.find(".library"),this.tabs={},a=this.library.find(".library-content"),this.library.children("ul").children("li").each(function(){var c=b(this),e=c.data("customizeTab"),f=a.filter('[data-customize-tab="'+e+'"]');d.tabs[e]={both:c.add(f),link:c,panel:f}}),this.library.children("ul").on("click keydown","li",function(a){if("keydown"!==a.type||13===a.which){var c=b(this).data("customizeTab"),e=d.tabs[c];a.preventDefault(),e.link.hasClass("library-selected")||(d.selected.both.removeClass("library-selected"),d.selected=e,d.selected.both.addClass("library-selected"))}}),this.library.on("click keydown","a",function(a){if("keydown"!==a.type||13===a.which){var c=b(this).data("customizeImageValue");c&&(d.setting.set(c),a.preventDefault())}}),this.tabs.uploaded&&(this.tabs.uploaded.target=this.library.find(".uploaded-target"),this.tabs.uploaded.panel.find(".thumbnail").length||this.tabs.uploaded.both.addClass("hidden")),a.each(function(){var a=d.tabs[b(this).data("customizeTab")];return a.link.hasClass("hidden")?void 0:(d.selected=a,a.both.addClass("library-selected"),!1)}),this.dropdownInit()},success:function(a){c.UploadControl.prototype.success.call(this,a),this.tabs.uploaded&&this.tabs.uploaded.target.length&&(this.tabs.uploaded.both.removeClass("hidden"),a.element=b('<a href="#" class="thumbnail"></a>').data("customizeImageValue",a.get("url")).append('<img src="'+a.get("url")+'" />').appendTo(this.tabs.uploaded.target))},thumbnailSrc:function(a){/^(https?:)?\/\//.test(a)?this.thumbnail.prop("src",a).show():this.thumbnail.hide()}}),c.HeaderControl=c.Control.extend({ready:function(){this.btnRemove=b(".actions .remove"),this.btnNew=b(".actions .new"),_.bindAll(this,"openMedia","removeImage"),this.btnNew.on("click",this.openMedia),this.btnRemove.on("click",this.removeImage),c.HeaderTool.currentHeader=new c.HeaderTool.ImageModel,new c.HeaderTool.CurrentView({model:c.HeaderTool.currentHeader,el:".current .container"}),new c.HeaderTool.ChoiceListView({collection:c.HeaderTool.UploadsList=new c.HeaderTool.ChoiceList,el:".choices .uploaded .list"}),new c.HeaderTool.ChoiceListView({collection:c.HeaderTool.DefaultsList=new c.HeaderTool.DefaultsList,el:".choices .default .list"}),c.HeaderTool.combinedList=c.HeaderTool.CombinedList=new c.HeaderTool.CombinedList([c.HeaderTool.UploadsList,c.HeaderTool.DefaultsList])},calculateImageSelectOptions:function(a,b){var d,e,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 c.HeaderTool.ImageModel,this.headerImage.set({themeWidth:j,themeHeight:k,themeFlexWidth:l,themeFlexHeight:m,imageWidth:h,imageHeight:g}),b.set("canSkipCrop",!this.headerImage.shouldBeCropped()),d=j/k,e=h,f=g,e/f>d?(k=f,j=k*d):(j=e,k=j/d),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,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,d,e){var f,g={};g.url=a,g.thumbnail_url=a,g.timestamp=_.now(),b&&(g.attachment_id=b),d&&(g.width=d),e&&(g.height=e),f=new c.HeaderTool.ImageModel({header:g,choice:a.split("/").pop()}),c.HeaderTool.UploadsList.add(f),c.HeaderTool.currentHeader.set(f.toJSON()),f.save(),f.importImage()},removeImage:function(){c.HeaderTool.currentHeader.trigger("hide"),c.HeaderTool.CombinedList.trigger("control:removeImage")}}),c.defaultConstructor=c.Setting,c.control=new c.Values({defaultConstructor:c.Control}),c.PreviewFrame=c.Messenger.extend({sensitivity:2e3,initialize:function(a,d){var e=b.Deferred();e.promise(this),this.container=a.container,this.signature=a.signature,b.extend(a,{channel:c.PreviewFrame.uuid()}),c.Messenger.prototype.initialize.call(this,a,d),this.add("previewUrl",a.previewUrl),this.query=b.extend(a.query||{},{customize_messenger_channel:this.channel()}),this.run(e)},run:function(a){var c=this,d=!1,e=!1;this._ready&&this.unbind("ready",this._ready),this._ready=function(){e=!0,d&&a.resolveWith(c)},this.bind("ready",this._ready),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(f){var g,h=c.request.getResponseHeader("Location"),i=c.signature;return h&&h!=c.previewUrl()?void a.rejectWith(c,["redirect",h]):"0"===f?void c.login(a):"-1"===f?void a.rejectWith(c,["cheatin"]):(g=f.lastIndexOf(i),-1===g||g<f.lastIndexOf("</html>")?void a.rejectWith(c,["unsigned"]):(f=f.slice(0,g)+f.slice(g+i.length),c.iframe=b("<iframe />").appendTo(c.container),c.iframe.one("load",function(){d=!0,e?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(f),void c.targetWindow().document.close()))})},login:function(a){var d,e=this;return d=function(){a.rejectWith(e,["logged out"])},this.triedLogin?d():void b.get(c.settings.url.ajax,{action:"logged-in"}).fail(d).done(function(c){var f;"1"!==c&&d(),f=b('<iframe src="'+e.previewUrl()+'" />').hide(),f.appendTo(e.container),f.load(function(){e.triedLogin=!0,f.remove(),e.run(a)})})},destroy:function(){c.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;c.PreviewFrame.uuid=function(){return"preview-"+a++}}(),c.Previewer=c.Messenger.extend({refreshBuffer:250,initialize:function(a,d){var e=this,f=/^https?/;b.extend(this,d||{}),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=c.ensure(a.container),this.allowedUrls=a.allowedUrls,this.signature=a.signature,a.url=window.location.href,c.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,e.scheme()),a],function(a,d){return b.each(e.allowedUrls,function(a,b){var e;return b=b.replace(/\/+$/,""),e=d.replace(b,""),0===d.indexOf(b)&&/^([/#?]|$)/.test(e)?(c=d,!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)},query:function(){},abort:function(){this.loading&&(this.loading.destroy(),delete this.loading)},refresh:function(){var a=this;this.abort(),this.loading=new c.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.send("active")}),this.send("sync",{scroll:a.scroll,settings:c.get()})}),this.loading.fail(function(b,c){"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,d,e,f=this;return this._login?this._login:(a=b.Deferred(),this._login=a.promise(),d=new c.Messenger({channel:"login",url:c.settings.url.login}),e=b('<iframe src="'+c.settings.url.login+'" />').appendTo(this.container),d.targetWindow(e[0].contentWindow),d.bind("login",function(){e.remove(),d.destroy(),delete f._login,a.resolve()}),this._login)},cheatin:function(){b(document.body).empty().addClass("cheatin").append("<p>"+c.l10n.cheatin+"</p>")}}),c.controlConstructor={color:c.ColorControl,upload:c.UploadControl,image:c.ImageControl,header:c.HeaderControl},b(function(){if(c.settings=window._wpCustomizeSettings,c.l10n=window._wpCustomizeControlsL10n,c.settings){if(!b.support.postMessage||!b.support.cors&&c.settings.isCrossDomain)return window.location=c.settings.url.fallback;var a,d,e,f=b(document.body),g=f.children(".wp-full-overlay");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()}),a=new c.Previewer({container:"#customize-preview",form:"#customize-controls",previewUrl:c.settings.url.preview,allowedUrls:c.settings.url.allowed,signature:"WP_CUSTOMIZER_SIGNATURE"},{nonce:c.settings.nonce,query:function(){return{wp_customize:"on",theme:c.settings.theme.stylesheet,customized:JSON.stringify(c.get()),nonce:this.nonce.preview}},save:function(){var a,d,e=this,g=b.extend(this.query(),{action:"customize_save",nonce:this.nonce.save}),h=c.state("processing");f.addClass("saving"),d=function(){var a=b.post(c.settings.url.ajax,g);c.trigger("save",a),a.always(function(){f.removeClass("saving")}),a.done(function(a){return"0"===a?(e.preview.iframe.hide(),void e.login().done(function(){e.save(),e.preview.iframe.show()})):"-1"===a?void e.cheatin():void c.trigger("saved")})},0===h()?d():(a=function(){0===h()&&(c.state.unbind("change",a),d())},c.state.bind("change",a))}}),a.bind("nonce",function(a){b.extend(this.nonce,a)}),b.each(c.settings.settings,function(b,d){c.create(b,b,d.value,{transport:d.transport,previewer:a})}),b.each(c.settings.controls,function(b,d){var e,f=c.controlConstructor[d.type]||c.Control;e=c.control.add(b,new f(b,{params:d,previewer:a}))}),a.previewUrl()?a.refresh():a.previewUrl(c.settings.url.home),function(){var a=new c.Values,d=a.create("saved"),e=a.create("activated"),f=a.create("processing");a.bind("change",function(){var a=b("#save"),f=b(".back");e()?d()?(a.val(c.l10n.saved).prop("disabled",!0),f.text(c.l10n.close)):(a.val(c.l10n.save).prop("disabled",!1),f.text(c.l10n.cancel)):(a.val(c.l10n.activate).prop("disabled",!1),f.text(c.l10n.cancel))}),d(!0),e(c.settings.theme.active),f(0),c.bind("change",function(){a("saved").set(!1)}),c.bind("saved",function(){a("saved").set(!0),a("activated").set(!0)}),e.bind(function(a){a&&c.trigger("activated")}),c.state=a}(),b("#save").click(function(b){a.save(),b.preventDefault()}).keydown(function(b){9!==b.which&&(13===b.which&&a.save(),b.preventDefault())}),b(".back").keydown(function(a){9!==a.which&&(13===a.which&&this.click(),a.preventDefault())}),b(".upload-dropzone a.upload").keydown(function(a){13===a.which&&this.click()}),b(".collapse-sidebar").on("click keydown",function(a){("keydown"!==a.type||13===a.which)&&(g.toggleClass("collapsed").toggleClass("expanded"),a.preventDefault())}),d=new c.Messenger({url:c.settings.url.parent,channel:"loader"}),d.bind("back",function(){b(".back").on("click.back",function(a){a.preventDefault(),d.send("close")})}),c.bind("saved",function(){d.send("saved")}),c.bind("activated",function(){d.targetWindow()?d.send("activated",c.settings.url.activated):c.settings.url.activated&&(window.location=c.settings.url.activated)}),d.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,d){c(a,function(a){b.each(d.controls,function(b,e){c.control(e,function(b){var c=function(a){b.container.toggle(d.callback(a))};c(a.get()),a.bind(c)})})})}),c.control("display_header_text",function(a){var b="";a.elements[0].unsync(c("header_textcolor")),a.element=new c.Element(a.container.find("input")),a.element.set("blank"!==a.setting()),a.element.bind(function(d){d||(b=c("header_textcolor").get()),a.setting.set(d?b:"blank")}),a.setting.bind(function(b){a.element.set("blank"!==b)})}),c.trigger("ready"),e=b(".back"),e.focus(),setTimeout(function(){e.focus()},200)}})}(wp,jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/customize-widgets.js b/wp-admin/js/customize-widgets.js
new file mode 100644 (file)
index 0000000..47505dd
--- /dev/null
@@ -0,0 +1,1869 @@
+/* global _wpCustomizeWidgetsSettings */
+(function( wp, $ ){
+
+       if ( ! wp || ! wp.customize ) { return; }
+
+       // Set up our namespace...
+       var api = wp.customize,
+               l10n, OldPreviewer;
+
+       api.Widgets = api.Widgets || {};
+
+       // Link settings
+       api.Widgets.data = _wpCustomizeWidgetsSettings || {};
+       l10n = api.Widgets.data.l10n;
+       delete api.Widgets.data.l10n;
+
+       /**
+        * wp.customize.Widgets.WidgetModel
+        *
+        * A single widget model.
+        *
+        * @constructor
+        * @augments Backbone.Model
+        */
+       api.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: true
+       });
+
+       /**
+        * wp.customize.Widgets.WidgetCollection
+        *
+        * Collection for widget models.
+        *
+        * @constructor
+        * @augments Backbone.Model
+        */
+       api.Widgets.WidgetCollection = Backbone.Collection.extend({
+               model: api.Widgets.WidgetModel,
+
+               // Controls searching on the current widget collection
+               // and triggers an update event
+               doSearch: function( value ) {
+
+                       // Don't do anything if we've already done this search
+                       // Useful because the search handler fires multiple times per keystroke
+                       if ( this.terms === value ) {
+                               return;
+                       }
+
+                       // Updates terms with the value passed
+                       this.terms = value;
+
+                       // If we have terms, run a search...
+                       if ( this.terms.length > 0 ) {
+                               this.search( this.terms );
+                       }
+
+                       // If search is blank, show all themes
+                       // Useful for resetting the views when you clean the input
+                       if ( this.terms === '' ) {
+                               this.each( function ( widget ) {
+                                       widget.set( 'search_matched', true );
+                               } );
+                       }
+               },
+
+               // Performs a search within the collection
+               // @uses RegExp
+               search: function( term ) {
+                       var match, haystack;
+
+                       // Escape the term string for RegExp meta characters
+                       term = term.replace( /[-\/\\^$*+?.()|[\]{}]/g, '\\$&' );
+
+                       // Consider spaces as word delimiters and match the whole string
+                       // so matching terms can be combined
+                       term = term.replace( / /g, ')(?=.*' );
+                       match = new RegExp( '^(?=.*' + term + ').+', 'i' );
+
+                       this.each( function ( data ) {
+                               haystack = [ data.get( 'name' ), data.get( 'id' ), data.get( 'description' ) ].join( ' ' );
+                               data.set( 'search_matched', match.test( haystack ) );
+                       } );
+               }
+       });
+       api.Widgets.availableWidgets = new api.Widgets.WidgetCollection( api.Widgets.data.availableWidgets );
+
+       /**
+        * wp.customize.Widgets.SidebarModel
+        *
+        * A single sidebar model.
+        *
+        * @constructor
+        * @augments Backbone.Model
+        */
+       api.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: false
+       });
+
+       /**
+        * wp.customize.Widgets.SidebarCollection
+        *
+        * Collection for sidebar models.
+        *
+        * @constructor
+        * @augments Backbone.Collection
+        */
+       api.Widgets.SidebarCollection = Backbone.Collection.extend({
+               model: api.Widgets.SidebarModel
+       });
+       api.Widgets.registeredSidebars = new api.Widgets.SidebarCollection( api.Widgets.data.registeredSidebars );
+
+       /**
+        * wp.customize.Widgets.AvailableWidgetsPanelView
+        *
+        * View class for the available widgets panel.
+        *
+        * @constructor
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
+       api.Widgets.AvailableWidgetsPanelView = wp.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'
+               },
+
+               // Cache current selected widget
+               selected: null,
+
+               // Cache sidebar control which has opened panel
+               currentSidebarControl: null,
+               $search: null,
+
+               initialize: function() {
+                       var self = this;
+
+                       this.$search = $( '#widgets-search' );
+
+                       _.bindAll( this, 'close' );
+
+                       this.listenTo( this.collection, 'change', this.updateList );
+
+                       this.updateList();
+
+                       // 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' ).on( 'click keydown', function( e ) {
+                               var isAddNewBtn = $( e.target ).is( '.add-new-widget, .add-new-widget *' );
+                               if ( $( 'body' ).hasClass( 'adding-widget' ) && ! isAddNewBtn ) {
+                                       self.close();
+                               }
+                       } );
+
+                       // Close the panel if the URL in the preview changes
+                       api.Widgets.Previewer.bind( 'url', this.close );
+               },
+
+               // Performs a search and handles selected widget
+               search: function( event ) {
+                       var firstVisible;
+
+                       this.collection.doSearch( event.target.value );
+
+                       // Remove a widget from being selected if it is no longer visible
+                       if ( this.selected && ! this.selected.is( ':visible' ) ) {
+                               this.selected.removeClass( 'selected' );
+                               this.selected = null;
+                       }
+
+                       // If a widget was selected but the filter value has been cleared out, clear selection
+                       if ( this.selected && ! event.target.value ) {
+                               this.selected.removeClass( 'selected' );
+                               this.selected = null;
+                       }
+
+                       // If a filter has been entered and a widget hasn't been selected, select the first one shown
+                       if ( ! this.selected && event.target.value ) {
+                               firstVisible = this.$el.find( '> .widget-tpl:visible:first' );
+                               if ( firstVisible.length ) {
+                                       this.select( firstVisible );
+                               }
+                       }
+               },
+
+               // Changes visibility of available widgets
+               updateList: function() {
+                       this.collection.each( function( widget ) {
+                               var widgetTpl = $( '#widget-tpl-' + widget.id );
+                               widgetTpl.toggle( widget.get( 'search_matched' ) && ! widget.get( 'is_disabled' ) );
+                               if ( widget.get( 'is_disabled' ) && widgetTpl.is( this.selected ) ) {
+                                       this.selected = null;
+                               }
+                       } );
+               },
+
+               // Highlights a widget
+               select: function( widgetTpl ) {
+                       this.selected = $( widgetTpl );
+                       this.selected.siblings( '.widget-tpl' ).removeClass( 'selected' );
+                       this.selected.addClass( 'selected' );
+               },
+
+               // Highlights a widget on focus
+               focus: function( event ) {
+                       this.select( $( event.currentTarget ) );
+               },
+
+               // Submit handler for keypress and click on widget
+               _submit: function( event ) {
+                       // Only proceed with keypress if it is Enter or Spacebar
+                       if ( event.type === 'keypress' && ( event.which !== 13 && event.which !== 32 ) ) {
+                               return;
+                       }
+
+                       this.submit( $( event.currentTarget ) );
+               },
+
+               // Adds a selected widget to the sidebar
+               submit: function( widgetTpl ) {
+                       var widgetId, widget;
+
+                       if ( ! widgetTpl ) {
+                               widgetTpl = this.selected;
+                       }
+
+                       if ( ! widgetTpl || ! this.currentSidebarControl ) {
+                               return;
+                       }
+
+                       this.select( widgetTpl );
+
+                       widgetId = $( this.selected ).data( 'widget-id' );
+                       widget = this.collection.findWhere( { id: widgetId } );
+                       if ( ! widget ) {
+                               return;
+                       }
+
+                       this.currentSidebarControl.addWidget( widget.get( 'id_base' ) );
+
+                       this.close();
+               },
+
+               // Opens the panel
+               open: function( sidebarControl ) {
+                       this.currentSidebarControl = sidebarControl;
+
+                       // Wide widget controls appear over the preview, and so they need to be collapsed when the panel opens
+                       _( this.currentSidebarControl.getWidgetFormControls() ).each( function( control ) {
+                               if ( control.params.is_wide ) {
+                                       control.collapseForm();
+                               }
+                       } );
+
+                       $( 'body' ).addClass( 'adding-widget' );
+
+                       this.$el.find( '.selected' ).removeClass( 'selected' );
+
+                       // Reset search
+                       this.collection.doSearch( '' );
+
+                       this.$search.focus();
+               },
+
+               // Closes the panel
+               close: function( options ) {
+                       options = options || {};
+
+                       if ( options.returnFocus && this.currentSidebarControl ) {
+                               this.currentSidebarControl.container.find( '.add-new-widget' ).focus();
+                       }
+
+                       this.currentSidebarControl = null;
+                       this.selected = null;
+
+                       $( 'body' ).removeClass( 'adding-widget' );
+
+                       this.$search.val( '' );
+               },
+
+               // Add keyboard accessiblity to the panel
+               keyboardAccessible: function( event ) {
+                       var isEnter = ( event.which === 13 ),
+                               isEsc = ( event.which === 27 ),
+                               isDown = ( event.which === 40 ),
+                               isUp = ( event.which === 38 ),
+                               selected = null,
+                               firstVisible = this.$el.find( '> .widget-tpl:visible:first' ),
+                               lastVisible = this.$el.find( '> .widget-tpl:visible:last' ),
+                               isSearchFocused = $( event.target ).is( this.$search );
+
+                       if ( isDown || isUp ) {
+                               if ( isDown ) {
+                                       if ( isSearchFocused ) {
+                                               selected = firstVisible;
+                                       } else if ( this.selected && this.selected.nextAll( '.widget-tpl:visible' ).length !== 0 ) {
+                                               selected = this.selected.nextAll( '.widget-tpl:visible:first' );
+                                       }
+                               } else if ( isUp ) {
+                                       if ( isSearchFocused ) {
+                                               selected = lastVisible;
+                                       } else if ( this.selected && this.selected.prevAll( '.widget-tpl:visible' ).length !== 0 ) {
+                                               selected = this.selected.prevAll( '.widget-tpl:visible:first' );
+                                       }
+                               }
+
+                               this.select( selected );
+
+                               if ( selected ) {
+                                       selected.focus();
+                               } else {
+                                       this.$search.focus();
+                               }
+
+                               return;
+                       }
+
+                       // If enter pressed but nothing entered, don't do anything
+                       if ( isEnter && ! this.$search.val() ) {
+                               return;
+                       }
+
+                       if ( isEnter ) {
+                               this.submit();
+                       } else if ( isEsc ) {
+                               this.close( { returnFocus: true } );
+                       }
+               }
+       });
+
+       /**
+        * Handlers for the widget-synced event, organized by widget ID base.
+        * Other widgets may provide their own update handlers by adding
+        * listeners for the widget-synced event.
+        */
+       api.Widgets.formSyncHandlers = {
+
+               /**
+                * @param {jQuery.Event} e
+                * @param {jQuery} widget
+                * @param {String} newForm
+                */
+               rss: function( e, widget, newForm ) {
+                       var oldWidgetError = widget.find( '.widget-error:first' ),
+                               newWidgetError = $( '<div>' + newForm + '</div>' ).find( '.widget-error:first' );
+
+                       if ( oldWidgetError.length && newWidgetError.length ) {
+                               oldWidgetError.replaceWith( newWidgetError );
+                       } else if ( oldWidgetError.length ) {
+                               oldWidgetError.remove();
+                       } else if ( newWidgetError.length ) {
+                               widget.find( '.widget-content:first' ).prepend( newWidgetError );
+                       }
+               }
+       };
+
+       /**
+        * wp.customize.Widgets.WidgetControl
+        *
+        * Customizer control for widgets.
+        * Note that 'widget_form' must match the WP_Widget_Form_Customize_Control::$type
+        *
+        * @constructor
+        * @augments wp.customize.Control
+        */
+       api.Widgets.WidgetControl = api.Control.extend({
+               /**
+                * Set up the control
+                */
+               ready: function() {
+                       this._setupModel();
+                       this._setupWideWidget();
+                       this._setupControlToggle();
+                       this._setupWidgetTitle();
+                       this._setupReorderUI();
+                       this._setupHighlightEffects();
+                       this._setupUpdateUI();
+                       this._setupRemoveUI();
+               },
+
+               /**
+                * Handle changes to the setting
+                */
+               _setupModel: function() {
+                       var self = this, rememberSavedWidgetId;
+
+                       api.Widgets.savedWidgetIds = api.Widgets.savedWidgetIds || [];
+
+                       // Remember saved widgets so we know which to trash (move to inactive widgets sidebar)
+                       rememberSavedWidgetId = function() {
+                               api.Widgets.savedWidgetIds[self.params.widget_id] = true;
+                       };
+                       api.bind( 'ready', rememberSavedWidgetId );
+                       api.bind( 'saved', rememberSavedWidgetId );
+
+                       this._updateCount = 0;
+                       this.isWidgetUpdating = false;
+                       this.liveUpdateMode = true;
+
+                       // Update widget whenever model changes
+                       this.setting.bind( function( to, from ) {
+                               if ( ! _( from ).isEqual( to ) && ! self.isWidgetUpdating ) {
+                                       self.updateWidget( { instance: to } );
+                               }
+                       } );
+               },
+
+               /**
+                * Add special behaviors for wide widget controls
+                */
+               _setupWideWidget: function() {
+                       var self = this, $widgetInside, $widgetForm, $customizeSidebar,
+                               $themeControlsContainer, positionWidget;
+
+                       if ( ! this.params.is_wide ) {
+                               return;
+                       }
+
+                       $widgetInside = this.container.find( '.widget-inside' );
+                       $widgetForm = $widgetInside.find( '> .form' );
+                       $customizeSidebar = $( '.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
+                       } );
+
+                       /**
+                        * Keep the widget-inside positioned so the top of fixed-positioned
+                        * element is at the same top position as the widget-top. When the
+                        * widget-top is scrolled out of view, keep the widget-top in view;
+                        * likewise, don't allow the widget to drop off the bottom of the window.
+                        * If a widget is too tall to fit in the window, don't let the height
+                        * exceed the window height so that the contents of the widget control
+                        * will become scrollable (overflow:auto).
+                        */
+                       positionWidget = function() {
+                               var offsetTop = self.container.offset().top,
+                                       windowHeight = $( window ).height(),
+                                       formHeight = $widgetForm.outerHeight(),
+                                       top;
+                               $widgetInside.css( 'max-height', windowHeight );
+                               top = Math.max(
+                                       0, // prevent top from going off screen
+                                       Math.min(
+                                               Math.max( offsetTop, 0 ), // distance widget in panel is from top of screen
+                                               windowHeight - formHeight // flush up against bottom of screen
+                                       )
+                               );
+                               $widgetInside.css( 'top', top );
+                       };
+
+                       $themeControlsContainer = $( '#customize-theme-controls' );
+                       this.container.on( 'expand', function() {
+                               positionWidget();
+                               $customizeSidebar.on( 'scroll', positionWidget );
+                               $( window ).on( 'resize', positionWidget );
+                               $themeControlsContainer.on( 'expanded collapsed', positionWidget );
+                       } );
+                       this.container.on( 'collapsed', function() {
+                               $customizeSidebar.off( 'scroll', positionWidget );
+                               $( window ).off( 'resize', positionWidget );
+                               $themeControlsContainer.off( 'expanded collapsed', positionWidget );
+                       } );
+
+                       // Reposition whenever a sidebar's widgets are changed
+                       api.each( function( setting ) {
+                               if ( 0 === setting.id.indexOf( 'sidebars_widgets[' ) ) {
+                                       setting.bind( function() {
+                                               if ( self.container.hasClass( 'expanded' ) ) {
+                                                       positionWidget();
+                                               }
+                                       } );
+                               }
+                       } );
+               },
+
+               /**
+                * Show/hide the control when clicking on the form title, when clicking
+                * the close button
+                */
+               _setupControlToggle: function() {
+                       var self = this, $closeBtn;
+
+                       this.container.find( '.widget-top' ).on( 'click', function( e ) {
+                               e.preventDefault();
+                               var sidebarWidgetsControl = self.getSidebarWidgetsControl();
+                               if ( sidebarWidgetsControl.isReordering ) {
+                                       return;
+                               }
+                               self.toggleForm();
+                       } );
+
+                       $closeBtn = this.container.find( '.widget-control-close' );
+                       $closeBtn.on( 'click', function( e ) {
+                               e.preventDefault();
+                               self.collapseForm();
+                               self.container.find( '.widget-top .widget-action:first' ).focus(); // keyboard accessibility
+                       } );
+               },
+
+               /**
+                * Update the title of the form if a title field is entered
+                */
+               _setupWidgetTitle: function() {
+                       var self = this, updateTitle;
+
+                       updateTitle = function() {
+                               var title = self.setting().title,
+                                       inWidgetTitle = self.container.find( '.in-widget-title' );
+
+                               if ( title ) {
+                                       inWidgetTitle.text( ': ' + title );
+                               } else {
+                                       inWidgetTitle.text( '' );
+                               }
+                       };
+                       this.setting.bind( updateTitle );
+                       updateTitle();
+               },
+
+               /**
+                * Set up the widget-reorder-nav
+                */
+               _setupReorderUI: function() {
+                       var self = this, selectSidebarItem, $moveWidgetArea,
+                               $reorderNav, updateAvailableSidebars;
+
+                       /**
+                        * select the provided sidebar list item in the move widget area
+                        *
+                        * @param {jQuery} li
+                        */
+                       selectSidebarItem = function( li ) {
+                               li.siblings( '.selected' ).removeClass( 'selected' );
+                               li.addClass( 'selected' );
+                               var isSelfSidebar = ( li.data( 'id' ) === self.params.sidebar_id );
+                               self.container.find( '.move-widget-btn' ).prop( 'disabled', isSelfSidebar );
+                       };
+
+                       /**
+                        * Add the widget reordering elements to the widget control
+                        */
+                       this.container.find( '.widget-title-action' ).after( $( api.Widgets.data.tpl.widgetReorderNav ) );
+                       $moveWidgetArea = $(
+                               _.template( api.Widgets.data.tpl.moveWidgetArea, {
+                                       sidebars: _( api.Widgets.registeredSidebars.toArray() ).pluck( 'attributes' )
+                               } )
+                       );
+                       this.container.find( '.widget-top' ).after( $moveWidgetArea );
+
+                       /**
+                        * Update available sidebars when their rendered state changes
+                        */
+                       updateAvailableSidebars = function() {
+                               var $sidebarItems = $moveWidgetArea.find( 'li' ), selfSidebarItem;
+
+                               selfSidebarItem = $sidebarItems.filter( function(){
+                                       return $( this ).data( 'id' ) === self.params.sidebar_id;
+                               } );
+
+                               $sidebarItems.each( function() {
+                                       var li = $( this ),
+                                               sidebarId,
+                                               sidebar;
+
+                                       sidebarId = li.data( 'id' );
+                                       sidebar = api.Widgets.registeredSidebars.get( sidebarId );
+
+                                       li.toggle( sidebar.get( 'is_rendered' ) );
+
+                                       if ( li.hasClass( 'selected' ) && ! sidebar.get( 'is_rendered' ) ) {
+                                               selectSidebarItem( selfSidebarItem );
+                                       }
+                               } );
+                       };
+
+                       updateAvailableSidebars();
+                       api.Widgets.registeredSidebars.on( 'change:is_rendered', updateAvailableSidebars );
+
+                       /**
+                        * Handle clicks for up/down/move on the reorder nav
+                        */
+                       $reorderNav = this.container.find( '.widget-reorder-nav' );
+                       $reorderNav.find( '.move-widget, .move-widget-down, .move-widget-up' ).on( 'click keypress', function( event ) {
+                               if ( event.type === 'keypress' && ( event.which !== 13 && event.which !== 32 ) ) {
+                                       return;
+                               }
+                               $( this ).focus();
+
+                               if ( $( this ).is( '.move-widget' ) ) {
+                                       self.toggleWidgetMoveArea();
+                               } else {
+                                       var isMoveDown = $( this ).is( '.move-widget-down' ),
+                                               isMoveUp = $( this ).is( '.move-widget-up' ),
+                                               i = self.getWidgetSidebarPosition();
+
+                                       if ( ( isMoveUp && i === 0 ) || ( isMoveDown && i === self.getSidebarWidgetsControl().setting().length - 1 ) ) {
+                                               return;
+                                       }
+
+                                       if ( isMoveUp ) {
+                                               self.moveUp();
+                                       } else {
+                                               self.moveDown();
+                                       }
+
+                                       $( this ).focus(); // re-focus after the container was moved
+                               }
+                       } );
+
+                       /**
+                        * Handle selecting a sidebar to move to
+                        */
+                       this.container.find( '.widget-area-select' ).on( 'click keypress', 'li', function( e ) {
+                               if ( event.type === 'keypress' && ( event.which !== 13 && event.which !== 32 ) ) {
+                                       return;
+                               }
+                               e.preventDefault();
+                               selectSidebarItem( $( this ) );
+                       } );
+
+                       /**
+                        * Move widget to another sidebar
+                        */
+                       this.container.find( '.move-widget-btn' ).click( function() {
+                               self.getSidebarWidgetsControl().toggleReordering( false );
+
+                               var oldSidebarId = self.params.sidebar_id,
+                                       newSidebarId = self.container.find( '.widget-area-select li.selected' ).data( 'id' ),
+                                       oldSidebarWidgetsSetting, newSidebarWidgetsSetting,
+                                       oldSidebarWidgetIds, newSidebarWidgetIds, i;
+
+                               oldSidebarWidgetsSetting = api( 'sidebars_widgets[' + oldSidebarId + ']' );
+                               newSidebarWidgetsSetting = api( 'sidebars_widgets[' + newSidebarId + ']' );
+                               oldSidebarWidgetIds = Array.prototype.slice.call( oldSidebarWidgetsSetting() );
+                               newSidebarWidgetIds = Array.prototype.slice.call( newSidebarWidgetsSetting() );
+
+                               i = self.getWidgetSidebarPosition();
+                               oldSidebarWidgetIds.splice( i, 1 );
+                               newSidebarWidgetIds.push( self.params.widget_id );
+
+                               oldSidebarWidgetsSetting( oldSidebarWidgetIds );
+                               newSidebarWidgetsSetting( newSidebarWidgetIds );
+
+                               self.focus();
+                       } );
+               },
+
+               /**
+                * Highlight widgets in preview when interacted with in the customizer
+                */
+               _setupHighlightEffects: function() {
+                       var self = this;
+
+                       // Highlight whenever hovering or clicking over the form
+                       this.container.on( 'mouseenter click', function() {
+                               self.setting.previewer.send( 'highlight-widget', self.params.widget_id );
+                       } );
+
+                       // Highlight when the setting is updated
+                       this.setting.bind( function() {
+                               self.setting.previewer.send( 'highlight-widget', self.params.widget_id );
+                       } );
+               },
+
+               /**
+                * Set up event handlers for widget updating
+                */
+               _setupUpdateUI: function() {
+                       var self = this, $widgetRoot, $widgetContent,
+                               $saveBtn, updateWidgetDebounced, formSyncHandler;
+
+                       $widgetRoot = this.container.find( '.widget:first' );
+                       $widgetContent = $widgetRoot.find( '.widget-content:first' );
+
+                       // Configure update button
+                       $saveBtn = this.container.find( '.widget-control-save' );
+                       $saveBtn.val( l10n.saveBtnLabel );
+                       $saveBtn.attr( 'title', l10n.saveBtnTooltip );
+                       $saveBtn.removeClass( 'button-primary' ).addClass( 'button-secondary' );
+                       $saveBtn.on( 'click', function( e ) {
+                               e.preventDefault();
+                               self.updateWidget( { disable_form: true } ); // @todo disable_form is unused?
+                       } );
+
+                       updateWidgetDebounced = _.debounce( function() {
+                               self.updateWidget();
+                       }, 250 );
+
+                       // Trigger widget form update when hitting Enter within an input
+                       $widgetContent.on( 'keydown', 'input', function( e ) {
+                               if ( 13 === e.which ) { // Enter
+                                       e.preventDefault();
+                                       self.updateWidget( { ignoreActiveElement: true } );
+                               }
+                       } );
+
+                       // 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();
+                                       }
+                               }
+                       } );
+
+                       // Remove loading indicators when the setting is saved and the preview updates
+                       this.setting.previewer.channel.bind( 'synced', function() {
+                               self.container.removeClass( 'previewer-loading' );
+                       } );
+
+                       api.Widgets.Previewer.bind( 'widget-updated', function( updatedWidgetId ) {
+                               if ( updatedWidgetId === self.params.widget_id ) {
+                                       self.container.removeClass( 'previewer-loading' );
+                               }
+                       } );
+
+                       // Update widget control to indicate whether it is currently rendered
+                       api.Widgets.Previewer.bind( 'rendered-widgets', function( renderedWidgets ) {
+                               var isRendered = !! renderedWidgets[self.params.widget_id];
+
+                               self.container.toggleClass( 'widget-rendered', isRendered );
+                       } );
+
+                       formSyncHandler = api.Widgets.formSyncHandlers[ this.params.widget_id_base ];
+                       if ( formSyncHandler ) {
+                               $( document ).on( 'widget-synced', function( e, widget ) {
+                                       if ( $widgetRoot.is( widget ) ) {
+                                               formSyncHandler.apply( document, arguments );
+                                       }
+                               } );
+                       }
+               },
+
+               /**
+                * Set up event handlers for widget removal
+                */
+               _setupRemoveUI: function() {
+                       var self = this, $removeBtn, replaceDeleteWithRemove;
+
+                       // Configure remove button
+                       $removeBtn = this.container.find( 'a.widget-control-remove' );
+                       $removeBtn.on( 'click', function( e ) {
+                               e.preventDefault();
+
+                               // Find an adjacent element to add focus to when this widget goes away
+                               var $adjacentFocusTarget;
+                               if ( self.container.next().is( '.customize-control-widget_form' ) ) {
+                                       $adjacentFocusTarget = self.container.next().find( '.widget-action:first' );
+                               } else if ( self.container.prev().is( '.customize-control-widget_form' ) ) {
+                                       $adjacentFocusTarget = self.container.prev().find( '.widget-action:first' );
+                               } else {
+                                       $adjacentFocusTarget = self.container.next( '.customize-control-sidebar_widgets' ).find( '.add-new-widget:first' );
+                               }
+
+                               self.container.slideUp( function() {
+                                       var sidebarsWidgetsControl = api.Widgets.getSidebarWidgetControlContainingWidget( self.params.widget_id ),
+                                               sidebarWidgetIds, i;
+
+                                       if ( ! sidebarsWidgetsControl ) {
+                                               return;
+                                       }
+
+                                       sidebarWidgetIds = sidebarsWidgetsControl.setting().slice();
+                                       i = _.indexOf( sidebarWidgetIds, self.params.widget_id );
+                                       if ( -1 === i ) {
+                                               return;
+                                       }
+
+                                       sidebarWidgetIds.splice( i, 1 );
+                                       sidebarsWidgetsControl.setting( sidebarWidgetIds );
+
+                                       $adjacentFocusTarget.focus(); // keyboard accessibility
+                               } );
+                       } );
+
+                       replaceDeleteWithRemove = function() {
+                               $removeBtn.text( l10n.removeBtnLabel ); // wp_widget_control() outputs the link as "Delete"
+                               $removeBtn.attr( 'title', l10n.removeBtnTooltip );
+                       };
+
+                       if ( this.params.is_new ) {
+                               api.bind( 'saved', replaceDeleteWithRemove );
+                       } else {
+                               replaceDeleteWithRemove();
+                       }
+               },
+
+               /**
+                * Find all inputs in a widget container that should be considered when
+                * comparing the loaded form with the sanitized form, whose fields will
+                * be aligned to copy the sanitized over. The elements returned by this
+                * are passed into this._getInputsSignature(), and they are iterated
+                * over when copying sanitized values over to the the form loaded.
+                *
+                * @param {jQuery} container element in which to look for inputs
+                * @returns {jQuery} inputs
+                * @private
+                */
+               _getInputs: function( container ) {
+                       return $( container ).find( ':input[name]' );
+               },
+
+               /**
+                * Iterate over supplied inputs and create a signature string for all of them together.
+                * This string can be used to compare whether or not the form has all of the same fields.
+                *
+                * @param {jQuery} inputs
+                * @returns {string}
+                * @private
+                */
+               _getInputsSignature: function( inputs ) {
+                       var inputsSignatures = _( inputs ).map( function( input ) {
+                               var $input = $( input ), signatureParts;
+
+                               if ( $input.is( ':checkbox, :radio' ) ) {
+                                       signatureParts = [ $input.attr( 'id' ), $input.attr( 'name' ), $input.prop( 'value' ) ];
+                               } else {
+                                       signatureParts = [ $input.attr( 'id' ), $input.attr( 'name' ) ];
+                               }
+
+                               return signatureParts.join( ',' );
+                       } );
+
+                       return inputsSignatures.join( ';' );
+               },
+
+               /**
+                * Get the property that represents the state of an input.
+                *
+                * @param {jQuery|DOMElement} input
+                * @returns {string}
+                * @private
+                */
+               _getInputStatePropertyName: function( input ) {
+                       var $input = $( input );
+
+                       if ( $input.is( ':radio, :checkbox' ) ) {
+                               return 'checked';
+                       } else {
+                               return 'value';
+                       }
+               },
+
+               /***********************************************************************
+                * Begin public API methods
+                **********************************************************************/
+
+               /**
+                * @return {wp.customize.controlConstructor.sidebar_widgets[]}
+                */
+               getSidebarWidgetsControl: function() {
+                       var settingId, sidebarWidgetsControl;
+
+                       settingId = 'sidebars_widgets[' + this.params.sidebar_id + ']';
+                       sidebarWidgetsControl = api.control( settingId );
+
+                       if ( ! sidebarWidgetsControl ) {
+                               return;
+                       }
+
+                       return sidebarWidgetsControl;
+               },
+
+               /**
+                * Submit the widget form via Ajax and get back the updated instance,
+                * along with the new widget control form to render.
+                *
+                * @param {object} [args]
+                * @param {Object|null} [args.instance=null]  When the model changes, the instance is sent here; otherwise, the inputs from the form are used
+                * @param {Function|null} [args.complete=null]  Function which is called when the request finishes. Context is bound to the control. First argument is any error. Following arguments are for success.
+                * @param {Boolean} [args.ignoreActiveElement=false] Whether or not updating a field will be deferred if focus is still on the element.
+                */
+               updateWidget: function( args ) {
+                       var self = this, instanceOverride, completeCallback, $widgetRoot, $widgetContent,
+                               updateNumber, params, data, $inputs, processing, jqxhr, isChanged;
+
+                       args = $.extend( {
+                               instance: null,
+                               complete: null,
+                               ignoreActiveElement: false
+                       }, args );
+
+                       instanceOverride = args.instance;
+                       completeCallback = args.complete;
+
+                       this._updateCount += 1;
+                       updateNumber = this._updateCount;
+
+                       $widgetRoot = this.container.find( '.widget:first' );
+                       $widgetContent = $widgetRoot.find( '.widget-content:first' );
+
+                       // Remove a previous error message
+                       $widgetContent.find( '.widget-error' ).remove();
+
+                       this.container.addClass( 'widget-form-loading' );
+                       this.container.addClass( 'previewer-loading' );
+                       processing = api.state( 'processing' );
+                       processing( processing() + 1 );
+
+                       if ( ! this.liveUpdateMode ) {
+                               this.container.addClass( 'widget-form-disabled' );
+                       }
+
+                       params = {};
+                       params.action = 'update-widget';
+                       params.wp_customize = 'on';
+                       params.nonce = api.Widgets.data.nonce;
+                       params.theme = api.settings.theme.stylesheet;
+
+                       data = $.param( params );
+                       $inputs = this._getInputs( $widgetContent );
+
+                       // Store the value we're submitting in data so that when the response comes back,
+                       // we know if it got sanitized; if there is no difference in the sanitized value,
+                       // then we do not need to touch the UI and mess up the user's ongoing editing.
+                       $inputs.each( function() {
+                               var input = $( this ),
+                                       property = self._getInputStatePropertyName( this );
+                               input.data( 'state' + updateNumber, input.prop( property ) );
+                       } );
+
+                       if ( instanceOverride ) {
+                               data += '&' + $.param( { 'sanitized_widget_setting': JSON.stringify( instanceOverride ) } );
+                       } else {
+                               data += '&' + $inputs.serialize();
+                       }
+                       data += '&' + $widgetContent.find( '~ :input' ).serialize();
+
+                       jqxhr = $.post( wp.ajax.settings.url, data );
+
+                       jqxhr.done( function( r ) {
+                               var message, sanitizedForm,     $sanitizedInputs, hasSameInputsInResponse,
+                                       isLiveUpdateAborted = false;
+
+                               // Check if the user is logged out.
+                               if ( '0' === r ) {
+                                       api.Widgets.Previewer.preview.iframe.hide();
+                                       api.Widgets.Previewer.login().done( function() {
+                                               self.updateWidget( args );
+                                               api.Widgets.Previewer.preview.iframe.show();
+                                       } );
+                                       return;
+                               }
+
+                               // Check for cheaters.
+                               if ( '-1' === r ) {
+                                       api.Widgets.Previewer.cheatin();
+                                       return;
+                               }
+
+                               if ( r.success ) {
+                                       sanitizedForm = $( '<div>' + r.data.form + '</div>' );
+                                       $sanitizedInputs = self._getInputs( sanitizedForm );
+                                       hasSameInputsInResponse = self._getInputsSignature( $inputs ) === self._getInputsSignature( $sanitizedInputs );
+
+                                       // Restore live update mode if sanitized fields are now aligned with the existing fields
+                                       if ( hasSameInputsInResponse && ! self.liveUpdateMode ) {
+                                               self.liveUpdateMode = true;
+                                               self.container.removeClass( 'widget-form-disabled' );
+                                               self.container.find( 'input[name="savewidget"]' ).hide();
+                                       }
+
+                                       // Sync sanitized field states to existing fields if they are aligned
+                                       if ( hasSameInputsInResponse && self.liveUpdateMode ) {
+                                               $inputs.each( function( i ) {
+                                                       var $input = $( this ),
+                                                               $sanitizedInput = $( $sanitizedInputs[i] ),
+                                                               property = self._getInputStatePropertyName( this ),
+                                                               submittedState, sanitizedState, canUpdateState;
+
+                                                       submittedState = $input.data( 'state' + updateNumber );
+                                                       sanitizedState = $sanitizedInput.prop( property );
+                                                       $input.data( 'sanitized', sanitizedState );
+
+                                                       canUpdateState = ( submittedState !== sanitizedState && ( args.ignoreActiveElement || ! $input.is( document.activeElement ) )   );
+                                                       if ( canUpdateState ) {
+                                                               $input.prop( property, sanitizedState );
+                                                       }
+                                               } );
+
+                                               $( document ).trigger( 'widget-synced', [ $widgetRoot, r.data.form ] );
+
+                                       // Otherwise, if sanitized fields are not aligned with existing fields, disable live update mode if enabled
+                                       } else if ( self.liveUpdateMode ) {
+                                               self.liveUpdateMode = false;
+                                               self.container.find( 'input[name="savewidget"]' ).show();
+                                               isLiveUpdateAborted = true;
+
+                                       // Otherwise, replace existing form with the sanitized form
+                                       } else {
+                                               $widgetContent.html( r.data.form );
+
+                                               self.container.removeClass( 'widget-form-disabled' );
+
+                                               $( document ).trigger( 'widget-updated', [ $widgetRoot ] );
+                                       }
+
+                                       /**
+                                        * If the old instance is identical to the new one, there is nothing new
+                                        * needing to be rendered, and so we can preempt the event for the
+                                        * preview finishing loading.
+                                        */
+                                       isChanged = ! isLiveUpdateAborted && ! _( self.setting() ).isEqual( r.data.instance );
+                                       if ( isChanged ) {
+                                               self.isWidgetUpdating = true; // suppress triggering another updateWidget
+                                               self.setting( r.data.instance );
+                                               self.isWidgetUpdating = false;
+                                       } else {
+                                               // no change was made, so stop the spinner now instead of when the preview would updates
+                                               self.container.removeClass( 'previewer-loading' );
+                                       }
+
+                                       if ( completeCallback ) {
+                                               completeCallback.call( self, null, { noChange: ! isChanged, ajaxFinished: true } );
+                                       }
+                               } else {
+                                       // General error message
+                                       message = l10n.error;
+
+                                       if ( r.data && r.data.message ) {
+                                               message = r.data.message;
+                                       }
+
+                                       if ( completeCallback ) {
+                                               completeCallback.call( self, message );
+                                       } else {
+                                               $widgetContent.prepend( '<p class="widget-error"><strong>' + message + '</strong></p>' );
+                                       }
+                               }
+                       } );
+
+                       jqxhr.fail( function( jqXHR, textStatus ) {
+                               if ( completeCallback ) {
+                                       completeCallback.call( self, textStatus );
+                               }
+                       } );
+
+                       jqxhr.always( function() {
+                               self.container.removeClass( 'widget-form-loading' );
+
+                               $inputs.each( function() {
+                                       $( this ).removeData( 'state' + updateNumber );
+                               } );
+
+                               processing( processing() - 1 );
+                       } );
+               },
+
+               /**
+                * 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 widget form control
+                */
+               expandForm: function() {
+                       this.toggleForm( true );
+               },
+
+               /**
+                * Collapse the widget form control
+                */
+               collapseForm: function() {
+                       this.toggleForm( false );
+               },
+
+               /**
+                * Expand or collapse the widget control
+                *
+                * @param {boolean|undefined} [showOrHide] If not supplied, will be inverse of current visibility
+                */
+               toggleForm: function( showOrHide ) {
+                       var self = this, $widget, $inside, complete;
+
+                       $widget = this.container.find( 'div.widget:first' );
+                       $inside = $widget.find( '.widget-inside:first' );
+                       if ( typeof showOrHide === 'undefined' ) {
+                               showOrHide = ! $inside.is( ':visible' );
+                       }
+
+                       // Already expanded or collapsed, so noop
+                       if ( $inside.is( ':visible' ) === showOrHide ) {
+                               return;
+                       }
+
+                       if ( showOrHide ) {
+                               // Close all other widget controls before expanding this one
+                               api.control.each( function( otherControl ) {
+                                       if ( self.params.type === otherControl.params.type && self !== otherControl ) {
+                                               otherControl.collapseForm();
+                                       }
+                               } );
+
+                               complete = function() {
+                                       self.container.removeClass( 'expanding' );
+                                       self.container.addClass( 'expanded' );
+                                       self.container.trigger( 'expanded' );
+                               };
+
+                               if ( self.params.is_wide ) {
+                                       $inside.fadeIn( 'fast', complete );
+                               } else {
+                                       $inside.slideDown( 'fast', complete );
+                               }
+
+                               self.container.trigger( 'expand' );
+                               self.container.addClass( 'expanding' );
+                       } else {
+                               complete = function() {
+                                       self.container.removeClass( 'collapsing' );
+                                       self.container.removeClass( 'expanded' );
+                                       self.container.trigger( 'collapsed' );
+                               };
+
+                               self.container.trigger( 'collapse' );
+                               self.container.addClass( 'collapsing' );
+
+                               if ( self.params.is_wide ) {
+                                       $inside.fadeOut( 'fast', complete );
+                               } else {
+                                       $inside.slideUp( 'fast', function() {
+                                               $widget.css( { width:'', margin:'' } );
+                                               complete();
+                                       } );
+                               }
+                       }
+               },
+
+               /**
+                * Expand the containing sidebar section, expand the form, and focus on
+                * the first input in the control
+                */
+               focus: function() {
+                       this.expandControlSection();
+                       this.expandForm();
+                       this.container.find( '.widget-content :focusable:first' ).focus();
+               },
+
+               /**
+                * Get the position (index) of the widget in the containing sidebar
+                *
+                * @returns {Number}
+                */
+               getWidgetSidebarPosition: function() {
+                       var sidebarWidgetIds, position;
+
+                       sidebarWidgetIds = this.getSidebarWidgetsControl().setting();
+                       position = _.indexOf( sidebarWidgetIds, this.params.widget_id );
+
+                       if ( position === -1 ) {
+                               return;
+                       }
+
+                       return position;
+               },
+
+               /**
+                * Move widget up one in the sidebar
+                */
+               moveUp: function() {
+                       this._moveWidgetByOne( -1 );
+               },
+
+               /**
+                * Move widget up one in the sidebar
+                */
+               moveDown: function() {
+                       this._moveWidgetByOne( 1 );
+               },
+
+               /**
+                * @private
+                *
+                * @param {Number} offset 1|-1
+                */
+               _moveWidgetByOne: function( offset ) {
+                       var i, sidebarWidgetsSetting, sidebarWidgetIds, adjacentWidgetId;
+
+                       i = this.getWidgetSidebarPosition();
+
+                       sidebarWidgetsSetting = this.getSidebarWidgetsControl().setting;
+                       sidebarWidgetIds = Array.prototype.slice.call( sidebarWidgetsSetting() ); // clone
+                       adjacentWidgetId = sidebarWidgetIds[i + offset];
+                       sidebarWidgetIds[i + offset] = this.params.widget_id;
+                       sidebarWidgetIds[i] = adjacentWidgetId;
+
+                       sidebarWidgetsSetting( sidebarWidgetIds );
+               },
+
+               /**
+                * Toggle visibility of the widget move area
+                *
+                * @param {Boolean} [showOrHide]
+                */
+               toggleWidgetMoveArea: function( showOrHide ) {
+                       var self = this, $moveWidgetArea;
+
+                       $moveWidgetArea = this.container.find( '.move-widget-area' );
+
+                       if ( typeof showOrHide === 'undefined' ) {
+                               showOrHide = ! $moveWidgetArea.hasClass( 'active' );
+                       }
+
+                       if ( showOrHide ) {
+                               // reset the selected sidebar
+                               $moveWidgetArea.find( '.selected' ).removeClass( 'selected' );
+
+                               $moveWidgetArea.find( 'li' ).filter( function() {
+                                       return $( this ).data( 'id' ) === self.params.sidebar_id;
+                               } ).addClass( 'selected' );
+
+                               this.container.find( '.move-widget-btn' ).prop( 'disabled', true );
+                       }
+
+                       $moveWidgetArea.toggleClass( 'active', showOrHide );
+               },
+
+               /**
+                * Highlight the widget control and section
+                */
+               highlightSectionAndControl: function() {
+                       var $target;
+
+                       if ( this.container.is( ':hidden' ) ) {
+                               $target = this.container.closest( '.control-section' );
+                       } else {
+                               $target = this.container;
+                       }
+
+                       $( '.highlighted' ).removeClass( 'highlighted' );
+                       $target.addClass( 'highlighted' );
+
+                       setTimeout( function() {
+                               $target.removeClass( 'highlighted' );
+                       }, 500 );
+               }
+       } );
+
+       /**
+        * wp.customize.Widgets.SidebarControl
+        *
+        * Customizer control for widgets.
+        * Note that 'sidebar_widgets' must match the WP_Widget_Area_Customize_Control::$type
+        *
+        * @constructor
+        * @augments wp.customize.Control
+        */
+       api.Widgets.SidebarControl = api.Control.extend({
+               /**
+                * Set up the control
+                */
+               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();
+               },
+
+               /**
+                * Update ordering of widget control forms when the setting is updated
+                */
+               _setupModel: function() {
+                       var self = this,
+                               registeredSidebar = api.Widgets.registeredSidebars.get( this.params.sidebar_id );
+
+                       this.setting.bind( function( newWidgetIds, oldWidgetIds ) {
+                               var widgetFormControls, $sidebarWidgetsAddControl, finalControlContainers, removedWidgetIds;
+
+                               removedWidgetIds = _( oldWidgetIds ).difference( newWidgetIds );
+
+                               // Filter out any persistent widget IDs for widgets which have been deactivated
+                               newWidgetIds = _( newWidgetIds ).filter( function( newWidgetId ) {
+                                       var parsedWidgetId = parseWidgetId( newWidgetId );
+
+                                       return !! api.Widgets.availableWidgets.findWhere( { id_base: parsedWidgetId.id_base } );
+                               } );
+
+                               widgetFormControls = _( newWidgetIds ).map( function( widgetId ) {
+                                       var widgetFormControl = api.Widgets.getWidgetFormControlForWidget( widgetId );
+
+                                       if ( ! widgetFormControl ) {
+                                               widgetFormControl = self.addWidget( widgetId );
+                                       }
+
+                                       return widgetFormControl;
+                               } );
+
+                               // Sort widget controls to their new positions
+                               widgetFormControls.sort( function( a, b ) {
+                                       var aIndex = _.indexOf( newWidgetIds, a.params.widget_id ),
+                                               bIndex = _.indexOf( newWidgetIds, b.params.widget_id );
+
+                                       if ( aIndex === bIndex ) {
+                                               return 0;
+                                       }
+
+                                       return aIndex < bIndex ? -1 : 1;
+                               } );
+
+                               // Append the controls to put them in the right order
+                               finalControlContainers = _( widgetFormControls ).map( function( widgetFormControls ) {
+                                       return widgetFormControls.container[0];
+                               } );
+
+                               $sidebarWidgetsAddControl = self.$sectionContent.find( '.customize-control-sidebar_widgets' );
+                               $sidebarWidgetsAddControl.before( finalControlContainers );
+
+                               // Re-sort widget form controls (including widgets form other sidebars newly moved here)
+                               self._applyCardinalOrderClassNames();
+
+                               // If the widget was dragged into the sidebar, make sure the sidebar_id param is updated
+                               _( widgetFormControls ).each( function( widgetFormControl ) {
+                                       widgetFormControl.params.sidebar_id = self.params.sidebar_id;
+                               } );
+
+                               // Cleanup after widget removal
+                               _( removedWidgetIds ).each( function( removedWidgetId ) {
+
+                                       // Using setTimeout so that when moving a widget to another sidebar, the other sidebars_widgets settings get a chance to update
+                                       setTimeout( function() {
+                                               var removedControl, wasDraggedToAnotherSidebar, inactiveWidgets, removedIdBase,
+                                                       widget, isPresentInAnotherSidebar = false;
+
+                                               // Check if the widget is in another sidebar
+                                               api.each( function( otherSetting ) {
+                                                       if ( otherSetting.id === self.setting.id || 0 !== otherSetting.id.indexOf( 'sidebars_widgets[' ) || otherSetting.id === 'sidebars_widgets[wp_inactive_widgets]' ) {
+                                                               return;
+                                                       }
+
+                                                       var otherSidebarWidgets = otherSetting(), i;
+
+                                                       i = _.indexOf( otherSidebarWidgets, removedWidgetId );
+                                                       if ( -1 !== i ) {
+                                                               isPresentInAnotherSidebar = true;
+                                                       }
+                                               } );
+
+                                               // If the widget is present in another sidebar, abort!
+                                               if ( isPresentInAnotherSidebar ) {
+                                                       return;
+                                               }
+
+                                               removedControl = api.Widgets.getWidgetFormControlForWidget( removedWidgetId );
+
+                                               // Detect if widget control was dragged to another sidebar
+                                               wasDraggedToAnotherSidebar = removedControl && $.contains( document, removedControl.container[0] ) && ! $.contains( self.$sectionContent[0], removedControl.container[0] );
+
+                                               // Delete any widget form controls for removed widgets
+                                               if ( removedControl && ! wasDraggedToAnotherSidebar ) {
+                                                       api.control.remove( removedControl.id );
+                                                       removedControl.container.remove();
+                                               }
+
+                                               // Move widget to inactive widgets sidebar (move it to trash) if has been previously saved
+                                               // This prevents the inactive widgets sidebar from overflowing with throwaway widgets
+                                               if ( api.Widgets.savedWidgetIds[removedWidgetId] ) {
+                                                       inactiveWidgets = api.value( 'sidebars_widgets[wp_inactive_widgets]' )().slice();
+                                                       inactiveWidgets.push( removedWidgetId );
+                                                       api.value( 'sidebars_widgets[wp_inactive_widgets]' )( _( inactiveWidgets ).unique() );
+                                               }
+
+                                               // Make old single widget available for adding again
+                                               removedIdBase = parseWidgetId( removedWidgetId ).id_base;
+                                               widget = api.Widgets.availableWidgets.findWhere( { id_base: removedIdBase } );
+                                               if ( widget && ! widget.get( 'is_multi' ) ) {
+                                                       widget.set( 'is_disabled', false );
+                                               }
+                                       } );
+
+                               } );
+                       } );
+
+                       // Update the model with whether or not the sidebar is rendered
+                       api.Widgets.Previewer.bind( 'rendered-sidebars', function( renderedSidebars ) {
+                               var isRendered = !! renderedSidebars[self.params.sidebar_id];
+
+                               registeredSidebar.set( 'is_rendered', isRendered );
+                       } );
+
+                       // Show the sidebar section when it becomes visible
+                       registeredSidebar.on( 'change:is_rendered', function( ) {
+                               var sectionSelector = '#accordion-section-sidebar-widgets-' + this.get( 'id' ), $section;
+
+                               $section = $( sectionSelector );
+                               if ( this.get( 'is_rendered' ) ) {
+                                       $section.stop().slideDown( function() {
+                                               $( this ).css( 'height', 'auto' ); // so that the .accordion-section-content won't overflow
+                                       } );
+
+                               } else {
+                                       // Make sure that hidden sections get closed first
+                                       if ( $section.hasClass( 'open' ) ) {
+                                               // it would be nice if accordionSwitch() in accordion.js was public
+                                               $section.find( '.accordion-section-title' ).trigger( 'click' );
+                                       }
+
+                                       $section.stop().slideUp();
+                               }
+                       } );
+               },
+
+               /**
+                * Allow widgets in sidebar to be re-ordered, and for the order to be previewed
+                */
+               _setupSortable: function() {
+                       var self = this;
+
+                       this.isReordering = false;
+
+                       /**
+                        * Update widget order setting when controls are re-ordered
+                        */
+                       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 widgetContainerIds = self.$sectionContent.sortable( 'toArray' ), widgetIds;
+
+                                       widgetIds = $.map( widgetContainerIds, function( widgetContainerId ) {
+                                               return $( '#' + widgetContainerId ).find( ':input[name=widget-id]' ).val();
+                                       } );
+
+                                       self.setting( widgetIds );
+                               }
+                       } );
+
+                       /**
+                        * Expand other customizer sidebar section when dragging a control widget over it,
+                        * allowing the control to be dropped into another section
+                        */
+                       this.$controlSection.find( '.accordion-section-title' ).droppable({
+                               accept: '.customize-control-widget_form',
+                               over: function() {
+                                       if ( ! self.$controlSection.hasClass( 'open' ) ) {
+                                               self.$controlSection.addClass( 'open' );
+                                               self.$sectionContent.toggle( false ).slideToggle( 150, function() {
+                                                       self.$sectionContent.sortable( 'refreshPositions' );
+                                               } );
+                                       }
+                               }
+                       });
+
+                       /**
+                        * Keyboard-accessible reordering
+                        */
+                       this.container.find( '.reorder-toggle' ).on( 'click keydown', function( event ) {
+                               if ( event.type === 'keydown' && ! ( event.which === 13 || event.which === 32 ) ) { // Enter or Spacebar
+                                       return;
+                               }
+
+                               self.toggleReordering( ! self.isReordering );
+                       } );
+               },
+
+               /**
+                * Set up UI for adding a new widget
+                */
+               _setupAddition: function() {
+                       var self = this;
+
+                       this.container.find( '.add-new-widget' ).on( 'click keydown', function( event ) {
+                               if ( event.type === 'keydown' && ! ( event.which === 13 || event.which === 32 ) ) { // Enter or Spacebar
+                                       return;
+                               }
+
+                               if ( self.$sectionContent.hasClass( 'reordering' ) ) {
+                                       return;
+                               }
+
+                               if ( ! $( 'body' ).hasClass( 'adding-widget' ) ) {
+                                       api.Widgets.availableWidgetsPanel.open( self );
+                               } else {
+                                       api.Widgets.availableWidgetsPanel.close();
+                               }
+                       } );
+               },
+
+               /**
+                * Add classes to the widget_form controls to assist with styling
+                */
+               _applyCardinalOrderClassNames: function() {
+                       this.$sectionContent.find( '.customize-control-widget_form' )
+                               .removeClass( 'first-widget' )
+                               .removeClass( 'last-widget' )
+                               .find( '.move-widget-down, .move-widget-up' ).prop( 'tabIndex', 0 );
+
+                       this.$sectionContent.find( '.customize-control-widget_form:first' )
+                               .addClass( 'first-widget' )
+                               .find( '.move-widget-up' ).prop( 'tabIndex', -1 );
+
+                       this.$sectionContent.find( '.customize-control-widget_form:last' )
+                               .addClass( 'last-widget' )
+                               .find( '.move-widget-down' ).prop( 'tabIndex', -1 );
+               },
+
+
+               /***********************************************************************
+                * Begin public API methods
+                **********************************************************************/
+
+               /**
+                * Enable/disable the reordering UI
+                *
+                * @param {Boolean} showOrHide to enable/disable reordering
+                */
+               toggleReordering: function( showOrHide ) {
+                       showOrHide = Boolean( showOrHide );
+
+                       if ( showOrHide === this.$sectionContent.hasClass( 'reordering' ) ) {
+                               return;
+                       }
+
+                       this.isReordering = showOrHide;
+                       this.$sectionContent.toggleClass( 'reordering', showOrHide );
+
+                       if ( showOrHide ) {
+                               _( this.getWidgetFormControls() ).each( function( formControl ) {
+                                       formControl.collapseForm();
+                               } );
+                       }
+               },
+
+               /**
+                * @return {wp.customize.controlConstructor.widget_form[]}
+                */
+               getWidgetFormControls: function() {
+                       var formControls;
+
+                       formControls = _( this.setting() ).map( function( widgetId ) {
+                               var settingId = widgetIdToSettingId( widgetId ),
+                                       formControl = api.control( settingId );
+
+                               if ( ! formControl ) {
+                                       return;
+                               }
+
+                               return formControl;
+                       } );
+
+                       return formControls;
+               },
+
+               /**
+                * @param {string} widgetId or an id_base for adding a previously non-existing widget
+                * @returns {object|false} widget_form control instance, or false on error
+                */
+               addWidget: function( widgetId ) {
+                       var self = this, controlHtml, $widget, controlType = 'widget_form', $control, controlConstructor,
+                               parsedWidgetId = parseWidgetId( widgetId ),
+                               widgetNumber = parsedWidgetId.number,
+                               widgetIdBase = parsedWidgetId.id_base,
+                               widget = api.Widgets.availableWidgets.findWhere( {id_base: widgetIdBase} ),
+                               settingId, isExistingWidget, widgetFormControl, sidebarWidgets, settingArgs;
+
+                       if ( ! widget ) {
+                               return false;
+                       }
+
+                       if ( widgetNumber && ! widget.get( 'is_multi' ) ) {
+                               return false;
+                       }
+
+                       // Set up new multi widget
+                       if ( widget.get( 'is_multi' ) && ! widgetNumber ) {
+                               widget.set( 'multi_number', widget.get( 'multi_number' ) + 1 );
+                               widgetNumber = widget.get( 'multi_number' );
+                       }
+
+                       controlHtml = $.trim( $( '#widget-tpl-' + widget.get( 'id' ) ).html() );
+                       if ( widget.get( 'is_multi' ) ) {
+                               controlHtml = controlHtml.replace( /<[^<>]+>/g, function( m ) {
+                                       return m.replace( /__i__|%i%/g, widgetNumber );
+                               } );
+                       } else {
+                               widget.set( 'is_disabled', true ); // Prevent single widget from being added again now
+                       }
+
+                       $widget = $( controlHtml );
+
+                       $control = $( '<li/>' )
+                               .addClass( 'customize-control' )
+                               .addClass( 'customize-control-' + controlType )
+                               .append( $widget );
+
+                       // Remove icon which is visible inside the panel
+                       $control.find( '> .widget-icon' ).remove();
+
+                       if ( widget.get( 'is_multi' ) ) {
+                               $control.find( 'input[name="widget_number"]' ).val( widgetNumber );
+                               $control.find( 'input[name="multi_number"]' ).val( widgetNumber );
+                       }
+
+                       widgetId = $control.find( '[name="widget-id"]' ).val();
+
+                       $control.hide(); // to be slid-down below
+
+                       settingId = 'widget_' + widget.get( 'id_base' );
+                       if ( widget.get( 'is_multi' ) ) {
+                               settingId += '[' + widgetNumber + ']';
+                       }
+                       $control.attr( 'id', 'customize-control-' + settingId.replace( /\]/g, '' ).replace( /\[/g, '-' ) );
+
+                       this.container.after( $control );
+
+                       // Only create setting if it doesn't already exist (if we're adding a pre-existing inactive widget)
+                       isExistingWidget = api.has( settingId );
+                       if ( ! isExistingWidget ) {
+                               settingArgs = {
+                                       transport: 'refresh',
+                                       previewer: this.setting.previewer
+                               };
+                               api.create( settingId, settingId, {}, settingArgs );
+                       }
+
+                       controlConstructor = api.controlConstructor[controlType];
+                       widgetFormControl = new controlConstructor( settingId, {
+                               params: {
+                                       settings: {
+                                               'default': settingId
+                                       },
+                                       sidebar_id: self.params.sidebar_id,
+                                       widget_id: widgetId,
+                                       widget_id_base: widget.get( 'id_base' ),
+                                       type: controlType,
+                                       is_new: ! isExistingWidget,
+                                       width: widget.get( 'width' ),
+                                       height: widget.get( 'height' ),
+                                       is_wide: widget.get( 'is_wide' )
+                               },
+                               previewer: self.setting.previewer
+                       } );
+                       api.control.add( settingId, widgetFormControl );
+
+                       // Make sure widget is removed from the other sidebars
+                       api.each( function( otherSetting ) {
+                               if ( otherSetting.id === self.setting.id ) {
+                                       return;
+                               }
+
+                               if ( 0 !== otherSetting.id.indexOf( 'sidebars_widgets[' ) ) {
+                                       return;
+                               }
+
+                               var otherSidebarWidgets = otherSetting().slice(),
+                                       i = _.indexOf( otherSidebarWidgets, widgetId );
+
+                               if ( -1 !== i ) {
+                                       otherSidebarWidgets.splice( i );
+                                       otherSetting( otherSidebarWidgets );
+                               }
+                       } );
+
+                       // Add widget to this sidebar
+                       sidebarWidgets = this.setting().slice();
+                       if ( -1 === _.indexOf( sidebarWidgets, widgetId ) ) {
+                               sidebarWidgets.push( widgetId );
+                               this.setting( sidebarWidgets );
+                       }
+
+                       $control.slideDown( function() {
+                               if ( isExistingWidget ) {
+                                       widgetFormControl.expandForm();
+                                       widgetFormControl.updateWidget( {
+                                               instance: widgetFormControl.setting(),
+                                               complete: function( error ) {
+                                                       if ( error ) {
+                                                               throw error;
+                                                       }
+                                                       widgetFormControl.focus();
+                                               }
+                                       } );
+                               } else {
+                                       widgetFormControl.focus();
+                               }
+                       } );
+
+                       $( document ).trigger( 'widget-added', [ $widget ] );
+
+                       return widgetFormControl;
+               }
+       } );
+
+       /**
+        * Extends wp.customizer.controlConstructor with control constructor for
+        * widget_form and sidebar_widgets.
+        */
+       $.extend( api.controlConstructor, {
+               widget_form: api.Widgets.WidgetControl,
+               sidebar_widgets: api.Widgets.SidebarControl
+       });
+
+       /**
+        * Capture the instance of the Previewer since it is private
+        */
+       OldPreviewer = api.Previewer;
+       api.Previewer = OldPreviewer.extend({
+               initialize: function( params, options ) {
+                       api.Widgets.Previewer = this;
+                       OldPreviewer.prototype.initialize.call( this, params, options );
+                       this.bind( 'refresh', this.refresh );
+               }
+       } );
+
+       /**
+        * Init Customizer for widgets.
+        */
+       api.bind( 'ready', function() {
+               // Set up the widgets panel
+               api.Widgets.availableWidgetsPanel = new api.Widgets.AvailableWidgetsPanelView({
+                       collection: api.Widgets.availableWidgets
+               });
+
+               // Highlight widget control
+               api.Widgets.Previewer.bind( 'highlight-widget-control', api.Widgets.highlightWidgetFormControl );
+
+               // Open and focus widget control
+               api.Widgets.Previewer.bind( 'focus-widget-control', api.Widgets.focusWidgetFormControl );
+       } );
+
+       /**
+        * Highlight a widget control.
+        *
+        * @param {string} widgetId
+        */
+       api.Widgets.highlightWidgetFormControl = function( widgetId ) {
+               var control = api.Widgets.getWidgetFormControlForWidget( widgetId );
+
+               if ( control ) {
+                       control.highlightSectionAndControl();
+               }
+       },
+
+       /**
+        * Focus a widget control.
+        *
+        * @param {string} widgetId
+        */
+       api.Widgets.focusWidgetFormControl = function( widgetId ) {
+               var control = api.Widgets.getWidgetFormControlForWidget( widgetId );
+
+               if ( control ) {
+                       control.focus();
+               }
+       },
+
+       /**
+        * Given a widget control, find the sidebar widgets control that contains it.
+        * @param {string} widgetId
+        * @return {object|null}
+        */
+       api.Widgets.getSidebarWidgetControlContainingWidget = function( widgetId ) {
+               var foundControl = null;
+
+               // @todo this can use widgetIdToSettingId(), then pass into wp.customize.control( x ).getSidebarWidgetsControl()
+               api.control.each( function( control ) {
+                       if ( control.params.type === 'sidebar_widgets' && -1 !== _.indexOf( control.setting(), widgetId ) ) {
+                               foundControl = control;
+                       }
+               } );
+
+               return foundControl;
+       };
+
+       /**
+        * Given a widget ID for a widget appearing in the preview, get the widget form control associated with it.
+        *
+        * @param {string} widgetId
+        * @return {object|null}
+        */
+       api.Widgets.getWidgetFormControlForWidget = function( widgetId ) {
+               var foundControl = null;
+
+               // @todo We can just use widgetIdToSettingId() here
+               api.control.each( function( control ) {
+                       if ( control.params.type === 'widget_form' && control.params.widget_id === widgetId ) {
+                               foundControl = control;
+                       }
+               } );
+
+               return foundControl;
+       };
+
+       /**
+        * @param {String} widgetId
+        * @returns {Object}
+        */
+       function parseWidgetId( widgetId ) {
+               var matches, parsed = {
+                       number: null,
+                       id_base: null
+               };
+
+               matches = widgetId.match( /^(.+)-(\d+)$/ );
+               if ( matches ) {
+                       parsed.id_base = matches[1];
+                       parsed.number = parseInt( matches[2], 10 );
+               } else {
+                       // likely an old single widget
+                       parsed.id_base = widgetId;
+               }
+
+               return parsed;
+       }
+
+       /**
+        * @param {String} widgetId
+        * @returns {String} settingId
+        */
+       function widgetIdToSettingId( widgetId ) {
+               var parsed = parseWidgetId( widgetId ), settingId;
+
+               settingId = 'widget_' + parsed.id_base;
+               if ( parsed.number ) {
+                       settingId += '[' + parsed.number + ']';
+               }
+
+               return settingId;
+       }
+
+})( window.wp, jQuery );
diff --git a/wp-admin/js/customize-widgets.min.js b/wp-admin/js/customize-widgets.min.js
new file mode 100644 (file)
index 0000000..f282975
--- /dev/null
@@ -0,0 +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,g=a.customize;g.Widgets=g.Widgets||{},g.Widgets.data=_wpCustomizeWidgetsSettings||{},e=g.Widgets.data.l10n,delete g.Widgets.data.l10n,g.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}),g.Widgets.WidgetCollection=Backbone.Collection.extend({model:g.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))})}}),g.Widgets.availableWidgets=new g.Widgets.WidgetCollection(g.Widgets.data.availableWidgets),g.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}),g.Widgets.SidebarCollection=Backbone.Collection.extend({model:g.Widgets.SidebarModel}),g.Widgets.registeredSidebars=new g.Widgets.SidebarCollection(g.Widgets.data.registeredSidebars),g.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").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()}),g.Widgets.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;a||(a=this.selected),a&&this.currentSidebarControl&&(this.select(a),c=b(this.selected).data("widget-id"),d=this.collection.findWhere({id:c}),d&&(this.currentSidebarControl.addWidget(d.get("id_base")),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(""),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=null,h=this.$el.find("> .widget-tpl:visible:first"),i=this.$el.find("> .widget-tpl:visible:last"),j=b(a.target).is(this.$search);return e||f?(e?j?g=h:this.selected&&0!==this.selected.nextAll(".widget-tpl:visible").length&&(g=this.selected.nextAll(".widget-tpl:visible:first")):f&&(j?g=i:this.selected&&0!==this.selected.prevAll(".widget-tpl:visible").length&&(g=this.selected.prevAll(".widget-tpl:visible:first"))),this.select(g),void(g?g.focus():this.$search.focus())):void((!c||this.$search.val())&&(c?this.submit():d&&this.close({returnFocus:!0})))}}),g.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)}},g.Widgets.WidgetControl=g.Control.extend({ready:function(){this._setupModel(),this._setupWideWidget(),this._setupControlToggle(),this._setupWidgetTitle(),this._setupReorderUI(),this._setupHighlightEffects(),this._setupUpdateUI(),this._setupRemoveUI()},_setupModel:function(){var a,b=this;g.Widgets.savedWidgetIds=g.Widgets.savedWidgetIds||[],a=function(){g.Widgets.savedWidgetIds[b.params.widget_id]=!0},g.bind("ready",a),g.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,f,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}),f=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(){f(),d.on("scroll",f),b(window).on("resize",f),e.on("expanded collapsed",f)}),this.container.on("collapsed",function(){d.off("scroll",f),b(window).off("resize",f),e.off("expanded collapsed",f)}),g.each(function(a){0===a.id.indexOf("sidebars_widgets[")&&a.bind(function(){h.container.hasClass("expanded")&&f()})}))},_setupControlToggle:function(){var a,b=this;this.container.find(".widget-top").on("click",function(a){a.preventDefault();var c=b.getSidebarWidgetsControl();c.isReordering||b.toggleForm()}),a=this.container.find(".widget-control-close"),a.on("click",function(a){a.preventDefault(),b.collapseForm(),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 a,c,d,e,f=this;a=function(a){a.siblings(".selected").removeClass("selected"),a.addClass("selected");var b=a.data("id")===f.params.sidebar_id;f.container.find(".move-widget-btn").prop("disabled",b)},this.container.find(".widget-title-action").after(b(g.Widgets.data.tpl.widgetReorderNav)),c=b(_.template(g.Widgets.data.tpl.moveWidgetArea,{sidebars:_(g.Widgets.registeredSidebars.toArray()).pluck("attributes")})),this.container.find(".widget-top").after(c),e=function(){var d,e=c.find("li");d=e.filter(function(){return b(this).data("id")===f.params.sidebar_id}),e.each(function(){var c,e,f=b(this);c=f.data("id"),e=g.Widgets.registeredSidebars.get(c),f.toggle(e.get("is_rendered")),f.hasClass("selected")&&!e.get("is_rendered")&&a(d)})},e(),g.Widgets.registeredSidebars.on("change:is_rendered",e),d=this.container.find(".widget-reorder-nav"),d.find(".move-widget, .move-widget-down, .move-widget-up").on("click keypress",function(a){if("keypress"!==a.type||13===a.which||32===a.which)if(b(this).focus(),b(this).is(".move-widget"))f.toggleWidgetMoveArea();else{var c=b(this).is(".move-widget-down"),d=b(this).is(".move-widget-up"),e=f.getWidgetSidebarPosition();if(d&&0===e||c&&e===f.getSidebarWidgetsControl().setting().length-1)return;d?f.moveUp():f.moveDown(),b(this).focus()}}),this.container.find(".widget-area-select").on("click keypress","li",function(c){("keypress"!==event.type||13===event.which||32===event.which)&&(c.preventDefault(),a(b(this)))}),this.container.find(".move-widget-btn").click(function(){f.getSidebarWidgetsControl().toggleReordering(!1);var a,b,c,d,e,h=f.params.sidebar_id,i=f.container.find(".widget-area-select li.selected").data("id");a=g("sidebars_widgets["+h+"]"),b=g("sidebars_widgets["+i+"]"),c=Array.prototype.slice.call(a()),d=Array.prototype.slice.call(b()),e=f.getWidgetSidebarPosition(),c.splice(e,1),d.push(f.params.widget_id),a(c),b(d),f.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,f,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})}),f=_.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()&&f())}),this.setting.previewer.channel.bind("synced",function(){i.container.removeClass("previewer-loading")}),g.Widgets.Previewer.bind("widget-updated",function(a){a===i.params.widget_id&&i.container.removeClass("previewer-loading")}),g.Widgets.Previewer.bind("rendered-widgets",function(a){var b=!!a[i.params.widget_id];i.container.toggleClass("widget-rendered",b)}),h=g.Widgets.formSyncHandlers[this.params.widget_id_base],h&&b(document).on("widget-synced",function(b,c){a.is(c)&&h.apply(document,arguments)})},_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=g.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?g.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(";")},_getInputStatePropertyName:function(a){var c=b(a);return c.is(":radio, :checkbox")?"checked":"value"},getSidebarWidgetsControl:function(){var a,b;return a="sidebars_widgets["+this.params.sidebar_id+"]",(b=g.control(a))?b:void 0},updateWidget:function(c){var d,f,h,i,j,k,l,m,n,o,p,q=this;c=b.extend({instance:null,complete:null,ignoreActiveElement:!1},c),d=c.instance,f=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=g.state("processing"),n(n()+1),this.liveUpdateMode||this.container.addClass("widget-form-disabled"),k={},k.action="update-widget",k.wp_customize="on",k.nonce=g.Widgets.data.nonce,k.theme=g.settings.theme.stylesheet,l=b.param(k),m=this._getInputs(i),m.each(function(){var a=b(this),c=q._getInputStatePropertyName(this);a.data("state"+j,a.prop(c))}),l+=d?"&"+b.param({sanitized_widget_setting:JSON.stringify(d)}):"&"+m.serialize(),l+="&"+i.find("~ :input").serialize(),o=b.post(a.ajax.settings.url,l),o.done(function(a){var d,k,l,n,o=!1;return"0"===a?(g.Widgets.Previewer.preview.iframe.hide(),void g.Widgets.Previewer.login().done(function(){q.updateWidget(c),g.Widgets.Previewer.preview.iframe.show()})):"-1"===a?void g.Widgets.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]),i=q._getInputStatePropertyName(this);d=g.data("state"+j),e=h.prop(i),g.data("sanitized",e),f=d!==e&&(c.ignoreActiveElement||!g.is(document.activeElement)),f&&g.prop(i,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"),f&&f.call(q,null,{noChange:!p,ajaxFinished:!0})):(d=e.error,a.data&&a.data.message&&(d=a.data.message),f?f.call(q,d):i.prepend('<p class="widget-error"><strong>'+d+"</strong></p>")))}),o.fail(function(a,b){f&&f.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(){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(a){var b,c,d,e=this;b=this.container.find("div.widget:first"),c=b.find(".widget-inside:first"),"undefined"==typeof a&&(a=!c.is(":visible")),c.is(":visible")!==a&&(a?(g.control.each(function(a){e.params.type===a.params.type&&e!==a&&a.collapseForm()}),d=function(){e.container.removeClass("expanding"),e.container.addClass("expanded"),e.container.trigger("expanded")},e.params.is_wide?c.fadeIn("fast",d):c.slideDown("fast",d),e.container.trigger("expand"),e.container.addClass("expanding")):(d=function(){e.container.removeClass("collapsing"),e.container.removeClass("expanded"),e.container.trigger("collapsed")},e.container.trigger("collapse"),e.container.addClass("collapsing"),e.params.is_wide?c.fadeOut("fast",d):c.slideUp("fast",function(){b.css({width:"",margin:""}),d()})))},focus:function(){this.expandControlSection(),this.expandForm(),this.container.find(".widget-content :focusable:first").focus()},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)}}),g.Widgets.SidebarControl=g.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,d=g.Widgets.registeredSidebars.get(this.params.sidebar_id);this.setting.bind(function(d,e){var f,h,i,j;j=_(e).difference(d),d=_(d).filter(function(a){var b=c(a);return!!g.Widgets.availableWidgets.findWhere({id_base:b.id_base})}),f=_(d).map(function(b){var c=g.Widgets.getWidgetFormControlForWidget(b);return c||(c=a.addWidget(b)),c}),f.sort(function(a,b){var c=_.indexOf(d,a.params.widget_id),e=_.indexOf(d,b.params.widget_id);return c===e?0:e>c?-1:1}),i=_(f).map(function(a){return a.container[0]}),h=a.$sectionContent.find(".customize-control-sidebar_widgets"),h.before(i),a._applyCardinalOrderClassNames(),_(f).each(function(b){b.params.sidebar_id=a.params.sidebar_id}),_(j).each(function(d){setTimeout(function(){var e,f,h,i,j,k=!1;g.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=g.Widgets.getWidgetFormControlForWidget(d),f=e&&b.contains(document,e.container[0])&&!b.contains(a.$sectionContent[0],e.container[0]),e&&!f&&(g.control.remove(e.id),e.container.remove()),g.Widgets.savedWidgetIds[d]&&(h=g.value("sidebars_widgets[wp_inactive_widgets]")().slice(),h.push(d),g.value("sidebars_widgets[wp_inactive_widgets]")(_(h).unique())),i=c(d).id_base,j=g.Widgets.availableWidgets.findWhere({id_base:i}),j&&!j.get("is_multi")&&j.set("is_disabled",!1))})})}),g.Widgets.Previewer.bind("rendered-sidebars",function(b){var c=!!b[a.params.sidebar_id];d.set("is_rendered",c)}),d.on("change:is_rendered",function(){var a,c="#accordion-section-sidebar-widgets-"+this.get("id");a=b(c),this.get("is_rendered")?a.stop().slideDown(function(){b(this).css("height","auto")}):(a.hasClass("open")&&a.find(".accordion-section-title").trigger("click"),a.stop().slideUp())})},_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(){a.$controlSection.hasClass("open")||(a.$controlSection.addClass("open"),a.$sectionContent.toggle(!1).slideToggle(150,function(){a.$sectionContent.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")?g.Widgets.availableWidgetsPanel.close():g.Widgets.availableWidgetsPanel.open(a)))})},_applyCardinalOrderClassNames:function(){this.$sectionContent.find(".customize-control-widget_form").removeClass("first-widget").removeClass("last-widget").find(".move-widget-down, .move-widget-up").prop("tabIndex",0),this.$sectionContent.find(".customize-control-widget_form:first").addClass("first-widget").find(".move-widget-up").prop("tabIndex",-1),this.$sectionContent.find(".customize-control-widget_form:last").addClass("last-widget").find(".move-widget-down").prop("tabIndex",-1)},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.collapseForm()}))},getWidgetFormControls:function(){var a;return a=_(this.setting()).map(function(a){var b=d(a),c=g.control(b);if(c)return c})},addWidget:function(a){var d,e,f,h,i,j,k,l,m,n=this,o="widget_form",p=c(a),q=p.number,r=p.id_base,s=g.Widgets.availableWidgets.findWhere({id_base:r});return s?q&&!s.get("is_multi")?!1:(s.get("is_multi")&&!q&&(s.set("multi_number",s.get("multi_number")+1),q=s.get("multi_number")),d=b.trim(b("#widget-tpl-"+s.get("id")).html()),s.get("is_multi")?d=d.replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,q)}):s.set("is_disabled",!0),e=b(d),f=b("<li/>").addClass("customize-control").addClass("customize-control-"+o).append(e),f.find("> .widget-icon").remove(),s.get("is_multi")&&(f.find('input[name="widget_number"]').val(q),f.find('input[name="multi_number"]').val(q)),a=f.find('[name="widget-id"]').val(),f.hide(),i="widget_"+s.get("id_base"),s.get("is_multi")&&(i+="["+q+"]"),f.attr("id","customize-control-"+i.replace(/\]/g,"").replace(/\[/g,"-")),this.container.after(f),j=g.has(i),j||(m={transport:"refresh",previewer:this.setting.previewer},g.create(i,i,{},m)),h=g.controlConstructor[o],k=new h(i,{params:{settings:{"default":i},sidebar_id:n.params.sidebar_id,widget_id:a,widget_id_base:s.get("id_base"),type:o,is_new:!j,width:s.get("width"),height:s.get("height"),is_wide:s.get("is_wide")},previewer:n.setting.previewer}),g.control.add(i,k),g.each(function(b){if(b.id!==n.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)),f.slideDown(function(){j?(k.expandForm(),k.updateWidget({instance:k.setting(),complete:function(a){if(a)throw a;k.focus()}})):k.focus()}),b(document).trigger("widget-added",[e]),k):!1}}),b.extend(g.controlConstructor,{widget_form:g.Widgets.WidgetControl,sidebar_widgets:g.Widgets.SidebarControl}),f=g.Previewer,g.Previewer=f.extend({initialize:function(a,b){g.Widgets.Previewer=this,f.prototype.initialize.call(this,a,b),this.bind("refresh",this.refresh)}}),g.bind("ready",function(){g.Widgets.availableWidgetsPanel=new g.Widgets.AvailableWidgetsPanelView({collection:g.Widgets.availableWidgets}),g.Widgets.Previewer.bind("highlight-widget-control",g.Widgets.highlightWidgetFormControl),g.Widgets.Previewer.bind("focus-widget-control",g.Widgets.focusWidgetFormControl)}),g.Widgets.highlightWidgetFormControl=function(a){var b=g.Widgets.getWidgetFormControlForWidget(a);b&&b.highlightSectionAndControl()},g.Widgets.focusWidgetFormControl=function(a){var b=g.Widgets.getWidgetFormControlForWidget(a);b&&b.focus()},g.Widgets.getSidebarWidgetControlContainingWidget=function(a){var b=null;return g.control.each(function(c){"sidebar_widgets"===c.params.type&&-1!==_.indexOf(c.setting(),a)&&(b=c)}),b},g.Widgets.getWidgetFormControlForWidget=function(a){var b=null;return g.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 4d4eb50d0ca031ccc0fb97f2f3f5d3da8c7faf3f..1029b0d0962949d4ad27ab5d4a872405032e7766 100644 (file)
@@ -123,13 +123,11 @@ jQuery(document).ready( function($) {
 
        $( '.meta-box-sortables' ).sortable( 'option', 'containment', 'document' );
 
-       // Activity Widget
-       $( '.show-more a' ).on( 'click', function(e) {
-               $( this ).fadeOut().closest('.activity-block').find( 'li.hidden' ).fadeIn().removeClass( 'hidden' );
-               e.preventDefault();
-       });
-
        function autoResizeTextarea() {
+               if ( document.documentMode && document.documentMode < 9 ) {
+                       return;
+               }
+
                // Add a hidden div. We'll copy over the text from the textarea to measure its height.
                $('body').append( '<div class="quick-draft-textarea-clone" style="display: none;"></div>' );
 
@@ -179,8 +177,8 @@ jQuery(document).ready( function($) {
                                editorHeight = cloneHeight;
                        }
 
-                       // No scrollbars as we change height
-                       editor.css('overflow-y', 'hidden');
+                       // No scrollbars as we change height, not for IE < 9
+                       editor.css('overflow', 'hidden');
 
                        $this.css('height', editorHeight + 'px');
                });
index 4e1ce67a5bf9438dc95382fc77f34fac07139b3b..972afd7eace9b1f242ae25ca585c4f323bf28935 100644 (file)
@@ -1 +1 @@
-var ajaxWidgets,ajaxPopulateWidgets,quickPressLoad;jQuery(document).ready(function(a){function b(){a("body").append('<div class="quick-draft-textarea-clone" style="display: none;"></div>');var b=a(".quick-draft-textarea-clone"),c=a("#content"),d=c.height(),e=a(window).height()-100;b.css({"font-family":c.css("font-family"),"font-size":c.css("font-size"),"line-height":c.css("line-height"),"padding-bottom":c.css("paddingBottom"),"padding-left":c.css("paddingLeft"),"padding-right":c.css("paddingRight"),"padding-top":c.css("paddingTop"),"white-space":"pre-wrap","word-wrap":"break-word",display:"none"}),c.on("focus input propertychange",function(){var f=a(this),g=f.val()+"&nbsp;",h=b.css("width",f.css("width")).text(g).outerHeight()+2;c.css("overflow-y","auto"),h===d||h>=e&&d>=e||(d=h>e?e:h,c.css("overflow-y","hidden"),f.css("height",d+"px"))})}var c,d=a("#welcome-panel"),e=a("#wp_welcome_panel-hide");c=function(b){a.post(ajaxurl,{action:"update-welcome-panel",visible:b,welcomepanelnonce:a("#welcomepanelnonce").val()})},d.hasClass("hidden")&&e.prop("checked")&&d.removeClass("hidden"),a(".welcome-panel-close, .welcome-panel-dismiss a",d).click(function(b){b.preventDefault(),d.addClass("hidden"),c(0),a("#wp_welcome_panel-hide").prop("checked",!1)}),e.click(function(){d.toggleClass("hidden",!this.checked),c(this.checked?1:0)}),ajaxWidgets=["dashboard_primary"],ajaxPopulateWidgets=function(b){function c(b,c){var d,e=a("#"+c+" div.inside:visible").find(".widget-loading");e.length&&(d=e.parent(),setTimeout(function(){d.load(ajaxurl+"?action=dashboard-widgets&widget="+c+"&pagenow="+pagenow,"",function(){d.hide().slideDown("normal",function(){a(this).css("display","")})})},500*b))}b?(b=b.toString(),-1!==a.inArray(b,ajaxWidgets)&&c(0,b)):a.each(ajaxWidgets,c)},ajaxPopulateWidgets(),postboxes.add_postbox_toggles(pagenow,{pbshow:ajaxPopulateWidgets}),quickPressLoad=function(){var c,d=a("#quickpost-action");c=a("#quick-press").submit(function(){function b(){var b=a(".drafts ul li").first();b.css("background","#fffbe5"),setTimeout(function(){b.css("background","none")},1e3)}return a("#dashboard_quick_press #publishing-action .spinner").show(),a('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop("disabled",!0),a.post(c.attr("action"),c.serializeArray(),function(c){a("#dashboard_quick_press .inside").html(c),a("#quick-press").removeClass("initial-form"),quickPressLoad(),b(),a("#title").focus()}),!1}),a("#publish").click(function(){d.val("post-quickpress-publish")}),a("#title, #tags-input, #content").each(function(){var b=a(this),c=a("#"+this.id+"-prompt-text");""===this.value&&c.removeClass("screen-reader-text"),c.click(function(){a(this).addClass("screen-reader-text"),b.focus()}),b.blur(function(){""===this.value&&c.removeClass("screen-reader-text")}),b.focus(function(){c.addClass("screen-reader-text")})}),a("#quick-press").on("click focusin",function(){wpActiveEditor="content"}),b()},quickPressLoad(),a(".meta-box-sortables").sortable("option","containment","document"),a(".show-more a").on("click",function(b){a(this).fadeOut().closest(".activity-block").find("li.hidden").fadeIn().removeClass("hidden"),b.preventDefault()})});
\ No newline at end of file
+var ajaxWidgets,ajaxPopulateWidgets,quickPressLoad;jQuery(document).ready(function(a){function b(){if(!(document.documentMode&&document.documentMode<9)){a("body").append('<div class="quick-draft-textarea-clone" style="display: none;"></div>');var b=a(".quick-draft-textarea-clone"),c=a("#content"),d=c.height(),e=a(window).height()-100;b.css({"font-family":c.css("font-family"),"font-size":c.css("font-size"),"line-height":c.css("line-height"),"padding-bottom":c.css("paddingBottom"),"padding-left":c.css("paddingLeft"),"padding-right":c.css("paddingRight"),"padding-top":c.css("paddingTop"),"white-space":"pre-wrap","word-wrap":"break-word",display:"none"}),c.on("focus input propertychange",function(){var f=a(this),g=f.val()+"&nbsp;",h=b.css("width",f.css("width")).text(g).outerHeight()+2;c.css("overflow-y","auto"),h===d||h>=e&&d>=e||(d=h>e?e:h,c.css("overflow","hidden"),f.css("height",d+"px"))})}}var c,d=a("#welcome-panel"),e=a("#wp_welcome_panel-hide");c=function(b){a.post(ajaxurl,{action:"update-welcome-panel",visible:b,welcomepanelnonce:a("#welcomepanelnonce").val()})},d.hasClass("hidden")&&e.prop("checked")&&d.removeClass("hidden"),a(".welcome-panel-close, .welcome-panel-dismiss a",d).click(function(b){b.preventDefault(),d.addClass("hidden"),c(0),a("#wp_welcome_panel-hide").prop("checked",!1)}),e.click(function(){d.toggleClass("hidden",!this.checked),c(this.checked?1:0)}),ajaxWidgets=["dashboard_primary"],ajaxPopulateWidgets=function(b){function c(b,c){var d,e=a("#"+c+" div.inside:visible").find(".widget-loading");e.length&&(d=e.parent(),setTimeout(function(){d.load(ajaxurl+"?action=dashboard-widgets&widget="+c+"&pagenow="+pagenow,"",function(){d.hide().slideDown("normal",function(){a(this).css("display","")})})},500*b))}b?(b=b.toString(),-1!==a.inArray(b,ajaxWidgets)&&c(0,b)):a.each(ajaxWidgets,c)},ajaxPopulateWidgets(),postboxes.add_postbox_toggles(pagenow,{pbshow:ajaxPopulateWidgets}),quickPressLoad=function(){var c,d=a("#quickpost-action");c=a("#quick-press").submit(function(){function b(){var b=a(".drafts ul li").first();b.css("background","#fffbe5"),setTimeout(function(){b.css("background","none")},1e3)}return a("#dashboard_quick_press #publishing-action .spinner").show(),a('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop("disabled",!0),a.post(c.attr("action"),c.serializeArray(),function(c){a("#dashboard_quick_press .inside").html(c),a("#quick-press").removeClass("initial-form"),quickPressLoad(),b(),a("#title").focus()}),!1}),a("#publish").click(function(){d.val("post-quickpress-publish")}),a("#title, #tags-input, #content").each(function(){var b=a(this),c=a("#"+this.id+"-prompt-text");""===this.value&&c.removeClass("screen-reader-text"),c.click(function(){a(this).addClass("screen-reader-text"),b.focus()}),b.blur(function(){""===this.value&&c.removeClass("screen-reader-text")}),b.focus(function(){c.addClass("screen-reader-text")})}),a("#quick-press").on("click focusin",function(){wpActiveEditor="content"}),b()},quickPressLoad(),a(".meta-box-sortables").sortable("option","containment","document")});
\ No newline at end of file
index 97415012eb8410c597a3ae4b97d806859928e4c7..ff149e19dcca6e58c885a423216b245a94f82e52 100644 (file)
@@ -1,9 +1,8 @@
 /* global adminCommentsL10n, thousandsSeparator, list_args, QTags, ajaxurl, wpAjax */
-var setCommentsList, theList, theExtraList, commentReply,
-       toggleWithKeyboard = false;
+var setCommentsList, theList, theExtraList, commentReply;
 
 (function($) {
-var getCount, updateCount, updatePending, dashboardTotals;
+var getCount, updateCount, updatePending;
 
 setCommentsList = function() {
        var totalInput, perPageInput, pageInput, dimAfter, delBefore, updateTotalCount, delAfter, refillTheExtraList, diff,
@@ -80,7 +79,7 @@ setCommentsList = function() {
                        a.attr('href', 'comment.php?action=un' + action + 'comment&c=' + id + '&_wpnonce=' + settings.data._ajax_nonce);
                        a.attr('data-wp-lists', 'delete:the-comment-list:comment-' + id + '::un' + action + '=1');
                        a.attr('class', 'vim-z vim-destructive');
-                       $('.avatar', el).clone().prependTo('#undo-' + id + ' .' + action + '-undo-inside');
+                       $('.avatar', el).first().clone().prependTo('#undo-' + id + ' .' + action + '-undo-inside');
 
                        a.click(function(){
                                list.wpList.del(this);
@@ -106,24 +105,6 @@ setCommentsList = function() {
                totalInput.val( total.toString() );
        };
 
-       dashboardTotals = function(n) {
-               var total, appr, totalN, apprN,
-                       dash = $('#dashboard_right_now');
-
-               n = n || 0;
-               if ( isNaN(n) || !dash.length )
-                       return;
-
-               total = $('span.total-count', dash);
-               appr = $('span.approved-count', dash);
-               totalN = getCount(total);
-
-               totalN = totalN + n;
-               apprN = totalN - getCount( $('span.pending-count', dash) ) - getCount( $('span.spam-count', dash) );
-               updateCount(total, totalN);
-               updateCount(appr, apprN);
-       };
-
        getCount = function(el) {
                var n = parseInt( el.html().replace(/[^0-9]+/g, ''), 10 );
                if ( isNaN(n) )
@@ -154,13 +135,11 @@ setCommentsList = function() {
                        a.closest('.awaiting-mod')[ 0 === n ? 'addClass' : 'removeClass' ]('count-0');
                        updateCount( a, n );
                });
-
-               dashboardTotals();
        };
 
        // In admin-ajax.php, we send back the unix time stamp instead of 1 on success
        delAfter = function( r, settings ) {
-               var total_items_i18n, total, N, spam, trash, pending,
+               var total_items_i18n, total, spam, trash, pending,
                        untrash = $(settings.target).parent().is('span.untrash'),
                        unspam = $(settings.target).parent().is('span.unspam'),
                        unapproved = $('#' + settings.element).is('.unapproved');
@@ -206,10 +185,7 @@ setCommentsList = function() {
                        updateCount(a, n);
                });
 
-               if ( $('#dashboard_right_now').length ) {
-                       N = trash ? -1 * trash : 0;
-                       dashboardTotals(N);
-               } else {
+               if ( ! $('#dashboard_right_now').length ) {
                        total = totalInput.val() ? parseInt( totalInput.val(), 10 ) : 0;
                        if ( $(settings.target).parent().is('span.undo') )
                                total++;
@@ -594,9 +570,7 @@ $(document).ready(function(){
                };
 
                toggle_all = function() {
-                       toggleWithKeyboard = true;
-                       $('input:checkbox', '#cb').click().prop('checked', false);
-                       toggleWithKeyboard = false;
+                       $('#cb-select-all-1').data( 'wp-toggle', 1 ).trigger( 'click' ).removeData( 'wp-toggle' );
                };
 
                make_bulk = function(value) {
@@ -609,12 +583,28 @@ $(document).ready(function(){
 
                $.table_hotkeys(
                        $('table.widefat'),
-                       ['a', 'u', 's', 'd', 'r', 'q', 'z', ['e', edit_comment], ['shift+x', toggle_all],
-                       ['shift+a', make_bulk('approve')], ['shift+s', make_bulk('spam')],
-                       ['shift+d', make_bulk('delete')], ['shift+t', make_bulk('trash')],
-                       ['shift+z', make_bulk('untrash')], ['shift+u', make_bulk('unapprove')]],
-                       { highlight_first: adminCommentsL10n.hotkeys_highlight_first, highlight_last: adminCommentsL10n.hotkeys_highlight_last,
-                       prev_page_link_cb: make_hotkeys_redirect('prev'), next_page_link_cb: make_hotkeys_redirect('next') }
+                       [
+                               'a', 'u', 's', 'd', 'r', 'q', 'z',
+                               ['e', edit_comment],
+                               ['shift+x', toggle_all],
+                               ['shift+a', make_bulk('approve')],
+                               ['shift+s', make_bulk('spam')],
+                               ['shift+d', make_bulk('delete')],
+                               ['shift+t', make_bulk('trash')],
+                               ['shift+z', make_bulk('untrash')],
+                               ['shift+u', make_bulk('unapprove')]
+                       ],
+                       {
+                               highlight_first: adminCommentsL10n.hotkeys_highlight_first,
+                               highlight_last: adminCommentsL10n.hotkeys_highlight_last,
+                               prev_page_link_cb: make_hotkeys_redirect('prev'),
+                               next_page_link_cb: make_hotkeys_redirect('next'),
+                               hotkeys_opts: {
+                                       disableInInput: true,
+                                       type: 'keypress',
+                                       noDisable: '.check-column input[type="checkbox"]'
+                               }
+                       }
                );
        }
 });
index 2f93c6337c9c5726e43450c05c7aff15630b29cd..107c3c5618974642f7e977b542624dc3db0e7bc1 100644 (file)
@@ -1 +1 @@
-var setCommentsList,theList,theExtraList,commentReply,toggleWithKeyboard=!1;!function(a){var b,c,d,e;setCommentsList=function(){var f,g,h,i,j,k,l,m,n,o=0;f=a('input[name="_total"]',"#comments-form"),g=a('input[name="_per_page"]',"#comments-form"),h=a('input[name="_page"]',"#comments-form"),i=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")),n=a("#"+c.element).is("."+c.dimClass)?1:-1,d(n)},j=function(b,c){var d,e,i,j,k,l,m,n=!1,o=a(b.target).attr("data-wp-lists");return b.data._total=f.val()||0,b.data._per_page=g.val()||0,b.data._page=h.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&&(e=o.replace(/.*?comment-([0-9]+).*/,"$1"),i=a("#comment-"+e),d=a("#"+n+"-undo-holder").html(),i.find(".check-column :checkbox").prop("checked",!1),i.siblings("#replyrow").length&&commentReply.cid==e&&commentReply.close(),i.is("tr")?(j=i.children(":visible").length,m=a(".author strong",i).text(),k=a('<tr id="undo-'+e+'" class="undo un'+n+'" style="display:none;"><td colspan="'+j+'">'+d+"</td></tr>")):(m=a(".comment-author",i).text(),k=a('<div id="undo-'+e+'" style="display:none;" class="undo un'+n+'">'+d+"</div>")),i.before(k),a("strong","#undo-"+e).text(m),l=a(".undo a","#undo-"+e),l.attr("href","comment.php?action=un"+n+"comment&c="+e+"&_wpnonce="+b.data._ajax_nonce),l.attr("data-wp-lists","delete:the-comment-list:comment-"+e+"::un"+n+"=1"),l.attr("class","vim-z vim-destructive"),a(".avatar",i).clone().prependTo("#undo-"+e+" ."+n+"-undo-inside"),l.click(function(){return c.wpList.del(this),a("#undo-"+e).css({backgroundColor:"#ceb"}).fadeOut(350,function(){a(this).remove(),a("#comment-"+e).css("backgroundColor","").fadeIn(300,function(){a(this).show()})}),!1})),b},k=function(a,b,c){o>b||(c&&(o=b),f.val(a.toString()))},e=function(d){var e,f,g,h,i=a("#dashboard_right_now");d=d||0,!isNaN(d)&&i.length&&(e=a("span.total-count",i),f=a("span.approved-count",i),g=b(e),g+=d,h=g-b(a("span.pending-count",i))-b(a("span.spam-count",i)),c(e,g),c(f,h))},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)}),e()},l=function(g,h){function i(b){return a(h.target).parent().is("span."+b)?1:a("#"+h.element).is("."+b)?-1:0}var j,l,n,p,q,r,s=a(h.target).parent().is("span.untrash"),t=a(h.target).parent().is("span.unspam"),u=a("#"+h.element).is(".unapproved");q=s?-1:i("trash"),p=t?-1:i("spam"),a(h.target).parent().is("span.unapprove")||(s||t)&&u?r=1:u&&(r=-1),r&&d(r),a("span.spam-count").each(function(){var d=a(this),e=b(d)+p;c(d,e)}),a("span.trash-count").each(function(){var d=a(this),e=b(d)+q;c(d,e)}),a("#dashboard_right_now").length?(n=q?-1*q:0,e(n)):(l=f.val()?parseInt(f.val(),10):0,a(h.target).parent().is("span.undo")?l++:l--,0>l&&(l=0),"object"==typeof g&&o<h.parsed.responses[0].supplemental.time?(j=h.parsed.responses[0].supplemental.total_items_i18n||"",j&&(a(".displaying-num").text(j),a(".total-pages").text(h.parsed.responses[0].supplemental.total_pages_i18n),a(".tablenav-pages").find(".next-page, .last-page").toggleClass("disabled",h.parsed.responses[0].supplemental.total_pages==a(".current-page").val())),k(l,h.parsed.responses[0].supplemental.time,!0)):k(l,g,!1)),!theExtraList||0===theExtraList.size()||0===theExtraList.children().size()||s||t||(theList.get(0).wpList.add(theExtraList.children(":eq(0)").remove().clone()),m())},m=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:j,dimAfter:i,delAfter:l,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).html("").hide(),a(".spinner",c).hide(),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),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").show(),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)?(h.animate({backgroundColor:"#CCEEBB"},400,function(){h.fadeOut()}),void 0):(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"),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")}),void 0)))},error:function(b){var c=b.statusText;a("#replysubmit .spinner").hide(),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(){toggleWithKeyboard=!0,a("input:checkbox","#cb").click().prop("checked",!1),toggleWithKeyboard=!1},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")}))})}(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(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).html("").hide(),a(".spinner",c).hide(),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").show(),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").hide(),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"]'}}))})}(jQuery);
\ No newline at end of file
index fff8b61bc1b96db4f9b85f9727e1a5cda9e59cee..e71871635590e32ab3df94f6487790411bd62c8f 100644 (file)
@@ -13,15 +13,15 @@ window.switchEditors = {
 
        // 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,
-                       dom = tinymce.DOM;
+               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 );
+               txtarea_el = DOM.get( id );
 
                if ( 'toggle' === mode ) {
                        if ( ed && ! ed.isHidden() ) {
@@ -31,6 +31,17 @@ window.switchEditors = {
                        }
                }
 
+               function getToolbarHeight() {
+                       var node = DOM.select( '.mce-toolbar-grp', ed.getContainer() )[0],
+                               height = node && node.clientHeight;
+
+                       if ( height && height > 10 && height < 200 ) {
+                               return parseInt( height, 10 );
+                       }
+
+                       return 30;
+               }
+
                if ( 'tmce' === mode || 'tinymce' === mode ) {
                        if ( ed && ! ed.isHidden() ) {
                                return false;
@@ -40,19 +51,30 @@ window.switchEditors = {
                                QTags.closeAllTags( id );
                        }
 
+                       editorHeight = txtarea_el ? parseInt( txtarea_el.style.height, 10 ) : 0;
+
                        if ( tinyMCEPreInit.mceInit[ id ] && tinyMCEPreInit.mceInit[ id ].wpautop ) {
                                txtarea_el.value = t.wpautop( txtarea_el.value );
                        }
 
                        if ( ed ) {
                                ed.show();
+
+                               if ( editorHeight ) {
+                                       toolbarHeight = getToolbarHeight();
+                                       editorHeight = editorHeight - toolbarHeight + 14;
+
+                                       // height cannot be under 50 or over 5000
+                                       if ( editorHeight > 50 && editorHeight < 5000 ) {
+                                               ed.theme.resizeTo( null, editorHeight );
+                                       }
+                               }
                        } else {
-                               ed = new tinymce.Editor( id, tinyMCEPreInit.mceInit[ id ] );
-                               ed.render();
+                               tinymce.init( tinyMCEPreInit.mceInit[id] );
                        }
 
-                       dom.removeClass( wrap_id, 'html-active' );
-                       dom.addClass( wrap_id, 'tmce-active' );
+                       DOM.removeClass( wrap_id, 'html-active' );
+                       DOM.addClass( wrap_id, 'tmce-active' );
                        setUserSetting( 'editor', 'tinymce' );
 
                } else if ( 'html' === mode ) {
@@ -62,6 +84,19 @@ window.switchEditors = {
                        }
 
                        if ( ed ) {
+                               iframe = DOM.get( id + '_ifr' );
+                               editorHeight = iframe ? parseInt( iframe.style.height, 10 ) : 0;
+
+                               if ( editorHeight ) {
+                                       toolbarHeight = getToolbarHeight();
+                                       editorHeight = editorHeight + toolbarHeight - 14;
+
+                                       // height cannot be under 50 or over 5000
+                                       if ( editorHeight > 50 && editorHeight < 5000 ) {
+                                               txtarea_el.style.height = editorHeight + 'px';
+                                       }
+                               }
+
                                ed.hide();
                        } else {
                                // The TinyMCE instance doesn't exist, run the content through 'pre_wpautop()' and show the textarea
@@ -69,11 +104,11 @@ window.switchEditors = {
                                        txtarea_el.value = t.pre_wpautop( txtarea_el.value );
                                }
 
-                               dom.setStyles( txtarea_el, {'display': '', 'visibility': ''} );
+                               DOM.setStyles( txtarea_el, {'display': '', 'visibility': ''} );
                        }
 
-                       dom.removeClass( wrap_id, 'tmce-active' );
-                       dom.addClass( wrap_id, 'html-active' );
+                       DOM.removeClass( wrap_id, 'tmce-active' );
+                       DOM.addClass( wrap_id, 'html-active' );
                        setUserSetting( 'editor', 'html' );
                }
                return false;
@@ -88,8 +123,9 @@ window.switchEditors = {
                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-temp-lb>' );
-                               return a.replace( /<\/?p( [^>]*)?>(\r\n|\n)?/g, '<wp-temp-lb>' );
+                               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>' );
                        });
                }
 
@@ -149,7 +185,7 @@ window.switchEditors = {
 
                // put back the line breaks in pre|script
                if ( preserve_linebreaks ) {
-                       content = content.replace( /<wp-temp-lb>/g, '\n' );
+                       content = content.replace( /<wp-line-break>/g, '\n' );
                }
 
                // and the <br> tags in captions
@@ -163,9 +199,9 @@ window.switchEditors = {
        _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|select' +
-                               '|option|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|legend|section' +
-                               '|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary';
+                       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|noscript|legend|section' +
+                               '|article|aside|hgroup|header|footer|nav|figure|details|menu|summary';
 
                if ( pee.indexOf( '<object' ) !== -1 ) {
                        pee = pee.replace( /<object[\s\S]+?<\/object>/g, function( a ) {
@@ -181,7 +217,7 @@ window.switchEditors = {
                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-temp-lb>' );
+                               return a.replace( /(\r\n|\n)/g, '<wp-line-break>' );
                        });
                }
 
@@ -230,7 +266,7 @@ window.switchEditors = {
 
                // put back the line breaks in pre|script
                if ( preserve_linebreaks ) {
-                       pee = pee.replace( /<wp-temp-lb>/g, '\n' );
+                       pee = pee.replace( /<wp-line-break>/g, '\n' );
                }
 
                if ( preserve_br ) {
index 4f627b3c3bacf65b93365f4ab388f2341bece404..9babf7bdf17dc4a8f977317ace451e95b3511b94 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){var c,d,e,f=this,g=tinymce.DOM;if(a=a||"content",b=b||"toggle",c=tinymce.get(a),d="wp-"+a+"-wrap",e=g.get(a),"toggle"===b&&(b=c&&!c.isHidden()?"html":"tmce"),"tmce"===b||"tinymce"===b){if(c&&!c.isHidden())return!1;"undefined"!=typeof QTags&&QTags.closeAllTags(a),tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(e.value=f.wpautop(e.value)),c?c.show():(c=new tinymce.Editor(a,tinyMCEPreInit.mceInit[a]),c.render()),g.removeClass(d,"html-active"),g.addClass(d,"tmce-active"),setUserSetting("editor","tinymce")}else if("html"===b){if(c&&c.isHidden())return!1;c?c.hide():(tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(e.value=f.pre_wpautop(e.value)),g.setStyles(e,{display:"",visibility:""})),g.removeClass(d,"tmce-active"),g.addClass(d,"html-active"),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-temp-lb>"),a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"<wp-temp-lb>")})),-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("<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-temp-lb>/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|select|option|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|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-temp-lb>")})),-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(/\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-temp-lb>/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
+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(),h&&(i=c(),h=h-i+14,h>50&&5e3>h&&d.theme.resizeTo(null,h))):tinymce.init(tinyMCEPreInit.mceInit[a]),k.removeClass(e,"html-active"),k.addClass(e,"tmce-active"),setUserSetting("editor","tinymce")}else if("html"===b){if(d&&d.isHidden())return!1;d?(g=k.get(a+"_ifr"),h=g?parseInt(g.style.height,10):0,h&&(i=c(),h=h+i-14,h>50&&5e3>h&&(f.style.height=h+"px")),d.hide()):(tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(f.value=j.pre_wpautop(f.value)),k.setStyles(f,{display:"",visibility:""})),k.removeClass(e,"tmce-active"),k.addClass(e,"html-active"),setUserSetting("editor","html")}return!1},_wp_Nop:function(a){var b,c,d=!1,e=!1;return(-1!==a.indexOf("<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("<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|noscript|legend|section|article|aside|hgroup|header|footer|nav|figure|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(/\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
index 323b040412b8d36cc30b83a623df8d37ff806c69..bcfc88a3efc89ebe08acb850e3f0fd8f486b52c9 100644 (file)
@@ -1 +1 @@
-jQuery(document).ready(function(a){var b,c,d,e,f,g=!1;c=function(){b=a("#media-items").sortable({items:"div.media-item",placeholder:"sorthelper",axis:"y",distance:2,handle:"div.filename",stop:function(){var b=a("#media-items").sortable("toArray"),c=b.length;a.each(b,function(b,d){var e=g?c-b:1+b;a("#"+d+" .menu_order input").val(e)})}})},d=function(){var b=a(".menu_order_input"),c=b.length;b.each(function(b){var d=g?c-b:1+b;a(this).val(d)})},e=function(b){b=b||0,a(".menu_order_input").each(function(){("0"===this.value||b)&&(this.value="")})},a("#asc").click(function(){return g=!1,d(),!1}),a("#desc").click(function(){return g=!0,d(),!1}),a("#clear").click(function(){return e(1),!1}),a("#showall").click(function(){return a("#sort-buttons span a").toggle(),a("a.describe-toggle-on").hide(),a("a.describe-toggle-off, table.slidetoggle").show(),a("img.pinkynail").toggle(!1),!1}),a("#hideall").click(function(){return a("#sort-buttons span a").toggle(),a("a.describe-toggle-on").show(),a("a.describe-toggle-off, table.slidetoggle").hide(),a("img.pinkynail").toggle(!0),!1}),c(),e(),a("#media-items>*").length>1&&(f=wpgallery.getWin(),a("#save-all, #gallery-settings").show(),"undefined"!=typeof f.tinyMCE&&f.tinyMCE.activeEditor&&!f.tinyMCE.activeEditor.isHidden()?(wpgallery.mcemode=!0,wpgallery.init()):a("#insert-gallery").show())}),jQuery(window).unload(function(){tinymce=tinyMCE=wpgallery=null});var tinymce=null,tinyMCE,wpgallery;wpgallery={mcemode:!1,editor:{},dom:{},is_update:!1,el:{},I:function(a){return document.getElementById(a)},init:function(){var a,b,c,d,e=this,f=e.getWin();if(e.mcemode){for(a=(""+document.location.search).replace(/^\?/,"").split("&"),b={},c=0;c<a.length;c++)d=a[c].split("="),b[unescape(d[0])]=unescape(d[1]);b.mce_rdomain&&(document.domain=b.mce_rdomain),tinymce=f.tinymce,tinyMCE=f.tinyMCE,e.editor=tinymce.EditorManager.activeEditor,e.setup()}},getWin:function(){return window.dialogArguments||opener||parent||top},setup:function(){var a,b,c,d,e,f,g=this,h=g.editor;if(g.mcemode){if(g.el=h.selection.getNode(),"IMG"!==g.el.nodeName||!h.dom.hasClass(g.el,"wpGallery")){if(!(b=h.dom.select("img.wpGallery"))||!b[0])return"1"===getUserSetting("galfile")&&(g.I("linkto-file").checked="checked"),"1"===getUserSetting("galdesc")&&(g.I("order-desc").checked="checked"),getUserSetting("galcols")&&(g.I("columns").value=getUserSetting("galcols")),getUserSetting("galord")&&(g.I("orderby").value=getUserSetting("galord")),jQuery("#insert-gallery").show(),void 0;g.el=b[0]}a=h.dom.getAttrib(g.el,"title"),a=h.dom.decode(a),a?(jQuery("#update-gallery").show(),g.is_update=!0,c=a.match(/columns=['"]([0-9]+)['"]/),d=a.match(/link=['"]([^'"]+)['"]/i),e=a.match(/order=['"]([^'"]+)['"]/i),f=a.match(/orderby=['"]([^'"]+)['"]/i),d&&d[1]&&(g.I("linkto-file").checked="checked"),e&&e[1]&&(g.I("order-desc").checked="checked"),c&&c[1]&&(g.I("columns").value=""+c[1]),f&&f[1]&&(g.I("orderby").value=f[1])):jQuery("#insert-gallery").show()}},update:function(){var a,b=this,c=b.editor,d="";return b.mcemode&&b.is_update?("IMG"===b.el.nodeName&&(d=c.dom.decode(c.dom.getAttrib(b.el,"title")),d=d.replace(/\s*(order|link|columns|orderby)=['"]([^'"]+)['"]/gi,""),d+=b.getSettings(),c.dom.setAttrib(b.el,"title",d),b.getWin().tb_remove()),void 0):(a="[gallery"+b.getSettings()+"]",b.getWin().send_to_editor(a),void 0)},getSettings:function(){var a=this.I,b="";return a("linkto-file").checked&&(b+=' link="file"',setUserSetting("galfile","1")),a("order-desc").checked&&(b+=' order="DESC"',setUserSetting("galdesc","1")),3!==a("columns").value&&(b+=' columns="'+a("columns").value+'"',setUserSetting("galcols",a("columns").value)),"menu_order"!==a("orderby").value&&(b+=' orderby="'+a("orderby").value+'"',setUserSetting("galord",a("orderby").value)),b}};
\ No newline at end of file
+jQuery(document).ready(function(a){var b,c,d,e,f,g=!1;c=function(){b=a("#media-items").sortable({items:"div.media-item",placeholder:"sorthelper",axis:"y",distance:2,handle:"div.filename",stop:function(){var b=a("#media-items").sortable("toArray"),c=b.length;a.each(b,function(b,d){var e=g?c-b:1+b;a("#"+d+" .menu_order input").val(e)})}})},d=function(){var b=a(".menu_order_input"),c=b.length;b.each(function(b){var d=g?c-b:1+b;a(this).val(d)})},e=function(b){b=b||0,a(".menu_order_input").each(function(){("0"===this.value||b)&&(this.value="")})},a("#asc").click(function(){return g=!1,d(),!1}),a("#desc").click(function(){return g=!0,d(),!1}),a("#clear").click(function(){return e(1),!1}),a("#showall").click(function(){return a("#sort-buttons span a").toggle(),a("a.describe-toggle-on").hide(),a("a.describe-toggle-off, table.slidetoggle").show(),a("img.pinkynail").toggle(!1),!1}),a("#hideall").click(function(){return a("#sort-buttons span a").toggle(),a("a.describe-toggle-on").show(),a("a.describe-toggle-off, table.slidetoggle").hide(),a("img.pinkynail").toggle(!0),!1}),c(),e(),a("#media-items>*").length>1&&(f=wpgallery.getWin(),a("#save-all, #gallery-settings").show(),"undefined"!=typeof f.tinyMCE&&f.tinyMCE.activeEditor&&!f.tinyMCE.activeEditor.isHidden()?(wpgallery.mcemode=!0,wpgallery.init()):a("#insert-gallery").show())}),jQuery(window).unload(function(){tinymce=tinyMCE=wpgallery=null});var tinymce=null,tinyMCE,wpgallery;wpgallery={mcemode:!1,editor:{},dom:{},is_update:!1,el:{},I:function(a){return document.getElementById(a)},init:function(){var a,b,c,d,e=this,f=e.getWin();if(e.mcemode){for(a=(""+document.location.search).replace(/^\?/,"").split("&"),b={},c=0;c<a.length;c++)d=a[c].split("="),b[unescape(d[0])]=unescape(d[1]);b.mce_rdomain&&(document.domain=b.mce_rdomain),tinymce=f.tinymce,tinyMCE=f.tinyMCE,e.editor=tinymce.EditorManager.activeEditor,e.setup()}},getWin:function(){return window.dialogArguments||opener||parent||top},setup:function(){var a,b,c,d,e,f,g=this,h=g.editor;if(g.mcemode){if(g.el=h.selection.getNode(),"IMG"!==g.el.nodeName||!h.dom.hasClass(g.el,"wpGallery")){if(!(b=h.dom.select("img.wpGallery"))||!b[0])return"1"===getUserSetting("galfile")&&(g.I("linkto-file").checked="checked"),"1"===getUserSetting("galdesc")&&(g.I("order-desc").checked="checked"),getUserSetting("galcols")&&(g.I("columns").value=getUserSetting("galcols")),getUserSetting("galord")&&(g.I("orderby").value=getUserSetting("galord")),void jQuery("#insert-gallery").show();g.el=b[0]}a=h.dom.getAttrib(g.el,"title"),a=h.dom.decode(a),a?(jQuery("#update-gallery").show(),g.is_update=!0,c=a.match(/columns=['"]([0-9]+)['"]/),d=a.match(/link=['"]([^'"]+)['"]/i),e=a.match(/order=['"]([^'"]+)['"]/i),f=a.match(/orderby=['"]([^'"]+)['"]/i),d&&d[1]&&(g.I("linkto-file").checked="checked"),e&&e[1]&&(g.I("order-desc").checked="checked"),c&&c[1]&&(g.I("columns").value=""+c[1]),f&&f[1]&&(g.I("orderby").value=f[1])):jQuery("#insert-gallery").show()}},update:function(){var a,b=this,c=b.editor,d="";return b.mcemode&&b.is_update?void("IMG"===b.el.nodeName&&(d=c.dom.decode(c.dom.getAttrib(b.el,"title")),d=d.replace(/\s*(order|link|columns|orderby)=['"]([^'"]+)['"]/gi,""),d+=b.getSettings(),c.dom.setAttrib(b.el,"title",d),b.getWin().tb_remove())):(a="[gallery"+b.getSettings()+"]",void b.getWin().send_to_editor(a))},getSettings:function(){var a=this.I,b="";return a("linkto-file").checked&&(b+=' link="file"',setUserSetting("galfile","1")),a("order-desc").checked&&(b+=' order="DESC"',setUserSetting("galdesc","1")),3!==a("columns").value&&(b+=' columns="'+a("columns").value+'"',setUserSetting("galcols",a("columns").value)),"menu_order"!==a("orderby").value&&(b+=' orderby="'+a("orderby").value+'"',setUserSetting("galord",a("orderby").value)),b}};
\ No newline at end of file
index 9eaf51bf88c91bc073eeccea52e4896a21664879..0a592d901e56a7d2e102359f4f6319a5b792ac34 100644 (file)
@@ -5,6 +5,7 @@ var imageEdit = window.imageEdit = {
        iasapi : {},
        hold : {},
        postid : '',
+       _view : false,
 
        intval : function(f) {
                return f | 0;
@@ -62,7 +63,7 @@ var imageEdit = window.imageEdit = {
        },
 
        toggleHelp : function(el) {
-               $(el).siblings('.imgedit-help').slideToggle('fast');
+               $( el ).parents( '.imgedit-group-top' ).toggleClass( 'imgedit-help-toggled' ).find( '.imgedit-help' ).slideToggle( 'fast' );
                return false;
        },
 
@@ -241,11 +242,18 @@ var imageEdit = window.imageEdit = {
                $.post(ajaxurl, data, function(r) {
                        $('#image-editor-' + postid).empty().append(r);
                        t.toggleEditor(postid, 0);
+                       // refresh the attachment model so that changes propagate
+                       if ( t._view ) {
+                               t._view.refresh();
+                       }
                });
        },
 
        save : function(postid, nonce) {
-               var data, target = this.getTarget(postid), history = this.filterHistory(postid, 0);
+               var data,
+                       target = this.getTarget(postid),
+                       history = this.filterHistory(postid, 0),
+                       self = this;
 
                if ( '' === history ) {
                        return false;
@@ -283,11 +291,17 @@ var imageEdit = window.imageEdit = {
                                $('#imgedit-response-' + postid).html('<div class="updated"><p>' + ret.msg + '</p></div>');
                        }
 
-                       imageEdit.close(postid);
+                       if ( self._view ) {
+                               self._view.save();
+                       } else {
+                               imageEdit.close(postid);
+                       }
                });
        },
 
-       open : function(postid, nonce) {
+       open : function( postid, nonce, view ) {
+               this._view = view;
+
                var data, elem = $('#image-editor-' + postid), head = $('#media-head-' + postid),
                        btn = $('#imgedit-open-btn-' + postid), spin = btn.siblings('.spinner');
 
@@ -319,8 +333,10 @@ var imageEdit = window.imageEdit = {
        },
 
        initCrop : function(postid, image, parent) {
-               var t = this, selW = $('#imgedit-sel-width-' + postid),
-                       selH = $('#imgedit-sel-height-' + postid);
+               var t = this,
+                       selW = $('#imgedit-sel-width-' + postid),
+                       selH = $('#imgedit-sel-height-' + postid),
+                       $img;
 
                t.iasapi = $(image).imgAreaSelect({
                        parent: parent,
@@ -330,7 +346,13 @@ var imageEdit = window.imageEdit = {
                        minWidth: 3,
                        minHeight: 3,
 
-                       onInit: function() {
+                       onInit: function( img ) {
+                               // Ensure that the imgareaselect wrapper elements are position:absolute
+                               // (even if we're in a position:fixed modal)
+                               $img = $( img );
+                               $img.next().css( 'position', 'absolute' )
+                                       .nextAll( '.imgareaselect-outer' ).css( 'position', 'absolute' );
+
                                parent.children().mousedown(function(e){
                                        var ratio = false, sel, defRatio;
 
@@ -397,10 +419,22 @@ var imageEdit = window.imageEdit = {
 
                this.iasapi = {};
                this.hold = {};
-               $('#image-editor-' + postid).fadeOut('fast', function() {
-                       $('#media-head-' + postid).fadeIn('fast');
-                       $(this).empty();
-               });
+
+               // If we've loaded the editor in the context of a Media Modal, then switch to the previous view,
+               // whatever that might have been.
+               if ( this._view ){
+                       this._view.back();
+               }
+
+               // In case we are not accessing the image editor in the context of a View, close the editor the old-skool way
+               else {
+                       $('#image-editor-' + postid).fadeOut('fast', function() {
+                               $('#media-head-' + postid).fadeIn('fast');
+                               $(this).empty();
+                       });
+               }
+
+
        },
 
        notsaved : function(postid) {
index 3e9b618a6e3db06fef1897f7d3069e605b248af3..4830f8e856d94d2c751bf6a8602ce616935d7bd5 100644 (file)
@@ -1 +1 @@
-!function(a){var b=window.imageEdit={iasapi:{},hold:{},postid:"",intval:function(a){return 0|a},setDisabled:function(b,c){c?(b.removeClass("disabled"),a("input",b).removeAttr("disabled")):(b.addClass("disabled"),a("input",b).prop("disabled",!0))},init:function(b){var c=this,d=a("#image-editor-"+c.postid),e=c.intval(a("#imgedit-x-"+b).val()),f=c.intval(a("#imgedit-y-"+b).val());c.postid!==b&&d.length&&c.close(c.postid),c.hold.w=c.hold.ow=e,c.hold.h=c.hold.oh=f,c.hold.xy_ratio=e/f,c.hold.sizer=parseFloat(a("#imgedit-sizer-"+b).val()),c.postid=b,a("#imgedit-response-"+b).empty(),a('input[type="text"]',"#imgedit-panel-"+b).keypress(function(b){var c=b.keyCode;return c>36&&41>c&&a(this).blur(),13===c?(b.preventDefault(),b.stopPropagation(),!1):void 0})},toggleEditor:function(b,c){var d=a("#imgedit-wait-"+b);c?d.height(a("#imgedit-panel-"+b).height()).fadeIn("fast"):d.fadeOut("fast")},toggleHelp:function(b){return a(b).siblings(".imgedit-help").slideToggle("fast"),!1},getTarget:function(b){return a('input[name="imgedit-target-'+b+'"]:checked',"#imgedit-save-target-"+b).val()||"full"},scaleChanged:function(b,c){var d=a("#imgedit-scale-width-"+b),e=a("#imgedit-scale-height-"+b),f=a("#imgedit-scale-warn-"+b),g="",h="";c?(h=""!==d.val()?Math.round(d.val()/this.hold.xy_ratio):"",e.val(h)):(g=""!==e.val()?Math.round(e.val()*this.hold.xy_ratio):"",d.val(g)),h&&h>this.hold.oh||g&&g>this.hold.ow?f.css("visibility","visible"):f.css("visibility","hidden")},getSelRatio:function(b){var c=this.hold.w,d=this.hold.h,e=this.intval(a("#imgedit-crop-width-"+b).val()),f=this.intval(a("#imgedit-crop-height-"+b).val());return e&&f?e+":"+f:c&&d?c+":"+d:"1:1"},filterHistory:function(b,c){var d,e,f,g,h=a("#imgedit-history-"+b).val(),i=[];if(""!==h){if(h=JSON.parse(h),d=this.intval(a("#imgedit-undone-"+b).val()),d>0)for(;d>0;)h.pop(),d--;if(c){if(!h.length)return this.hold.w=this.hold.ow,this.hold.h=this.hold.oh,"";f=h[h.length-1],f=f.c||f.r||f.f||!1,f&&(this.hold.w=f.fw,this.hold.h=f.fh)}for(e in h)g=h[e],g.hasOwnProperty("c")?i[e]={c:{x:g.c.x,y:g.c.y,w:g.c.w,h:g.c.h}}:g.hasOwnProperty("r")?i[e]={r:g.r.r}:g.hasOwnProperty("f")&&(i[e]={f:g.f.f});return JSON.stringify(i)}return""},refreshEditor:function(c,d,e){var f,g,h=this;h.toggleEditor(c,1),f={action:"imgedit-preview",_ajax_nonce:d,postid:c,history:h.filterHistory(c,1),rand:h.intval(1e6*Math.random())},g=a('<img id="image-preview-'+c+'" />').on("load",function(){var d,f,h=a("#imgedit-crop-"+c),i=b;h.empty().append(g),d=Math.max(i.hold.w,i.hold.h),f=Math.max(a(g).width(),a(g).height()),i.hold.sizer=d>f?f/d:1,i.initCrop(c,g,h),i.setCropSelection(c,0),"undefined"!=typeof e&&null!==e&&e(),a("#imgedit-history-"+c).val()&&"0"===a("#imgedit-undone-"+c).val()?a("input.imgedit-submit-btn","#imgedit-panel-"+c).removeAttr("disabled"):a("input.imgedit-submit-btn","#imgedit-panel-"+c).prop("disabled",!0),i.toggleEditor(c,0)}).on("error",function(){a("#imgedit-crop-"+c).empty().append('<div class="error"><p>'+imageEditL10n.error+"</p></div>"),h.toggleEditor(c,0)}).attr("src",ajaxurl+"?"+a.param(f))},action:function(b,c,d){var e,f,g,h,i,j=this;if(j.notsaved(b))return!1;if(e={action:"image-editor",_ajax_nonce:c,postid:b},"scale"===d){if(f=a("#imgedit-scale-width-"+b),g=a("#imgedit-scale-height-"+b),h=j.intval(f.val()),i=j.intval(g.val()),1>h)return f.focus(),!1;if(1>i)return g.focus(),!1;if(h===j.hold.ow||i===j.hold.oh)return!1;e["do"]="scale",e.fwidth=h,e.fheight=i}else{if("restore"!==d)return!1;e["do"]="restore"}j.toggleEditor(b,1),a.post(ajaxurl,e,function(c){a("#image-editor-"+b).empty().append(c),j.toggleEditor(b,0)})},save:function(c,d){var e,f=this.getTarget(c),g=this.filterHistory(c,0);return""===g?!1:(this.toggleEditor(c,1),e={action:"image-editor",_ajax_nonce:d,postid:c,history:g,target:f,context:a("#image-edit-context").length?a("#image-edit-context").val():null,"do":"save"},a.post(ajaxurl,e,function(d){var e=JSON.parse(d);return e.error?(a("#imgedit-response-"+c).html('<div class="error"><p>'+e.error+"</p><div>"),b.close(c),void 0):(e.fw&&e.fh&&a("#media-dims-"+c).html(e.fw+" &times; "+e.fh),e.thumbnail&&a(".thumbnail","#thumbnail-head-"+c).attr("src",""+e.thumbnail),e.msg&&a("#imgedit-response-"+c).html('<div class="updated"><p>'+e.msg+"</p></div>"),b.close(c),void 0)}),void 0)},open:function(b,c){var d,e=a("#image-editor-"+b),f=a("#media-head-"+b),g=a("#imgedit-open-btn-"+b),h=g.siblings(".spinner");g.prop("disabled",!0),h.show(),d={action:"image-editor",_ajax_nonce:c,postid:b,"do":"open"},e.load(ajaxurl,d,function(){e.fadeIn("fast"),f.fadeOut("fast",function(){g.removeAttr("disabled"),h.hide()})})},imgLoaded:function(b){var c=a("#image-preview-"+b),d=a("#imgedit-crop-"+b);this.initCrop(b,c,d),this.setCropSelection(b,0),this.toggleEditor(b,0)},initCrop:function(c,d,e){var f=this,g=a("#imgedit-sel-width-"+c),h=a("#imgedit-sel-height-"+c);f.iasapi=a(d).imgAreaSelect({parent:e,instance:!0,handles:!0,keys:!0,minWidth:3,minHeight:3,onInit:function(){e.children().mousedown(function(a){var b,d,e=!1;a.shiftKey&&(b=f.iasapi.getSelection(),d=f.getSelRatio(c),e=b&&b.width&&b.height?b.width+":"+b.height:d),f.iasapi.setOptions({aspectRatio:e})})},onSelectStart:function(){b.setDisabled(a("#imgedit-crop-sel-"+c),1)},onSelectEnd:function(a,d){b.setCropSelection(c,d)},onSelectChange:function(a,c){var d=b.hold.sizer;g.val(b.round(c.width/d)),h.val(b.round(c.height/d))}})},setCropSelection:function(b,c){var d,e=a("#imgedit-minthumb-"+b).val()||"128:128",f=this.hold.sizer;return e=e.split(":"),c=c||0,!c||c.width<3&&c.height<3?(this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),0),this.setDisabled(a("#imgedit-crop-sel-"+b),0),a("#imgedit-sel-width-"+b).val(""),a("#imgedit-sel-height-"+b).val(""),a("#imgedit-selection-"+b).val(""),!1):c.width<e[0]*f&&c.height<e[1]*f?(this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),0),a("#imgedit-selection-"+b).val(""),!1):(d={x:c.x1,y:c.y1,w:c.width,h:c.height},this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),1),a("#imgedit-selection-"+b).val(JSON.stringify(d)),void 0)},close:function(b,c){return c=c||!1,c&&this.notsaved(b)?!1:(this.iasapi={},this.hold={},a("#image-editor-"+b).fadeOut("fast",function(){a("#media-head-"+b).fadeIn("fast"),a(this).empty()}),void 0)},notsaved:function(b){var c=a("#imgedit-history-"+b).val(),d=""!==c?JSON.parse(c):[],e=this.intval(a("#imgedit-undone-"+b).val());return e<d.length?confirm(a("#imgedit-leaving-"+b).html())?!1:!0:!1},addStep:function(b,c,d){for(var e=this,f=a("#imgedit-history-"+c),g=""!==f.val()?JSON.parse(f.val()):[],h=a("#imgedit-undone-"+c),i=e.intval(h.val());i>0;)g.pop(),i--;h.val(0),g.push(b),f.val(JSON.stringify(g)),e.refreshEditor(c,d,function(){e.setDisabled(a("#image-undo-"+c),!0),e.setDisabled(a("#image-redo-"+c),!1)})},rotate:function(b,c,d,e){return a(e).hasClass("disabled")?!1:(this.addStep({r:{r:b,fw:this.hold.h,fh:this.hold.w}},c,d),void 0)},flip:function(b,c,d,e){return a(e).hasClass("disabled")?!1:(this.addStep({f:{f:b,fw:this.hold.w,fh:this.hold.h}},c,d),void 0)},crop:function(b,c,d){var e=a("#imgedit-selection-"+b).val(),f=this.intval(a("#imgedit-sel-width-"+b).val()),g=this.intval(a("#imgedit-sel-height-"+b).val());return a(d).hasClass("disabled")||""===e?!1:(e=JSON.parse(e),e.w>0&&e.h>0&&f>0&&g>0&&(e.fw=f,e.fh=g,this.addStep({c:e},b,c)),void 0)},undo:function(b,c){var d=this,e=a("#image-undo-"+b),f=a("#imgedit-undone-"+b),g=d.intval(f.val())+1;e.hasClass("disabled")||(f.val(g),d.refreshEditor(b,c,function(){var c=a("#imgedit-history-"+b),f=""!==c.val()?JSON.parse(c.val()):[];d.setDisabled(a("#image-redo-"+b),!0),d.setDisabled(e,g<f.length)}))},redo:function(b,c){var d=this,e=a("#image-redo-"+b),f=a("#imgedit-undone-"+b),g=d.intval(f.val())-1;e.hasClass("disabled")||(f.val(g),d.refreshEditor(b,c,function(){d.setDisabled(a("#image-undo-"+b),!0),d.setDisabled(e,g>0)}))},setNumSelection:function(b){var c,d,e,f,g,h=a("#imgedit-sel-width-"+b),i=a("#imgedit-sel-height-"+b),j=this.intval(h.val()),k=this.intval(i.val()),l=a("#image-preview-"+b),m=l.height(),n=l.width(),o=this.hold.sizer,p=this.iasapi;return 1>j?(h.val(""),!1):1>k?(i.val(""),!1):(j&&k&&(c=p.getSelection())&&(f=c.x1+Math.round(j*o),g=c.y1+Math.round(k*o),d=c.x1,e=c.y1,f>n&&(d=0,f=n,h.val(Math.round(f/o))),g>m&&(e=0,g=m,i.val(Math.round(g/o))),p.setSelection(d,e,f,g),p.update(),this.setCropSelection(b,p.getSelection())),void 0)},round:function(a){var b;return a=Math.round(a),this.hold.sizer>.6?a:(b=a.toString().slice(-1),"1"===b?a-1:"9"===b?a+1:a)},setRatioSelection:function(b,c,d){var e,f,g=this.intval(a("#imgedit-crop-width-"+b).val()),h=this.intval(a("#imgedit-crop-height-"+b).val()),i=a("#image-preview-"+b).height();return this.intval(a(d).val())?(g&&h&&(this.iasapi.setOptions({aspectRatio:g+":"+h}),(e=this.iasapi.getSelection(!0))&&(f=Math.ceil(e.y1+(e.x2-e.x1)/(g/h)),f>i&&(f=i,c?a("#imgedit-crop-height-"+b).val(""):a("#imgedit-crop-width-"+b).val("")),this.iasapi.setSelection(e.x1,e.y1,e.x2,f),this.iasapi.update())),void 0):(a(d).val(""),void 0)}}}(jQuery);
\ No newline at end of file
+!function(a){var b=window.imageEdit={iasapi:{},hold:{},postid:"",_view:!1,intval:function(a){return 0|a},setDisabled:function(b,c){c?(b.removeClass("disabled"),a("input",b).removeAttr("disabled")):(b.addClass("disabled"),a("input",b).prop("disabled",!0))},init:function(b){var c=this,d=a("#image-editor-"+c.postid),e=c.intval(a("#imgedit-x-"+b).val()),f=c.intval(a("#imgedit-y-"+b).val());c.postid!==b&&d.length&&c.close(c.postid),c.hold.w=c.hold.ow=e,c.hold.h=c.hold.oh=f,c.hold.xy_ratio=e/f,c.hold.sizer=parseFloat(a("#imgedit-sizer-"+b).val()),c.postid=b,a("#imgedit-response-"+b).empty(),a('input[type="text"]',"#imgedit-panel-"+b).keypress(function(b){var c=b.keyCode;return c>36&&41>c&&a(this).blur(),13===c?(b.preventDefault(),b.stopPropagation(),!1):void 0})},toggleEditor:function(b,c){var d=a("#imgedit-wait-"+b);c?d.height(a("#imgedit-panel-"+b).height()).fadeIn("fast"):d.fadeOut("fast")},toggleHelp:function(b){return a(b).parents(".imgedit-group-top").toggleClass("imgedit-help-toggled").find(".imgedit-help").slideToggle("fast"),!1},getTarget:function(b){return a('input[name="imgedit-target-'+b+'"]:checked',"#imgedit-save-target-"+b).val()||"full"},scaleChanged:function(b,c){var d=a("#imgedit-scale-width-"+b),e=a("#imgedit-scale-height-"+b),f=a("#imgedit-scale-warn-"+b),g="",h="";c?(h=""!==d.val()?Math.round(d.val()/this.hold.xy_ratio):"",e.val(h)):(g=""!==e.val()?Math.round(e.val()*this.hold.xy_ratio):"",d.val(g)),h&&h>this.hold.oh||g&&g>this.hold.ow?f.css("visibility","visible"):f.css("visibility","hidden")},getSelRatio:function(b){var c=this.hold.w,d=this.hold.h,e=this.intval(a("#imgedit-crop-width-"+b).val()),f=this.intval(a("#imgedit-crop-height-"+b).val());return e&&f?e+":"+f:c&&d?c+":"+d:"1:1"},filterHistory:function(b,c){var d,e,f,g,h=a("#imgedit-history-"+b).val(),i=[];if(""!==h){if(h=JSON.parse(h),d=this.intval(a("#imgedit-undone-"+b).val()),d>0)for(;d>0;)h.pop(),d--;if(c){if(!h.length)return this.hold.w=this.hold.ow,this.hold.h=this.hold.oh,"";f=h[h.length-1],f=f.c||f.r||f.f||!1,f&&(this.hold.w=f.fw,this.hold.h=f.fh)}for(e in h)g=h[e],g.hasOwnProperty("c")?i[e]={c:{x:g.c.x,y:g.c.y,w:g.c.w,h:g.c.h}}:g.hasOwnProperty("r")?i[e]={r:g.r.r}:g.hasOwnProperty("f")&&(i[e]={f:g.f.f});return JSON.stringify(i)}return""},refreshEditor:function(c,d,e){var f,g,h=this;h.toggleEditor(c,1),f={action:"imgedit-preview",_ajax_nonce:d,postid:c,history:h.filterHistory(c,1),rand:h.intval(1e6*Math.random())},g=a('<img id="image-preview-'+c+'" />').on("load",function(){var d,f,h=a("#imgedit-crop-"+c),i=b;h.empty().append(g),d=Math.max(i.hold.w,i.hold.h),f=Math.max(a(g).width(),a(g).height()),i.hold.sizer=d>f?f/d:1,i.initCrop(c,g,h),i.setCropSelection(c,0),"undefined"!=typeof e&&null!==e&&e(),a("#imgedit-history-"+c).val()&&"0"===a("#imgedit-undone-"+c).val()?a("input.imgedit-submit-btn","#imgedit-panel-"+c).removeAttr("disabled"):a("input.imgedit-submit-btn","#imgedit-panel-"+c).prop("disabled",!0),i.toggleEditor(c,0)}).on("error",function(){a("#imgedit-crop-"+c).empty().append('<div class="error"><p>'+imageEditL10n.error+"</p></div>"),h.toggleEditor(c,0)}).attr("src",ajaxurl+"?"+a.param(f))},action:function(b,c,d){var e,f,g,h,i,j=this;if(j.notsaved(b))return!1;if(e={action:"image-editor",_ajax_nonce:c,postid:b},"scale"===d){if(f=a("#imgedit-scale-width-"+b),g=a("#imgedit-scale-height-"+b),h=j.intval(f.val()),i=j.intval(g.val()),1>h)return f.focus(),!1;if(1>i)return g.focus(),!1;if(h===j.hold.ow||i===j.hold.oh)return!1;e["do"]="scale",e.fwidth=h,e.fheight=i}else{if("restore"!==d)return!1;e["do"]="restore"}j.toggleEditor(b,1),a.post(ajaxurl,e,function(c){a("#image-editor-"+b).empty().append(c),j.toggleEditor(b,0),j._view&&j._view.refresh()})},save:function(c,d){var e,f=this.getTarget(c),g=this.filterHistory(c,0),h=this;return""===g?!1:(this.toggleEditor(c,1),e={action:"image-editor",_ajax_nonce:d,postid:c,history:g,target:f,context:a("#image-edit-context").length?a("#image-edit-context").val():null,"do":"save"},void a.post(ajaxurl,e,function(d){var e=JSON.parse(d);return e.error?(a("#imgedit-response-"+c).html('<div class="error"><p>'+e.error+"</p><div>"),void b.close(c)):(e.fw&&e.fh&&a("#media-dims-"+c).html(e.fw+" &times; "+e.fh),e.thumbnail&&a(".thumbnail","#thumbnail-head-"+c).attr("src",""+e.thumbnail),e.msg&&a("#imgedit-response-"+c).html('<div class="updated"><p>'+e.msg+"</p></div>"),void(h._view?h._view.save():b.close(c)))}))},open:function(b,c,d){this._view=d;var e,f=a("#image-editor-"+b),g=a("#media-head-"+b),h=a("#imgedit-open-btn-"+b),i=h.siblings(".spinner");h.prop("disabled",!0),i.show(),e={action:"image-editor",_ajax_nonce:c,postid:b,"do":"open"},f.load(ajaxurl,e,function(){f.fadeIn("fast"),g.fadeOut("fast",function(){h.removeAttr("disabled"),i.hide()})})},imgLoaded:function(b){var c=a("#image-preview-"+b),d=a("#imgedit-crop-"+b);this.initCrop(b,c,d),this.setCropSelection(b,0),this.toggleEditor(b,0)},initCrop:function(c,d,e){var f,g=this,h=a("#imgedit-sel-width-"+c),i=a("#imgedit-sel-height-"+c);g.iasapi=a(d).imgAreaSelect({parent:e,instance:!0,handles:!0,keys:!0,minWidth:3,minHeight:3,onInit:function(b){f=a(b),f.next().css("position","absolute").nextAll(".imgareaselect-outer").css("position","absolute"),e.children().mousedown(function(a){var b,d,e=!1;a.shiftKey&&(b=g.iasapi.getSelection(),d=g.getSelRatio(c),e=b&&b.width&&b.height?b.width+":"+b.height:d),g.iasapi.setOptions({aspectRatio:e})})},onSelectStart:function(){b.setDisabled(a("#imgedit-crop-sel-"+c),1)},onSelectEnd:function(a,d){b.setCropSelection(c,d)},onSelectChange:function(a,c){var d=b.hold.sizer;h.val(b.round(c.width/d)),i.val(b.round(c.height/d))}})},setCropSelection:function(b,c){var d,e=a("#imgedit-minthumb-"+b).val()||"128:128",f=this.hold.sizer;return e=e.split(":"),c=c||0,!c||c.width<3&&c.height<3?(this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),0),this.setDisabled(a("#imgedit-crop-sel-"+b),0),a("#imgedit-sel-width-"+b).val(""),a("#imgedit-sel-height-"+b).val(""),a("#imgedit-selection-"+b).val(""),!1):c.width<e[0]*f&&c.height<e[1]*f?(this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),0),a("#imgedit-selection-"+b).val(""),!1):(d={x:c.x1,y:c.y1,w:c.width,h:c.height},this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),1),void a("#imgedit-selection-"+b).val(JSON.stringify(d)))},close:function(b,c){return c=c||!1,c&&this.notsaved(b)?!1:(this.iasapi={},this.hold={},void(this._view?this._view.back():a("#image-editor-"+b).fadeOut("fast",function(){a("#media-head-"+b).fadeIn("fast"),a(this).empty()})))},notsaved:function(b){var c=a("#imgedit-history-"+b).val(),d=""!==c?JSON.parse(c):[],e=this.intval(a("#imgedit-undone-"+b).val());return e<d.length?confirm(a("#imgedit-leaving-"+b).html())?!1:!0:!1},addStep:function(b,c,d){for(var e=this,f=a("#imgedit-history-"+c),g=""!==f.val()?JSON.parse(f.val()):[],h=a("#imgedit-undone-"+c),i=e.intval(h.val());i>0;)g.pop(),i--;h.val(0),g.push(b),f.val(JSON.stringify(g)),e.refreshEditor(c,d,function(){e.setDisabled(a("#image-undo-"+c),!0),e.setDisabled(a("#image-redo-"+c),!1)})},rotate:function(b,c,d,e){return a(e).hasClass("disabled")?!1:void this.addStep({r:{r:b,fw:this.hold.h,fh:this.hold.w}},c,d)},flip:function(b,c,d,e){return a(e).hasClass("disabled")?!1:void this.addStep({f:{f:b,fw:this.hold.w,fh:this.hold.h}},c,d)},crop:function(b,c,d){var e=a("#imgedit-selection-"+b).val(),f=this.intval(a("#imgedit-sel-width-"+b).val()),g=this.intval(a("#imgedit-sel-height-"+b).val());return a(d).hasClass("disabled")||""===e?!1:(e=JSON.parse(e),void(e.w>0&&e.h>0&&f>0&&g>0&&(e.fw=f,e.fh=g,this.addStep({c:e},b,c))))},undo:function(b,c){var d=this,e=a("#image-undo-"+b),f=a("#imgedit-undone-"+b),g=d.intval(f.val())+1;e.hasClass("disabled")||(f.val(g),d.refreshEditor(b,c,function(){var c=a("#imgedit-history-"+b),f=""!==c.val()?JSON.parse(c.val()):[];d.setDisabled(a("#image-redo-"+b),!0),d.setDisabled(e,g<f.length)}))},redo:function(b,c){var d=this,e=a("#image-redo-"+b),f=a("#imgedit-undone-"+b),g=d.intval(f.val())-1;e.hasClass("disabled")||(f.val(g),d.refreshEditor(b,c,function(){d.setDisabled(a("#image-undo-"+b),!0),d.setDisabled(e,g>0)}))},setNumSelection:function(b){var c,d,e,f,g,h=a("#imgedit-sel-width-"+b),i=a("#imgedit-sel-height-"+b),j=this.intval(h.val()),k=this.intval(i.val()),l=a("#image-preview-"+b),m=l.height(),n=l.width(),o=this.hold.sizer,p=this.iasapi;return 1>j?(h.val(""),!1):1>k?(i.val(""),!1):void(j&&k&&(c=p.getSelection())&&(f=c.x1+Math.round(j*o),g=c.y1+Math.round(k*o),d=c.x1,e=c.y1,f>n&&(d=0,f=n,h.val(Math.round(f/o))),g>m&&(e=0,g=m,i.val(Math.round(g/o))),p.setSelection(d,e,f,g),p.update(),this.setCropSelection(b,p.getSelection())))},round:function(a){var b;return a=Math.round(a),this.hold.sizer>.6?a:(b=a.toString().slice(-1),"1"===b?a-1:"9"===b?a+1:a)},setRatioSelection:function(b,c,d){var e,f,g=this.intval(a("#imgedit-crop-width-"+b).val()),h=this.intval(a("#imgedit-crop-height-"+b).val()),i=a("#image-preview-"+b).height();return this.intval(a(d).val())?void(g&&h&&(this.iasapi.setOptions({aspectRatio:g+":"+h}),(e=this.iasapi.getSelection(!0))&&(f=Math.ceil(e.y1+(e.x2-e.x1)/(g/h)),f>i&&(f=i,c?a("#imgedit-crop-height-"+b).val(""):a("#imgedit-crop-width-"+b).val("")),this.iasapi.setSelection(e.x1,e.y1,e.x2,f),this.iasapi.update()))):void a(d).val("")}}}(jQuery);
\ No newline at end of file
index a6edc0337c5c6d83bc45a75696ead945d62fee2a..56182de2698f3a8e9cddb07b32360865e672dde0 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(a){return 13===a.which?inlineEditPost.save(this):void 0}),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-title-div").parents("fieldset").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")),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+" "})),a("html, body").animate({scrollTop:0},"fast"),void 0)},edit:function(b){var c,d,e,f,g,h,i,j,k,l,m=this,n=!0;for(m.revert(),"object"==typeof b&&(b=m.getId(b)),c=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password","post_format","menu_order"],"page"===m.type&&c.push("post_parent","page_template"),d=a("#inline-edit").clone(!0),a("td",d).attr("colspan",a(".widefat:first thead th:visible").length),a(m.what+b).hasClass("alternate")&&a(d).addClass("alternate"),a(m.what+b).hide().after(d),e=a("#inline_"+b),a(':input[name="post_author"] option[value="'+a(".post_author",e).text()+'"]',d).val()||a(':input[name="post_author"]',d).prepend('<option value="'+a(".post_author",e).text()+'">'+a("#"+m.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++)a(':input[name="'+c[l]+'"]',d).val(a("."+c[l],e).text());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).text(),e=a(this).attr("id").replace("_"+b,""),f=a("textarea.tax_input_"+e,d),g=inlineEditL10n.comma;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;n&&(i=i.next("option"),0!==i.length);)j=i[0].className.split("-")[1],h>=j?n=!1:(i.remove(),i=g);g.remove()}return a(d).attr("id","edit-"+b).addClass("inline-editor").show(),a(".ptitle",d).focus(),!1},save:function(b){var c,d,e=a(".post_status_page").val()||"";return"object"==typeof b&&(b=this.getId(b)),a("table.widefat .spinner").show(),c={action:"inline-save",post_type:typenow,post_ID:b,edit_date:"true",post_status:e},d=a("#edit-"+b).find(":input").serialize(),c=d+"&"+a.param(c),a.post(ajaxurl,c,function(c){a("table.widefat .spinner").hide(),c?-1!==c.indexOf("<tr")?(a(inlineEditPost.what+b).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(),a("#post-"+b).prev().hasClass("alternate")&&a("#post-"+b).removeClass("alternate")},"html"),!1},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");return b&&(a("table.widefat .spinner").hide(),"bulk-edit"===b?(a("table.widefat #bulk-edit").removeClass("inline-editor").hide(),a("#bulk-titles").html(""),a("#inlineedit").append(a("#bulk-edit"))):(a("#"+b).remove(),b=b.substr(b.lastIndexOf("-")+1),a(this.what+b).show())),!1},getId:function(b){var c=a(b).closest("tr").attr("id"),d=c.split("-");return d[d.length-1]}},a(document).ready(function(){inlineEditPost.init()}),a(document).on("heartbeat-tick.wp-check-locked-posts",function(b,c){var d=c["wp-check-locked-posts"]||{};a("#the-list tr").each(function(b,c){var e,f,g=c.id,h=a(c);d.hasOwnProperty(g)?h.hasClass("wp-locked")||(e=d[g],h.find(".column-title .locked-text").text(e.text),h.find(".check-column checkbox").prop("checked",!1),e.avatar_src&&(f=a('<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("a.cancel",c).click(function(){return inlineEditPost.revert()}),a("a.save",c).click(function(){return inlineEditPost.save(this)}),a("td",c).keydown(function(a){return 13===a.which?inlineEditPost.save(this):void 0}),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-title-div").parents("fieldset").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")),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=this,n=!0;for(m.revert(),"object"==typeof b&&(b=m.getId(b)),c=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password","post_format","menu_order"],"page"===m.type&&c.push("post_parent","page_template"),d=a("#inline-edit").clone(!0),a("td",d).attr("colspan",a(".widefat:first thead th:visible").length),a(m.what+b).hasClass("alternate")&&a(d).addClass("alternate"),a(m.what+b).hide().after(d),e=a("#inline_"+b),a(':input[name="post_author"] option[value="'+a(".post_author",e).text()+'"]',d).val()||a(':input[name="post_author"]',d).prepend('<option value="'+a(".post_author",e).text()+'">'+a("#"+m.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++)a(':input[name="'+c[l]+'"]',d).val(a("."+c[l],e).text());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).text(),e=a(this).attr("id").replace("_"+b,""),f=a("textarea.tax_input_"+e,d),g=inlineEditL10n.comma;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;n&&(i=i.next("option"),0!==i.length);)j=i[0].className.split("-")[1],h>=j?n=!1:(i.remove(),i=g);g.remove()}return a(d).attr("id","edit-"+b).addClass("inline-editor").show(),a(".ptitle",d).focus(),!1},save:function(b){var c,d,e=a(".post_status_page").val()||"";return"object"==typeof b&&(b=this.getId(b)),a("table.widefat .spinner").show(),c={action:"inline-save",post_type:typenow,post_ID:b,edit_date:"true",post_status:e},d=a("#edit-"+b).find(":input").serialize(),c=d+"&"+a.param(c),a.post(ajaxurl,c,function(c){a("table.widefat .spinner").hide(),c?-1!==c.indexOf("<tr")?(a(inlineEditPost.what+b).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(),a("#post-"+b).prev().hasClass("alternate")&&a("#post-"+b).removeClass("alternate")},"html"),!1},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");return b&&(a("table.widefat .spinner").hide(),"bulk-edit"===b?(a("table.widefat #bulk-edit").removeClass("inline-editor").hide(),a("#bulk-titles").html(""),a("#inlineedit").append(a("#bulk-edit"))):(a("#"+b).remove(),b=b.substr(b.lastIndexOf("-")+1),a(this.what+b).show())),!1},getId:function(b){var c=a(b).closest("tr").attr("id"),d=c.split("-");return d[d.length-1]}},a(document).ready(function(){inlineEditPost.init()}),a(document).on("heartbeat-tick.wp-check-locked-posts",function(b,c){var d=c["wp-check-locked-posts"]||{};a("#the-list tr").each(function(b,c){var e,f,g=c.id,h=a(c);d.hasOwnProperty(g)?h.hasClass("wp-locked")||(e=d[g],h.find(".column-title .locked-text").text(e.text),h.find(".check-column checkbox").prop("checked",!1),e.avatar_src&&(f=a('<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 22c5ed5c4b4ec30e66af3156b173187adae89727..88917407fafe5311ca48eb4cd20b0f9a8bce8bc5 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=this;return e.revert(),"object"==typeof b&&(b=e.getId(b)),c=a("#inline-edit").clone(!0),d=a("#inline_"+b),a("td",c).attr("colspan",a(".widefat:first thead th:visible").length),a(e.what+b).hasClass("alternate")&&a(c).addClass("alternate"),a(e.what+b).hide().after(c),a(':input[name="name"]',c).val(a(".name",d).text()),a(':input[name="slug"]',c).val(a(".slug",d).text()),a(c).attr("id","edit-"+b).addClass("inline-editor").show(),a(".ptitle",c).eq(0).focus(),!1},save:function(b){var c,d,e=a('input[name="taxonomy"]').val()||"";return"object"==typeof b&&(b=this.getId(b)),a("table.widefat .spinner").show(),c={action:"inline-save-tax",tax_type:this.type,tax_ID:b,taxonomy:e},d=a("#edit-"+b).find(":input").serialize(),c=d+"&"+a.param(c),a.post(ajaxurl,c,function(c){var d,e;a("table.widefat .spinner").hide(),c?-1!==c.indexOf("<tr")?(a(inlineEditTax.what+b).remove(),e=a(c).attr("id"),a("#edit-"+b).before(c).remove(),d=e?a("#"+e):a(inlineEditTax.what+b),d.hide().fadeIn()):a("#edit-"+b+" .inline-edit-save .error").html(c).show():a("#edit-"+b+" .inline-edit-save .error").html(inlineEditL10n.error).show(),a(d).prev("tr").hasClass("alternate")&&a(d).removeClass("alternate")}),!1},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");return b&&(a("table.widefat .spinner").hide(),a("#"+b).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=this;return e.revert(),"object"==typeof b&&(b=e.getId(b)),c=a("#inline-edit").clone(!0),d=a("#inline_"+b),a("td",c).attr("colspan",a(".widefat:first thead th:visible").length),a(e.what+b).hasClass("alternate")&&a(c).addClass("alternate"),a(e.what+b).hide().after(c),a(':input[name="name"]',c).val(a(".name",d).text()),a(':input[name="slug"]',c).val(a(".slug",d).text()),a(c).attr("id","edit-"+b).addClass("inline-editor").show(),a(".ptitle",c).eq(0).focus(),!1},save:function(b){var c,d,e=a('input[name="taxonomy"]').val()||"";return"object"==typeof b&&(b=this.getId(b)),a("table.widefat .spinner").show(),c={action:"inline-save-tax",tax_type:this.type,tax_ID:b,taxonomy:e},d=a("#edit-"+b).find(":input").serialize(),c=d+"&"+a.param(c),a.post(ajaxurl,c,function(c){var d,e;a("table.widefat .spinner").hide(),c?-1!==c.indexOf("<tr")?(a(inlineEditTax.what+b).remove(),e=a(c).attr("id"),a("#edit-"+b).before(c).remove(),d=a(e?"#"+e:inlineEditTax.what+b),d.hide().fadeIn()):a("#edit-"+b+" .inline-edit-save .error").html(c).show():a("#edit-"+b+" .inline-edit-save .error").html(inlineEditL10n.error).show(),a(d).prev("tr").hasClass("alternate")&&a(d).removeClass("alternate")}),!1},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");return b&&(a("table.widefat .spinner").hide(),a("#"+b).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 549d660d949cd1f538310b8dd93b8b0353becc07..7e6eed23da5bed19914ef379327c5840ba21ce5f 100644 (file)
@@ -1,49 +1,36 @@
-/* global tinymce, QTags, tb_remove */
+/* global tinymce, QTags */
 // send html to the post editor
 
 var wpActiveEditor, send_to_editor;
 
-send_to_editor = function(h) {
-       var ed, mce = typeof(tinymce) != 'undefined', qt = typeof(QTags) != 'undefined';
+send_to_editor = function( html ) {
+       var editor,
+               hasTinymce = typeof tinymce !== 'undefined',
+               hasQuicktags = typeof QTags !== 'undefined';
 
-       if ( !wpActiveEditor ) {
-               if ( mce && tinymce.activeEditor ) {
-                       ed = tinymce.activeEditor;
-                       wpActiveEditor = ed.id;
-               } else if ( !qt ) {
+       if ( ! wpActiveEditor ) {
+               if ( hasTinymce && tinymce.activeEditor ) {
+                       editor = tinymce.activeEditor;
+                       wpActiveEditor = editor.id;
+               } else if ( ! hasQuicktags ) {
                        return false;
                }
-       } else if ( mce ) {
-               if ( tinymce.activeEditor && (tinymce.activeEditor.id == 'mce_fullscreen' || tinymce.activeEditor.id == 'wp_mce_fullscreen') )
-                       ed = tinymce.activeEditor;
-               else
-                       ed = tinymce.get(wpActiveEditor);
+       } else if ( hasTinymce ) {
+               editor = tinymce.get( wpActiveEditor );
        }
 
-       if ( ed && !ed.isHidden() ) {
-               // restore caret position on IE
-               if ( tinymce.isIE && ed.windowManager.insertimagebookmark )
-                       ed.selection.moveToBookmark(ed.windowManager.insertimagebookmark);
-
-               if ( h.indexOf('[caption') !== -1 ) {
-                       if ( ed.wpSetImgCaption )
-                               h = ed.wpSetImgCaption(h);
-               } else if ( h.indexOf('[gallery') !== -1 ) {
-                       if ( ed.plugins.wpgallery )
-                               h = ed.plugins.wpgallery._do_gallery(h);
-               } else if ( h.indexOf('[embed') === 0 ) {
-                       if ( ed.plugins.wordpress )
-                               h = ed.plugins.wordpress._setEmbed(h);
-               }
-
-               ed.execCommand('mceInsertContent', false, h);
-       } else if ( qt ) {
-               QTags.insertContent(h);
+       if ( editor && ! editor.isHidden() ) {
+               editor.execCommand( 'mceInsertContent', false, html );
+       } else if ( hasQuicktags ) {
+               QTags.insertContent( html );
        } else {
-               document.getElementById(wpActiveEditor).value += h;
+               document.getElementById( wpActiveEditor ).value += html;
        }
 
-       try{tb_remove();}catch(e){}
+       // If the old thickbox remove function exists, call it
+       if ( window.tb_remove ) {
+               try { window.tb_remove(); } catch( e ) {}
+       }
 };
 
 // thickbox settings
@@ -56,8 +43,8 @@ var tb_position;
                        W = ( 720 < width ) ? 720 : width,
                        adminbar_height = 0;
 
-               if ( $('body.admin-bar').length ) {
-                       adminbar_height = parseInt( jQuery('#wpadminbar').css('height'), 10 );
+               if ( $('#wpadminbar').length ) {
+                       adminbar_height = parseInt( $('#wpadminbar').css('height'), 10 );
                }
 
                if ( tbWindow.size() ) {
@@ -79,16 +66,4 @@ var tb_position;
 
        $(window).resize(function(){ tb_position(); });
 
-       // store caret position in IE
-       $(document).ready(function($){
-               $('a.thickbox').click(function(){
-                       var ed;
-
-                       if ( typeof(tinymce) != 'undefined' && tinymce.isIE && ( ed = tinymce.get(wpActiveEditor) ) && !ed.isHidden() ) {
-                               ed.focus();
-                               ed.windowManager.insertimagebookmark = ed.selection.getBookmark();
-                       }
-               });
-       });
-
 })(jQuery);
index 4ed4da7227294f952814dce16e9d307b0b4ee835..8fc72f2c1159ef0e299cc99ed0df4e7498a09a79 100644 (file)
@@ -1 +1 @@
-var wpActiveEditor,send_to_editor;send_to_editor=function(a){var b,c="undefined"!=typeof tinymce,d="undefined"!=typeof QTags;if(wpActiveEditor)c&&(b=!tinymce.activeEditor||"mce_fullscreen"!=tinymce.activeEditor.id&&"wp_mce_fullscreen"!=tinymce.activeEditor.id?tinymce.get(wpActiveEditor):tinymce.activeEditor);else if(c&&tinymce.activeEditor)b=tinymce.activeEditor,wpActiveEditor=b.id;else if(!d)return!1;b&&!b.isHidden()?(tinymce.isIE&&b.windowManager.insertimagebookmark&&b.selection.moveToBookmark(b.windowManager.insertimagebookmark),-1!==a.indexOf("[caption")?b.wpSetImgCaption&&(a=b.wpSetImgCaption(a)):-1!==a.indexOf("[gallery")?b.plugins.wpgallery&&(a=b.plugins.wpgallery._do_gallery(a)):0===a.indexOf("[embed")&&b.plugins.wordpress&&(a=b.plugins.wordpress._setEmbed(a)),b.execCommand("mceInsertContent",!1,a)):d?QTags.insertContent(a):document.getElementById(wpActiveEditor).value+=a;try{tb_remove()}catch(e){}};var tb_position;!function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height(),e=c>720?720:c,f=0;return a("body.admin-bar").length&&(f=parseInt(jQuery("#wpadminbar").css("height"),10)),b.size()&&(b.width(e-50).height(d-45-f),a("#TB_iframeContent").width(e-50).height(d-75-f),b.css({"margin-left":"-"+parseInt((e-50)/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:20+f+"px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+(e-80)+"&height="+(d-85-f)))})},a(window).resize(function(){tb_position()}),a(document).ready(function(a){a("a.thickbox").click(function(){var a;"undefined"!=typeof tinymce&&tinymce.isIE&&(a=tinymce.get(wpActiveEditor))&&!a.isHidden()&&(a.focus(),a.windowManager.insertimagebookmark=a.selection.getBookmark())})})}(jQuery);
\ No newline at end of file
+var wpActiveEditor,send_to_editor;send_to_editor=function(a){var b,c="undefined"!=typeof tinymce,d="undefined"!=typeof QTags;if(wpActiveEditor)c&&(b=tinymce.get(wpActiveEditor));else if(c&&tinymce.activeEditor)b=tinymce.activeEditor,wpActiveEditor=b.id;else if(!d)return!1;if(b&&!b.isHidden()?b.execCommand("mceInsertContent",!1,a):d?QTags.insertContent(a):document.getElementById(wpActiveEditor).value+=a,window.tb_remove)try{window.tb_remove()}catch(e){}};var tb_position;!function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height(),e=c>720?720:c,f=0;return a("#wpadminbar").length&&(f=parseInt(a("#wpadminbar").css("height"),10)),b.size()&&(b.width(e-50).height(d-45-f),a("#TB_iframeContent").width(e-50).height(d-75-f),b.css({"margin-left":"-"+parseInt((e-50)/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:20+f+"px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+(e-80)+"&height="+(d-85-f)))})},a(window).resize(function(){tb_position()})}(jQuery);
\ No newline at end of file
index 3c2aa69ae661e0ac10cb5d8e9c8ee44c67822d59..f9fc6508afb02053ae989ed99416304116d837e2 100644 (file)
@@ -1,11 +1,10 @@
-/* global ajaxurl, wpAjax */
+/* global ajaxurl, attachMediaBoxL10n */
 
 var findPosts;
-(function($){
+( function( $ ){
        findPosts = {
-               open : function(af_name, af_val) {
-                       var st = document.documentElement.scrollTop || $(document).scrollTop(),
-                               overlay = $( '.ui-find-overlay' );
+               open: function( af_name, af_val ) {
+                       var overlay = $( '.ui-find-overlay' );
 
                        if ( overlay.length === 0 ) {
                                $( 'body' ).append( '<div class="ui-find-overlay"></div>' );
@@ -15,14 +14,15 @@ var findPosts;
                        overlay.show();
 
                        if ( af_name && af_val ) {
-                               $('#affected').attr('name', af_name).val(af_val);
+                               $( '#affected' ).attr( 'name', af_name ).val( af_val );
                        }
-                       $('#find-posts').show().draggable({
-                               handle: '#find-posts-head'
-                       }).css({'top':st + 50 + 'px','left':'50%','marginLeft':'-328px'});
 
-                       $('#find-posts-input').focus().keyup(function(e){
-                               if (e.which == 27) { findPosts.close(); } // close on Escape
+                       $( '#find-posts' ).show();
+
+                       $('#find-posts-input').focus().keyup( function( event ){
+                               if ( event.which == 27 ) {
+                                       findPosts.close();
+                               } // close on Escape
                        });
 
                        // Pull some results up by default
@@ -31,23 +31,21 @@ var findPosts;
                        return false;
                },
 
-               close : function() {
+               close: function() {
                        $('#find-posts-response').html('');
-                       $('#find-posts').draggable('destroy').hide();
+                       $('#find-posts').hide();
                        $( '.ui-find-overlay' ).hide();
                },
 
-               overlay : function() {
-                       $( '.ui-find-overlay' ).css(
-                               { 'z-index': '999', 'width': $( document ).width() + 'px', 'height': $( document ).height() + 'px' }
-                       ).on('click', function () {
+               overlay: function() {
+                       $( '.ui-find-overlay' ).on( 'click', function () {
                                findPosts.close();
                        });
                },
 
-               send : function() {
+               send: function() {
                        var post = {
-                                       ps: $('#find-posts-input').val(),
+                                       ps: $( '#find-posts-input' ).val(),
                                        action: 'find_posts',
                                        _ajax_nonce: $('#_ajax_nonce').val()
                                },
@@ -55,71 +53,49 @@ var findPosts;
 
                        spinner.show();
 
-                       $.ajax({
-                               type : 'POST',
-                               url : ajaxurl,
-                               data : post,
-                               success : function(x) { findPosts.show(x); spinner.hide(); },
-                               error : function(r) { findPosts.error(r); spinner.hide(); }
-                       });
-               },
-
-               show : function(x) {
-
-                       if ( typeof(x) == 'string' ) {
-                               this.error({'responseText': x});
-                               return;
-                       }
-
-                       var r = wpAjax.parseAjaxResponse(x);
-
-                       if ( r.errors ) {
-                               this.error({'responseText': wpAjax.broken});
-                       }
-                       r = r.responses[0];
-                       $('#find-posts-response').html(r.data);
+                       $.ajax( ajaxurl, {
+                               type: 'POST',
+                               data: post,
+                               dataType: 'json'
+                       }).always( function() {
+                               spinner.hide();
+                       }).done( function( x ) {
+                               if ( ! x.success ) {
+                                       $( '#find-posts-response' ).text( attachMediaBoxL10n.error );
+                               }
 
-                       // Enable whole row to be clicked
-                       $( '.found-posts td' ).on( 'click', function () {
-                               $( this ).parent().find( '.found-radio input' ).prop( 'checked', true );
+                               $( '#find-posts-response' ).html( x.data );
+                       }).fail( function() {
+                               $( '#find-posts-response' ).text( attachMediaBoxL10n.error );
                        });
-               },
-
-               error : function(r) {
-                       var er = r.statusText;
-
-                       if ( r.responseText ) {
-                               er = r.responseText.replace( /<.[^<>]*?>/g, '' );
-                       }
-                       if ( er ) {
-                               $('#find-posts-response').html(er);
-                       }
                }
        };
 
-       $(document).ready(function() {
-               $('#find-posts-submit').click(function(e) {
-                       if ( '' === $('#find-posts-response').html() )
-                               e.preventDefault();
+       $( document ).ready( function() {
+               $( '#find-posts-submit' ).click( function( event ) {
+                       if ( ! $( '#find-posts-response input[type="radio"]:checked' ).length )
+                               event.preventDefault();
                });
                $( '#find-posts .find-box-search :input' ).keypress( function( event ) {
                        if ( 13 == event.which ) {
                                findPosts.send();
                                return false;
                        }
-               } );
+               });
                $( '#find-posts-search' ).click( findPosts.send );
                $( '#find-posts-close' ).click( findPosts.close );
-               $('#doaction, #doaction2').click(function(e){
-                       $('select[name^="action"]').each(function(){
-                               if ( $(this).val() == 'attach' ) {
-                                       e.preventDefault();
+               $( '#doaction, #doaction2' ).click( function( event ) {
+                       $( 'select[name^="action"]' ).each( function() {
+                               if ( $(this).val() === 'attach' ) {
+                                       event.preventDefault();
                                        findPosts.open();
                                }
                        });
                });
+
+               // Enable whole row to be clicked
+               $( '.find-box-inside' ).on( 'click', 'tr', function() {
+                       $( this ).find( '.found-radio input' ).prop( 'checked', true );
+               });
        });
-       $(window).resize(function() {
-               findPosts.overlay();
-       });
-})(jQuery);
+})( jQuery );
index 9d1a8345aaec906b2cf329497787331b74bcb8d5..5cd4e267eb5b71c41be07b8c36aea597fbe5ba4e 100644 (file)
@@ -1 +1 @@
-var findPosts;!function(a){findPosts={open:function(b,c){var d=document.documentElement.scrollTop||a(document).scrollTop(),e=a(".ui-find-overlay");return 0===e.length&&(a("body").append('<div class="ui-find-overlay"></div>'),findPosts.overlay()),e.show(),b&&c&&a("#affected").attr("name",b).val(c),a("#find-posts").show().draggable({handle:"#find-posts-head"}).css({top:d+50+"px",left:"50%",marginLeft:"-328px"}),a("#find-posts-input").focus().keyup(function(a){27==a.which&&findPosts.close()}),findPosts.send(),!1},close:function(){a("#find-posts-response").html(""),a("#find-posts").draggable("destroy").hide(),a(".ui-find-overlay").hide()},overlay:function(){a(".ui-find-overlay").css({"z-index":"999",width:a(document).width()+"px",height:a(document).height()+"px"}).on("click",function(){findPosts.close()})},send:function(){var b={ps:a("#find-posts-input").val(),action:"find_posts",_ajax_nonce:a("#_ajax_nonce").val()},c=a(".find-box-search .spinner");c.show(),a.ajax({type:"POST",url:ajaxurl,data:b,success:function(a){findPosts.show(a),c.hide()},error:function(a){findPosts.error(a),c.hide()}})},show:function(b){if("string"==typeof b)return this.error({responseText:b}),void 0;var c=wpAjax.parseAjaxResponse(b);c.errors&&this.error({responseText:wpAjax.broken}),c=c.responses[0],a("#find-posts-response").html(c.data),a(".found-posts td").on("click",function(){a(this).parent().find(".found-radio input").prop("checked",!0)})},error:function(b){var c=b.statusText;b.responseText&&(c=b.responseText.replace(/<.[^<>]*?>/g,"")),c&&a("#find-posts-response").html(c)}},a(document).ready(function(){a("#find-posts-submit").click(function(b){""===a("#find-posts-response").html()&&b.preventDefault()}),a("#find-posts .find-box-search :input").keypress(function(a){return 13==a.which?(findPosts.send(),!1):void 0}),a("#find-posts-search").click(findPosts.send),a("#find-posts-close").click(findPosts.close),a("#doaction, #doaction2").click(function(b){a('select[name^="action"]').each(function(){"attach"==a(this).val()&&(b.preventDefault(),findPosts.open())})})}),a(window).resize(function(){findPosts.overlay()})}(jQuery);
\ No newline at end of file
+var findPosts;!function(a){findPosts={open:function(b,c){var d=a(".ui-find-overlay");return 0===d.length&&(a("body").append('<div class="ui-find-overlay"></div>'),findPosts.overlay()),d.show(),b&&c&&a("#affected").attr("name",b).val(c),a("#find-posts").show(),a("#find-posts-input").focus().keyup(function(a){27==a.which&&findPosts.close()}),findPosts.send(),!1},close:function(){a("#find-posts-response").html(""),a("#find-posts").hide(),a(".ui-find-overlay").hide()},overlay:function(){a(".ui-find-overlay").on("click",function(){findPosts.close()})},send:function(){var b={ps:a("#find-posts-input").val(),action:"find_posts",_ajax_nonce:a("#_ajax_nonce").val()},c=a(".find-box-search .spinner");c.show(),a.ajax(ajaxurl,{type:"POST",data:b,dataType:"json"}).always(function(){c.hide()}).done(function(b){b.success||a("#find-posts-response").text(attachMediaBoxL10n.error),a("#find-posts-response").html(b.data)}).fail(function(){a("#find-posts-response").text(attachMediaBoxL10n.error)})}},a(document).ready(function(){a("#find-posts-submit").click(function(b){a('#find-posts-response input[type="radio"]:checked').length||b.preventDefault()}),a("#find-posts .find-box-search :input").keypress(function(a){return 13==a.which?(findPosts.send(),!1):void 0}),a("#find-posts-search").click(findPosts.send),a("#find-posts-close").click(findPosts.close),a("#doaction, #doaction2").click(function(b){a('select[name^="action"]').each(function(){"attach"===a(this).val()&&(b.preventDefault(),findPosts.open())})}),a(".find-box-inside").on("click","tr",function(){a(this).find(".found-radio input").prop("checked",!0)})})}(jQuery);
\ No newline at end of file
index b8000cddabf9af30fea81300676047f8f7373a58..85f6953b48709e5b5c12dd1f5c627f7458d9dcb1 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()},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();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();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").show(),a(f).each(function(){var d=a(this),f=g.exec(d.attr("name")),h="undefined"==typeof f[1]?0:parseInt(f[1],10);this.className&&-1!=this.className.indexOf("add-to-top")&&(c=b.addMenuItemToTop),e[h]=d.closest("li").getItemData("add-menu-item",h)}),b.addItemToMenu(e,c,function(){f.removeAttr("checked"),d.find(".spinner").hide()}),void 0):!1})},getItemData:function(a,b){a=a||"menu-item";var c,d={},e=["menu-item-db-id","menu-item-object-id","menu-item-object","menu-item-parent-id","menu-item-position","menu-item-type","menu-item-title","menu-item-url","menu-item-description","menu-item-attr-title","menu-item-target","menu-item-classes","menu-item-xfn"];return b||"menu-item"!=a||(b=this.find(".menu-item-data-db-id").val()),b?(this.find("input").each(function(){var f;for(c=e.length;c--;)"menu-item"==a?f=e[c]+"["+b+"]":"add-menu-item"==a&&(f="menu-item["+b+"]["+e[c]+"]"),this.name&&f==this.name&&(d[e[c]]=this.value)}),d):d},setItemData:function(b,c,d){return c=c||"menu-item",d||"menu-item"!=c||(d=a(".menu-item-data-db-id",this).val()),d?(this.find("input").each(function(){var e,f=a(this);a.each(b,function(a,b){"menu-item"==c?e=a+"["+d+"]":"add-menu-item"==c&&(e="menu-item["+d+"]["+a+"]"),e==f.attr("name")&&f.val(b)})}),this):this}})},countMenuItems:function(b){return a(".menu-item-depth-"+b).length},moveMenuItem:function(c,d){var e,f,g,h=a("#menu-to-edit li"),i=h.length,j=c.parents("li.menu-item"),k=j.childMenuItems(),l=j.getItemData(),m=parseInt(j.menuItemDepth(),10),n=parseInt(j.index(),10),o=j.next(),p=o.childMenuItems(),q=parseInt(o.menuItemDepth(),10)+1,r=j.prev(),s=parseInt(r.menuItemDepth(),10),t=r.getItemData()["menu-item-db-id"];switch(d){case"up":if(f=n-1,0===n)break;0===f&&0!==m&&j.moveHorizontally(0,m),0!==s&&j.moveHorizontally(s,m),k?(e=j.add(k),e.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId();break;case"down":if(k){if(e=j.add(k),o=h.eq(e.length+n),p=0!==o.childMenuItems().length,p&&(g=parseInt(o.menuItemDepth(),10)+1,j.moveHorizontally(g,m)),i===n+e.length)break;e.detach().insertAfter(h.eq(n+e.length)).updateParentMenuItemDBId()}else{if(0!==p.length&&j.moveHorizontally(q,m),i===n+1)break;j.detach().insertAfter(h.eq(n+1)).updateParentMenuItemDBId()}break;case"top":if(0===n)break;k?(e=j.add(k),e.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId();break;case"left":if(0===m)break;j.shiftHorizontally(-1);break;case"right":if(0===n)break;if(l["menu-item-parent-id"]===t)break;j.shiftHorizontally(1)}c.focus(),b.registerChange(),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},initAccessibility:function(){var c=a("#menu-to-edit");b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility(),c.on("click",".menus-move-up",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"up"),c.preventDefault()}),c.on("click",".menus-move-down",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"down"),c.preventDefault()}),c.on("click",".menus-move-top",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"top"),c.preventDefault()}),c.on("click",".menus-move-left",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"left"),c.preventDefault()}),c.on("click",".menus-move-right",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"right"),c.preventDefault()})},refreshAdvancedAccessibility:function(){a(".menu-item-settings .field-move a").css("display","none"),a(".item-edit").each(function(){var b,c,d,e,f,g,h,i,j,k=a(this),l=k.closest("li.menu-item").first(),m=l.menuItemDepth(),n=0===m,o=k.closest(".menu-item-handle").find(".menu-item-title").text(),p=parseInt(l.index(),10),q=n?m:parseInt(m-1,10),r=l.prevAll(".menu-item-depth-"+q).first().find(".menu-item-title").text(),s=l.prevAll(".menu-item-depth-"+m).first().find(".menu-item-title").text(),t=a("#menu-to-edit li").length,u=l.nextAll(".menu-item-depth-"+m).length;0!==p&&(b=l.find(".menus-move-up"),b.prop("title",menus.moveUp).css("display","inline")),0!==p&&n&&(b=l.find(".menus-move-top"),b.prop("title",menus.moveToTop).css("display","inline")),p+1!==t&&0!==p&&(b=l.find(".menus-move-down"),b.prop("title",menus.moveDown).css("display","inline")),0===p&&0!==u&&(b=l.find(".menus-move-down"),b.prop("title",menus.moveDown).css("display","inline")),n||(b=l.find(".menus-move-left"),c=menus.outFrom.replace("%s",r),b.prop("title",menus.moveOutFrom.replace("%s",r)).html(c).css("display","inline")),0!==p&&l.find(".menu-item-data-parent-id").val()!==l.prev().find(".menu-item-data-db-id").val()&&(b=l.find(".menus-move-right"),c=menus.under.replace("%s",s),b.prop("title",menus.moveUnder.replace("%s",s)).html(c).css("display","inline")),n?(d=a(".menu-item-depth-0"),e=d.index(l)+1,t=d.length,f=menus.menuFocus.replace("%1$s",o).replace("%2$d",e).replace("%3$d",t)):(g=l.prevAll(".menu-item-depth-"+parseInt(m-1,10)).first(),h=g.find(".menu-item-data-db-id").val(),i=g.find(".menu-item-title").text(),j=a('.menu-item .menu-item-data-parent-id[value="'+h+'"]'),e=a(j.parents(".menu-item").get().reverse()).index(l)+1,f=menus.subMenuFocus.replace("%1$s",o).replace("%2$d",e).replace("%3$s",i)),k.prop("title",f).html(f)})},refreshKeyboardAccessibility:function(){a(".item-edit").off("focus").on("focus",function(){a(this).off("keydown").on("keydown",function(c){var d,e=a(this),f=e.parents("li.menu-item"),g=f.getItemData();if((37==c.which||38==c.which||39==c.which||40==c.which)&&(e.off("keydown"),1!==a("#menu-to-edit li").length)){switch(d={38:"up",40:"down",37:"left",39:"right"},a("body").hasClass("rtl")&&(d={38:"up",40:"down",39:"left",37:"right"}),d[c.which]){case"up":b.moveMenuItem(e,"up");break;case"down":b.moveMenuItem(e,"down");break;case"left":b.moveMenuItem(e,"left");break;case"right":b.moveMenuItem(e,"right")}return a("#edit-"+g["menu-item-db-id"]).focus(),!1}})})},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").show(),a.post(ajaxurl,c,function(){b.find(".spinner").hide()}),!1})},attachQuickSearchListeners:function(){var c;a(".quick-search").keypress(function(d){var e=a(this);return 13==d.which?(b.updateQuickSearchResults(e),!1):(c&&clearTimeout(c),c=setTimeout(function(){b.updateQuickSearchResults(e)},400),void 0)}).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).show(),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").show(),this.addLinkToMenu(d,e,c,function(){a(".customlinkdiv .spinner").hide(),a("#custom-menu-item-name").val("").blur(),a("#custom-menu-item-url").val("http://")}),void 0)},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),a(".spinner",d).hide(),void 0):(a(".categorychecklist",d).html("<li><p>"+navMenuL10n.noResultsFound+"</p></li>"),a(".spinner",d).hide(),void 0)},removeMenuItem:function(b){var c=b.childMenuItems();b.addClass("deleting").animate({opacity:0,height:0},350,function(){var d=a("#menu-instructions");b.remove(),c.shiftDepthClass(-1).updateParentMenuItemDBId(),0===a("#menu-to-edit li").length&&(a(".drag-instructions").hide(),d.removeClass("menu-instructions-inactive"))})},depthToPx:function(a){return a*b.options.menuItemDepthPerLevel},pxToDepth:function(a){return Math.floor(a/b.options.menuItemDepthPerLevel)}},a(document).ready(function(){wpNavMenu.init()})}(jQuery);
\ No newline at end of file
+var wpNavMenu;!function(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()},jQueryExtensions:function(){a.fn.extend({menuItemDepth:function(){var a=this.eq(0).css(b.isRTL?"margin-right":"margin-left");return b.pxToDepth(a&&-1!=a.indexOf("px")?a.slice(0,-2):0)},updateDepthClass:function(b,c){return this.each(function(){var d=a(this);c=c||d.menuItemDepth(),a(this).removeClass("menu-item-depth-"+c).addClass("menu-item-depth-"+b)})},shiftDepthClass:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth();a(this).removeClass("menu-item-depth-"+d).addClass("menu-item-depth-"+(d+b))})},childMenuItems:function(){var b=a();return this.each(function(){for(var c=a(this),d=c.menuItemDepth(),e=c.next();e.length&&e.menuItemDepth()>d;)b=b.add(e),e=e.next()}),b},shiftHorizontally:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth(),e=d+b;c.moveHorizontally(e,d)})},moveHorizontally:function(b,c){return this.each(function(){var d=a(this),e=d.childMenuItems(),f=b-c,g=d.find(".is-submenu");d.updateDepthClass(b,c).updateParentMenuItemDBId(),e&&e.each(function(){var b=a(this),c=b.menuItemDepth(),d=c+f;b.updateDepthClass(d,c).updateParentMenuItemDBId()}),0===b?g.hide():g.show()})},updateParentMenuItemDBId:function(){return this.each(function(){var b=a(this),c=b.find(".menu-item-data-parent-id"),d=parseInt(b.menuItemDepth(),10),e=d-1,f=b.prevAll(".menu-item-depth-"+e).first();c.val(0===d?0:f.find(".menu-item-data-db-id").val())})},hideAdvancedMenuItemFields:function(){return this.each(function(){var b=a(this);a(".hide-column-tog").not(":checked").each(function(){b.find(".field-"+a(this).val()).addClass("hidden-field")})})},addSelectedToMenu:function(c){return 0===a("#menu-to-edit").length?!1:this.each(function(){var d=a(this),e={},f=d.find(menus.oneThemeLocationNoMenus&&0===d.find(".tabs-panel-active .categorychecklist li input:checked").length?'#page-all li input[type="checkbox"]':".tabs-panel-active .categorychecklist li input:checked"),g=/menu-item\[([^\]]*)/;return c=c||b.addMenuItemToBottom,f.length?(d.find(".spinner").show(),a(f).each(function(){var d=a(this),f=g.exec(d.attr("name")),h="undefined"==typeof f[1]?0:parseInt(f[1],10);this.className&&-1!=this.className.indexOf("add-to-top")&&(c=b.addMenuItemToTop),e[h]=d.closest("li").getItemData("add-menu-item",h)}),void b.addItemToMenu(e,c,function(){f.removeAttr("checked"),d.find(".spinner").hide()})):!1})},getItemData:function(a,b){a=a||"menu-item";var c,d={},e=["menu-item-db-id","menu-item-object-id","menu-item-object","menu-item-parent-id","menu-item-position","menu-item-type","menu-item-title","menu-item-url","menu-item-description","menu-item-attr-title","menu-item-target","menu-item-classes","menu-item-xfn"];return b||"menu-item"!=a||(b=this.find(".menu-item-data-db-id").val()),b?(this.find("input").each(function(){var f;for(c=e.length;c--;)"menu-item"==a?f=e[c]+"["+b+"]":"add-menu-item"==a&&(f="menu-item["+b+"]["+e[c]+"]"),this.name&&f==this.name&&(d[e[c]]=this.value)}),d):d},setItemData:function(b,c,d){return c=c||"menu-item",d||"menu-item"!=c||(d=a(".menu-item-data-db-id",this).val()),d?(this.find("input").each(function(){var e,f=a(this);a.each(b,function(a,b){"menu-item"==c?e=a+"["+d+"]":"add-menu-item"==c&&(e="menu-item["+d+"]["+a+"]"),e==f.attr("name")&&f.val(b)})}),this):this}})},countMenuItems:function(b){return a(".menu-item-depth-"+b).length},moveMenuItem:function(c,d){var e,f,g,h=a("#menu-to-edit li"),i=h.length,j=c.parents("li.menu-item"),k=j.childMenuItems(),l=j.getItemData(),m=parseInt(j.menuItemDepth(),10),n=parseInt(j.index(),10),o=j.next(),p=o.childMenuItems(),q=parseInt(o.menuItemDepth(),10)+1,r=j.prev(),s=parseInt(r.menuItemDepth(),10),t=r.getItemData()["menu-item-db-id"];switch(d){case"up":if(f=n-1,0===n)break;0===f&&0!==m&&j.moveHorizontally(0,m),0!==s&&j.moveHorizontally(s,m),k?(e=j.add(k),e.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId();break;case"down":if(k){if(e=j.add(k),o=h.eq(e.length+n),p=0!==o.childMenuItems().length,p&&(g=parseInt(o.menuItemDepth(),10)+1,j.moveHorizontally(g,m)),i===n+e.length)break;e.detach().insertAfter(h.eq(n+e.length)).updateParentMenuItemDBId()}else{if(0!==p.length&&j.moveHorizontally(q,m),i===n+1)break;j.detach().insertAfter(h.eq(n+1)).updateParentMenuItemDBId()}break;case"top":if(0===n)break;k?(e=j.add(k),e.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId();break;case"left":if(0===m)break;j.shiftHorizontally(-1);break;case"right":if(0===n)break;if(l["menu-item-parent-id"]===t)break;j.shiftHorizontally(1)}c.focus(),b.registerChange(),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},initAccessibility:function(){var c=a("#menu-to-edit");b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility(),c.on("click",".menus-move-up",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"up"),c.preventDefault()}),c.on("click",".menus-move-down",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"down"),c.preventDefault()}),c.on("click",".menus-move-top",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"top"),c.preventDefault()}),c.on("click",".menus-move-left",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"left"),c.preventDefault()}),c.on("click",".menus-move-right",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"right"),c.preventDefault()})},refreshAdvancedAccessibility:function(){a(".menu-item-settings .field-move a").css("display","none"),a(".item-edit").each(function(){var b,c,d,e,f,g,h,i,j,k=a(this),l=k.closest("li.menu-item").first(),m=l.menuItemDepth(),n=0===m,o=k.closest(".menu-item-handle").find(".menu-item-title").text(),p=parseInt(l.index(),10),q=n?m:parseInt(m-1,10),r=l.prevAll(".menu-item-depth-"+q).first().find(".menu-item-title").text(),s=l.prevAll(".menu-item-depth-"+m).first().find(".menu-item-title").text(),t=a("#menu-to-edit li").length,u=l.nextAll(".menu-item-depth-"+m).length;0!==p&&(b=l.find(".menus-move-up"),b.prop("title",menus.moveUp).css("display","inline")),0!==p&&n&&(b=l.find(".menus-move-top"),b.prop("title",menus.moveToTop).css("display","inline")),p+1!==t&&0!==p&&(b=l.find(".menus-move-down"),b.prop("title",menus.moveDown).css("display","inline")),0===p&&0!==u&&(b=l.find(".menus-move-down"),b.prop("title",menus.moveDown).css("display","inline")),n||(b=l.find(".menus-move-left"),c=menus.outFrom.replace("%s",r),b.prop("title",menus.moveOutFrom.replace("%s",r)).html(c).css("display","inline")),0!==p&&l.find(".menu-item-data-parent-id").val()!==l.prev().find(".menu-item-data-db-id").val()&&(b=l.find(".menus-move-right"),c=menus.under.replace("%s",s),b.prop("title",menus.moveUnder.replace("%s",s)).html(c).css("display","inline")),n?(d=a(".menu-item-depth-0"),e=d.index(l)+1,t=d.length,f=menus.menuFocus.replace("%1$s",o).replace("%2$d",e).replace("%3$d",t)):(g=l.prevAll(".menu-item-depth-"+parseInt(m-1,10)).first(),h=g.find(".menu-item-data-db-id").val(),i=g.find(".menu-item-title").text(),j=a('.menu-item .menu-item-data-parent-id[value="'+h+'"]'),e=a(j.parents(".menu-item").get().reverse()).index(l)+1,f=menus.subMenuFocus.replace("%1$s",o).replace("%2$d",e).replace("%3$s",i)),k.prop("title",f).html(f)})},refreshKeyboardAccessibility:function(){a(".item-edit").off("focus").on("focus",function(){a(this).off("keydown").on("keydown",function(c){var d,e=a(this),f=e.parents("li.menu-item"),g=f.getItemData();if((37==c.which||38==c.which||39==c.which||40==c.which)&&(e.off("keydown"),1!==a("#menu-to-edit li").length)){switch(d={38:"up",40:"down",37:"left",39:"right"},a("body").hasClass("rtl")&&(d={38:"up",40:"down",39:"left",37:"right"}),d[c.which]){case"up":b.moveMenuItem(e,"up");break;case"down":b.moveMenuItem(e,"down");break;case"left":b.moveMenuItem(e,"left");break;case"right":b.moveMenuItem(e,"right")}return a("#edit-"+g["menu-item-db-id"]).focus(),!1}})})},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").show(),a.post(ajaxurl,c,function(){b.find(".spinner").hide()}),!1})},attachQuickSearchListeners:function(){var c;a(".quick-search").keypress(function(d){var e=a(this);return 13==d.which?(b.updateQuickSearchResults(e),!1):(c&&clearTimeout(c),void(c=setTimeout(function(){b.updateQuickSearchResults(e)},400)))}).attr("autocomplete","off")},updateQuickSearchResults:function(c){var d,e,f=2,g=c.val();g.length<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).show(),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").show(),void this.addLinkToMenu(d,e,c,function(){a(".customlinkdiv .spinner").hide(),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).hide()):(a(".categorychecklist",d).html("<li><p>"+navMenuL10n.noResultsFound+"</p></li>"),void a(".spinner",d).hide())},removeMenuItem:function(b){var c=b.childMenuItems();b.addClass("deleting").animate({opacity:0,height:0},350,function(){var d=a("#menu-instructions");b.remove(),c.shiftDepthClass(-1).updateParentMenuItemDBId(),0===a("#menu-to-edit li").length&&(a(".drag-instructions").hide(),d.removeClass("menu-instructions-inactive"))})},depthToPx:function(a){return a*b.options.menuItemDepthPerLevel},pxToDepth:function(a){return Math.floor(a/b.options.menuItemDepthPerLevel)}},a(document).ready(function(){wpNavMenu.init()})}(jQuery);
\ No newline at end of file
index a5029ece39173766cfcd782df4b7128e28af553a..9f686fc6beaa75be65d03b5b907360109207989c 100644 (file)
@@ -2,37 +2,41 @@
 
 /* Plugin Browser Thickbox related JS*/
 var tb_position;
-jQuery(document).ready(function($) {
+jQuery( document ).ready( function( $ ) {
        tb_position = function() {
-               var tbWindow = $('#TB_window'),
-                       width = $(window).width(),
-                       H = $(window).height(),
-                       W = ( 720 < width ) ? 720 : width,
-                       adminbar_height = 0;
-
-               if ( $('body.admin-bar').length ) {
-                       adminbar_height = parseInt( jQuery('#wpadminbar').css('height'), 10 );
-               }
+               var tbWindow = $( '#TB_window' ),
+                       width = $( window ).width(),
+                       H = $( window ).height() - ( ( 850 < width ) ? 60 : 20 ),
+                       W = ( 850 < width ) ? 830 : width - 20;
 
                if ( tbWindow.size() ) {
-                       tbWindow.width( W - 50 ).height( H - 45 - adminbar_height );
-                       $('#TB_iframeContent').width( W - 50 ).height( H - 75 - adminbar_height );
-                       tbWindow.css({'margin-left': '-' + parseInt( ( ( W - 50 ) / 2 ), 10 ) + 'px'});
-                       if ( typeof document.body.style.maxWidth !== 'undefined' )
-                               tbWindow.css({'top': 20 + adminbar_height + 'px', 'margin-top': '0'});
+                       tbWindow.width( W ).height( H );
+                       $( '#TB_iframeContent' ).width( W ).height( H );
+                       tbWindow.css({
+                               'margin-left': '-' + parseInt( ( W / 2 ), 10 ) + 'px'
+                       });
+                       if ( typeof document.body.style.maxWidth !== 'undefined' ) {
+                               tbWindow.css({
+                                       'top': ( ( 850 < width ) ? 30 : 10 ) + 'px',
+                                       'margin-top': '0'
+                               });
+                       }
                }
 
-               return $('a.thickbox').each( function() {
-                       var href = $(this).attr('href');
-                       if ( ! href )
+               return $( 'a.thickbox' ).each( function() {
+                       var href = $( this ).attr( 'href' );
+                       if ( ! href ) {
                                return;
-                       href = href.replace(/&width=[0-9]+/g, '');
-                       href = href.replace(/&height=[0-9]+/g, '');
-                       $(this).attr( 'href', href + '&width=' + ( W - 80 ) + '&height=' + ( H - 85 - adminbar_height ) );
+                       }
+                       href = href.replace( /&width=[0-9]+/g, '' );
+                       href = href.replace( /&height=[0-9]+/g, '' );
+                       $(this).attr( 'href', href + '&width=' + W + '&height=' + ( H ) );
                });
        };
 
-       $(window).resize(function(){ tb_position(); });
+       $( window ).resize( function() {
+               tb_position();
+       });
 
        $('.plugins').on( 'click', 'a.thickbox', function() {
                tb_click.call(this);
@@ -43,18 +47,18 @@ jQuery(document).ready(function($) {
        });
 
        /* Plugin install related JS*/
-       $('#plugin-information #sidemenu a').click( function() {
-               var tab = $(this).attr('name');
+       $( '#plugin-information-tabs a' ).click( function( event ) {
+               var tab = $( this ).attr( 'name' );
+               event.preventDefault();
                //Flip the tab
-               $('#plugin-information-header a.current').removeClass('current');
-               $(this).addClass('current');
+               $( '#plugin-information-tabs a.current' ).removeClass( 'current' );
+               $( this ).addClass( 'current' );
                //Flip the content.
-               $('#section-holder div.section').hide(); //Hide 'em all
-               $('#section-' + tab).show();
-               return false;
+               $( '#section-holder div.section' ).hide(); //Hide 'em all
+               $( '#section-' + tab ).show();
        });
 
-       $('a.install-now').click( function() {
+       $( 'a.install-now' ).click( function() {
                return confirm( plugininstallL10n.ays );
        });
 });
index bb18621ba0fbc8961501ce50eb425577e3824f60..dee8002a50829f3afe2502356b19a6402d5cb91e 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(),e=c>720?720:c,f=0;return a("body.admin-bar").length&&(f=parseInt(jQuery("#wpadminbar").css("height"),10)),b.size()&&(b.width(e-50).height(d-45-f),a("#TB_iframeContent").width(e-50).height(d-75-f),b.css({"margin-left":"-"+parseInt((e-50)/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:20+f+"px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+(e-80)+"&height="+(d-85-f)))})},a(window).resize(function(){tb_position()}),a(".plugins").on("click","a.thickbox",function(){return tb_click.call(this),a("#TB_title").css({"background-color":"#222",color:"#cfcfcf"}),a("#TB_ajaxWindowTitle").html("<strong>"+plugininstallL10n.plugin_information+"</strong>&nbsp;"+a(this).attr("title")),!1}),a("#plugin-information #sidemenu a").click(function(){var b=a(this).attr("name");return a("#plugin-information-header a.current").removeClass("current"),a(this).addClass("current"),a("#section-holder div.section").hide(),a("#section-"+b).show(),!1}),a("a.install-now").click(function(){return confirm(plugininstallL10n.ays)})});
\ 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>850?60:20),e=c>850?830: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:(c>850?30:10)+"px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+e+"&height="+d))})},a(window).resize(function(){tb_position()}),a(".plugins").on("click","a.thickbox",function(){return tb_click.call(this),a("#TB_title").css({"background-color":"#222",color:"#cfcfcf"}),a("#TB_ajaxWindowTitle").html("<strong>"+plugininstallL10n.plugin_information+"</strong>&nbsp;"+a(this).attr("title")),!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"),a("#section-holder div.section").hide(),a("#section-"+c).show()}),a("a.install-now").click(function(){return confirm(plugininstallL10n.ays)})});
\ No newline at end of file
index 35f56548d7b338631925775299b2d20cdaacd7cb..4eac7d1d9e007dbba23f8399ce549d5888d63a90 100644 (file)
@@ -1,7 +1,11 @@
-/* global postL10n, ajaxurl, wpAjax, setPostThumbnailL10n, postboxes, pagenow, tinymce, alert, deleteUserSetting, getUserSetting, setUserSetting */
-/* global theList:true, theExtraList:true, autosave:true */
+/* global postL10n, ajaxurl, wpAjax, setPostThumbnailL10n, postboxes, pagenow, tinymce, alert, deleteUserSetting */
+/* global theList:true, theExtraList:true, getUserSetting, setUserSetting */
 
-var tagBox, commentsBox, editPermalink, makeSlugeditClickable, WPSetThumbnailHTML, WPSetThumbnailID, WPRemoveThumbnail, wptitlehint;
+var tagBox, commentsBox, WPSetThumbnailHTML, WPSetThumbnailID, WPRemoveThumbnail, wptitlehint, makeSlugeditClickable, editPermalink;
+// Back-compat: prevent fatal errors
+makeSlugeditClickable = editPermalink = function(){};
+
+window.wp = window.wp || {};
 
 // return an array with any duplicate, whitespace or values removed
 function array_unique_noempty(a) {
@@ -14,7 +18,8 @@ function array_unique_noempty(a) {
        return out;
 }
 
-(function($){
+( function($) {
+       var titleHasFocus = false;
 
 tagBox = {
        clean : function(tags) {
@@ -268,10 +273,9 @@ $(document).on( 'heartbeat-send.refresh-lock', function( e, data ) {
                send.lock = lock;
 
        data['wp-refresh-post-lock'] = send;
-});
 
-// Post locks: update the lock string or show the dialog if somebody has taken over editing
-$(document).on( 'heartbeat-tick.refresh-lock', function( e, data ) {
+}).on( 'heartbeat-tick.refresh-lock', function( e, data ) {
+       // Post locks: update the lock string or show the dialog if somebody has taken over editing
        var received, wrap, avatar;
 
        if ( data['wp-refresh-post-lock'] ) {
@@ -282,19 +286,16 @@ $(document).on( 'heartbeat-tick.refresh-lock', function( e, data ) {
                        wrap = $('#post-lock-dialog');
 
                        if ( wrap.length && ! wrap.is(':visible') ) {
-                               if ( typeof autosave == 'function' ) {
-                                       $(document).on('autosave-disable-buttons.post-lock', function() {
-                                               wrap.addClass('saving');
-                                       }).on('autosave-enable-buttons.post-lock', function() {
+                               if ( wp.autosave ) {
+                                       // Save the latest changes and disable
+                                       $(document).one( 'heartbeat-tick', function() {
+                                               wp.autosave.server.suspend();
                                                wrap.removeClass('saving').addClass('saved');
-                                               window.onbeforeunload = null;
+                                               $(window).off( 'beforeunload.edit-post' );
                                        });
 
-                                       // Save the latest changes and disable
-                                       if ( ! autosave() )
-                                               window.onbeforeunload = null;
-
-                                       autosave = function(){};
+                                       wrap.addClass('saving');
+                                       wp.autosave.server.triggerSave();
                                }
 
                                if ( received.lock_error.avatar_src ) {
@@ -309,6 +310,25 @@ $(document).on( 'heartbeat-tick.refresh-lock', function( e, data ) {
                        $('#active_post_lock').val( received.new_lock );
                }
        }
+}).on( 'before-autosave.update-post-slug', function() {
+       titleHasFocus = document.activeElement && document.activeElement.id === 'title';
+}).on( 'after-autosave.update-post-slug', function() {
+       // Create slug area only if not already there
+       // and the title field was not focused (user was not typing a title) when autosave ran
+       if ( ! $('#edit-slug-box > *').length && ! titleHasFocus ) {
+               $.post( ajaxurl, {
+                               action: 'sample-permalink',
+                               post_id: $('#post_ID').val(),
+                               new_title: $('#title').val(),
+                               samplepermalinknonce: $('#samplepermalinknonce').val()
+                       },
+                       function( data ) {
+                               if ( data != '-1' ) {
+                                       $('#edit-slug-box').html(data);
+                               }
+                       }
+               );
+       }
 });
 
 }(jQuery));
@@ -354,11 +374,25 @@ $(document).on( 'heartbeat-tick.refresh-lock', function( e, data ) {
 }(jQuery));
 
 jQuery(document).ready( function($) {
-       var stamp, visibility, updateVisibility, updateText,
-               sticky = '', last = 0, co = $('#content');
+       var stamp, visibility, $submitButtons, updateVisibility, updateText,
+               sticky = '',
+               last = 0,
+               co = $('#content'),
+               $document = $(document),
+               $editSlugWrap = $('#edit-slug-box'),
+               postId = $('#post_ID').val() || 0,
+               $submitpost = $('#submitpost'),
+               releaseLock = true,
+               $postVisibilitySelect = $('#post-visibility-select'),
+               $timestampdiv = $('#timestampdiv'),
+               $postStatusSelect = $('#post-status-select');
 
        postboxes.add_postbox_toggles(pagenow);
 
+       // Clear the window name. Otherwise if this is a former preview window where the user navigated to edit another post,
+       // and the first post is still being edited, clicking Preview there will use this window to show the preview.
+       window.name = '';
+
        // Post locks: contain focus inside the dialog. If the dialog is shown, focus the first item.
        $('#post-lock-dialog .notification-dialog').on( 'keydown', function(e) {
                if ( e.which != 9 )
@@ -376,10 +410,166 @@ jQuery(document).ready( function($) {
        }).filter(':visible').find('.wp-tab-first').focus();
 
        // Set the heartbeat interval to 15 sec. if post lock dialogs are enabled
-       if ( typeof wp !== 'undefined' && wp.heartbeat && $('#post-lock-dialog').length ) {
+       if ( wp.heartbeat && $('#post-lock-dialog').length ) {
                wp.heartbeat.interval( 15 );
        }
 
+       // The form is being submitted by the user
+       $submitButtons = $submitpost.find( ':button, :submit, a.submitdelete, #post-preview' ).on( 'click.edit-post', function( event ) {
+               var $button = $(this);
+
+               if ( $button.hasClass('disabled') ) {
+                       event.preventDefault();
+                       return;
+               }
+
+               if ( $button.hasClass('submitdelete') || $button.is( '#post-preview' ) ) {
+                       return;
+               }
+
+               // The form submission can be blocked from JS or by using HTML 5.0 validation on some fields.
+               // Run this only on an actual 'submit'.
+               $('form#post').off( 'submit.edit-post' ).on( 'submit.edit-post', function( event ) {
+                       if ( event.isDefaultPrevented() ) {
+                               return;
+                       }
+
+                       // Stop autosave
+                       if ( wp.autosave ) {
+                               wp.autosave.server.suspend();
+                       }
+
+                       releaseLock = false;
+                       $(window).off( 'beforeunload.edit-post' );
+
+                       $submitButtons.addClass( 'disabled' );
+
+                       if ( $button.attr('id') === 'publish' ) {
+                               $submitpost.find('#major-publishing-actions .spinner').show();
+                       } else {
+                               $submitpost.find('#minor-publishing .spinner').show();
+                       }
+               });
+       });
+
+       // Submit the form saving a draft or an autosave, and show a preview in a new tab
+       $('#post-preview').on( 'click.post-preview', function( event ) {
+               var $this = $(this),
+                       $form = $('form#post'),
+                       $previewField = $('input#wp-preview'),
+                       target = $this.attr('target') || 'wp-preview',
+                       ua = navigator.userAgent.toLowerCase();
+
+               event.preventDefault();
+
+               if ( $this.hasClass('disabled') ) {
+                       return;
+               }
+
+               if ( wp.autosave ) {
+                       wp.autosave.server.tempBlockSave();
+               }
+
+               $previewField.val('dopreview');
+               $form.attr( 'target', target ).submit().attr( 'target', '' );
+
+               // Workaround for WebKit bug preventing a form submitting twice to the same action.
+               // https://bugs.webkit.org/show_bug.cgi?id=28633
+               if ( ua.indexOf('safari') !== -1 && ua.indexOf('chrome') === -1 ) {
+                       $form.attr( 'action', function( index, value ) {
+                               return value + '?t=' + ( new Date() ).getTime();
+                       });
+               }
+
+               $previewField.val('');
+       });
+
+       // This code is meant to allow tabbing from Title to Post content.
+       $('#title').on( 'keydown.editor-focus', function( event ) {
+               var editor, $textarea;
+
+               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();
+                       } else if ( $textarea.length ) {
+                               $textarea.focus();
+                       } else {
+                               return;
+                       }
+
+                       event.preventDefault();
+               }
+       });
+
+       // Autosave new posts after a title is typed
+       if ( $( '#auto_draft' ).val() ) {
+               $( '#title' ).blur( function() {
+                       var cancel;
+
+                       if ( ! this.value || $('#edit-slug-box > *').length ) {
+                               return;
+                       }
+
+                       // Cancel the autosave when the blur was triggered by the user submitting the form
+                       $('form#post').one( 'submit', function() {
+                               cancel = true;
+                       });
+
+                       window.setTimeout( function() {
+                               if ( ! cancel && wp.autosave ) {
+                                       wp.autosave.server.triggerSave();
+                               }
+                       }, 200 );
+               });
+       }
+
+       $document.on( 'autosave-disable-buttons.edit-post', function() {
+               $submitButtons.addClass( 'disabled' );
+       }).on( 'autosave-enable-buttons.edit-post', function() {
+               if ( ! wp.heartbeat || ! wp.heartbeat.hasConnectionError() ) {
+                       $submitButtons.removeClass( 'disabled' );
+               }
+       }).on( 'before-autosave.edit-post', function() {
+               $( '.autosave-message' ).text( postL10n.savingText );
+       }).on( 'after-autosave.edit-post', function( event, data ) {
+               $( '.autosave-message' ).text( data.message );
+       });
+
+       $(window).on( 'beforeunload.edit-post', function() {
+               var editor = typeof tinymce !== 'undefined' && tinymce.get('content');
+
+               if ( ( editor && ! editor.isHidden() && editor.isDirty() ) ||
+                       ( wp.autosave && wp.autosave.server.postChanged() ) ) {
+
+                       return postL10n.saveAlert;
+               }
+       }).on( 'unload.edit-post', function( event ) {
+               if ( ! releaseLock ) {
+                       return;
+               }
+
+               // Unload is triggered (by hand) on removing the Thickbox iframe.
+               // Make sure we process only the main document unload.
+               if ( event.target && event.target.nodeName != '#document' ) {
+                       return;
+               }
+
+               $.ajax({
+                       type: 'POST',
+                       url: ajaxurl,
+                       async: false,
+                       data: {
+                               action: 'wp-remove-post-lock',
+                               _wpnonce: $('#_wpnonce').val(),
+                               post_ID: $('#post_ID').val(),
+                               active_post_lock: $('#active_post_lock').val()
+                       }
+               });
+       });
+
        // multi-taxonomies
        if ( $('#tagsdiv-post_tag').length ) {
                tagBox.init();
@@ -487,14 +677,13 @@ jQuery(document).ready( function($) {
                visibility = $('#post-visibility-display').html();
 
                updateVisibility = function() {
-                       var pvSelect = $('#post-visibility-select');
-                       if ( $('input:radio:checked', pvSelect).val() != 'public' ) {
+                       if ( $postVisibilitySelect.find('input:radio:checked').val() != 'public' ) {
                                $('#sticky').prop('checked', false);
                                $('#sticky-span').hide();
                        } else {
                                $('#sticky-span').show();
                        }
-                       if ( $('input:radio:checked', pvSelect).val() != 'password' ) {
+                       if ( $postVisibilitySelect.find('input:radio:checked').val() != 'password' ) {
                                $('#password-span').hide();
                        } else {
                                $('#password-span').show();
@@ -503,7 +692,7 @@ jQuery(document).ready( function($) {
 
                updateText = function() {
 
-                       if ( ! $('#timestampdiv').length )
+                       if ( ! $timestampdiv.length )
                                return true;
 
                        var attemptedDate, originalDate, currentDate, publishOn, postStatus = $('#post_status'),
@@ -515,10 +704,10 @@ jQuery(document).ready( function($) {
                        currentDate = new Date( $('#cur_aa').val(), $('#cur_mm').val() -1, $('#cur_jj').val(), $('#cur_hh').val(), $('#cur_mn').val() );
 
                        if ( attemptedDate.getFullYear() != aa || (1 + attemptedDate.getMonth()) != mm || attemptedDate.getDate() != jj || attemptedDate.getMinutes() != mn ) {
-                               $('.timestamp-wrap', '#timestampdiv').addClass('form-invalid');
+                               $timestampdiv.find('.timestamp-wrap').addClass('form-invalid');
                                return false;
                        } else {
-                               $('.timestamp-wrap', '#timestampdiv').removeClass('form-invalid');
+                               $timestampdiv.find('.timestamp-wrap').removeClass('form-invalid');
                        }
 
                        if ( attemptedDate > currentDate && $('#original_post_status').val() != 'future' ) {
@@ -545,7 +734,7 @@ jQuery(document).ready( function($) {
                                );
                        }
 
-                       if ( $('input:radio:checked', '#post-visibility-select').val() == 'private' ) {
+                       if ( $postVisibilitySelect.find('input:radio:checked').val() == 'private' ) {
                                $('#publish').val( postL10n.update );
                                if ( 0 === optPublish.length ) {
                                        postStatus.append('<option value="publish">' + postL10n.privatelyPublished + '</option>');
@@ -553,7 +742,7 @@ jQuery(document).ready( function($) {
                                        optPublish.html( postL10n.privatelyPublished );
                                }
                                $('option[value="publish"]', postStatus).prop('selected', true);
-                               $('.edit-post-status', '#misc-publishing-actions').hide();
+                               $('#misc-publishing-actions .edit-post-status').hide();
                        } else {
                                if ( $('#original_post_status').val() == 'future' || $('#original_post_status').val() == 'draft' ) {
                                        if ( optPublish.length ) {
@@ -564,7 +753,7 @@ jQuery(document).ready( function($) {
                                        optPublish.html( postL10n.published );
                                }
                                if ( postStatus.is(':hidden') )
-                                       $('.edit-post-status', '#misc-publishing-actions').show();
+                                       $('#misc-publishing-actions .edit-post-status').show();
                        }
                        $('#post-status-display').html($('option:selected', postStatus).text());
                        if ( $('option:selected', postStatus).val() == 'private' || $('option:selected', postStatus).val() == 'publish' ) {
@@ -580,34 +769,32 @@ jQuery(document).ready( function($) {
                        return true;
                };
 
-               $('.edit-visibility', '#visibility').click(function () {
-                       if ( $( '#post-visibility-select' ).is( ':hidden' ) ) {
+               $( '#visibility .edit-visibility').click( function () {
+                       if ( $postVisibilitySelect.is(':hidden') ) {
                                updateVisibility();
-                               $('#post-visibility-select').slideDown('fast');
+                               $postVisibilitySelect.slideDown('fast').find('input[type="radio"]').first().focus();
                                $(this).hide();
                        }
                        return false;
                });
 
-               $('.cancel-post-visibility', '#post-visibility-select').click(function () {
-                       $('#post-visibility-select').slideUp('fast');
+               $postVisibilitySelect.find('.cancel-post-visibility').click( function( event ) {
+                       $postVisibilitySelect.slideUp('fast');
                        $('#visibility-radio-' + $('#hidden-post-visibility').val()).prop('checked', true);
                        $('#post_password').val($('#hidden-post-password').val());
                        $('#sticky').prop('checked', $('#hidden-post-sticky').prop('checked'));
                        $('#post-visibility-display').html(visibility);
-                       $('.edit-visibility', '#visibility').show();
+                       $('#visibility .edit-visibility').show().focus();
                        updateText();
-                       return false;
+                       event.preventDefault();
                });
 
-               $('.save-post-visibility', '#post-visibility-select').click(function () { // crazyhorse - multiple ok cancels
-                       var pvSelect = $('#post-visibility-select');
-
-                       pvSelect.slideUp('fast');
-                       $('.edit-visibility', '#visibility').show();
+               $postVisibilitySelect.find('.save-post-visibility').click( function( event ) { // crazyhorse - multiple ok cancels
+                       $postVisibilitySelect.slideUp('fast');
+                       $('#visibility .edit-visibility').show();
                        updateText();
 
-                       if ( $('input:radio:checked', pvSelect).val() != 'public' ) {
+                       if ( $postVisibilitySelect.find('input:radio:checked').val() != 'public' ) {
                                $('#sticky').prop('checked', false);
                        } // WEAPON LOCKED
 
@@ -617,160 +804,160 @@ jQuery(document).ready( function($) {
                                sticky = '';
                        }
 
-                       $('#post-visibility-display').html(     postL10n[$('input:radio:checked', pvSelect).val() + sticky]     );
-                       return false;
+                       $('#post-visibility-display').html(     postL10n[ $postVisibilitySelect.find('input:radio:checked').val() + sticky ]    );
+                       event.preventDefault();
                });
 
-               $('input:radio', '#post-visibility-select').change(function() {
+               $postVisibilitySelect.find('input:radio').change( function() {
                        updateVisibility();
                });
 
-               $('#timestampdiv').siblings('a.edit-timestamp').click(function() {
-                       if ( $( '#timestampdiv' ).is( ':hidden' ) ) {
-                               $('#timestampdiv').slideDown('fast');
+               $timestampdiv.siblings('a.edit-timestamp').click( function( event ) {
+                       if ( $timestampdiv.is( ':hidden' ) ) {
+                               $timestampdiv.slideDown('fast');
                                $('#mm').focus();
                                $(this).hide();
                        }
-                       return false;
+                       event.preventDefault();
                });
 
-               $('.cancel-timestamp', '#timestampdiv').click(function() {
-                       $('#timestampdiv').slideUp('fast');
+               $timestampdiv.find('.cancel-timestamp').click( function( event ) {
+                       $timestampdiv.slideUp('fast').siblings('a.edit-timestamp').show().focus();
                        $('#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());
-                       $('#timestampdiv').siblings('a.edit-timestamp').show();
                        updateText();
-                       return false;
+                       event.preventDefault();
                });
 
-               $('.save-timestamp', '#timestampdiv').click(function () { // crazyhorse - multiple ok cancels
+               $timestampdiv.find('.save-timestamp').click( function( event ) { // crazyhorse - multiple ok cancels
                        if ( updateText() ) {
-                               $('#timestampdiv').slideUp('fast');
-                               $('#timestampdiv').siblings('a.edit-timestamp').show();
+                               $timestampdiv.slideUp('fast');
+                               $timestampdiv.siblings('a.edit-timestamp').show();
                        }
-                       return false;
+                       event.preventDefault();
                });
 
-               $('#post').on( 'submit', function(e){
+               $('#post').on( 'submit', function( event ) {
                        if ( ! updateText() ) {
-                               e.preventDefault();
-                               $('#timestampdiv').show();
+                               event.preventDefault();
+                               $timestampdiv.show();
+
+                               if ( wp.autosave ) {
+                                       wp.autosave.enableButtons();
+                               }
+
                                $('#publishing-action .spinner').hide();
-                               $('#publish').prop('disabled', false).removeClass('button-primary-disabled');
-                               return false;
                        }
                });
 
-               $('#post-status-select').siblings('a.edit-post-status').click(function() {
-                       if ( $( '#post-status-select' ).is( ':hidden' ) ) {
-                               $('#post-status-select').slideDown('fast');
+               $postStatusSelect.siblings('a.edit-post-status').click( function( event ) {
+                       if ( $postStatusSelect.is( ':hidden' ) ) {
+                               $postStatusSelect.slideDown('fast').find('select').focus();
                                $(this).hide();
                        }
-                       return false;
+                       event.preventDefault();
                });
 
-               $('.save-post-status', '#post-status-select').click(function() {
-                       $('#post-status-select').slideUp('fast');
-                       $('#post-status-select').siblings('a.edit-post-status').show();
+               $postStatusSelect.find('.save-post-status').click( function( event ) {
+                       $postStatusSelect.slideUp('fast').siblings('a.edit-post-status').show();
                        updateText();
-                       return false;
+                       event.preventDefault();
                });
 
-               $('.cancel-post-status', '#post-status-select').click(function() {
-                       $('#post-status-select').slideUp('fast');
-                       $('#post_status').val($('#hidden_post_status').val());
-                       $('#post-status-select').siblings('a.edit-post-status').show();
+               $postStatusSelect.find('.cancel-post-status').click( function( event ) {
+                       $('#post-status-select').slideUp('fast').siblings( 'a.edit-post-status' ).show().focus();
+                       $('#post_status').val( $('#hidden_post_status').val() );
                        updateText();
-                       return false;
+                       event.preventDefault();
                });
        } // end submitdiv
 
        // permalink
-       if ( $('#edit-slug-box').length ) {
-               editPermalink = function(post_id) {
-                       var slug_value, i,
-                               c = 0,
-                               e = $( '#editable-post-name' ),
-                               revert_e = e.html(),
-                               real_slug = $( '#post_name' ),
-                               revert_slug = real_slug.val(),
-                               b = $( '#edit-slug-buttons' ),
-                               revert_b = b.html(),
-                               full = $( '#editable-post-name-full' ).html();
-
-                       $('#view-post-btn').hide();
-                       b.html('<a href="#" class="save button button-small">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+'</a>');
-                       b.children('.save').click(function() {
-                               var new_slug = e.children('input').val();
-                               if ( new_slug == $('#editable-post-name-full').text() ) {
-                                       return $('.cancel', '#edit-slug-buttons').click();
+       function editPermalink() {
+               var i, slug_value,
+                       c = 0,
+                       e = $('#editable-post-name'),
+                       revert_e = e.html(),
+                       real_slug = $('#post_name'),
+                       revert_slug = real_slug.val(),
+                       b = $('#edit-slug-buttons'),
+                       revert_b = b.html(),
+                       full = $('#editable-post-name-full').html();
+
+               $('#view-post-btn').hide();
+               b.html('<a href="#" class="save button button-small">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+'</a>');
+               b.children('.save').click(function() {
+                       var new_slug = e.children('input').val();
+                       if ( new_slug == $('#editable-post-name-full').text() ) {
+                               return $('#edit-slug-buttons .cancel').click();
+                       }
+                       $.post(ajaxurl, {
+                               action: 'sample-permalink',
+                               post_id: postId,
+                               new_slug: new_slug,
+                               new_title: $('#title').val(),
+                               samplepermalinknonce: $('#samplepermalinknonce').val()
+                       }, function(data) {
+                               var box = $('#edit-slug-box');
+                               box.html(data);
+                               if (box.hasClass('hidden')) {
+                                       box.fadeIn('fast', function () {
+                                               box.removeClass('hidden');
+                                       });
                                }
-                               $.post(ajaxurl, {
-                                       action: 'sample-permalink',
-                                       post_id: post_id,
-                                       new_slug: new_slug,
-                                       new_title: $('#title').val(),
-                                       samplepermalinknonce: $('#samplepermalinknonce').val()
-                               }, function(data) {
-                                       var box = $('#edit-slug-box');
-                                       box.html(data);
-                                       if (box.hasClass('hidden')) {
-                                               box.fadeIn('fast', function () {
-                                                       box.removeClass('hidden');
-                                               });
-                                       }
-                                       b.html(revert_b);
-                                       real_slug.val(new_slug);
-                                       makeSlugeditClickable();
-                                       $('#view-post-btn').show();
-                               });
-                               return false;
-                       });
-
-                       $('.cancel', '#edit-slug-buttons').click(function() {
-                               $('#view-post-btn').show();
-                               e.html(revert_e);
                                b.html(revert_b);
-                               real_slug.val(revert_slug);
-                               return false;
+                               real_slug.val(new_slug);
+                               $('#view-post-btn').show();
                        });
+                       return false;
+               });
+
+               $('#edit-slug-buttons .cancel').click(function() {
+                       $('#view-post-btn').show();
+                       e.html(revert_e);
+                       b.html(revert_b);
+                       real_slug.val(revert_slug);
+                       return false;
+               });
+
+               for ( i = 0; i < full.length; ++i ) {
+                       if ( '%' == full.charAt(i) )
+                               c++;
+               }
 
-                       for ( i = 0; i < full.length; ++i ) {
-                               if ( '%' == full.charAt(i) )
-                                       c++;
+               slug_value = ( c > full.length / 4 ) ? '' : full;
+               e.html('<input type="text" id="new-post-slug" value="'+slug_value+'" />').children('input').keypress(function(e) {
+                       var key = e.keyCode || 0;
+                       // on enter, just save the new slug, don't save the post
+                       if ( 13 == key ) {
+                               b.children('.save').click();
+                               return false;
+                       }
+                       if ( 27 == key ) {
+                               b.children('.cancel').click();
+                               return false;
                        }
+               } ).keyup( function() {
+                       real_slug.val(this.value);
+               }).focus();
+       }
 
-                       slug_value = ( c > full.length / 4 ) ? '' : full;
-                       e.html('<input type="text" id="new-post-slug" value="'+slug_value+'" />').children('input').keypress(function(e) {
-                               var key = e.keyCode || 0;
-                               // on enter, just save the new slug, don't save the post
-                               if ( 13 == key ) {
-                                       b.children('.save').click();
-                                       return false;
-                               }
-                               if ( 27 == key ) {
-                                       b.children('.cancel').click();
-                                       return false;
-                               }
-                       } ).keyup( function() {
-                               real_slug.val(this.value);
-                       }).focus();
-               };
+       if ( $editSlugWrap.length ) {
+               $editSlugWrap.on( 'click', function( event ) {
+                       var $target = $( event.target );
 
-               makeSlugeditClickable = function() {
-                       $('#editable-post-name').click(function() {
-                               $('#edit-slug-buttons').children('.edit-slug').click();
-                       });
-               };
-               makeSlugeditClickable();
+                       if ( $target.is('#editable-post-name') || $target.hasClass('edit-slug') ) {
+                               editPermalink();
+                       }
+               });
        }
 
        // word count
        if ( typeof(wpWordCount) != 'undefined' ) {
-               $(document).triggerHandler('wpcountwords', [ co.val() ]);
+               $document.triggerHandler('wpcountwords', [ co.val() ]);
 
                co.keyup( function(e) {
                        var k = e.keyCode || e.charCode;
@@ -779,7 +966,7 @@ jQuery(document).ready( function($) {
                                return true;
 
                        if ( 13 == k || 8 == last || 46 == last )
-                               $(document).triggerHandler('wpcountwords', [ co.val() ]);
+                               $document.triggerHandler('wpcountwords', [ co.val() ]);
 
                        last = k;
                        return true;
@@ -812,114 +999,76 @@ jQuery(document).ready( function($) {
 
        wptitlehint();
 
-       // resizable textarea#content
-       (function() {
-               var textarea = $('textarea#content'), offset = null, el;
+       // Resize the visual and text editors
+       ( function() {
+               var editor, offset, mce,
+                       $textarea = $('textarea#content'),
+                       $handle = $('#post-status-info');
+
                // No point for touch devices
-               if ( !textarea.length || 'ontouchstart' in window )
+               if ( ! $textarea.length || 'ontouchstart' in window ) {
                        return;
-
-               function dragging(e) {
-                       textarea.height( Math.max(50, offset + e.pageY) + 'px' );
-                       return false;
                }
 
-               function endDrag() {
-                       var height;
-
-                       textarea.focus();
-                       $(document).unbind('mousemove', dragging).unbind('mouseup', endDrag);
-
-                       height = parseInt( textarea.css('height'), 10 );
+               function dragging( event ) {
+                       if ( mce ) {
+                               editor.theme.resizeTo( null, offset + event.pageY );
+                       } else {
+                               $textarea.height( Math.max( 50, offset + event.pageY ) );
+                       }
 
-                       // sanity check
-                       if ( height && height > 50 && height < 5000 )
-                               setUserSetting( 'ed_size', height );
+                       event.preventDefault();
                }
 
-               textarea.css('resize', 'none');
-               el = $('<div id="content-resize-handle"><br></div>');
-               $('#wp-content-wrap').append(el);
-               el.on('mousedown', function(e) {
-                       offset = textarea.height() - e.pageY;
-                       textarea.blur();
-                       $(document).mousemove(dragging).mouseup(endDrag);
-                       return false;
-               });
-       })();
-
-       if ( typeof(tinymce) != 'undefined' ) {
-               tinymce.onAddEditor.add(function(mce, ed){
-                       // iOS expands the iframe to full height and the user cannot adjust it.
-                       if ( ed.id != 'content' || tinymce.isIOS5 )
-                               return;
-
-                       function getHeight() {
-                               var height, node = document.getElementById('content_ifr'),
-                                       ifr_height = node ? parseInt( node.style.height, 10 ) : 0,
-                                       tb_height = $('#content_tbl tr.mceFirst').height();
+               function endDrag() {
+                       var height, toolbarHeight;
 
-                               if ( !ifr_height || !tb_height )
-                                       return false;
+                       if ( mce ) {
+                               editor.focus();
+                               toolbarHeight = $( '#wp-content-editor-container .mce-toolbar-grp' ).height();
 
-                               // total height including toolbar and statusbar
-                               height = ifr_height + tb_height + 21;
-                               // textarea height = total height - 33px toolbar
-                               height -= 33;
+                               if ( toolbarHeight < 10 || toolbarHeight > 200 ) {
+                                       toolbarHeight = 30;
+                               }
 
-                               return height;
+                               height = parseInt( $('#content_ifr').css('height'), 10 ) + toolbarHeight - 28;
+                       } else {
+                               $textarea.focus();
+                               height = parseInt( $textarea.css('height'), 10 );
                        }
 
-                       // resize TinyMCE to match the textarea height when switching Text -> Visual
-                       ed.onLoadContent.add( function() {
-                               var ifr_height, node = document.getElementById('content'),
-                                       height = node ? parseInt( node.style.height, 10 ) : 0,
-                                       tb_height = $('#content_tbl tr.mceFirst').height() || 33;
+                       $document.off( '.wp-editor-resize' );
 
-                               // height cannot be under 50 or over 5000
-                               if ( !height || height < 50 || height > 5000 )
-                                       height = 360; // default height for the main editor
-
-                               if ( getUserSetting( 'ed_size' ) > 5000  )
-                                       setUserSetting( 'ed_size', 360 );
-
-                               // compensate for padding and toolbars
-                               ifr_height = ( height - tb_height ) + 12;
-
-                               // sanity check
-                               if ( ifr_height > 50 && ifr_height < 5000 ) {
-                                       $('#content_tbl').css('height', '' );
-                                       $('#content_ifr').css('height', ifr_height + 'px' );
-                               }
-                       });
-
-                       // resize the textarea to match TinyMCE's height when switching Visual -> Text
-                       ed.onSaveContent.add( function() {
-                               var height = getHeight();
+                       // sanity check
+                       if ( height && height > 50 && height < 5000 ) {
+                               setUserSetting( 'ed_size', height );
+                       }
+               }
 
-                               if ( !height || height < 50 || height > 5000 )
-                                       return;
+               $textarea.css( 'resize', 'none' );
 
-                               $('textarea#content').css( 'height', height + 'px' );
-                       });
+               $handle.on( 'mousedown.wp-editor-resize', function( event ) {
+                       if ( typeof tinymce !== 'undefined' ) {
+                               editor = tinymce.get('content');
+                       }
 
-                       // save on resizing TinyMCE
-                       ed.onPostRender.add(function() {
-                               $( '#content_resize' ).on( 'mousedown.wp-mce-resize', function() {
-                                       $( document ).on( 'mouseup.wp-mce-resize', function() {
-                                               var height;
+                       if ( editor && ! editor.isHidden() ) {
+                               mce = true;
+                               offset = $('#content_ifr').height() - event.pageY;
+                       } else {
+                               mce = false;
+                               offset = $textarea.height() - event.pageY;
+                               $textarea.blur();
+                       }
 
-                                               $(document).off('mouseup.wp-mce-resize');
+                       $document.on( 'mousemove.wp-editor-resize', dragging )
+                               .on( 'mouseup.wp-editor-resize mouseleave.wp-editor-resize', endDrag );
 
-                                               height = getHeight();
-                                               // sanity check
-                                               if ( height && height > 50 && height < 5000 )
-                                                       setUserSetting( 'ed_size', height );
-                                       });
-                               });
-                       });
-               });
+                       event.preventDefault();
+               }).on( 'mouseup.wp-editor-resize', endDrag );
+       })();
 
+       if ( typeof tinymce !== 'undefined' ) {
                // When changing post formats, change the editor body class
                $( '#post-formats-select input.post-format' ).on( 'change.set-editor-class', function() {
                        var editor, body, format = this.id;
index 00a80dfe2221866716eaf6c00abd2bc03a9225b4..d69db729e4b478bb9b4a93e8ff9e5b495cfa1091 100644 (file)
@@ -1 +1 @@
-function array_unique_noempty(a){var b=[];return jQuery.each(a,function(a,c){c=jQuery.trim(c),c&&-1==jQuery.inArray(c,b)&&b.push(c)}),b}var tagBox,commentsBox,editPermalink,makeSlugeditClickable,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail,wptitlehint;!function(a){tagBox={clean:function(a){var b=postL10n.comma;return","!==b&&(a=a.replace(new RegExp(b,"g"),",")),a=a.replace(/\s*,\s*/g,",").replace(/,+/g,",").replace(/[,\s]+$/,"").replace(/^[,\s]+/,""),","!==b&&(a=a.replace(/,/g,b)),a},parseTags:function(b){var c=b.id,d=c.split("-check-num-")[1],e=a(b).closest(".tagsdiv"),f=e.find(".the-tags"),g=postL10n.comma,h=f.val().split(g),i=[];return delete h[d],a.each(h,function(b,c){c=a.trim(c),c&&i.push(c)}),f.val(this.clean(i.join(g))),this.quickClicks(e),!1},quickClicks:function(b){var c,d,e=a(".the-tags",b),f=a(".tagchecklist",b),g=a(b).attr("id");e.length&&(d=e.prop("disabled"),c=e.val().split(postL10n.comma),f.empty(),a.each(c,function(b,c){var e,h;c=a.trim(c),c&&(e=a("<span />").text(c),d||(h=a('<a id="'+g+"-check-num-"+b+'" class="ntdelbutton">X</a>'),h.click(function(){tagBox.parseTags(this)}),e.prepend("&nbsp;").prepend(h)),f.append(e))}))},flushTags:function(b,c,d){var e,f,g,h=a(".the-tags",b),i=a("input.newtag",b),j=postL10n.comma;return c=c||!1,g=c?a(c).text():i.val(),e=h.val(),f=e?e+j+g:g,f=this.clean(f),f=array_unique_noempty(f.split(j)).join(j),h.val(f),this.quickClicks(b),c||i.val(""),"undefined"==typeof d&&i.focus(),!1},get:function(b){var c=b.substr(b.indexOf("-")+1);a.post(ajaxurl,{action:"get-tagcloud",tax:c},function(d,e){(0===d||"success"!=e)&&(d=wpAjax.broken),d=a('<p id="tagcloud-'+c+'" class="the-tagcloud">'+d+"</p>"),a("a",d).click(function(){return tagBox.flushTags(a(this).closest(".inside").children(".tagsdiv"),this),!1}),a("#"+b).after(d)})},init:function(){var b=this,c=a("div.ajaxtag");a(".tagsdiv").each(function(){tagBox.quickClicks(this)}),a("input.tagadd",c).click(function(){b.flushTags(a(this).closest(".tagsdiv"))}),a("div.taghint",c).click(function(){a(this).css("visibility","hidden").parent().siblings(".newtag").focus()}),a("input.newtag",c).blur(function(){""===this.value&&a(this).parent().siblings(".taghint").css("visibility","")}).focus(function(){a(this).parent().siblings(".taghint").css("visibility","hidden")}).keyup(function(b){return 13==b.which?(tagBox.flushTags(a(this).closest(".tagsdiv")),!1):void 0}).keypress(function(a){return 13==a.which?(a.preventDefault(),!1):void 0}).each(function(){var b=a(this).closest("div.tagsdiv").attr("id");a(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:!0,multipleSep:postL10n.comma+" "})}),a("#post").submit(function(){a("div.tagsdiv").each(function(){tagBox.flushTags(this,!1,1)})}),a("a.tagcloud-link").click(function(){return tagBox.get(a(this).attr("id")),a(this).unbind().click(function(){return a(this).siblings(".the-tagcloud").toggle(),!1}),!1})}},commentsBox={st:0,get:function(b,c){var d,e=this.st;return c||(c=20),this.st+=c,this.total=b,a("#commentsdiv .spinner").show(),d={action:"get-comments",mode:"single",_ajax_nonce:a("#add_comment_nonce").val(),p:a("#post_ID").val(),start:e,number:c},a.post(ajaxurl,d,function(b){return b=wpAjax.parseAjaxResponse(b),a("#commentsdiv .widefat").show(),a("#commentsdiv .spinner").hide(),"object"==typeof b&&b.responses[0]?(a("#the-comment-list").append(b.responses[0].data),theList=theExtraList=null,a("a[className*=':']").unbind(),commentsBox.st>commentsBox.total?a("#show-comments").hide():a("#show-comments").show().children("a").html(postL10n.showcomm),void 0):1==b?(a("#show-comments").html(postL10n.endcomm),void 0):(a("#the-comment-list").append('<tr><td colspan="2">'+wpAjax.broken+"</td></tr>"),void 0)}),!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)}),a(document).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")&&("function"==typeof autosave&&(a(document).on("autosave-disable-buttons.post-lock",function(){e.addClass("saving")}).on("autosave-enable-buttons.post-lock",function(){e.removeClass("saving").addClass("saved"),window.onbeforeunload=null}),autosave()||(window.onbeforeunload=null),autosave=function(){}),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))})}(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){var b,c,d,e,f="",g=0,h=a("#content");postboxes.add_postbox_toggles(pagenow),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(),"undefined"!=typeof wp&&wp.heartbeat&&a("#post-lock-dialog").length&&wp.heartbeat.interval(15),a("#tagsdiv-post_tag").length?tagBox.init():a("#side-sortables, #normal-sortables, #advanced-sortables").children("div.postbox").each(function(){return 0===this.id.indexOf("tagsdiv-")?(tagBox.init(),!1):void 0}),a(".categorydiv").each(function(){var b,c,d,e,f,g=a(this).attr("id");d=g.split("-"),d.shift(),e=d.join("-"),f=e+"_tab","category"==e&&(f="cats"),a("a","#"+e+"-tabs").click(function(){var b=a(this).attr("href");return a(this).parent().addClass("tabs").siblings("li").removeClass("tabs"),a("#"+e+"-tabs").siblings(".tabs-panel").hide(),a(b).show(),"#"+e+"-all"==b?deleteUserSetting(f):setUserSetting(f,"pop"),!1}),getUserSetting(f)&&a('a[href="#'+e+'-pop"]',"#"+e+"-tabs").click(),a("#new"+e).one("focus",function(){a(this).val("").removeClass("form-input-tip")}),a("#new"+e).keypress(function(b){13===b.keyCode&&(b.preventDefault(),a("#"+e+"-add-submit").click())}),a("#"+e+"-add-submit").click(function(){a("#new"+e).focus()}),b=function(b){return a("#new"+e).val()?(b.data+="&"+a(":checked","#"+e+"checklist").serialize(),a("#"+e+"-add-submit").prop("disabled",!0),b):!1},c=function(b,c){var d,f=a("#new"+e+"_parent");a("#"+e+"-add-submit").prop("disabled",!1),"undefined"!=c.parsed.responses[0]&&(d=c.parsed.responses[0].supplemental.newcat_parent)&&(f.before(d),f.remove())},a("#"+e+"checklist").wpList({alt:"",response:e+"-ajax-response",addBefore:b,addAfter:c}),a("#"+e+"-add-toggle").click(function(){return a("#"+e+"-adder").toggleClass("wp-hidden-children"),a('a[href="#'+e+'-all"]',"#"+e+"-tabs").click(),a("#new"+e).focus(),!1}),a("#"+e+"checklist, #"+e+"checklist-pop").on("click",'li.popular-category > label input[type="checkbox"]',function(){var b=a(this),c=b.is(":checked"),d=b.val();d&&b.parents("#taxonomy-"+e).length&&a("#in-"+e+"-"+d+", #in-popular-"+e+"-"+d).prop("checked",c)})}),a("#postcustom").length&&a("#the-list").wpList({addAfter:function(){a("table#list-table").show()},addBefore:function(b){return b.data+="&post_id="+a("#post_ID").val(),b}}),a("#submitdiv").length&&(b=a("#timestamp").html(),c=a("#post-visibility-display").html(),d=function(){var b=a("#post-visibility-select");"public"!=a("input:radio:checked",b).val()?(a("#sticky").prop("checked",!1),a("#sticky-span").hide()):a("#sticky-span").show(),"password"!=a("input:radio:checked",b).val()?a("#password-span").hide():a("#password-span").show()},e=function(){if(!a("#timestampdiv").length)return!0;var c,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 c=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()),c.getFullYear()!=i||1+c.getMonth()!=j||c.getDate()!=k||c.getMinutes()!=m?(a(".timestamp-wrap","#timestampdiv").addClass("form-invalid"),!1):(a(".timestamp-wrap","#timestampdiv").removeClass("form-invalid"),c>e&&"future"!=a("#original_post_status").val()?(f=postL10n.publishOnFuture,a("#publish").val(postL10n.schedule)):e>=c&&"publish"!=a("#original_post_status").val()?(f=postL10n.publishOn,a("#publish").val(postL10n.publish)):(f=postL10n.publishOnPast,a("#publish").val(postL10n.update)),d.toUTCString()==c.toUTCString()?a("#timestamp").html(b):a("#timestamp").html(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"==a("input:radio:checked","#post-visibility-select").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(".edit-post-status","#misc-publishing-actions").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(".edit-post-status","#misc-publishing-actions").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(".edit-visibility","#visibility").click(function(){return a("#post-visibility-select").is(":hidden")&&(d(),a("#post-visibility-select").slideDown("fast"),a(this).hide()),!1}),a(".cancel-post-visibility","#post-visibility-select").click(function(){return a("#post-visibility-select").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(c),a(".edit-visibility","#visibility").show(),e(),!1}),a(".save-post-visibility","#post-visibility-select").click(function(){var b=a("#post-visibility-select");return b.slideUp("fast"),a(".edit-visibility","#visibility").show(),e(),"public"!=a("input:radio:checked",b).val()&&a("#sticky").prop("checked",!1),f=a("#sticky").prop("checked")?"Sticky":"",a("#post-visibility-display").html(postL10n[a("input:radio:checked",b).val()+f]),!1}),a("input:radio","#post-visibility-select").change(function(){d()}),a("#timestampdiv").siblings("a.edit-timestamp").click(function(){return a("#timestampdiv").is(":hidden")&&(a("#timestampdiv").slideDown("fast"),a("#mm").focus(),a(this).hide()),!1}),a(".cancel-timestamp","#timestampdiv").click(function(){return a("#timestampdiv").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()),a("#timestampdiv").siblings("a.edit-timestamp").show(),e(),!1}),a(".save-timestamp","#timestampdiv").click(function(){return e()&&(a("#timestampdiv").slideUp("fast"),a("#timestampdiv").siblings("a.edit-timestamp").show()),!1}),a("#post").on("submit",function(b){return e()?void 0:(b.preventDefault(),a("#timestampdiv").show(),a("#publishing-action .spinner").hide(),a("#publish").prop("disabled",!1).removeClass("button-primary-disabled"),!1)}),a("#post-status-select").siblings("a.edit-post-status").click(function(){return a("#post-status-select").is(":hidden")&&(a("#post-status-select").slideDown("fast"),a(this).hide()),!1}),a(".save-post-status","#post-status-select").click(function(){return a("#post-status-select").slideUp("fast"),a("#post-status-select").siblings("a.edit-post-status").show(),e(),!1}),a(".cancel-post-status","#post-status-select").click(function(){return a("#post-status-select").slideUp("fast"),a("#post_status").val(a("#hidden_post_status").val()),a("#post-status-select").siblings("a.edit-post-status").show(),e(),!1})),a("#edit-slug-box").length&&(editPermalink=function(b){var c,d,e=0,f=a("#editable-post-name"),g=f.html(),h=a("#post_name"),i=h.val(),j=a("#edit-slug-buttons"),k=j.html(),l=a("#editable-post-name-full").html();for(a("#view-post-btn").hide(),j.html('<a href="#" class="save button button-small">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+"</a>"),j.children(".save").click(function(){var c=f.children("input").val();return c==a("#editable-post-name-full").text()?a(".cancel","#edit-slug-buttons").click():(a.post(ajaxurl,{action:"sample-permalink",post_id:b,new_slug:c,new_title:a("#title").val(),samplepermalinknonce:a("#samplepermalinknonce").val()},function(b){var d=a("#edit-slug-box");d.html(b),d.hasClass("hidden")&&d.fadeIn("fast",function(){d.removeClass("hidden")}),j.html(k),h.val(c),makeSlugeditClickable(),a("#view-post-btn").show()}),!1)}),a(".cancel","#edit-slug-buttons").click(function(){return a("#view-post-btn").show(),f.html(g),j.html(k),h.val(i),!1}),d=0;d<l.length;++d)"%"==l.charAt(d)&&e++;c=e>l.length/4?"":l,f.html('<input type="text" id="new-post-slug" value="'+c+'" />').children("input").keypress(function(a){var b=a.keyCode||0;return 13==b?(j.children(".save").click(),!1):27==b?(j.children(".cancel").click(),!1):void 0}).keyup(function(){h.val(this.value)}).focus()},makeSlugeditClickable=function(){a("#editable-post-name").click(function(){a("#edit-slug-buttons").children(".edit-slug").click()})},makeSlugeditClickable()),"undefined"!=typeof wpWordCount&&(a(document).triggerHandler("wpcountwords",[h.val()]),h.keyup(function(b){var c=b.keyCode||b.charCode;return c==g?!0:((13==c||8==g||46==g)&&a(document).triggerHandler("wpcountwords",[h.val()]),g=c,!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){return e.height(Math.max(50,f+a.pageY)+"px"),!1}function c(){var d;e.focus(),a(document).unbind("mousemove",b).unbind("mouseup",c),d=parseInt(e.css("height"),10),d&&d>50&&5e3>d&&setUserSetting("ed_size",d)}var d,e=a("textarea#content"),f=null;!e.length||"ontouchstart"in window||(e.css("resize","none"),d=a('<div id="content-resize-handle"><br></div>'),a("#wp-content-wrap").append(d),d.on("mousedown",function(d){return f=e.height()-d.pageY,e.blur(),a(document).mousemove(b).mouseup(c),!1}))}(),"undefined"!=typeof tinymce&&(tinymce.onAddEditor.add(function(b,c){function d(){var b,c=document.getElementById("content_ifr"),d=c?parseInt(c.style.height,10):0,e=a("#content_tbl tr.mceFirst").height();return d&&e?(b=d+e+21,b-=33):!1}"content"!=c.id||tinymce.isIOS5||(c.onLoadContent.add(function(){var b,c=document.getElementById("content"),d=c?parseInt(c.style.height,10):0,e=a("#content_tbl tr.mceFirst").height()||33;(!d||50>d||d>5e3)&&(d=360),getUserSetting("ed_size")>5e3&&setUserSetting("ed_size",360),b=d-e+12,b>50&&5e3>b&&(a("#content_tbl").css("height",""),a("#content_ifr").css("height",b+"px"))}),c.onSaveContent.add(function(){var b=d();!b||50>b||b>5e3||a("textarea#content").css("height",b+"px")}),c.onPostRender.add(function(){a("#content_resize").on("mousedown.wp-mce-resize",function(){a(document).on("mouseup.wp-mce-resize",function(){var b;a(document).off("mouseup.wp-mce-resize"),b=d(),b&&b>50&&5e3>b&&setUserSetting("ed_size",b)})})}))}),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"),b&&(c=b.getBody(),c.className=c.className.replace(/\bpost-format-[^ ]+/,""),b.dom.addClass(c,"post-format-0"==d?"post-format-standard":d)))}))});
\ No newline at end of file
+function array_unique_noempty(a){var b=[];return jQuery.each(a,function(a,c){c=jQuery.trim(c),c&&-1==jQuery.inArray(c,b)&&b.push(c)}),b}var tagBox,commentsBox,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail,wptitlehint,makeSlugeditClickable,editPermalink;makeSlugeditClickable=editPermalink=function(){},window.wp=window.wp||{},function(a){var b=!1;tagBox={clean:function(a){var b=postL10n.comma;return","!==b&&(a=a.replace(new RegExp(b,"g"),",")),a=a.replace(/\s*,\s*/g,",").replace(/,+/g,",").replace(/[,\s]+$/,"").replace(/^[,\s]+/,""),","!==b&&(a=a.replace(/,/g,b)),a},parseTags:function(b){var c=b.id,d=c.split("-check-num-")[1],e=a(b).closest(".tagsdiv"),f=e.find(".the-tags"),g=postL10n.comma,h=f.val().split(g),i=[];return delete h[d],a.each(h,function(b,c){c=a.trim(c),c&&i.push(c)}),f.val(this.clean(i.join(g))),this.quickClicks(e),!1},quickClicks:function(b){var c,d,e=a(".the-tags",b),f=a(".tagchecklist",b),g=a(b).attr("id");e.length&&(d=e.prop("disabled"),c=e.val().split(postL10n.comma),f.empty(),a.each(c,function(b,c){var e,h;c=a.trim(c),c&&(e=a("<span />").text(c),d||(h=a('<a id="'+g+"-check-num-"+b+'" class="ntdelbutton">X</a>'),h.click(function(){tagBox.parseTags(this)}),e.prepend("&nbsp;").prepend(h)),f.append(e))}))},flushTags:function(b,c,d){var e,f,g,h=a(".the-tags",b),i=a("input.newtag",b),j=postL10n.comma;return c=c||!1,g=c?a(c).text():i.val(),e=h.val(),f=e?e+j+g:g,f=this.clean(f),f=array_unique_noempty(f.split(j)).join(j),h.val(f),this.quickClicks(b),c||i.val(""),"undefined"==typeof d&&i.focus(),!1},get:function(b){var c=b.substr(b.indexOf("-")+1);a.post(ajaxurl,{action:"get-tagcloud",tax:c},function(d,e){(0===d||"success"!=e)&&(d=wpAjax.broken),d=a('<p id="tagcloud-'+c+'" class="the-tagcloud">'+d+"</p>"),a("a",d).click(function(){return tagBox.flushTags(a(this).closest(".inside").children(".tagsdiv"),this),!1}),a("#"+b).after(d)})},init:function(){var b=this,c=a("div.ajaxtag");a(".tagsdiv").each(function(){tagBox.quickClicks(this)}),a("input.tagadd",c).click(function(){b.flushTags(a(this).closest(".tagsdiv"))}),a("div.taghint",c).click(function(){a(this).css("visibility","hidden").parent().siblings(".newtag").focus()}),a("input.newtag",c).blur(function(){""===this.value&&a(this).parent().siblings(".taghint").css("visibility","")}).focus(function(){a(this).parent().siblings(".taghint").css("visibility","hidden")}).keyup(function(b){return 13==b.which?(tagBox.flushTags(a(this).closest(".tagsdiv")),!1):void 0}).keypress(function(a){return 13==a.which?(a.preventDefault(),!1):void 0}).each(function(){var b=a(this).closest("div.tagsdiv").attr("id");a(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:!0,multipleSep:postL10n.comma+" "})}),a("#post").submit(function(){a("div.tagsdiv").each(function(){tagBox.flushTags(this,!1,1)})}),a("a.tagcloud-link").click(function(){return tagBox.get(a(this).attr("id")),a(this).unbind().click(function(){return a(this).siblings(".the-tagcloud").toggle(),!1}),!1})}},commentsBox={st:0,get:function(b,c){var d,e=this.st;return c||(c=20),this.st+=c,this.total=b,a("#commentsdiv .spinner").show(),d={action:"get-comments",mode:"single",_ajax_nonce:a("#add_comment_nonce").val(),p:a("#post_ID").val(),start:e,number:c},a.post(ajaxurl,d,function(b){return b=wpAjax.parseAjaxResponse(b),a("#commentsdiv .widefat").show(),a("#commentsdiv .spinner").hide(),"object"==typeof b&&b.responses[0]?(a("#the-comment-list").append(b.responses[0].data),theList=theExtraList=null,a("a[className*=':']").unbind(),void(commentsBox.st>commentsBox.total?a("#show-comments").hide():a("#show-comments").show().children("a").html(postL10n.showcomm))):1==b?void a("#show-comments").html(postL10n.endcomm):void a("#the-comment-list").append('<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").html();for(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()?a("#edit-slug-buttons .cancel").click():(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)}),a("#edit-slug-buttons .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(":button, :submit, a.submitdelete, #post-preview").on("click.edit-post",function(b){var c=a(this);return c.hasClass("disabled")?void b.preventDefault():void(c.hasClass("submitdelete")||c.is("#post-preview")||a("form#post").off("submit.edit-post").on("submit.edit-post",function(b){b.isDefaultPrevented()||(wp.autosave&&wp.autosave.server.suspend(),o=!1,a(window).off("beforeunload.edit-post"),e.addClass("disabled"),"publish"===c.attr("id")?n.find("#major-publishing-actions .spinner").show():n.find("#minor-publishing .spinner").show())}))}),a("#post-preview").on("click.post-preview",function(b){var c=a(this),d=a("form#post"),e=a("input#wp-preview"),f=c.attr("target")||"wp-preview",g=navigator.userAgent.toLowerCase();b.preventDefault(),c.hasClass("disabled")||(wp.autosave&&wp.autosave.server.tempBlockSave(),e.val("dopreview"),d.attr("target",f).submit().attr("target",""),-1!==g.indexOf("safari")&&-1===g.indexOf("chrome")&&d.attr("action",function(a,b){return b+"?t="+(new Date).getTime()}),e.val(""))}),a("#title").on("keydown.editor-focus",function(b){var c,d;if(9===b.keyCode&&!b.ctrlKey&&!b.altKey&&!b.shiftKey){if(c="undefined"!=typeof tinymce&&tinymce.get("content"),d=a("#content"),c&&!c.isHidden())c.focus();else{if(!d.length)return;d.focus()}b.preventDefault()}}),a("#auto_draft").val()&&a("#title").blur(function(){var b;this.value&&!a("#edit-slug-box > *").length&&(a("form#post").one("submit",function(){b=!0}),window.setTimeout(function(){!b&&wp.autosave&&wp.autosave.server.triggerSave()},200))}),k.on("autosave-disable-buttons.edit-post",function(){e.addClass("disabled")}).on("autosave-enable-buttons.edit-post",function(){wp.heartbeat&&wp.heartbeat.hasConnectionError()||e.removeClass("disabled")}).on("before-autosave.edit-post",function(){a(".autosave-message").text(postL10n.savingText)}).on("after-autosave.edit-post",function(b,c){a(".autosave-message").text(c.message)}),a(window).on("beforeunload.edit-post",function(){var a="undefined"!=typeof tinymce&&tinymce.get("content");return a&&!a.isHidden()&&a.isDirty()||wp.autosave&&wp.autosave.server.postChanged()?postL10n.saveAlert:void 0}).on("unload.edit-post",function(b){o&&(b.target&&"#document"!=b.target.nodeName||a.ajax({type:"POST",url:ajaxurl,async:!1,data:{action:"wp-remove-post-lock",_wpnonce:a("#_wpnonce").val(),post_ID:a("#post_ID").val(),active_post_lock:a("#active_post_lock").val()}}))}),a("#tagsdiv-post_tag").length?tagBox.init():a("#side-sortables, #normal-sortables, #advanced-sortables").children("div.postbox").each(function(){return 0===this.id.indexOf("tagsdiv-")?(tagBox.init(),!1):void 0}),a(".categorydiv").each(function(){var b,c,d,e,f,g=a(this).attr("id");d=g.split("-"),d.shift(),e=d.join("-"),f=e+"_tab","category"==e&&(f="cats"),a("a","#"+e+"-tabs").click(function(){var b=a(this).attr("href");return a(this).parent().addClass("tabs").siblings("li").removeClass("tabs"),a("#"+e+"-tabs").siblings(".tabs-panel").hide(),a(b).show(),"#"+e+"-all"==b?deleteUserSetting(f):setUserSetting(f,"pop"),!1}),getUserSetting(f)&&a('a[href="#'+e+'-pop"]',"#"+e+"-tabs").click(),a("#new"+e).one("focus",function(){a(this).val("").removeClass("form-input-tip")}),a("#new"+e).keypress(function(b){13===b.keyCode&&(b.preventDefault(),a("#"+e+"-add-submit").click())}),a("#"+e+"-add-submit").click(function(){a("#new"+e).focus()}),b=function(b){return a("#new"+e).val()?(b.data+="&"+a(":checked","#"+e+"checklist").serialize(),a("#"+e+"-add-submit").prop("disabled",!0),b):!1},c=function(b,c){var d,f=a("#new"+e+"_parent");a("#"+e+"-add-submit").prop("disabled",!1),"undefined"!=c.parsed.responses[0]&&(d=c.parsed.responses[0].supplemental.newcat_parent)&&(f.before(d),f.remove())},a("#"+e+"checklist").wpList({alt:"",response:e+"-ajax-response",addBefore:b,addAfter:c}),a("#"+e+"-add-toggle").click(function(){return a("#"+e+"-adder").toggleClass("wp-hidden-children"),a('a[href="#'+e+'-all"]',"#"+e+"-tabs").click(),a("#new"+e).focus(),!1}),a("#"+e+"checklist, #"+e+"checklist-pop").on("click",'li.popular-category > label input[type="checkbox"]',function(){var b=a(this),c=b.is(":checked"),d=b.val();d&&b.parents("#taxonomy-"+e).length&&a("#in-"+e+"-"+d+", #in-popular-"+e+"-"+d).prop("checked",c)})}),a("#postcustom").length&&a("#the-list").wpList({addAfter:function(){a("table#list-table").show()},addBefore:function(b){return b.data+="&post_id="+a("#post_ID").val(),b}}),a("#submitdiv").length&&(c=a("#timestamp").html(),d=a("#post-visibility-display").html(),f=function(){"public"!=p.find("input:radio:checked").val()?(a("#sticky").prop("checked",!1),a("#sticky-span").hide()):a("#sticky-span").show(),"password"!=p.find("input:radio:checked").val()?a("#password-span").hide():a("#password-span").show()},g=function(){if(!q.length)return!0;var b,d,e,f,g=a("#post_status"),h=a('option[value="publish"]',g),i=a("#aa").val(),j=a("#mm").val(),k=a("#jj").val(),l=a("#hh").val(),m=a("#mn").val();return b=new Date(i,j-1,k,l,m),d=new Date(a("#hidden_aa").val(),a("#hidden_mm").val()-1,a("#hidden_jj").val(),a("#hidden_hh").val(),a("#hidden_mn").val()),e=new Date(a("#cur_aa").val(),a("#cur_mm").val()-1,a("#cur_jj").val(),a("#cur_hh").val(),a("#cur_mn").val()),b.getFullYear()!=i||1+b.getMonth()!=j||b.getDate()!=k||b.getMinutes()!=m?(q.find(".timestamp-wrap").addClass("form-invalid"),!1):(q.find(".timestamp-wrap").removeClass("form-invalid"),b>e&&"future"!=a("#original_post_status").val()?(f=postL10n.publishOnFuture,a("#publish").val(postL10n.schedule)):e>=b&&"publish"!=a("#original_post_status").val()?(f=postL10n.publishOn,a("#publish").val(postL10n.publish)):(f=postL10n.publishOnPast,a("#publish").val(postL10n.update)),a("#timestamp").html(d.toUTCString()==b.toUTCString()?c:f+" <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").hide())}),r.siblings("a.edit-post-status").click(function(b){r.is(":hidden")&&(r.slideDown("fast").find("select").focus(),a(this).hide()),b.preventDefault()}),r.find(".save-post-status").click(function(a){r.slideUp("fast").siblings("a.edit-post-status").show(),g(),a.preventDefault()}),r.find(".cancel-post-status").click(function(b){a("#post-status-select").slideUp("fast").siblings("a.edit-post-status").show().focus(),a("#post_status").val(a("#hidden_post_status").val()),g(),b.preventDefault()})),l.length&&l.on("click",function(c){var d=a(c.target);(d.is("#editable-post-name")||d.hasClass("edit-slug"))&&b()}),"undefined"!=typeof wpWordCount&&(k.triggerHandler("wpcountwords",[j.val()]),j.keyup(function(a){var b=a.keyCode||a.charCode;return b==i?!0:((13==b||8==i||46==i)&&k.triggerHandler("wpcountwords",[j.val()]),i=b,!0)})),wptitlehint=function(b){b=b||"title";var c=a("#"+b),d=a("#"+b+"-prompt-text");""===c.val()&&d.removeClass("screen-reader-text"),d.click(function(){a(this).addClass("screen-reader-text"),c.focus()}),c.blur(function(){""===this.value&&d.removeClass("screen-reader-text")}).focus(function(){d.addClass("screen-reader-text")}).keydown(function(b){d.addClass("screen-reader-text"),a(this).unbind(b)})},wptitlehint(),function(){function b(a){f?d.theme.resizeTo(null,e+a.pageY):g.height(Math.max(50,e+a.pageY)),a.preventDefault()}function c(){var b,c;f?(d.focus(),c=a("#wp-content-editor-container .mce-toolbar-grp").height(),(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");!g.length||"ontouchstart"in window||(g.css("resize","none"),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"),b&&(c=b.getBody(),c.className=c.className.replace(/\bpost-format-[^ ]+/,""),b.dom.addClass(c,"post-format-0"==d?"post-format-standard":d)))})});
\ No newline at end of file
index 04cc550b2823eec3b7a4be7f59307728a6f97a8e..c98e6dde7e1f3cd357c6fc2567a651909f81b66c 100644 (file)
@@ -1 +1 @@
-var postboxes;!function(a){postboxes={add_postbox_toggles:function(b,c){var d=this;d.init(b,c),a(".postbox h3, .postbox .handlediv").bind("click.postboxes",function(){var c=a(this).parent(".postbox"),e=c.attr("id");"dashboard_browser_nag"!=e&&(c.toggleClass("closed"),"press-this"!=b&&d.save_state(b),e&&(!c.hasClass("closed")&&a.isFunction(postboxes.pbshow)?d.pbshow(e):c.hasClass("closed")&&a.isFunction(postboxes.pbhide)&&d.pbhide(e)))}),a(".postbox h3 a").click(function(a){a.stopPropagation()}),a(".postbox a.dismiss").bind("click.postboxes",function(){var b=a(this).parents(".postbox").attr("id")+"-hide";return a("#"+b).prop("checked",!1).triggerHandler("click"),!1}),a(".hide-postbox-tog").bind("click.postboxes",function(){var c=a(this).val();a(this).prop("checked")?(a("#"+c).show(),a.isFunction(postboxes.pbshow)&&d.pbshow(c)):(a("#"+c).hide(),a.isFunction(postboxes.pbhide)&&d.pbhide(c)),d.save_state(b),d._mark_area()}),a('.columns-prefs input[type="radio"]').bind("click.postboxes",function(){var c=parseInt(a(this).val(),10);c&&(d._pb_edit(c),d.save_order(b))})},init:function(b,c){var d=a(document.body).hasClass("mobile");a.extend(this,c||{}),a("#wpbody-content").css("overflow","hidden"),a(".meta-box-sortables").sortable({placeholder:"sortable-placeholder",connectWith:".meta-box-sortables",items:".postbox",handle:".hndle",cursor:"move",delay:d?200:0,distance:2,tolerance:"pointer",forcePlaceholderSize:!0,helper:"clone",opacity:.65,stop:function(){return a(this).find("#dashboard_browser_nag").is(":visible")&&"dashboard_browser_nag"!=this.firstChild.id?(a(this).sortable("cancel"),void 0):(postboxes.save_order(b),void 0)},receive:function(b,c){"dashboard_browser_nag"==c.item[0].id&&a(c.sender).sortable("cancel"),postboxes._mark_area()}}),d&&(a(document.body).bind("orientationchange.postboxes",function(){postboxes._pb_change()}),this._pb_change()),this._mark_area()},save_state:function(b){var c=a(".postbox").filter(".closed").map(function(){return this.id}).get().join(","),d=a(".postbox").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",closed:c,hidden:d,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:b})},save_order:function(b){var c,d=a(".columns-prefs input:checked").val()||0;c={action:"meta-box-order",_ajax_nonce:a("#meta-box-order-nonce").val(),page_columns:d,page:b},a(".meta-box-sortables").each(function(){c["order["+this.id.split("-")[0]+"]"]=a(this).sortable("toArray").join(",")}),a.post(ajaxurl,c)},_mark_area:function(){var b=a("div.postbox:visible").length,c=a("#post-body #side-sortables");a("#dashboard-widgets .meta-box-sortables:visible").each(function(){var c=a(this);1==b||c.children(".postbox:visible").length?c.removeClass("empty-container"):c.addClass("empty-container")}),c.length&&(c.children(".postbox:visible").length?c.removeClass("empty-container"):"280px"==a("#postbox-container-1").css("width")&&c.addClass("empty-container"))},_pb_edit:function(b){var c=a(".metabox-holder").get(0);c&&(c.className=c.className.replace(/columns-\d+/,"columns-"+b))},_pb_change:function(){var b=a('label.columns-prefs-1 input[type="radio"]');switch(window.orientation){case 90:case-90:b.length&&b.is(":checked")||this._pb_edit(2);break;case 0:case 180:a("#poststuff").length?this._pb_edit(1):b.length&&b.is(":checked")||this._pb_edit(2)}},pbshow:!1,pbhide:!1}}(jQuery);
\ No newline at end of file
+var postboxes;!function(a){postboxes={add_postbox_toggles:function(b,c){var d=this;d.init(b,c),a(".postbox h3, .postbox .handlediv").bind("click.postboxes",function(){var c=a(this).parent(".postbox"),e=c.attr("id");"dashboard_browser_nag"!=e&&(c.toggleClass("closed"),"press-this"!=b&&d.save_state(b),e&&(!c.hasClass("closed")&&a.isFunction(postboxes.pbshow)?d.pbshow(e):c.hasClass("closed")&&a.isFunction(postboxes.pbhide)&&d.pbhide(e)))}),a(".postbox h3 a").click(function(a){a.stopPropagation()}),a(".postbox a.dismiss").bind("click.postboxes",function(){var b=a(this).parents(".postbox").attr("id")+"-hide";return a("#"+b).prop("checked",!1).triggerHandler("click"),!1}),a(".hide-postbox-tog").bind("click.postboxes",function(){var c=a(this).val();a(this).prop("checked")?(a("#"+c).show(),a.isFunction(postboxes.pbshow)&&d.pbshow(c)):(a("#"+c).hide(),a.isFunction(postboxes.pbhide)&&d.pbhide(c)),d.save_state(b),d._mark_area()}),a('.columns-prefs input[type="radio"]').bind("click.postboxes",function(){var c=parseInt(a(this).val(),10);c&&(d._pb_edit(c),d.save_order(b))})},init:function(b,c){var d=a(document.body).hasClass("mobile");a.extend(this,c||{}),a("#wpbody-content").css("overflow","hidden"),a(".meta-box-sortables").sortable({placeholder:"sortable-placeholder",connectWith:".meta-box-sortables",items:".postbox",handle:".hndle",cursor:"move",delay:d?200:0,distance:2,tolerance:"pointer",forcePlaceholderSize:!0,helper:"clone",opacity:.65,stop:function(){return a(this).find("#dashboard_browser_nag").is(":visible")&&"dashboard_browser_nag"!=this.firstChild.id?void a(this).sortable("cancel"):void postboxes.save_order(b)},receive:function(b,c){"dashboard_browser_nag"==c.item[0].id&&a(c.sender).sortable("cancel"),postboxes._mark_area()}}),d&&(a(document.body).bind("orientationchange.postboxes",function(){postboxes._pb_change()}),this._pb_change()),this._mark_area()},save_state:function(b){var c=a(".postbox").filter(".closed").map(function(){return this.id}).get().join(","),d=a(".postbox").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",closed:c,hidden:d,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:b})},save_order:function(b){var c,d=a(".columns-prefs input:checked").val()||0;c={action:"meta-box-order",_ajax_nonce:a("#meta-box-order-nonce").val(),page_columns:d,page:b},a(".meta-box-sortables").each(function(){c["order["+this.id.split("-")[0]+"]"]=a(this).sortable("toArray").join(",")}),a.post(ajaxurl,c)},_mark_area:function(){var b=a("div.postbox:visible").length,c=a("#post-body #side-sortables");a("#dashboard-widgets .meta-box-sortables:visible").each(function(){var c=a(this);1==b||c.children(".postbox:visible").length?c.removeClass("empty-container"):c.addClass("empty-container")}),c.length&&(c.children(".postbox:visible").length?c.removeClass("empty-container"):"280px"==a("#postbox-container-1").css("width")&&c.addClass("empty-container"))},_pb_edit:function(b){var c=a(".metabox-holder").get(0);c&&(c.className=c.className.replace(/columns-\d+/,"columns-"+b))},_pb_change:function(){var b=a('label.columns-prefs-1 input[type="radio"]');switch(window.orientation){case 90:case-90:b.length&&b.is(":checked")||this._pb_edit(2);break;case 0:case 180:a("#poststuff").length?this._pb_edit(1):b.length&&b.is(":checked")||this._pb_edit(2)}},pbshow:!1,pbhide:!1}}(jQuery);
\ No newline at end of file
index 26b22cf259b25c9a756675ad12a3cbe4ef8b86bb..48866d6ffca4489d6ac063e89cb6b233ff87d05a 100644 (file)
@@ -1048,15 +1048,12 @@ window.wp = window.wp || {};
                }
        });
 
-       // The revisions router
-       // takes URLs with #hash fragments and routes them
+       // The revisions router.
+       // Maintains the URL routes so browser URL matches state.
        revisions.Router = Backbone.Router.extend({
                initialize: function( options ) {
                        this.model = options.model;
-                       this.routes = _.object([
-                               [ this.baseUrl( '?from=:from&to=:to' ), 'handleRoute' ],
-                               [ this.baseUrl( '?from=:from&to=:to' ), 'handleRoute' ]
-                       ]);
+
                        // Maintain state and history when navigating
                        this.listenTo( this.model, 'update:diff', _.debounce( this.updateUrl, 250 ) );
                        this.listenTo( this.model, 'change:compareTwoMode', this.updateUrl );
@@ -1070,9 +1067,9 @@ window.wp = window.wp || {};
                        var from = this.model.has('from') ? this.model.get('from').id : 0,
                                to   = this.model.get('to').id;
                        if ( this.model.get('compareTwoMode' ) ) {
-                               this.navigate( this.baseUrl( '?from=' + from + '&to=' + to ) );
+                               this.navigate( this.baseUrl( '?from=' + from + '&to=' + to ), { replace: true } );
                        } else {
-                               this.navigate( this.baseUrl( '?revision=' + to ) );
+                               this.navigate( this.baseUrl( '?revision=' + to ), { replace: true } );
                        }
                },
 
@@ -1085,12 +1082,6 @@ window.wp = window.wp || {};
                                b = b ? b.id : 0;
                                a = a ? a.id : 0;
                        }
-
-                       this.model.set({
-                               from: this.model.revisions.get( parseInt( a, 10 ) ),
-                               to: this.model.revisions.get( parseInt( a, 10 ) ),
-                               compareTwoMode: compareTwo
-                       });
                }
        });
 
index 476b5b315bbbb829723c1705533d763ffe6d2253..85b9eacdf2986120a3321db4987a9fe393bd10b7 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){var b;b=wp.revisions={model:{},view:{},controller:{}},b.settings=_.isUndefined(_wpRevisionsSettings)?{}:_wpRevisionsSettings,b.debug=!1,b.log=function(){window.console&&b.debug&&window.console.log.apply(window.console,arguments)},a.fn.allOffsets=function(){var b=this.offset()||{top:0,left:0},c=a(window);return _.extend(b,{right:c.width()-b.left-this.outerWidth(),bottom:c.height()-b.top-this.outerHeight()})},a.fn.allPositions=function(){var a=this.position()||{top:0,left:0},b=this.parent();return _.extend(a,{right:b.outerWidth()-a.left-this.outerWidth(),bottom:b.outerHeight()-a.top-this.outerHeight()})},b.settings.to&&(b.settings.to=parseInt(b.settings.to,10)),b.settings.from&&(b.settings.from=parseInt(b.settings.from,10)),b.settings.compareTwoMode&&(b.settings.compareTwoMode="1"===b.settings.compareTwoMode),b.model.Slider=Backbone.Model.extend({defaults:{value:null,values:null,min:0,max:1,step:1,range:!1,compareTwoMode:!1},initialize:function(a){this.frame=a.frame,this.revisions=a.revisions,this.listenTo(this.frame,"update:revisions",this.receiveRevisions),this.listenTo(this.frame,"change:compareTwoMode",this.updateMode),this.listenTo(this,"change:from",this.handleLocalChanges),this.listenTo(this,"change:to",this.handleLocalChanges),this.listenTo(this,"change:compareTwoMode",this.updateSliderSettings),this.listenTo(this,"update:revisions",this.updateSliderSettings),this.listenTo(this,"change:hoveredRevision",this.hoverRevision),this.set({max:this.revisions.length-1,compareTwoMode:this.frame.get("compareTwoMode"),from:this.frame.get("from"),to:this.frame.get("to")}),this.updateSliderSettings()},getSliderValue:function(a,b){return isRtl?this.revisions.length-this.revisions.indexOf(this.get(a))-1:this.revisions.indexOf(this.get(b))},updateSliderSettings:function(){this.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.requests={}},model:b.model.Diff,ensure:function(b,c){var d=this.get(b),e=this.requests[b],f=a.Deferred(),g={},h=b.split(":")[0],i=b.split(":")[1];return g[b]=!0,wp.revisions.log("ensure",b),this.trigger("ensure",g,h,i,f.promise()),d?f.resolveWith(c,[d]):(this.trigger("ensure:load",g,h,i,f.promise()),_.each(g,_.bind(function(a){this.requests[a]&&delete g[a],this.get(a)&&delete g[a]},this)),e||(g[b]=!0,e=this.load(_.keys(g))),e.done(_.bind(function(){f.resolveWith(c,[this.get(b)])},this)).fail(_.bind(function(){f.reject()}))),f.promise()},getClosestUnloaded:function(a,b){var c=this;return _.chain([0].concat(a)).initial().zip(a).sortBy(function(a){return Math.abs(b-a[1])}).map(function(a){return a.join(":")}).filter(function(a){return _.isUndefined(c.get(a))&&!c.requests[a]}).value()},_loadAll:function(b,c,d){var e=this,f=a.Deferred(),g=_.first(this.getClosestUnloaded(b,c),d);return _.size(g)>0?this.load(g).done(function(){e._loadAll(b,c,d).done(function(){f.resolve()})}).fail(function(){1===d?f.reject():e._loadAll(b,c,Math.ceil(d/2)).done(function(){f.resolve()})}):f.resolve(),f},load:function(a){return wp.revisions.log("load",a),this.fetch({data:{compare:a},remove:!1}).done(function(){wp.revisions.log("load:complete",a)})},sync:function(a,c,d){if("read"===a){d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"get-revision-diffs",post_id:b.settings.postId});var e=wp.ajax.send(d),f=this.requests;return d.data.compare&&_.each(d.data.compare,function(a){f[a]=e}),e.always(function(){d.data.compare&&_.each(d.data.compare,function(a){delete f[a]})}),e}return Backbone.Model.prototype.sync.apply(this,arguments)}}),b.model.FrameState=Backbone.Model.extend({defaults:{loading:!1,error:!1,compareTwoMode:!1},initialize:function(a,c){var d={};_.bindAll(this,"receiveDiff"),this._debouncedEnsureDiff=_.debounce(this._ensureDiff,200),this.revisions=c.revisions,this.diffs=new b.model.Diffs([],{revisions:this.revisions}),this.diffs.set(b.settings.diffData),this.listenTo(this,"change:from",this.changeRevisionHandler),this.listenTo(this,"change:to",this.changeRevisionHandler),this.listenTo(this,"change:compareTwoMode",this.changeMode),this.listenTo(this,"update:revisions",this.updatedRevisions),this.listenTo(this.diffs,"ensure:load",this.updateLoadingStatus),this.listenTo(this,"update:diff",this.updateLoadingStatus),d.to=this.revisions.get(b.settings.to),d.from=this.revisions.get(b.settings.from),d.compareTwoMode=b.settings.compareTwoMode,d.baseUrl=b.settings.baseUrl,this.set(d),window.history&&window.history.pushState&&(this.router=new b.Router({model:this}),Backbone.history.start({pushState:!0}))},updateLoadingStatus:function(){this.set("error",!1),this.set("loading",!this.diff())},changeMode:function(a,b){b&&0===this.revisions.indexOf(this.get("to"))&&this.set({from:this.revisions.at(0),to:this.revisions.at(1)})},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.routes=_.object([[this.baseUrl("?from=:from&to=:to"),"handleRoute"],[this.baseUrl("?from=:from&to=:to"),"handleRoute"]]),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)):this.navigate(this.baseUrl("?revision="+b))},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),this.model.set({from:this.model.revisions.get(parseInt(a,10)),to:this.model.revisions.get(parseInt(a,10)),compareTwoMode:c})}}),b.init=function(){b.view.frame=new b.view.Frame({model:new b.model.FrameState({},{revisions:new b.model.Revisions(b.settings.revisionData)})}).render()},a(b.init)}(jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a){var b;b=wp.revisions={model:{},view:{},controller:{}},b.settings=_.isUndefined(_wpRevisionsSettings)?{}:_wpRevisionsSettings,b.debug=!1,b.log=function(){window.console&&b.debug&&window.console.log.apply(window.console,arguments)},a.fn.allOffsets=function(){var b=this.offset()||{top:0,left:0},c=a(window);return _.extend(b,{right:c.width()-b.left-this.outerWidth(),bottom:c.height()-b.top-this.outerHeight()})},a.fn.allPositions=function(){var a=this.position()||{top:0,left:0},b=this.parent();return _.extend(a,{right:b.outerWidth()-a.left-this.outerWidth(),bottom:b.outerHeight()-a.top-this.outerHeight()})},b.settings.to&&(b.settings.to=parseInt(b.settings.to,10)),b.settings.from&&(b.settings.from=parseInt(b.settings.from,10)),b.settings.compareTwoMode&&(b.settings.compareTwoMode="1"===b.settings.compareTwoMode),b.model.Slider=Backbone.Model.extend({defaults:{value:null,values:null,min:0,max:1,step:1,range:!1,compareTwoMode:!1},initialize:function(a){this.frame=a.frame,this.revisions=a.revisions,this.listenTo(this.frame,"update:revisions",this.receiveRevisions),this.listenTo(this.frame,"change:compareTwoMode",this.updateMode),this.listenTo(this,"change:from",this.handleLocalChanges),this.listenTo(this,"change:to",this.handleLocalChanges),this.listenTo(this,"change:compareTwoMode",this.updateSliderSettings),this.listenTo(this,"update:revisions",this.updateSliderSettings),this.listenTo(this,"change:hoveredRevision",this.hoverRevision),this.set({max:this.revisions.length-1,compareTwoMode:this.frame.get("compareTwoMode"),from:this.frame.get("from"),to:this.frame.get("to")}),this.updateSliderSettings()},getSliderValue:function(a,b){return isRtl?this.revisions.length-this.revisions.indexOf(this.get(a))-1:this.revisions.indexOf(this.get(b))},updateSliderSettings:function(){this.set(this.get("compareTwoMode")?{values:[this.getSliderValue("to","from"),this.getSliderValue("from","to")],value:null,range:!0}:{value:this.getSliderValue("to","to"),values:null,range:!1}),this.trigger("update:slider")},hoverRevision:function(a,b){this.trigger("hovered:revision",b)},updateMode:function(a,b){this.set({compareTwoMode:b})},handleLocalChanges:function(){this.frame.set({from:this.get("from"),to:this.get("to")})},receiveRevisions:function(a,b){(this.get("from")!==a||this.get("to")!==b)&&(this.set({from:a,to:b},{silent:!0}),this.trigger("update:revisions",a,b))}}),b.model.Tooltip=Backbone.Model.extend({defaults:{revision:null,offset:{},hovering:!1,scrubbing:!1},initialize:function(a){this.frame=a.frame,this.revisions=a.revisions,this.slider=a.slider,this.listenTo(this.slider,"hovered:revision",this.updateRevision),this.listenTo(this.slider,"change:hovering",this.setHovering),this.listenTo(this.slider,"change:scrubbing",this.setScrubbing)},updateRevision:function(a){this.set({revision:a})},setHovering:function(a,b){this.set({hovering:b})},setScrubbing:function(a,b){this.set({scrubbing:b})}}),b.model.Revision=Backbone.Model.extend({}),b.model.Revisions=Backbone.Collection.extend({model:b.model.Revision,initialize:function(){_.bindAll(this,"next","prev")},next:function(a){var b=this.indexOf(a);return-1!==b&&b!==this.length-1?this.at(b+1):void 0},prev:function(a){var b=this.indexOf(a);return-1!==b&&0!==b?this.at(b-1):void 0}}),b.model.Field=Backbone.Model.extend({}),b.model.Fields=Backbone.Collection.extend({model:b.model.Field}),b.model.Diff=Backbone.Model.extend({initialize:function(){var a=this.get("fields");this.unset("fields"),this.fields=new b.model.Fields(a)}}),b.model.Diffs=Backbone.Collection.extend({initialize:function(a,b){_.bindAll(this,"getClosestUnloaded"),this.loadAll=_.once(this._loadAll),this.revisions=b.revisions,this.requests={}},model:b.model.Diff,ensure:function(b,c){var d=this.get(b),e=this.requests[b],f=a.Deferred(),g={},h=b.split(":")[0],i=b.split(":")[1];return g[b]=!0,wp.revisions.log("ensure",b),this.trigger("ensure",g,h,i,f.promise()),d?f.resolveWith(c,[d]):(this.trigger("ensure:load",g,h,i,f.promise()),_.each(g,_.bind(function(a){this.requests[a]&&delete g[a],this.get(a)&&delete g[a]},this)),e||(g[b]=!0,e=this.load(_.keys(g))),e.done(_.bind(function(){f.resolveWith(c,[this.get(b)])},this)).fail(_.bind(function(){f.reject()}))),f.promise()},getClosestUnloaded:function(a,b){var c=this;return _.chain([0].concat(a)).initial().zip(a).sortBy(function(a){return Math.abs(b-a[1])}).map(function(a){return a.join(":")}).filter(function(a){return _.isUndefined(c.get(a))&&!c.requests[a]}).value()},_loadAll:function(b,c,d){var e=this,f=a.Deferred(),g=_.first(this.getClosestUnloaded(b,c),d);return _.size(g)>0?this.load(g).done(function(){e._loadAll(b,c,d).done(function(){f.resolve()})}).fail(function(){1===d?f.reject():e._loadAll(b,c,Math.ceil(d/2)).done(function(){f.resolve()})}):f.resolve(),f},load:function(a){return wp.revisions.log("load",a),this.fetch({data:{compare:a},remove:!1}).done(function(){wp.revisions.log("load:complete",a)})},sync:function(a,c,d){if("read"===a){d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"get-revision-diffs",post_id:b.settings.postId});var e=wp.ajax.send(d),f=this.requests;return d.data.compare&&_.each(d.data.compare,function(a){f[a]=e}),e.always(function(){d.data.compare&&_.each(d.data.compare,function(a){delete f[a]})}),e}return Backbone.Model.prototype.sync.apply(this,arguments)}}),b.model.FrameState=Backbone.Model.extend({defaults:{loading:!1,error:!1,compareTwoMode:!1},initialize:function(a,c){var d={};_.bindAll(this,"receiveDiff"),this._debouncedEnsureDiff=_.debounce(this._ensureDiff,200),this.revisions=c.revisions,this.diffs=new b.model.Diffs([],{revisions:this.revisions}),this.diffs.set(b.settings.diffData),this.listenTo(this,"change:from",this.changeRevisionHandler),this.listenTo(this,"change:to",this.changeRevisionHandler),this.listenTo(this,"change:compareTwoMode",this.changeMode),this.listenTo(this,"update:revisions",this.updatedRevisions),this.listenTo(this.diffs,"ensure:load",this.updateLoadingStatus),this.listenTo(this,"update:diff",this.updateLoadingStatus),d.to=this.revisions.get(b.settings.to),d.from=this.revisions.get(b.settings.from),d.compareTwoMode=b.settings.compareTwoMode,d.baseUrl=b.settings.baseUrl,this.set(d),window.history&&window.history.pushState&&(this.router=new b.Router({model:this}),Backbone.history.start({pushState:!0}))},updateLoadingStatus:function(){this.set("error",!1),this.set("loading",!this.diff())},changeMode:function(a,b){b&&0===this.revisions.indexOf(this.get("to"))&&this.set({from:this.revisions.at(0),to:this.revisions.at(1)})},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(){b.view.frame=new b.view.Frame({model:new b.model.FrameState({},{revisions:new b.model.Revisions(b.settings.revisionData)})}).render()},a(b.init)}(jQuery);
\ No newline at end of file
index e48f9b9e8905e2cf4727437e406d8420db90ffce..7368f24f92d57ac9e04d1742bd68b4aa3ff20644 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 a.data("wp-ui-svg-"+h,"none"),void 0;try{d="atob"in b?b.atob(f[1]):e.atob(f[1])}catch(i){}if(!d)return a.data("wp-ui-svg-"+h,"none"),void 0;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){"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
diff --git a/wp-admin/js/theme-install.js b/wp-admin/js/theme-install.js
deleted file mode 100644 (file)
index f61e8a7..0000000
+++ /dev/null
@@ -1,268 +0,0 @@
-/* global ajaxurl, list_args, theme_list_args */
-
-var theme_viewer;
-
-/**
- * Theme Browsing
- *
- * Controls visibility of theme details on manage and install themes pages.
- */
-jQuery( function($) {
-       $('#availablethemes').on( 'click', '.theme-detail', function (event) {
-               var theme   = $(this).closest('.available-theme'),
-                       details = theme.find('.themedetaildiv');
-
-               if ( ! details.length ) {
-                       details = theme.find('.install-theme-info .theme-details');
-                       details = details.clone().addClass('themedetaildiv').appendTo( theme ).hide();
-               }
-
-               details.toggle();
-               event.preventDefault();
-       });
-});
-
-/**
- * Theme Install
- *
- * Displays theme previews on theme install pages.
- */
-jQuery( function($) {
-       if ( ! window.postMessage ) {
-               return;
-       }
-
-       var preview = $('#theme-installer'),
-               header  = preview.find('.wp-full-overlay-header'),
-               info    = preview.find('.install-theme-info'),
-               panel   = preview.find('.wp-full-overlay-main'),
-               body    = $( document.body );
-
-       preview.on( 'click', '.close-full-overlay', function( event ) {
-               preview.fadeOut( 200, function() {
-                       panel.empty();
-                       body.removeClass('theme-installer-active full-overlay-active');
-               });
-               event.preventDefault();
-       });
-
-       preview.on( 'click', '.collapse-sidebar', function( event ) {
-               preview.toggleClass( 'collapsed' ).toggleClass( 'expanded' );
-               event.preventDefault();
-       });
-
-       $('#availablethemes').on( 'click', '.install-theme-preview', function( event ) {
-               var src;
-
-               info.html( $(this).closest('.installable-theme').find('.install-theme-info').html() );
-
-               header.find( '.theme-install' ).replaceWith( info.find( '.theme-install' ) );
-
-               src = info.find( '.theme-preview-url' ).val();
-               panel.html( '<iframe src="' + src + '" />');
-               preview.fadeIn( 200, function() {
-                       body.addClass('theme-installer-active full-overlay-active');
-               });
-               event.preventDefault();
-       });
-});
-
-var ThemeViewer;
-
-(function($){
-       ThemeViewer = function() {
-
-               function init() {
-                       $( '#filter-click, #mini-filter-click' ).unbind( 'click' ).click( function() {
-                               $( '#filter-click' ).toggleClass( 'current' );
-                               $( '#filter-box' ).slideToggle();
-                               $( '#current-theme' ).slideToggle( 300 );
-                               return false;
-                       });
-
-                       $( '#filter-box :checkbox' ).unbind( 'click' ).click( function() {
-                               var count = $( '#filter-box :checked' ).length,
-                                       text  = $( '#filter-click' ).text();
-
-                               if ( text.indexOf( '(' ) !== -1 ) {
-                                       text = text.substr( 0, text.indexOf( '(' ) );
-                               }
-
-                               if ( count === 0 ) {
-                                       $( '#filter-click' ).text( text );
-                               } else {
-                                       $( '#filter-click' ).text( text + ' (' + count + ')' );
-                               }
-                       });
-
-                       /* $('#filter-box :submit').unbind( 'click' ).click(function() {
-                               var features = [];
-                               $('#filter-box :checked').each(function() {
-                                       features.push($(this).val());
-                               });
-
-                               listTable.update_rows({'features': features}, true, function() {
-                                       $( '#filter-click' ).toggleClass( 'current' );
-                                       $( '#filter-box' ).slideToggle();
-                                       $( '#current-theme' ).slideToggle( 300 );
-                               });
-
-                               return false;
-                       }); */
-               }
-
-               // These are the functions we expose
-               var api = {
-                       init: init
-               };
-
-               return api;
-       };
-})(jQuery);
-
-jQuery( document ).ready( function() {
-       theme_viewer = new ThemeViewer();
-       theme_viewer.init();
-});
-
-
-/**
- * Class that provides infinite scroll for Themes admin screens
- *
- * @since 3.4
- *
- * @uses ajaxurl
- * @uses list_args
- * @uses theme_list_args
- * @uses $('#_ajax_fetch_list_nonce').val()
-* */
-var ThemeScroller;
-(function($){
-       ThemeScroller = {
-               querying: false,
-               scrollPollingDelay: 500,
-               failedRetryDelay: 4000,
-               outListBottomThreshold: 300,
-
-               /**
-                * Initializer
-                *
-                * @since 3.4
-                * @access private
-                */
-               init: function() {
-                       var self = this;
-
-                       // Get out early if we don't have the required arguments.
-                       if ( typeof ajaxurl === 'undefined' ||
-                               typeof list_args === 'undefined' ||
-                               typeof theme_list_args === 'undefined' ) {
-
-                               $('.pagination-links').show();
-                                       return;
-                       }
-
-                       // Handle inputs
-                       this.nonce = $('#_ajax_fetch_list_nonce').val();
-                       this.nextPage = ( theme_list_args.paged + 1 );
-
-                       // Cache jQuery selectors
-                       this.$outList = $('#availablethemes');
-                       this.$spinner = $('div.tablenav.bottom').children( '.spinner' );
-                       this.$window = $(window);
-                       this.$document = $(document);
-
-                       /**
-                        * If there are more pages to query, then start polling to track
-                        * when user hits the bottom of the current page
-                        */
-                       if ( theme_list_args.total_pages >= this.nextPage ) {
-                               this.pollInterval = setInterval( function() {
-                                       return self.poll();
-                               }, this.scrollPollingDelay );
-                       }
-               },
-
-               /**
-                * Checks to see if user has scrolled to bottom of page.
-                * If so, requests another page of content from self.ajax().
-                *
-                * @since 3.4
-                * @access private
-                */
-               poll: function() {
-                       var bottom = this.$document.scrollTop() + this.$window.innerHeight();
-
-                       if ( this.querying ||
-                               ( bottom < this.$outList.height() - this.outListBottomThreshold ) ) {
-                               return;
-                       }
-
-                       this.ajax();
-               },
-
-               /**
-                * Applies results passed from this.ajax() to $outList
-                *
-                * @since 3.4
-                * @access private
-                *
-                * @param results Array with results from this.ajax() query.
-                */
-               process: function( results ) {
-                       if ( results === undefined ) {
-                               clearInterval( this.pollInterval );
-                               return;
-                       }
-
-                       if ( this.nextPage > theme_list_args.total_pages ) {
-                               clearInterval( this.pollInterval );
-                       }
-
-                       if ( this.nextPage <= ( theme_list_args.total_pages + 1 ) ) {
-                               this.$outList.append( results.rows );
-                       }
-               },
-
-               /**
-                * Queries next page of themes
-                *
-                * @since 3.4
-                * @access private
-                */
-               ajax: function() {
-                       var self = this,
-                               query = {
-                               action: 'fetch-list',
-                               paged: this.nextPage,
-                               s: theme_list_args.search,
-                               tab: theme_list_args.tab,
-                               type: theme_list_args.type,
-                               _ajax_fetch_list_nonce: this.nonce,
-                               'features[]': theme_list_args.features,
-                               'list_args': list_args
-                       };
-
-                       this.querying = true;
-
-                       this.$spinner.show();
-                       $.getJSON( ajaxurl, query )
-                               .done( function( response ) {
-                                       self.nextPage++;
-                                       self.process( response );
-                                       self.$spinner.hide();
-                                       self.querying = false;
-                               })
-                               .fail( function() {
-                                       self.$spinner.hide();
-                                       self.querying = false;
-                                       setTimeout( function() { self.ajax(); }, self.failedRetryDelay );
-                               });
-               }
-       };
-
-       $(document).ready( function() {
-               ThemeScroller.init();
-       });
-
-})(jQuery);
diff --git a/wp-admin/js/theme-install.min.js b/wp-admin/js/theme-install.min.js
deleted file mode 100644 (file)
index fe56ed0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-var theme_viewer;jQuery(function(a){a("#availablethemes").on("click",".theme-detail",function(b){var c=a(this).closest(".available-theme"),d=c.find(".themedetaildiv");d.length||(d=c.find(".install-theme-info .theme-details"),d=d.clone().addClass("themedetaildiv").appendTo(c).hide()),d.toggle(),b.preventDefault()})}),jQuery(function(a){if(window.postMessage){var b=a("#theme-installer"),c=b.find(".wp-full-overlay-header"),d=b.find(".install-theme-info"),e=b.find(".wp-full-overlay-main"),f=a(document.body);b.on("click",".close-full-overlay",function(a){b.fadeOut(200,function(){e.empty(),f.removeClass("theme-installer-active full-overlay-active")}),a.preventDefault()}),b.on("click",".collapse-sidebar",function(a){b.toggleClass("collapsed").toggleClass("expanded"),a.preventDefault()}),a("#availablethemes").on("click",".install-theme-preview",function(g){var h;d.html(a(this).closest(".installable-theme").find(".install-theme-info").html()),c.find(".theme-install").replaceWith(d.find(".theme-install")),h=d.find(".theme-preview-url").val(),e.html('<iframe src="'+h+'" />'),b.fadeIn(200,function(){f.addClass("theme-installer-active full-overlay-active")}),g.preventDefault()})}});var ThemeViewer;!function(a){ThemeViewer=function(){function b(){a("#filter-click, #mini-filter-click").unbind("click").click(function(){return a("#filter-click").toggleClass("current"),a("#filter-box").slideToggle(),a("#current-theme").slideToggle(300),!1}),a("#filter-box :checkbox").unbind("click").click(function(){var b=a("#filter-box :checked").length,c=a("#filter-click").text();-1!==c.indexOf("(")&&(c=c.substr(0,c.indexOf("("))),0===b?a("#filter-click").text(c):a("#filter-click").text(c+" ("+b+")")})}var c={init:b};return c}}(jQuery),jQuery(document).ready(function(){theme_viewer=new ThemeViewer,theme_viewer.init()});var ThemeScroller;!function(a){ThemeScroller={querying:!1,scrollPollingDelay:500,failedRetryDelay:4e3,outListBottomThreshold:300,init:function(){var b=this;return"undefined"==typeof ajaxurl||"undefined"==typeof list_args||"undefined"==typeof theme_list_args?(a(".pagination-links").show(),void 0):(this.nonce=a("#_ajax_fetch_list_nonce").val(),this.nextPage=theme_list_args.paged+1,this.$outList=a("#availablethemes"),this.$spinner=a("div.tablenav.bottom").children(".spinner"),this.$window=a(window),this.$document=a(document),theme_list_args.total_pages>=this.nextPage&&(this.pollInterval=setInterval(function(){return b.poll()},this.scrollPollingDelay)),void 0)},poll:function(){var a=this.$document.scrollTop()+this.$window.innerHeight();this.querying||a<this.$outList.height()-this.outListBottomThreshold||this.ajax()},process:function(a){return void 0===a?(clearInterval(this.pollInterval),void 0):(this.nextPage>theme_list_args.total_pages&&clearInterval(this.pollInterval),this.nextPage<=theme_list_args.total_pages+1&&this.$outList.append(a.rows),void 0)},ajax:function(){var b=this,c={action:"fetch-list",paged:this.nextPage,s:theme_list_args.search,tab:theme_list_args.tab,type:theme_list_args.type,_ajax_fetch_list_nonce:this.nonce,"features[]":theme_list_args.features,list_args:list_args};this.querying=!0,this.$spinner.show(),a.getJSON(ajaxurl,c).done(function(a){b.nextPage++,b.process(a),b.$spinner.hide(),b.querying=!1}).fail(function(){b.$spinner.hide(),b.querying=!1,setTimeout(function(){b.ajax()},b.failedRetryDelay)})}},a(document).ready(function(){ThemeScroller.init()})}(jQuery);
\ No newline at end of file
diff --git a/wp-admin/js/theme-preview.js b/wp-admin/js/theme-preview.js
deleted file mode 100644 (file)
index 28d93cf..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/* global tb_click */
-var thickDims, tbWidth, tbHeight;
-jQuery(document).ready(function($) {
-
-       thickDims = function() {
-               var tbWindow = $('#TB_window'), H = $(window).height(), W = $(window).width(), w, h;
-
-               w = (tbWidth && tbWidth < W - 90) ? tbWidth : W - 90;
-               h = (tbHeight && tbHeight < H - 60) ? tbHeight : H - 60;
-
-               if ( tbWindow.size() ) {
-                       tbWindow.width(w).height(h);
-                       $('#TB_iframeContent').width(w).height(h - 27);
-                       tbWindow.css({'margin-left': '-' + parseInt((w / 2),10) + 'px'});
-                       if ( typeof document.body.style.maxWidth !== 'undefined' ) {
-                               tbWindow.css({'top':'30px','margin-top':'0'});
-                       }
-               }
-       };
-
-       thickDims();
-       $(window).resize( function() { thickDims(); } );
-
-       $('a.thickbox-preview').click( function() {
-               tb_click.call(this);
-
-               var alink = $(this).parents('.available-theme').find('.activatelink'), link = '', href = $(this).attr('href'), url, text;
-
-               if ( tbWidth = href.match(/&tbWidth=[0-9]+/) ) {
-                       tbWidth = parseInt(tbWidth[0].replace(/[^0-9]+/g, ''), 10);
-               } else {
-                       tbWidth = $(window).width() - 90;
-               }
-
-               if ( tbHeight = href.match(/&tbHeight=[0-9]+/) ) {
-                       tbHeight = parseInt(tbHeight[0].replace(/[^0-9]+/g, ''), 10);
-               } else {
-                       tbHeight = $(window).height() - 60;
-               }
-
-               if ( alink.length ) {
-                       url = alink.attr('href') || '';
-                       text = alink.attr('title') || '';
-                       link = '&nbsp; <a href="' + url + '" target="_top" class="tb-theme-preview-link">' + text + '</a>';
-               } else {
-                       text = $(this).attr('title') || '';
-                       link = '&nbsp; <span class="tb-theme-preview-link">' + text + '</span>';
-               }
-
-               $('#TB_title').css({'background-color':'#222','color':'#dfdfdf'});
-               $('#TB_closeAjaxWindow').css({'float':'left'});
-               $('#TB_ajaxWindowTitle').css({'float':'right'}).html(link);
-
-               $('#TB_iframeContent').width('100%');
-               thickDims();
-
-               return false;
-       } );
-});
diff --git a/wp-admin/js/theme-preview.min.js b/wp-admin/js/theme-preview.min.js
deleted file mode 100644 (file)
index 0a26a46..0000000
+++ /dev/null
@@ -1 +0,0 @@
-var thickDims,tbWidth,tbHeight;jQuery(document).ready(function(a){thickDims=function(){var b,c,d=a("#TB_window"),e=a(window).height(),f=a(window).width();b=tbWidth&&f-90>tbWidth?tbWidth:f-90,c=tbHeight&&e-60>tbHeight?tbHeight:e-60,d.size()&&(d.width(b).height(c),a("#TB_iframeContent").width(b).height(c-27),d.css({"margin-left":"-"+parseInt(b/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&d.css({top:"30px","margin-top":"0"}))},thickDims(),a(window).resize(function(){thickDims()}),a("a.thickbox-preview").click(function(){tb_click.call(this);var b,c,d=a(this).parents(".available-theme").find(".activatelink"),e="",f=a(this).attr("href");return tbWidth=(tbWidth=f.match(/&tbWidth=[0-9]+/))?parseInt(tbWidth[0].replace(/[^0-9]+/g,""),10):a(window).width()-90,tbHeight=(tbHeight=f.match(/&tbHeight=[0-9]+/))?parseInt(tbHeight[0].replace(/[^0-9]+/g,""),10):a(window).height()-60,d.length?(b=d.attr("href")||"",c=d.attr("title")||"",e='&nbsp; <a href="'+b+'" target="_top" class="tb-theme-preview-link">'+c+"</a>"):(c=a(this).attr("title")||"",e='&nbsp; <span class="tb-theme-preview-link">'+c+"</span>"),a("#TB_title").css({"background-color":"#222",color:"#dfdfdf"}),a("#TB_closeAjaxWindow").css({"float":"left"}),a("#TB_ajaxWindowTitle").css({"float":"right"}).html(e),a("#TB_iframeContent").width("100%"),thickDims(),!1})});
\ No newline at end of file
index aba7d9b9469c1ff776eb743d49e056aa0c1bb938..77054b5cbf24983aaed1c9cb80ad7d7c076ecc74 100644 (file)
@@ -12,10 +12,37 @@ themes = wp.themes = wp.themes || {};
 themes.data = _wpThemeSettings;
 l10n = themes.data.l10n;
 
+// Shortcut for isInstall check
+themes.isInstall = !! themes.data.settings.isInstall;
+
 // Setup app structure
 _.extend( themes, { model: {}, view: {}, routes: {}, router: {}, template: wp.template });
 
-themes.model = Backbone.Model.extend({});
+themes.Model = Backbone.Model.extend({
+       // Adds attributes to the default data coming through the .org themes api
+       // Map `id` to `slug` for shared code
+       initialize: function() {
+               var description;
+
+               // If theme is already installed, set an attribute.
+               if ( _.indexOf( themes.data.installedThemes, this.get( 'slug' ) ) !== -1 ) {
+                       this.set({ installed: true });
+               }
+
+               // Set the attributes
+               this.set({
+                       // slug is for installation, id is for existing.
+                       id: this.get( 'slug' ) || this.get( 'id' )
+               });
+
+               // Map `section.description` to `description`
+               // as the API sometimes returns it differently
+               if ( this.has( 'sections' ) ) {
+                       description = this.get( 'sections' ).description;
+                       this.set({ description: description });
+               }
+       }
+});
 
 // Main view controller for themes.php
 // Unifies and renders all available views
@@ -28,10 +55,11 @@ themes.view.Appearance = wp.Backbone.View.extend({
        page: 0,
 
        // Sets up a throttler for binding to 'scroll'
-       initialize: function() {
+       initialize: function( options ) {
                // Scroller checks how far the scroll position is
                _.bindAll( this, 'scroller' );
 
+               this.SearchView = options.SearchView ? options.SearchView : themes.view.Search;
                // Bind to the scroll event and throttle
                // the results from this.scroller
                this.window.bind( 'scroll', _.throttle( this.scroller, 300 ) );
@@ -55,6 +83,9 @@ themes.view.Appearance = wp.Backbone.View.extend({
                this.$el.append( '<br class="clear"/>' );
        },
 
+       // Defines search element container
+       searchContainer: $( '#wpbody h2:first' ),
+
        // Search input and view
        // for current theme collection
        search: function() {
@@ -66,11 +97,14 @@ themes.view.Appearance = wp.Backbone.View.extend({
                        return;
                }
 
-               view = new themes.view.Search({ collection: self.collection });
+               view = new this.SearchView({
+                       collection: self.collection,
+                       parent: this
+               });
 
                // Render and append after screen title
                view.render();
-               $('#wpbody h2:first')
+               this.searchContainer
                        .append( $.parseHTML( '<label class="screen-reader-text" for="theme-search-input">' + l10n.search + '</label>' ) )
                        .append( view.el );
        },
@@ -95,7 +129,7 @@ themes.view.Appearance = wp.Backbone.View.extend({
 // @has 'id' 'name' 'screenshot' 'author' 'authorURI' 'version' 'active' ...
 themes.Collection = Backbone.Collection.extend({
 
-       model: themes.model,
+       model: themes.Model,
 
        // Search terms
        terms: '',
@@ -136,11 +170,12 @@ themes.Collection = Backbone.Collection.extend({
                // Start with a full collection
                this.reset( themes.data.themes, { silent: true } );
 
-               // The RegExp object to match
-               //
+               // Escape the term string for RegExp meta characters
+               term = term.replace( /[-\/\\^$*+?.()|[\]{}]/g, '\\$&' );
+
                // Consider spaces as word delimiters and match the whole string
                // so matching terms can be combined
-               term = term.replace( ' ', ')(?=.*' );
+               term = term.replace( / /g, ')(?=.*' );
                match = new RegExp( '^(?=.*' + term + ').+', 'i' );
 
                // Find results
@@ -164,12 +199,151 @@ themes.Collection = Backbone.Collection.extend({
                var collection = this;
                instance = instance || 0;
 
-               // Themes per instance are set at 15
-               collection = _( collection.rest( 15 * instance ) );
-               collection = _( collection.first( 15 ) );
+               // Themes per instance are set at 20
+               collection = _( collection.rest( 20 * instance ) );
+               collection = _( collection.first( 20 ) );
 
                return collection;
-       }
+       },
+
+       count: false,
+
+       // Handles requests for more themes
+       // and caches results
+       //
+       // When we are missing a cache object we fire an apiCall()
+       // which triggers events of `query:success` or `query:fail`
+       query: function( request ) {
+               /**
+                * @static
+                * @type Array
+                */
+               var queries = this.queries,
+                       self = this,
+                       query, isPaginated, count;
+
+               // Store current query request args
+               // for later use with the event `theme:end`
+               this.currentQuery.request = request;
+
+               // Search the query cache for matches.
+               query = _.find( queries, function( query ) {
+                       return _.isEqual( query.request, request );
+               });
+
+               // If the request matches the stored currentQuery.request
+               // it means we have a paginated request.
+               isPaginated = _.has( request, 'page' );
+
+               // Reset the internal api page counter for non paginated queries.
+               if ( ! isPaginated ) {
+                       this.currentQuery.page = 1;
+               }
+
+               // Otherwise, send a new API call and add it to the cache.
+               if ( ! query && ! isPaginated ) {
+                       query = this.apiCall( request ).done( function( data ) {
+
+                               // Update the collection with the queried data.
+                               if ( data.themes ) {
+                                       self.reset( data.themes );
+                                       count = data.info.results;
+                                       // Store the results and the query request
+                                       queries.push( { themes: data.themes, request: request, total: count } );
+                               }
+
+                               // Trigger a collection refresh event
+                               // and a `query:success` event with a `count` argument.
+                               self.trigger( 'update' );
+                               self.trigger( 'query:success', count );
+
+                               if ( data.themes && data.themes.length === 0 ) {
+                                       self.trigger( 'query:empty' );
+                               }
+
+                       }).fail( function() {
+                               self.trigger( 'query:fail' );
+                       });
+               } else {
+                       // If it's a paginated request we need to fetch more themes...
+                       if ( isPaginated ) {
+                               return this.apiCall( request, isPaginated ).done( function( data ) {
+                                       // Add the new themes to the current collection
+                                       // @todo update counter
+                                       self.add( data.themes );
+                                       self.trigger( 'query:success' );
+
+                                       // We are done loading themes for now.
+                                       self.loadingThemes = false;
+
+                               }).fail( function() {
+                                       self.trigger( 'query:fail' );
+                               });
+                       }
+
+                       if ( query.themes.length === 0 ) {
+                               self.trigger( 'query:empty' );
+                       } else {
+                               $( 'body' ).removeClass( 'no-results' );
+                       }
+
+                       // Only trigger an update event since we already have the themes
+                       // on our cached object
+                       if ( _.isNumber( query.total ) ) {
+                               this.count = query.total;
+                       }
+
+                       this.reset( query.themes );
+                       if ( ! query.total ) {
+                               this.count = this.length;
+                       }
+
+                       this.trigger( 'update' );
+                       this.trigger( 'query:success', this.count );
+               }
+       },
+
+       // Local cache array for API queries
+       queries: [],
+
+       // Keep track of current query so we can handle pagination
+       currentQuery: {
+               page: 1,
+               request: {}
+       },
+
+       // Send request to api.wordpress.org/themes
+       apiCall: function( request, paginated ) {
+               return wp.ajax.send( 'query-themes', {
+                       data: {
+                       // Request data
+                               request: _.extend({
+                                       per_page: 100,
+                                       fields: {
+                                               description: true,
+                                               tested: true,
+                                               requires: true,
+                                               rating: true,
+                                               downloaded: true,
+                                               downloadLink: true,
+                                               last_updated: true,
+                                               homepage: true,
+                                               num_ratings: true
+                                       }
+                               }, request)
+                       },
+
+                       beforeSend: function() {
+                               if ( ! paginated ) {
+                                       // Spin it
+                                       $( 'body' ).addClass( 'loading-themes' ).removeClass( 'no-results' );
+                               }
+                       }
+               });
+       },
+
+       // Static status controller for when we are loading themes.
+       loadingThemes: false
 });
 
 // This is the view that controls each theme item
@@ -187,9 +361,11 @@ themes.view.Theme = wp.Backbone.View.extend({
        html: themes.template( 'theme' ),
 
        events: {
-               'click': 'expand',
-               'keydown': 'expand',
-               'touchend': 'expand',
+               'click': themes.isInstall ? 'preview': 'expand',
+               'click .preview': 'preview',
+               'keydown': themes.isInstall ? 'preview': 'expand',
+               'touchend': themes.isInstall ? 'preview': 'expand',
+               'keyup': 'addFocus',
                'touchmove': 'preventExpand'
        },
 
@@ -209,6 +385,10 @@ themes.view.Theme = wp.Backbone.View.extend({
                if ( this.model.get( 'displayAuthor' ) ) {
                        this.$el.addClass( 'display-author' );
                }
+
+               if ( this.model.get( 'installed' ) ) {
+                       this.$el.addClass( 'is-installed' );
+               }
        },
 
        // Adds a class to the currently active theme
@@ -219,6 +399,14 @@ themes.view.Theme = wp.Backbone.View.extend({
                }
        },
 
+       // Add class of focus to the theme we are focused on.
+       addFocus: function() {
+               var $themeToFocus = ( $( ':focus' ).hasClass( 'theme' ) ) ? $( ':focus' ) : $(':focus').parents('.theme');
+
+               $('.theme.focus').removeClass('focus');
+               $themeToFocus.addClass('focus');
+       },
+
        // Single theme overlay screen
        // It's shown when clicking a theme
        expand: function( event ) {
@@ -250,6 +438,144 @@ themes.view.Theme = wp.Backbone.View.extend({
 
        preventExpand: function() {
                this.touchDrag = true;
+       },
+
+       preview: function( event ) {
+               var self = this,
+                       current, preview;
+
+               // Bail if the user scrolled on a touch device
+               if ( this.touchDrag === true ) {
+                       return this.touchDrag = false;
+               }
+
+               // Allow direct link path to installing a theme.
+               if ( $( event.target ).hasClass( 'button-primary' ) ) {
+                       return;
+               }
+
+               // 'enter' and 'space' keys expand the details view when a theme is :focused
+               if ( event.type === 'keydown' && ( event.which !== 13 && event.which !== 32 ) ) {
+                       return;
+               }
+
+               // pressing enter while focused on the buttons shouldn't open the preview
+               if ( event.type === 'keydown' && event.which !== 13 && $( ':focus' ).hasClass( 'button' ) ) {
+                       return;
+               }
+
+               event.preventDefault();
+
+               event = event || window.event;
+
+               // Set focus to current theme.
+               themes.focusedTheme = this.$el;
+
+               // Construct a new Preview view.
+               preview = new themes.view.Preview({
+                       model: this.model
+               });
+
+               // Render the view and append it.
+               preview.render();
+               this.setNavButtonsState();
+
+               // Hide previous/next navigation if there is only one theme
+               if ( this.model.collection.length === 1 ) {
+                       preview.$el.addClass( 'no-navigation' );
+               } else {
+                       preview.$el.removeClass( 'no-navigation' );
+               }
+
+               // Apend preview
+               $( 'div.wrap' ).append( preview.el );
+
+               // Listen to our preview object
+               // for `theme:next` and `theme:previous` events.
+               this.listenTo( preview, 'theme:next', function() {
+
+                       // Keep local track of current theme model.
+                       current = self.model;
+
+                       // If we have ventured away from current model update the current model position.
+                       if ( ! _.isUndefined( self.current ) ) {
+                               current = self.current;
+                       }
+
+                       // Get previous theme model.
+                       self.current = self.model.collection.at( self.model.collection.indexOf( current ) + 1 );
+
+                       // If we have no more themes, bail.
+                       if ( _.isUndefined( self.current ) ) {
+                               self.options.parent.parent.trigger( 'theme:end' );
+                               return self.current = current;
+                       }
+
+                       // Construct a new Preview view.
+                       preview = new themes.view.Preview({
+                               model: self.current
+                       });
+
+                       // Render and append.
+                       preview.render();
+                       this.setNavButtonsState();
+                       $( 'div.wrap' ).append( preview.el );
+                       $( '.next-theme' ).focus();
+               })
+               .listenTo( preview, 'theme:previous', function() {
+
+                       // Keep track of current theme model.
+                       current = self.model;
+
+                       // Bail early if we are at the beginning of the collection
+                       if ( self.model.collection.indexOf( self.current ) === 0 ) {
+                               return;
+                       }
+
+                       // If we have ventured away from current model update the current model position.
+                       if ( ! _.isUndefined( self.current ) ) {
+                               current = self.current;
+                       }
+
+                       // Get previous theme model.
+                       self.current = self.model.collection.at( self.model.collection.indexOf( current ) - 1 );
+
+                       // If we have no more themes, bail.
+                       if ( _.isUndefined( self.current ) ) {
+                               return;
+                       }
+
+                       // Construct a new Preview view.
+                       preview = new themes.view.Preview({
+                               model: self.current
+                       });
+
+                       // Render and append.
+                       preview.render();
+                       this.setNavButtonsState();
+                       $( 'div.wrap' ).append( preview.el );
+                       $( '.previous-theme' ).focus();
+               });
+
+               this.listenTo( preview, 'preview:close', function() {
+                       self.current = self.model;
+               });
+       },
+
+       // Handles .disabled classes for previous/next buttons in theme installer preview
+       setNavButtonsState: function() {
+               var $themeInstaller = $( '.theme-install-overlay' ),
+                       current = _.isUndefined( this.current ) ? this.model : this.current;
+
+               // Disable previous at the zero position
+               if ( 0 === this.model.collection.indexOf( current ) ) {
+                       $themeInstaller.find( '.previous-theme' ).addClass( 'disabled' );
+               }
+
+               // Disable next if the next model is undefined
+               if ( _.isUndefined( this.model.collection.at( this.model.collection.indexOf( current ) + 1 ) ) ) {
+                       $themeInstaller.find( '.next-theme' ).addClass( 'disabled' );
+               }
        }
 });
 
@@ -342,7 +668,7 @@ themes.view.Details = wp.Backbone.View.extend({
                        // With a quick fade out animation
                        this.$el.fadeOut( 130, function() {
                                // Clicking outside the modal box closes the overlay
-                               $( 'body' ).removeClass( 'theme-overlay-open closing-overlay' );
+                               $( 'body' ).removeClass( 'closing-overlay' );
                                // Handle event cleanup
                                self.closeOverlay();
 
@@ -350,7 +676,7 @@ themes.view.Details = wp.Backbone.View.extend({
                                scroll = document.body.scrollTop;
 
                                // Clean the url structure
-                               themes.router.navigate( themes.router.baseUrl( '' ), { replace: true } );
+                               themes.router.navigate( themes.router.baseUrl( '' ) );
 
                                // Restore scroll position
                                document.body.scrollTop = scroll;
@@ -378,12 +704,13 @@ themes.view.Details = wp.Backbone.View.extend({
        // Performs the actions to effectively close
        // the theme details overlay
        closeOverlay: function() {
+               $( 'body' ).removeClass( 'theme-overlay-open' );
                this.remove();
                this.unbind();
                this.trigger( 'theme:collapse' );
        },
 
-       // Confirmation dialoge for deleting a theme
+       // Confirmation dialog for deleting a theme
        deleteTheme: function() {
                return confirm( themes.data.settings.confirmDelete );
        },
@@ -391,11 +718,13 @@ themes.view.Details = wp.Backbone.View.extend({
        nextTheme: function() {
                var self = this;
                self.trigger( 'theme:next', self.model.cid );
+               return false;
        },
 
        previousTheme: function() {
                var self = this;
                self.trigger( 'theme:previous', self.model.cid );
+               return false;
        },
 
        // Checks if the theme screenshot is the old 300px width version
@@ -414,6 +743,77 @@ themes.view.Details = wp.Backbone.View.extend({
        }
 });
 
+// Theme Preview view
+// Set ups a modal overlay with the expanded theme data
+themes.view.Preview = themes.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'
+       },
+
+       // The HTML template for the theme preview
+       html: themes.template( 'theme-preview' ),
+
+       render: function() {
+               var data = this.model.toJSON();
+
+               this.$el.html( this.html( data ) );
+
+               themes.router.navigate( themes.router.baseUrl( '?theme=' + this.model.get( 'id' ) ), { replace: true } );
+
+               this.$el.fadeIn( 200, function() {
+                       $( 'body' ).addClass( 'theme-installer-active full-overlay-active' );
+                       $( '.close-full-overlay' ).focus();
+               });
+       },
+
+       close: function() {
+               this.$el.fadeOut( 200, function() {
+                       $( 'body' ).removeClass( 'theme-installer-active full-overlay-active' );
+
+                       // Return focus to the theme div
+                       if ( themes.focusedTheme ) {
+                               themes.focusedTheme.focus();
+                       }
+               });
+
+               themes.router.navigate( themes.router.baseUrl( '' ) );
+               this.trigger( 'preview:close' );
+               this.unbind();
+               return false;
+       },
+
+       collapse: function() {
+
+               this.$el.toggleClass( 'collapsed' ).toggleClass( 'expanded' );
+               return false;
+       },
+
+       keyEvent: function( event ) {
+               // The escape key closes the preview
+               if ( event.keyCode === 27 ) {
+                       this.undelegateEvents();
+                       this.close();
+               }
+               // The right arrow key, next theme
+               if ( event.keyCode === 39 ) {
+                       _.once( this.nextTheme() );
+               }
+
+               // The left arrow key, previous theme
+               if ( event.keyCode === 37 ) {
+                       this.previousTheme();
+               }
+       }
+});
+
 // Controls the rendering of div.themes,
 // a wrapper that will hold all the theme elements
 themes.view.Themes = wp.Backbone.View.extend({
@@ -447,12 +847,31 @@ themes.view.Themes = wp.Backbone.View.extend({
                        self.render( this );
                });
 
+               // Update theme count to full result set when available.
+               this.listenTo( self.collection, 'query:success', function( count ) {
+                       if ( _.isNumber( count ) ) {
+                               self.count.text( count );
+                       } else {
+                               self.count.text( self.collection.length );
+                       }
+               });
+
+               this.listenTo( self.collection, 'query:empty', function() {
+                       $( 'body' ).addClass( 'no-results' );
+               });
+
                this.listenTo( this.parent, 'theme:scroll', function() {
                        self.renderThemes( self.parent.page );
                });
 
+               this.listenTo( this.parent, 'theme:close', function() {
+                       if ( self.overlay ) {
+                               self.overlay.closeOverlay();
+                       }
+               } );
+
                // Bind keyboard events.
-               $('body').on( 'keyup', function( event ) {
+               $( 'body' ).on( 'keyup', function( event ) {
                        if ( ! self.overlay ) {
                                return;
                        }
@@ -498,10 +917,13 @@ themes.view.Themes = wp.Backbone.View.extend({
 
                // Generate the themes
                // Using page instance
-               this.renderThemes( this.parent.page );
+               // While checking the collection has items
+               if ( this.options.collection.size() > 0 ) {
+                       this.renderThemes( this.parent.page );
+               }
 
                // Display a live theme count for the collection
-               this.count.text( this.collection.length );
+               this.count.text( this.collection.count ? this.collection.count : this.collection.length );
        },
 
        // Iterates through each instance of the collection
@@ -512,7 +934,9 @@ themes.view.Themes = wp.Backbone.View.extend({
                self.instance = self.collection.paginate( page );
 
                // If we have no more themes bail
-               if ( self.instance.length === 0 ) {
+               if ( self.instance.size() === 0 ) {
+                       // Fire a no-more-themes event.
+                       this.parent.trigger( 'theme:end' );
                        return;
                }
 
@@ -524,7 +948,8 @@ themes.view.Themes = wp.Backbone.View.extend({
                // Loop through the themes and setup each theme view
                self.instance.each( function( theme ) {
                        self.theme = new themes.view.Theme({
-                               model: theme
+                               model: theme,
+                               parent: self
                        });
 
                        // Render the views...
@@ -573,7 +998,7 @@ themes.view.Themes = wp.Backbone.View.extend({
                this.model = self.collection.get( id );
 
                // Trigger a route update for the current model
-               themes.router.navigate( themes.router.baseUrl( '?theme=' + this.model.id ), { replace: true } );
+               themes.router.navigate( themes.router.baseUrl( '?theme=' + this.model.id ) );
 
                // Sets this.view to 'detail'
                this.setView( 'detail' );
@@ -659,6 +1084,7 @@ themes.view.Search = wp.Backbone.View.extend({
        tagName: 'input',
        className: 'theme-search',
        id: 'theme-search-input',
+       searching: false,
 
        attributes: {
                placeholder: l10n.searchPlaceholder,
@@ -669,39 +1095,94 @@ themes.view.Search = wp.Backbone.View.extend({
                'input':  'search',
                'keyup':  'search',
                'change': 'search',
-               'search': 'search'
+               'search': 'search',
+               'blur':   'pushState'
+       },
+
+       initialize: function( options ) {
+
+               this.parent = options.parent;
+
+               this.listenTo( this.parent, 'theme:close', function() {
+                       this.searching = false;
+               } );
+
        },
 
        // Runs a search on the theme collection.
        search: function( event ) {
+               var options = {};
+
                // Clear on escape.
                if ( event.type === 'keyup' && event.which === 27 ) {
                        event.target.value = '';
                }
 
+               // Lose input focus when pressing enter
+               if ( event.which === 13 ) {
+                       this.$el.trigger( 'blur' );
+               }
+
                this.collection.doSearch( event.target.value );
 
+               // if search is initiated and key is not return
+               if ( this.searching && event.which !== 13 ) {
+                       options.replace = true;
+               } else {
+                       this.searching = true;
+               }
+
                // Update the URL hash
                if ( event.target.value ) {
-                       themes.router.navigate( themes.router.baseUrl( '?search=' + event.target.value ), { replace: true } );
+                       themes.router.navigate( themes.router.baseUrl( '?search=' + event.target.value ), options );
                } else {
-                       themes.router.navigate( themes.router.baseUrl( '' ), { replace: true } );
+                       themes.router.navigate( themes.router.baseUrl( '' ) );
+               }
+       },
+
+       pushState: function( event ) {
+               var url = themes.router.baseUrl( '' );
+
+               if ( event.target.value ) {
+                       url = themes.router.baseUrl( '?search=' + event.target.value );
                }
+
+               this.searching = false;
+               themes.router.navigate( url );
+
        }
 });
 
 // Sets up the routes events for relevant url queries
 // Listens to [theme] and [search] params
-themes.routes = Backbone.Router.extend({
-
-       initialize: function() {
-               this.routes = _.object([
-               ]);
+themes.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( url ) {
-               return themes.data.settings.root + url;
+               return 'themes.php' + url;
+       },
+
+       search: function( query ) {
+               $( '.theme-search' ).val( query );
+       },
+
+       themes: function() {
+               $( '.theme-search' ).val( '' );
+       },
+
+       navigate: function() {
+               if ( Backbone.history._hasPushState ) {
+                       Backbone.Router.prototype.navigate.apply( this, arguments );
+               }
        }
+
 });
 
 // Execute and setup the application
@@ -720,42 +1201,473 @@ themes.Run = {
        },
 
        render: function() {
+
                // Render results
                this.view.render();
                this.routes();
 
-               // Set the initial theme
-               if ( 'undefined' !== typeof themes.data.settings.theme && '' !== themes.data.settings.theme ){
-                       this.view.view.theme.trigger( 'theme:expand', this.view.collection.findWhere( { id: themes.data.settings.theme } ) );
+               Backbone.history.start({
+                       root: themes.data.settings.adminUrl,
+                       pushState: true,
+                       hashChange: false
+               });
+       },
+
+       routes: function() {
+               var self = this;
+               // Bind to our global thx object
+               // so that the object is available to sub-views
+               themes.router = new themes.Router();
+
+               // Handles theme details route event
+               themes.router.on( 'route:theme', function( slug ) {
+                       self.view.view.expand( slug );
+               });
+
+               themes.router.on( 'route:themes', function() {
+                       self.themes.doSearch( '' );
+                       self.view.trigger( 'theme:close' );
+               });
+
+               // Handles search route event
+               themes.router.on( 'route:search', function() {
+                       $( '.theme-search' ).trigger( 'keyup' );
+               });
+
+               this.extraRoutes();
+       },
+
+       extraRoutes: function() {
+               return false;
+       }
+};
+
+// Extend the main Search view
+themes.view.InstallerSearch =  themes.view.Search.extend({
+
+       events: {
+               'keyup': 'search'
+       },
+
+       // Handles Ajax request for searching through themes in public repo
+       search: function( event ) {
+
+               // Tabbing or reverse tabbing into the search input shouldn't trigger a search
+               if ( event.type === 'keyup' && ( event.which === 9 || event.which === 16 ) ) {
+                       return;
+               }
+
+               this.collection = this.options.parent.view.collection;
+
+               // Clear on escape.
+               if ( event.type === 'keyup' && event.which === 27 ) {
+                       event.target.value = '';
                }
 
-               // Set the initial search
-               if ( 'undefined' !== typeof themes.data.settings.search && '' !== themes.data.settings.search ){
-                       $( '.theme-search' ).val( themes.data.settings.search );
-                       this.themes.doSearch( themes.data.settings.search );
+               _.debounce( _.bind( this.doSearch, this ), 300 )( event.target.value );
+       },
+
+       doSearch: _.debounce( function( value ) {
+               var request = {};
+
+               request.search = value;
+
+               // Intercept an [author] search.
+               //
+               // If input value starts with `author:` send a request
+               // for `author` instead of a regular `search`
+               if ( value.substring( 0, 7 ) === 'author:' ) {
+                       request.search = '';
+                       request.author = value.slice( 7 );
                }
 
-               // Start the router if browser supports History API
-               if ( window.history && window.history.pushState ) {
-                       // Calls the routes functionality
-                       Backbone.history.start({ pushState: true, silent: true });
+               // Intercept a [tag] search.
+               //
+               // If input value starts with `tag:` send a request
+               // for `tag` instead of a regular `search`
+               if ( value.substring( 0, 4 ) === 'tag:' ) {
+                       request.search = '';
+                       request.tag = [ value.slice( 4 ) ];
                }
+
+               $( '.theme-section.current' ).removeClass( 'current' );
+               $( 'body' ).removeClass( 'more-filters-opened filters-applied' );
+
+               // Get the themes by sending Ajax POST request to api.wordpress.org/themes
+               // or searching the local cache
+               this.collection.query( request );
+
+               // Set route
+               themes.router.navigate( themes.router.baseUrl( '?search=' + value ), { replace: true } );
+       }, 300 )
+});
+
+themes.view.Installer = themes.view.Appearance.extend({
+
+       el: '#wpbody-content .wrap',
+
+       // Register events for sorting and filters in theme-navigation
+       events: {
+               'click .theme-section': 'onSort',
+               'click .theme-filter': 'onFilter',
+               'click .more-filters': 'moreFilters',
+               'click .apply-filters': 'applyFilters',
+               'click [type="checkbox"]': 'addFilter',
+               'click .clear-filters': 'clearFilters',
+               'click .feature-name': 'filterSection',
+               'click .filtering-by a': 'backToFilters'
+       },
+
+       // Initial render method
+       render: function() {
+               var self = this;
+
+               this.search();
+               this.uploader();
+
+               this.collection = new themes.Collection();
+
+               // Bump `collection.currentQuery.page` and request more themes if we hit the end of the page.
+               this.listenTo( this, 'theme:end', function() {
+
+                       // Make sure we are not already loading
+                       if ( self.collection.loadingThemes ) {
+                               return;
+                       }
+
+                       // Set loadingThemes to true and bump page instance of currentQuery.
+                       self.collection.loadingThemes = true;
+                       self.collection.currentQuery.page++;
+
+                       // Use currentQuery.page to build the themes request.
+                       _.extend( self.collection.currentQuery.request, { page: self.collection.currentQuery.page } );
+                       self.collection.query( self.collection.currentQuery.request );
+               });
+
+               this.listenTo( this.collection, 'query:success', function() {
+                       $( 'body' ).removeClass( 'loading-themes' );
+                       $( '.theme-browser' ).find( 'div.error' ).remove();
+               });
+
+               this.listenTo( this.collection, 'query:fail', function() {
+                       $( 'body' ).removeClass( 'loading-themes' );
+                       $( '.theme-browser' ).find( 'div.error' ).remove();
+                       $( '.theme-browser' ).find( 'div.themes' ).before( '<div class="error"><p>' + l10n.error + '</p></div>' );
+               });
+
+               if ( this.view ) {
+                       this.view.remove();
+               }
+
+               // Set ups the view and passes the section argument
+               this.view = new themes.view.Themes({
+                       collection: this.collection,
+                       parent: this
+               });
+
+               // Reset pagination every time the install view handler is run
+               this.page = 0;
+
+               // Render and append
+               this.$el.find( '.themes' ).remove();
+               this.view.render();
+               this.$el.find( '.theme-browser' ).append( this.view.el ).addClass( 'rendered' );
+       },
+
+       // Handles all the rendering of the public theme directory
+       browse: function( section ) {
+               // Create a new collection with the proper theme data
+               // for each section
+               this.collection.query( { browse: section } );
+       },
+
+       // Sorting navigation
+       onSort: function( event ) {
+               var $el = $( event.target ),
+                       sort = $el.data( 'sort' );
+
+               event.preventDefault();
+
+               $( 'body' ).removeClass( 'filters-applied more-filters-opened' );
+
+               // Bail if this is already active
+               if ( $el.hasClass( this.activeClass ) ) {
+                       return;
+               }
+
+               this.sort( sort );
+
+               // Trigger a router.naviagte update
+               themes.router.navigate( themes.router.baseUrl( '?browse=' + sort ) );
+       },
+
+       sort: function( sort ) {
+               this.clearSearch();
+
+               $( '.theme-section, .theme-filter' ).removeClass( this.activeClass );
+               $( '[data-sort="' + sort + '"]' ).addClass( this.activeClass );
+
+               this.browse( sort );
+       },
+
+       // Filters and Tags
+       onFilter: function( event ) {
+               var request,
+                       $el = $( event.target ),
+                       filter = $el.data( 'filter' );
+
+               // Bail if this is already active
+               if ( $el.hasClass( this.activeClass ) ) {
+                       return;
+               }
+
+               $( '.theme-filter, .theme-section' ).removeClass( this.activeClass );
+               $el.addClass( this.activeClass );
+
+               if ( ! filter ) {
+                       return;
+               }
+
+               // Construct the filter request
+               // using the default values
+               filter = _.union( filter, this.filtersChecked() );
+               request = { tag: [ filter ] };
+
+               // Get the themes by sending Ajax POST request to api.wordpress.org/themes
+               // or searching the local cache
+               this.collection.query( request );
+       },
+
+       // Clicking on a checkbox to add another filter to the request
+       addFilter: function() {
+               this.filtersChecked();
+       },
+
+       // Applying filters triggers a tag request
+       applyFilters: function( event ) {
+               var name,
+                       tags = this.filtersChecked(),
+                       request = { tag: tags },
+                       filteringBy = $( '.filtering-by .tags' );
+
+               if ( event ) {
+                       event.preventDefault();
+               }
+
+               $( 'body' ).addClass( 'filters-applied' );
+               $( '.theme-section.current' ).removeClass( 'current' );
+               filteringBy.empty();
+
+               _.each( tags, function( tag ) {
+                       name = $( 'label[for="feature-id-' + tag + '"]' ).text();
+                       filteringBy.append( '<span class="tag">' + name + '</span>' );
+               });
+
+               // Get the themes by sending Ajax POST request to api.wordpress.org/themes
+               // or searching the local cache
+               this.collection.query( request );
+       },
+
+       // Get the checked filters
+       // @return {array} of tags or false
+       filtersChecked: function() {
+               var items = $( '.feature-group' ).find( ':checkbox' ),
+                       tags = [];
+
+               _.each( items.filter( ':checked' ), function( item ) {
+                       tags.push( $( item ).prop( 'value' ) );
+               });
+
+               // When no filters are checked, restore initial state and return
+               if ( tags.length === 0 ) {
+                       $( '.apply-filters' ).find( 'span' ).text( '' );
+                       $( '.clear-filters' ).hide();
+                       $( 'body' ).removeClass( 'filters-applied' );
+                       return false;
+               }
+
+               $( '.apply-filters' ).find( 'span' ).text( tags.length );
+               $( '.clear-filters' ).css( 'display', 'inline-block' );
+
+               return tags;
+       },
+
+       activeClass: 'current',
+
+       // Overwrite search container class to append search
+       // in new location
+       searchContainer: $( '.theme-navigation' ),
+
+       uploader: function() {
+               $( 'a.upload' ).on( 'click', function( event ) {
+                       event.preventDefault();
+                       $( 'body' ).addClass( 'show-upload-theme' );
+                       themes.router.navigate( themes.router.baseUrl( '?upload' ), { replace: true } );
+               });
+               $( 'a.browse-themes' ).on( 'click', function( event ) {
+                       event.preventDefault();
+                       $( 'body' ).removeClass( 'show-upload-theme' );
+                       themes.router.navigate( themes.router.baseUrl( '' ), { replace: true } );
+               });
+       },
+
+       // Toggle the full filters navigation
+       moreFilters: function( event ) {
+               event.preventDefault();
+
+               if ( $( 'body' ).hasClass( 'filters-applied' ) ) {
+                       return this.backToFilters();
+               }
+
+               // If the filters section is opened and filters are checked
+               // run the relevant query collapsing to filtered-by state
+               if ( $( 'body' ).hasClass( 'more-filters-opened' ) && this.filtersChecked() ) {
+                       return this.addFilter();
+               }
+
+               this.clearSearch();
+
+               themes.router.navigate( themes.router.baseUrl( '' ) );
+               $( 'body' ).toggleClass( 'more-filters-opened' );
+       },
+
+       // Expand/collapse each individual filter section
+       filterSection: function() {
+               $( event.target ).parent().toggleClass( 'open' );
+       },
+
+       // Clears all the checked filters
+       // @uses filtersChecked()
+       clearFilters: function( event ) {
+               var items = $( '.feature-group' ).find( ':checkbox' ),
+                       self = this;
+
+               event.preventDefault();
+
+               _.each( items.filter( ':checked' ), function( item ) {
+                       $( item ).prop( 'checked', false );
+                       return self.filtersChecked();
+               });
+       },
+
+       backToFilters: function( event ) {
+               if ( event ) {
+                       event.preventDefault();
+               }
+
+               $( 'body' ).removeClass( 'filters-applied' );
+       },
+
+       clearSearch: function() {
+               $( '#theme-search-input').val( '' );
+       }
+});
+
+themes.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( url ) {
+               return 'theme-install.php' + url;
+       },
+
+       search: function( query ) {
+               $( '.theme-search' ).val( query );
+       },
+
+       navigate: function() {
+               if ( Backbone.history._hasPushState ) {
+                       Backbone.Router.prototype.navigate.apply( this, arguments );
+               }
+       }
+});
+
+
+themes.RunInstaller = {
+
+       init: function() {
+               // Set up the view
+               // Passes the default 'section' as an option
+               this.view = new themes.view.Installer({
+                       section: 'featured',
+                       SearchView: themes.view.InstallerSearch
+               });
+
+               // Render results
+               this.render();
+
+       },
+
+       render: function() {
+
+               // Render results
+               this.view.render();
+               this.routes();
+
+               Backbone.history.start({
+                       root: themes.data.settings.adminUrl,
+                       pushState: true,
+                       hashChange: false
+               });
        },
 
        routes: function() {
-               // Bind to our global thx object
-               // so that the object is available to sub-views
-               themes.router = new themes.routes();
+               var self = this,
+                       request = {};
+
+               // Bind to our global `wp.themes` object
+               // so that the router is available to sub-views
+               themes.router = new themes.InstallerRouter();
+
+               // Handles `theme` route event
+               // Queries the API for the passed theme slug
+               themes.router.on( 'route:preview', function( slug ) {
+                       request.theme = slug;
+                       self.view.collection.query( request );
+               });
+
+               // Handles sorting / browsing routes
+               // Also handles the root URL triggering a sort request
+               // for `featured`, the default view
+               themes.router.on( 'route:sort', function( sort ) {
+                       if ( ! sort ) {
+                               sort = 'featured';
+                       }
+                       self.view.sort( sort );
+                       self.view.trigger( 'theme:close' );
+               });
+
+               // Support the `upload` route by going straight to upload section
+               themes.router.on( 'route:upload', function() {
+                       $( 'a.upload' ).trigger( 'click' );
+               });
+
+               // The `search` route event. The router populates the input field.
+               themes.router.on( 'route:search', function() {
+                       $( '.theme-search' ).focus().trigger( 'keyup' );
+               });
+
+               this.extraRoutes();
+       },
+
+       extraRoutes: function() {
+               return false;
        }
 };
 
 // Ready...
-jQuery( document ).ready(
-
-       // Bring on the themes
-       _.bind( themes.Run.init, themes.Run )
-
-);
+$( document ).ready(function() {
+       if ( themes.isInstall ) {
+               themes.RunInstaller.init();
+       } else {
+               themes.Run.init();
+       }
+});
 
 })( jQuery );
 
@@ -769,8 +1681,8 @@ jQuery(document).ready( function($) {
                        W = ( 1040 < width ) ? 1040 : width,
                        adminbar_height = 0;
 
-               if ( $('body.admin-bar').length ) {
-                       adminbar_height = parseInt( jQuery('#wpadminbar').css('height'), 10 );
+               if ( $('#wpadminbar').length ) {
+                       adminbar_height = parseInt( $('#wpadminbar').css('height'), 10 );
                }
 
                if ( tbWindow.size() ) {
index 6ef19792cc0fc49c29063e5bc46458a9f8ac3443..8f83f4b75b46db82e6b1fd397dac58fecb1095b9 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,_.extend(b,{model:{},view:{},routes:{},router:{},template:wp.template}),b.model=Backbone.Model.extend({}),b.view.Appearance=wp.Backbone.View.extend({el:"#wpbody-content .wrap .theme-browser",window:a(window),page:0,initialize:function(){_.bindAll(this,"scroller"),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"/>')},search:function(){var d,e=this;1!==b.data.themes.length&&(d=new b.view.Search({collection:e.collection}),d.render(),a("#wpbody h2:first").append(a.parseHTML('<label class="screen-reader-text" for="theme-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(a){this.terms!==a&&(this.terms=a,this.terms.length>0&&this.search(this.terms),""===this.terms&&this.reset(b.data.themes),this.trigger("update"))},search:function(a){var c,d,e;this.reset(b.data.themes,{silent:!0}),a=a.replace(" ",")(?=.*"),c=new RegExp("^(?=.*"+a+").+","i"),d=this.filter(function(b){return e=_.union(b.get("name"),b.get("id"),b.get("description"),b.get("author"),b.get("tags")),c.test(b.get("author"))&&a.length>2&&b.set("displayAuthor",!0),c.test(e)}),this.reset(d)},paginate:function(a){var b=this;return a=a||0,b=_(b.rest(15*a)),b=_(b.first(15))}}),b.view.Theme=wp.Backbone.View.extend({className:"theme",state:"grid",html:b.template("theme"),events:{click:"expand",keydown:"expand",touchend:"expand",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")},activeTheme:function(){this.model.get("active")&&this.$el.addClass("active")},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:(a(c.target).is(".theme-actions a")||(b.focusedTheme=this.$el,this.trigger("theme:expand",d.model.cid)),void 0):void 0},preventExpand:function(){this.touchDrag=!0}}),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("theme-overlay-open closing-overlay"),e.closeOverlay(),d=document.body.scrollTop,b.router.navigate(b.router.baseUrl(""),{replace:!0}),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(){this.remove(),this.unbind(),this.trigger("theme:collapse")},deleteTheme:function(){return confirm(b.data.settings.confirmDelete)},nextTheme:function(){var a=this;a.trigger("theme:next",a.model.cid)},previousTheme:function(){var a=this;a.trigger("theme:previous",a.model.cid)},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.Themes=wp.Backbone.View.extend({className:"themes",$overlay:a("div.theme-overlay"),index:0,count:a(".theme-count"),initialize:function(b){var c=this;this.parent=b.parent,this.setView("grid"),c.currentTheme(),this.listenTo(c.collection,"update",function(){c.parent.page=0,c.currentTheme(),c.render(this)}),this.listenTo(this.parent,"theme:scroll",function(){c.renderThemes(c.parent.page)}),a("body").on("keyup",function(a){c.overlay&&(39===a.keyCode&&c.overlay.nextTheme(),37===a.keyCode&&c.overlay.previousTheme(),27===a.keyCode&&c.overlay.collapse(a))})},render:function(){this.$el.html(""),1===b.data.themes.length&&(this.singleTheme=new b.view.Details({model:this.collection.models[0]}),this.singleTheme.render(),this.$el.addClass("single-theme"),this.$el.append(this.singleTheme.el)),this.renderThemes(this.parent.page),this.count.text(this.collection.length)},renderThemes:function(d){var e=this;e.instance=e.collection.paginate(d),0!==e.instance.length&&(d>=1&&a(".add-new-theme").remove(),e.instance.each(function(a){e.theme=new b.view.Theme({model:a}),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>"),this.parent.page++)},currentTheme:function(){var a,b=this;a=b.collection.findWhere({active:!0}),a&&(b.collection.remove(a),b.collection.add(a,{at:0}))},setView:function(a){return a},expand:function(c){var d=this;this.model=d.collection.get(c),b.router.navigate(b.router.baseUrl("?theme="+this.model.id),{replace:!0}),this.setView("detail"),a("body").addClass("theme-overlay-open"),this.overlay=new b.view.Details({model:d.model}),this.overlay.render(),this.$overlay.html(this.overlay.el),this.listenTo(this.overlay,"theme:next",function(){d.next([d.model.cid])}).listenTo(this.overlay,"theme:previous",function(){d.previous([d.model.cid])})},next:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)+1),void 0!==c&&(this.overlay.closeOverlay(),d.theme.trigger("theme:expand",c.cid))},previous:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)-1),void 0!==c&&(this.overlay.closeOverlay(),d.theme.trigger("theme:expand",c.cid))}}),b.view.Search=wp.Backbone.View.extend({tagName:"input",className:"theme-search",id:"theme-search-input",attributes:{placeholder:c.searchPlaceholder,type:"search"},events:{input:"search",keyup:"search",change:"search",search:"search"},search:function(a){"keyup"===a.type&&27===a.which&&(a.target.value=""),this.collection.doSearch(a.target.value),a.target.value?b.router.navigate(b.router.baseUrl("?search="+a.target.value),{replace:!0}):b.router.navigate(b.router.baseUrl(""),{replace:!0})}}),b.routes=Backbone.Router.extend({initialize:function(){this.routes=_.object([])},baseUrl:function(a){return b.data.settings.root+a}}),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(),"undefined"!=typeof b.data.settings.theme&&""!==b.data.settings.theme&&this.view.view.theme.trigger("theme:expand",this.view.collection.findWhere({id:b.data.settings.theme})),"undefined"!=typeof b.data.settings.search&&""!==b.data.settings.search&&(a(".theme-search").val(b.data.settings.search),this.themes.doSearch(b.data.settings.search)),window.history&&window.history.pushState&&Backbone.history.start({pushState:!0,silent:!0})},routes:function(){b.router=new b.routes}},jQuery(document).ready(_.bind(b.Run.init,b.Run))}(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("body.admin-bar").length&&(f=parseInt(jQuery("#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 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="theme-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(a){this.terms!==a&&(this.terms=a,this.terms.length>0&&this.search(this.terms),""===this.terms&&this.reset(b.data.themes),this.trigger("update"))},search:function(a){var c,d,e;this.reset(b.data.themes,{silent:!0}),a=a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),a=a.replace(/ /g,")(?=.*"),c=new RegExp("^(?=.*"+a+").+","i"),d=this.filter(function(b){return e=_.union(b.get("name"),b.get("id"),b.get("description"),b.get("author"),b.get("tags")),c.test(b.get("author"))&&a.length>2&&b.set("displayAuthor",!0),c.test(e)}),this.reset(d)},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-themes").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","click .preview":"preview",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=new b.view.Preview({model:f.current}),e.render(),this.setNavButtonsState(),a("div.wrap").append(e.el),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=new b.view.Preview({model:f.current}),e.render(),this.setNavButtonsState(),a("div.wrap").append(e.el),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("theme-overlay-open"),this.remove(),this.unbind(),this.trigger("theme:collapse")},deleteTheme:function(){return confirm(b.data.settings.confirmDelete)},nextTheme:function(){var a=this;return a.trigger("theme:next",a.model.cid),!1},previousTheme:function(){var a=this;return a.trigger("theme:previous",a.model.cid),!1},screenshotCheck:function(a){var b,c;b=a.find(".screenshot img"),c=new Image,c.src=b.attr("src"),c.width&&c.width<=300&&a.addClass("small-screenshot")}}),b.view.Preview=b.view.Details.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .previous-theme":"previousTheme","click .next-theme":"nextTheme",keyup:"keyEvent"},html:b.template("theme-preview"),render:function(){var c=this.model.toJSON();this.$el.html(this.html(c)),b.router.navigate(b.router.baseUrl("?theme="+this.model.get("id")),{replace:!0}),this.$el.fadeIn(200,function(){a("body").addClass("theme-installer-active full-overlay-active"),a(".close-full-overlay").focus()})},close:function(){return this.$el.fadeOut(200,function(){a("body").removeClass("theme-installer-active full-overlay-active"),b.focusedTheme&&b.focusedTheme.focus()}),b.router.navigate(b.router.baseUrl("")),this.trigger("preview:close"),this.unbind(),!1},collapse:function(){return this.$el.toggleClass("collapsed").toggleClass("expanded"),!1},keyEvent:function(a){27===a.keyCode&&(this.undelegateEvents(),this.close()),39===a.keyCode&&_.once(this.nextTheme()),37===a.keyCode&&this.previousTheme()}}),b.view.Themes=wp.Backbone.View.extend({className:"themes",$overlay:a("div.theme-overlay"),index:0,count:a(".theme-count"),initialize:function(b){var c=this;this.parent=b.parent,this.setView("grid"),c.currentTheme(),this.listenTo(c.collection,"update",function(){c.parent.page=0,c.currentTheme(),c.render(this)}),this.listenTo(c.collection,"query:success",function(a){c.count.text(_.isNumber(a)?a:c.collection.length)}),this.listenTo(c.collection,"query:empty",function(){a("body").addClass("no-results")}),this.listenTo(this.parent,"theme:scroll",function(){c.renderThemes(c.parent.page)}),this.listenTo(this.parent,"theme:close",function(){c.overlay&&c.overlay.closeOverlay()}),a("body").on("keyup",function(a){c.overlay&&(39===a.keyCode&&c.overlay.nextTheme(),37===a.keyCode&&c.overlay.previousTheme(),27===a.keyCode&&c.overlay.collapse(a))})},render:function(){this.$el.html(""),1===b.data.themes.length&&(this.singleTheme=new b.view.Details({model:this.collection.models[0]}),this.singleTheme.render(),this.$el.addClass("single-theme"),this.$el.append(this.singleTheme.el)),this.options.collection.size()>0&&this.renderThemes(this.parent.page),this.count.text(this.collection.count?this.collection.count:this.collection.length)},renderThemes:function(d){var e=this;return e.instance=e.collection.paginate(d),0===e.instance.size()?void this.parent.trigger("theme:end"):(d>=1&&a(".add-new-theme").remove(),e.instance.each(function(a){e.theme=new b.view.Theme({model:a,parent:e}),e.theme.render(),e.$el.append(e.theme.el),e.listenTo(e.theme,"theme:expand",e.expand,e)}),b.data.settings.canInstall&&this.$el.append('<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("?theme="+this.model.id)),this.setView("detail"),a("body").addClass("theme-overlay-open"),this.overlay=new b.view.Details({model:d.model}),this.overlay.render(),this.$overlay.html(this.overlay.el),this.listenTo(this.overlay,"theme:next",function(){d.next([d.model.cid])}).listenTo(this.overlay,"theme:previous",function(){d.previous([d.model.cid])})},next:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)+1),void 0!==c&&(this.overlay.closeOverlay(),d.theme.trigger("theme:expand",c.cid))},previous:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)-1),void 0!==c&&(this.overlay.closeOverlay(),d.theme.trigger("theme:expand",c.cid))}}),b.view.Search=wp.Backbone.View.extend({tagName:"input",className:"theme-search",id:"theme-search-input",searching:!1,attributes:{placeholder:c.searchPlaceholder,type:"search"},events:{input:"search",keyup:"search",change:"search",search:"search",blur:"pushState"},initialize:function(a){this.parent=a.parent,this.listenTo(this.parent,"theme:close",function(){this.searching=!1})},search:function(a){var c={};"keyup"===a.type&&27===a.which&&(a.target.value=""),13===a.which&&this.$el.trigger("blur"),this.collection.doSearch(a.target.value),this.searching&&13!==a.which?c.replace=!0:this.searching=!0,a.target.value?b.router.navigate(b.router.baseUrl("?search="+a.target.value),c):b.router.navigate(b.router.baseUrl(""))},pushState:function(a){var c=b.router.baseUrl("");a.target.value&&(c=b.router.baseUrl("?search="+a.target.value)),this.searching=!1,b.router.navigate(c)}}),b.Router=Backbone.Router.extend({routes:{"themes.php?theme=:slug":"theme","themes.php?search=:query":"search","themes.php?s=:query":"search","themes.php":"themes","":"themes"},baseUrl:function(a){return"themes.php"+a},search:function(b){a(".theme-search").val(b)},themes:function(){a(".theme-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(".theme-search").trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},b.view.InstallerSearch=b.view.Search.extend({events:{keyup:"search"},search:function(a){("keyup"!==a.type||9!==a.which&&16!==a.which)&&(this.collection=this.options.parent.view.collection,"keyup"===a.type&&27===a.which&&(a.target.value=""),_.debounce(_.bind(this.doSearch,this),300)(a.target.value))},doSearch:_.debounce(function(c){var d={};d.search=c,"author:"===c.substring(0,7)&&(d.search="",d.author=c.slice(7)),"tag:"===c.substring(0,4)&&(d.search="",d.tag=[c.slice(4)]),a(".theme-section.current").removeClass("current"),a("body").removeClass("more-filters-opened filters-applied"),this.collection.query(d),b.router.navigate(b.router.baseUrl("?search="+c),{replace:!0})},300)}),b.view.Installer=b.view.Appearance.extend({el:"#wpbody-content .wrap",events:{"click .theme-section":"onSort","click .theme-filter":"onFilter","click .more-filters":"moreFilters","click .apply-filters":"applyFilters",'click [type="checkbox"]':"addFilter","click .clear-filters":"clearFilters","click .feature-name":"filterSection","click .filtering-by a":"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-themes"),a(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){a("body").removeClass("loading-themes"),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 more-filters-opened"),d.hasClass(this.activeClass)||(this.sort(e),b.router.navigate(b.router.baseUrl("?browse="+e)))},sort:function(b){this.clearSearch(),a(".theme-section, .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(".theme-filter, .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(".filtering-by .tags");b&&b.preventDefault(),a("body").addClass("filters-applied"),a(".theme-section.current").removeClass("current"),f.empty(),_.each(d,function(b){c=a('label[for="feature-id-'+b+'"]').text(),f.append('<span class="tag">'+c+"</span>")}),this.collection.query(e)},filtersChecked:function(){var b=a(".feature-group").find(":checkbox"),c=[];return _.each(b.filter(":checked"),function(b){c.push(a(b).prop("value"))}),0===c.length?(a(".apply-filters").find("span").text(""),a(".clear-filters").hide(),a("body").removeClass("filters-applied"),!1):(a(".apply-filters").find("span").text(c.length),a(".clear-filters").css("display","inline-block"),c)},activeClass:"current",searchContainer:a(".theme-navigation"),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("more-filters-opened")&&this.filtersChecked()?this.addFilter():(this.clearSearch(),b.router.navigate(b.router.baseUrl("")),void a("body").toggleClass("more-filters-opened"))},filterSection:function(){a(event.target).parent().toggleClass("open")},clearFilters:function(b){var c=a(".feature-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("#theme-search-input").val("")}}),b.InstallerRouter=Backbone.Router.extend({routes:{"theme-install.php?theme=:slug":"preview","theme-install.php?browse=:sort":"sort","theme-install.php?upload":"upload","theme-install.php?search=:query":"search","theme-install.php":"sort"},baseUrl:function(a){return"theme-install.php"+a},search:function(b){a(".theme-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(".theme-search").focus().trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},a(document).ready(function(){b.isInstall?b.RunInstaller.init():b.Run.init()})}(jQuery);var tb_position;jQuery(document).ready(function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height(),e=c>1040?1040:c,f=0;a("#wpadminbar").length&&(f=parseInt(a("#wpadminbar").css("height"),10)),b.size()&&(b.width(e-50).height(d-45-f),a("#TB_iframeContent").width(e-50).height(d-75-f),b.css({"margin-left":"-"+parseInt((e-50)/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:20+f+"px","margin-top":"0"}))},a(window).resize(function(){tb_position()})});
\ No newline at end of file
diff --git a/wp-admin/js/updates.js b/wp-admin/js/updates.js
new file mode 100644 (file)
index 0000000..40b04e3
--- /dev/null
@@ -0,0 +1,65 @@
+window.wp = window.wp || {};
+
+(function( $, wp ) {
+
+       wp.updates = {};
+
+       /**
+        * Decrement update counts throughout the various menus
+        *
+        * @param {string} updateType
+        */
+       wp.updates.decrementCount = function( upgradeType ) {
+               var count, pluginCount, $elem;
+
+               $elem = $( '#wp-admin-bar-updates .ab-label' );
+               count = $elem.text();
+               count = parseInt( count, 10 ) - 1;
+               if ( count < 0 ) {
+                       return;
+               }
+               $( '#wp-admin-bar-updates .ab-item' ).removeAttr( 'title' );
+               $elem.text( count );
+
+               $elem = $( 'a[href="update-core.php"] .update-plugins' );
+               $elem.each( function( index, elem ) {
+                       elem.className = elem.className.replace( /count-\d+/, 'count-' + count );
+               } );
+               $elem.removeAttr( 'title' );
+               $elem.find( '.update-count' ).text( count );
+
+               if ( 'plugin' === upgradeType ) {
+                       $elem = $( '#menu-plugins' );
+                       pluginCount = $elem.find( '.plugin-count' ).eq(0).text();
+                       pluginCount = parseInt( pluginCount, 10 ) - 1;
+                       if ( count < 0 ) {
+                               return;
+                       }
+                       $elem.find( '.plugin-count' ).text( pluginCount );
+                       $elem.find( '.update-plugins' ).each( function( index, elem ) {
+                               elem.className = elem.className.replace( /count-\d+/, 'count-' + pluginCount );
+                       } );
+               }
+       };
+
+       $( window ).on( 'message', function( e ) {
+               var event = e.originalEvent,
+                       message,
+                       loc = document.location,
+                       expectedOrigin = loc.protocol + '//' + loc.hostname;
+
+               if ( event.origin !== expectedOrigin ) {
+                       return;
+               }
+
+               message = $.parseJSON( event.data );
+
+               if ( typeof message.action === 'undefined' || message.action !== 'decrementUpdateCount' ) {
+                       return;
+               }
+
+               wp.updates.decrementCount( message.upgradeType );
+
+       } );
+
+})( jQuery, window.wp );
diff --git a/wp-admin/js/updates.min.js b/wp-admin/js/updates.min.js
new file mode 100644 (file)
index 0000000..766fd73
--- /dev/null
@@ -0,0 +1 @@
+window.wp=window.wp||{},function(a,b){b.updates={},b.updates.decrementCount=function(b){var c,d,e;if(e=a("#wp-admin-bar-updates .ab-label"),c=e.text(),c=parseInt(c,10)-1,!(0>c)&&(a("#wp-admin-bar-updates .ab-item").removeAttr("title"),e.text(c),e=a('a[href="update-core.php"] .update-plugins'),e.each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+c)}),e.removeAttr("title"),e.find(".update-count").text(c),"plugin"===b)){if(e=a("#menu-plugins"),d=e.find(".plugin-count").eq(0).text(),d=parseInt(d,10)-1,0>c)return;e.find(".plugin-count").text(d),e.find(".update-plugins").each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+d)})}},a(window).on("message",function(c){var d,e=c.originalEvent,f=document.location,g=f.protocol+"//"+f.hostname;e.origin===g&&(d=a.parseJSON(e.data),"undefined"!=typeof d.action&&"decrementUpdateCount"===d.action&&b.updates.decrementCount(d.upgradeType))})}(jQuery,window.wp);
\ No newline at end of file
index 95847310bf1cb00cff5f5898a24a5be6dd3d1804..b107d9877962e2b833610f625bb6d4af881cb503 100644 (file)
 
                        // Set color scheme
                        if ( user_id === current_user_id ) {
-                               // Load the colors stylesheet
+                               // Load the colors stylesheet.
+                               // The default color scheme won't have one, so we'll need to create an element.
+                               if ( 0 === $stylesheet.length ) {
+                                       $stylesheet = $( '<link rel="stylesheet" />' ).appendTo( 'head' );
+                               }
                                $stylesheet.attr( 'href', $this.children( '.css_url' ).val() );
 
                                // repaint icons
index 919d07606ea3e4f80c80b2928dce1ed31f78228a..ed54c6fcd75951062e224ae6981eb0e6dfdf788a 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 a("#pass-strength-result").html(pwsL10n.empty),void 0;switch(b=wp.passwordStrength.meter(c,wp.passwordStrength.userInputBlacklist(),d)){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:a("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}a(document).ready(function(){var c,d,e,f,g=a("#display_name");a("#pass1").val("").keyup(b),a("#pass2").val("").keyup(b),a("#pass-strength-result").show(),a(".color-palette").click(function(){a(this).siblings('input[name="admin_color"]').prop("checked",!0)}),g.length&&a("#first_name, #last_name, #nickname").bind("blur.user_profile",function(){var b=[],c={display_nickname:a("#nickname").val()||"",display_username:a("#user_login").val()||"",display_firstname:a("#first_name").val()||"",display_lastname:a("#last_name").val()||""};c.display_firstname&&c.display_lastname&&(c.display_firstlast=c.display_firstname+" "+c.display_lastname,c.display_lastfirst=c.display_lastname+" "+c.display_firstname),a.each(a("option",g),function(a,c){b.push(c.value)}),a.each(c,function(d,e){if(e){var f=e.replace(/<\/?[a-z][^>]*>/gi,"");c[d].length&&-1===a.inArray(f,b)&&(b.push(f),a("<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(d.attr("href",c.children(".css_url").val()),"undefined"!=typeof wp&&wp.svgPainter){try{b=a.parseJSON(c.children(".icon_colors").val())}catch(g){}b&&(wp.svgPainter.setColors(b),wp.svgPainter.paint())}a.post(ajaxurl,{action:"save-user-color-scheme",color_scheme:c.children('input[name="admin_color"]').val(),nonce:a("#color-nonce").val()})}})})}(jQuery);
\ No newline at end of file
+!function(a){function b(){var b,c=a("#pass1").val(),d=a("#pass2").val();if(a("#pass-strength-result").removeClass("short bad good strong"),!c)return void a("#pass-strength-result").html(pwsL10n.empty);switch(b=wp.passwordStrength.meter(c,wp.passwordStrength.userInputBlacklist(),d)){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:a("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}a(document).ready(function(){var c,d,e,f,g=a("#display_name");a("#pass1").val("").keyup(b),a("#pass2").val("").keyup(b),a("#pass-strength-result").show(),a(".color-palette").click(function(){a(this).siblings('input[name="admin_color"]').prop("checked",!0)}),g.length&&a("#first_name, #last_name, #nickname").bind("blur.user_profile",function(){var b=[],c={display_nickname:a("#nickname").val()||"",display_username:a("#user_login").val()||"",display_firstname:a("#first_name").val()||"",display_lastname:a("#last_name").val()||""};c.display_firstname&&c.display_lastname&&(c.display_firstlast=c.display_firstname+" "+c.display_lastname,c.display_lastfirst=c.display_lastname+" "+c.display_firstname),a.each(a("option",g),function(a,c){b.push(c.value)}),a.each(c,function(d,e){if(e){var f=e.replace(/<\/?[a-z][^>]*>/gi,"");c[d].length&&-1===a.inArray(f,b)&&(b.push(f),a("<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()})}})})}(jQuery);
\ No newline at end of file
index 130c3d1adfbaf9b845741447f9c1acdb528a8679..0113ded0e970204133d145c7bf153ff3b84ba141 100644 (file)
@@ -8,17 +8,23 @@
                        position.my = 'right top';
                        position.at = 'right bottom';
                }
-               $( '.wp-suggest-user' ).autocomplete({
-                       source:    ajaxurl + '?action=autocomplete-user&autocomplete_type=add' + id,
-                       delay:     500,
-                       minLength: 2,
-                       position:  position,
-                       open: function() {
-                               $( this ).addClass( 'open' );
-                       },
-                       close: function() {
-                               $( this ).removeClass( 'open' );
-                       }
+               $( '.wp-suggest-user' ).each( function(){
+                       var $this = $( this ),
+                               autocompleteType = ( typeof $this.data( 'autocompleteType' ) !== 'undefined' ) ? $this.data( 'autocompleteType' ) : 'add',
+                               autocompleteField = ( typeof $this.data( 'autocompleteField' ) !== 'undefined' ) ? $this.data( 'autocompleteField' ) : 'user_login';
+
+                       $this.autocomplete({
+                               source:    ajaxurl + '?action=autocomplete-user&autocomplete_type=' + autocompleteType + '&autocomplete_field=' + autocompleteField + id,
+                               delay:     500,
+                               minLength: 2,
+                               position:  position,
+                               open: function() {
+                                       $( this ).addClass( 'open' );
+                               },
+                               close: function() {
+                                       $( this ).removeClass( 'open' );
+                               }
+                       });
                });
        });
-})( jQuery );
\ No newline at end of file
+})( jQuery );
index a9529f026809c38d95d5618c867467b8777be6a4..9caf1e5f42f0c7b0f7a78999089bab1d08485b1a 100644 (file)
@@ -1 +1 @@
-!function(a){var b="undefined"!=typeof current_site_id?"&site_id="+current_site_id:"";a(document).ready(function(){var c={offset:"0, -1"};"undefined"!=typeof isRtl&&isRtl&&(c.my="right top",c.at="right bottom"),a(".wp-suggest-user").autocomplete({source:ajaxurl+"?action=autocomplete-user&autocomplete_type=add"+b,delay:500,minLength:2,position:c,open:function(){a(this).addClass("open")},close:function(){a(this).removeClass("open")}})})}(jQuery);
\ No newline at end of file
+!function(a){var b="undefined"!=typeof current_site_id?"&site_id="+current_site_id:"";a(document).ready(function(){var c={offset:"0, -1"};"undefined"!=typeof isRtl&&isRtl&&(c.my="right top",c.at="right bottom"),a(".wp-suggest-user").each(function(){var d=a(this),e="undefined"!=typeof d.data("autocompleteType")?d.data("autocompleteType"):"add",f="undefined"!=typeof d.data("autocompleteField")?d.data("autocompleteField"):"user_login";d.autocomplete({source:ajaxurl+"?action=autocomplete-user&autocomplete_type="+e+"&autocomplete_field="+f+b,delay:500,minLength:2,position:c,open:function(){a(this).addClass("open")},close:function(){a(this).removeClass("open")}})})})}(jQuery);
\ No newline at end of file
index 046907b40405bae9d678d9f9884d43c1ad3af2c5..7390563e4b912d03805f2fe50141584c39658d90 100644 (file)
@@ -170,6 +170,7 @@ wpWidgets = {
 
                                        wpWidgets.save( $widget, 0, 0, 1 );
                                        $widget.find('input.add_new').val('');
+                                       $( document ).trigger( 'widget-added', [ $widget ] );
                                }
 
                                $sidebar = $widget.parent();
@@ -374,8 +375,9 @@ wpWidgets = {
                        } else {
                                $('.spinner').hide();
                                if ( r && r.length > 2 ) {
-                                       $( 'div.widget-content', widget ).html(r);
+                                       $( 'div.widget-content', widget ).html( r );
                                        wpWidgets.appendTitle( widget );
+                                       $( document ).trigger( 'widget-updated', [ widget ] );
                                }
                        }
                        if ( order ) {
@@ -440,6 +442,8 @@ wpWidgets = {
                // No longer "new" widget
                widget.find( 'input.add_new' ).val('');
 
+               $( document ).trigger( 'widget-added', [ widget ] );
+
                /*
                 * Check if any part of the sidebar is visible in the viewport. If it is, don't scroll.
                 * Otherwise, scroll up to so the sidebar is in view.
index 17663904b2b616de1f31136f45bbf29da54ad2dc..85b2975ad9f764f4dd7e120b110ca8c4393e9165 100644 (file)
@@ -1 +1 @@
-var wpWidgets;!function(a){wpWidgets={init:function(){var b,c,d=this,e=a(".widgets-chooser"),f=e.find(".widgets-chooser-sidebars"),g=a("div.widgets-sortables"),h=!("undefined"==typeof isRtl||!isRtl);a("#widgets-right .sidebar-name").click(function(){var b=a(this),c=b.closest(".widgets-holder-wrap");c.hasClass("closed")?(c.removeClass("closed"),b.parent().sortable("refresh")):c.addClass("closed")}),a("#widgets-left .sidebar-name").click(function(){a(this).closest(".widgets-holder-wrap").toggleClass("closed")}),a(document.body).bind("click.widgets-toggle",function(b){var c,d,e,f,g,i=a(b.target),j={"z-index":100};i.parents(".widget-top").length&&!i.parents("#available-widgets").length?(c=i.closest("div.widget"),d=c.children(".widget-inside"),e=parseInt(c.find("input.widget-width").val(),10),f=c.parent().width(),d.is(":hidden")?(e>250&&e+30>f&&c.closest("div.widgets-sortables").length&&(g=c.closest("div.widget-liquid-right").length?h?"margin-right":"margin-left":h?"margin-left":"margin-right",j[g]=f-(e+30)+"px",c.css(j)),d.slideDown("fast")):d.slideUp("fast",function(){c.attr("style","")}),b.preventDefault()):i.hasClass("widget-control-save")?(wpWidgets.save(i.closest("div.widget"),0,1,0),b.preventDefault()):i.hasClass("widget-control-remove")?(wpWidgets.save(i.closest("div.widget"),1,1,0),b.preventDefault()):i.hasClass("widget-control-close")&&(wpWidgets.close(i.closest("div.widget")),b.preventDefault())}),g.children(".widget").each(function(){var b=a(this);wpWidgets.appendTitle(this),b.find("p.widget-error").length&&b.find("a.widget-action").trigger("click")}),a("#widget-list").children(".widget").draggable({connectToSortable:"div.widgets-sortables",handle:"> .widget-top > .widget-title",distance:2,helper:"clone",zIndex:100,containment:"document",start:function(b,e){var f=a(this).find(".widgets-chooser");e.helper.find("div.widget-description").hide(),c=this.id,f.length&&(a("#wpbody-content").append(f.hide()),e.helper.find(".widgets-chooser").remove(),d.clearWidgetSelection())},stop:function(){b&&a(b).hide(),b=""}}),g.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(b,c){var d,e=a(this),f=e.parent(),g=c.item.children(".widget-inside");"block"===g.css("display")&&(g.hide(),a(this).sortable("refreshPositions")),f.hasClass("closed")||(d=c.item.hasClass("ui-draggable")?e.height():1+e.height(),e.css("min-height",d+"px"))},stop:function(d,e){var f,g,h,i,j,k,l=e.item,m=c;return l.hasClass("deleting")?(wpWidgets.save(l,1,0,1),l.remove(),void 0):(f=l.find("input.add_new").val(),g=l.find("input.multi_number").val(),l.attr("style","").removeClass("ui-draggable"),c="",f&&("multi"===f?(l.html(l.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,g)})),l.attr("id",m.replace("__i__",g)),g++,a("div#"+m).find("input.multi_number").val(g)):"single"===f&&(l.attr("id","new-"+m),b="div#"+m),wpWidgets.save(l,0,0,1),l.find("input.add_new").val("")),h=l.parent(),h.parent().hasClass("closed")&&(h.parent().removeClass("closed"),i=h.children(".widget"),i.length>1&&(j=i.get(0),k=l.get(0),j.id&&k.id&&j.id!==k.id&&a(j).before(l))),f?l.find("a.widget-action").trigger("click"):wpWidgets.saveOrder(h.attr("id")),void 0)},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?(d.sortable("cancel"),void 0):(d.attr("id").indexOf("orphaned_widgets")>-1&&!d.children(".widget").length&&d.parents(".orphan-sidebar").slideUp(400,function(){a(this).remove()}),void 0)}}).sortable("option","connectWith","div.widgets-sortables"),a("#available-widgets").droppable({tolerance:"pointer",accept:function(b){return"widget-list"!==a(b).parent().attr("id")},drop:function(b,c){c.draggable.addClass("deleting"),a("#removing-widget").hide().children("span").html("")},over:function(b,c){c.draggable.addClass("deleting"),a("div.widget-placeholder").hide(),c.draggable.hasClass("ui-sortable-helper")&&a("#removing-widget").show().children("span").html(c.draggable.find("div.widget-title").children("h4").html())},out:function(b,c){c.draggable.removeClass("deleting"),a("div.widget-placeholder").show(),a("#removing-widget").hide().children("span").html("")}}),a("#widgets-right .widgets-holder-wrap").each(function(b,c){var d=a(c),e=d.find(".sidebar-name h3").text(),g=d.find(".widgets-sortables").attr("id"),h=a('<li tabindex="0">').text(a.trim(e));0===b&&h.addClass("widgets-chooser-selected"),f.append(h),h.data("sidebarId",g)}),a("#available-widgets .widget .widget-title").on("click.widgets-chooser",function(){var b=a(this).closest(".widget");b.hasClass("widget-in-question")||a("#widgets-left").hasClass("chooser")?d.closeChooser():(d.clearWidgetSelection(),a("#widgets-left").addClass("chooser"),b.addClass("widget-in-question").children(".widget-description").after(e),e.slideDown(300,function(){f.find(".widgets-chooser-selected").focus()}),f.find("li").on("focusin.widgets-chooser",function(){f.find(".widgets-chooser-selected").removeClass("widgets-chooser-selected"),a(this).addClass("widgets-chooser-selected")}))}),e.on("click.widgets-chooser",function(b){var c=a(b.target);c.hasClass("button-primary")?(d.addWidget(e),d.closeChooser()):c.hasClass("button-secondary")&&d.closeChooser()}).on("keyup.widgets-chooser",function(b){b.which===a.ui.keyCode.ENTER?a(b.target).hasClass("button-secondary")?d.closeChooser():(d.addWidget(e),d.closeChooser()):b.which===a.ui.keyCode.ESCAPE&&d.closeChooser()})},saveOrder:function(b){var c={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};b&&a("#"+b).find(".spinner:first").css("display","inline-block"),a("div.widgets-sortables").each(function(){a(this).sortable&&(c["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(","))}),a.post(ajaxurl,c,function(){a(".spinner").hide()})},save:function(b,c,d,e){var f,g=b.closest("div.widgets-sortables").attr("id"),h=b.find("form").serialize();b=a(b),a(".spinner",b).show(),f={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:g},c&&(f.delete_widget=1),h+="&"+a.param(f),a.post(ajaxurl,h,function(f){var g;c?(a("input.widget_number",b).val()||(g=a("input.widget-id",b).val(),a("#available-widgets").find("input.widget-id").each(function(){a(this).val()===g&&a(this).closest("div.widget").show()})),d?(e=0,b.slideUp("fast",function(){a(this).remove(),wpWidgets.saveOrder()})):b.remove()):(a(".spinner").hide(),f&&f.length>2&&(a("div.widget-content",b).html(f),wpWidgets.appendTitle(b))),e&&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(b){var c,d,e,f,g,h,i,j=b.find(".widgets-chooser-selected").data("sidebarId"),k=a("#"+j);c=a("#available-widgets").find(".widget-in-question").clone(),d=c.attr("id"),e=c.find("input.add_new").val(),f=c.find("input.multi_number").val(),c.find(".widgets-chooser").remove(),"multi"===e?(c.html(c.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,f)})),c.attr("id",d.replace("__i__",f)),f++,a("#"+d).find("input.multi_number").val(f)):"single"===e&&(c.attr("id","new-"+d),a("#"+d).hide()),k.closest(".widgets-holder-wrap").removeClass("closed"),k.append(c),k.sortable("refresh"),wpWidgets.save(c,0,0,1),c.find("input.add_new").val(""),g=a(window).scrollTop(),h=g+a(window).height(),i=k.offset(),i.bottom=i.top+k.outerHeight(),(g>i.bottom||h<i.top)&&a("html, body").animate({scrollTop:i.top-130},200),window.setTimeout(function(){c.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")}},a(document).ready(function(){wpWidgets.init()})}(jQuery);
\ No newline at end of file
+var wpWidgets;!function(a){wpWidgets={init:function(){var b,c,d=this,e=a(".widgets-chooser"),f=e.find(".widgets-chooser-sidebars"),g=a("div.widgets-sortables"),h=!("undefined"==typeof isRtl||!isRtl);a("#widgets-right .sidebar-name").click(function(){var b=a(this),c=b.closest(".widgets-holder-wrap");c.hasClass("closed")?(c.removeClass("closed"),b.parent().sortable("refresh")):c.addClass("closed")}),a("#widgets-left .sidebar-name").click(function(){a(this).closest(".widgets-holder-wrap").toggleClass("closed")}),a(document.body).bind("click.widgets-toggle",function(b){var c,d,e,f,g,i=a(b.target),j={"z-index":100};i.parents(".widget-top").length&&!i.parents("#available-widgets").length?(c=i.closest("div.widget"),d=c.children(".widget-inside"),e=parseInt(c.find("input.widget-width").val(),10),f=c.parent().width(),d.is(":hidden")?(e>250&&e+30>f&&c.closest("div.widgets-sortables").length&&(g=c.closest("div.widget-liquid-right").length?h?"margin-right":"margin-left":h?"margin-left":"margin-right",j[g]=f-(e+30)+"px",c.css(j)),d.slideDown("fast")):d.slideUp("fast",function(){c.attr("style","")}),b.preventDefault()):i.hasClass("widget-control-save")?(wpWidgets.save(i.closest("div.widget"),0,1,0),b.preventDefault()):i.hasClass("widget-control-remove")?(wpWidgets.save(i.closest("div.widget"),1,1,0),b.preventDefault()):i.hasClass("widget-control-close")&&(wpWidgets.close(i.closest("div.widget")),b.preventDefault())}),g.children(".widget").each(function(){var b=a(this);wpWidgets.appendTitle(this),b.find("p.widget-error").length&&b.find("a.widget-action").trigger("click")}),a("#widget-list").children(".widget").draggable({connectToSortable:"div.widgets-sortables",handle:"> .widget-top > .widget-title",distance:2,helper:"clone",zIndex:100,containment:"document",start:function(b,e){var f=a(this).find(".widgets-chooser");e.helper.find("div.widget-description").hide(),c=this.id,f.length&&(a("#wpbody-content").append(f.hide()),e.helper.find(".widgets-chooser").remove(),d.clearWidgetSelection())},stop:function(){b&&a(b).hide(),b=""}}),g.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(b,c){var d,e=a(this),f=e.parent(),g=c.item.children(".widget-inside");"block"===g.css("display")&&(g.hide(),a(this).sortable("refreshPositions")),f.hasClass("closed")||(d=c.item.hasClass("ui-draggable")?e.height():1+e.height(),e.css("min-height",d+"px"))},stop:function(d,e){var f,g,h,i,j,k,l=e.item,m=c;return l.hasClass("deleting")?(wpWidgets.save(l,1,0,1),void l.remove()):(f=l.find("input.add_new").val(),g=l.find("input.multi_number").val(),l.attr("style","").removeClass("ui-draggable"),c="",f&&("multi"===f?(l.html(l.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,g)})),l.attr("id",m.replace("__i__",g)),g++,a("div#"+m).find("input.multi_number").val(g)):"single"===f&&(l.attr("id","new-"+m),b="div#"+m),wpWidgets.save(l,0,0,1),l.find("input.add_new").val(""),a(document).trigger("widget-added",[l])),h=l.parent(),h.parent().hasClass("closed")&&(h.parent().removeClass("closed"),i=h.children(".widget"),i.length>1&&(j=i.get(0),k=l.get(0),j.id&&k.id&&j.id!==k.id&&a(j).before(l))),void(f?l.find("a.widget-action").trigger("click"):wpWidgets.saveOrder(h.attr("id"))))},activate:function(){a(this).parent().addClass("widget-hover")},deactivate:function(){a(this).css("min-height","").parent().removeClass("widget-hover")},receive:function(b,c){var d=a(c.sender);return this.id.indexOf("orphaned_widgets")>-1?void d.sortable("cancel"):void(d.attr("id").indexOf("orphaned_widgets")>-1&&!d.children(".widget").length&&d.parents(".orphan-sidebar").slideUp(400,function(){a(this).remove()}))}}).sortable("option","connectWith","div.widgets-sortables"),a("#available-widgets").droppable({tolerance:"pointer",accept:function(b){return"widget-list"!==a(b).parent().attr("id")},drop:function(b,c){c.draggable.addClass("deleting"),a("#removing-widget").hide().children("span").html("")},over:function(b,c){c.draggable.addClass("deleting"),a("div.widget-placeholder").hide(),c.draggable.hasClass("ui-sortable-helper")&&a("#removing-widget").show().children("span").html(c.draggable.find("div.widget-title").children("h4").html())},out:function(b,c){c.draggable.removeClass("deleting"),a("div.widget-placeholder").show(),a("#removing-widget").hide().children("span").html("")}}),a("#widgets-right .widgets-holder-wrap").each(function(b,c){var d=a(c),e=d.find(".sidebar-name h3").text(),g=d.find(".widgets-sortables").attr("id"),h=a('<li tabindex="0">').text(a.trim(e));0===b&&h.addClass("widgets-chooser-selected"),f.append(h),h.data("sidebarId",g)}),a("#available-widgets .widget .widget-title").on("click.widgets-chooser",function(){var b=a(this).closest(".widget");b.hasClass("widget-in-question")||a("#widgets-left").hasClass("chooser")?d.closeChooser():(d.clearWidgetSelection(),a("#widgets-left").addClass("chooser"),b.addClass("widget-in-question").children(".widget-description").after(e),e.slideDown(300,function(){f.find(".widgets-chooser-selected").focus()}),f.find("li").on("focusin.widgets-chooser",function(){f.find(".widgets-chooser-selected").removeClass("widgets-chooser-selected"),a(this).addClass("widgets-chooser-selected")}))}),e.on("click.widgets-chooser",function(b){var c=a(b.target);c.hasClass("button-primary")?(d.addWidget(e),d.closeChooser()):c.hasClass("button-secondary")&&d.closeChooser()}).on("keyup.widgets-chooser",function(b){b.which===a.ui.keyCode.ENTER?a(b.target).hasClass("button-secondary")?d.closeChooser():(d.addWidget(e),d.closeChooser()):b.which===a.ui.keyCode.ESCAPE&&d.closeChooser()})},saveOrder:function(b){var c={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};b&&a("#"+b).find(".spinner:first").css("display","inline-block"),a("div.widgets-sortables").each(function(){a(this).sortable&&(c["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(","))}),a.post(ajaxurl,c,function(){a(".spinner").hide()})},save:function(b,c,d,e){var f,g=b.closest("div.widgets-sortables").attr("id"),h=b.find("form").serialize();b=a(b),a(".spinner",b).show(),f={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:g},c&&(f.delete_widget=1),h+="&"+a.param(f),a.post(ajaxurl,h,function(f){var g;c?(a("input.widget_number",b).val()||(g=a("input.widget-id",b).val(),a("#available-widgets").find("input.widget-id").each(function(){a(this).val()===g&&a(this).closest("div.widget").show()})),d?(e=0,b.slideUp("fast",function(){a(this).remove(),wpWidgets.saveOrder()})):b.remove()):(a(".spinner").hide(),f&&f.length>2&&(a("div.widget-content",b).html(f),wpWidgets.appendTitle(b),a(document).trigger("widget-updated",[b]))),e&&wpWidgets.saveOrder()})},appendTitle:function(b){var c=a('input[id*="-title"]',b).val()||"";c&&(c=": "+c.replace(/<[^<>]+>/g,"").replace(/</g,"&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(b){var c,d,e,f,g,h,i,j=b.find(".widgets-chooser-selected").data("sidebarId"),k=a("#"+j);c=a("#available-widgets").find(".widget-in-question").clone(),d=c.attr("id"),e=c.find("input.add_new").val(),f=c.find("input.multi_number").val(),c.find(".widgets-chooser").remove(),"multi"===e?(c.html(c.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,f)})),c.attr("id",d.replace("__i__",f)),f++,a("#"+d).find("input.multi_number").val(f)):"single"===e&&(c.attr("id","new-"+d),a("#"+d).hide()),k.closest(".widgets-holder-wrap").removeClass("closed"),k.append(c),k.sortable("refresh"),wpWidgets.save(c,0,0,1),c.find("input.add_new").val(""),a(document).trigger("widget-added",[c]),g=a(window).scrollTop(),h=g+a(window).height(),i=k.offset(),i.bottom=i.top+k.outerHeight(),(g>i.bottom||h<i.top)&&a("html, body").animate({scrollTop:i.top-130},200),window.setTimeout(function(){c.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")}},a(document).ready(function(){wpWidgets.init()})}(jQuery);
\ No newline at end of file
index 6ffde31dc005086f4b8f896131e1fd21574f9309..6ce373e3917fc4904edb2c82b0d92c80f5fe9f65 100644 (file)
-/* global ajaxurl, deleteUserSetting, setUserSetting, switchEditors, tinymce, tinyMCEPreInit, wp_fullscreen_settings, wpActiveEditor:true, wpLink */
+/* global deleteUserSetting, setUserSetting, switchEditors, tinymce, tinyMCEPreInit */
 /**
- * PubSub
+ * Distraction Free Writing
+ * (wp-fullscreen)
  *
- * A lightweight publish/subscribe implementation.
- * Private use only!
+ * Access the API globally using the window.wp.editor.fullscreen variable.
  */
-var PubSub, fullscreen, wptitlehint;
-
-PubSub = function() {
-       this.topics = {};
-};
-
-PubSub.prototype.subscribe = function( topic, callback ) {
-       if ( ! this.topics[ topic ] )
-               this.topics[ topic ] = [];
+( function( $, window ) {
+       var api, ps, s, toggleUI, uiTimer, PubSub,
+               uiScrollTop = 0,
+               transitionend = 'transitionend webkitTransitionEnd',
+               $body = $( document.body ),
+               $document = $( document );
 
-       this.topics[ topic ].push( callback );
-       return callback;
-};
+       /**
+        * PubSub
+        *
+        * A lightweight publish/subscribe implementation.
+        *
+        * @access private
+        */
+       PubSub = function() {
+               this.topics = {};
 
-PubSub.prototype.unsubscribe = function( topic, callback ) {
-       var i, l,
-               topics = this.topics[ topic ];
+               this.subscribe = function( topic, callback ) {
+                       if ( ! this.topics[ topic ] )
+                               this.topics[ topic ] = [];
 
-       if ( ! topics )
-               return callback || [];
+                       this.topics[ topic ].push( callback );
+                       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;
+               this.unsubscribe = function( topic, callback ) {
+                       var i, l,
+                               topics = this.topics[ topic ];
 
-       // Clear all callbacks
-       } else {
-               this.topics[ topic ] = [];
-               return topics;
-       }
-};
+                       if ( ! topics )
+                               return callback || [];
 
-PubSub.prototype.publish = function( topic, args ) {
-       var i, l, broken,
-               topics = this.topics[ topic ];
+                       // Clear matching callbacks
+                       if ( callback ) {
+                               for ( i = 0, l = topics.length; i < l; i++ ) {
+                                       if ( callback == topics[i] )
+                                               topics.splice( i, 1 );
+                               }
+                               return callback;
 
-       if ( ! topics )
-               return;
+                       // Clear all callbacks
+                       } else {
+                               this.topics[ topic ] = [];
+                               return topics;
+                       }
+               };
 
-       args = args || [];
+               this.publish = function( topic, args ) {
+                       var i, l, broken,
+                               topics = this.topics[ topic ];
 
-       for ( i = 0, l = topics.length; i < l; i++ ) {
-               broken = ( topics[i].apply( null, args ) === false || broken );
-       }
-       return ! broken;
-};
+                       if ( ! topics )
+                               return;
 
-/**
- * Distraction Free Writing
- * (wp-fullscreen)
- *
- * Access the API globally using the fullscreen variable.
- */
+                       args = args || [];
 
-(function($){
-       var api, ps, bounder, s, timer, block, set_title_hint;
+                       for ( i = 0, l = topics.length; i < l; i++ ) {
+                               broken = ( topics[i].apply( null, args ) === false || broken );
+                       }
+                       return ! broken;
+               };
+       };
 
        // Initialize the fullscreen/api object
-       fullscreen = api = {};
+       api = {};
 
        // Create the PubSub (publish/subscribe) interface.
        ps = api.pubsub = new PubSub();
-       timer = 0;
-       block = false;
 
        s = api.settings = { // Settings
-               visible : false,
-               mode : 'tinymce',
-               editor_id : 'content',
-               title_id : '',
-               timer : 0,
-               toolbar_shown : false
+               visible: false,
+               mode: 'tinymce',
+               id: '',
+               title_id: '',
+               timer: 0,
+               toolbar_shown: false
        };
 
+       function _hideUI() {
+               $body.removeClass('wp-dfw-show-ui');
+       }
+
        /**
-        * Bounder
+        * toggleUI
         *
-        * Creates a function that publishes start/stop topics.
-        * Used to throttle events.
+        * Toggle the CSS class to show/hide the toolbar, borders and statusbar.
         */
-       bounder = api.bounder = function( start, stop, delay, e ) {
-               var y, top;
-
-               delay = delay || 1250;
+       toggleUI = api.toggleUI = function( show ) {
+               clearTimeout( uiTimer );
 
-               if ( e ) {
-                       y = e.pageY || e.clientY || e.offsetY;
-                       top = $(document).scrollTop();
-
-                       if ( !e.isDefaultPrevented ) // test if e ic jQuery normalized
-                               y = 135 + y;
-
-                       if ( y - top > 120 )
-                               return;
+               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 ( block )
-                       return;
-
-               block = true;
+               if ( show === 'autohide' ) {
+                       uiTimer = setTimeout( _hideUI, 2000 );
+               }
+       };
 
-               setTimeout( function() {
-                       block = false;
-               }, 400 );
+       function resetCssPosition( add ) {
+               s.$dfwWrap.parents().each( function( i, parent ) {
+                       var cssPosition, $parent = $(parent);
 
-               if ( s.timer )
-                       clearTimeout( s.timer );
-               else
-                       ps.publish( start );
+                       if ( add ) {
+                               if ( parent.style.position ) {
+                                       $parent.data( 'wp-dfw-css-position', parent.style.position );
+                               }
 
-               function timed() {
-                       ps.publish( stop );
-                       s.timer = 0;
-               }
+                               $parent.css( 'position', 'static' );
+                       } else {
+                               cssPosition = $parent.data( 'wp-dfw-css-position' );
+                               cssPosition = cssPosition || '';
+                               $parent.css( 'position', cssPosition );
+                       }
 
-               s.timer = setTimeout( timed, delay );
-       };
+                       if ( parent.nodeName === 'BODY' ) {
+                               return false;
+                       }
+               });
+       }
 
        /**
         * on()
@@ -135,29 +136,67 @@ PubSub.prototype.publish = function( topic, args ) {
         * @param string mode Optional. Switch to the given mode before opening.
         */
        api.on = function() {
-               if ( s.visible )
+               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(wp_fullscreen_settings) == 'object' )
-                       $.extend( s, wp_fullscreen_settings );
+               if ( typeof window.wp_fullscreen_settings === 'object' )
+                       $.extend( s, window.wp_fullscreen_settings );
 
-               s.editor_id = wpActiveEditor || 'content';
+               id = s.id || window.wpActiveEditor;
 
-               if ( $('input#title').length && s.editor_id == 'content' )
-                       s.title_id = 'title';
-               else if ( $('input#' + s.editor_id + '-title').length ) // the title input field should have [editor_id]-title HTML ID to be auto detected
-                       s.title_id = s.editor_id + '-title';
-               else
-                       $('#wp-fullscreen-title, #wp-fullscreen-title-prompt-text').hide();
+               if ( ! id ) {
+                       if ( s.hasTinymce ) {
+                               id = tinymce.activeEditor.id;
+                       } else {
+                               return;
+                       }
+               }
 
-               s.mode = $('#' + s.editor_id).is(':hidden') ? 'tinymce' : 'html';
-               s.qt_canvas = $('#' + s.editor_id).get(0);
+               s.id = id;
+               $dfwWrap = s.$dfwWrap = $( '#wp-' + id + '-wrap' );
 
-               if ( ! s.element )
-                       api.ui.init();
+               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 );
 
-               s.is_mce_on = s.has_tinymce && typeof( tinymce.get(s.editor_id) ) != 'undefined';
+               if ( ! s.$dfwTitle.length ) {
+                       s.$dfwTitle = null;
+               }
 
                api.ui.fade( 'show', 'showing', 'shown' );
        };
@@ -187,16 +226,32 @@ PubSub.prototype.publish = function( topic, args ) {
        api.switchmode = function( to ) {
                var from = s.mode;
 
-               if ( ! to || ! s.visible || ! s.has_tinymce )
+               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;
 
-               ps.publish( 'switchMode', [ from, to ] );
+               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;
-               ps.publish( 'switchedMode', [ from, to ] );
+               switchEditors.go( s.id, to );
+               api.refreshButtons( true );
+
+               if ( to === 'html' ) {
+                       setTimeout( api.resizeTextarea, 200 );
+               }
 
                return to;
        };
@@ -206,309 +261,206 @@ PubSub.prototype.publish = function( topic, args ) {
         */
 
        api.save = function() {
-               var hidden = $('#hiddenaction'), old = hidden.val(), spinner = $('#wp-fullscreen-save .spinner'),
-                       message = $('#wp-fullscreen-save span');
-
-               spinner.show();
-               api.savecontent();
-
-               hidden.val('wp-fullscreen-save-post');
+               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.show();
+               $errorMessage.hide();
+               $saveMessage.hide();
+               $hidden.val('wp-fullscreen-save-post');
+
+               if ( s.editor && ! s.editor.isHidden() ) {
+                       s.editor.save();
+               }
 
-               $.post( ajaxurl, $('form#post').serialize(), function(r){
-                       spinner.hide();
-                       message.show();
+               $.ajax({
+                       url: window.ajaxurl,
+                       type: 'post',
+                       data: $('form#post').serialize(),
+                       dataType: 'json'
+               }).done( function( response ) {
+                       $spinner.hide();
 
-                       setTimeout( function(){
-                               message.fadeOut(1000);
-                       }, 3000 );
+                       if ( response && response.success ) {
+                               $saveMessage.show();
 
-                       if ( r.last_edited )
-                               $('#wp-fullscreen-save input').attr( 'title',  r.last_edited );
+                               setTimeout( function() {
+                                       $saveMessage.fadeOut(300);
+                               }, 3000 );
 
-               }, 'json');
+                               if ( response.data && response.data.last_edited ) {
+                                       $('#wp-fullscreen-save input').attr( 'title',  response.data.last_edited );
+                               }
+                       } else {
+                               $errorMessage.show();
+                       }
+               }).fail( function() {
+                       $spinner.hide();
+                       $errorMessage.show();
+               });
 
-               hidden.val(old);
+               $hidden.val( oldVal );
        };
 
-       api.savecontent = function() {
-               var ed, content;
+       api.dfwWidth = function( pixels, total ) {
+               var width;
 
-               if ( s.title_id )
-                       $('#' + s.title_id).val( $('#wp-fullscreen-title').val() );
+               if ( pixels && pixels.toString().indexOf('%') !== -1 ) {
+                       s.$editorContainer.css( 'width', pixels );
+                       s.$statusbar.css( 'width', pixels );
 
-               if ( s.mode === 'tinymce' && (ed = tinymce.get('wp_mce_fullscreen')) ) {
-                       content = ed.save();
-               } else {
-                       content = $('#wp_mce_fullscreen').val();
+                       if ( s.$dfwTitle ) {
+                               s.$dfwTitle.css( 'width', pixels );
+                       }
+                       return;
                }
 
-               $('#' + s.editor_id).val( content );
-               $(document).triggerHandler('wpcountwords', [ content ]);
-       };
-
-       set_title_hint = function( title ) {
-               if ( ! title.val().length )
-                       title.siblings('label').css( 'visibility', '' );
-               else
-                       title.siblings('label').css( 'visibility', 'hidden' );
-       };
+               if ( ! pixels ) {
+                       // Reset to theme width
+                       width = $('#wp-fullscreen-body').data('theme-width') || 800;
+                       s.$editorContainer.width( width );
+                       s.$statusbar.width( width );
 
-       api.dfw_width = function(n) {
-               var el = $('#wp-fullscreen-wrap'), w = el.width();
+                       if ( s.$dfwTitle ) {
+                               s.$dfwTitle.width( width - 16 );
+                       }
 
-               if ( !n ) { // reset to theme width
-                       el.width( $('#wp-fullscreen-central-toolbar').width() );
                        deleteUserSetting('dfw_width');
                        return;
                }
 
-               w = n + w;
+               if ( total ) {
+                       width = pixels;
+               } else {
+                       width = s.$editorContainer.width();
+                       width += pixels;
+               }
 
-               if ( w < 200 || w > 1200 ) // sanity check
+               if ( width < 200 || width > 1200 ) {
+                       // sanity check
                        return;
+               }
 
-               el.width( w );
-               setUserSetting('dfw_width', w);
-       };
+               s.$editorContainer.width( width );
+               s.$statusbar.width( width );
 
-       ps.subscribe( 'showToolbar', function() {
-               s.toolbars.removeClass('fade-1000').addClass('fade-300');
-               api.fade.In( s.toolbars, 300, function(){ ps.publish('toolbarShown'); }, true );
-               $('#wp-fullscreen-body').addClass('wp-fullscreen-focus');
-               s.toolbar_shown = true;
-       });
+               if ( s.$dfwTitle ) {
+                       s.$dfwTitle.width( width - 16 );
+               }
 
-       ps.subscribe( 'hideToolbar', function() {
-               s.toolbars.removeClass('fade-300').addClass('fade-1000');
-               api.fade.Out( s.toolbars, 1000, function(){ ps.publish('toolbarHidden'); }, true );
-               $('#wp-fullscreen-body').removeClass('wp-fullscreen-focus');
-       });
+               setUserSetting( 'dfw_width', width );
+       };
 
-       ps.subscribe( 'toolbarShown', function() {
-               s.toolbars.removeClass('fade-300');
-       });
+       // This event occurs before the overlay blocks the UI.
+       ps.subscribe( 'show', function() {
+               var title = $('#last-edit').text();
 
-       ps.subscribe( 'toolbarHidden', function() {
-               s.toolbars.removeClass('fade-1000');
-               s.toolbar_shown = false;
+               if ( title ) {
+                       $('#wp-fullscreen-save input').attr( 'title', title );
+               }
        });
 
-       ps.subscribe( 'show', function() { // This event occurs before the overlay blocks the UI.
-               var 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.title_id ) {
-                       title = $('#wp-fullscreen-title').val( $('#' + s.title_id).val() );
-                       set_title_hint( title );
+               if ( s.$dfwTitle ) {
+                       s.$dfwTitle.after( '<span id="wp-fullscreen-title-placeholder">' );
+                       s.$dfwWrap.prepend( s.$dfwTitle.addClass('wp-fullscreen-title') );
                }
 
-               $('#wp-fullscreen-save input').attr( 'title',  $('#last-edit').text() );
-
-               s.textarea_obj.value = s.qt_canvas.value;
-
-               if ( s.has_tinymce && s.mode === 'tinymce' )
-                       tinymce.execCommand('wpFullScreenInit');
+               api.refreshButtons();
+               resetCssPosition( true );
+               $('#wpadminbar').hide();
 
-               s.orig_y = $(window).scrollTop();
-       });
+               // Show the UI for 2 sec. when opening
+               toggleUI('autohide');
 
-       ps.subscribe( 'showing', function() { // This event occurs while the DFW overlay blocks the UI.
-               $( document.body ).addClass( 'fullscreen-active' );
-               api.refresh_buttons();
+               api.bind_resize();
 
-               $( document ).bind( 'mousemove.fullscreen', function(e) { bounder( 'showToolbar', 'hideToolbar', 2000, e ); } );
-               bounder( 'showToolbar', 'hideToolbar', 2000 );
+               if ( s.editor ) {
+                       s.editor.execCommand( 'wpFullScreenOn' );
+               }
 
-               api.bind_resize();
-               setTimeout( api.resize_textarea, 200 );
+               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);
-
-               // needed it for IE7 and compat mode
-               $('#wpadminbar').hide();
        });
 
-       ps.subscribe( 'shown', function() { // This event occurs after the DFW overlay is shown
-               var interim_init;
-
+       // This event occurs after the overlay unblocks the UI
+       ps.subscribe( 'shown', function() {
                s.visible = true;
 
-               // init the standard TinyMCE instance if missing
-               if ( s.has_tinymce && ! s.is_mce_on ) {
-
-                       interim_init = function(mce, ed) {
-                               var el = ed.getElement(), old_val = el.value, settings = tinyMCEPreInit.mceInit[s.editor_id];
-
-                               if ( settings && settings.wpautop && typeof(switchEditors) != 'undefined' )
-                                       el.value = switchEditors.wpautop( el.value );
-
-                               ed.onInit.add(function(ed) {
-                                       ed.hide();
-                                       ed.getElement().value = old_val;
-                                       tinymce.onAddEditor.remove(interim_init);
-                               });
-                       };
-
-                       tinymce.onAddEditor.add(interim_init);
-                       tinymce.init(tinyMCEPreInit.mceInit[s.editor_id]);
-
-                       s.is_mce_on = true;
+               if ( s.editor && ! s.editor.isHidden() ) {
+                       s.editor.execCommand( 'wpAutoResize' );
+               } else {
+                       api.resizeTextarea( 'force' );
                }
-
-               wpActiveEditor = 'wp_mce_fullscreen';
        });
 
        ps.subscribe( 'hide', function() { // This event occurs before the overlay blocks DFW.
-               var htmled_is_hidden = $('#' + s.editor_id).is(':hidden');
-               // Make sure the correct editor is displaying.
-               if ( s.has_tinymce && s.mode === 'tinymce' && !htmled_is_hidden ) {
-                       switchEditors.go(s.editor_id, 'tmce');
-               } else if ( s.mode === 'html' && htmled_is_hidden ) {
-                       switchEditors.go(s.editor_id, 'html');
-               }
-
-               // Save content must be after switchEditors or content will be overwritten. See #17229.
-               api.savecontent();
-
-               $( document ).unbind( '.fullscreen' );
-               $(s.textarea_obj).unbind('.grow');
-
-               if ( s.has_tinymce && s.mode === 'tinymce' )
-                       tinymce.execCommand('wpFullScreenSave');
-
-               if ( s.title_id )
-                       set_title_hint( $('#' + s.title_id) );
-
-               s.qt_canvas.value = s.textarea_obj.value;
+               $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' );
 
-               $( document.body ).removeClass( 'fullscreen-active' );
-               scrollTo(0, s.orig_y);
-               $('#wpadminbar').show();
-       });
-
-       ps.subscribe( 'hidden', function() { // This event occurs after DFW is removed.
-               s.visible = false;
-               $('#wp_mce_fullscreen, #wp-fullscreen-title').removeAttr('style');
-
-               if ( s.has_tinymce && s.is_mce_on )
-                       tinymce.execCommand('wpFullScreenClose');
-
-               s.textarea_obj.value = '';
-               api.oldheight = 0;
-               wpActiveEditor = s.editor_id;
-       });
-
-       ps.subscribe( 'switchMode', function( from, to ) {
-               var ed;
-
-               if ( !s.has_tinymce || !s.is_mce_on )
-                       return;
-
-               ed = tinymce.get('wp_mce_fullscreen');
-
-               if ( from === 'html' && to === 'tinymce' ) {
-
-                       if ( tinymce.get(s.editor_id).getParam('wpautop') && typeof(switchEditors) != 'undefined' )
-                               s.textarea_obj.value = switchEditors.wpautop( s.textarea_obj.value );
+               if ( s.$dfwTitle ) {
+                       $( '#wp-fullscreen-title-placeholder' ).before( s.$dfwTitle.removeClass('wp-fullscreen-title').css( 'width', '' ) ).remove();
+               }
 
-                       if ( 'undefined' == typeof(ed) )
-                               tinymce.execCommand('wpFullScreenInit');
-                       else
-                               ed.show();
+               s.$dfwWrap.removeClass( 'wp-fullscreen-wrap' );
+               s.$editorContainer.css( 'width', '' );
+               s.$dfwTextarea.add( '#' + s.id + '_ifr' ).height( s.origHeight );
 
-               } else if ( from === 'tinymce' && to === 'html' ) {
-                       if ( ed )
-                               ed.hide();
+               if ( s.editor ) {
+                       s.editor.execCommand( 'wpFullScreenOff' );
                }
-       });
 
-       ps.subscribe( 'switchedMode', function( from, to ) {
-               api.refresh_buttons(true);
+               resetCssPosition( false );
 
-               if ( to === 'html' )
-                       setTimeout( api.resize_textarea, 200 );
+               window.scrollTo( 0, uiScrollTop );
+               $('#wpadminbar').show();
        });
 
-       /**
-        * Buttons
-        */
-       api.b = function() {
-               if ( s.has_tinymce && 'tinymce' === s.mode )
-                       tinymce.execCommand('Bold');
-       };
-
-       api.i = function() {
-               if ( s.has_tinymce && 'tinymce' === s.mode )
-                       tinymce.execCommand('Italic');
-       };
-
-       api.ul = function() {
-               if ( s.has_tinymce && 'tinymce' === s.mode )
-                       tinymce.execCommand('InsertUnorderedList');
-       };
-
-       api.ol = function() {
-               if ( s.has_tinymce && 'tinymce' === s.mode )
-                       tinymce.execCommand('InsertOrderedList');
-       };
-
-       api.link = function() {
-               if ( s.has_tinymce && 'tinymce' === s.mode )
-                       tinymce.execCommand('WP_Link');
-               else
-                       wpLink.open();
-       };
-
-       api.unlink = function() {
-               if ( s.has_tinymce && 'tinymce' === s.mode )
-                       tinymce.execCommand('unlink');
-       };
-
-       api.atd = function() {
-               if ( s.has_tinymce && 'tinymce' === s.mode )
-                       tinymce.execCommand('mceWritingImprovementTool');
-       };
-
-       api.help = function() {
-               if ( s.has_tinymce && 'tinymce' === s.mode )
-                       tinymce.execCommand('WP_Help');
-       };
-
-       api.blockquote = function() {
-               if ( s.has_tinymce && 'tinymce' === s.mode )
-                       tinymce.execCommand('mceBlockQuote');
-       };
-
-       api.medialib = function() {
-               if ( typeof wp !== 'undefined' && wp.media && wp.media.editor )
-                       wp.media.editor.open(s.editor_id);
-       };
-
-       api.refresh_buttons = function( fade ) {
-               fade = fade || false;
+       // 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');
+                       $('#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 )
+                       if ( fade ) {
                                $('#wp-fullscreen-button-bar').fadeOut( 150, function(){
                                        $(this).addClass('wp-html-mode').fadeIn( 150 );
                                });
-                       else
+                       } 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');
+                       $('#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 )
+                       if ( fade ) {
                                $('#wp-fullscreen-button-bar').fadeOut( 150, function(){
                                        $(this).removeClass('wp-html-mode').fadeIn( 150 );
                                });
-                       else
+                       } else {
                                $('#wp-fullscreen-button-bar').removeClass('wp-html-mode');
+                       }
                }
        };
 
@@ -519,115 +471,128 @@ PubSub.prototype.publish = function( topic, args ) {
         */
        api.ui = {
                init: function() {
-                       var topbar = $('#fullscreen-topbar'), txtarea = $('#wp_mce_fullscreen'), last = 0;
+                       var toolbar;
 
-                       s.toolbars = topbar.add( $('#wp-fullscreen-status') );
-                       s.element = $('#fullscreen-fader');
-                       s.textarea_obj = txtarea[0];
-                       s.has_tinymce = typeof(tinymce) != 'undefined';
+                       s.toolbar = toolbar = $('#fullscreen-topbar');
+                       s.$fullscreenFader = $('#fullscreen-fader');
+                       s.$statusbar = $('#wp-fullscreen-status');
+                       s.hasTinymce = typeof tinymce !== 'undefined';
 
-                       if ( !s.has_tinymce )
+                       if ( ! s.hasTinymce )
                                $('#wp-fullscreen-mode-bar').hide();
 
-                       if ( wptitlehint && $('#wp-fullscreen-title').length )
-                               wptitlehint('wp-fullscreen-title');
-
-                       $(document).keyup(function(e){
-                               var c = e.keyCode || e.charCode, a, data;
-
-                               if ( !fullscreen.settings.visible )
-                                       return true;
-
-                               if ( navigator.platform && navigator.platform.indexOf('Mac') != -1 )
-                                       a = e.ctrlKey; // Ctrl key for Mac
-                               else
-                                       a = e.altKey; // Alt key for Win & Linux
-
-                               if ( 27 == c ) { // Esc
-                                       data = {
-                                               event: e,
-                                               what: 'dfw',
-                                               cb: fullscreen.off,
-                                               condition: function(){
-                                                       if ( $('#TB_window').is(':visible') || $('.wp-dialog').is(':visible') )
-                                                               return false;
-                                                       return true;
-                                               }
-                                       };
-
-                                       if ( ! jQuery(document).triggerHandler( 'wp_CloseOnEscape', [data] ) )
-                                               fullscreen.off();
+                       $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 ( a && (61 == c || 107 == c || 187 == c) ) { // +
-                                       api.dfw_width(25);
+                               if ( modKey && ( 61 === c || 107 === c || 187 === c ) ) { // +
+                                       api.dfwWidth( 25 );
                                        e.preventDefault();
                                }
 
-                               if ( a && (45 == c || 109 == c || 189 == c) ) { // -
-                                       api.dfw_width(-25);
+                               if ( modKey && ( 45 === c || 109 === c || 189 === c ) ) { // -
+                                       api.dfwWidth( -25 );
                                        e.preventDefault();
                                }
 
-                               if ( a && 48 == c ) { // 0
-                                       api.dfw_width(0);
+                               if ( modKey && 48 === c ) { // 0
+                                       api.dfwWidth( 0 );
                                        e.preventDefault();
                                }
                        });
 
-                       // word count in Text mode
-                       if ( typeof(wpWordCount) != 'undefined' ) {
-
-                               txtarea.keyup( function(e) {
-                                       var k = e.keyCode || e.charCode;
-
-                                       if ( k == last )
-                                               return true;
-
-                                       if ( 13 == k || 8 == last || 46 == last )
-                                               $(document).triggerHandler('wpcountwords', [ txtarea.val() ]);
+                       $document.on( 'keydown.wp-fullscreen', function( event ) {
+                               if ( 27 === event.which && s.visible ) { // Esc
+                                       api.off();
+                                       event.stopImmediatePropagation();
+                               }
+                       });
 
-                                       last = k;
-                                       return true;
-                               });
+                       if ( 'ontouchstart' in window ) {
+                               $body.addClass('wp-dfw-touch');
                        }
 
-                       topbar.mouseenter(function(){
-                               s.toolbars.addClass('fullscreen-make-sticky');
-                               $( document ).unbind( '.fullscreen' );
-                               clearTimeout( s.timer );
-                               s.timer = 0;
-                       }).mouseleave(function(){
-                               s.toolbars.removeClass('fullscreen-make-sticky');
+                       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 ( s.visible )
-                                       $( document ).bind( 'mousemove.fullscreen', function(e) { bounder( 'showToolbar', 'hideToolbar', 2000, e ); } );
+                               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.element )
+                       if ( ! s.$fullscreenFader ) {
                                api.ui.init();
+                       }
 
                        // If any callback bound to before returns false, bail.
-                       if ( before && ! ps.publish( before ) )
+                       if ( before && ! ps.publish( before ) ) {
                                return;
+                       }
 
-                       api.fade.In( s.element, 600, function() {
-                               if ( during )
+                       api.fade.In( s.$fullscreenFader, 200, function() {
+                               if ( during ) {
                                        ps.publish( during );
+                               }
 
-                               api.fade.Out( s.element, 600, function() {
-                                       if ( after )
+                               api.fade.Out( s.$fullscreenFader, 200, function() {
+                                       if ( after ) {
                                                ps.publish( after );
+                                       }
                                });
                        });
                }
        };
 
        api.fade = {
-               transitionend: 'transitionend webkitTransitionEnd oTransitionEnd',
-
                // Sensitivity to allow browsers to render the blank element before animating.
                sensitivity: 100,
 
@@ -644,19 +609,22 @@ PubSub.prototype.publish = function( topic, args ) {
                                }
 
                                element.show();
-                               element.first().one( this.transitionend, function() {
+                               element.first().one( transitionend, function() {
                                        callback();
                                });
+
                                setTimeout( function() { element.addClass( 'fade-trigger' ); }, this.sensitivity );
                        } else {
-                               if ( stop )
+                               if ( stop ) {
                                        element.stop();
+                               }
 
                                element.css( 'opacity', 1 );
                                element.first().fadeIn( speed, callback );
 
-                               if ( element.length > 1 )
+                               if ( element.length > 1 ) {
                                        element.not(':first').fadeIn( speed );
+                               }
                        }
 
                        return element;
@@ -668,38 +636,43 @@ PubSub.prototype.publish = function( topic, args ) {
                        speed = speed || 400;
                        stop = stop || false;
 
-                       if ( ! element.is(':visible') )
+                       if ( ! element.is(':visible') ) {
                                return element;
+                       }
 
                        if ( api.fade.transitions ) {
-                               element.first().one( api.fade.transitionend, function() {
-                                       if ( element.hasClass('fade-trigger') )
+                               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 )
+                               if ( stop ) {
                                        element.stop();
+                               }
 
                                element.first().fadeOut( speed, callback );
 
-                               if ( element.length > 1 )
+                               if ( element.length > 1 ) {
                                        element.not(':first').fadeOut( speed );
+                               }
                        }
 
                        return element;
                },
 
-               transitions: (function() { // Check if the browser supports CSS 3.0 transitions
-                       var s = document.documentElement.style;
+               // Check if the browser supports CSS 3.0 transitions
+               transitions: ( function() {
+                       var style = document.documentElement.style;
 
-                       return ( typeof ( s.WebkitTransition ) == 'string' ||
-                               typeof ( s.MozTransition ) == 'string' ||
-                               typeof ( s.OTransition ) == 'string' ||
-                               typeof ( s.transition ) == 'string' );
+                       return ( typeof style.WebkitTransition === 'string' ||
+                               typeof style.MozTransition === 'string' ||
+                               typeof style.OTransition === 'string' ||
+                               typeof style.transition === 'string' );
                })()
        };
 
@@ -708,23 +681,23 @@ PubSub.prototype.publish = function( topic, args ) {
         *
         * Automatically updates textarea height.
         */
-
        api.bind_resize = function() {
-               $(s.textarea_obj).bind('keypress.grow click.grow paste.grow', function(){
-                       setTimeout( api.resize_textarea, 200 );
+               s.$dfwTextarea.on( 'keydown.wp-dfw-resize click.wp-dfw-resize paste.wp-dfw-resize', function() {
+                       api.resizeTextarea();
                });
        };
 
-       api.oldheight = 0;
-       api.resize_textarea = function() {
-               var txt = s.textarea_obj, newheight;
-
-               newheight = txt.scrollHeight > 300 ? txt.scrollHeight : 300;
+       api.resizeTextarea = function() {
+               var node = s.$dfwTextarea[0];
 
-               if ( newheight != api.oldheight ) {
-                       txt.style.height = newheight + 'px';
-                       api.oldheight = newheight;
+               if ( node.scrollHeight > node.clientHeight ) {
+                       node.style.height = node.scrollHeight + 50 + 'px';
                }
        };
 
-})(jQuery);
+       // Export
+       window.wp = window.wp || {};
+       window.wp.editor = window.wp.editor || {};
+       window.wp.editor.fullscreen = api;
+
+})( jQuery, window );
index 718781310bf0a0894c9c6943c122ae3b6261cfee..60514879a46e52f925871a11f935c9ca94995c7e 100644 (file)
@@ -1 +1 @@
-var PubSub,fullscreen,wptitlehint;PubSub=function(){this.topics={}},PubSub.prototype.subscribe=function(a,b){return this.topics[a]||(this.topics[a]=[]),this.topics[a].push(b),b},PubSub.prototype.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},PubSub.prototype.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}},function(a){var b,c,d,e,f,g,h;fullscreen=b={},c=b.pubsub=new PubSub,f=0,g=!1,e=b.settings={visible:!1,mode:"tinymce",editor_id:"content",title_id:"",timer:0,toolbar_shown:!1},d=b.bounder=function(b,d,f,h){function i(){c.publish(d),e.timer=0}var j,k;f=f||1250,h&&(j=h.pageY||h.clientY||h.offsetY,k=a(document).scrollTop(),h.isDefaultPrevented||(j=135+j),j-k>120)||g||(g=!0,setTimeout(function(){g=!1},400),e.timer?clearTimeout(e.timer):c.publish(b),e.timer=setTimeout(i,f))},b.on=function(){e.visible||("object"==typeof wp_fullscreen_settings&&a.extend(e,wp_fullscreen_settings),e.editor_id=wpActiveEditor||"content",a("input#title").length&&"content"==e.editor_id?e.title_id="title":a("input#"+e.editor_id+"-title").length?e.title_id=e.editor_id+"-title":a("#wp-fullscreen-title, #wp-fullscreen-title-prompt-text").hide(),e.mode=a("#"+e.editor_id).is(":hidden")?"tinymce":"html",e.qt_canvas=a("#"+e.editor_id).get(0),e.element||b.ui.init(),e.is_mce_on=e.has_tinymce&&"undefined"!=typeof tinymce.get(e.editor_id),b.ui.fade("show","showing","shown"))},b.off=function(){e.visible&&b.ui.fade("hide","hiding","hidden")},b.switchmode=function(a){var b=e.mode;return a&&e.visible&&e.has_tinymce?b==a?b:(c.publish("switchMode",[b,a]),e.mode=a,c.publish("switchedMode",[b,a]),a):b},b.save=function(){var c=a("#hiddenaction"),d=c.val(),e=a("#wp-fullscreen-save .spinner"),f=a("#wp-fullscreen-save span");e.show(),b.savecontent(),c.val("wp-fullscreen-save-post"),a.post(ajaxurl,a("form#post").serialize(),function(b){e.hide(),f.show(),setTimeout(function(){f.fadeOut(1e3)},3e3),b.last_edited&&a("#wp-fullscreen-save input").attr("title",b.last_edited)},"json"),c.val(d)},b.savecontent=function(){var b,c;e.title_id&&a("#"+e.title_id).val(a("#wp-fullscreen-title").val()),c="tinymce"===e.mode&&(b=tinymce.get("wp_mce_fullscreen"))?b.save():a("#wp_mce_fullscreen").val(),a("#"+e.editor_id).val(c),a(document).triggerHandler("wpcountwords",[c])},h=function(a){a.val().length?a.siblings("label").css("visibility","hidden"):a.siblings("label").css("visibility","")},b.dfw_width=function(b){var c=a("#wp-fullscreen-wrap"),d=c.width();return b?(d=b+d,200>d||d>1200||(c.width(d),setUserSetting("dfw_width",d)),void 0):(c.width(a("#wp-fullscreen-central-toolbar").width()),deleteUserSetting("dfw_width"),void 0)},c.subscribe("showToolbar",function(){e.toolbars.removeClass("fade-1000").addClass("fade-300"),b.fade.In(e.toolbars,300,function(){c.publish("toolbarShown")},!0),a("#wp-fullscreen-body").addClass("wp-fullscreen-focus"),e.toolbar_shown=!0}),c.subscribe("hideToolbar",function(){e.toolbars.removeClass("fade-300").addClass("fade-1000"),b.fade.Out(e.toolbars,1e3,function(){c.publish("toolbarHidden")},!0),a("#wp-fullscreen-body").removeClass("wp-fullscreen-focus")}),c.subscribe("toolbarShown",function(){e.toolbars.removeClass("fade-300")}),c.subscribe("toolbarHidden",function(){e.toolbars.removeClass("fade-1000"),e.toolbar_shown=!1}),c.subscribe("show",function(){var b;e.title_id&&(b=a("#wp-fullscreen-title").val(a("#"+e.title_id).val()),h(b)),a("#wp-fullscreen-save input").attr("title",a("#last-edit").text()),e.textarea_obj.value=e.qt_canvas.value,e.has_tinymce&&"tinymce"===e.mode&&tinymce.execCommand("wpFullScreenInit"),e.orig_y=a(window).scrollTop()}),c.subscribe("showing",function(){a(document.body).addClass("fullscreen-active"),b.refresh_buttons(),a(document).bind("mousemove.fullscreen",function(a){d("showToolbar","hideToolbar",2e3,a)}),d("showToolbar","hideToolbar",2e3),b.bind_resize(),setTimeout(b.resize_textarea,200),scrollTo(0,0),a("#wpadminbar").hide()}),c.subscribe("shown",function(){var a;e.visible=!0,e.has_tinymce&&!e.is_mce_on&&(a=function(b,c){var d=c.getElement(),f=d.value,g=tinyMCEPreInit.mceInit[e.editor_id];g&&g.wpautop&&"undefined"!=typeof switchEditors&&(d.value=switchEditors.wpautop(d.value)),c.onInit.add(function(b){b.hide(),b.getElement().value=f,tinymce.onAddEditor.remove(a)})},tinymce.onAddEditor.add(a),tinymce.init(tinyMCEPreInit.mceInit[e.editor_id]),e.is_mce_on=!0),wpActiveEditor="wp_mce_fullscreen"}),c.subscribe("hide",function(){var c=a("#"+e.editor_id).is(":hidden");e.has_tinymce&&"tinymce"===e.mode&&!c?switchEditors.go(e.editor_id,"tmce"):"html"===e.mode&&c&&switchEditors.go(e.editor_id,"html"),b.savecontent(),a(document).unbind(".fullscreen"),a(e.textarea_obj).unbind(".grow"),e.has_tinymce&&"tinymce"===e.mode&&tinymce.execCommand("wpFullScreenSave"),e.title_id&&h(a("#"+e.title_id)),e.qt_canvas.value=e.textarea_obj.value}),c.subscribe("hiding",function(){a(document.body).removeClass("fullscreen-active"),scrollTo(0,e.orig_y),a("#wpadminbar").show()}),c.subscribe("hidden",function(){e.visible=!1,a("#wp_mce_fullscreen, #wp-fullscreen-title").removeAttr("style"),e.has_tinymce&&e.is_mce_on&&tinymce.execCommand("wpFullScreenClose"),e.textarea_obj.value="",b.oldheight=0,wpActiveEditor=e.editor_id}),c.subscribe("switchMode",function(a,b){var c;e.has_tinymce&&e.is_mce_on&&(c=tinymce.get("wp_mce_fullscreen"),"html"===a&&"tinymce"===b?(tinymce.get(e.editor_id).getParam("wpautop")&&"undefined"!=typeof switchEditors&&(e.textarea_obj.value=switchEditors.wpautop(e.textarea_obj.value)),"undefined"==typeof c?tinymce.execCommand("wpFullScreenInit"):c.show()):"tinymce"===a&&"html"===b&&c&&c.hide())}),c.subscribe("switchedMode",function(a,c){b.refresh_buttons(!0),"html"===c&&setTimeout(b.resize_textarea,200)}),b.b=function(){e.has_tinymce&&"tinymce"===e.mode&&tinymce.execCommand("Bold")},b.i=function(){e.has_tinymce&&"tinymce"===e.mode&&tinymce.execCommand("Italic")},b.ul=function(){e.has_tinymce&&"tinymce"===e.mode&&tinymce.execCommand("InsertUnorderedList")},b.ol=function(){e.has_tinymce&&"tinymce"===e.mode&&tinymce.execCommand("InsertOrderedList")},b.link=function(){e.has_tinymce&&"tinymce"===e.mode?tinymce.execCommand("WP_Link"):wpLink.open()},b.unlink=function(){e.has_tinymce&&"tinymce"===e.mode&&tinymce.execCommand("unlink")},b.atd=function(){e.has_tinymce&&"tinymce"===e.mode&&tinymce.execCommand("mceWritingImprovementTool")},b.help=function(){e.has_tinymce&&"tinymce"===e.mode&&tinymce.execCommand("WP_Help")},b.blockquote=function(){e.has_tinymce&&"tinymce"===e.mode&&tinymce.execCommand("mceBlockQuote")},b.medialib=function(){"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(e.editor_id)},b.refresh_buttons=function(b){b=b||!1,"html"===e.mode?(a("#wp-fullscreen-mode-bar").removeClass("wp-tmce-mode").addClass("wp-html-mode"),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"===e.mode&&(a("#wp-fullscreen-mode-bar").removeClass("wp-html-mode").addClass("wp-tmce-mode"),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"))},b.ui={init:function(){var c=a("#fullscreen-topbar"),f=a("#wp_mce_fullscreen"),g=0;e.toolbars=c.add(a("#wp-fullscreen-status")),e.element=a("#fullscreen-fader"),e.textarea_obj=f[0],e.has_tinymce="undefined"!=typeof tinymce,e.has_tinymce||a("#wp-fullscreen-mode-bar").hide(),wptitlehint&&a("#wp-fullscreen-title").length&&wptitlehint("wp-fullscreen-title"),a(document).keyup(function(c){var d,e,f=c.keyCode||c.charCode;return fullscreen.settings.visible?(d=navigator.platform&&-1!=navigator.platform.indexOf("Mac")?c.ctrlKey:c.altKey,27==f&&(e={event:c,what:"dfw",cb:fullscreen.off,condition:function(){return a("#TB_window").is(":visible")||a(".wp-dialog").is(":visible")?!1:!0}},jQuery(document).triggerHandler("wp_CloseOnEscape",[e])||fullscreen.off()),!d||61!=f&&107!=f&&187!=f||(b.dfw_width(25),c.preventDefault()),!d||45!=f&&109!=f&&189!=f||(b.dfw_width(-25),c.preventDefault()),d&&48==f&&(b.dfw_width(0),c.preventDefault()),void 0):!0}),"undefined"!=typeof wpWordCount&&f.keyup(function(b){var c=b.keyCode||b.charCode;return c==g?!0:((13==c||8==g||46==g)&&a(document).triggerHandler("wpcountwords",[f.val()]),g=c,!0)}),c.mouseenter(function(){e.toolbars.addClass("fullscreen-make-sticky"),a(document).unbind(".fullscreen"),clearTimeout(e.timer),e.timer=0}).mouseleave(function(){e.toolbars.removeClass("fullscreen-make-sticky"),e.visible&&a(document).bind("mousemove.fullscreen",function(a){d("showToolbar","hideToolbar",2e3,a)})})},fade:function(a,d,f){e.element||b.ui.init(),(!a||c.publish(a))&&b.fade.In(e.element,600,function(){d&&c.publish(d),b.fade.Out(e.element,600,function(){f&&c.publish(f)})})}},b.fade={transitionend:"transitionend webkitTransitionEnd oTransitionEnd",sensitivity:100,In:function(c,d,e,f){if(e=e||a.noop,d=d||400,f=f||!1,b.fade.transitions){if(c.is(":visible"))return c.addClass("fade-trigger"),c;c.show(),c.first().one(this.transitionend,function(){e()}),setTimeout(function(){c.addClass("fade-trigger")},this.sensitivity)}else f&&c.stop(),c.css("opacity",1),c.first().fadeIn(d,e),c.length>1&&c.not(":first").fadeIn(d);return c},Out:function(c,d,e,f){return e=e||a.noop,d=d||400,f=f||!1,c.is(":visible")?(b.fade.transitions?(c.first().one(b.fade.transitionend,function(){c.hasClass("fade-trigger")||(c.hide(),e())}),setTimeout(function(){c.removeClass("fade-trigger")},this.sensitivity)):(f&&c.stop(),c.first().fadeOut(d,e),c.length>1&&c.not(":first").fadeOut(d)),c):c},transitions:function(){var a=document.documentElement.style;return"string"==typeof a.WebkitTransition||"string"==typeof a.MozTransition||"string"==typeof a.OTransition||"string"==typeof a.transition}()},b.bind_resize=function(){a(e.textarea_obj).bind("keypress.grow click.grow paste.grow",function(){setTimeout(b.resize_textarea,200)})},b.oldheight=0,b.resize_textarea=function(){var a,c=e.textarea_obj;a=c.scrollHeight>300?c.scrollHeight:300,a!=b.oldheight&&(c.style.height=a+"px",b.oldheight=a)}}(jQuery);
\ No newline at end of file
+!function(a,b){function c(){m.removeClass("wp-dfw-show-ui")}function d(b){g.$dfwWrap.parents().each(function(c,d){var e,f=a(d);return b?(d.style.position&&f.data("wp-dfw-css-position",d.style.position),f.css("position","static")):(e=f.data("wp-dfw-css-position"),e=e||"",f.css("position",e)),"BODY"===d.nodeName?!1:void 0})}var e,f,g,h,i,j,k=0,l="transitionend webkitTransitionEnd",m=a(document.body),n=a(document);j=function(){this.topics={},this.subscribe=function(a,b){return this.topics[a]||(this.topics[a]=[]),this.topics[a].push(b),b},this.unsubscribe=function(a,b){var c,d,e=this.topics[a];if(!e)return b||[];if(b){for(c=0,d=e.length;d>c;c++)b==e[c]&&e.splice(c,1);return b}return this.topics[a]=[],e},this.publish=function(a,b){var c,d,e,f=this.topics[a];if(f){for(b=b||[],c=0,d=f.length;d>c;c++)e=f[c].apply(null,b)===!1||e;return!e}}},e={},f=e.pubsub=new j,g=e.settings={visible:!1,mode:"tinymce",id:"",title_id:"",timer:0,toolbar_shown:!1},h=e.toggleUI=function(a){clearTimeout(i),m.hasClass("wp-dfw-show-ui")&&"show"!==a?"autohide"!==a&&m.removeClass("wp-dfw-show-ui"):m.addClass("wp-dfw-show-ui"),"autohide"===a&&(i=setTimeout(c,2e3))},e.on=function(){var c,d,f;if(!g.visible){if(g.$fullscreenFader||e.ui.init(),"object"==typeof b.wp_fullscreen_settings&&a.extend(g,b.wp_fullscreen_settings),c=g.id||b.wpActiveEditor,!c){if(!g.hasTinymce)return;c=tinymce.activeEditor.id}g.id=c,d=g.$dfwWrap=a("#wp-"+c+"-wrap"),d.length&&(g.$dfwTextarea=a("#"+c),g.$editorContainer=d.find(".wp-editor-container"),k=n.scrollTop(),g.hasTinymce&&(g.editor=tinymce.get(c)),g.editor&&!g.editor.isHidden()?(g.origHeight=a("#"+c+"_ifr").height(),g.mode="tinymce"):(g.origHeight=g.$dfwTextarea.height(),g.mode="html"),f="undefined"==typeof b.adminpage||"post-php"!==b.adminpage&&"post-new-php"!==b.adminpage?c+"-title":"title",g.$dfwTitle=a("#"+f),g.$dfwTitle.length||(g.$dfwTitle=null),e.ui.fade("show","showing","shown"))}},e.off=function(){g.visible&&e.ui.fade("hide","hiding","hidden")},e.switchmode=function(a){var b=g.mode;return a&&g.visible&&g.hasTinymce&&"undefined"!=typeof switchEditors?b==a?b:("tinymce"!==a||g.editor||(g.editor=tinymce.get(g.id),!g.editor&&"undefined"!=typeof tinyMCEPreInit&&tinyMCEPreInit.mceInit&&tinyMCEPreInit.mceInit[g.id]&&(tinyMCEPreInit.mceInit[g.id].wp_fullscreen=!0)),g.mode=a,switchEditors.go(g.id,a),e.refreshButtons(!0),"html"===a&&setTimeout(e.resizeTextarea,200),a):b},e.save=function(){var c=a("#hiddenaction"),d=c.val(),e=a("#wp-fullscreen-save .spinner"),f=a("#wp-fullscreen-save .wp-fullscreen-saved-message"),h=a("#wp-fullscreen-save .wp-fullscreen-error-message");e.show(),h.hide(),f.hide(),c.val("wp-fullscreen-save-post"),g.editor&&!g.editor.isHidden()&&g.editor.save(),a.ajax({url:b.ajaxurl,type:"post",data:a("form#post").serialize(),dataType:"json"}).done(function(b){e.hide(),b&&b.success?(f.show(),setTimeout(function(){f.fadeOut(300)},3e3),b.data&&b.data.last_edited&&a("#wp-fullscreen-save input").attr("title",b.data.last_edited)):h.show()}).fail(function(){e.hide(),h.show()}),c.val(d)},e.dfwWidth=function(b,c){var d;return b&&-1!==b.toString().indexOf("%")?(g.$editorContainer.css("width",b),g.$statusbar.css("width",b),void(g.$dfwTitle&&g.$dfwTitle.css("width",b))):b?(c?d=b:(d=g.$editorContainer.width(),d+=b),void(200>d||d>1200||(g.$editorContainer.width(d),g.$statusbar.width(d),g.$dfwTitle&&g.$dfwTitle.width(d-16),setUserSetting("dfw_width",d)))):(d=a("#wp-fullscreen-body").data("theme-width")||800,g.$editorContainer.width(d),g.$statusbar.width(d),g.$dfwTitle&&g.$dfwTitle.width(d-16),void deleteUserSetting("dfw_width"))},f.subscribe("show",function(){var b=a("#last-edit").text();b&&a("#wp-fullscreen-save input").attr("title",b)}),f.subscribe("showing",function(){m.addClass("wp-fullscreen-active"),g.$dfwWrap.addClass("wp-fullscreen-wrap"),g.$dfwTitle&&(g.$dfwTitle.after('<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()))}),n.on("keydown.wp-fullscreen",function(a){27===a.which&&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 9dde73c9699553fbf482c23909845e2b7ce037df..8e12aa3d34686ba3291f9ddb651e9a7d5c9ef364 100644 (file)
@@ -58,7 +58,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Links_Screen" target="_blank">Documentation on Managing Links</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 include_once( ABSPATH . 'wp-admin/admin-header.php' );
index f24f420d832f4ac007962e3cbb92972cbc4f490f..99e17b2d7a3ed27430fb75cc3e5420cc1418b865 100644 (file)
@@ -70,8 +70,6 @@ function startElement($parser, $tagName, $attrs) {
  *
  * @since 0.71
  * @access private
- * @package WordPress
- * @subpackage Dummy
  *
  * @param mixed $parser XML Parser resource.
  * @param string $tagName XML tag name.
index 75e655c4d4b6b7491bb235af305182699a67dda9..64ae474199d13d02b21357ba197137074850ccc9 100644 (file)
@@ -134,7 +134,7 @@ foreach( $load as $handle ) {
        }
 }
 
-header('Content-Type: text/css');
+header('Content-Type: text/css; charset=UTF-8');
 header('Expires: ' . gmdate( "D, d M Y H:i:s", time() + $expires_offset ) . ' GMT');
 header("Cache-Control: public, max-age=$expires_offset");
 
index 7691e7cd7abf474d4e3c32176ef82d74ac16fea0..361229f555aa5f290a64047f15fa3c4671480804 100644 (file)
@@ -22,7 +22,7 @@ header( 'Content-Type: text/html; charset=utf-8' );
        ?>
 </head>
 <body class="wp-core-ui">
-<h1 id="logo"><a href="<?php echo esc_url( __( 'http://wordpress.org/' ) ); ?>"><?php _e( 'WordPress' ); ?></a></h1>
+<h1 id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>"><?php _e( 'WordPress' ); ?></a></h1>
 
 <?php
 
@@ -98,7 +98,7 @@ if ( ! defined( 'WP_ALLOW_REPAIR' ) ) {
        }
 
        if ( $problems ) {
-               printf( '<p>' . __('Some database problems could not be repaired. Please copy-and-paste the following list of errors to the <a href="%s">WordPress support forums</a> to get additional assistance.') . '</p>', __( 'http://wordpress.org/support/forum/how-to-and-troubleshooting' ) );
+               printf( '<p>' . __('Some database problems could not be repaired. Please copy-and-paste the following list of errors to the <a href="%s">WordPress support forums</a> to get additional assistance.') . '</p>', __( 'https://wordpress.org/support/forum/how-to-and-troubleshooting' ) );
                $problem_output = '';
                foreach ( $problems as $table => $problem )
                        $problem_output .= "$table: $problem\n";
index 75f49f10088cb726a0435e4be60c917af0dd594d..ac96e8a118f8ba6dddc7ec795b4e3e321957f341 100644 (file)
@@ -54,7 +54,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Media_Add_New_Screen" target="_blank">Documentation on Uploading Media Files</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
index 19c4f330528eb396275755bf578a4fd3563985f9..9a6e8f90e488c9b06b17574961f2075b43dfd075 100644 (file)
@@ -38,21 +38,63 @@ if ( isset($action) && $action == 'edit' && !$ID )
                wp_die( __( 'Cheatin&#8217; uh?' ) );
 
        // upload type: image, video, file, ..?
-       if ( isset($_GET['type']) )
+       if ( isset($_GET['type']) ) {
                $type = strval($_GET['type']);
-       else
-               $type = apply_filters('media_upload_default_type', 'file');
+       } else {
+               /**
+                * Filter the default media upload type in the legacy (pre-3.5.0) media popup.
+                *
+                * @since 2.5.0
+                *
+                * @param string $type The default media upload type. Possible values include
+                *                     'image', 'audio', 'video', 'file', etc. Default 'file'.
+                */
+               $type = apply_filters( 'media_upload_default_type', 'file' );
+       }
 
        // tab: gallery, library, or type-specific
-       if ( isset($_GET['tab']) )
+       if ( isset($_GET['tab']) ) {
                $tab = strval($_GET['tab']);
-       else
-               $tab = apply_filters('media_upload_default_tab', 'type');
+       } else {
+               /**
+                * Filter the default tab in the legacy (pre-3.5.0) media popup.
+                *
+                * @since 2.5.0
+                *
+                * @param string $type The default media popup tab. Default 'type' (From Computer).
+                */
+               $tab = apply_filters( 'media_upload_default_tab', 'type' );
+       }
 
        $body_id = 'media-upload';
 
        // let the action code decide how to handle the request
-       if ( $tab == 'type' || $tab == 'type_url' || ! array_key_exists( $tab , media_upload_tabs() ) )
-               do_action("media_upload_$type");
-       else
-               do_action("media_upload_$tab");
+       if ( $tab == 'type' || $tab == 'type_url' || ! array_key_exists( $tab , media_upload_tabs() ) ) {
+               /**
+                * Fires inside specific upload-type views in the legacy (pre-3.5.0)
+                * media popup based on the current tab.
+                *
+                * The dynamic portion of the hook name, $type, refers to the specific
+                * media upload type. Possible values include 'image', 'audio', 'video',
+                * 'file', etc.
+                *
+                * The hook only fires if the current $tab is 'type' (From Computer),
+                * 'type_url' (From URL), or, if the tab does not exist (i.e., has not
+                * been registered via the 'media_upload_tabs' filter.
+                *
+                * @since 2.5.0
+                */
+               do_action( "media_upload_$type" );
+       } else {
+               /**
+                * Fires inside limited and specific upload-tab views in the legacy
+                * (pre-3.5.0) media popup.
+                *
+                * The dynamic portion of the hook name, $tab, refers to the specific
+                * media upload tab. Possible values include 'library' (Media Library),
+                * or any custom tab registered via the 'media_upload_tabs' filter.
+                *
+                * @since 2.5.0
+                */
+               do_action( "media_upload_$tab" );
+       }
index 1462f7d42af97441cb8c192d5367e3345c83d0d0..7920bef917dfa22ebb05c4d5e91096b114bdece3 100644 (file)
@@ -81,7 +81,7 @@ case 'edit' :
        get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Media_Add_New_Screen#Edit_Media" target="_blank">Documentation on Edit Media</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 
        require( ABSPATH . 'wp-admin/admin-header.php' );
index 6b775f4c08bf2f727185bf4a0477c6510b02814c..1771fb0f8ac4a3bf80daa6777cb59dd45ce5e3ed 100644 (file)
@@ -19,7 +19,17 @@ $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.
-$parent_file = apply_filters("parent_file", $parent_file); // For plugins to move submenu tabs around.
+
+/**
+ * Filter the parent file of an admin menu sub-menu item.
+ *
+ * Allows plugins to move sub-menu items around.
+ *
+ * @since MU
+ *
+ * @param string $parent_file The parent file.
+ */
+$parent_file = apply_filters( 'parent_file', $parent_file );
 
 get_admin_page_parent();
 
@@ -37,7 +47,7 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
        global $self, $parent_file, $submenu_file, $plugin_page, $typenow;
 
        $first = true;
-       // 0 = name, 1 = capability, 2 = file, 3 = class, 4 = id, 5 = icon src
+       // 0 = menu_title, 1 = capability, 2 = menu_slug, 3 = page_title, 4 = classes, 5 = hookname, 6 = icon_url
        foreach ( $menu as $key => $item ) {
                $admin_is_parent = false;
                $class = array();
@@ -67,7 +77,8 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
 
                $class = $class ? ' class="' . join( ' ', $class ) . '"' : '';
                $id = ! empty( $item[5] ) ? ' id="' . preg_replace( '|[^a-zA-Z0-9_:.]|', '-', $item[5] ) . '"' : '';
-               $img = $img_style = $img_class = '';
+               $img = $img_style = '';
+               $img_class = ' dashicons-before';
 
                // if the string 'none' (previously 'div') is passed instead of an URL, don't output the default menu image
                // so an icon can be added to div.wp-menu-image as background with CSS.
@@ -83,7 +94,7 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
                                $img_class = ' svg';
                        } elseif ( 0 === strpos( $item[6], 'dashicons-' ) ) {
                                $img = '<br />';
-                               $img_class = ' dashicons ' . sanitize_html_class( $item[6] );
+                               $img_class = ' dashicons-before ' . sanitize_html_class( $item[6] );
                        }
                }
                $arrow = '<div class="wp-menu-arrow"><div></div></div>';
@@ -195,6 +206,11 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
 <?php
 
 _wp_menu_output( $menu, $submenu );
+/**
+ * Fires after the admin menu has been output.
+ *
+ * @since 2.5.0
+ */
 do_action( 'adminmenu' );
 
 ?>
index 5a53cff25564dbf97a049ecb3f5fdcd27719115e..4008a0986d6739658a3331346aacd5bf5fea9cfd 100644 (file)
@@ -22,7 +22,7 @@
  * @var array
  */
 
-$menu[2] = array( __('Dashboard'), 'read', 'index.php', '', 'menu-top menu-top-first menu-icon-dashboard', 'menu-dashboard', 'none' );
+$menu[2] = array( __('Dashboard'), 'read', 'index.php', '', 'menu-top menu-top-first menu-icon-dashboard', 'menu-dashboard', 'dashicons-dashboard' );
 
 $submenu[ 'index.php' ][0] = array( __('Home'), 'read', 'index.php' );
 
@@ -46,7 +46,7 @@ if ( ! is_multisite() ) {
 
 $menu[4] = array( '', 'read', 'separator1', '', 'wp-menu-separator' );
 
-$menu[5] = array( __('Posts'), 'edit_posts', 'edit.php', '', 'open-if-no-js menu-top menu-icon-post', 'menu-posts', 'none' );
+$menu[5] = array( __('Posts'), 'edit_posts', 'edit.php', '', 'open-if-no-js menu-top menu-icon-post', 'menu-posts', 'dashicons-admin-post' );
        $submenu['edit.php'][5]  = array( __('All Posts'), 'edit_posts', 'edit.php' );
        /* translators: add new post */
        $submenu['edit.php'][10]  = array( _x('Add New', 'post'), get_post_type_object( 'post' )->cap->create_posts, 'post-new.php' );
@@ -60,7 +60,7 @@ $menu[5] = array( __('Posts'), 'edit_posts', 'edit.php', '', 'open-if-no-js menu
        }
        unset($tax);
 
-$menu[10] = array( __('Media'), 'upload_files', 'upload.php', '', 'menu-top menu-icon-media', 'menu-media', 'none' );
+$menu[10] = array( __('Media'), 'upload_files', 'upload.php', '', 'menu-top menu-icon-media', 'menu-media', 'dashicons-admin-media' );
        $submenu['upload.php'][5] = array( __('Library'), 'upload_files', 'upload.php');
        /* translators: add new file */
        $submenu['upload.php'][10] = array( _x('Add New', 'file'), 'upload_files', 'media-new.php');
@@ -72,13 +72,13 @@ $menu[10] = array( __('Media'), 'upload_files', 'upload.php', '', 'menu-top menu
        }
        unset($tax);
 
-$menu[15] = array( __('Links'), 'manage_links', 'link-manager.php', '', 'menu-top menu-icon-links', 'menu-links', 'none' );
+$menu[15] = array( __('Links'), 'manage_links', 'link-manager.php', '', 'menu-top menu-icon-links', 'menu-links', 'dashicons-admin-links' );
        $submenu['link-manager.php'][5] = array( _x('All Links', 'admin menu'), 'manage_links', 'link-manager.php' );
        /* translators: add new links */
        $submenu['link-manager.php'][10] = array( _x('Add New', 'link'), 'manage_links', 'link-add.php' );
        $submenu['link-manager.php'][15] = array( __('Link Categories'), 'manage_categories', 'edit-tags.php?taxonomy=link_category' );
 
-$menu[20] = array( __('Pages'), 'edit_pages', 'edit.php?post_type=page', '', 'menu-top menu-icon-page', 'menu-pages', 'none' );
+$menu[20] = array( __('Pages'), 'edit_pages', 'edit.php?post_type=page', '', 'menu-top menu-icon-page', 'menu-pages', 'dashicons-admin-page' );
        $submenu['edit.php?post_type=page'][5] = array( __('All Pages'), 'edit_pages', 'edit.php?post_type=page' );
        /* translators: add new page */
        $submenu['edit.php?post_type=page'][10] = array( _x('Add New', 'page'), get_post_type_object( 'page' )->cap->create_posts, 'post-new.php?post_type=page' );
@@ -93,7 +93,7 @@ $menu[20] = array( __('Pages'), 'edit_pages', 'edit.php?post_type=page', '', 'me
 
 $awaiting_mod = wp_count_comments();
 $awaiting_mod = $awaiting_mod->moderated;
-$menu[25] = array( sprintf( __('Comments %s'), "<span class='awaiting-mod count-$awaiting_mod'><span class='pending-count'>" . number_format_i18n($awaiting_mod) . "</span></span>" ), 'edit_posts', 'edit-comments.php', '', 'menu-top menu-icon-comments', 'menu-comments', 'none' );
+$menu[25] = array( sprintf( __('Comments %s'), "<span class='awaiting-mod count-$awaiting_mod'><span class='pending-count'>" . number_format_i18n($awaiting_mod) . "</span></span>" ), 'edit_posts', 'edit-comments.php', '', 'menu-top menu-icon-comments', 'menu-comments', 'dashicons-admin-comments' );
 unset($awaiting_mod);
 
 $submenu[ 'edit-comments.php' ][0] = array( __('All Comments'), 'edit_posts', 'edit-comments.php' );
@@ -117,7 +117,7 @@ foreach ( (array) get_post_types( array('show_ui' => true, '_builtin' => false,
                }
                $ptype_class = $ptype_for_id;
        } else {
-               $menu_icon   = 'none';
+               $menu_icon   = 'dashicons-admin-post';
                $ptype_class = 'post';
        }
 
@@ -144,7 +144,7 @@ $menu[59] = array( '', 'read', 'separator2', '', 'wp-menu-separator' );
 
 $appearance_cap = current_user_can( 'switch_themes') ? 'switch_themes' : 'edit_theme_options';
 
-$menu[60] = array( __('Appearance'), $appearance_cap, 'themes.php', '', 'menu-top menu-icon-appearance', 'menu-appearance', 'div' );
+$menu[60] = array( __('Appearance'), $appearance_cap, 'themes.php', '', 'menu-top menu-icon-appearance', 'menu-appearance', 'dashicons-admin-appearance' );
        $submenu['themes.php'][5] = array( __( 'Themes' ), $appearance_cap, 'themes.php' );
        $submenu['themes.php'][6] = array( __( 'Customize' ), 'edit_theme_options', 'customize.php', 'hide-if-no-customize' );
        if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) )
@@ -167,7 +167,7 @@ if ( ! is_multisite() && current_user_can( 'update_plugins' ) ) {
        $count = "<span class='update-plugins count-{$update_data['counts']['plugins']}'><span class='plugin-count'>" . number_format_i18n($update_data['counts']['plugins']) . "</span></span>";
 }
 
-$menu[65] = array( sprintf( __('Plugins %s'), $count ), 'activate_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'none' );
+$menu[65] = array( sprintf( __('Plugins %s'), $count ), 'activate_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'dashicons-admin-plugins' );
 
 $submenu['plugins.php'][5]  = array( __('Installed Plugins'), 'activate_plugins', 'plugins.php' );
 
@@ -180,9 +180,9 @@ $submenu['plugins.php'][5]  = array( __('Installed Plugins'), 'activate_plugins'
 unset( $update_data );
 
 if ( current_user_can('list_users') )
-       $menu[70] = array( __('Users'), 'list_users', 'users.php', '', 'menu-top menu-icon-users', 'menu-users', 'none' );
+       $menu[70] = array( __('Users'), 'list_users', 'users.php', '', 'menu-top menu-icon-users', 'menu-users', 'dashicons-admin-users' );
 else
-       $menu[70] = array( __('Profile'), 'read', 'profile.php', '', 'menu-top menu-icon-users', 'menu-users', 'none' );
+       $menu[70] = array( __('Profile'), 'read', 'profile.php', '', 'menu-top menu-icon-users', 'menu-users', 'dashicons-admin-users' );
 
 if ( current_user_can('list_users') ) {
        $_wp_real_parent_file['profile.php'] = 'users.php'; // Back-compat for plugins adding submenus to profile.php.
@@ -202,7 +202,7 @@ if ( current_user_can('list_users') ) {
                $submenu['profile.php'][10] = array(__('Add New User'), 'promote_users', 'user-new.php');
 }
 
-$menu[75] = array( __('Tools'), 'edit_posts', 'tools.php', '', 'menu-top menu-icon-tools', 'menu-tools', 'none' );
+$menu[75] = array( __('Tools'), 'edit_posts', 'tools.php', '', 'menu-top menu-icon-tools', 'menu-tools', 'dashicons-admin-tools' );
        $submenu['tools.php'][5] = array( __('Available Tools'), 'edit_posts', 'tools.php' );
        $submenu['tools.php'][10] = array( __('Import'), 'import', 'import.php' );
        $submenu['tools.php'][15] = array( __('Export'), 'export', 'export.php' );
@@ -211,7 +211,7 @@ $menu[75] = array( __('Tools'), 'edit_posts', 'tools.php', '', 'menu-top menu-ic
        if ( ! is_multisite() && defined('WP_ALLOW_MULTISITE') && WP_ALLOW_MULTISITE )
                $submenu['tools.php'][50] = array(__('Network Setup'), 'manage_options', 'network.php');
 
-$menu[80] = array( __('Settings'), 'manage_options', 'options-general.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'none' );
+$menu[80] = array( __('Settings'), 'manage_options', 'options-general.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'dashicons-admin-settings' );
        $submenu['options-general.php'][10] = array(_x('General', 'settings screen'), 'manage_options', 'options-general.php');
        $submenu['options-general.php'][15] = array(__('Writing'), 'manage_options', 'options-writing.php');
        $submenu['options-general.php'][20] = array(__('Reading'), 'manage_options', 'options-reading.php');
index c94089def8ba8deeadc6fe720d1c6d93e4785943..00143089e2c584958e4759f8dd9f6efcd99e3536 100644 (file)
@@ -68,7 +68,7 @@ Webmaster
        $content = str_replace( '###URL_DELETE###', $url_delete, $content );
        $content = str_replace( '###SITE_NAME###', $current_site->site_name, $content );
 
-       wp_mail( get_option( 'admin_email' ), "[ " . get_option( 'blogname' ) . " ] ".__( 'Delete My Site' ), $content );
+       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>
index f882964afc5b80b6771225b86d5bfefd6a708698..feed16aee654cc933f9e4093fe78465f2fcdff85 100644 (file)
@@ -46,7 +46,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Dashboard_My_Sites_Screen" target="_blank">Documentation on My Sites</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
@@ -91,7 +91,7 @@ else :
         */
        $settings_html = apply_filters( 'myblogs_options', '', 'global' );
        if ( $settings_html != '' ) {
-               echo '<tr><td valign="top"><h3>' . __( 'Global Settings' ) . '</h3></td><td>';
+               echo '<tr><td><h3>' . __( 'Global Settings' ) . '</h3></td><td>';
                echo $settings_html;
                echo '</td></tr>';
        }
@@ -116,7 +116,7 @@ else :
                $i = 0;
                foreach ( $row as $user_blog ) {
                        $s = $i == 3 ? '' : 'border-right: 1px solid #ccc;';
-                       echo "<td valign='top' style='$s'>";
+                       echo "<td style='$s'>";
                        echo "<h3>{$user_blog->blogname}</h3>";
                        /**
                         * Filter the row links displayed for each site on the My Sites screen.
index b59f61b3f056377fb3f1ba51bb7fcd768b35595d..77a4057a7521c67e6c32026beb409d79f65084f1 100644 (file)
@@ -526,7 +526,7 @@ endif;
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Appearance_Menus_Screen" target="_blank">Documentation on Menus</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 // Get the admin header
@@ -550,7 +550,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
        ?>
        <div id="menu-locations-wrap">
                <form method="post" action="<?php echo esc_url( add_query_arg( array( 'action' => 'locations' ), admin_url( 'nav-menus.php' ) ) ); ?>">
-                       <table class="widefat fixed" cellspacing="0" id="menu-locations-table">
+                       <table class="widefat fixed" id="menu-locations-table">
                                <thead>
                                <tr>
                                        <th scope="col" class="manage-column column-locations"><?php _e( 'Theme Location' ); ?></th>
@@ -656,7 +656,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
                                        </option>
                                <?php endforeach; ?>
                        </select>
-                       <span class="submit-btn"><input type="submit" class="button-secondary" value="<?php _e( 'Select' ); ?>"></span>
+                       <span class="submit-btn"><input type="submit" class="button-secondary" value="<?php esc_attr_e( 'Select' ); ?>"></span>
                        <span class="add-new-menu-action">
                                <?php printf( __( 'or <a href="%s">create a new menu</a>.' ), esc_url( add_query_arg( array( 'action' => 'edit', 'menu' => 0 ), admin_url( 'nav-menus.php' ) ) ) ); ?>
                        </span><!-- /add-new-menu-action -->
index fe7effe00153664611d3f6d20054f06c5b979e64..c7b115f6fa9d2a879e9383e414807d1a84a82936 100644 (file)
@@ -130,7 +130,7 @@ get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Create_A_Network" target="_blank">Documentation on Creating a Network</a>') . '</p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Tools_Network_Screen" target="_blank">Documentation on the Network Screen</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 include( ABSPATH . 'wp-admin/admin-header.php' );
@@ -329,9 +329,11 @@ function network_step2( $errors = false ) {
        $rewrite_base      = ! empty( $wp_siteurl_subdir ) ? ltrim( trailingslashit( $wp_siteurl_subdir ), '/' ) : '';
 
 
-       $location_of_wp_config = ABSPATH;
-       if ( ! file_exists( ABSPATH . 'wp-config.php' ) && file_exists( dirname( ABSPATH ) . '/wp-config.php' ) )
-               $location_of_wp_config = trailingslashit( dirname( ABSPATH ) );
+       $location_of_wp_config = $abspath_fix;
+       if ( ! file_exists( ABSPATH . 'wp-config.php' ) && file_exists( dirname( ABSPATH ) . '/wp-config.php' ) ) {
+               $location_of_wp_config = dirname( $abspath_fix );
+       }
+       $location_of_wp_config = trailingslashit( $location_of_wp_config );
 
        // Wildcard DNS message.
        if ( is_wp_error( $errors ) )
@@ -467,9 +469,11 @@ define('BLOG_ID_CURRENT_SITE', 1);</textarea>
     </system.webServer>
 </configuration>';
 
-       ?>
-               <li><p><?php printf( __( 'Add the following to your <code>web.config</code> file in <code>%s</code>, replacing other WordPress rules:' ), $home_path ); ?></p>
-               <?php
+               echo '<li><p>';
+               /* translators: 1: a filename like .htaccess. 2: a file path. */
+               printf( __( 'Add the following to your %1$s file in %2$s, <strong>replacing</strong> other WordPress rules:' ),
+                       '<code>web.config</code>', '<code>' . $home_path . '</code>' );
+               echo '</p>';
                if ( ! $subdomain_install && WP_CONTENT_DIR != ABSPATH . 'wp-content' )
                        echo '<p><strong>' . __('Warning:') . ' ' . __( 'Subdirectory networks may not be fully compatible with custom wp-content directories.' ) . '</strong></p>';
                ?>
@@ -501,9 +505,11 @@ RewriteRule ^{$subdir_match}(.*\.php)$ {$rewrite_base}$subdir_replacement_12 [L]
 RewriteRule . index.php [L]
 EOF;
 
-               ?>
-               <li><p><?php printf( __( 'Add the following to your <code>.htaccess</code> file in <code>%s</code>, replacing other WordPress rules:' ), $home_path ); ?></p>
-               <?php
+               echo '<li><p>';
+               /* translators: 1: a filename like .htaccess. 2: a file path. */
+               printf( __( 'Add the following to your %1$s file in %2$s, <strong>replacing</strong> other WordPress rules:' ),
+                       '<code>.htaccess</code>', '<code>' . $home_path . '</code>' );
+               echo '</p>';
                if ( ! $subdomain_install && WP_CONTENT_DIR != ABSPATH . 'wp-content' )
                        echo '<p><strong>' . __('Warning:') . ' ' . __( 'Subdirectory networks may not be fully compatible with custom wp-content directories.' ) . '</strong></p>';
                ?>
index 01e6ea70c987e75390d28ad671bf6bcc4ad9d661..ad760f3e21a97a5df028c971db267762e735bc03 100644 (file)
@@ -15,7 +15,15 @@ require_once( dirname( dirname( __FILE__ ) ) . '/admin.php' );
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-$redirect_network_admin_request = ( ( $current_blog->domain != $current_site->domain ) || ( $current_blog->path != $current_site->path ) );
+$redirect_network_admin_request = 0 !== strcasecmp( $current_blog->domain, $current_site->domain ) || 0 !== strcasecmp( $current_blog->path, $current_site->path );
+
+/**
+ * Filter whether to redirect the request to the Network Admin.
+ *
+ * @since 3.2.0
+ *
+ * @param bool $redirect_network_admin_request Whether the request should be redirected.
+ */
 $redirect_network_admin_request = apply_filters( 'redirect_network_admin_request', $redirect_network_admin_request );
 if ( $redirect_network_admin_request ) {
        wp_redirect( network_admin_url() );
index dbf71f702b9736e86fcb68eb00f606f664a79690..bd6437e7f001b2109c6fac8f7a5f0f6fb3394e36 100644 (file)
@@ -51,7 +51,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin" target="_blank">Documentation on the Network Admin</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 wp_dashboard_setup();
index 31d9b7204ca4d783c2e0f794e1aeb386b5e08db5..57fe9e03a4e585228f05641344ddb6f70bacdd44 100644 (file)
@@ -8,49 +8,49 @@
  */
 
 /* translators: Network menu item */
-$menu[2] = array(__('Dashboard'), 'manage_network', 'index.php', '', 'menu-top menu-top-first menu-icon-dashboard', 'menu-dashboard', 'div');
+$menu[2] = array(__('Dashboard'), 'manage_network', 'index.php', '', 'menu-top menu-top-first menu-icon-dashboard', 'menu-dashboard', 'dashicons-dashboard');
 
 $menu[4] = array( '', 'read', 'separator1', '', 'wp-menu-separator' );
 
 /* translators: Sites menu item */
-$menu[5] = array(__('Sites'), 'manage_sites', 'sites.php', '', 'menu-top menu-icon-site', 'menu-site', 'div');
+$menu[5] = array(__('Sites'), 'manage_sites', 'sites.php', '', 'menu-top menu-icon-site', 'menu-site', 'dashicons-admin-network');
 $submenu['sites.php'][5]  = array( __('All Sites'), 'manage_sites', 'sites.php' );
 $submenu['sites.php'][10]  = array( _x('Add New', 'site'), 'create_sites', 'site-new.php' );
 
-$menu[10] = array(__('Users'), 'manage_network_users', 'users.php', '', 'menu-top menu-icon-users', 'menu-users', 'div');
+$menu[10] = array(__('Users'), 'manage_network_users', 'users.php', '', 'menu-top menu-icon-users', 'menu-users', 'dashicons-admin-users');
 $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 ( $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', 'div' );
+       $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 {
-       $menu[15] = array( __( 'Themes' ), 'manage_network_themes', 'themes.php', '', 'menu-top menu-icon-appearance', 'menu-appearance', 'div' );
+       $menu[15] = array( __( 'Themes' ), 'manage_network_themes', 'themes.php', '', 'menu-top menu-icon-appearance', 'menu-appearance', 'dashicons-admin-appearance' );
 }
 $submenu['themes.php'][5]  = array( __('Installed Themes'), 'manage_network_themes', 'themes.php' );
 $submenu['themes.php'][10] = array( _x('Add New', 'theme'), 'install_themes', 'theme-install.php' );
 $submenu['themes.php'][15] = array( _x('Editor', 'theme editor'), 'edit_themes', 'theme-editor.php' );
 
 if ( current_user_can( 'update_plugins' ) ) {
-       $menu[20] = array( sprintf( __( 'Plugins %s' ), "<span class='update-plugins count-{$update_data['counts']['plugins']}'><span class='plugin-count'>" . number_format_i18n( $update_data['counts']['plugins'] ) . "</span></span>" ), 'manage_network_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'div');
+       $menu[20] = array( sprintf( __( 'Plugins %s' ), "<span class='update-plugins count-{$update_data['counts']['plugins']}'><span class='plugin-count'>" . number_format_i18n( $update_data['counts']['plugins'] ) . "</span></span>" ), 'manage_network_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'dashicons-admin-plugins');
 } else {
-       $menu[20] = array( __('Plugins'), 'manage_network_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'div' );
+       $menu[20] = array( __('Plugins'), 'manage_network_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'dashicons-admin-plugins' );
 }
 $submenu['plugins.php'][5]  = array( __('Installed Plugins'), 'manage_network_plugins', 'plugins.php' );
 $submenu['plugins.php'][10] = array( _x('Add New', 'plugin'), 'install_plugins', 'plugin-install.php' );
 $submenu['plugins.php'][15] = array( _x('Editor', 'plugin editor'), 'edit_plugins', 'plugin-editor.php' );
 
-$menu[25] = array(__('Settings'), 'manage_network_options', 'settings.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'div');
+$menu[25] = array(__('Settings'), 'manage_network_options', 'settings.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'dashicons-admin-settings');
 if ( defined( 'MULTISITE' ) && defined( 'WP_ALLOW_MULTISITE' ) && WP_ALLOW_MULTISITE ) {
        $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', 'div' );
+       $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', 'div' );
+       $menu[30] = array( __( 'Updates' ), 'manage_network', 'upgrade.php', '', 'menu-top menu-icon-tools', 'menu-update', 'dashicons-admin-tools' );
 }
 
 unset($update_data);
@@ -58,6 +58,6 @@ 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( '', 'read', 'separator-last', '', 'wp-menu-separator-last' );
+$menu[99] = array( '', 'exist', 'separator-last', '', 'wp-menu-separator' );
 
 require_once(ABSPATH . 'wp-admin/includes/menu.php');
index 8fe2ad90787ffeb658a48946fc84af4804f9338a..3497ddb007a76c63f7de61f84b5a5331d08f3079 100644 (file)
@@ -35,7 +35,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Settings_Screen" target="_blank">Documentation on Network Settings</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 if ( $_POST ) {
@@ -89,14 +89,14 @@ if ( isset( $_GET['updated'] ) ) {
                <?php wp_nonce_field( 'siteoptions' ); ?>
                <h3><?php _e( 'Operational Settings' ); ?></h3>
                <table class="form-table">
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><label for="site_name"><?php _e( 'Network Title' ) ?></label></th>
                                <td>
                                        <input name="site_name" type="text" id="site_name" class="regular-text" value="<?php echo esc_attr( $current_site->site_name ) ?>" />
                                </td>
                        </tr>
 
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><label for="admin_email"><?php _e( 'Network Admin Email' ) ?></label></th>
                                <td>
                                        <input name="admin_email" type="text" id="admin_email" class="regular-text" value="<?php echo esc_attr( get_site_option('admin_email') ) ?>" />
@@ -108,7 +108,7 @@ if ( isset( $_GET['updated'] ) ) {
                </table>
                <h3><?php _e( 'Registration Settings' ); ?></h3>
                <table class="form-table">
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><?php _e( 'Allow new registrations' ) ?></th>
                                <?php
                                if ( !get_site_option( 'registration' ) )
@@ -128,7 +128,7 @@ if ( isset( $_GET['updated'] ) ) {
                                </td>
                        </tr>
 
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><?php _e( 'Registration notification' ) ?></th>
                                <?php
                                if ( !get_site_option( 'registrationnotification' ) )
@@ -139,14 +139,14 @@ if ( isset( $_GET['updated'] ) ) {
                                </td>
                        </tr>
 
-                       <tr valign="top" id="addnewusers">
+                       <tr id="addnewusers">
                                <th scope="row"><?php _e( 'Add New Users' ) ?></th>
                                <td>
                                        <label><input name="add_new_users" type="checkbox" id="add_new_users" value="1"<?php checked( get_site_option( 'add_new_users' ) ) ?> /> <?php _e( 'Allow site administrators to add new users to their site via the "Users &rarr; Add New" page.' ); ?></label>
                                </td>
                        </tr>
 
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><label for="illegal_names"><?php _e( 'Banned Names' ) ?></label></th>
                                <td>
                                        <input name="illegal_names" type="text" id="illegal_names" class="large-text" value="<?php echo esc_attr( implode( " ", (array) get_site_option( 'illegal_names' ) ) ); ?>" size="45" />
@@ -156,7 +156,7 @@ if ( isset( $_GET['updated'] ) ) {
                                </td>
                        </tr>
 
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><label for="limited_email_domains"><?php _e( 'Limited Email Registrations' ) ?></label></th>
                                <td>
                                        <?php $limited_email_domains = get_site_option( 'limited_email_domains' );
@@ -169,7 +169,7 @@ if ( isset( $_GET['updated'] ) ) {
                                </td>
                        </tr>
 
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><label for="banned_email_domains"><?php _e('Banned Email Domains') ?></label></th>
                                <td>
                                        <textarea name="banned_email_domains" id="banned_email_domains" cols="45" rows="5">
@@ -184,7 +184,7 @@ if ( isset( $_GET['updated'] ) ) {
                <h3><?php _e('New Site Settings'); ?></h3>
                <table class="form-table">
 
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><label for="welcome_email"><?php _e( 'Welcome Email' ) ?></label></th>
                                <td>
                                        <textarea name="welcome_email" id="welcome_email" rows="5" cols="45" class="large-text">
@@ -194,7 +194,7 @@ if ( isset( $_GET['updated'] ) ) {
                                        </p>
                                </td>
                        </tr>
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><label for="welcome_user_email"><?php _e( 'Welcome User Email' ) ?></label></th>
                                <td>
                                        <textarea name="welcome_user_email" id="welcome_user_email" rows="5" cols="45" class="large-text">
@@ -204,7 +204,7 @@ if ( isset( $_GET['updated'] ) ) {
                                        </p>
                                </td>
                        </tr>
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><label for="first_post"><?php _e( 'First Post' ) ?></label></th>
                                <td>
                                        <textarea name="first_post" id="first_post" rows="5" cols="45" class="large-text">
@@ -214,7 +214,7 @@ if ( isset( $_GET['updated'] ) ) {
                                        </p>
                                </td>
                        </tr>
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><label for="first_page"><?php _e( 'First Page' ) ?></label></th>
                                <td>
                                        <textarea name="first_page" id="first_page" rows="5" cols="45" class="large-text">
@@ -224,7 +224,7 @@ if ( isset( $_GET['updated'] ) ) {
                                        </p>
                                </td>
                        </tr>
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><label for="first_comment"><?php _e( 'First Comment' ) ?></label></th>
                                <td>
                                        <textarea name="first_comment" id="first_comment" rows="5" cols="45" class="large-text">
@@ -234,7 +234,7 @@ if ( isset( $_GET['updated'] ) ) {
                                        </p>    
                                </td>
                        </tr>
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><label for="first_comment_author"><?php _e( 'First Comment Author' ) ?></label></th>
                                <td>
                                        <input type="text" size="40" name="first_comment_author" id="first_comment_author" value="<?php echo get_site_option('first_comment_author') ?>" />
@@ -243,7 +243,7 @@ if ( isset( $_GET['updated'] ) ) {
                                        </p>
                                </td>
                        </tr>
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><label for="first_comment_url"><?php _e( 'First Comment URL' ) ?></label></th>
                                <td>
                                        <input type="text" size="40" name="first_comment_url" id="first_comment_url" value="<?php echo esc_attr( get_site_option( 'first_comment_url' ) ) ?>" />
@@ -255,19 +255,19 @@ if ( isset( $_GET['updated'] ) ) {
                </table>
                <h3><?php _e( 'Upload Settings' ); ?></h3>
                <table class="form-table">
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><?php _e( 'Site upload space' ) ?></th>
                                <td>
                                <label><input type="checkbox" id="upload_space_check_disabled" name="upload_space_check_disabled" value="0"<?php checked( get_site_option( 'upload_space_check_disabled' ), 0 ) ?>/> <?php printf( __( 'Limit total size of files uploaded to %s MB' ), '</label><label><input name="blog_upload_space" type="number" min="0" style="width: 100px" id="blog_upload_space" value="' . esc_attr( get_site_option('blog_upload_space', 100) ) . '" />' ); ?></label><br />
                                </td>
                        </tr>
 
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><label for="upload_filetypes"><?php _e( 'Upload file types' ) ?></label></th>
                                <td><input name="upload_filetypes" type="text" id="upload_filetypes" class="large-text" value="<?php echo esc_attr( get_site_option('upload_filetypes', 'jpg jpeg png gif') ) ?>" size="45" /></td>
                        </tr>
 
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><label for="fileupload_maxk"><?php _e( 'Max upload file size' ) ?></label></th>
                                <td><?php printf( _x( '%s KB', 'File size in kilobytes' ), '<input name="fileupload_maxk" type="number" min="0" style="width: 100px" id="fileupload_maxk" value="' . esc_attr( get_site_option( 'fileupload_maxk', 300 ) ) . '" />' ); ?></td>
                        </tr>
@@ -280,7 +280,7 @@ if ( isset( $_GET['updated'] ) ) {
 ?>
                <h3><?php _e( 'Language Settings' ); ?></h3>
                <table class="form-table">
-                               <tr valign="top">
+                               <tr>
                                        <th><label for="WPLANG"><?php _e( 'Default Language' ); ?></label></th>
                                        <td>
                                                <select name="WPLANG" id="WPLANG">
@@ -295,7 +295,7 @@ if ( isset( $_GET['updated'] ) ) {
 
                <h3><?php _e( 'Menu Settings' ); ?></h3>
                <table id="menu" class="form-table">
-                       <tr valign="top">
+                       <tr>
                                <th scope="row"><?php _e( 'Enable administration menus' ); ?></th>
                                <td>
                        <?php
index 6607b8fe1cca95e08db9a4ca314ec45773b1d774..1034af14787c5bdfa04aade729d521d9eb8430f9 100644 (file)
@@ -30,7 +30,7 @@ if ( ! current_user_can( 'manage_sites' ) )
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</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;
index 672d7e869ef415e885eed9ffc911eb13921eb4b0..6a6cac993f1ac87b20bc6691a87e1909d6c56142 100644 (file)
@@ -27,7 +27,7 @@ if ( ! current_user_can( 'manage_sites' ) )
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 if ( isset($_REQUEST['action']) && 'add-site' == $_REQUEST['action'] ) {
@@ -106,6 +106,8 @@ if ( isset($_GET['update']) ) {
 $title = __('Add New Site');
 $parent_file = 'sites.php';
 
+wp_enqueue_script( 'user-suggest' );
+
 require( ABSPATH . 'wp-admin/admin-header.php' );
 
 ?>
@@ -138,7 +140,7 @@ if ( ! empty( $messages ) ) {
                </tr>
                <tr class="form-field form-required">
                        <th scope="row"><?php _e( 'Admin Email' ) ?></th>
-                       <td><input name="blog[email]" type="text" class="regular-text" title="<?php esc_attr_e( 'Email' ) ?>"/></td>
+                       <td><input name="blog[email]" type="text" class="regular-text wp-suggest-user" data-autocomplete-type="search" data-autocomplete-field="user_email" title="<?php esc_attr_e( 'Email' ) ?>"/></td>
                </tr>
                <tr class="form-field">
                        <td colspan="2"><?php _e( 'A new user will be created if the above email address is not in the database.' ) ?><br /><?php _e( 'The username and password will be mailed to this email address.' ) ?></td>
index 5e1ffdd9e534a782daf124a4086eae7008eb116c..aeca875e50634686ebfe4357a86254841737fa80 100644 (file)
@@ -30,7 +30,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</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;
index 646eb08a285057249d1799b38196e3d573abcd83..687e8c03a92dc8169936b696a3f389c6f41b655b 100644 (file)
@@ -30,7 +30,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 $wp_list_table = _get_list_table('WP_MS_Themes_List_Table');
@@ -44,6 +44,10 @@ $temp_args = array( 'enabled', 'disabled', 'error' );
 $_SERVER['REQUEST_URI'] = remove_query_arg( $temp_args, $_SERVER['REQUEST_URI'] );
 $referer = remove_query_arg( $temp_args, wp_get_referer() );
 
+if ( ! empty( $_REQUEST['paged'] ) ) {
+       $referer = add_query_arg( 'paged', (int) $_REQUEST['paged'], $referer );
+}
+
 $id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0;
 
 if ( ! $id )
index 88476068064a08d975929a2306797091ad2ded60..4e2c6c9d92e6c6ae7ff9cc1a033764951c1a6065 100644 (file)
@@ -33,12 +33,16 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 $_SERVER['REQUEST_URI'] = remove_query_arg( 'update', $_SERVER['REQUEST_URI'] );
 $referer = remove_query_arg( 'update', wp_get_referer() );
 
+if ( ! empty( $_REQUEST['paged'] ) ) {
+       $referer = add_query_arg( 'paged', (int) $_REQUEST['paged'], $referer );
+}
+
 $id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0;
 
 if ( ! $id )
@@ -52,10 +56,6 @@ $is_main_site = is_main_site( $id );
 
 switch_to_blog( $id );
 
-$editblog_roles = $wp_roles->roles;
-
-$default_role = get_option( 'default_role' );
-
 $action = $wp_list_table->current_action();
 
 if ( $action ) {
@@ -270,13 +270,7 @@ if ( current_user_can( 'promote_users' ) && apply_filters( 'show_network_site_us
                <tr>
                        <th scope="row"><?php _e( 'Role' ); ?></th>
                        <td><select name="new_role" id="new_role_0">
-                       <?php
-                       reset( $editblog_roles );
-                       foreach ( $editblog_roles as $role => $role_assoc ) {
-                               $name = translate_user_role( $role_assoc['name'] );
-                               echo '<option ' . selected( $default_role, $role, false ) . ' value="' . esc_attr( $role ) . '">' . esc_html( $name ) . '</option>';
-                       }
-                       ?>
+                       <?php wp_dropdown_roles( get_option( 'default_role' ) ); ?>
                        </select></td>
                </tr>
        </table>
@@ -309,13 +303,7 @@ if ( current_user_can( 'create_users' ) && apply_filters( 'show_network_site_use
                <tr>
                        <th scope="row"><?php _e( 'Role' ); ?></th>
                        <td><select name="new_role" id="new_role_0">
-                       <?php
-                       reset( $editblog_roles );
-                       foreach ( $editblog_roles as $role => $role_assoc ) {
-                               $name = translate_user_role( $role_assoc['name'] );
-                               echo '<option ' . selected( $default_role, $role, false ) . ' value="' . esc_attr( $role ) . '">' . esc_html( $name ) . '</option>';
-                       }
-                       ?>
+                       <?php wp_dropdown_roles( get_option( 'default_role' ) ); ?>
                        </select></td>
                </tr>
                <tr class="form-field">
index 5eae37eb9c165acd71009cf5ad39861da56bf0b6..4dddfcfda312e66632e3fb1b50e265fbadda578e 100644 (file)
@@ -43,7 +43,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</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;
@@ -59,34 +59,26 @@ if ( isset( $_GET['action'] ) ) {
                        nocache_headers();
                        header( 'Content-Type: text/html; charset=utf-8' );
                }
-               if ( $current_site->blog_id == $id )
+
+               if ( $current_site->blog_id == $id ) {
                        wp_die( __( 'You are not allowed to change the current site.' ) );
+               }
+
+               require_once( ABSPATH . 'wp-admin/admin-header.php' );
                ?>
-               <!DOCTYPE html>
-               <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
-                       <head>
-                               <meta name="viewport" content="width=device-width" />
-                               <title><?php _e( 'WordPress &rsaquo; Confirm your action' ); ?></title>
-
-                               <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-                               <?php
-                               wp_admin_css( 'install', true );
-                               wp_admin_css( 'ie', true );
-                               ?>
-                       </head>
-                       <body class="wp-core-ui">
-                               <h1 id="logo"><a href="<?php echo esc_url( __( 'http://wordpress.org/' ) ); ?>"><?php _e( 'WordPress' ); ?></a></h1>
+                       <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'] ) ?>" />
                                        <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 submit_button( __('Confirm'), 'button' ); ?>
+                                       <?php submit_button( __( 'Confirm' ), 'button' ); ?>
                                </form>
-                       </body>
-               </html>
+                       </div>
                <?php
+               require_once( ABSPATH . 'wp-admin/admin-footer.php' );
                exit();
        }
 
@@ -152,10 +144,25 @@ if ( isset( $_GET['action'] ) ) {
 
                case 'activateblog':
                        update_blog_status( $id, 'deleted', '0' );
+
+                       /**
+                        * Fires after a network site is activated.
+                        *
+                        * @since MU
+                        *
+                        * @param string $id The ID of the activated site.
+                        */
                        do_action( 'activate_blog', $id );
                break;
 
                case 'deactivateblog':
+                       /**
+                        * Fires before a network site is deactivated.
+                        *
+                        * @since MU
+                        *
+                        * @param string $id The ID of the site being deactivated.
+                        */
                        do_action( 'deactivate_blog', $id );
                        update_blog_status( $id, 'deleted', '1' );
                break;
@@ -217,6 +224,16 @@ if ( isset( $_GET['updated'] ) ) {
                        $msg = __( 'Site marked as spam.' );
                break;
                default:
+                       /**
+                        * Filter a specific, non-default site-updated message in the Network admin.
+                        *
+                        * The dynamic portion of the hook name, $_GET['updated'], refers to the non-default
+                        * site update action.
+                        *
+                        * @since 3.1.0
+                        *
+                        * @param string $msg The update message. Default 'Settings saved'.
+                        */
                        $msg = apply_filters( 'network_sites_updated_message_' . $_GET['updated'], __( 'Settings saved.' ) );
                break;
        }
index aada6edb705c9d2dada79f0fd8f2866a933056f6..230463f328f5ce591d762ee67abb16dc6099d098 100644 (file)
@@ -212,7 +212,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Themes_Screen" target="_blank">Documentation on Network Themes</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 $title = __('Themes');
index 8fdcf37e9f85fb737413a984e0ae6b303b879d4c..15a5b74a980b0401bb3217997205c56236c16dc9 100644 (file)
@@ -30,7 +30,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Updates_Screen" target="_blank">Documentation on Upgrade Network</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
@@ -67,7 +67,21 @@ switch ( $action ) {
                        $response = wp_remote_get( $upgrade_url, array( 'timeout' => 120, 'httpversion' => '1.1' ) );
                        if ( is_wp_error( $response ) )
                                wp_die( sprintf( __( 'Warning! Problem updating %1$s. Your server may not be able to connect to sites running on it. Error message: <em>%2$s</em>' ), $siteurl, $response->get_error_message() ) );
+                       /**
+                        * Fires after the Multisite DB upgrade for each site is complete.
+                        *
+                        * @since MU
+                        *
+                        * @param array|WP_Error $response The upgrade response array or WP_Error on failure.
+                        */
                        do_action( 'after_mu_upgrade', $response );
+                       /**
+                        * Fires after each site has been upgraded.
+                        *
+                        * @since MU
+                        *
+                        * @param int $blog_id The id of the blog.
+                        */
                        do_action( 'wpmu_upgrade_site', $details[ 'blog_id' ] );
                }
                echo "</ul>";
@@ -92,6 +106,11 @@ switch ( $action ) {
                <p><?php _e( 'The database upgrade process may take a little while, so please be patient.' ); ?></p>
                <p><a class="button" href="upgrade.php?action=upgrade"><?php _e( 'Upgrade Network' ); ?></a></p>
                <?php
+               /**
+                * Fires before the footer on the network upgrade screen.
+                *
+                * @since MU
+                */
                do_action( 'wpmu_upgrade_page' );
        break;
 }
index 04ef34a0a44ff3b7e9f467f7654f786442f6ac9d..29fd63dab5876c1275468208a7b5822328fd06d3 100644 (file)
@@ -27,7 +27,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Users_Screen" target="_blank">Documentation on Network Users</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 if ( isset($_REQUEST['action']) && 'add-user' == $_REQUEST['action'] ) {
index fd50b21823a08afa2845dcea2c305430acc25c6e..9694b6d164c5037dae59a047d16fd9f0049267e9 100644 (file)
@@ -22,7 +22,7 @@ function confirm_delete_users( $users ) {
                return false;
        ?>
        <h2><?php esc_html_e( 'Users' ); ?></h2>
-       <p><?php _e( 'Transfer or delete posts before deleting users.' ); ?></p>
+       <p><?php _e( 'Transfer or delete content before deleting users.' ); ?></p>
        <form action="users.php?action=dodelete" method="post">
        <input type="hidden" name="dodelete" />
        <?php
@@ -45,7 +45,7 @@ function confirm_delete_users( $users ) {
 
                        if ( !empty( $blogs ) ) {
                                ?>
-                               <br /><fieldset><p><legend><?php printf( __( "What should be done with posts owned by <em>%s</em>?" ), $delete_user->user_login ); ?></legend></p>
+                               <br /><fieldset><p><legend><?php printf( __( "What should be done with content owned by %s?" ), '<em>' . $delete_user->user_login . '</em>' ); ?></legend></p>
                                <?php
                                foreach ( (array) $blogs as $key => $details ) {
                                        $blog_users = get_users( array( 'blog_id' => $details->userblog_id, 'fields' => array( 'ID', 'user_login' ) ) );
@@ -65,9 +65,9 @@ function confirm_delete_users( $users ) {
                                                <ul style="list-style:none;">
                                                        <li><?php printf( __( 'Site: %s' ), $user_site ); ?></li>
                                                        <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 posts.' ); ?></label></li>
+                                                       <?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 posts to:' ) . '</label>' . $user_dropdown; ?></li>
+                                                       <?php echo __( 'Attribute all content to:' ) . '</label>' . $user_dropdown; ?></li>
                                                </ul>
                                                <?php
                                        }
@@ -241,7 +241,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Users_Screen" target="_blank">Documentation on Network Users</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
index 717defa6dd73ab2f2b6ce149f7be13778e33c9ca..da0801a91af6712d80e932361e14fa4f1896911c 100644 (file)
@@ -24,7 +24,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Settings_Discussion_Screen" target="_blank">Documentation on Discussion Settings</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 include( ABSPATH . 'wp-admin/admin-header.php' );
@@ -37,7 +37,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 <?php settings_fields('discussion'); ?>
 
 <table class="form-table">
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Default article settings'); ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Default article settings'); ?></span></legend>
 <label for="default_pingback_flag">
@@ -55,7 +55,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 <p class="description"><?php echo '(' . __( 'These settings may be overridden for individual articles.' ) . ')'; ?></p>
 </fieldset></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Other comment settings'); ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Other comment settings'); ?></span></legend>
 <label for="require_name_email"><input type="checkbox" name="require_name_email" id="require_name_email" value="1" <?php checked('1', get_option('require_name_email')); ?> /> <?php _e('Comment author must fill out name and e-mail'); ?></label>
@@ -80,7 +80,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
  *
  * @since 2.7.0.
  *
- * @param int $10 The maximum depth of threaded comments. Default 10.
+ * @param int $max_depth The maximum depth of threaded comments. Default 10.
  */
 $maxdeep = (int) apply_filters( 'thread_comments_depth_max', 10 );
 
@@ -123,7 +123,7 @@ printf( __('Comments should be displayed with the %s comments at the top of each
 ?></label>
 </fieldset></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('E-mail me whenever'); ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('E-mail me whenever'); ?></span></legend>
 <label for="comments_notify">
@@ -135,7 +135,7 @@ printf( __('Comments should be displayed with the %s comments at the top of each
 <?php _e('A comment is held for moderation'); ?> </label>
 </fieldset></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Before a comment appears'); ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Before a comment appears'); ?></span></legend>
 <label for="comment_moderation">
@@ -145,7 +145,7 @@ printf( __('Comments should be displayed with the %s comments at the top of each
 <label for="comment_whitelist"><input type="checkbox" name="comment_whitelist" id="comment_whitelist" value="1" <?php checked('1', get_option('comment_whitelist')); ?> /> <?php _e('Comment author must have a previously approved comment'); ?></label>
 </fieldset></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Comment Moderation'); ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Comment Moderation'); ?></span></legend>
 <p><label for="comment_max_links"><?php printf(__('Hold a comment in the queue if it contains %s or more links. (A common characteristic of comment spam is a large number of hyperlinks.)'), '<input name="comment_max_links" type="number" step="1" min="0" id="comment_max_links" value="' . esc_attr(get_option('comment_max_links')) . '" class="small-text" />' ); ?></label></p>
@@ -156,7 +156,7 @@ printf( __('Comments should be displayed with the %s comments at the top of each
 </p>
 </fieldset></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Comment Blacklist'); ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Comment Blacklist'); ?></span></legend>
 <p><label for="blacklist_keys"><?php _e('When a comment contains any of these words in its content, name, URL, e-mail, or IP, it will be marked as spam. One word or IP per line. It will match inside words, so &#8220;press&#8221; will match &#8220;WordPress&#8221;.'); ?></label></p>
@@ -175,7 +175,7 @@ printf( __('Comments should be displayed with the %s comments at the top of each
 <?php // the above would be a good place to link to codex documentation on the gravatar functions, for putting it in themes. anything like that? ?>
 
 <table class="form-table">
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Avatar Display'); ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Avatar Display'); ?></span></legend>
        <label for="show_avatars">
@@ -184,7 +184,7 @@ printf( __('Comments should be displayed with the %s comments at the top of each
        </label>
 </fieldset></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Maximum Rating'); ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Maximum Rating'); ?></span></legend>
 
@@ -207,7 +207,7 @@ endforeach;
 
 </fieldset></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Default Avatar'); ?></th>
 <td class="defaultavatarpicker"><fieldset><legend class="screen-reader-text"><span><?php _e('Default Avatar'); ?></span></legend>
 
index f2946008292f4080809b2182ec622067ef78ab4a..38f20c580018fdab586a1a36d2644b7d6d1c7a78 100644 (file)
@@ -77,7 +77,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Settings_General_Screen" target="_blank">Documentation on General Settings</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 include( ABSPATH . 'wp-admin/admin-header.php' );
@@ -90,45 +90,45 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 <?php settings_fields('general'); ?>
 
 <table class="form-table">
-<tr valign="top">
+<tr>
 <th scope="row"><label for="blogname"><?php _e('Site Title') ?></label></th>
 <td><input name="blogname" type="text" id="blogname" value="<?php form_option('blogname'); ?>" class="regular-text" /></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="blogdescription"><?php _e('Tagline') ?></label></th>
 <td><input name="blogdescription" type="text" id="blogdescription" value="<?php form_option('blogdescription'); ?>" class="regular-text" />
 <p class="description"><?php _e('In a few words, explain what this site is about.') ?></p></td>
 </tr>
 <?php if ( !is_multisite() ) { ?>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="siteurl"><?php _e('WordPress Address (URL)') ?></label></th>
 <td><input name="siteurl" type="text" id="siteurl" value="<?php form_option('siteurl'); ?>"<?php disabled( defined( 'WP_SITEURL' ) ); ?> class="regular-text code<?php if ( defined( 'WP_SITEURL' ) ) echo ' disabled' ?>" /></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="home"><?php _e('Site Address (URL)') ?></label></th>
 <td><input name="home" type="text" id="home" value="<?php form_option('home'); ?>"<?php disabled( defined( 'WP_HOME' ) ); ?> class="regular-text code<?php if ( defined( 'WP_HOME' ) ) echo ' disabled' ?>" />
 <p class="description"><?php _e('Enter the address here if you want your site homepage <a href="http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory">to be different from the directory</a> you installed WordPress.'); ?></p></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="admin_email"><?php _e('E-mail Address') ?> </label></th>
 <td><input name="admin_email" type="text" id="admin_email" value="<?php form_option('admin_email'); ?>" class="regular-text ltr" />
 <p class="description"><?php _e('This address is used for admin purposes, like new user notification.') ?></p></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Membership') ?></th>
 <td> <fieldset><legend class="screen-reader-text"><span><?php _e('Membership') ?></span></legend><label for="users_can_register">
 <input name="users_can_register" type="checkbox" id="users_can_register" value="1" <?php checked('1', get_option('users_can_register')); ?> />
 <?php _e('Anyone can register') ?></label>
 </fieldset></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="default_role"><?php _e('New User Default Role') ?></label></th>
 <td>
 <select name="default_role" id="default_role"><?php wp_dropdown_roles( get_option('default_role') ); ?></select>
 </td>
 </tr>
 <?php } else { ?>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="new_admin_email"><?php _e('E-mail Address') ?> </label></th>
 <td><input name="new_admin_email" type="text" id="new_admin_email" value="<?php form_option('admin_email'); ?>" class="regular-text ltr" />
 <p class="description"><?php _e('This address is used for admin purposes. If you change this we will send you an e-mail at your new address to confirm it. <strong>The new address will not become active until confirmed.</strong>') ?></p>
@@ -306,7 +306,7 @@ endfor;
        $languages = get_available_languages();
        if ( is_multisite() && !empty( $languages ) ):
 ?>
-       <tr valign="top">
+       <tr>
                <th width="33%" scope="row"><?php _e('Site Language') ?></th>
                <td>
                        <select name="WPLANG" id="WPLANG">
index e0c06ca30d2835037387925e800dd11ce6abd290..651b08dd2098b696f8ffe7dd6372aec449ce6fe6 100644 (file)
@@ -32,7 +32,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Settings_Media_Screen" target="_blank">Documentation on Media Settings</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 include( ABSPATH . 'wp-admin/admin-header.php' );
@@ -49,7 +49,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 <p><?php _e( 'The sizes listed below determine the maximum dimensions in pixels to use when adding an image to the Media Library.' ); ?></p>
 
 <table class="form-table">
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Thumbnail size') ?></th>
 <td>
 <label for="thumbnail_size_w"><?php _e('Width'); ?></label>
@@ -61,7 +61,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 </td>
 </tr>
 
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Medium size') ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Medium size'); ?></span></legend>
 <label for="medium_size_w"><?php _e('Max Width'); ?></label>
@@ -71,7 +71,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 </fieldset></td>
 </tr>
 
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Large size') ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Large size'); ?></span></legend>
 <label for="large_size_w"><?php _e('Max Width'); ?></label>
@@ -98,14 +98,14 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 // If upload_url_path is not the default (empty), and upload_path is not the default ('wp-content/uploads' or empty)
 if ( get_option('upload_url_path') || ( get_option('upload_path') != 'wp-content/uploads' && get_option('upload_path') ) ) :
 ?>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="upload_path"><?php _e('Store uploads in this folder'); ?></label></th>
 <td><input name="upload_path" type="text" id="upload_path" value="<?php echo esc_attr(get_option('upload_path')); ?>" class="regular-text code" />
 <p class="description"><?php _e('Default is <code>wp-content/uploads</code>'); ?></p>
 </td>
 </tr>
 
-<tr valign="top">
+<tr>
 <th scope="row"><label for="upload_url_path"><?php _e('Full URL path to files'); ?></label></th>
 <td><input name="upload_url_path" type="text" id="upload_url_path" value="<?php echo esc_attr( get_option('upload_url_path')); ?>" class="regular-text code" />
 <p class="description"><?php _e('Configuring this is optional. By default, it should be blank.'); ?></p>
index 63ddc551df027ab77b75f1e07e2e45cd053cf514..28395e965135d10a49a3ae7938ba8f3bd102f92f 100644 (file)
@@ -43,7 +43,7 @@ get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Settings_Permalinks_Screen" target="_blank">Documentation on Permalinks Settings</a>') . '</p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Using_Permalinks" target="_blank">Documentation on Using Permalinks</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 /**
@@ -117,9 +117,10 @@ if ( isset($_POST['permalink_structure']) || isset($_POST['category_base']) ) {
        exit;
 }
 
-$permalink_structure = get_option('permalink_structure');
-$category_base = get_option('category_base');
-$tag_base = get_option( 'tag_base' );
+$permalink_structure = get_option( 'permalink_structure' );
+$category_base       = get_option( 'category_base' );
+$tag_base            = get_option( 'tag_base' );
+$update_required     = false;
 
 if ( $iis7_permalinks ) {
        if ( ( ! file_exists($home_path . 'web.config') && win_is_writable($home_path) ) || win_is_writable($home_path . 'web.config') )
@@ -129,10 +130,14 @@ if ( $iis7_permalinks ) {
 } elseif ( $is_nginx ) {
        $writable = false;
 } else {
-       if ( ( ! file_exists($home_path . '.htaccess') && is_writable($home_path) ) || is_writable($home_path . '.htaccess') )
+       if ( ( ! file_exists( $home_path . '.htaccess' ) && is_writable( $home_path ) ) || is_writable( $home_path . '.htaccess' ) ) {
                $writable = true;
-       else
+       } else {
                $writable = false;
+               $existing_rules  = array_filter( extract_from_markers( $home_path . '.htaccess', 'WordPress' ) );
+               $new_rules       = array_filter( explode( "\n", $wp_rewrite->mod_rewrite_rules() ) );
+               $update_required = ( $new_rules !== $existing_rules );
+       }
 }
 
 if ( $wp_rewrite->using_index_permalinks() )
@@ -157,10 +162,11 @@ if ( ! is_multisite() ) {
        } elseif ( $is_nginx ) {
                _e('Permalink structure updated.');
        } else {
-               if ( $permalink_structure && ! $usingpi && ! $writable )
+               if ( $permalink_structure && ! $usingpi && ! $writable && $update_required ) {
                        _e('You should update your .htaccess now.');
-               else
+               } else {
                        _e('Permalink structure updated.');
+               }
        }
 } else {
        _e('Permalink structure updated.');
@@ -273,7 +279,7 @@ printf( __('If you like, you may enter custom structures for your category and t
                <?php endif; ?>
        <?php endif; ?>
 <?php elseif ( ! $is_nginx ) :
-       if ( $permalink_structure && ! $usingpi && ! $writable ) : ?>
+       if ( $permalink_structure && ! $usingpi && ! $writable && $update_required ) : ?>
 <p><?php _e('If your <code>.htaccess</code> file were <a href="http://codex.wordpress.org/Changing_File_Permissions">writable</a>, we could do this automatically, but it isn&#8217;t so these are the mod_rewrite rules you should have in your <code>.htaccess</code> file. Click in the field and press <kbd>CTRL + a</kbd> to select all.') ?></p>
 <form action="options-permalink.php" method="post">
 <?php wp_nonce_field('update-permalink') ?>
index a09d6edae75b1d3598d1afd4ffd01513450ebd75..7bcb20be61b318e021e75cfa50a218290210b960 100644 (file)
@@ -69,7 +69,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Settings_Reading_Screen" target="_blank">Documentation on Reading Settings</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 include( ABSPATH . 'wp-admin/admin-header.php' );
@@ -99,7 +99,7 @@ else :
                update_option( 'show_on_front', 'posts' );
 ?>
 <table class="form-table">
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e( 'Front page displays' ); ?></th>
 <td id="front-static-pages"><fieldset><legend class="screen-reader-text"><span><?php _e( 'Front page displays' ); ?></span></legend>
        <p><label>
@@ -122,17 +122,17 @@ else :
 </fieldset></td>
 </tr>
 <?php endif; ?>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="posts_per_page"><?php _e( 'Blog pages show at most' ); ?></label></th>
 <td>
 <input name="posts_per_page" type="number" step="1" min="1" id="posts_per_page" value="<?php form_option( 'posts_per_page' ); ?>" class="small-text" /> <?php _e( 'posts' ); ?>
 </td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="posts_per_rss"><?php _e( 'Syndication feeds show the most recent' ); ?></label></th>
 <td><input name="posts_per_rss" type="number" step="1" min="1" id="posts_per_rss" value="<?php form_option( 'posts_per_rss' ); ?>" class="small-text" /> <?php _e( 'items' ); ?></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e( 'For each article in a feed, show' ); ?> </th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e( 'For each article in a feed, show' ); ?> </span></legend>
 <p><label><input name="rss_use_excerpt" type="radio" value="0" <?php checked( 0, get_option( 'rss_use_excerpt' ) ); ?> /> <?php _e( 'Full text' ); ?></label><br />
@@ -140,7 +140,7 @@ else :
 </fieldset></td>
 </tr>
 
-<tr valign="top" class="option-site-visibility">
+<tr class="option-site-visibility">
 <th scope="row"><?php has_action( 'blog_privacy_selector' ) ? _e( 'Site Visibility' ) : _e( 'Search Engine Visibility' ); ?> </th>
 <td><fieldset><legend class="screen-reader-text"><span><?php has_action( 'blog_privacy_selector' ) ? _e( 'Site Visibility' ) : _e( 'Search Engine Visibility' ); ?> </span></legend>
 <?php if ( has_action( 'blog_privacy_selector' ) ) : ?>
index d6ba5d323929670b131ee519367d4f8efd7b33e2..4c761d264610fdfe7781268b352d3082c975451e 100644 (file)
@@ -37,13 +37,7 @@ if ( apply_filters( 'enable_post_by_email_configuration', true ) ) {
        ) );
 }
 
-/**
- * Toggle site update services configuration functionality.
- *
- * @since 3.0.0
- *
- * @param bool True or false, based on whether update services configuration is enabled or not.
- */
+/** This filter is documented in wp-admin/options-writing.php */
 if ( apply_filters( 'enable_update_services_configuration', true ) ) {
        get_current_screen()->add_help_tab( array(
                'id'      => 'options-services',
@@ -55,7 +49,7 @@ if ( apply_filters( 'enable_update_services_configuration', true ) ) {
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Settings_Writing_Screen" target="_blank">Documentation on Writing Settings</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 include( ABSPATH . 'wp-admin/admin-header.php' );
@@ -68,7 +62,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 <?php settings_fields('writing'); ?>
 
 <table class="form-table">
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Formatting') ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Formatting') ?></span></legend>
 <label for="use_smilies">
@@ -77,7 +71,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>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="default_category"><?php _e('Default Post Category') ?></label></th>
 <td>
 <?php
@@ -89,7 +83,7 @@ wp_dropdown_categories(array('hide_empty' => 0, 'name' => 'default_category', 'o
 $post_formats = get_post_format_strings();
 unset( $post_formats['standard'] );
 ?>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="default_post_format"><?php _e('Default Post Format') ?></label></th>
 <td>
        <select name="default_post_format" id="default_post_format">
@@ -103,7 +97,7 @@ unset( $post_formats['standard'] );
 <?php
 if ( get_option( 'link_manager_enabled' ) ) :
 ?>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="default_link_category"><?php _e('Default Link Category') ?></label></th>
 <td>
 <?php
@@ -137,24 +131,24 @@ if ( apply_filters( 'enable_post_by_email_configuration', true ) ) {
 <p><?php printf(__('To post to WordPress by e-mail you must set up a secret e-mail account with POP3 access. Any mail received at this address will be posted, so it&#8217;s a good idea to keep this address very secret. Here are three random strings you could use: <kbd>%s</kbd>, <kbd>%s</kbd>, <kbd>%s</kbd>.'), wp_generate_password(8, false), wp_generate_password(8, false), wp_generate_password(8, false)) ?></p>
 
 <table class="form-table">
-<tr valign="top">
+<tr>
 <th scope="row"><label for="mailserver_url"><?php _e('Mail Server') ?></label></th>
 <td><input name="mailserver_url" type="text" id="mailserver_url" value="<?php form_option('mailserver_url'); ?>" class="regular-text code" />
 <label for="mailserver_port"><?php _e('Port') ?></label>
 <input name="mailserver_port" type="text" id="mailserver_port" value="<?php form_option('mailserver_port'); ?>" class="small-text" />
 </td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="mailserver_login"><?php _e('Login Name') ?></label></th>
 <td><input name="mailserver_login" type="text" id="mailserver_login" value="<?php form_option('mailserver_login'); ?>" class="regular-text ltr" /></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="mailserver_pass"><?php _e('Password') ?></label></th>
 <td>
 <input name="mailserver_pass" type="text" id="mailserver_pass" value="<?php form_option('mailserver_pass'); ?>" class="regular-text ltr" />
 </td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="default_email_category"><?php _e('Default Mail Category') ?></label></th>
 <td>
 <?php
@@ -167,7 +161,13 @@ wp_dropdown_categories(array('hide_empty' => 0, 'name' => 'default_email_categor
 <?php } ?>
 
 <?php
-/** This filter is documented in wp-admin/options-writing.php */
+/**
+ * Filter whether to enable the Update Services section in the Writing settings screen.
+ *
+ * @since 3.0.0
+ *
+ * @param bool $enable Whether to enable the Update Services settings area. Default true.
+ */
 if ( apply_filters( 'enable_update_services_configuration', true ) ) {
 ?>
 <h3 class="title"><?php _e('Update Services') ?></h3>
index 8b84811476c3be7ae79902e5ba5ba2fe4b7bf8d4..f705a9f662c38700fd6520a1287bfe35d1715a2c 100644 (file)
@@ -108,11 +108,11 @@ if ( !is_multisite() ) {
        $whitelist_options['general'][] = 'WPLANG';
 
        /**
-        * Toggle post-by-email functionality.
+        * Filter whether the post-by-email functionality is enabled.
         *
         * @since 3.0.0
         *
-        * @param bool True or false, based on whether post-by-email configuration is enabled or not.
+        * @param bool $enabled Whether post-by-email configuration is enabled. Default true.
         */
        if ( apply_filters( 'enable_post_by_email_configuration', true ) )
                $whitelist_options['writing'] = array_merge($whitelist_options['writing'], $mail_options);
index ff962b8b55997387d521269ec645839c20e68831..26c14bc251b04479bf7a586d10b21403562f7a83 100644 (file)
@@ -24,8 +24,17 @@ wp_reset_vars( array( 'action', 'error', 'file', 'plugin' ) );
 
 $plugins = get_plugins();
 
-if ( empty($plugins) )
-       wp_die( __('There are no plugins installed on this site.') );
+if ( empty( $plugins ) ) {
+       include( ABSPATH . 'wp-admin/admin-header.php' );
+       ?>
+       <div class="wrap">
+               <h2><?php echo esc_html( $title ); ?></h2>
+               <div id="message" class="error"><p><?php _e( 'You do not appear to have any plugins available at this time.' ); ?></p></div>
+       </div>
+       <?php
+       include( ABSPATH . 'wp-admin/admin-footer.php' );
+       exit;
+}
 
 if ( $file ) {
        $plugin = $file;
@@ -132,7 +141,7 @@ default:
                '<p><strong>' . __('For more information:') . '</strong></p>' .
                '<p>' . __('<a href="http://codex.wordpress.org/Plugins_Editor_Screen" target="_blank">Documentation on Editing Plugins</a>') . '</p>' .
                '<p>' . __('<a href="http://codex.wordpress.org/Writing_a_Plugin" target="_blank">Documentation on Writing Plugins</a>') . '</p>' .
-               '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+               '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 
        require_once(ABSPATH . 'wp-admin/admin-header.php');
index 8d0dde326971151853d361805b6aa2ae65128eb2..b87193977fb291d1aee7b7ef7f0adf61cd46800e 100644 (file)
@@ -49,7 +49,7 @@ get_current_screen()->add_help_tab( array(
 'id'           => 'overview',
 'title'                => __('Overview'),
 'content'      =>
-       '<p>' . sprintf(__('Plugins hook into WordPress to extend its functionality with custom features. Plugins are developed independently from the core WordPress application by thousands of developers all over the world. All plugins in the official <a href="%s" target="_blank">WordPress.org Plugin Directory</a> are compatible with the license WordPress uses. You can find new plugins to install by searching or browsing the Directory right here in your own Plugins section.'), 'http://wordpress.org/plugins/') . '</p>'
+       '<p>' . sprintf(__('Plugins hook into WordPress to extend its functionality with custom features. Plugins are developed independently from the core WordPress application by thousands of developers all over the world. All plugins in the official <a href="%s" target="_blank">WordPress.org Plugin Directory</a> are compatible with the license WordPress uses. You can find new plugins to install by searching or browsing the Directory right here in your own Plugins section.'), 'https://wordpress.org/plugins/') . '</p>'
 ) );
 get_current_screen()->add_help_tab( array(
 'id'           => 'adding-plugins',
@@ -64,7 +64,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Plugins_Add_New_Screen" target="_blank">Documentation on Installing Plugins</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 /**
index 776a2b54a7d49147fae7e04dfcb5eb8d709521aa..9c3aa457f1d898aaa4c5c02f00a4e802c217b5e5 100644 (file)
@@ -69,16 +69,19 @@ if ( $action ) {
 
                        $plugins = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
 
-                       // Only activate plugins which are not already active.
                        if ( is_network_admin() ) {
                                foreach ( $plugins as $i => $plugin ) {
-                                       if ( is_plugin_active_for_network( $plugin ) )
+                                       // Only activate plugins which are not already network activated.
+                                       if ( is_plugin_active_for_network( $plugin ) ) {
                                                unset( $plugins[ $i ] );
+                                       }
                                }
                        } else {
                                foreach ( $plugins as $i => $plugin ) {
-                                       if ( is_plugin_active( $plugin ) || is_network_only_plugin( $plugin ) )
+                                       // Only activate plugins which are not already active and are not network-only when on Multisite.
+                                       if ( is_plugin_active( $plugin ) || ( is_multisite() && is_network_only_plugin( $plugin ) ) ) {
                                                unset( $plugins[ $i ] );
+                                       }
                                }
                        }
 
@@ -113,6 +116,7 @@ if ( $action ) {
                        $title = __( 'Update Plugins' );
                        $parent_file = 'plugins.php';
 
+                       wp_enqueue_script( 'updates' );
                        require_once(ABSPATH . 'wp-admin/admin-header.php');
 
                        echo '<div class="wrap">';
@@ -143,6 +147,7 @@ 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
                        function plugin_sandbox_scrape( $plugin ) {
+                               wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $plugin );
                                include( WP_PLUGIN_DIR . '/' . $plugin );
                        }
                        plugin_sandbox_scrape( $plugin );
@@ -339,7 +344,7 @@ get_current_screen()->add_help_tab( array(
 'title'                => __('Overview'),
 'content'      =>
        '<p>' . __('Plugins extend and expand the functionality of WordPress. Once a plugin is installed, you may activate it or deactivate it here.') . '</p>' .
-       '<p>' . sprintf(__('You can find additional plugins for your site by using the <a href="%1$s">Plugin Browser/Installer</a> functionality or by browsing the <a href="%2$s" target="_blank">WordPress Plugin Directory</a> directly and installing new plugins manually. To manually install a plugin you generally just need to upload the plugin file into your <code>/wp-content/plugins</code> directory. Once a plugin has been installed, you can activate it here.'), 'plugin-install.php', 'http://wordpress.org/plugins/') . '</p>'
+       '<p>' . sprintf(__('You can find additional plugins for your site by using the <a href="%1$s">Plugin Browser/Installer</a> functionality or by browsing the <a href="%2$s" target="_blank">WordPress Plugin Directory</a> directly and installing new plugins manually. To manually install a plugin you generally just need to upload the plugin file into your <code>/wp-content/plugins</code> directory. Once a plugin has been installed, you can activate it here.'), 'plugin-install.php', 'https://wordpress.org/plugins/') . '</p>'
 ) );
 get_current_screen()->add_help_tab( array(
 'id'           => 'compatibility-problems',
@@ -352,7 +357,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Managing_Plugins#Plugin_Management" target="_blank">Documentation on Managing Plugins</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 $title = __('Plugins');
index a4f5cc7408d27e99bb1f79fbf3d36b4f474fc3cc..f378c22061a7763ec26c56d5c0e97ab69c37e052 100644 (file)
@@ -106,6 +106,10 @@ case 'post-quickdraft-save':
        // Check nonce and capabilities
        $nonce = $_REQUEST['_wpnonce'];
        $error_msg = false;
+
+       // For output of the quickdraft dashboard widget
+       require_once ABSPATH . 'wp-admin/includes/dashboard.php';
+
        if ( ! wp_verify_nonce( $nonce, 'add-post' ) )
                $error_msg = __( 'Unable to submit this form, please refresh and try again.' );
 
@@ -122,8 +126,6 @@ case 'post-quickdraft-save':
        $_POST['ping_status'] = get_option( 'default_ping_status' );
 
        edit_post();
-       // output the quickdraft dashboard widget
-       require_once(ABSPATH . 'wp-admin/includes/dashboard.php');
        wp_dashboard_quick_press();
        exit;
        break;
@@ -307,7 +309,7 @@ case 'delete':
        break;
 
 case 'preview':
-       check_admin_referer( 'autosave', 'autosavenonce' );
+       check_admin_referer( 'update-post_' . $post_id );
 
        $url = post_preview();
 
index 58394c8a35536b96f852d2fcee06a9b838ef3ce4..1becc48f8c803a651e745ae4a9536da4bb0fa687 100644 (file)
@@ -19,8 +19,6 @@ if ( ! current_user_can( 'edit_posts' ) || ! current_user_can( get_post_type_obj
 /**
  * Press It form handler.
  *
- * @package WordPress
- * @subpackage Press_This
  * @since 2.6.0
  *
  * @return int Post ID
@@ -146,7 +144,7 @@ if ( !empty($_REQUEST['ajax']) ) {
                        <h3 class="tb"><label for="tb_this_photo_description"><?php _e('Description') ?></label></h3>
                        <div class="titlediv">
                                <div class="titlewrap">
-                                       <input id="tb_this_photo_description" name="photo_description" class="tb_this_photo_description tbtitle text" onkeypress="if(event.keyCode==13) image_selector(this);" value="<?php echo esc_attr($title);?>"/>
+                                       <input id="tb_this_photo_description" name="photo_description" class="tb_this_photo_description tbtitle text" type="text" onkeypress="if(event.keyCode==13) image_selector(this);" value="<?php echo esc_attr($title);?>"/>
                                </div>
                        </div>
 
@@ -163,8 +161,6 @@ if ( !empty($_REQUEST['ajax']) ) {
                /**
                 * Retrieve all image URLs from given URI.
                 *
-                * @package WordPress
-                * @subpackage Press_This
                 * @since 2.6.0
                 *
                 * @param string $uri
@@ -297,6 +293,7 @@ die;
 
        wp_enqueue_style( 'colors' );
        wp_enqueue_script( 'post' );
+       add_thickbox();
        _wp_admin_html_begin();
 ?>
 <title><?php _e('Press This') ?></title>
@@ -311,28 +308,34 @@ var photostorage = false;
 <?php
        /** This action is documented in wp-admin/admin-header.php */
        do_action( 'admin_enqueue_scripts', 'press-this.php' );
+
        /**
-        * Print styles for the Press This admin page.
+        * Fires when styles are printed for the Press This admin page.
         *
         * @since 3.7.0
         */
        do_action( 'admin_print_styles-press-this.php' );
+
        /** This action is documented in wp-admin/admin-header.php */
        do_action( 'admin_print_styles' );
+
        /**
-        * Print scripts for the Press This admin page.
+        * Fires when scripts are printed for the Press This admin page.
         *
         * @since 3.7.0
         */
        do_action( 'admin_print_scripts-press-this.php' );
+
        /** This action is documented in wp-admin/admin-header.php */
        do_action( 'admin_print_scripts' );
+
        /**
         * Fires in the head tag on the Press This admin page.
         *
         * @since 3.7.0
         */
        do_action( 'admin_head-press-this.php' );
+
        /** This action is documented in wp-admin/admin-header.php */
        do_action( 'admin_head' );
 ?>
@@ -603,7 +606,7 @@ $admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace(
 
                <div id="titlediv">
                        <div class="titlewrap">
-                               <input name="title" id="title" class="text" value="<?php echo esc_attr($title);?>"/>
+                               <input name="title" id="title" class="text" type="text" value="<?php echo esc_attr($title);?>"/>
                        </div>
                </div>
 
index 818d13c2ff6bc7f9dc8d4620240cbb871b6260e1..e4cc0c7d99a2fa3060e38f64ce3d4bf49e16cfd1 100644 (file)
@@ -72,9 +72,11 @@ default :
                break;
        }
 
-       $post_title = '<a href="' . get_edit_post_link() . '">' . _draft_or_post_title() . '</a>';
-       $h2 = sprintf( __( 'Compare Revisions of &#8220;%1$s&#8221;' ), $post_title );
-       $title = __( 'Revisions' );
+       $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 );
+       $return_to_post = '<a href="' . $post_edit_link . '">' . __( '&larr; Return to post editor' ) . '</a>';
+       $title          = __( 'Revisions' );
 
        $redirect = false;
        break;
@@ -115,7 +117,7 @@ get_current_screen()->add_help_tab( array(
 
 $revisions_sidebar  = '<p><strong>' . __( 'For more information:' ) . '</strong></p>';
 $revisions_sidebar .= '<p>' . __( '<a href="http://codex.wordpress.org/Revision_Management" target="_blank">Revisions Management</a>' ) . '</p>';
-$revisions_sidebar .= '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>';
+$revisions_sidebar .= '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>';
 
 get_current_screen()->set_help_sidebar( $revisions_sidebar );
 
@@ -125,6 +127,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 <div class="wrap">
        <h2 class="long-header"><?php echo $h2; ?></h2>
+       <?php echo $return_to_post; ?>
 </div>
 
 <script id="tmpl-revisions-frame" type="text/html">
index 2bcdfd2a08920260e144a51d57eab6ff9686fd94..2b5b7f89fb6bb2f14ed4dbc9123b8fa8f02c4b28 100644 (file)
@@ -13,8 +13,6 @@
 
 /**
  * We are installing.
- *
- * @package WordPress
  */
 define('WP_INSTALLING', true);
 
@@ -88,8 +86,6 @@ $step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0;
  *
  * @ignore
  * @since 2.3.0
- * @package WordPress
- * @subpackage Installer_WP_Config
  */
 function setup_config_display_header() {
        global $wp_version;
@@ -107,7 +103,7 @@ function setup_config_display_header() {
 
 </head>
 <body class="wp-core-ui<?php if ( is_rtl() ) echo ' rtl'; ?>">
-<h1 id="logo"><a href="<?php esc_attr_e( 'http://wordpress.org/' ); ?>"><?php _e( 'WordPress' ); ?></a></h1>
+<h1 id="logo"><a href="<?php esc_attr_e( 'https://wordpress.org/' ); ?>"><?php _e( 'WordPress' ); ?></a></h1>
 <?php
 } // end function setup_config_display_header();
 
index 8d1775d4d65070f871b82120da4e0c27f14485ad..382e594a15e6ff634162d01f08190e2c1079333e 100644 (file)
@@ -40,7 +40,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __('<a href="http://codex.wordpress.org/Using_Themes" target="_blank">Documentation on Using Themes</a>') . '</p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Editing_Files" target="_blank">Documentation on Editing Files</a>') . '</p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Template_Tags" target="_blank">Documentation on Template Tags</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 wp_reset_vars( array( 'action', 'error', 'file', 'theme' ) );
index 45fb870856251027e4dfcf06eb65c943b5cabc8d..088feed4a46c4c725740f10bdefa71f9ef2ff631 100644 (file)
@@ -6,11 +6,11 @@
  * @subpackage Administration
  */
 
-if ( !defined( 'IFRAME_REQUEST' ) && isset( $_GET['tab'] ) && ( 'theme-information' == $_GET['tab'] ) )
-       define( 'IFRAME_REQUEST', true );
-
 /** WordPress Administration Bootstrap */
 require_once( dirname( __FILE__ ) . '/admin.php' );
+require( ABSPATH . 'wp-admin/includes/theme-install.php' );
+
+wp_reset_vars( array( 'tab' ) );
 
 if ( ! current_user_can('install_themes') )
        wp_die( __( 'You do not have sufficient permissions to install themes on this site.' ) );
@@ -20,19 +20,49 @@ if ( is_multisite() && ! is_network_admin() ) {
        exit();
 }
 
-$wp_list_table = _get_list_table('WP_Theme_Install_List_Table');
-$pagenum = $wp_list_table->get_pagenum();
-$wp_list_table->prepare_items();
-
-$title = __('Install Themes');
+$title = __( 'Add Themes' );
 $parent_file = 'themes.php';
-if ( !is_network_admin() )
+
+if ( ! is_network_admin() ) {
        $submenu_file = 'themes.php';
+}
+
+$sections = array(
+       'featured' => __( 'Featured Themes' ),
+       'popular'  => __( 'Popular Themes' ),
+       'new'      => __( 'Newest Themes' ),
+);
+
+$installed_themes = search_theme_directories();
+foreach ( $installed_themes as $k => $v ) {
+       if ( false !== strpos( $k, '/' ) ) {
+               unset( $installed_themes[ $k ] );
+       }
+}
 
-wp_enqueue_script( 'theme-install' );
-wp_enqueue_script( 'theme-preview' );
+wp_localize_script( 'theme', '_wpThemeSettings', array(
+       'themes'   => false,
+       'settings' => array(
+               'isInstall'     => true,
+               'canInstall'    => current_user_can( 'install_themes' ),
+               'installURI'    => current_user_can( 'install_themes' ) ? self_admin_url( 'theme-install.php' ) : null,
+               'adminUrl'      => parse_url( self_admin_url(), PHP_URL_PATH )
+       ),
+       'l10n' => array(
+               'addNew' => __( 'Add New Theme' ),
+               'search'  => __( 'Search Themes' ),
+               'searchPlaceholder' => __( 'Search themes...' ), // placeholder (no ellipsis)
+               'upload' => __( 'Upload Theme' ),
+               'back'   => __( 'Back' ),
+               '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>.' )
+       ),
+       'installedThemes' => array_keys( $installed_themes ),
+       'browse' => array(
+               'sections' => $sections,
+       ),
+) );
 
-$body_id = $tab;
+wp_enqueue_script( 'theme' );
 
 /**
  * Fires before each of the tabs are rendered on the Install Themes page.
@@ -43,10 +73,12 @@ $body_id = $tab;
  *
  * @since 2.8.0
  */
-do_action( "install_themes_pre_{$tab}" );
+if ( $tab ) {
+       do_action( "install_themes_pre_{$tab}" );
+}
 
 $help_overview =
-       '<p>' . sprintf(__('You can find additional themes for your site by using the Theme Browser/Installer on this screen, which will display themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. These themes are designed and developed by third parties, are available free of charge, and are compatible with the license WordPress uses.'), 'http://wordpress.org/themes/') . '</p>' .
+       '<p>' . sprintf(__('You can find additional themes for your site by using the Theme Browser/Installer on this screen, which will display themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. These themes are designed and developed by third parties, are available free of charge, and are compatible with the license WordPress uses.'), 'https://wordpress.org/themes/') . '</p>' .
        '<p>' . __('You can Search for themes by keyword, author, or tag, or can get more specific and search by criteria listed in the feature filter. Alternately, you can browse the themes that are Featured, Newest, or Recently Updated. When you find a theme you like, you can preview it or install it.') . '</p>' .
        '<p>' . __('You can Upload a theme manually if you have already downloaded its ZIP archive onto your computer (make sure it is from a trusted and original source). You can also do it the old-fashioned way and copy a downloaded theme&#8217;s folder via FTP into your <code>/wp-content/themes</code> directory.') . '</p>';
 
@@ -69,18 +101,71 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Using_Themes#Adding_New_Themes" target="_blank">Documentation on Adding New Themes</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 include(ABSPATH . 'wp-admin/admin-header.php');
+
 ?>
 <div class="wrap">
-<h2><?php echo esc_html( $title ); ?></h2>
-<?php
+       <h2>
+               <?php echo esc_html( $title ); ?>
+               <a href="#" class="upload add-new-h2"><?php _e( 'Upload Theme' ); ?></a>
+               <a href="#" class="browse-themes add-new-h2"><?php _ex( 'Browse', 'themes' ); ?></a>
+       </h2>
+
+       <div class="upload-theme">
+       <?php install_themes_upload(); ?>
+       </div>
+
+       <div class="theme-navigation">
+               <span class="theme-count"></span>
+               <a class="theme-section" href="#" data-sort="featured"><?php _ex( 'Featured', 'themes' ); ?></a>
+               <a class="theme-section" href="#" data-sort="popular"><?php _ex( 'Popular', 'themes' ); ?></a>
+               <a class="theme-section" href="#" data-sort="new"><?php _ex( 'Latest', 'themes' ); ?></a>
+               <div class="theme-top-filters">
+                       <!-- <span class="theme-filter" data-filter="photoblogging">Photography</span>
+                       <span class="theme-filter" data-filter="responsive-layout">Responsive</span> -->
+                       <a class="more-filters" href="#"><?php _e( 'Feature Filter' ); ?></a>
+               </div>
+               <div class="more-filters-container">
+                       <a class="apply-filters button button-secondary" href="#"><?php _e( 'Apply Filters' ); ?><span></span></a>
+                       <a class="clear-filters button button-secondary" href="#"><?php _e( 'Clear' ); ?></a>
+                       <br class="clear" />
+               <?php
+               $feature_list = get_theme_feature_list();
+               foreach ( $feature_list as $feature_name => $features ) {
+                       if ( $feature_name === 'Features' || $feature_name === __( 'Features' ) ) { // hack hack hack
+                               echo '<div class="filters-group wide-filters-group">';
+                       } else {
+                               echo '<div class="filters-group">';
+                       }
+                       $feature_name = esc_html( $feature_name );
+                       echo '<h4 class="feature-name">' . $feature_name . '</h4>';
+                       echo '<ol class="feature-group">';
+                       foreach ( $features as $feature => $feature_name ) {
+                               $feature = esc_attr( $feature );
+                               echo '<li><input type="checkbox" id="feature-id-' . $feature . '" value="' . $feature . '" /> ';
+                               echo '<label for="feature-id-' . $feature . '">' . $feature_name . '</label></li>';
+                       }
+                       echo '</ol>';
+                       echo '</div>';
+               }
+               ?>
+                       <div class="filtering-by">
+                               <span><?php _e( 'Filtering by:' ); ?></span>
+                               <div class="tags"></div>
+                               <a href="#"><?php _e( 'Edit' ); ?></a>
+                       </div>
+               </div>
+       </div>
+       <div class="theme-browser"></div>
+       <div class="theme-install-overlay wp-full-overlay expanded"></div>
 
-$wp_list_table->views(); ?>
+       <p class="no-themes"><?php _e( 'No themes found. Try a different search.' ); ?></p>
+       <span class="spinner"></span>
 
-<br class="clear" />
+       <br class="clear" />
 <?php
 /**
  * Fires at the top of each of the tabs on the Install Themes page.
@@ -93,8 +178,84 @@ $wp_list_table->views(); ?>
  *
  * @param int $paged Number of the current page of results being viewed.
  */
-do_action( "install_themes_{$tab}", $paged );
+if ( $tab ) {
+       do_action( "install_themes_{$tab}", $paged );
+}
 ?>
 </div>
+
+<script id="tmpl-theme" type="text/template">
+       <# if ( data.screenshot_url ) { #>
+               <div class="theme-screenshot">
+                       <img src="{{ data.screenshot_url }}" alt="" />
+               </div>
+       <# } else { #>
+               <div class="theme-screenshot blank"></div>
+       <# } #>
+       <span class="more-details"><?php _ex( 'Details &amp; Preview', 'theme' ); ?></span>
+       <div class="theme-author"><?php printf( __( 'By %s' ), '{{ data.author }}' ); ?></div>
+       <h3 class="theme-name">{{ data.name }}</h3>
+
+       <div class="theme-actions">
+               <a class="button button-primary" href="{{ data.install_url }}"><?php esc_html_e( 'Install' ); ?></a>
+               <a class="button button-secondary preview install-theme-preview" href="#"><?php esc_html_e( 'Preview' ); ?></a>
+       </div>
+
+       <# if ( data.installed ) { #>
+               <div class="theme-installed"><?php _e( 'Already Installed' ); ?></div>
+       <# } #>
+</script>
+
+<script id="tmpl-theme-preview" type="text/template">
+       <div class="wp-full-overlay-sidebar">
+               <div class="wp-full-overlay-header">
+                       <a href="#" class="close-full-overlay button-secondary"><?php _e( 'Close' ); ?></a>
+               <# if ( data.installed ) { #>
+                       <a href="#" class="button button-primary theme-install disabled"><?php _e( 'Installed' ); ?></a>
+               <# } else { #>
+                       <a href="{{ data.install_url }}" class="button button-primary theme-install"><?php _e( 'Install' ); ?></a>
+               <# } #>
+               </div>
+               <div class="wp-full-overlay-sidebar-content">
+                       <div class="install-theme-info">
+                               <h3 class="theme-name">{{ data.name }}</h3>
+                               <span class="theme-by"><?php printf( __( 'By %s' ), '{{ data.author }}' ); ?></span>
+
+                               <img class="theme-screenshot" src="{{ data.screenshot_url }}" alt="" />
+
+                               <div class="theme-details">
+                                       <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>
+                                       <# if ( data.num_ratings ) { #>
+                                               <p class="ratings">{{ data.num_ratings }}</p>
+                                       <# } else { #>
+                                               <p class="ratings"><?php _e( 'No ratings.' ); ?></p>
+                                       <# } #>
+                                       </div>
+                                       <div class="theme-version"><?php printf( __( 'Version: %s' ), '{{ data.version }}' ); ?></div>
+                                       <div class="theme-description">{{{ data.description }}}</div>
+                               </div>
+                       </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>
+                               <span class="collapse-sidebar-arrow"></span>
+                       </a>
+                       <div class="theme-navigation">
+                               <a class="previous-theme button" href="#"><?php _e( 'Previous' ); ?></a>
+                               <a class="next-theme button" href="#"><?php _e( 'Next' ); ?></a>
+                       </div>
+               </div>
+       </div>
+       <div class="wp-full-overlay-main">
+               <iframe src="{{ data.preview_url }}" />
+       </div>
+</script>
+
 <?php
 include(ABSPATH . 'wp-admin/admin-footer.php');
index d4a65e7eb169243f74263311ada319b49ffa967c..68463fcecb5ed4f20c0320e1517c3c9c16cb28bc 100644 (file)
@@ -56,7 +56,7 @@ if ( current_user_can( 'install_themes' ) ) {
        if ( is_multisite() ) {
                $help_install = '<p>' . __('Installing themes on Multisite can only be done from the Network Admin section.') . '</p>';
        } else {
-               $help_install = '<p>' . sprintf( __('If you would like to see more themes to choose from, click on the &#8220;Add New&#8221; button and you will be able to browse or search for additional themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. Themes in the WordPress.org Theme Directory are designed and developed by third parties, and are compatible with the license WordPress uses. Oh, and they&#8217;re free!'), 'http://wordpress.org/themes/' ) . '</p>';
+               $help_install = '<p>' . sprintf( __('If you would like to see more themes to choose from, click on the &#8220;Add New&#8221; button and you will be able to browse or search for additional themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. Themes in the WordPress.org Theme Directory are designed and developed by third parties, and are compatible with the license WordPress uses. Oh, and they&#8217;re free!'), 'https://wordpress.org/themes/' ) . '</p>';
        }
 
        get_current_screen()->add_help_tab( array(
@@ -83,7 +83,7 @@ if ( current_user_can( 'edit_theme_options' ) ) {
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
        '<p>' . __( '<a href="http://codex.wordpress.org/Using_Themes" target="_blank">Documentation on Using Themes</a>' ) . '</p>' .
-       '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
+       '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
 if ( current_user_can( 'switch_themes' ) ) {
@@ -99,15 +99,12 @@ wp_localize_script( 'theme', '_wpThemeSettings', array(
                'canInstall'    => ( ! is_multisite() && current_user_can( 'install_themes' ) ),
                'installURI'    => ( ! is_multisite() && current_user_can( 'install_themes' ) ) ? admin_url( 'theme-install.php' ) : null,
                'confirmDelete' => __( "Are you sure you want to delete this theme?\n\nClick 'Cancel' to go back, 'OK' to confirm the delete." ),
-               'root'          => parse_url( admin_url( 'themes.php' ), PHP_URL_PATH ),
-               'theme'         => esc_html( $theme ),
-               'search'        => esc_html( $search ),
-
+               'adminUrl'      => parse_url( admin_url(), PHP_URL_PATH ),
        ),
        'l10n' => array(
                'addNew' => __( 'Add New Theme' ),
                'search'  => __( 'Search Installed Themes' ),
-               'searchPlaceholder' => __( 'Search installed themes...' ),
+               'searchPlaceholder' => __( 'Search installed themes...' ), // placeholder (no ellipsis)
        ),
 ) );
 
@@ -122,7 +119,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
        <h2><?php esc_html_e( 'Themes' ); ?>
                <span class="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="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 add-new-h2"><?php echo esc_html( _x( 'Add New', 'Add new theme' ) ); ?></a>
        <?php endif; ?>
        </h2>
 <?php
index b55328a763a4d61b583ca6d872bc2ed4eca9caab..afc65d90991a1c8db666c1f1944292cb6aa1ab35 100644 (file)
@@ -26,7 +26,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Tools_Screen" target="_blank">Documentation on Tools</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
index 61535996891a465523edf3facaa80ea97dc0d475..a8a7aa9909fe57b57b6fd8814345fc34cd70bc33 100644 (file)
@@ -11,6 +11,7 @@ require_once( dirname( __FILE__ ) . '/admin.php' );
 
 wp_enqueue_style( 'plugin-install' );
 wp_enqueue_script( 'plugin-install' );
+wp_enqueue_script( 'updates' );
 add_thickbox();
 
 if ( is_multisite() && ! is_network_admin() ) {
@@ -133,7 +134,7 @@ function dismissed_updates() {
 /**
  * Display upgrade WordPress for downloading latest or upgrading automatically form.
  *
- * @since 2.7
+ * @since 2.7.0
  *
  * @return null
  */
@@ -220,7 +221,7 @@ function list_plugin_updates() {
 <form method="post" action="<?php echo esc_url( $form_action ); ?>" name="upgrade-plugins" class="upgrade">
 <?php wp_nonce_field('upgrade-core'); ?>
 <p><input id="upgrade-plugins" class="button" type="submit" value="<?php esc_attr_e('Update Plugins'); ?>" name="upgrade" /></p>
-<table class="widefat" cellspacing="0" id="update-plugins-table">
+<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>
@@ -298,7 +299,7 @@ function list_theme_updates() {
 <form method="post" action="<?php echo esc_url( $form_action ); ?>" name="upgrade-themes" class="upgrade">
 <?php wp_nonce_field('upgrade-core'); ?>
 <p><input id="upgrade-themes" class="button" type="submit" value="<?php esc_attr_e('Update Themes'); ?>" name="upgrade" /></p>
-<table class="widefat" cellspacing="0" id="update-themes-table">
+<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>
@@ -353,7 +354,7 @@ function list_translation_updates() {
 /**
  * Upgrade WordPress core display.
  *
- * @since 2.7
+ * @since 2.7.0
  *
  * @return null
  */
@@ -457,10 +458,10 @@ if ( ( 'do-theme-upgrade' == $action || ( 'do-plugin-upgrade' == $action && ! is
 }
 
 $title = __('WordPress Updates');
-$parent_file = 'tools.php';
+$parent_file = 'index.php';
 
 $updates_overview  = '<p>' . __( 'On this screen, you can update to the latest version of WordPress, as well as update your themes and plugins from the WordPress.org repositories.' ) . '</p>';
-$updates_overview .= '<p>' . __( 'If an update is available, you&#8127;ll see a notification appear in the Toolbar and navigation menu.' ) . ' ' . __( 'Keeping your site up to date is important for your site&#8217;s security, and makes the internet a safer place for you and your readers.' ) . '</p>';
+$updates_overview .= '<p>' . __( 'If an update is available, you&#8127;ll see a notification appear in the Toolbar and navigation menu.' ) . ' ' . __( 'Keeping your site updated is important for security. It also makes the internet a safer place for you and your readers.' ) . '</p>';
 
 get_current_screen()->add_help_tab( array(
        'id'      => 'overview',
@@ -484,7 +485,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __( '<a href="http://codex.wordpress.org/Dashboard_Updates_Screen" target="_blank">Documentation on Updating WordPress</a>' ) . '</p>' .
-       '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
+       '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
 if ( 'upgrade-core' == $action ) {
@@ -521,7 +522,12 @@ if ( 'upgrade-core' == $action ) {
        if ( $core || $plugins || $themes )
                list_translation_updates();
        unset( $core, $plugins, $themes );
-       do_action('core_upgrade_preamble');
+       /**
+        * Fires after the core, plugin, and theme update tables.
+        *
+        * @since 2.9.0
+        */
+       do_action( 'core_upgrade_preamble' );
        echo '</div>';
        include(ABSPATH . 'wp-admin/admin-footer.php');
 
@@ -627,5 +633,14 @@ if ( 'upgrade-core' == $action ) {
        require_once( ABSPATH . 'wp-admin/admin-footer.php' );
 
 } else {
-       do_action('update-core-custom_' . $action);
+       /**
+        * Fires for each custom update action on the WordPress Updates screen.
+        *
+        * The dynamic portion of the hook name, $action, refers to the
+        * passed update action. The hook fires in lieu of all available
+        * default update actions.
+        *
+        * @since 3.2.0
+        */
+       do_action( "update-core-custom_{$action}" );
 }
index 4290e58d78a90eebedc174cbb8629a976dd69cb2..fc8657446939ff9c44ce886cb3ce5385b4036e38 100644 (file)
@@ -37,7 +37,7 @@ if ( isset($_GET['action']) ) {
                $url = 'update.php?action=update-selected&amp;plugins=' . urlencode(implode(',', $plugins));
                $nonce = 'bulk-update-plugins';
 
-               wp_enqueue_script('jquery');
+               wp_enqueue_script( 'updates' );
                iframe_header();
 
                $upgrader = new Plugin_Upgrader( new Bulk_Plugin_Upgrader_Skin( compact( 'nonce', 'url' ) ) );
@@ -54,6 +54,8 @@ if ( isset($_GET['action']) ) {
                $title = __('Update Plugin');
                $parent_file = 'plugins.php';
                $submenu_file = 'plugins.php';
+
+               wp_enqueue_script( 'updates' );
                require_once(ABSPATH . 'wp-admin/admin-header.php');
 
                $nonce = 'upgrade-plugin_' . $plugin;
@@ -84,7 +86,8 @@ if ( isset($_GET['action']) ) {
 
                        error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR );
                        @ini_set('display_errors', true); //Ensure that Fatal errors are displayed.
-                       include(WP_PLUGIN_DIR . '/' . $plugin);
+                       wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $plugin );
+                       include( WP_PLUGIN_DIR . '/' . $plugin );
                }
                iframe_footer();
        } elseif ( 'install-plugin' == $action ) {
@@ -153,6 +156,7 @@ if ( isset($_GET['action']) ) {
                check_admin_referer('upgrade-theme_' . $theme);
 
                wp_enqueue_script( 'customize-loader' );
+               wp_enqueue_script( 'updates' );
 
                $title = __('Update Theme');
                $parent_file = 'themes.php';
@@ -184,7 +188,7 @@ if ( isset($_GET['action']) ) {
                $url = 'update.php?action=update-selected-themes&amp;themes=' . urlencode(implode(',', $themes));
                $nonce = 'bulk-update-themes';
 
-               wp_enqueue_script('jquery');
+               wp_enqueue_script( 'updates' );
                iframe_header();
 
                $upgrader = new Theme_Upgrader( new Bulk_Theme_Upgrader_Skin( compact( 'nonce', 'url' ) ) );
@@ -198,7 +202,7 @@ if ( isset($_GET['action']) ) {
 
                include_once ABSPATH . 'wp-admin/includes/theme-install.php'; //for themes_api..
 
-               check_admin_referer('install-theme_' . $theme);
+               check_admin_referer( 'install-theme_' . $theme );
                $api = themes_api('theme_information', array('slug' => $theme, 'fields' => array('sections' => false, 'tags' => false) ) ); //Save on a bit of bandwidth.
 
                if ( is_wp_error($api) )
index 080d74d7c5a3aa64d0a6e71951c57d6762f80a7a..7be637c8fdc8d5eddac4db85558a669c16ce497b 100644 (file)
@@ -3,7 +3,7 @@
  * WordPress Upgrade Functions. Old file, must not be used. Include
  * wp-admin/includes/upgrade.php instead.
  *
- * @deprecated 2.5
+ * @deprecated 2.5.0
  * @package WordPress
  * @subpackage Administration
  */
index 675a901d3ae935e12d1c3cf01b1df44df6dda370..10c04131a5de8b11b67554de89270887f104561e 100644 (file)
@@ -59,7 +59,7 @@ else
        ?>
 </head>
 <body class="wp-core-ui">
-<h1 id="logo"><a href="<?php echo esc_url( __( 'http://wordpress.org/' ) ); ?>"><?php _e( 'WordPress' ); ?></a></h1>
+<h1 id="logo"><a href="<?php echo esc_url( __( 'https://wordpress.org/' ) ); ?>"><?php _e( 'WordPress' ); ?></a></h1>
 
 <?php if ( get_option( 'db_version' ) == $wp_db_version || !is_blog_installed() ) : ?>
 
index df998098d03e7a2aced49ec01f58a2f15c39916e..c38a0b63566e518e7421867bbccca3fd13263c9e 100644 (file)
@@ -141,8 +141,6 @@ $wp_list_table->prepare_items();
 $title = __('Media Library');
 $parent_file = 'upload.php';
 
-wp_enqueue_script( 'wp-ajax-response' );
-wp_enqueue_script( 'jquery-ui-draggable' );
 wp_enqueue_script( 'media' );
 
 add_screen_option( 'per_page', array('label' => _x( 'Media items', 'items per page (screen options)' )) );
@@ -170,7 +168,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
        '<p>' . __( '<a href="http://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
-       '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
+       '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
@@ -239,9 +237,7 @@ if ( !empty($message) ) { ?>
 <?php $wp_list_table->display(); ?>
 
 <div id="ajax-response"></div>
-<?php find_posts_div(); ?>
-<br class="clear" />
-
+<?php find_posts_div(); ?> 
 </form>
 </div>
 
index 331fb9deca49293223795f82df9e31a89da31394..2c064bad38d89a591a826772b8ee3f7032d0f5bc 100644 (file)
@@ -51,7 +51,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
     '<p><strong>' . __('For more information:') . '</strong></p>' .
     '<p>' . __('<a href="http://codex.wordpress.org/Users_Your_Profile_Screen" target="_blank">Documentation on User Profiles</a>') . '</p>' .
-    '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+    '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 $wp_http_referer = remove_query_arg(array('update', 'delete_count'), $wp_http_referer );
@@ -235,13 +235,13 @@ if ( ! IS_PROFILE_PAGE ) {
 <?php endif; ?>
 <p>
 <input type="hidden" name="from" value="profile" />
-<input type="hidden" name="checkuser_id" value="<?php echo $user_ID ?>" />
+<input type="hidden" name="checkuser_id" value="<?php echo get_current_user_id(); ?>" />
 </p>
 
 <h3><?php _e('Personal Options'); ?></h3>
 
 <table class="form-table">
-<?php if ( rich_edit_exists() && !( IS_PROFILE_PAGE && !$user_can_edit ) ) : // don't bother showing the option if the editor has been removed ?>
+<?php if ( ! ( IS_PROFILE_PAGE && ! $user_can_edit ) ) : ?>
        <tr>
                <th scope="row"><?php _e('Visual Editor')?></th>
                <td><label for="rich_editing"><input name="rich_editing" type="checkbox" id="rich_editing" value="false" <?php if ( ! empty( $profileuser->rich_editing ) ) checked( 'false', $profileuser->rich_editing ); ?> /> <?php _e( 'Disable the visual editor when writing' ); ?></label></td>
@@ -401,7 +401,7 @@ if ( is_multisite() && is_network_admin() && ! IS_PROFILE_PAGE && current_user_c
 <table class="form-table">
 <tr>
        <th><label for="email"><?php _e('E-mail'); ?> <span class="description"><?php _e('(required)'); ?></span></label></th>
-       <td><input type="text" name="email" id="email" value="<?php echo esc_attr($profileuser->user_email) ?>" class="regular-text" />
+       <td><input type="text" name="email" id="email" value="<?php echo esc_attr($profileuser->user_email) ?>" class="regular-text ltr" />
        <?php
        $new_email = get_option( $current_user->ID . '_new_email' );
        if ( $new_email && $new_email['newemail'] != $current_user->user_email && $profileuser->ID == $current_user->ID ) : ?>
@@ -470,7 +470,7 @@ if ( $show_password_fields ) :
        <span class="description" for="pass2"><?php _e( 'Type your new password again.' ); ?></span>
        <br />
        <div id="pass-strength-result"><?php _e( 'Strength indicator' ); ?></div>
-       <p class="description indicator-hint"><?php _e( '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; ).' ); ?></p>
+       <p class="description indicator-hint"><?php _e( '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; ).' ); ?></p>
        </td>
 </tr>
 <?php endif; ?>
@@ -479,7 +479,7 @@ if ( $show_password_fields ) :
 <?php
        if ( IS_PROFILE_PAGE ) {
                /**
-                * Fires after the 'About the User' settings table on the 'Your Profile' editing screen.
+                * Fires after the 'About Yourself' settings table on the 'Your Profile' editing screen.
                 *
                 * The action only fires if the current user is editing their own profile.
                 *
index 6b18ad53c78405b4ba76ee34e02905db1d675559..b5c9c0bc42201b519d99ceb3b20f774929f09188 100644 (file)
@@ -85,7 +85,7 @@ You\'ve been invited to join \'%1$s\' at
 
 Please click the following link to confirm the invite:
 %4$s' );
-                       wp_mail( $new_user_email, sprintf( __( '[%s] Joining confirmation' ), get_option( 'blogname' ) ), sprintf( $message, get_option( 'blogname' ), home_url(), wp_specialchars_decode( translate_user_role( $role['name'] ) ), home_url( "/newbloguser/$newuser_key/" ) ) );
+                       wp_mail( $new_user_email, sprintf( __( '[%s] Joining confirmation' ), wp_specialchars_decode( get_option( 'blogname' ) ) ), sprintf( $message, get_option( 'blogname' ), home_url(), wp_specialchars_decode( translate_user_role( $role['name'] ) ), home_url( "/newbloguser/$newuser_key/" ) ) );
                        $redirect = add_query_arg( array('update' => 'add'), 'user-new.php' );
                }
        }
@@ -182,7 +182,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
     '<p><strong>' . __('For more information:') . '</strong></p>' .
     '<p>' . __('<a href="http://codex.wordpress.org/Users_Add_New_Screen" target="_blank">Documentation on Adding New Users</a>') . '</p>' .
-    '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+    '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 wp_enqueue_script('wp-ajax-response');
@@ -395,12 +395,12 @@ if ( apply_filters( 'show_password_fields', true ) ) : ?>
                <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 _e('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; ).'); ?></p>
+               <p class="description indicator-hint"><?php _e('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; ).'); ?></p>
                </td>
        </tr>
        <tr>
                <th scope="row"><label for="send_password"><?php _e('Send Password?') ?></label></th>
-               <td><label for="send_password"><input type="checkbox" name="send_password" id="send_password" <?php checked( $new_user_send_password ); ?> /> <?php _e('Send this password to the new user by email.'); ?></label></td>
+               <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>
 <?php endif; ?>
 <?php } // !is_multisite ?>
index 1870af01cb04c0ef78095d9230bd487a76b78d70..1445245805527841196bc00b180fff7ac384f13f 100644 (file)
@@ -18,10 +18,7 @@ if ( ! is_multisite() ) {
 
 $redirect_user_admin_request = ( ( $current_blog->domain != $current_site->domain ) || ( $current_blog->path != $current_site->path ) );
 /**
- * Filter whether a user should be redirected to the Global Dashboard in Multisite.
- *
- * Users not assigned to any sites in the network will be redirected to the Global
- * Dashboard after logging in.
+ * Filter whether to redirect the request to the User Admin in Multisite.
  *
  * @since 3.2.0
  *
index 9f30076bd4f1d070d511f90a0e8cc8f63ff7f016..6ffaf9948dc1e6722f6c9f5a4b2fd8c708462288 100644 (file)
@@ -13,7 +13,7 @@ $menu[4] = array( '', 'exist', 'separator1', '', 'wp-menu-separator' );
 
 $menu[70] = array( __('Profile'), 'exist', 'profile.php', '', 'menu-top menu-icon-users', 'menu-users', 'div' );
 
-$menu[99] = array( '', 'exist', 'separator-last', '', 'wp-menu-separator-last' );
+$menu[99] = array( '', 'exist', 'separator-last', '', 'wp-menu-separator' );
 
 $_wp_real_parent_file['users.php'] = 'profile.php';
 $compat = array();
index 2a28f74b574ca0040b0f1909e48f6e233631fa1e..1dfd73cd882c6f69aaa267df162f880263a2ffc9 100644 (file)
@@ -43,9 +43,9 @@ $help = '<p>' . __('Hovering over a row in the users list will display action li
        '<li>' . __('Edit takes you to the editable profile screen for that user. You can also reach that screen by clicking on the username.') . '</li>';
 
 if ( is_multisite() )
-       $help .= '<li>' . __( 'Remove allows you to remove a user from your site. It does not delete their posts. You can also remove multiple users at once by using Bulk Actions.' ) . '</li>';
+       $help .= '<li>' . __( 'Remove allows you to remove a user from your site. It does not delete their content. You can also remove multiple users at once by using Bulk Actions.' ) . '</li>';
 else
-       $help .= '<li>' . __( 'Delete brings you to the Delete Users screen for confirmation, where you can permanently remove a user from your site and delete their posts. You can also delete multiple users at once by using Bulk Actions.' ) . '</li>';
+       $help .= '<li>' . __( 'Delete brings you to the Delete Users screen for confirmation, where you can permanently remove a user from your site and delete their content. You can also delete multiple users at once by using Bulk Actions.' ) . '</li>';
 
 $help .= '</ul>';
 
@@ -60,7 +60,7 @@ get_current_screen()->set_help_sidebar(
     '<p><strong>' . __('For more information:') . '</strong></p>' .
     '<p>' . __('<a href="http://codex.wordpress.org/Users_Screen" target="_blank">Documentation on Managing Users</a>') . '</p>' .
     '<p>' . __('<a href="http://codex.wordpress.org/Roles_and_Capabilities" target="_blank">Descriptions of Roles and Capabilities</a>') . '</p>' .
-    '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+    '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 if ( empty($_REQUEST) ) {
@@ -240,12 +240,12 @@ case 'delete':
        ?>
        </ul>
 <?php if ( $go_delete ) : ?>
-       <fieldset><p><legend><?php echo _n( 'What should be done with posts owned by this user?', 'What should be done with posts owned by these users?', $go_delete ); ?></legend></p>
+       <fieldset><p><legend><?php echo _n( 'What should be done with content owned by this user?', 'What should be done with content owned by these users?', $go_delete ); ?></legend></p>
        <ul style="list-style:none;">
                <li><label><input type="radio" id="delete_option0" name="delete_option" value="delete" />
-               <?php _e('Delete all posts.'); ?></label></li>
+               <?php _e('Delete all content.'); ?></label></li>
                <li><input type="radio" id="delete_option1" name="delete_option" value="reassign" />
-               <?php echo '<label for="delete_option1">' . __( 'Attribute all posts to:' ) . '</label> ';
+               <?php echo '<label for="delete_option1">' . __( 'Attribute all content to:' ) . '</label> ';
                wp_dropdown_users( array( 'name' => 'reassign_user', 'exclude' => array_diff( $userids, array($current_user->ID) ) ) ); ?></li>
        </ul></fieldset>
        <input type="hidden" name="action" value="dodelete" />
index 8dc99bd3650cd2371e7ecd2bef842fff7c52f859..9383d7436c9f8557ab17ae9824b13a4881ebc6b3 100644 (file)
@@ -35,7 +35,8 @@ if ( 'on' == $widgets_access ) {
 }
 
 /**
- * Fires early before the Widgets administration screen loads, after scripts are enqueued.
+ * Fires early before the Widgets administration screen loads,
+ * after scripts are enqueued.
  *
  * @since 2.2.0
  */
@@ -70,7 +71,7 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Appearance_Widgets_Screen" target="_blank">Documentation on Widgets</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 if ( ! current_theme_supports( 'widgets' ) ) {
index 859ccb4644c59e9720bfdaf058e94aa3904fb7b3..6196c368423a5bf6dd1b249a681c46bee609f14b 100644 (file)
@@ -25,7 +25,8 @@ if ( empty( $post->comment_status ) ) {
        /**
         * Fires when a comment is attempted on a post that does not exist.
         *
-        * @since unknown
+        * @since 1.5.0
+        *
         * @param int $comment_post_ID Post ID.
         */
        do_action( 'comment_id_not_found', $comment_post_ID );
@@ -41,7 +42,8 @@ if ( ! comments_open( $comment_post_ID ) ) {
        /**
         * Fires when a comment is attempted on a post that has comments closed.
         *
-        * @since unknown
+        * @since 1.5.0
+        *
         * @param int $comment_post_ID Post ID.
         */
        do_action( 'comment_closed', $comment_post_ID );
@@ -51,6 +53,7 @@ if ( ! comments_open( $comment_post_ID ) ) {
         * Fires when a comment is attempted on a trashed post.
         *
         * @since 2.9.0
+        *
         * @param int $comment_post_ID Post ID.
         */
        do_action( 'comment_on_trash', $comment_post_ID );
@@ -59,7 +62,8 @@ if ( ! comments_open( $comment_post_ID ) ) {
        /**
         * Fires when a comment is attempted on a post in draft mode.
         *
-        * @since unknown
+        * @since 1.5.1
+        *
         * @param int $comment_post_ID Post ID.
         */
        do_action( 'comment_on_draft', $comment_post_ID );
@@ -68,7 +72,8 @@ if ( ! comments_open( $comment_post_ID ) ) {
        /**
         * Fires when a comment is attempted on a password-protected post.
         *
-        * @since unknown
+        * @since 2.9.0
+        *
         * @param int $comment_post_ID Post ID.
         */
        do_action( 'comment_on_password_protected', $comment_post_ID );
@@ -77,7 +82,8 @@ if ( ! comments_open( $comment_post_ID ) ) {
        /**
         * Fires before a comment is posted.
         *
-        * @since unknown
+        * @since 2.8.0
+        *
         * @param int $comment_post_ID Post ID.
         */
        do_action( 'pre_comment_on_post', $comment_post_ID );
@@ -141,9 +147,9 @@ do_action( 'set_comment_cookies', $comment, $user );
 $location = empty($_POST['redirect_to']) ? get_comment_link($comment_id) : $_POST['redirect_to'] . '#comment-' . $comment_id;
 
 /**
- * The location URI to send commenter after posting.
+ * Filter the location URI to send the commenter after posting.
  *
- * @since unknown
+ * @since 2.0.5
  *
  * @param string $location The 'redirect_to' URI sent via $_POST.
  * @param object $comment  Comment object.
diff --git a/wp-content/plugins/akismet/_inc/akismet.css b/wp-content/plugins/akismet/_inc/akismet.css
new file mode 100644 (file)
index 0000000..e1d6fd5
--- /dev/null
@@ -0,0 +1,361 @@
+
+#submitted-on {
+    position: relative;
+}
+#the-comment-list .author .akismet-user-comment-count {
+    display: inline;
+}
+#the-comment-list .author a span {
+    text-decoration: none;
+    color: #999;
+}
+#the-comment-list .author a span.akismet-span-link {
+       text-decoration: inherit;
+       color: inherit;
+}
+#the-comment-list .remove_url {
+    margin-left: 3px;
+    color: #999;
+    padding: 2px 3px 2px 0;
+}
+#the-comment-list .remove_url:hover {
+    color: #A7301F;
+    font-weight: bold;
+    padding: 2px 2px 2px 0;
+}
+#dashboard_recent_comments .akismet-status {
+    display: none;
+}
+.akismet-status {
+    float: right;
+}
+.akismet-status a {
+    color: #AAA;
+    font-style: italic;
+}
+span.comment-link a {
+    text-decoration: underline;
+}
+span.comment-link:after {
+    content: " "attr(title) " ";
+    color: #aaa;
+    text-decoration: none;
+}
+.mshot-arrow {
+    width: 0;
+    height: 0;
+    border-top: 10px solid transparent;
+    border-bottom: 10px solid transparent;
+    border-right: 10px solid #5C5C5C;
+    position: absolute;
+    left: -6px;
+    top: 91px;
+}
+.mshot-container {
+    background: #5C5C5C;
+    position: absolute;
+    top: -94px;
+    padding: 7px;
+    width: 450px;
+    height: 338px;
+    z-index: 20000;
+    -moz-border-radius: 6px;
+    border-radius: 6px;
+    -webkit-border-radius: 6px;
+}
+h2.ak-header {
+    padding: 30px;
+    background: #649316 url('img/logo-full-2x.png') no-repeat 20px center;
+    background-size: 185px 33px;
+    height: 33px;
+    text-indent: -9999em;
+    margin-right: 10px;
+}
+.checkforspam {
+    display: inline-block !important;
+}
+.checkforspam-spinner {
+    display: none;
+    margin-top: 10px;
+}
+
+.config-wrap {
+       margin-top: 2em;
+    max-width: 700px;
+}
+
+.activate-option {
+    background: #e3e3e3;
+    border-radius: 3px;
+    margin-bottom: 30px;
+    overflow: hidden;
+    padding: 20px;
+}
+.activate-option.clicked {
+       background: #649316;
+       color: #fff;
+}
+.activate-option.clicked:hover {
+       background: #68802E;
+       color: #fff;
+}
+
+.activate-option .button.button-secondary {
+       margin: 15px 0;
+}
+
+.activate-option p {
+       margin: 10px 0 10px;
+}
+
+.activate-highlight {
+       background: #fff;
+       padding: 30px;
+       margin-right: 10px;
+}
+
+.activate-highlight.secondary {
+       background: #ddd;
+       padding: 20px 30px;
+}
+
+.activate-highlight h3 {
+       margin: 0 0 0.3em;
+}
+.activate-highlight p {
+       color: #777;
+}
+.activate-highlight .button-primary {
+       margin-top: 15px;
+}
+
+#akismet-enter-api-key .regular-text {
+       width: 18em;
+       margin-top: 15px;
+}
+
+.right {
+       float: right;
+}
+
+.alert-text {
+       color: #dd3d36;
+}
+.success {
+       color: #649316;
+}
+.option-description {
+    float: left;
+    font-size: 16px;
+}
+.option-description span {
+    color: #666;
+    display: block;
+    font-size: 14px;
+    margin-top: 5px;
+}
+.option-action {
+    float: right;
+}
+.key-config-link {
+    font-size: 14px;
+    margin-left: 20px;
+}
+.jetpack-account {
+    float: left;
+    font-size: 18px;
+    margin-right: 40px;
+}
+.small-heading {
+    color: #777;
+    display: block;
+    font-size: 12px;
+    font-weight: bold;
+    margin-bottom: 5px;
+    text-transform: uppercase;
+}
+.inline-label {
+    background: #ddd;
+    border-radius: 3px;
+    font-size: 11px;
+    padding: 3px 8px;
+    text-transform: uppercase;
+}
+.inline-label.alert {
+    background: #e54747;
+    color: #fff;
+}
+.jetpack-account .inline-label {
+    margin-left: 5px;
+}
+.option-action .manual-key {
+    margin-top: 7px;
+}
+
+.alert {
+       border: 1px solid #e5e5e5;
+       padding: 0.4em 1em 1.4em 1em;
+    border-radius: 3px;
+    -webkit-border-radius: 3px;
+    border-width: 1px;
+    border-style: solid;
+}
+
+.alert h3.key-status {
+       color: #fff;
+       margin: 1em 0 0.5em 0;
+}
+
+.alert.critical {
+       background-color: #993300;
+}
+
+.alert.active {
+       background-color: #649316;
+}
+
+.alert p.key-status {
+       font-size: 24px;
+}
+
+.alert p.description {
+       color:#fff;
+       font-size: 14px;
+    margin: 0 0;
+       font-style: normal;
+}
+
+.alert p.description a,
+.alert p.description a,
+.alert p.description a,
+.alert p.description a {
+       color: #fff;
+}
+
+.new-snapshot {
+       margin-top: 1em;
+       padding: 1em;
+       text-align: center;
+}
+
+.new-snapshot.stats {
+       background: #fff;
+       border: 1px solid #e5e5e5;
+}
+
+.new-snapshot h3 {
+    background: #f5f5f5;
+       color: #888;
+       font-size: 11px;
+    margin: 0;
+    padding: 3px;
+}
+
+.new-snapspot ul {
+       font-size: 12px;
+       width: 100%;
+}
+
+.new-snapshot ul li {
+    color: #999;
+       float: left;
+    font-size: 11px;
+       padding: 0 20px;
+    text-transform: uppercase;
+       width: 33%;
+       box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       -webkit-box-sizing: border-box;
+       -ms-box-sizing: border-box;
+}
+
+.new-snapshot.stats ul li:first-child,
+.new-snapshot.stats ul li:nth-child(2) {
+       border-right:1px dotted #ccc;
+}
+
+.new-snapshot.account ul li:nth-child(2) {
+       border-right: none;
+}
+
+.new-snapshot ul li span {
+    color: #52accc;
+       display: block;
+       font-size: 32px;
+       font-weight: lighter;
+       line-height: 1.5em;
+}
+
+.new-snapshot.stats {
+}
+
+.new-snapshot.account,
+.new-snapshot.settings {
+       float: left;
+       padding: 0;
+       text-align: left;
+       width: 50%;
+       box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       -webkit-box-sizing: border-box;
+       -ms-box-sizing: border-box;
+}
+
+.account-container {
+       background: #fff;
+       border: 1px solid #e5e5e5;
+       margin-right: 0.5em;
+}
+
+.settings-container {
+       background: #fff;
+       border: 1px solid #e5e5e5;
+       margin-left: 0.5em;
+}
+
+.new-snapshot.account ul li {
+       width:100%
+}
+
+.new-snapshot.account ul li span {
+       font-size: 14px;
+       font-weight: normal;
+}
+
+
+.new-snapshot.settings ul li {
+       border: none;
+       display: block;
+       width:100%
+}
+
+.new-snapshot.settings ul li span {
+       display: block;
+       font-size: 14px;
+       font-weight: normal;
+}
+
+.new-snapshot.settings p.submit {
+       margin: 0;
+       text-align: center;
+}
+
+.akismet-settings th.strictness {
+       vertical-align: top;
+       padding-top: 15px;
+}
+
+.akismet-settings input[type=text] {
+       width: 75%;
+}
+
+.akismet-settings span.note{
+       float: left;
+       padding-left: 23px;
+       font-size: 75%;
+       margin-top: -10px;
+}
+
+.clearfix {
+       clear:both;
+}
\ No newline at end of file
similarity index 55%
rename from wp-content/plugins/akismet/akismet.js
rename to wp-content/plugins/akismet/_inc/akismet.js
index 2db61ebfb2d191d6f8c51876d18b26c35108280d..ed65220cf8b868253442ae096b1f876074706901 100644 (file)
@@ -1,59 +1,58 @@
 jQuery( function ( $ ) {
-       $( '.switch-have-key' ).click( function() {
-               var no_key = $( this ).parents().find('div.no-key');            
-               var have_key = $( this ).parents().find('div.have-key');
-               
-               no_key.addClass( 'hidden' );
-               have_key.removeClass( 'hidden' );               
-               
+       $( 'a.activate-option' ).click( function(){
+               var link = $( this );
+               if ( link.hasClass( 'clicked' ) ) {
+                       link.removeClass( 'clicked' );
+               }
+               else {
+                       link.addClass( 'clicked' );
+               }
+               $( '.toggle-have-key' ).slideToggle( 'slow', function() {});
                return false;
        });
-       $( 'p.need-key a' ).click( function(){
-               document.akismet_activate.submit();
-       });
        $('.akismet-status').each(function () {
                var thisId = $(this).attr('commentid');
-               $(this).prependTo('#comment-' + thisId + ' .column-comment div:first-child');
+               $(this).prependTo('#comment-' + thisId + ' .column-comment');
        });
        $('.akismet-user-comment-count').each(function () {
                var thisId = $(this).attr('commentid');
                $(this).insertAfter('#comment-' + thisId + ' .author strong:first').show();
        });
        $('#the-comment-list').find('tr.comment, tr[id ^= "comment-"]').find('.column-author a[title ^= "http://"]').each(function () {
-               var thisTitle = $(this).attr('title');
-                   thisCommentId = $(this).parents('tr:first').attr('id').split("-");
-               
-               $(this).attr("id", "author_comment_url_"+ thisCommentId[1]);
-               
-               if (thisTitle) {
-                       $(this).after(
+               var thisTitle = $(this).attr('title');
+                       thisCommentId = $(this).parents('tr:first').attr('id').split("-");
+
+               $(this).attr("id", "author_comment_url_"+ thisCommentId[1]);
+
+               if (thisTitle) {
+                       $(this).after(
                                $( '<a href="#" class="remove_url">x</a>' )
                                        .attr( 'commentid', thisCommentId[1] )
                                        .attr( 'title', WPAkismet.strings['Remove this URL'] )
                        );
-               }
-       });
-       $('.remove_url').live('click', function () {
-               var thisId = $(this).attr('commentid');
-               var data = {
-                       action: 'comment_author_deurl',
+               }
+       });
+       $('.remove_url').live('click', function () {
+               var thisId = $(this).attr('commentid');
+               var data = {
+                       action: 'comment_author_deurl',
                        _wpnonce: WPAkismet.comment_author_url_nonce,
-                       id: thisId
-               };
-               $.ajax({
-                   url: ajaxurl,
-                   type: 'POST',
-                   data: data,
-                   beforeSend: function () {
-                       // Removes "x" link
-                               $("a[commentid='"+ thisId +"']").hide();
-                               // Show temp status
-                       $("#author_comment_url_"+ thisId).html( $( '<span/>' ).text( WPAkismet.strings['Removing...'] ) );
-                   },
-                   success: function (response) {
-                       if (response) {
-                                       // Show status/undo link
-                                       $("#author_comment_url_"+ thisId)
+                       id: thisId
+               };
+               $.ajax({
+                       url: ajaxurl,
+                       type: 'POST',
+                       data: data,
+                       beforeSend: function () {
+                               // Removes "x" link
+                               $("a[commentid='"+ thisId +"']").hide();
+                               // Show temp status
+                               $("#author_comment_url_"+ thisId).html( $( '<span/>' ).text( WPAkismet.strings['Removing...'] ) );
+                       },
+                       success: function (response) {
+                               if (response) {
+                                       // Show status/undo link
+                                       $("#author_comment_url_"+ thisId)
                                                .attr('cid', thisId)
                                                .addClass('akismet_undo_link_removal')
                                                .html(
@@ -66,40 +65,40 @@ jQuery( function ( $ ) {
                                                                .addClass( 'akismet-span-link' )
                                                );
                                }
-                   }
+                       }
                });
 
-               return false;
-       });
-       $('.akismet_undo_link_removal').live('click', function () {
-               var thisId = $(this).attr('cid');
+               return false;
+       });
+       $('.akismet_undo_link_removal').live('click', function () {
+               var thisId = $(this).attr('cid');
                var thisUrl = $(this).attr('href').replace("http://www.", "").replace("http://", "");
-               var data = {
-                       action: 'comment_author_reurl',
+               var data = {
+                       action: 'comment_author_reurl',
                        _wpnonce: WPAkismet.comment_author_url_nonce,
-                       id: thisId,
-                       url: thisUrl
-               };
+                       id: thisId,
+                       url: thisUrl
+               };
                $.ajax({
-                   url: ajaxurl,
-                   type: 'POST',
-                   data: data,
-                   beforeSend: function () {
-                               // Show temp status
-                       $("#author_comment_url_"+ thisId).html( $( '<span/>' ).text( WPAkismet.strings['Re-adding...'] ) );
-                   },
-                   success: function (response) {
-                       if (response) {
-                                       // Add "x" link
+                       url: ajaxurl,
+                       type: 'POST',
+                       data: data,
+                       beforeSend: function () {
+                               // Show temp status
+                               $("#author_comment_url_"+ thisId).html( $( '<span/>' ).text( WPAkismet.strings['Re-adding...'] ) );
+                       },
+                       success: function (response) {
+                               if (response) {
+                                       // Add "x" link
                                        $("a[commentid='"+ thisId +"']").show();
                                        // Show link
                                        $("#author_comment_url_"+ thisId).removeClass('akismet_undo_link_removal').html(thisUrl);
-                               }
-                   }
+                               }
+                       }
                });
-               
-               return false;
-       });
+
+               return false;
+       });
        $('a[id^="author_comment_url"], tr.pingback td.column-author a:first-of-type').mouseover(function () {
                var wpcomProtocol = ( 'https:' === location.protocol ) ? 'https://' : 'http://';
                // Need to determine size of author column
@@ -124,30 +123,30 @@ jQuery( function ( $ ) {
        }).mouseout(function () {
                $(this).find('.mShot').hide();
        });
-       $('.checkforspam:not(.button-disabled)').click( function(e) { 
-           $('.checkforspam:not(.button-disabled)').addClass('button-disabled'); 
-               $('.checkforspam-spinner').show(); 
-               akismet_check_for_spam(0, 100); 
-               e.preventDefault(); 
-       });
-       
-       function akismet_check_for_spam(offset, limit) { 
-               $.post( 
-                       ajaxurl, 
-                       { 
-                               'action': 'akismet_recheck_queue', 
-                               'offset': offset, 
-                               'limit': limit 
-                       }, 
-                       function(result) { 
-                               if (result.processed < limit) { 
-                                       window.location.reload(); 
-                               } 
-                               else { 
-                                       akismet_check_for_spam(offset + limit, limit); 
-                               } 
-                       } 
-               ); 
+       $('.checkforspam:not(.button-disabled)').click( function(e) {
+               $('.checkforspam:not(.button-disabled)').addClass('button-disabled');
+               $('.checkforspam-spinner').show();
+               akismet_check_for_spam(0, 100);
+               e.preventDefault();
+       });
+
+       function akismet_check_for_spam(offset, limit) {
+               $.post(
+                       ajaxurl,
+                       {
+                               'action': 'akismet_recheck_queue',
+                               'offset': offset,
+                               'limit': limit
+                       },
+                       function(result) {
+                               if (result.processed < limit) {
+                                       window.location.reload();
+                               }
+                               else {
+                                       akismet_check_for_spam(offset + limit, limit);
+                               }
+                       }
+               );
        }
 });
 // URL encode plugin
diff --git a/wp-content/plugins/akismet/_inc/form.js b/wp-content/plugins/akismet/_inc/form.js
new file mode 100644 (file)
index 0000000..ec5e56e
--- /dev/null
@@ -0,0 +1,17 @@
+jQuery( function ( $ ) {
+       var ak_js = $( '#ak_js' );
+
+       // If the form field already exists just use that
+       if ( ak_js.length == 0 ) {
+               ak_js = $( '<input type="hidden" id="ak_js" name="ak_js" />' );
+       }
+       else {
+               ak_js.remove();
+       }
+
+       ak_js.val( ( new Date() ).getTime() );
+
+       // single page, front-end comment form
+       // inline comment reply, wp-admin
+       $( '#commentform, #replyrow td:first' ).append( ak_js );
+} );
diff --git a/wp-content/plugins/akismet/_inc/img/logo-full-2x.png b/wp-content/plugins/akismet/_inc/img/logo-full-2x.png
new file mode 100644 (file)
index 0000000..a9bed8b
Binary files /dev/null and b/wp-content/plugins/akismet/_inc/img/logo-full-2x.png differ
diff --git a/wp-content/plugins/akismet/admin.php b/wp-content/plugins/akismet/admin.php
deleted file mode 100644 (file)
index 56d8c92..0000000
+++ /dev/null
@@ -1,943 +0,0 @@
-<?php
-add_action( 'admin_menu', 'akismet_admin_menu' );
-       
-akismet_admin_warnings();
-
-function akismet_admin_init() {
-    global $wp_version;
-    
-    // all admin functions are disabled in old versions
-    if ( !function_exists('is_multisite') && version_compare( $wp_version, '3.0', '<' ) ) {
-        
-        function akismet_version_warning() {
-            echo '
-            <div id="akismet-warning" class="updated fade"><p><strong>'.sprintf(__('Akismet %s requires WordPress 3.0 or higher.'), AKISMET_VERSION) .'</strong> '.sprintf(__('Please <a href="%s">upgrade WordPress</a> to a current version, or <a href="%s">downgrade to version 2.4 of the Akismet plugin</a>.'), 'http://codex.wordpress.org/Upgrading_WordPress', 'http://wordpress.org/extend/plugins/akismet/download/'). '</p></div>
-            ';
-        }
-        add_action('admin_notices', 'akismet_version_warning'); 
-        
-        return; 
-    }
-
-    if ( function_exists( 'get_plugin_page_hook' ) )
-        $hook = get_plugin_page_hook( 'akismet-stats-display', 'index.php' );
-    else
-        $hook = 'dashboard_page_akismet-stats-display';
-    add_meta_box('akismet-status', __('Comment History'), 'akismet_comment_status_meta_box', 'comment', 'normal');
-}
-add_action('admin_init', 'akismet_admin_init');
-
-add_action( 'admin_enqueue_scripts', 'akismet_load_js_and_css' );
-function akismet_load_js_and_css() {
-       global $hook_suffix;
-
-       if ( in_array( $hook_suffix, array( 
-               'index.php', # dashboard
-               'edit-comments.php',
-               'comment.php',
-               'post.php',
-               'plugins_page_akismet-key-config', 
-               'jetpack_page_akismet-key-config',
-       ) ) ) {
-               wp_register_style( 'akismet.css', AKISMET_PLUGIN_URL . 'akismet.css', array(), AKISMET_VERSION );
-               wp_enqueue_style( 'akismet.css');
-       
-               wp_register_script( 'akismet.js', AKISMET_PLUGIN_URL . 'akismet.js', array('jquery'), AKISMET_VERSION );
-               wp_enqueue_script( 'akismet.js' );
-               wp_localize_script( 'akismet.js', 'WPAkismet', array(
-                       'comment_author_url_nonce' => wp_create_nonce( 'comment_author_url_nonce' ),
-                       'strings' => array(
-                               'Remove this URL' => __( 'Remove this URL' ),
-                               'Removing...' => __( 'Removing...' ),
-                               'URL removed' => __( 'URL removed' ),
-                               '(undo)' => __( '(undo)' ),
-                               'Re-adding...' => __( 'Re-adding...' ),
-                       )
-               ) );
-       }
-}
-
-
-function akismet_nonce_field($action = -1) { return wp_nonce_field($action); }
-$akismet_nonce = 'akismet-update-key';
-
-function akismet_plugin_action_links( $links, $file ) {
-       if ( $file == plugin_basename( dirname(__FILE__).'/akismet.php' ) ) {
-               $links[] = '<a href="' . admin_url( 'admin.php?page=akismet-key-config' ) . '">'.__( 'Settings' ).'</a>';
-       }
-
-       return $links;
-}
-
-add_filter( 'plugin_action_links', 'akismet_plugin_action_links', 10, 2 );
-
-function akismet_conf() {
-       global $akismet_nonce, $current_user;
-       
-       $new_key_link    = 'https://akismet.com/get/';
-       $config_link     = esc_url( add_query_arg( array( 'page' => 'akismet-key-config', 'show' => 'enter-api-key' ), class_exists( 'Jetpack' ) ? admin_url( 'admin.php' ) : admin_url( 'plugins.php' ) ) );
-       $stats_link      = esc_url( add_query_arg( array( 'page' => 'akismet-stats-display' ), class_exists( 'Jetpack' ) ? admin_url( 'admin.php' ) : admin_url( 'index.php' ) ) );
-       $api_key         = akismet_get_key();
-       $show_key_form   = $api_key;
-       $key_status      = 'empty';
-       $saved_ok        = false;
-       $key_status_text = '';
-       
-       $ms = array();
-
-       if ( isset( $_POST['submit'] ) ) {
-               if ( function_exists('current_user_can') && !current_user_can('manage_options') )
-                       die(__('Cheatin&#8217; uh?'));
-                       
-               $show_key_form = true;
-
-               check_admin_referer( $akismet_nonce );
-               $key      = preg_replace( '/[^a-h0-9]/i', '', $_POST['key'] );
-               $home_url = parse_url( get_bloginfo('url') );
-               
-               if ( empty( $home_url['host'] ) )
-                       $ms[] = 'bad_home_url';
-
-               if ( empty( $key ) ) {
-                       if ( $api_key ) {
-                               delete_option('wordpress_api_key');
-                               $saved_ok = true;                       
-                               $ms[] = 'new_key_empty';
-                       }
-                       else
-                               $ms[] = 'key_empty';
-               }  
-               else
-                       $key_status = akismet_verify_key( $key );               
-               
-               if ( $key != $api_key && $key_status == 'valid' ) {
-                       $ms[] = 'new_key_valid';
-                       update_option('wordpress_api_key', $key);
-               }
-               elseif ( $key_status == 'invalid' )
-                       $ms[] = 'new_key_invalid';
-               elseif ( $key_status == 'failed' )
-                       $ms[] = 'new_key_failed';
-
-               $api_key = $key_status == 'valid' ? $key : false;
-
-               if ( isset( $_POST['akismet_discard_month'] ) )
-                       update_option( 'akismet_discard_month', 'true' );
-               else
-                       update_option( 'akismet_discard_month', 'false' );
-
-               if ( isset( $_POST['akismet_show_user_comments_approved'] ) )
-                       update_option( 'akismet_show_user_comments_approved', 'true' );
-               else
-                       update_option( 'akismet_show_user_comments_approved', 'false' );
-                       
-               if ( empty( $ms ) )
-                       $saved_ok = true;
-
-       } 
-       elseif ( isset( $_POST['check'] ) ) {
-               $show_key_form = true;
-               check_admin_referer( $akismet_nonce );
-               akismet_get_server_connectivity(0);
-       }
-       elseif ( isset( $_GET['show'] ) && $_GET['show'] == 'enter-api-key' ) {
-               $show_key_form = true;
-       }
-       
-       if ( $show_key_form ) {
-               //check current key status
-               //only get this if showing the key form otherwise takes longer for page to load for new user
-               //no need to get it if we already know it and its valid
-               if ( in_array( $key_status, array( 'invalid', 'failed', 'empty' ) ) ) {
-                       $key = get_option('wordpress_api_key');
-                       if ( empty( $key ) ) {
-                               //no key saved yet - maybe connection to Akismet down?
-                               if ( in_array( $key_status, array( 'invalid', 'empty' ) ) ) {
-                                       if ( akismet_verify_key( '1234567890ab' ) == 'failed' )
-                                               $ms[] = 'no_connection';
-                               }
-                       } 
-                       else
-                               $key_status = akismet_verify_key( $key );                       
-               }
-               
-               if ( !isset( $_POST['submit'] ) ) {
-                       if ( $key_status == 'invalid' )
-                               $ms[] = 'key_invalid';
-                       elseif ( !empty( $key ) && $key_status == 'failed' )
-                               $ms[] = 'key_failed';
-               }
-       }       
-               
-       $key_status_strings = array( 
-               'empty'   => __( 'Empty' ), 
-               'valid'   => __( 'Valid' ), 
-               'invalid' => __( 'Invalid' ), 
-               'failed'  => __( 'Failed' ), 
-       );
-
-       $messages = array(
-               'new_key_empty'   => array( 'class' => 'updated fade', 'text' => __('Your key has been cleared.' ) ),
-               'new_key_valid'   => array( 'class' => 'updated fade', 'text' => __('Your Akismet account has been successfully set up and activated. Happy blogging!' ) ),
-               'new_key_invalid' => array( 'class' => 'error',        'text' => __('The key you entered is invalid. Please double-check it.' ) ),
-               'new_key_failed'  => array( 'class' => 'error',        'text' => __('The key you entered could not be verified because a connection to akismet.com could not be established. Please check your server configuration.' ) ),
-               'no_connection'   => array( 'class' => 'error',        'text' => __('There was a problem connecting to the Akismet server. Please check your server configuration.' ) ),
-               'key_empty'       => array( 'class' => 'updated fade', 'text' => __('Please enter an API key' ) ),
-               'key_invalid'     => array( 'class' => 'error',        'text' => __('This key is invalid.' ) ),
-               'key_failed'      => array( 'class' => 'error',        'text' => __('The key below was previously validated but a connection to akismet.com can not be established at this time. Please check your server configuration.' ) ),
-               'bad_home_url'    => array( 'class' => 'error',        'text' => sprintf( __('Your WordPress home URL %s is invalid.  Please fix the <a href="%s">home option</a>.'), esc_html( get_bloginfo('url') ), admin_url('options.php#home') ) )
-       );
-?>
-
-
-<div class="wrap">
-       <?php if ( !$api_key ) : ?>
-       <h2 class="ak-header"><?php _e('Akismet'); ?></h2>
-       <?php else: ?>
-       <h2 class="ak-header"><?php printf( __( 'Akismet <a href="%s" class="add-new-h2">Stats</a>' ), $stats_link ); ?></h2>
-       <?php endif; ?>
-       <div class="no-key <?php echo $show_key_form ? 'hidden' : '';?>">
-               <p><?php _e('Akismet eliminates the comment and trackback spam you get on your site. To use Akismet you may need to sign up for an API key. Click the button below to get started.'); ?></p>
-               <form name="akismet_activate" action="https://akismet.com/get/" method="POST"> 
-                       <input type="hidden" name="return" value="1"/> 
-                       <input type="hidden" name="jetpack" value="<?php echo (string) class_exists( 'Jetpack' );?>"/>
-                       <input type="hidden" name="user" value="<?php echo esc_attr( $current_user->user_login );?>"/>
-                       <input type="submit" class="button button-primary" value="<?php esc_attr_e( 'Create a new Akismet Key' ); ?>"/>
-               </form>
-               <br/>
-               <a href="<?php echo $config_link;?>"><?php _e('I already have a key'); ?></a>
-       </div>
-       <div class="have-key <?php echo $show_key_form ? '' : 'hidden';?>">
-               <?php if ( !empty($_POST['submit'] ) && $saved_ok ) : ?>
-               <div id="message" class="updated fade"><p><strong><?php _e('Settings saved.') ?></strong></p></div>
-               <?php endif; ?>
-               <?php if ( isset($_GET['message']) && $_GET['message'] == 'success' ) : ?>
-               <div id="message" class="updated fade"><p><?php _e('<strong>Sign up success!</strong> Please check your email for your Akismet API Key and enter it below.') ?></p></div>
-               <?php endif; ?>
-               <?php foreach( $ms as $m ) : ?>
-               <div class="<?php echo $messages[$m]['class']; ?>"><p><strong><?php echo $messages[$m]['text']; ?></strong></p></div>
-               <?php endforeach; ?>            
-               <form action="" method="post" id="akismet-conf">
-                       <table class="form-table">
-                               <tbody>
-                                       <tr>
-                                               <th><label for="key"><?php _e('Akismet API Key');?></label></th>
-                                               <td>
-                                                       <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 $key_status;?>"><div class="under-input key-status <?php echo $key_status;?>"><?php echo isset( $key_status_strings[ $key_status ] ) ? $key_status_strings[ $key_status ] : '';?></div>
-                                                       <p class="need-key description"><?php printf( __('You must enter a valid Akismet API key here. If you need an API key, you can <a href="%s">create one here</a>'), '#' );?></p>
-                                               </td>
-                                       </tr>
-                                       <?php if ( $api_key ):?>
-                                       <tr valign="top">
-                                               <th scope="row"><?php _e('Settings');?></th>
-                                               <td>
-                                                       <fieldset><legend class="screen-reader-text"><span><?php _e('Settings');?></span></legend>
-                                                       <label for="akismet_discard_month" title="<?php esc_attr_e( 'Auto-detete old spam' ); ?>"><input name="akismet_discard_month" id="akismet_discard_month" value="true" type="checkbox" <?php echo get_option('akismet_discard_month') == 'true' ? 'checked="checked"':''; ?>> <span><?php _e('Auto-delete spam submitted on posts more than a month old.'); ?></span></label><br>
-                                                       <label for="akismet_show_user_comments_approved" title="<?php esc_attr_e( 'Show approved comments' ); ?>"><input name="akismet_show_user_comments_approved" id="akismet_show_user_comments_approved" value="true" type="checkbox" <?php echo get_option('akismet_show_user_comments_approved') == 'true' ? 'checked="checked"':''; ?>> <span><?php _e('Show the number of comments you\'ve approved beside each comment author.'); ?></span></label>
-                                                       </fieldset>
-                                               </td>
-                                       </tr>
-                                       <?php endif; ?>
-                               </tbody>
-                       </table>
-                       <?php akismet_nonce_field($akismet_nonce) ?>
-                       <p class="submit">
-                               <input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e('Save Changes');?>">
-                       </p>
-               </form> 
-               
-               <?php if ( $api_key ) : ?>
-               <h3><?php _e('Server Connectivity'); ?></h3>
-               <form action="" method="post" id="akismet-connectivity">
-                       <table class="form-table">
-                               <tbody>
-                                       <tr>
-                                               <th><label for="key"><?php _e('Server Status');?></label></th>
-                                               <td>
-                                               <?php if ( !function_exists('fsockopen') || !function_exists('gethostbynamel') ) : ?>
-                                                       <p class="key-status failed"><?php _e('Network functions are disabled.'); ?></p>
-                                                       <p class="description"><?php echo sprintf( __('Your web host or server administrator has disabled PHP\'s <code>fsockopen</code> or <code>gethostbynamel</code> functions.  <strong>Akismet cannot work correctly until this is fixed.</strong>  Please contact your web host or firewall administrator and give them <a href="%s" target="_blank">this information about Akismet\'s system requirements</a>.'), 'http://blog.akismet.com/akismet-hosting-faq/'); ?></p>
-                                                       <?php else :
-                                                                       $servers    = akismet_get_server_connectivity();
-                                                                       $fail_count = count( $servers ) - count( array_filter( $servers ) );
-                                                                       if ( is_array( $servers ) && count( $servers ) > 0 ) { 
-                                                                               if ( $fail_count > 0 && $fail_count < count( $servers ) ) { // some connections work, some fail ?>
-                                                       <p class="key-status some"><?php _e('Unable to reach some Akismet servers.'); ?></p>
-                                                       <p class="description"><?php echo sprintf( __('A network problem or firewall is blocking some connections from your web server to Akismet.com.  Akismet is working but this may cause problems during times of network congestion.  Please contact your web host or firewall administrator and give them <a href="%s" target="_blank">this information about Akismet and firewalls</a>.'), 'http://blog.akismet.com/akismet-hosting-faq/'); ?></p>
-                                                                       <?php } elseif ( $fail_count > 0 ) { // all connections fail ?>
-                                                       <p class="key-status failed"><?php _e('Unable to reach any Akismet servers.'); ?></p>
-                                                       <p class="description"><?php echo sprintf( __('A network problem or firewall is blocking all connections from your web server to Akismet.com.  <strong>Akismet cannot work correctly until this is fixed.</strong>  Please contact your web host or firewall administrator and give them <a href="%s" target="_blank">this information about Akismet and firewalls</a>.'), 'http://blog.akismet.com/akismet-hosting-faq/'); ?></p>
-                                                                       <?php } else { // all connections work ?>
-                                                       <p class="key-status valid"><?php  _e('All Akismet servers are available.'); ?></p>
-                                                       <p class="description"><?php _e('Akismet is working correctly.  All servers are accessible.'); ?></p>
-                                                                       <?php }
-                                                                       } else { //can't connect to any server ?>
-                                                       <p class="key-status failed"><?php _e('Unable to find Akismet servers.'); ?></p>
-                                                       <p class="description"><?php echo sprintf( __('A DNS problem or firewall is preventing all access from your web server to Akismet.com.  <strong>Akismet cannot work correctly until this is fixed.</strong>  Please contact your web host or firewall administrator and give them <a href="%s" target="_blank">this information about Akismet and firewalls</a>.'), 'http://blog.akismet.com/akismet-hosting-faq/'); ?></p>
-                                                               <?php }
-                                                       endif; ?>                                                       
-                                               </td>
-                                       </tr>
-                                       <?php if ( !empty( $servers ) ) : ?>
-                                       <tr valign="top">
-                                               <th scope="row"><?php _e('Network Status');?></th>
-                                               <td>
-                                                       <table class="network-status">
-                                                               <thead>
-                                                                               <th><?php _e('Akismet server'); ?></th><th><?php _e('Network Status'); ?></th>
-                                                               </thead>
-                                                               <tbody>
-                                                               <?php
-                                                                               asort($servers);
-                                                                               foreach ( $servers as $ip => $status ) : ?>
-                                                                               <tr>
-                                                                                       <td align="center"><?php echo esc_html( $ip ); ?></td>
-                                                                                       <td class="key-status <?php echo $status ? 'valid' : 'failed'; ?>"><?php echo $status ? __('Accessible') : __('Re-trying'); ?></td>
-                                                                               </tr>                                                                           
-                                                                       <?php endforeach; ?>
-                                                               </tbody>
-                                                       </table>
-                                                       <br/>
-                                                       <input type="submit" name="check" id="submit" class="button" style="margin-left: 13.3em;" value="<?php _e('Check Network Status');?>">
-                                               </td>
-                                       </tr>
-                                       <?php endif; ?>
-                                       <tr valign="top">
-                                               <th scope="row"><?php _e('Last Checked');?></th>
-                                               <td>
-                                                       <p><strong><?php echo get_option('akismet_connectivity_time') ? sprintf( __('%s Ago'), ucwords( human_time_diff( get_option('akismet_connectivity_time') ) ) ) : __( 'Not yet' ); ?></strong></p>
-                                                       <p class="description"><?php printf( __('You can confirm that Akismet.com is up by <a href="%s" target="_blank">clicking here</a>.'), 'http://status.automattic.com/9931/136079/Akismet-API' ); ?></p>
-                                               </td>
-                               </tbody>
-                       </table>
-                       <?php akismet_nonce_field($akismet_nonce) ?>
-               </form>
-               <?php endif;?>
-       </div>
-</div>
-<?php
-}
-
-function akismet_stats_display() {
-       global $akismet_api_host, $akismet_api_port;
-       
-       $blog        = urlencode( get_bloginfo('url') );
-       $api_key     = akismet_get_key();
-       $config_link = esc_url( add_query_arg( array( 'page' => 'akismet-key-config' ), class_exists( 'Jetpack' ) ? admin_url( 'admin.php' ) : admin_url( 'plugins.php' ) ) );?>
-       
-<div class="wrap"><?php        
-       if ( !$api_key ) :?>
-       <div id="akismet-warning" class="updated fade"><p><strong><?php _e('Akismet is almost ready.');?></strong> <?php printf( __( 'You must <a href="%1$s">enter your Akismet API key</a> for it to work.' ), $config_link );?></p></div><?php
-       else :?>
-       <iframe src="<?php echo esc_url( sprintf( '%s://akismet.com/web/1.0/user-stats.php?blog=%s&api_key=%s', is_ssl()?'https':'http', $blog, $api_key ) ); ?>" width="100%" height="2500px" frameborder="0" id="akismet-stats-frame"></iframe><?php
-       endif;?>
-</div><?php
-}
-
-function akismet_stats() {
-       if ( !function_exists('did_action') || did_action( 'rightnow_end' ) ) // We already displayed this info in the "Right Now" section
-               return;
-       if ( !$count = get_option('akismet_spam_count') )
-               return;
-       $path = plugin_basename(__FILE__);
-       echo '<h3>' . _x( 'Spam', 'comments' ) . '</h3>';
-       global $submenu;
-       echo '<p>'.sprintf( _n( '<a href="%1$s">Akismet</a> has protected your site from <a href="%2$s">%3$s spam comments</a>.', '<a href="%1$s">Akismet</a> has protected your site from <a href="%2$s">%3$s spam comments</a>.', $count ), 'http://akismet.com/?return=true', esc_url( add_query_arg( array( 'page' => 'akismet-admin' ), admin_url( isset( $submenu['edit-comments.php'] ) ? 'edit-comments.php' : 'edit.php' ) ) ), number_format_i18n($count) ).'</p>';
-}
-add_action('activity_box_end', 'akismet_stats');
-
-function akismet_admin_warnings() {
-       global $wpcom_api_key, $pagenow;
-
-       if (
-               $pagenow == 'edit-comments.php'
-               || ( !empty( $_GET['page'] ) && $_GET['page'] == 'akismet-key-config' )
-               || ( !empty( $_GET['page'] ) && $_GET['page'] == 'akismet-stats-display' )
-       ) {
-               if ( get_option( 'akismet_alert_code' ) ) {
-                       function akismet_alert() {
-                               $alert = array(
-                                       'code' => (int) get_option( 'akismet_alert_code' ),
-                                       'msg' => get_option( 'akismet_alert_msg' )
-                               );
-                       ?>
-                               <div class='error'>
-                                       <p><strong><?php _e( 'Akismet Error Code');?>: <?php echo $alert['code']; ?></strong></p>
-                                       <p><?php esc_html_e( $alert['msg'] ); ?></p>
-                                       <p><?php //FIXME: need to revert this to using __() in next version
-                                               printf( translate( 'For more information:' ) . ' <a href="%s">%s</a>' , 'https://akismet.com/errors/'.$alert['code'], 'https://akismet.com/errors/'.$alert['code'] );?>
-                                       </p>
-                               </div>
-                       <?php
-                       }
-
-                       add_action( 'admin_notices', 'akismet_alert' );
-               }
-       }
-
-       if ( !get_option('wordpress_api_key') && !$wpcom_api_key && !isset($_POST['submit']) ) {
-               function akismet_warning() {
-                       global $hook_suffix, $current_user;
-                               
-                       if ( $hook_suffix == 'plugins.php' ) {              
-                       echo '  
-                               <div class="updated" style="padding: 0; margin: 0; border: none; background: none;">  
-                                       <style type="text/css">  
-.akismet_activate{min-width:825px;border:1px solid #4F800D;padding:5px;margin:15px 0;background:#83AF24;background-image:-webkit-gradient(linear,0% 0,80% 100%,from(#83AF24),to(#4F800D));background-image:-moz-linear-gradient(80% 100% 120deg,#4F800D,#83AF24);-moz-border-radius:3px;border-radius:3px;-webkit-border-radius:3px;position:relative;overflow:hidden}.akismet_activate .aa_a{position:absolute;top:-5px;right:10px;font-size:140px;color:#769F33;font-family:Georgia, "Times New Roman", Times, serif;z-index:1}.akismet_activate .aa_button{font-weight:bold;border:1px solid #029DD6;border-top:1px solid #06B9FD;font-size:15px;text-align:center;padding:9px 0 8px 0;color:#FFF;background:#029DD6;background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#029DD6),to(#0079B1));background-image:-moz-linear-gradient(0% 100% 90deg,#0079B1,#029DD6);-moz-border-radius:2px;border-radius:2px;-webkit-border-radius:2px}.akismet_activate .aa_button:hover{text-decoration:none !important;border:1px solid #029DD6;border-bottom:1px solid #00A8EF;font-size:15px;text-align:center;padding:9px 0 8px 0;color:#F0F8FB;background:#0079B1;background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#0079B1),to(#0092BF));background-image:-moz-linear-gradient(0% 100% 90deg,#0092BF,#0079B1);-moz-border-radius:2px;border-radius:2px;-webkit-border-radius:2px}.akismet_activate .aa_button_border{border:1px solid #006699;-moz-border-radius:2px;border-radius:2px;-webkit-border-radius:2px;background:#029DD6;background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#029DD6),to(#0079B1));background-image:-moz-linear-gradient(0% 100% 90deg,#0079B1,#029DD6)}.akismet_activate .aa_button_container{cursor:pointer;display:inline-block;background:#DEF1B8;padding:5px;-moz-border-radius:2px;border-radius:2px;-webkit-border-radius:2px;width:266px}.akismet_activate .aa_description{position:absolute;top:22px;left:285px;margin-left:25px;color:#E5F2B1;font-size:15px;z-index:1000}.akismet_activate .aa_description strong{color:#FFF;font-weight:normal}
-                                       </style>                       
-                                       <form name="akismet_activate" action="'.esc_url( add_query_arg( array( 'page' => 'akismet-key-config' ), class_exists( 'Jetpack' ) ? admin_url( 'admin.php' ) : admin_url( 'plugins.php' ) ) ).'" method="POST"> 
-                                               <input type="hidden" name="return" value="1"/>
-                                               <input type="hidden" name="jetpack" value="'.(string) class_exists( 'Jetpack' ).'"/>
-                                               <input type="hidden" name="user" value="'.esc_attr( $current_user->user_login ).'"/>
-                                               <div class="akismet_activate">  
-                                                       <div class="aa_a">A</div>     
-                                                       <div class="aa_button_container" onclick="document.akismet_activate.submit();">  
-                                                               <div class="aa_button_border">          
-                                                                       <div class="aa_button">'.__('Activate your Akismet account').'</div>  
-                                                               </div>  
-                                                       </div>  
-                                                       <div class="aa_description">'.__('<strong>Almost done</strong> - activate your account and say goodbye to comment spam').'</div>  
-                                               </div>  
-                                       </form>  
-                               </div>  
-               ';      
-                       }
-               }
-
-               add_action('admin_notices', 'akismet_warning');
-               return;
-       } elseif ( ( empty($_SERVER['SCRIPT_FILENAME']) || basename($_SERVER['SCRIPT_FILENAME']) == 'edit-comments.php' ) &&  wp_next_scheduled('akismet_schedule_cron_recheck') ) {
-               function akismet_warning() {
-                       global $wpdb;
-                               akismet_fix_scheduled_recheck();
-                               $waiting = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->commentmeta WHERE meta_key = 'akismet_error'" );
-                               $next_check = wp_next_scheduled('akismet_schedule_cron_recheck');
-                               if ( $waiting > 0 && $next_check > time() )
-                                       echo '
-                       <div id="akismet-warning" class="updated fade"><p><strong>'.__('Akismet has detected a problem.').'</strong> '.sprintf(__('Some comments have not yet been checked for spam by Akismet. They have been temporarily held for moderation. Please check your <a href="%s">Akismet configuration</a> and contact your web host if problems persist.'), 'admin.php?page=akismet-key-config').'</p></div>
-                       ';
-               }
-               add_action('admin_notices', 'akismet_warning');
-               return;
-       }
-}
-
-// FIXME placeholder
-
-function akismet_comment_row_action( $a, $comment ) {
-
-       // failsafe for old WP versions
-       if ( !function_exists('add_comment_meta') )
-               return $a;
-
-       $akismet_result = get_comment_meta( $comment->comment_ID, 'akismet_result', true );
-       $akismet_error  = get_comment_meta( $comment->comment_ID, 'akismet_error', true );
-       $user_result    = get_comment_meta( $comment->comment_ID, 'akismet_user_result', true);
-       $comment_status = wp_get_comment_status( $comment->comment_ID );
-       $desc = null;
-       if ( $akismet_error ) {
-               $desc = __( 'Awaiting spam check' );
-       } elseif ( !$user_result || $user_result == $akismet_result ) {
-               // Show the original Akismet result if the user hasn't overridden it, or if their decision was the same
-               if ( $akismet_result == 'true' && $comment_status != 'spam' && $comment_status != 'trash' )
-                       $desc = __( 'Flagged as spam by Akismet' );
-               elseif ( $akismet_result == 'false' && $comment_status == 'spam' )
-                       $desc = __( 'Cleared by Akismet' );
-       } else {
-               $who = get_comment_meta( $comment->comment_ID, 'akismet_user', true );
-               if ( $user_result == 'true' )
-                       $desc = sprintf( __('Flagged as spam by %s'), $who );
-               else
-                       $desc = sprintf( __('Un-spammed by %s'), $who );
-       }
-
-       // add a History item to the hover links, just after Edit
-       if ( $akismet_result ) {
-               $b = array();
-               foreach ( $a as $k => $item ) {
-                       $b[ $k ] = $item;
-                       if (
-                               $k == 'edit'
-                               || ( $k == 'unspam' && $GLOBALS['wp_version'] >= 3.4 )
-                       ) {
-                               $b['history'] = '<a href="comment.php?action=editcomment&amp;c='.$comment->comment_ID.'#akismet-status" title="'. esc_attr__( 'View comment history' ) . '"> '. __('History') . '</a>';
-                       }
-               }
-               
-               $a = $b;
-       }
-               
-       if ( $desc )
-               echo '<span class="akismet-status" commentid="'.$comment->comment_ID.'"><a href="comment.php?action=editcomment&amp;c='.$comment->comment_ID.'#akismet-status" title="' . esc_attr__( 'View comment history' ) . '">'.esc_html( $desc ).'</a></span>';
-               
-       if ( apply_filters( 'akismet_show_user_comments_approved', get_option('akismet_show_user_comments_approved') ) == 'true' ) {
-               $comment_count = akismet_get_user_comments_approved( $comment->user_id, $comment->comment_author_email, $comment->comment_author, $comment->comment_author_url );
-               $comment_count = intval( $comment_count );
-               echo '<span class="akismet-user-comment-count" commentid="'.$comment->comment_ID.'" style="display:none;"><br><span class="akismet-user-comment-counts">'.sprintf( _n( '%s approved', '%s approved', $comment_count ), number_format_i18n( $comment_count ) ) . '</span></span>';
-       }
-       
-       return $a;
-}
-
-add_filter( 'comment_row_actions', 'akismet_comment_row_action', 10, 2 );
-
-function akismet_comment_status_meta_box($comment) {
-       $history = akismet_get_comment_history( $comment->comment_ID );
-
-       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( __('%s ago'), human_time_diff( $row['time'] ) ) . '</span> - ';
-                       echo esc_html( $row['message'] ) . '</div>';
-               }
-               
-               echo '</div>';
-
-       }
-}
-
-
-// add an extra column header to the comments screen
-function akismet_comments_columns( $columns ) {
-       $columns[ 'akismet' ] = __( 'Akismet' );
-       return $columns;
-}
-
-#add_filter( 'manage_edit-comments_columns', 'akismet_comments_columns' );
-
-// Show stuff in the extra column
-function akismet_comment_column_row( $column, $comment_id ) {
-       if ( $column != 'akismet' )
-               return;
-               
-       $history = akismet_get_comment_history( $comment_id );
-       
-       if ( $history ) {
-               echo '<dl class="akismet-history">';
-               foreach ( $history as $row ) {
-                       echo '<dt>' . sprintf( __('%s ago'), human_time_diff( $row['time'] ) ) . '</dt>';
-                       echo '<dd>' . esc_html( $row['message'] ) . '</dd>';
-               }
-               
-               echo '</dl>';
-       }
-}
-
-#add_action( 'manage_comments_custom_column', 'akismet_comment_column_row', 10, 2 );
-
-// END FIXME
-
-// call out URLS in comments
-function akismet_text_add_link_callback( $m ) {        
-       // bare link?
-       if ( $m[4] == $m[2] )
-               return '<a '.$m[1].' href="'.$m[2].'" '.$m[3].' class="comment-link">'.$m[4].'</a>';
-       else
-           return '<span title="'.$m[2].'" class="comment-link"><a '.$m[1].' href="'.$m[2].'" '.$m[3].' class="comment-link">'.$m[4].'</a></span>';
-}
-
-function akismet_text_add_link_class( $comment_text ) {
-       return preg_replace_callback( '#<a ([^>]*)href="([^"]+)"([^>]*)>(.*?)</a>#i', 'akismet_text_add_link_callback', $comment_text );
-}
-
-add_filter('comment_text', 'akismet_text_add_link_class');
-
-
-// WP 2.5+
-function akismet_rightnow() {
-       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. ',
-                       '<a href="%1$s">Akismet</a> has protected your site from %2$s spam comments already. ',
-                       $count
-               ), 'http://akismet.com/?return=true', number_format_i18n( $count ) );
-       } else {
-               $intro = sprintf( __('<a href="%1$s">Akismet</a> blocks spam from getting to your blog. '), 'http://akismet.com/?return=true' );
-       }
-
-       $link = function_exists( 'esc_url' ) ? esc_url( $link ) : clean_url( $link );
-       if ( $queue_count = akismet_spam_count() ) {
-               $queue_text = sprintf( _n(
-                       'There\'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
-               ), number_format_i18n( $queue_count ), $link );
-       } else {
-               $queue_text = sprintf( __( "There's nothing in your <a href='%1\$s'>spam queue</a> at the moment." ), $link );
-       }
-
-       $text = $intro . '<br />' . $queue_text;
-       echo "<p class='akismet-right-now'>$text</p>\n";
-}
-       
-add_action('rightnow_end', 'akismet_rightnow');
-
-
-// For WP >= 2.5
-function akismet_check_for_spam_button( $comment_status ) {
-       if ( 'approved' == $comment_status )
-               return;
-               
-       if ( function_exists('plugins_url') )
-               $link = add_query_arg( array( 'action' => 'akismet_recheck_queue' ), admin_url( 'admin.php' ) );
-       else
-               $link = add_query_arg( array( 'page' => 'akismet-admin', 'recheckqueue' => 'true', 'noheader' => 'true' ), admin_url( 'edit-comments.php' ) );  
-               
-       echo '</div><div class="alignleft"><a class="button-secondary checkforspam" href="' . $link . '">' . esc_html__('Check for Spam') . '</a>';
-       echo '<img src="' . esc_url( admin_url( 'images/wpspin_light.gif' ) ) . '" class="checkforspam-spinner" />';
-}
-add_action('manage_comments_nav', 'akismet_check_for_spam_button');
-
-function akismet_submit_nonspam_comment ( $comment_id ) {
-       global $wpdb, $akismet_api_host, $akismet_api_port, $current_user, $current_site;
-       $comment_id = (int) $comment_id;
-
-       $comment = $wpdb->get_row("SELECT * FROM $wpdb->comments WHERE comment_ID = '$comment_id'");
-       if ( !$comment ) // it was deleted
-               return;
-               
-       // use the original version stored in comment_meta if available 
-       $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 );
-       }
-       
-       $comment->blog = get_bloginfo('url');
-       $comment->blog_lang = get_locale();
-       $comment->blog_charset = get_option('blog_charset');
-       $comment->permalink = get_permalink($comment->comment_post_ID);
-       if ( is_object($current_user) ) {
-           $comment->reporter = $current_user->user_login;
-       }
-       if ( is_object($current_site) ) {
-               $comment->site_domain = $current_site->domain;
-       }
-
-       $comment->user_role = '';
-       if ( isset( $comment->user_ID ) )
-               $comment->user_role = akismet_get_user_roles($comment->user_ID);
-
-       if ( akismet_test_mode() )
-               $comment->is_test = 'true';
-
-       $post = get_post( $comment->comment_post_ID );
-       $comment->comment_post_modified_gmt = $post->post_modified_gmt;
-
-       $query_string = '';
-       foreach ( $comment as $key => $data )
-               $query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&';
-
-       $response = akismet_http_post($query_string, $akismet_api_host, "/1.1/submit-ham", $akismet_api_port);
-       if ( $comment->reporter ) {
-               akismet_update_comment_history( $comment_id, sprintf( __('%s reported this comment as not spam'), $comment->reporter ), 'report-ham' );
-               update_comment_meta( $comment_id, 'akismet_user_result', 'false' );
-               update_comment_meta( $comment_id, 'akismet_user', $comment->reporter );
-       }
-       
-       do_action('akismet_submit_nonspam_comment', $comment_id, $response[1]);
-}
-
-function akismet_submit_spam_comment ( $comment_id ) {
-       global $wpdb, $akismet_api_host, $akismet_api_port, $current_user, $current_site;
-       $comment_id = (int) $comment_id;
-
-       $comment = $wpdb->get_row("SELECT * FROM $wpdb->comments WHERE comment_ID = '$comment_id'");
-       if ( !$comment ) // it was deleted
-               return;
-       if ( 'spam' != $comment->comment_approved )
-               return;
-       
-       // use the original version stored in comment_meta if available 
-       $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 );
-       }
-       
-       $comment->blog = get_bloginfo('url');
-       $comment->blog_lang = get_locale();
-       $comment->blog_charset = get_option('blog_charset');
-       $comment->permalink = get_permalink($comment->comment_post_ID);
-       if ( is_object($current_user) ) {
-           $comment->reporter = $current_user->user_login;
-       }
-       if ( is_object($current_site) ) {
-               $comment->site_domain = $current_site->domain;
-       }
-
-       $comment->user_role = '';
-       if ( isset( $comment->user_ID ) )
-               $comment->user_role = akismet_get_user_roles($comment->user_ID);
-
-       if ( akismet_test_mode() )
-               $comment->is_test = 'true';
-
-       $post = get_post( $comment->comment_post_ID );
-       $comment->comment_post_modified_gmt = $post->post_modified_gmt;
-
-       $query_string = '';
-       foreach ( $comment as $key => $data )
-               $query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&';
-
-       $response = akismet_http_post($query_string, $akismet_api_host, "/1.1/submit-spam", $akismet_api_port);
-       if ( $comment->reporter ) {
-               akismet_update_comment_history( $comment_id, sprintf( __('%s reported this comment as spam'), $comment->reporter ), 'report-spam' );
-               update_comment_meta( $comment_id, 'akismet_user_result', 'true' );
-               update_comment_meta( $comment_id, 'akismet_user', $comment->reporter );
-       }
-       do_action('akismet_submit_spam_comment', $comment_id, $response[1]);
-}
-
-// For WP 2.7+
-function akismet_transition_comment_status( $new_status, $old_status, $comment ) {
-       if ( $new_status == $old_status )
-               return;
-
-       # we don't need to record a history item for deleted comments
-       if ( $new_status == 'delete' )
-               return;
-               
-       if ( !is_admin() )
-               return;
-               
-       if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) && !current_user_can( 'moderate_comments' ) )
-               return;
-
-       if ( defined('WP_IMPORTING') && WP_IMPORTING == true )
-               return;
-
-       // if this is present, it means the status has been changed by a re-check, not an explicit user action
-       if ( get_comment_meta( $comment->comment_ID, 'akismet_rechecking' ) )
-               return;
-               
-       global $current_user;
-       $reporter = '';
-       if ( is_object( $current_user ) )
-               $reporter = $current_user->user_login;
-       
-       // Assumption alert:
-       // We want to submit comments to Akismet only when a moderator explicitly spams or approves it - not if the status
-       // is changed automatically by another plugin.  Unfortunately WordPress doesn't provide an unambiguous way to
-       // determine why the transition_comment_status action was triggered.  And there are several different ways by which
-       // to spam and unspam comments: bulk actions, ajax, links in moderation emails, the dashboard, and perhaps others.
-       // We'll assume that this is an explicit user action if POST or GET has an 'action' key.
-       if ( isset($_POST['action']) || isset($_GET['action']) ) {
-               if ( $new_status == 'spam' && ( $old_status == 'approved' || $old_status == 'unapproved' || !$old_status ) ) {
-                               return akismet_submit_spam_comment( $comment->comment_ID );
-               } elseif ( $old_status == 'spam' && ( $new_status == 'approved' || $new_status == 'unapproved' ) ) {
-                               return akismet_submit_nonspam_comment( $comment->comment_ID );
-               }
-       }
-       
-       akismet_update_comment_history( $comment->comment_ID, sprintf( __('%s changed the comment status to %s'), $reporter, $new_status ), 'status-' . $new_status );
-}
-
-add_action( 'transition_comment_status', 'akismet_transition_comment_status', 10, 3 );
-
-// Total spam in queue
-// get_option( 'akismet_spam_count' ) is the total caught ever
-function akismet_spam_count( $type = false ) {
-       global $wpdb;
-
-       if ( !$type ) { // total
-               $count = wp_cache_get( 'akismet_spam_count', 'widget' );
-               if ( false === $count ) {
-                       if ( function_exists('wp_count_comments') ) {
-                               $count = wp_count_comments();
-                               $count = $count->spam;
-                       } else {
-                               $count = (int) $wpdb->get_var("SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_approved = 'spam'");
-                       }
-                       wp_cache_set( 'akismet_spam_count', $count, 'widget', 3600 );
-               }
-               return $count;
-       } elseif ( 'comments' == $type || 'comment' == $type ) { // comments
-               $type = '';
-       } else { // pingback, trackback, ...
-               $type  = $wpdb->escape( $type );
-       }
-
-       return (int) $wpdb->get_var("SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_approved = 'spam' AND comment_type='$type'");
-}
-
-
-function akismet_recheck_queue() {
-       global $wpdb, $akismet_api_host, $akismet_api_port;
-
-       akismet_fix_scheduled_recheck();
-
-       if ( ! ( isset( $_GET['recheckqueue'] ) || ( isset( $_REQUEST['action'] ) && 'akismet_recheck_queue' == $_REQUEST['action'] ) ) )
-               return;
-                                       
-       $paginate = ''; 
-       if ( isset( $_POST['limit'] ) && isset( $_POST['offset'] ) ) { 
-               $paginate = $wpdb->prepare( " LIMIT %d OFFSET %d", array( $_POST['limit'], $_POST['offset'] ) ); 
-       } 
-       $moderation = $wpdb->get_results( "SELECT * FROM {$wpdb->comments} WHERE comment_approved = '0'{$paginate}", ARRAY_A );
-       foreach ( (array) $moderation as $c ) {
-               $c['user_ip']    = $c['comment_author_IP'];
-               $c['user_agent'] = $c['comment_agent'];
-               $c['referrer']   = '';
-               $c['blog']       = get_bloginfo('url');
-               $c['blog_lang']  = get_locale();
-               $c['blog_charset'] = get_option('blog_charset');
-               $c['permalink']    = get_permalink($c['comment_post_ID']);
-
-               $c['user_role'] = '';
-               if ( isset( $c['user_ID'] ) )
-                       $c['user_role']  = akismet_get_user_roles($c['user_ID']);
-
-               if ( akismet_test_mode() )
-                       $c['is_test'] = 'true';
-
-               $id = (int) $c['comment_ID'];
-
-               $query_string = '';
-               foreach ( $c as $key => $data )
-               $query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&';
-
-               add_comment_meta( $c['comment_ID'], 'akismet_rechecking', true );
-               $response = akismet_http_post($query_string, $akismet_api_host, '/1.1/comment-check', $akismet_api_port);
-               if ( 'true' == $response[1] ) {
-                       wp_set_comment_status($c['comment_ID'], 'spam');
-                       update_comment_meta( $c['comment_ID'], 'akismet_result', 'true' );
-                       delete_comment_meta( $c['comment_ID'], 'akismet_error' );
-                       akismet_update_comment_history( $c['comment_ID'], __('Akismet re-checked and caught this comment as spam'), 'check-spam' );
-               
-               } elseif ( 'false' == $response[1] ) {
-                       update_comment_meta( $c['comment_ID'], 'akismet_result', 'false' );
-                       delete_comment_meta( $c['comment_ID'], 'akismet_error' );
-                       akismet_update_comment_history( $c['comment_ID'], __('Akismet re-checked and cleared this comment'), 'check-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)'), substr($response[1], 0, 50)), 'check-error' );
-               }
-
-               delete_comment_meta( $c['comment_ID'], 'akismet_rechecking' );
-       }
-       if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { 
-               wp_send_json( array( 
-                       'processed' => count((array) $moderation), 
-               )); 
-       } 
-       else { 
-               $redirect_to = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : admin_url( 'edit-comments.php' ); 
-               wp_safe_redirect( $redirect_to ); 
-               exit; 
-       }
-}
-
-add_action('admin_action_akismet_recheck_queue', 'akismet_recheck_queue');
-add_action('wp_ajax_akismet_recheck_queue', 'akismet_recheck_queue');
-
-// Adds an 'x' link next to author URLs, clicking will remove the author URL and show an undo link
-function akismet_remove_comment_author_url() {
-    if ( !empty($_POST['id'] ) && check_admin_referer( 'comment_author_url_nonce' ) ) {
-        global $wpdb;
-        $comment = get_comment( intval($_POST['id']), ARRAY_A );
-        if (current_user_can('edit_comment', $comment['comment_ID'])) {
-            $comment['comment_author_url'] = '';
-            do_action( 'comment_remove_author_url' );
-            print(wp_update_comment( $comment ));
-            die();
-        }
-    }
-}
-
-add_action('wp_ajax_comment_author_deurl', 'akismet_remove_comment_author_url');
-
-function akismet_add_comment_author_url() {
-    if ( !empty( $_POST['id'] ) && !empty( $_POST['url'] ) && check_admin_referer( 'comment_author_url_nonce' ) ) {
-        global $wpdb;
-        $comment = get_comment( intval($_POST['id']), ARRAY_A );
-        if (current_user_can('edit_comment', $comment['comment_ID'])) {
-            $comment['comment_author_url'] = esc_url($_POST['url']);
-            do_action( 'comment_add_author_url' );
-            print(wp_update_comment( $comment ));
-            die();
-        }
-    }
-}
-
-add_action('wp_ajax_comment_author_reurl', 'akismet_add_comment_author_url');
-
-// Check connectivity between the WordPress blog and Akismet's servers.
-// Returns an associative array of server IP addresses, where the key is the IP address, and value is true (available) or false (unable to connect).
-function akismet_check_server_connectivity() {
-       global $akismet_api_host, $akismet_api_port, $wpcom_api_key;
-       
-       $test_host = 'rest.akismet.com';
-       
-       // Some web hosts may disable one or both functions
-       if ( !function_exists('fsockopen') || !function_exists('gethostbynamel') )
-               return array();
-       
-       $ips = gethostbynamel($test_host);
-       if ( !$ips || !is_array($ips) || !count($ips) )
-               return array();
-               
-       $servers = array();
-       foreach ( $ips as $ip ) {
-               $response = akismet_verify_key( akismet_get_key(), $ip );
-               // even if the key is invalid, at least we know we have connectivity
-               if ( $response == 'valid' || $response == 'invalid' )
-                       $servers[$ip] = true;
-               else
-                       $servers[$ip] = false;
-       }
-
-       return $servers;
-}
-
-// Check the server connectivity and store the results in an option.
-// Cached results will be used if not older than the specified timeout in seconds; use $cache_timeout = 0 to force an update.
-// Returns the same associative array as akismet_check_server_connectivity()
-function akismet_get_server_connectivity( $cache_timeout = 86400 ) {
-       $servers = get_option('akismet_available_servers');
-       if ( (time() - get_option('akismet_connectivity_time') < $cache_timeout) && $servers !== false )
-               return $servers;
-       
-       // There's a race condition here but the effect is harmless.
-       $servers = akismet_check_server_connectivity();
-       update_option('akismet_available_servers', $servers);
-       update_option('akismet_connectivity_time', time());
-       return $servers;
-}
-
-// Returns true if server connectivity was OK at the last check, false if there was a problem that needs to be fixed.
-function akismet_server_connectivity_ok() {
-       // skip the check on WPMU because the status page is hidden
-       global $wpcom_api_key;
-       if ( $wpcom_api_key )
-               return true;
-       $servers = akismet_get_server_connectivity();
-       return !( empty($servers) || !count($servers) || count( array_filter($servers) ) < count($servers) );
-}
-
-function akismet_admin_menu() {
-       if ( class_exists( 'Jetpack' ) ) {
-               add_action( 'jetpack_admin_menu', 'akismet_load_menu' );
-       } else {
-               akismet_load_menu();
-       }
-}
-
-function akismet_load_menu() { 
-       if ( class_exists( 'Jetpack' ) ) {
-               add_submenu_page( 'jetpack', __( 'Akismet' ), __( 'Akismet' ), 'manage_options', 'akismet-key-config', 'akismet_conf' );
-               add_submenu_page( 'jetpack', __( 'Akismet Stats' ), __( 'Akismet Stats' ), 'manage_options', 'akismet-stats-display', 'akismet_stats_display' );
-       } else {
-               add_submenu_page('plugins.php', __('Akismet'), __('Akismet'), 'manage_options', 'akismet-key-config', 'akismet_conf');
-               add_submenu_page('index.php', __('Akismet Stats'), __('Akismet Stats'), 'manage_options', 'akismet-stats-display', 'akismet_stats_display');
-       }
-}
diff --git a/wp-content/plugins/akismet/akismet.css b/wp-content/plugins/akismet/akismet.css
deleted file mode 100644 (file)
index 5126449..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#submitted-on{position:relative}#the-comment-list .author .akismet-user-comment-count{display:inline}#the-comment-list .author a span{text-decoration:none;color:#999}#the-comment-list .remove_url{margin-left:3px;color:#999;padding:2px 3px 2px 0}#the-comment-list .remove_url:hover{color:#A7301F;font-weight:bold;padding:2px 2px 2px 0}#dashboard_recent_comments .akismet-status{display:none}.akismet-status{float:right}.akismet-status a{color:#AAA;font-style:italic}span.comment-link a{text-decoration:underline}span.comment-link:after{content:" "attr(title) " ";color:#aaa;text-decoration:none}.mshot-arrow{width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid #5C5C5C;position:absolute;left:-6px;top:91px}.mshot-container{background:#5C5C5C;position:absolute;top:-94px;padding:7px;width:450px;height:338px;z-index:20000;-moz-border-radius:6px;border-radius:6px;-webkit-border-radius:6px}h2.ak-header{padding-left:38px;background:url('img/logo.png') no-repeat 0 9px;margin-bottom:14px;line-height:32px}.key-status{padding:0.4em 1em;color:#fff;font-weight:bold;text-align:center;-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid;max-width:23.3em}input#key{width:25.3em !important}input#key.valid{border-color:#4F800D}input#key.invalid,input#key.failed{border-color:#888}.key-status.under-input{margin-top:-5px;padding-bottom:0px}.key-status.invalid,.key-status.failed{background-color:#888}.key-status.valid{background-color:#4F800D}.key-status.some{background-color:#993300}.key-status.empty{display:none}table.network-status th,table.network-status td{padding:0.4em;margin:0;text-align:center}table.network-status{border-color:#dfdfdf;border-width:0 0 1px 1px;border-style:solid;border-spacing:0;width:25.6em}table.network-status th,table.network-status td{border-color:#dfdfdf;border-width:1px 1px 0 0;border-style:solid;margin:0;border-spacing:0}table.network-status td.key-status{border-radius:0px;-webkit-border-radius:0px}.checkforspam{display:inline-block !important;}.checkforspam-spinner{display:none;margin-top:10px;}
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/akismet.gif b/wp-content/plugins/akismet/akismet.gif
deleted file mode 100644 (file)
index 0b93a89..0000000
Binary files a/wp-content/plugins/akismet/akismet.gif and /dev/null differ
index 4fff8bb684e01ffd8cc9ac01495e4553283f94a5..811ab717b8afeb18a2f7963aa7b7e7b66a16c0aa 100644 (file)
@@ -4,12 +4,13 @@
  */
 /*
 Plugin Name: Akismet
-Plugin URI: http://akismet.com/?return=true
-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/?return=true">Sign up for an Akismet API key</a>, and 3) Go to your Akismet configuration page, and save your API key.
-Version: 2.6.0
+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.0.0
 Author: Automattic
 Author URI: http://automattic.com/wordpress-plugins/
 License: GPLv2 or later
+Text Domain: akismet
 */
 
 /*
@@ -34,667 +35,25 @@ if ( !function_exists( 'add_action' ) ) {
        exit;
 }
 
-define('AKISMET_VERSION', '2.6.0');
-define('AKISMET_PLUGIN_URL', plugin_dir_url( __FILE__ ));
-define('AKISMET_DELETE_LIMIT', 10000);
+define( 'AKISMET_VERSION', '3.0.0' );
+define( 'AKISMET__MINIMUM_WP_VERSION', '3.0' );
+define( 'AKISMET__PLUGIN_URL', plugin_dir_url( __FILE__ ) );
+define( 'AKISMET__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
+define( 'AKISMET_DELETE_LIMIT', 100000 );
 
-/** If you hardcode a WP.com API key here, all key config screens will be hidden */
-if ( defined('WPCOM_API_KEY') )
-       $wpcom_api_key = constant('WPCOM_API_KEY');
-else
-       $wpcom_api_key = '';
+register_activation_hook( __FILE__, array( 'Akismet', 'plugin_activation' ) );
+register_deactivation_hook( __FILE__, array( 'Akismet', 'plugin_deactivation' ) );
 
-if ( isset($wp_db_version) && $wp_db_version <= 9872 )
-       include_once dirname( __FILE__ ) . '/legacy.php';
+require_once( AKISMET__PLUGIN_DIR . 'class.akismet.php' );
+require_once( AKISMET__PLUGIN_DIR . 'class.akismet-widget.php' );
 
-include_once dirname( __FILE__ ) . '/widget.php';
+add_action( 'init', array( 'Akismet', 'init' ) );
 
-if ( is_admin() )
-       require_once dirname( __FILE__ ) . '/admin.php';
-
-function akismet_init() {
-       global $wpcom_api_key, $akismet_api_host, $akismet_api_port;
-
-       if ( $wpcom_api_key )
-               $akismet_api_host = $wpcom_api_key . '.rest.akismet.com';
-       else
-               $akismet_api_host = get_option('wordpress_api_key') . '.rest.akismet.com';
-
-       $akismet_api_port = 80;
-}
-add_action('init', 'akismet_init');
-
-function akismet_get_key() {
-       global $wpcom_api_key;
-       if ( !empty($wpcom_api_key) )
-               return $wpcom_api_key;
-       return get_option('wordpress_api_key');
-}
-
-function akismet_check_key_status( $key, $ip = null ) {
-       global $akismet_api_host, $akismet_api_port, $wpcom_api_key;
-       $blog = urlencode( get_option('home') );
-       if ( $wpcom_api_key )
-               $key = $wpcom_api_key;
-       $response = akismet_http_post("key=$key&blog=$blog", 'rest.akismet.com', '/1.1/verify-key', $akismet_api_port, $ip);
-       return $response;
-}
-
-// given a response from an API call like akismet_check_key_status(), update the alert code options if an alert is present.
-function akismet_update_alert( $response ) {
-       $code = $msg = null;
-       if ( isset($response[0]['x-akismet-alert-code']) ) {
-               $code = $response[0]['x-akismet-alert-code'];
-               $msg = $response[0]['x-akismet-alert-msg'];
-       }
-       
-       // only call update_option() if the value has changed
-       if ( $code != get_option( 'akismet_alert_code' ) ) {
-               update_option( 'akismet_alert_code', $code );
-               update_option( 'akismet_alert_msg', $msg );
-       }
-}
-
-function akismet_verify_key( $key, $ip = null ) {
-       $response = akismet_check_key_status( $key, $ip );
-       akismet_update_alert( $response );
-       if ( !is_array($response) || !isset($response[1]) || $response[1] != 'valid' && $response[1] != 'invalid' )
-               return 'failed';
-       return $response[1];
-}
-
-// if we're in debug or test modes, use a reduced service level so as not to polute training or stats data
-function akismet_test_mode() {
-       if ( defined('AKISMET_TEST_MODE') && AKISMET_TEST_MODE )
-               return true;
-       return false;
-}
-
-// return a comma-separated list of role names for the given user
-function akismet_get_user_roles( $user_id ) {
-       $roles = false;
-       
-       if ( !class_exists('WP_User') )
-               return false;
-       
-       if ( $user_id > 0 ) {
-               $comment_user = new WP_User($user_id);
-               if ( isset($comment_user->roles) )
-                       $roles = join(',', $comment_user->roles);
-       }
-
-       if ( is_multisite() && is_super_admin( $user_id ) ) {
-               if ( empty( $roles ) ) {
-                       $roles = 'super_admin';
-               } else {
-                       $comment_user->roles[] = 'super_admin';
-                       $roles = join( ',', $comment_user->roles );
-               }
-       }
-
-       return $roles;
-}
-
-// Returns array with headers in $response[0] and body in $response[1]
-function akismet_http_post($request, $host, $path, $port = 80, $ip=null) {
-       global $wp_version;
-
-       $akismet_ua = "WordPress/{$wp_version} | ";
-       $akismet_ua .= 'Akismet/' . constant( 'AKISMET_VERSION' );
-
-       $akismet_ua = apply_filters( 'akismet_ua', $akismet_ua );
-
-       $content_length = strlen( $request );
-
-       $http_host = $host;
-       // use a specific IP if provided
-       // needed by akismet_check_server_connectivity()
-       if ( $ip && long2ip( ip2long( $ip ) ) ) {
-               $http_host = $ip;
-       } else {
-               $http_host = $host;
-       }
-       
-       // use the WP HTTP class if it is available
-       if ( function_exists( 'wp_remote_post' ) ) {
-               $http_args = array(
-                       'body'                  => $request,
-                       'headers'               => array(
-                               'Content-Type'  => 'application/x-www-form-urlencoded; ' .
-                                                                       'charset=' . get_option( 'blog_charset' ),
-                               'Host'                  => $host,
-                               'User-Agent'    => $akismet_ua
-                       ),
-                       'httpversion'   => '1.0',
-                       'timeout'               => 15
-               );
-               $akismet_url = "http://{$http_host}{$path}";
-               $response = wp_remote_post( $akismet_url, $http_args );
-               if ( is_wp_error( $response ) )
-                       return '';
-
-               return array( $response['headers'], $response['body'] );
-       } else {
-               $http_request  = "POST $path HTTP/1.0\r\n";
-               $http_request .= "Host: $host\r\n";
-               $http_request .= 'Content-Type: application/x-www-form-urlencoded; charset=' . get_option('blog_charset') . "\r\n";
-               $http_request .= "Content-Length: {$content_length}\r\n";
-               $http_request .= "User-Agent: {$akismet_ua}\r\n";
-               $http_request .= "\r\n";
-               $http_request .= $request;
-               
-               $response = '';
-               if( false != ( $fs = @fsockopen( $http_host, $port, $errno, $errstr, 10 ) ) ) {
-                       fwrite( $fs, $http_request );
-
-                       while ( !feof( $fs ) )
-                               $response .= fgets( $fs, 1160 ); // One TCP-IP packet
-                       fclose( $fs );
-                       $response = explode( "\r\n\r\n", $response, 2 );
-               }
-               return $response;
-       }
-}
-
-// filter handler used to return a spam result to pre_comment_approved
-function akismet_result_spam( $approved ) {
-       static $just_once = false;
-       if ( $just_once )
-               return $approved;
-               
-       // bump the counter here instead of when the filter is added to reduce the possibility of overcounting
-       if ( $incr = apply_filters('akismet_spam_count_incr', 1) )
-               update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr );
-               
-       // this is a one-shot deal
-       $just_once = true;
-       return 'spam';
-}
-
-function akismet_result_hold( $approved ) {
-       static $just_once = false;
-       if ( $just_once )
-               return $approved;
-               
-       // once only
-       $just_once = true;
-       return '0';
-}
-
-// how many approved comments does this author have?
-function akismet_get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) {
-       global $wpdb;
-       
-       if ( !empty($user_id) )
-               return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->comments WHERE user_id = %d AND comment_approved = 1", $user_id ) );
-               
-       if ( !empty($comment_author_email) )
-               return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->comments WHERE comment_author_email = %s AND comment_author = %s AND comment_author_url = %s AND comment_approved = 1", $comment_author_email, $comment_author, $comment_author_url ) );
-               
-       return 0;
-}
-
-function akismet_microtime() {
-       $mtime = explode( ' ', microtime() );
-       return $mtime[1] + $mtime[0];
-}
-
-// log an event for a given comment, storing it in comment_meta
-function akismet_update_comment_history( $comment_id, $message, $event=null ) {
-       global $current_user;
-
-       // failsafe for old WP versions
-       if ( !function_exists('add_comment_meta') )
-               return false;
-       
-       $user = '';
-       if ( is_object($current_user) && isset($current_user->user_login) )
-               $user = $current_user->user_login;
-
-       $event = array(
-               'time' => akismet_microtime(),
-               'message' => $message,
-               'event' => $event,
-               'user' => $user,
-       );
-
-       // $unique = false so as to allow multiple values per comment
-       $r = add_comment_meta( $comment_id, 'akismet_history', $event, false );
-}
-
-// get the full comment history for a given comment, as an array in reverse chronological order
-function akismet_get_comment_history( $comment_id ) {
-       
-       // failsafe for old WP versions
-       if ( !function_exists('add_comment_meta') )
-               return false;
-
-       $history = get_comment_meta( $comment_id, 'akismet_history', false );
-       usort( $history, 'akismet_cmp_time' );
-       return $history;
-}
-
-function akismet_cmp_time( $a, $b ) {
-       return $a['time'] > $b['time'] ? -1 : 1;
-}
-
-// this fires on wp_insert_comment.  we can't update comment_meta when akismet_auto_check_comment() runs
-// because we don't know the comment ID at that point.
-function akismet_auto_check_update_meta( $id, $comment ) {
-       global $akismet_last_comment;
-
-       // failsafe for old WP versions
-       if ( !function_exists('add_comment_meta') )
-               return false;
-
-       if ( !isset( $akismet_last_comment['comment_author_email'] ) )
-               $akismet_last_comment['comment_author_email'] = '';
-
-       // wp_insert_comment() might be called in other contexts, so make sure this is the same comment
-       // as was checked by akismet_auto_check_comment
-       if ( is_object($comment) && !empty($akismet_last_comment) && is_array($akismet_last_comment) ) {
-               if ( isset($akismet_last_comment['comment_post_ID']) && intval($akismet_last_comment['comment_post_ID']) == intval($comment->comment_post_ID)
-                       && $akismet_last_comment['comment_author'] == $comment->comment_author
-                       && $akismet_last_comment['comment_author_email'] == $comment->comment_author_email ) {
-                               // normal result: true or false
-                               if ( $akismet_last_comment['akismet_result'] == 'true' ) {
-                                       update_comment_meta( $comment->comment_ID, 'akismet_result', 'true' );
-                                       akismet_update_comment_history( $comment->comment_ID, __('Akismet caught this comment as spam'), 'check-spam' );
-                                       if ( $comment->comment_approved != 'spam' )
-                                               akismet_update_comment_history( $comment->comment_ID, sprintf( __('Comment status was changed to %s'), $comment->comment_approved), 'status-changed'.$comment->comment_approved );
-                               } elseif ( $akismet_last_comment['akismet_result'] == 'false' ) {
-                                       update_comment_meta( $comment->comment_ID, 'akismet_result', 'false' );
-                                       akismet_update_comment_history( $comment->comment_ID, __('Akismet cleared this comment'), '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) )
-                                                       akismet_update_comment_history( $comment->comment_ID, __('Comment was caught by wp_blacklist_check'), 'wp-blacklisted' );
-                                               else
-                                                       akismet_update_comment_history( $comment->comment_ID, sprintf( __('Comment status was changed to %s'), $comment->comment_approved), 'status-changed-'.$comment->comment_approved );
-                                       }
-                               // abnormal result: error
-                               } else {
-                                       update_comment_meta( $comment->comment_ID, 'akismet_error', time() );
-                                       akismet_update_comment_history( $comment->comment_ID, sprintf( __('Akismet was unable to check this comment (response: %s), will automatically retry again later.'), substr($akismet_last_comment['akismet_result'], 0, 50)), 'check-error' );
-                               }
-                               
-                               // record the complete original data as submitted for checking
-                               if ( isset($akismet_last_comment['comment_as_submitted']) )
-                                       update_comment_meta( $comment->comment_ID, 'akismet_as_submitted', $akismet_last_comment['comment_as_submitted'] );
-               }
-       }
-}
-
-add_action( 'wp_insert_comment', 'akismet_auto_check_update_meta', 10, 2 );
-
-
-function akismet_auto_check_comment( $commentdata ) {
-       global $akismet_api_host, $akismet_api_port, $akismet_last_comment;
-
-       $comment = $commentdata;
-       $comment['user_ip']    = akismet_get_ip_address();
-       $comment['user_agent'] = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : null; 
-       $comment['referrer']   = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;
-       $comment['blog']       = get_option('home');
-       $comment['blog_lang']  = get_locale();
-       $comment['blog_charset'] = get_option('blog_charset');
-       $comment['permalink']  = get_permalink($comment['comment_post_ID']);
-       
-       if ( !empty( $comment['user_ID'] ) ) {
-               $comment['user_role'] = akismet_get_user_roles( $comment['user_ID'] );
-       }
-
-       $akismet_nonce_option = apply_filters( 'akismet_comment_nonce', get_option( 'akismet_comment_nonce' ) );
-       $comment['akismet_comment_nonce'] = 'inactive';
-       if ( $akismet_nonce_option == 'true' || $akismet_nonce_option == '' ) {
-               $comment['akismet_comment_nonce'] = 'failed';
-               if ( isset( $_POST['akismet_comment_nonce'] ) && wp_verify_nonce( $_POST['akismet_comment_nonce'], 'akismet_comment_nonce_' . $comment['comment_post_ID'] ) )
-                       $comment['akismet_comment_nonce'] = 'passed';
-
-               // comment reply in wp-admin
-               if ( isset( $_POST['_ajax_nonce-replyto-comment'] ) && check_ajax_referer( 'replyto-comment', '_ajax_nonce-replyto-comment' ) )
-                       $comment['akismet_comment_nonce'] = 'passed';
-
-       }
-
-       if ( akismet_test_mode() )
-               $comment['is_test'] = 'true';
-               
-       foreach ($_POST as $key => $value ) {
-               if ( is_string($value) )
-                       $comment["POST_{$key}"] = $value;
-       }
-
-       $ignore = array( 'HTTP_COOKIE', 'HTTP_COOKIE2', 'PHP_AUTH_PW' );
-
-       foreach ( $_SERVER as $key => $value ) {
-               if ( !in_array( $key, $ignore ) && is_string($value) )
-                       $comment["$key"] = $value;
-               else
-                       $comment["$key"] = '';
-       }
-
-       $post = get_post( $comment['comment_post_ID'] );
-       $comment[ 'comment_post_modified_gmt' ] = $post->post_modified_gmt;
-
-       $query_string = '';
-       foreach ( $comment as $key => $data )
-               $query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&';
-               
-       $commentdata['comment_as_submitted'] = $comment;
-
-       $response = akismet_http_post($query_string, $akismet_api_host, '/1.1/comment-check', $akismet_api_port);
-       do_action( 'akismet_comment_check_response', $response );
-       akismet_update_alert( $response );
-       $commentdata['akismet_result'] = $response[1];
-       if ( 'true' == $response[1] ) {
-               // akismet_spam_count will be incremented later by akismet_result_spam()
-               add_filter('pre_comment_approved', 'akismet_result_spam');
-
-               do_action( 'akismet_spam_caught' );
-
-               $last_updated = strtotime( $post->post_modified_gmt );
-               $diff = time() - $last_updated;
-               $diff = $diff / 86400;
-               
-               if ( $post->post_type == 'post' && $diff > 30 && get_option( 'akismet_discard_month' ) == 'true' && empty($comment['user_ID']) ) {
-                       // akismet_result_spam() won't be called so bump the counter here
-                       if ( $incr = apply_filters('akismet_spam_count_incr', 1) )
-                               update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr );
-                       $redirect_to = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : get_permalink( $post );
-                       wp_safe_redirect( $redirect_to );
-                       die();
-               }
-       }
-       
-       // if the response is neither true nor false, hold the comment for moderation and schedule a recheck
-       if ( 'true' != $response[1] && 'false' != $response[1] ) {
-               if ( !current_user_can('moderate_comments') ) {
-                       add_filter('pre_comment_approved', 'akismet_result_hold');
-               }
-               if ( !wp_next_scheduled( 'akismet_schedule_cron_recheck' ) ) {
-                       wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
-               }
-       }
-       
-       if ( function_exists('wp_next_scheduled') && function_exists('wp_schedule_event') ) {
-               // WP 2.1+: delete old comments daily
-               if ( !wp_next_scheduled('akismet_scheduled_delete') )
-                       wp_schedule_event(time(), 'daily', 'akismet_scheduled_delete');
-       } elseif ( (mt_rand(1, 10) == 3) ) {
-               // WP 2.0: run this one time in ten
-               akismet_delete_old();
-       }
-       $akismet_last_comment = $commentdata;
-
-       akismet_fix_scheduled_recheck();
-       return $commentdata;
-}
-
-add_action('preprocess_comment', 'akismet_auto_check_comment', 1);
-
-function akismet_get_ip_address() {
-       foreach( array( 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR' ) as $key ) {
-               if ( array_key_exists( $key, $_SERVER ) === true ) {
-                       foreach ( explode( ',', $_SERVER[$key] ) as $ip ) {
-                               $ip = trim($ip); 
-       
-                               if ( filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false ) {
-                                       return $ip;
-                               }
-                       }
-               }
-       }
-       return null;
-}
-
-function akismet_delete_old() {
-       global $wpdb;
-       
-       while( $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_id FROM {$wpdb->comments} WHERE DATE_SUB(NOW(), INTERVAL 15 DAY) > comment_date_gmt AND comment_approved = 'spam' LIMIT %d", defined( 'AKISMET_DELETE_LIMIT' ) ? AKISMET_DELETE_LIMIT : 10000 ) ) ) {
-               if ( empty( $comment_ids ) )
-                       return;
-               
-               $wpdb->queries = array();
-
-               do_action( 'delete_comment', $comment_ids );
-               
-               $comma_comment_ids = implode( ', ', array_map('intval', $comment_ids) );
-       
-               $wpdb->query("DELETE FROM {$wpdb->comments} WHERE comment_id IN ( $comma_comment_ids )");
-               $wpdb->query("DELETE FROM {$wpdb->commentmeta} WHERE comment_id IN ( $comma_comment_ids )");
-               
-               clean_comment_cache( $comment_ids );
-       }
-
-       if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11) ) ) // lucky number
-               $wpdb->query("OPTIMIZE TABLE {$wpdb->comments}");
-}
-
-function akismet_delete_old_metadata() { 
-       global $wpdb; 
-
-       $interval = apply_filters( 'akismet_delete_commentmeta_interval', 15 );
-
-       # enfore a minimum of 1 day
-       $interval = absint( $interval );
-       if ( $interval < 1 )
-               $interval = 1;
-
-       // akismet_as_submitted meta values are large, so expire them 
-       // after $interval days regardless of the comment status 
-       while ( $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT m.comment_id FROM {$wpdb->commentmeta} as m INNER JOIN {$wpdb->comments} as c USING(comment_id) WHERE m.meta_key = 'akismet_as_submitted' AND DATE_SUB(NOW(), INTERVAL %d DAY) > c.comment_date_gmt LIMIT 10000", $interval ) ) ) {      
-               if ( empty( $comment_ids ) )
-                       return;
-               
-               $wpdb->queries = array();
-               
-               foreach ( $comment_ids as $comment_id ) {
-                       delete_comment_meta( $comment_id, 'akismet_as_submitted' );
-               }
-       }
-       
-       if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11) ) ) // lucky number
-               $wpdb->query("OPTIMIZE TABLE {$wpdb->comments}");
+if ( is_admin() ) {
+       require_once( AKISMET__PLUGIN_DIR . 'class.akismet-admin.php' );
+       add_action( 'init', array( 'Akismet_Admin', 'init' ) );
 }
 
-add_action('akismet_scheduled_delete', 'akismet_delete_old');
-add_action('akismet_scheduled_delete', 'akismet_delete_old_metadata'); 
-
-function akismet_check_db_comment( $id, $recheck_reason = 'recheck_queue' ) {
-    global $wpdb, $akismet_api_host, $akismet_api_port;
-
-    $id = (int) $id;
-    $c = $wpdb->get_row( "SELECT * FROM $wpdb->comments WHERE comment_ID = '$id'", ARRAY_A );
-    if ( !$c )
-        return;
-
-    $c['user_ip']    = $c['comment_author_IP'];
-    $c['user_agent'] = $c['comment_agent'];
-    $c['referrer']   = '';
-    $c['blog']       = get_option('home');
-    $c['blog_lang']  = get_locale();
-    $c['blog_charset'] = get_option('blog_charset');
-    $c['permalink']  = get_permalink($c['comment_post_ID']);
-    $id = $c['comment_ID'];
-       if ( akismet_test_mode() )
-               $c['is_test'] = 'true';
-       $c['recheck_reason'] = $recheck_reason;
-
-    $query_string = '';
-    foreach ( $c as $key => $data )
-    $query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&';
-
-    $response = akismet_http_post($query_string, $akismet_api_host, '/1.1/comment-check', $akismet_api_port);
-    return ( is_array( $response ) && isset( $response[1] ) ) ? $response[1] : false;
-}
+//add wrapper class around deprecated akismet functions that are referenced elsewhere
+require_once( AKISMET__PLUGIN_DIR . 'wrapper.php' );
 
-function akismet_cron_recheck() {
-       global $wpdb;
-
-       $status = akismet_verify_key( akismet_get_key() );
-       if ( get_option( 'akismet_alert_code' ) || $status == 'invalid' ) {
-               // since there is currently a problem with the key, reschedule a check for 6 hours hence
-               wp_schedule_single_event( time() + 21600, 'akismet_schedule_cron_recheck' );
-               return false;
-       }
-       
-       delete_option('akismet_available_servers');
-
-       $comment_errors = $wpdb->get_col( "
-               SELECT comment_id
-               FROM {$wpdb->prefix}commentmeta
-               WHERE meta_key = 'akismet_error'
-               LIMIT 100
-       " );
-       
-       foreach ( (array) $comment_errors as $comment_id ) {
-               // if the comment no longer exists, or is too old, remove the meta entry from the queue to avoid getting stuck
-               $comment = get_comment( $comment_id );
-               if ( !$comment || strtotime( $comment->comment_date_gmt ) < strtotime( "-15 days" ) ) {
-                       delete_comment_meta( $comment_id, 'akismet_error' );
-                       continue;
-               }
-               
-               add_comment_meta( $comment_id, 'akismet_rechecking', true );
-               $status = akismet_check_db_comment( $comment_id, 'retry' );
-
-               $msg = '';
-               if ( $status == 'true' ) {
-                       $msg = __( 'Akismet caught this comment as spam during an automatic retry.' );
-               } elseif ( $status == 'false' ) {
-                       $msg = __( 'Akismet cleared this comment during an automatic retry.' );
-               }
-               
-               // 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 ) ) {
-                       delete_comment_meta( $comment_id, 'akismet_error' );
-                       akismet_update_comment_history( $comment_id, $msg, 'cron-retry' );
-                       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 );
-                       if ( $comment && 'unapproved' == wp_get_comment_status( $comment_id ) ) {
-                               if ( $status == 'true' ) {
-                                       wp_spam_comment( $comment_id );
-                               } elseif ( $status == 'false' ) {
-                                       // comment is good, but it's still in the pending queue.  depending on the moderation settings
-                                       // we may need to change it to approved.
-                                       if ( check_comment($comment->comment_author, $comment->comment_author_email, $comment->comment_author_url, $comment->comment_content, $comment->comment_author_IP, $comment->comment_agent, $comment->comment_type) )
-                                               wp_set_comment_status( $comment_id, 1 );
-                               }
-                       }
-               } else {
-                       delete_comment_meta( $comment_id, 'akismet_rechecking' );
-                       wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
-                       return;
-               }
-               delete_comment_meta( $comment_id, 'akismet_rechecking' );
-       }
-       
-       $remaining = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->commentmeta WHERE meta_key = 'akismet_error'" );
-       if ( $remaining && !wp_next_scheduled('akismet_schedule_cron_recheck') ) {
-               wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
-       }
-}
-add_action( 'akismet_schedule_cron_recheck', 'akismet_cron_recheck' );
-
-function akismet_add_comment_nonce( $post_id ) {
-       echo '<p style="display: none;">';
-       wp_nonce_field( 'akismet_comment_nonce_' . $post_id, 'akismet_comment_nonce', FALSE );
-       echo '</p>';
-}
-
-$akismet_comment_nonce_option = apply_filters( 'akismet_comment_nonce', get_option( 'akismet_comment_nonce' ) );
-
-if ( $akismet_comment_nonce_option == 'true' || $akismet_comment_nonce_option == '' )
-       add_action( 'comment_form', 'akismet_add_comment_nonce' );
-
-function akismet_pingback_forwarded_for( $r, $url ) {
-       static $urls = array();
-       
-       // Call this with $r == null to prime the callback to add headers on a specific URL
-       if ( is_null( $r ) && !in_array( $url, $urls ) ) {
-               $urls[] = $url;
-       }
-
-       // Add X-Pingback-Forwarded-For header, but only for requests to a specific URL (the apparent pingback source)
-       if ( is_array( $r ) && is_array( $r['headers'] ) && !isset( $r['headers']['X-Pingback-Forwarded-For'] ) && in_array( $url, $urls ) ) {
-               $remote_ip = preg_replace( '/[^a-fx0-9:.,]/i', '', $_SERVER['REMOTE_ADDR'] );
-               
-               // Note: this assumes REMOTE_ADDR is correct, and it may not be if a reverse proxy or CDN is in use
-               $r['headers']['X-Pingback-Forwarded-For'] = $remote_ip;
-
-               // Also identify the request as a pingback verification in the UA string so it appears in logs
-               $r['user-agent'] .= '; verifying pingback from ' . $remote_ip;
-       }
-
-       return $r;
-}
-
-function akismet_pre_check_pingback( $method ) {
-       
-       if ( $method !== 'pingback.ping' )
-               return;
-
-       global $wp_xmlrpc_server;
-       
-       if ( !is_object( $wp_xmlrpc_server ) )
-               return false;
-       
-       // Lame: tightly coupled with the IXR class.
-       $args = $wp_xmlrpc_server->message->params;
-       
-       if ( !empty( $args[1] ) ) {
-               $post_id = url_to_postid( $args[1] );
-
-               // If this gets through the pre-check, make sure we properly identify the outbound request as a pingback verification
-               akismet_pingback_forwarded_for( null, $args[0] );
-               add_filter( 'http_request_args', 'akismet_pingback_forwarded_for', 10, 2 );
-
-               $comment = array(
-                       'comment_author_url' => $args[0],
-                       'comment_post_ID' => $post_id,
-                       'comment_author' => '',
-                       'comment_author_email' => '',
-                       'comment_content' => '',
-                       'comment_type' => 'pingback',
-                       'akismet_pre_check' => '1',
-                       'comment_pingback_target' => $args[1],
-               );
-
-               $comment = akismet_auto_check_comment( $comment );
-
-               if ( isset( $comment['akismet_result'] ) && 'true' == $comment['akismet_result'] ) {
-                       // Lame: tightly coupled with the IXR classes. Unfortunately the action provides no context and no way to return anything.
-                       $wp_xmlrpc_server->error( new IXR_Error( 0, 'Invalid discovery target' ) );
-               }
-       }
-}
-
-// Run this early in the pingback call, before doing a remote fetch of the source uri
-add_action( 'xmlrpc_call', 'akismet_pre_check_pingback' );
-
-global $wp_version;
-if ( '3.0.5' == $wp_version ) { 
-       remove_filter( 'comment_text', 'wp_kses_data' ); 
-       if ( is_admin() ) 
-               add_filter( 'comment_text', 'wp_kses_post' ); 
-}
-
-function akismet_fix_scheduled_recheck() {
-       $future_check = wp_next_scheduled( 'akismet_schedule_cron_recheck' );
-       if ( !$future_check ) {
-               return;
-       }
-
-       if ( get_option( 'akismet_alert_code' ) > 0 ) {
-               return;
-       }
-
-       $check_range = time() + 1200;
-       if ( $future_check > $check_range ) {
-               wp_clear_scheduled_hook( 'akismet_schedule_cron_recheck' );
-               wp_schedule_single_event( time() + 300, 'akismet_schedule_cron_recheck' );
-       }
-}
diff --git a/wp-content/plugins/akismet/class.akismet-admin.php b/wp-content/plugins/akismet/class.akismet-admin.php
new file mode 100644 (file)
index 0000000..15f5d47
--- /dev/null
@@ -0,0 +1,964 @@
+<?php
+
+class Akismet_Admin {
+       const NONCE = 'akismet-update-key';
+
+       private static $initiated = false;
+       private static $notices = array();
+
+       public static function init() {
+               if ( ! self::$initiated ) {
+                       self::init_hooks();
+               }
+
+               if ( isset( $_POST['action'] ) && $_POST['action'] == 'enter-key' ) {
+                       self::enter_api_key();
+               }
+       }
+
+       public static function init_hooks() {
+               // The standalone stats page was removed in 3.0 for an all-in-one config and stats page.
+               // Redirect any links that might have been bookmarked or in browser history.
+               if ( isset( $_GET['page'] ) && 'akismet-stats-display' == $_GET['page'] ) {
+                       wp_safe_redirect( esc_url_raw( self::get_page_url( 'stats' ) ), 301 );
+                       die;
+               }
+
+               self::$initiated = true;
+
+               add_action( 'admin_init', array( 'Akismet_Admin', 'admin_init' ) );
+               add_action( 'admin_menu', array( 'Akismet_Admin', 'admin_menu' ), 5 ); # Priority 5, so it's called before Jetpack's admin_menu.
+               add_action( 'admin_notices', array( 'Akismet_Admin', 'display_notice' ) );
+               add_action( 'admin_enqueue_scripts', array( 'Akismet_Admin', 'load_resources' ) );
+               add_action( 'activity_box_end', array( 'Akismet_Admin', 'dashboard_stats' ) );
+               add_action( 'rightnow_end', array( 'Akismet_Admin', 'rightnow_stats' ) );
+               add_action( 'manage_comments_nav', array( 'Akismet_Admin', 'check_for_spam_button' ) );
+               add_action( 'transition_comment_status', array( 'Akismet_Admin', 'transition_comment_status' ), 10, 3 );
+               add_action( 'admin_action_akismet_recheck_queue', array( 'Akismet_Admin', 'recheck_queue' ) );
+               add_action( 'wp_ajax_akismet_recheck_queue', array( 'Akismet_Admin', 'recheck_queue' ) );
+               add_action( 'wp_ajax_comment_author_deurl', array( 'Akismet_Admin', 'remove_comment_author_url' ) );
+               add_action( 'wp_ajax_comment_author_reurl', array( 'Akismet_Admin', 'add_comment_author_url' ) );
+
+               add_filter( 'plugin_action_links', array( 'Akismet_Admin', 'plugin_action_links' ), 10, 2 );
+               add_filter( 'comment_row_actions', array( 'Akismet_Admin', 'comment_row_action' ), 10, 2 );
+               add_filter( 'comment_text', array( 'Akismet_Admin', 'text_add_link_class' ) );
+               
+               add_filter( 'plugin_action_links_'.plugin_basename( plugin_dir_path( __FILE__ ) . 'akismet.php'), array( 'Akismet_Admin', 'admin_plugin_settings_link' ) );
+       }
+
+       public static function admin_init() {
+               load_plugin_textdomain( 'akismet' );
+               add_meta_box( 'akismet-status', __('Comment History', 'akismet'), array( 'Akismet_Admin', 'comment_status_meta_box' ), 'comment', 'normal' );
+       }
+
+       public static function admin_menu() {
+               if ( class_exists( 'Jetpack' ) )
+                       add_action( 'jetpack_admin_menu', array( 'Akismet_Admin', 'load_menu' ) );
+               else
+                       self::load_menu();
+       }
+
+       public static function admin_head() {
+               if ( !current_user_can( 'manage_options' ) )
+                       return;
+       }
+       
+       public static function admin_plugin_settings_link( $links ) { 
+               $settings_link = '<a href="'.self::get_page_url().'">'.__('Settings', 'akismet').'</a>';
+               array_unshift( $links, $settings_link ); 
+               return $links; 
+       }
+
+       public static function load_menu() {
+               if ( class_exists( 'Jetpack' ) )
+                       $hook = add_submenu_page( 'jetpack', __( 'Akismet' , 'akismet'), __( 'Akismet' , 'akismet'), 'manage_options', 'akismet-key-config', array( 'Akismet_Admin', 'display_page' ) );
+               else
+                       $hook = add_options_page( __('Akismet', 'akismet'), __('Akismet', 'akismet'), 'manage_options', 'akismet-key-config', array( 'Akismet_Admin', 'display_page' ) );
+
+               if ( version_compare( $GLOBALS['wp_version'], '3.3', '>=' ) ) {
+                       add_action( "load-$hook", array( 'Akismet_Admin', 'admin_help' ) );
+               }
+       }
+
+       public static function load_resources() {
+               global $hook_suffix;
+
+               if ( in_array( $hook_suffix, array(
+                       'index.php', # dashboard
+                       'edit-comments.php',
+                       'comment.php',
+                       'post.php',
+                       'settings_page_akismet-key-config',
+                       'jetpack_page_akismet-key-config',
+               ) ) ) {
+                       wp_register_style( 'akismet.css', AKISMET__PLUGIN_URL . '_inc/akismet.css', array(), AKISMET_VERSION );
+                       wp_enqueue_style( 'akismet.css');
+
+                       wp_register_script( 'akismet.js', AKISMET__PLUGIN_URL . '_inc/akismet.js', array('jquery','postbox'), AKISMET_VERSION );
+                       wp_enqueue_script( 'akismet.js' );
+                       wp_localize_script( 'akismet.js', 'WPAkismet', array(
+                               'comment_author_url_nonce' => wp_create_nonce( 'comment_author_url_nonce' ),
+                               'strings' => array(
+                                       'Remove this URL' => __( 'Remove this URL' , 'akismet'),
+                                       'Removing...'     => __( 'Removing...' , 'akismet'),
+                                       'URL removed'     => __( 'URL removed' , 'akismet'),
+                                       '(undo)'          => __( '(undo)' , 'akismet'),
+                                       'Re-adding...'    => __( 'Re-adding...' , 'akismet'),
+                               )
+                       ) );
+               }
+       }
+
+       /**
+        * Add help to the Akismet page
+        *
+        * @return false if not the Akismet page
+        */
+       public static function admin_help() {
+               $current_screen = get_current_screen();
+
+               // Screen Content
+               if ( current_user_can( 'manage_options' ) ) {
+                       if ( !Akismet::get_api_key() || ( isset( $_GET['view'] ) && $_GET['view'] == 'start' ) ) {
+                               //setup page
+                               $current_screen->add_help_tab(
+                                       array(
+                                               'id'            => 'overview',
+                                               'title'         => __( 'Overview' , 'akismet'),
+                                               'content'       =>
+                                                       '<p><strong>' . esc_html__( 'Akismet Setup' , 'akismet') . '</strong></p>' .
+                                                       '<p>' . esc_html__( 'Akismet filters out your comment and trackback spam for you, so you can focus on more important things.' , 'akismet') . '</p>' .
+                                                       '<p>' . esc_html__( 'On this page, you are able to setup the Akismet plugin.' , 'akismet') . '</p>',
+                                       )
+                               );
+
+                               $current_screen->add_help_tab(
+                                       array(
+                                               'id'            => 'setup-signup',
+                                               'title'         => __( 'New to Akismet' , 'akismet'),
+                                               'content'       =>
+                                                       '<p><strong>' . esc_html__( 'Akismet Setup' , 'akismet') . '</strong></p>' .
+                                                       '<p>' . esc_html__( 'You need to enter an API key to activate the Akismet service on your site.' , 'akismet') . '</p>' .
+                                                       '<p>' . sprintf( __( 'Signup for an account on %s to get an API Key.' , 'akismet'), '<a href="https://akismet.com/plugin-signup/" target="_blank">Akismet.com</a>' ) . '</p>',
+                                       )
+                               );
+
+                               $current_screen->add_help_tab(
+                                       array(
+                                               'id'            => 'setup-manual',
+                                               'title'         => __( 'Enter an API Key' , 'akismet'),
+                                               'content'       =>
+                                                       '<p><strong>' . esc_html__( 'Akismet Setup' , 'akismet') . '</strong></p>' .
+                                                       '<p>' . esc_html__( 'If you already have an API key' , 'akismet') . '</p>' .
+                                                       '<ol>' .
+                                                               '<li>' . esc_html__( 'Copy and paste the API key into the text field.' , 'akismet') . '</li>' .
+                                                               '<li>' . esc_html__( 'Click the Use this Key button.' , 'akismet') . '</li>' .
+                                                       '</ol>',
+                                       )
+                               );
+                       }
+                       elseif ( isset( $_GET['view'] ) && $_GET['view'] == 'stats' ) {
+                               //stats page
+                               $current_screen->add_help_tab(
+                                       array(
+                                               'id'            => 'overview',
+                                               'title'         => __( 'Overview' , 'akismet'),
+                                               'content'       =>
+                                                       '<p><strong>' . esc_html__( 'Akismet Stats' , 'akismet') . '</strong></p>' .
+                                                       '<p>' . esc_html__( 'Akismet filters out your comment and trackback spam for you, so you can focus on more important things.' , 'akismet') . '</p>' .
+                                                       '<p>' . esc_html__( 'On this page, you are able to view stats on spam filtered on your site.' , 'akismet') . '</p>',
+                                       )
+                               );
+                       }
+                       else {
+                               //configuration page
+                               $current_screen->add_help_tab(
+                                       array(
+                                               'id'            => 'overview',
+                                               'title'         => __( 'Overview' , 'akismet'),
+                                               'content'       =>
+                                                       '<p><strong>' . esc_html__( 'Akismet Configuration' , 'akismet') . '</strong></p>' .
+                                                       '<p>' . esc_html__( 'Akismet filters out your comment and trackback spam for you, so you can focus on more important things.' , 'akismet') . '</p>' .
+                                                       '<p>' . esc_html__( 'On this page, you are able to enter/remove an API key, view account information and view spam stats.' , 'akismet') . '</p>',
+                                       )
+                               );
+
+                               $current_screen->add_help_tab(
+                                       array(
+                                               'id'            => 'settings',
+                                               'title'         => __( 'Settings' , 'akismet'),
+                                               'content'       =>
+                                                       '<p><strong>' . esc_html__( 'Akismet Configuration' , 'akismet') . '</strong></p>' .
+                                                       '<p><strong>' . esc_html__( 'API Key' , 'akismet') . '</strong> - ' . esc_html__( 'Enter/remove an API key.' , 'akismet') . '</p>' .
+                                                       '<p><strong>' . esc_html__( 'Comments' , 'akismet') . '</strong> - ' . esc_html__( 'Show the number of approved comments beside each comment author in the comments list page.' , 'akismet') . '</p>' .
+                                                       '<p><strong>' . esc_html__( 'Strictness' , 'akismet') . '</strong> - ' . esc_html__( 'Choose to either discard the worst spam automatically or to always put all spam in spam folder.' , 'akismet') . '</p>',
+                                       )
+                               );
+
+                               $current_screen->add_help_tab(
+                                       array(
+                                               'id'            => 'account',
+                                               'title'         => __( 'Account' , 'akismet'),
+                                               'content'       =>
+                                                       '<p><strong>' . esc_html__( 'Akismet Configuration' , 'akismet') . '</strong></p>' .
+                                                       '<p><strong>' . esc_html__( 'Subscription Type' , 'akismet') . '</strong> - ' . esc_html__( 'The Akismet subscription plan' , 'akismet') . '</p>' .
+                                                       '<p><strong>' . esc_html__( 'Status' , 'akismet') . '</strong> - ' . esc_html__( 'The subscription status - active, cancelled or suspended' , 'akismet') . '</p>',
+                                       )
+                               );
+                       }
+               }
+
+               // Help Sidebar
+               $current_screen->set_help_sidebar(
+                       '<p><strong>' . esc_html__( 'For more information:' , 'akismet') . '</strong></p>' .
+                       '<p><a href="https://akismet.com/faq/" target="_blank">'     . esc_html__( 'Akismet FAQ' , 'akismet') . '</a></p>' .
+                       '<p><a href="https://akismet.com/support/" target="_blank">' . esc_html__( 'Akismet Support' , 'akismet') . '</a></p>'
+               );
+       }
+
+       public static function enter_api_key() {
+               if ( function_exists('current_user_can') && !current_user_can('manage_options') )
+                       die(__('Cheatin&#8217; uh?', 'akismet'));
+
+               if ( !wp_verify_nonce( $_POST['_wpnonce'], self::NONCE ) )
+                       return false;
+
+               foreach( array( 'akismet_strictness', 'akismet_show_user_comments_approved' ) as $option ) {
+                       update_option( $option, isset( $_POST[$option] ) && (int) $_POST[$option] == 1 ? '1' : '0' );
+               }
+
+               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'] );
+               $old_key = Akismet::get_api_key();
+
+               if ( empty( $new_key ) ) {
+                       if ( !empty( $old_key ) ) {
+                               delete_option( 'wordpress_api_key' );
+                               self::$notices[] = 'new-key-empty';
+                       }
+               }
+               elseif ( $new_key != $old_key ) {
+                       self::save_key( $new_key );
+               }
+
+               return true;
+       }
+
+       public static function save_key( $api_key ) {
+               $key_status = Akismet::verify_key( $api_key );
+
+               if ( $key_status == 'valid' ) {
+                       $akismet_user = self::get_akismet_user( $api_key );
+                       
+                       if ( $akismet_user ) {                          
+                               if ( in_array( $akismet_user->status, array( 'active', 'active-dunning', 'no-sub' ) ) )
+                                       update_option( 'wordpress_api_key', $api_key );
+                               
+                               if (  $akismet_user->status == 'active' )
+                                       self::$notices['status'] = 'new-key-valid';
+                               else
+                                       self::$notices['status'] = $akismet_user->status;
+                       }
+                       else
+                               self::$notices['status'] = 'new-key-invalid';
+               }
+               elseif ( in_array( $key_status, array( 'invalid', 'failed' ) ) )
+                       self::$notices['status'] = 'new-key-'.$key_status;
+       }
+
+       public static function dashboard_stats() {
+               if ( !function_exists('did_action') || did_action( 'rightnow_end' ) )
+                       return; // We already displayed this info in the "Right Now" section
+
+               if ( !$count = get_option('akismet_spam_count') )
+                       return;
+
+               global $submenu;
+
+               echo '<h3>' . esc_html( _x( 'Spam', 'comments' , 'akismet') ) . '</h3>';
+
+               echo '<p>'.sprintf( _n(
+                               '<a href="%1$s">Akismet</a> has protected your site from <a href="%2$s">%3$s spam comment</a>.',
+                               '<a href="%1$s">Akismet</a> has protected your site from <a href="%2$s">%3$s spam comments</a>.',
+                               $count
+                       , 'akismet'), 'https://akismet.com/wordpress/', esc_url( add_query_arg( array( 'page' => 'akismet-admin' ), admin_url( isset( $submenu['edit-comments.php'] ) ? 'edit-comments.php' : 'edit.php' ) ) ), number_format_i18n($count) ).'</p>';
+       }
+
+       // 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. ',
+                               '<a href="%1$s">Akismet</a> has protected your site from %2$s spam comments already. ',
+                               $count
+                       , 'akismet'), 'https://akismet.com/wordpress/', number_format_i18n( $count ) );
+               } else {
+                       $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 );
+               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 );
+               } else {
+                       $queue_text = sprintf( __( "There&#8217;s nothing in your <a href='%s'>spam queue</a> at the moment." , 'akismet'), $link );
+               }
+
+               $text = $intro . '<br />' . $queue_text;
+               echo "<p class='akismet-right-now'>$text</p>\n";
+       }
+
+       public static function check_for_spam_button( $comment_status ) {
+               if ( 'approved' == $comment_status )
+                       return;
+
+               if ( function_exists('plugins_url') )
+                       $link = add_query_arg( array( 'action' => 'akismet_recheck_queue' ), admin_url( 'admin.php' ) );
+               else
+                       $link = add_query_arg( array( 'page' => 'akismet-admin', 'recheckqueue' => 'true', 'noheader' => 'true' ), admin_url( 'edit-comments.php' ) );
+
+               echo '</div><div class="alignleft"><a class="button-secondary checkforspam" href="' . esc_url( $link ) . '">' . esc_html__('Check for Spam', 'akismet') . '</a>';
+               echo '<img src="' . esc_url( admin_url( 'images/wpspin_light.gif' ) ) . '" class="checkforspam-spinner" />';
+       }
+
+       public static function transition_comment_status( $new_status, $old_status, $comment ) {
+               if ( $new_status == $old_status )
+                       return;
+
+               # we don't need to record a history item for deleted comments
+               if ( $new_status == 'delete' )
+                       return;
+
+               if ( !is_admin() )
+                       return;
+
+               if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) && !current_user_can( 'moderate_comments' ) )
+                       return;
+
+               if ( defined('WP_IMPORTING') && WP_IMPORTING == true )
+                       return;
+
+               // if this is present, it means the status has been changed by a re-check, not an explicit user action
+               if ( get_comment_meta( $comment->comment_ID, 'akismet_rechecking' ) )
+                       return;
+
+               global $current_user;
+               $reporter = '';
+               if ( is_object( $current_user ) )
+                       $reporter = $current_user->user_login;
+
+               // Assumption alert:
+               // We want to submit comments to Akismet only when a moderator explicitly spams or approves it - not if the status
+               // is changed automatically by another plugin.  Unfortunately WordPress doesn't provide an unambiguous way to
+               // determine why the transition_comment_status action was triggered.  And there are several different ways by which
+               // to spam and unspam comments: bulk actions, ajax, links in moderation emails, the dashboard, and perhaps others.
+               // We'll assume that this is an explicit user action if POST or GET has an 'action' key.
+               if ( isset($_POST['action']) || isset($_GET['action']) ) {
+                       if ( $new_status == 'spam' && ( $old_status == 'approved' || $old_status == 'unapproved' || !$old_status ) ) {
+                               return self::submit_spam_comment( $comment->comment_ID );
+                       } elseif ( $old_status == 'spam' && ( $new_status == 'approved' || $new_status == 'unapproved' ) ) {
+                               return self::submit_nonspam_comment( $comment->comment_ID );
+                       }
+               }
+
+               Akismet::update_comment_history( $comment->comment_ID, sprintf( __('%1$s changed the comment status to %2$s', 'akismet'), $reporter, $new_status ), 'status-' . $new_status );
+       }
+
+       public static function recheck_queue() {
+               global $wpdb;
+
+               Akismet::fix_scheduled_recheck();
+
+               if ( ! ( isset( $_GET['recheckqueue'] ) || ( isset( $_REQUEST['action'] ) && 'akismet_recheck_queue' == $_REQUEST['action'] ) ) )
+                       return;
+
+               $paginate = '';
+               if ( isset( $_POST['limit'] ) && isset( $_POST['offset'] ) ) {
+                       $paginate = $wpdb->prepare( " LIMIT %d OFFSET %d", array( $_POST['limit'], $_POST['offset'] ) );
+               }
+               $moderation = $wpdb->get_results( "SELECT * FROM {$wpdb->comments} WHERE comment_approved = '0'{$paginate}", ARRAY_A );
+
+               foreach ( (array) $moderation as $c ) {
+                       $c['user_ip']      = $c['comment_author_IP'];
+                       $c['user_agent']   = $c['comment_agent'];
+                       $c['referrer']     = '';
+                       $c['blog']         = get_bloginfo('url');
+                       $c['blog_lang']    = get_locale();
+                       $c['blog_charset'] = get_option('blog_charset');
+                       $c['permalink']    = get_permalink($c['comment_post_ID']);
+
+                       $c['user_role'] = '';
+                       if ( isset( $c['user_ID'] ) )
+                               $c['user_role'] = Akismet::get_user_roles($c['user_ID']);
+
+                       if ( Akismet::is_test_mode() )
+                               $c['is_test'] = 'true';
+
+                       add_comment_meta( $c['comment_ID'], 'akismet_rechecking', true );
+
+                       $response = Akismet::http_post( http_build_query( $c ), 'comment-check' );
+                       if ( 'true' == $response[1] ) {
+                               wp_set_comment_status( $c['comment_ID'], 'spam' );
+                               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' );
+
+                       } 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' );
+                       // 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' );
+                       }
+
+                       delete_comment_meta( $c['comment_ID'], 'akismet_rechecking' );
+               }
+               if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
+                       wp_send_json( array(
+                               'processed' => count((array) $moderation),
+                       ));
+               }
+               else {
+                       $redirect_to = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : admin_url( 'edit-comments.php' );
+                       wp_safe_redirect( $redirect_to );
+                       exit;
+               }
+       }
+
+       // Adds an 'x' link next to author URLs, clicking will remove the author URL and show an undo link
+       public static function remove_comment_author_url() {
+               if ( !empty( $_POST['id'] ) && check_admin_referer( 'comment_author_url_nonce' ) ) {
+                       $comment = get_comment( intval( $_POST['id'] ), ARRAY_A );
+                       if ( $comment && current_user_can( 'edit_comment', $comment['comment_ID'] ) ) {
+                               $comment['comment_author_url'] = '';
+                               do_action( 'comment_remove_author_url' );
+                               print( wp_update_comment( $comment ) );
+                               die();
+                       }
+               }
+       }
+
+       public static function add_comment_author_url() {
+               if ( !empty( $_POST['id'] ) && !empty( $_POST['url'] ) && check_admin_referer( 'comment_author_url_nonce' ) ) {
+                       $comment = get_comment( intval( $_POST['id'] ), ARRAY_A );
+                       if ( $comment && current_user_can( 'edit_comment', $comment['comment_ID'] ) ) {
+                               $comment['comment_author_url'] = esc_url( $_POST['url'] );
+                               do_action( 'comment_add_author_url' );
+                               print( wp_update_comment( $comment ) );
+                               die();
+                       }
+               }
+       }
+
+       public static function comment_row_action( $a, $comment ) {
+
+               // failsafe for old WP versions
+               if ( !function_exists('add_comment_meta') )
+                       return $a;
+
+               $akismet_result = get_comment_meta( $comment->comment_ID, 'akismet_result', true );
+               $akismet_error  = get_comment_meta( $comment->comment_ID, 'akismet_error', true );
+               $user_result    = get_comment_meta( $comment->comment_ID, 'akismet_user_result', true);
+               $comment_status = wp_get_comment_status( $comment->comment_ID );
+               $desc = null;
+               if ( $akismet_error ) {
+                       $desc = __( 'Awaiting spam check' , 'akismet');
+               } elseif ( !$user_result || $user_result == $akismet_result ) {
+                       // Show the original Akismet result if the user hasn't overridden it, or if their decision was the same
+                       if ( $akismet_result == 'true' && $comment_status != 'spam' && $comment_status != 'trash' )
+                               $desc = __( 'Flagged as spam by Akismet' , 'akismet');
+                       elseif ( $akismet_result == 'false' && $comment_status == 'spam' )
+                               $desc = __( 'Cleared by Akismet' , 'akismet');
+               } else {
+                       $who = get_comment_meta( $comment->comment_ID, 'akismet_user', true );
+                       if ( $user_result == 'true' )
+                               $desc = sprintf( __('Flagged as spam by %s', 'akismet'), $who );
+                       else
+                               $desc = sprintf( __('Un-spammed by %s', 'akismet'), $who );
+               }
+
+               // add a History item to the hover links, just after Edit
+               if ( $akismet_result ) {
+                       $b = array();
+                       foreach ( $a as $k => $item ) {
+                               $b[ $k ] = $item;
+                               if (
+                                       $k == 'edit'
+                                       || ( $k == 'unspam' && $GLOBALS['wp_version'] >= 3.4 )
+                               ) {
+                                       $b['history'] = '<a href="comment.php?action=editcomment&amp;c='.$comment->comment_ID.'#akismet-status" title="'. esc_attr__( 'View comment history' , 'akismet') . '"> '. esc_html__('History', 'akismet') . '</a>';
+                               }
+                       }
+
+                       $a = $b;
+               }
+
+               if ( $desc )
+                       echo '<span class="akismet-status" commentid="'.$comment->comment_ID.'"><a href="comment.php?action=editcomment&amp;c='.$comment->comment_ID.'#akismet-status" title="' . esc_attr__( 'View comment history' , 'akismet') . '">'.esc_html( $desc ).'</a></span>';
+
+               if ( apply_filters( 'akismet_show_user_comments_approved', get_option('akismet_show_user_comments_approved') ) ) {
+                       $comment_count = Akismet::get_user_comments_approved( $comment->user_id, $comment->comment_author_email, $comment->comment_author, $comment->comment_author_url );
+                       $comment_count = intval( $comment_count );
+                       echo '<span class="akismet-user-comment-count" commentid="'.$comment->comment_ID.'" style="display:none;"><br><span class="akismet-user-comment-counts">'. sprintf( esc_html( _n( '%s approved', '%s approved', $comment_count , 'akismet') ), number_format_i18n( $comment_count ) ) . '</span></span>';
+               }
+
+               return $a;
+       }
+
+       public static function comment_status_meta_box( $comment ) {
+               $history = Akismet::get_comment_history( $comment->comment_ID );
+
+               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>';
+                       }
+                       echo '</div>';
+               }
+       }
+
+       public static function plugin_action_links( $links, $file ) {
+               if ( $file == plugin_basename( AKISMET__PLUGIN_URL . '/akismet.php' ) ) {
+                       $links[] = '<a href="' . esc_url( self::get_page_url() ) . '">'.esc_html__( 'Settings' , 'akismet').'</a>';
+               }
+
+               return $links;
+       }
+
+       public static function text_add_link_callback( $m ) {
+               // bare link?
+               if ( $m[4] == $m[2] )
+                       return '<a '.$m[1].' href="'.$m[2].'" '.$m[3].' class="comment-link">'.$m[4].'</a>';
+               else
+                       return '<span title="'.$m[2].'" class="comment-link"><a '.$m[1].' href="'.$m[2].'" '.$m[3].' class="comment-link">'.$m[4].'</a></span>';
+       }
+
+       public static function text_add_link_class( $comment_text ) {
+               return preg_replace_callback( '#<a ([^>]*)href="([^"]+)"([^>]*)>(.*?)</a>#i', array( 'Akismet_Admin', 'text_add_link_callback' ), $comment_text );
+       }
+
+       public static function submit_spam_comment( $comment_id ) {
+               global $wpdb, $current_user, $current_site;
+
+               $comment_id = (int) $comment_id;
+
+               $comment = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->comments} WHERE comment_ID = %d", $comment_id ) );
+
+               if ( !$comment ) // it was deleted
+                       return;
+
+               if ( 'spam' != $comment->comment_approved )
+                       return;
+
+               // use the original version stored in comment_meta if available
+               $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 );
+
+               $comment->blog         = get_bloginfo('url');
+               $comment->blog_lang    = get_locale();
+               $comment->blog_charset = get_option('blog_charset');
+               $comment->permalink    = get_permalink($comment->comment_post_ID);
+
+               if ( is_object($current_user) )
+                       $comment->reporter = $current_user->user_login;
+
+               if ( is_object($current_site) )
+                       $comment->site_domain = $current_site->domain;
+
+               $comment->user_role = '';
+               if ( isset( $comment->user_ID ) )
+                       $comment->user_role = Akismet::get_user_roles( $comment->user_ID );
+
+               if ( Akismet::is_test_mode() )
+                       $comment->is_test = 'true';
+
+               $post = get_post( $comment->comment_post_ID );
+               $comment->comment_post_modified_gmt = $post->post_modified_gmt;
+
+               $response = Akismet::http_post( http_build_query( $comment ), 'submit-spam' );
+               if ( $comment->reporter ) {
+                       Akismet::update_comment_history( $comment_id, sprintf( __('%s reported this comment as spam', 'akismet'), $comment->reporter ), 'report-spam' );
+                       update_comment_meta( $comment_id, 'akismet_user_result', 'true' );
+                       update_comment_meta( $comment_id, 'akismet_user', $comment->reporter );
+               }
+
+               do_action('akismet_submit_spam_comment', $comment_id, $response[1]);
+       }
+
+       public static function submit_nonspam_comment( $comment_id ) {
+               global $wpdb, $current_user, $current_site;
+
+               $comment_id = (int) $comment_id;
+
+               $comment = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->comments} WHERE comment_ID = %d", $comment_id ) );
+               if ( !$comment ) // it was deleted
+                       return;
+
+               // use the original version stored in comment_meta if available
+               $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 );
+
+               $comment->blog         = get_bloginfo('url');
+               $comment->blog_lang    = get_locale();
+               $comment->blog_charset = get_option('blog_charset');
+               $comment->permalink    = get_permalink( $comment->comment_post_ID );
+               $comment->user_role    = '';
+
+               if ( is_object($current_user) )
+                       $comment->reporter = $current_user->user_login;
+
+               if ( is_object($current_site) )
+                       $comment->site_domain = $current_site->domain;
+
+               if ( isset( $comment->user_ID ) )
+                       $comment->user_role = Akismet::get_user_roles($comment->user_ID);
+
+               if ( Akismet::is_test_mode() )
+                       $comment->is_test = 'true';
+
+               $post = get_post( $comment->comment_post_ID );
+               $comment->comment_post_modified_gmt = $post->post_modified_gmt;
+
+               $response = Akismet::http_post( http_build_query( $comment ), 'submit-ham' );
+               if ( $comment->reporter ) {
+                       Akismet::update_comment_history( $comment_id, sprintf( __('%s reported this comment as not spam', 'akismet'), $comment->reporter ), 'report-ham' );
+                       update_comment_meta( $comment_id, 'akismet_user_result', 'false' );
+                       update_comment_meta( $comment_id, 'akismet_user', $comment->reporter );
+               }
+
+               do_action('akismet_submit_nonspam_comment', $comment_id, $response[1]);
+       }
+
+       // Total spam in queue
+       // get_option( 'akismet_spam_count' ) is the total caught ever
+       public static function get_spam_count( $type = false ) {
+               global $wpdb;
+
+               if ( !$type ) { // total
+                       $count = wp_cache_get( 'akismet_spam_count', 'widget' );
+                       if ( false === $count ) {
+                               if ( function_exists('wp_count_comments') ) {
+                                       $count = wp_count_comments();
+                                       $count = $count->spam;
+                               } else {
+                                       $count = (int) $wpdb->get_var("SELECT COUNT(comment_ID) FROM {$wpdb->comments} WHERE comment_approved = 'spam'");
+                               }
+                               wp_cache_set( 'akismet_spam_count', $count, 'widget', 3600 );
+                       }
+                       return $count;
+               } elseif ( 'comments' == $type || 'comment' == $type ) { // comments
+                       $type = '';
+               } else { // pingback, trackback, ...
+                       $type  = $wpdb->escape( $type );
+               }
+
+               return (int) $wpdb->get_var("SELECT COUNT(comment_ID) FROM {$wpdb->comments} WHERE comment_approved = 'spam' AND comment_type='$type'");
+       }
+
+       // Check connectivity between the WordPress blog and Akismet's servers.
+       // Returns an associative array of server IP addresses, where the key is the IP address, and value is true (available) or false (unable to connect).
+       public static function check_server_connectivity() {
+               $test_host = 'rest.akismet.com';
+
+               // Some web hosts may disable one or both functions
+               if ( !function_exists('fsockopen') || !function_exists('gethostbynamel') )
+                       return array();
+
+               $ips = gethostbynamel( $test_host );
+               if ( !$ips || !is_array($ips) || !count($ips) )
+                       return array();
+
+               $api_key = Akismet::get_api_key();
+
+               $servers = array();
+               foreach ( $ips as $ip ) {
+                       $response = Akismet::verify_key( $api_key, $ip );
+                       // even if the key is invalid, at least we know we have connectivity
+                       if ( $response == 'valid' || $response == 'invalid' )
+                               $servers[$ip] = true;
+                       else
+                               $servers[$ip] = false;
+               }
+               return $servers;
+       }
+
+       // Check the server connectivity and store the results in an option.
+       // Cached results will be used if not older than the specified timeout in seconds; use $cache_timeout = 0 to force an update.
+       // Returns the same associative array as check_server_connectivity()
+       public static function get_server_connectivity( $cache_timeout = 86400 ) {
+               $servers = get_option('akismet_available_servers');
+               if ( (time() - get_option('akismet_connectivity_time') < $cache_timeout) && $servers !== false )
+                       return $servers;
+
+               // There's a race condition here but the effect is harmless.
+               $servers = self::check_server_connectivity();
+               update_option('akismet_available_servers', $servers);
+               update_option('akismet_connectivity_time', time());
+               return $servers;
+       }
+
+       public static function get_number_spam_waiting() {
+               global $wpdb;
+               return (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->commentmeta} WHERE meta_key = 'akismet_error'" );
+       }
+
+       public static function get_page_url( $page = 'config' ) {
+
+               $args = array( 'page' => 'akismet-key-config' );
+
+               if ( $page == 'stats' )
+                       $args = array( 'page' => 'akismet-key-config', 'view' => 'stats' );
+               elseif ( $page == 'delete_key' )
+                       $args = array( 'page' => 'akismet-key-config', 'view' => 'start', 'action' => 'delete-key', '_wpnonce' => wp_create_nonce( self::NONCE ) );
+
+               $url = add_query_arg( $args, class_exists( 'Jetpack' ) ? admin_url( 'admin.php' ) : admin_url( 'options-general.php' ) );
+
+               return $url;
+       }
+       
+       public static function get_akismet_user( $api_key ) {
+               $akismet_user = Akismet::http_post( http_build_query( array( 'key' => $api_key ) ), 'get-subscription' );
+
+               if ( ! empty( $akismet_user[1] ) )
+                       $akismet_user = json_decode( $akismet_user[1] );
+               else
+                       $akismet_user = false;
+                       
+               return $akismet_user;
+       }
+       
+       public static function get_stats( $api_key ) {
+               $stat_totals = array();
+
+               foreach( array( '6-months', 'all' ) as $interval ) {
+                       $response = Akismet::http_post( http_build_query( array( 'blog' => urlencode( get_bloginfo('url') ), 'key' => $api_key, 'from' => $interval ) ), 'get-stats' );
+
+                       if ( ! empty( $response[1] ) ) {
+                               $stat_totals[$interval] = json_decode( $response[1] );
+                       }
+               }
+               return $stat_totals;
+       }
+       
+       public static function verify_wpcom_key( $api_key, $user_id, $token = '' ) {
+               $akismet_account = Akismet::http_post( http_build_query( array(
+                       'user_id'          => $user_id,
+                       'api_key'          => $api_key,
+                       'token'            => $token,
+                       'get_account_type' => 'true'
+               ) ), 'verify-wpcom-key' );
+
+               if ( ! empty( $akismet_account[1] ) )
+                       $akismet_account = json_decode( $akismet_account[1] );
+
+               Akismet::log( compact( 'akismet_account' ) );
+               
+               return $akismet_account;
+       }
+
+       public static function display_alert() {
+               Akismet::view( 'notice', array(
+                       'type' => 'alert',
+                       'code' => (int) get_option( 'akismet_alert_code' ),
+                       'msg'  => get_option( 'akismet_alert_msg' )
+               ) );
+       }
+
+       public static function display_spam_check_warning() {
+               Akismet::fix_scheduled_recheck();
+
+               if ( self::get_number_spam_waiting() > 0 && wp_next_scheduled('akismet_schedule_cron_recheck') > time() )
+                       Akismet::view( 'notice', array( 'type' => 'spam-check' ) );
+       }
+
+       public static function display_invalid_version() {
+               Akismet::view( 'notice', array( 'type' => 'version' ) );
+       }
+
+       public static function display_api_key_warning() {
+               Akismet::view( 'notice', array( 'type' => 'plugin' ) );
+       }
+
+       public static function display_page() {
+               if ( !Akismet::get_api_key() || ( isset( $_GET['view'] ) && $_GET['view'] == 'start' ) )
+                       self::display_start_page();
+               elseif ( isset( $_GET['view'] ) && $_GET['view'] == 'stats' )
+                       self::display_stats_page();
+               else
+                       self::display_configuration_page();
+       }
+
+       public static function display_start_page() {
+               if ( isset( $_GET['action'] ) ) {
+                       if ( $_GET['action'] == 'delete-key' ) {
+                               if ( isset( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], self::NONCE ) )
+                                       delete_option( 'wordpress_api_key' );
+                       }
+               }
+
+               if ( $api_key = Akismet::get_api_key() ) {
+                       self::display_configuration_page();
+                       return;
+               }
+               
+               //the user can choose to auto connect their API key by clicking a button on the akismet done page
+               //if jetpack, get verified api key by using connected wpcom user id
+               //if no jetpack, get verified api key by using an akismet token 
+               
+               $akismet_user = false;
+               
+               if ( isset( $_GET['token'] ) && preg_match('/^(\d+)-[0-9a-f]{20}$/', $_GET['token'] ) )
+                       $akismet_user = self::verify_wpcom_key( '', '', $_GET['token'] );
+               elseif ( $jetpack_user = self::get_jetpack_user() )
+                       $akismet_user = self::verify_wpcom_key( $jetpack_user['api_key'], $jetpack_user['user_id'] );
+                       
+               if ( isset( $_GET['action'] ) ) {
+                       if ( $_GET['action'] == 'save-key' ) {
+                               if ( is_object( $akismet_user ) ) {
+                                       self::save_key( $akismet_user->api_key );
+                                       self::display_notice();
+                                       self::display_configuration_page();
+                                       return;                         
+                               }
+                       }
+               }
+
+               echo '<h2 class="ak-header">'.esc_html__('Akismet', 'akismet').'</h2>';
+
+               self::display_status();
+
+               Akismet::view( 'start', compact( 'akismet_user' ) );
+       }
+
+       public static function display_stats_page() {
+               Akismet::view( 'stats' );
+       }
+
+       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 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') );
+
+               if ( empty( self::$notices ) ) {
+                       //show status
+                       if ( $akismet_user->status == 'active' && $akismet_user->account_type == 'free-api-key' ) {
+
+                               $time_saved = false;
+
+                               if ( $stat_totals['all']->time_saved > 1800 ) {
+                                       $total_in_minutes = round( $stat_totals['all']->time_saved / 60 );
+                                       $total_in_hours   = round( $total_in_minutes / 60 );
+                                       $total_in_days    = round( $total_in_hours / 8 );
+                                       $cleaning_up      = __( 'Cleaning up spam takes time.' , 'akismet');
+
+                                       if ( $total_in_days > 1 )
+                                               $time_saved = $cleaning_up . ' ' . sprintf( __( 'Since you joined us, Akismet has saved you %s days!' , 'akismet'), number_format_i18n( $total_in_days ) );
+                                       elseif ( $total_in_hours > 1 )
+                                               $time_saved = $cleaning_up . ' ' . sprintf( __( 'Since you joined us, Akismet has saved you %d hours!' , 'akismet'), $total_in_hours );
+                                       elseif ( $total_in_minutes >= 30 )
+                                               $time_saved = $cleaning_up . ' ' . sprintf( __( 'Since you joined us, Akismet has saved you %d minutes!' , 'akismet'), $total_in_minutes );
+                               }
+
+                               Akismet::view( 'notice', array( 'type' => 'active-notice', 'time_saved' => $time_saved ) );
+                       }
+                       
+                       if ( !empty( $akismet_user->limit_reached ) && in_array( $akismet_user->limit_reached, array( 'yellow', 'red' ) ) ) {
+                               Akismet::view( 'notice', array( 'type' => 'limit-reached', 'level' => $akismet_user->limit_reached ) );
+                       }
+               }
+               
+               if ( !isset( self::$notices['status'] ) && in_array( $akismet_user->status, array( 'cancelled', 'suspended', 'missing', 'no-sub' ) ) )  
+                       Akismet::view( 'notice', array( 'type' => $akismet_user->status ) );
+
+               Akismet::log( compact( 'stat_totals', 'akismet_user' ) );
+               Akismet::view( 'config', compact( 'api_key', 'akismet_user', 'stat_totals' ) );
+       }
+
+       public static function display_notice() {
+               global $hook_suffix;
+
+               if ( in_array( $hook_suffix, array( 'jetpack_page_akismet-key-config', 'settings_page_akismet-key-config', 'edit-comments.php' ) ) && (int) get_option( 'akismet_alert_code' ) > 0 ) {
+                       self::display_alert();
+               }
+               elseif ( $hook_suffix == 'plugins.php' && !Akismet::get_api_key() ) {
+                       self::display_api_key_warning();
+               }
+               elseif ( $hook_suffix == 'edit-comments.php' && wp_next_scheduled( 'akismet_schedule_cron_recheck' ) ) {
+                       self::display_spam_check_warning();
+               }
+               elseif ( in_array( $hook_suffix, array( 'jetpack_page_akismet-key-config', 'settings_page_akismet-key-config' ) ) && Akismet::get_api_key() ) {
+                       self::display_status();
+               }
+       }
+
+       public static function display_status() {
+               $servers    = self::get_server_connectivity();
+               $fail_count = count( $servers ) - count( array_filter( $servers ) );
+               $type       = '';
+
+               if ( empty( $servers ) || $fail_count > 0 )
+                       $type = 'servers-be-down';
+
+               if ( !function_exists('fsockopen') || !function_exists('gethostbynamel') )
+                       $type = 'missing-functions';
+
+               if ( !empty( $type ) )
+                       Akismet::view( 'notice', compact( 'type' ) );
+               elseif ( !empty( self::$notices ) ) {
+                       foreach ( self::$notices as $type )
+                               Akismet::view( 'notice', compact( 'type' ) );
+               }
+       }
+
+       private static function get_jetpack_user() {
+               if ( !class_exists('Jetpack') )
+                       return false;
+
+               Jetpack::load_xml_rpc_client();
+               $xml = new Jetpack_IXR_ClientMulticall( array( 'user_id' => get_current_user_id() ) );
+
+               $xml->addCall( 'wpcom.getUserID' );
+               $xml->addCall( 'akismet.getAPIKey' );
+               $xml->query();
+
+               Akismet::log( compact( 'xml' ) );
+
+               if ( !$xml->isError() ) {
+                       $responses = $xml->getResponse();
+                       if ( count( $responses ) > 1 ) {
+                               $api_key = array_shift( $responses[0] );
+                               $user_id = (int) array_shift( $responses[1] );
+                               return compact( 'api_key', 'user_id' );
+                       }
+               }
+               return false;
+       }
+}
\ No newline at end of file
similarity index 83%
rename from wp-content/plugins/akismet/widget.php
rename to wp-content/plugins/akismet/class.akismet-widget.php
index 8c5a120f567d800616741345859c10e6b37da7c0..a60ae603bc357984f12e9918e6958dce3c679ee4 100644 (file)
@@ -5,10 +5,12 @@
 class Akismet_Widget extends WP_Widget {
 
        function __construct() {
+               load_plugin_textdomain( 'akismet' );
+               
                parent::__construct(
                        'akismet_widget',
-                       __( 'Akismet Widget' ),
-                       array( 'description' => __( 'Display the number of spam comments Akismet has caught' ) )
+                       __( 'Akismet Widget' , 'akismet'),
+                       array( 'description' => __( 'Display the number of spam comments Akismet has caught' , 'akismet') )
                );
 
                if ( is_active_widget( false, false, $this->id_base ) ) {
@@ -23,7 +25,7 @@ class Akismet_Widget extends WP_Widget {
 .a-stats {
        width: auto;
 }
-.a-stats a { 
+.a-stats a {
        background: #7CA821;
        background-image:-moz-linear-gradient(0% 100% 90deg,#5F8E14,#7CA821);
        background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#7CA821),to(#5F8E14));
@@ -41,7 +43,7 @@ class Akismet_Widget extends WP_Widget {
        -webkit-border-radius:3px;
        width: 100%;
 }
-.a-stats a:hover { 
+.a-stats a:hover {
        text-decoration: none;
        background-image:-moz-linear-gradient(0% 100% 90deg,#6F9C1B,#659417);
        background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#659417),to(#6F9C1B));
@@ -61,19 +63,19 @@ class Akismet_Widget extends WP_Widget {
 
        function form( $instance ) {
                if ( $instance ) {
-                       $title = esc_attr( $instance['title'] );
+                       $title = $instance['title'];
                }
                else {
-                       $title = __( 'Spam Blocked' );
+                       $title = __( 'Spam Blocked' , 'akismet');
                }
 ?>
 
                <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 $title; ?>" />
+               <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php esc_html_e( 'Title:' , 'akismet'); ?></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>
 
-<?php 
+<?php
        }
 
        function update( $new_instance, $old_instance ) {
@@ -93,7 +95,7 @@ class Akismet_Widget extends WP_Widget {
 ?>
 
        <div class="a-stats">
-               <a href="http://akismet.com" target="_blank" title=""><?php printf( _n( '<strong class="count">%1$s spam</strong> blocked by <strong>Akismet</strong>', '<strong class="count">%1$s spam</strong> blocked by <strong>Akismet</strong>', $count ), number_format_i18n( $count ) ); ?></a>
+               <a href="http://akismet.com" target="_blank" title=""><?php printf( _n( '<strong class="count">%1$s spam</strong> blocked by <strong>Akismet</strong>', '<strong class="count">%1$s spam</strong> blocked by <strong>Akismet</strong>', $count , 'akismet'), number_format_i18n( $count ) ); ?></a>
        </div>
 
 <?php
diff --git a/wp-content/plugins/akismet/class.akismet.php b/wp-content/plugins/akismet/class.akismet.php
new file mode 100644 (file)
index 0000000..7cf813d
--- /dev/null
@@ -0,0 +1,764 @@
+<?php
+
+class Akismet {
+       const API_HOST = 'rest.akismet.com';
+       const API_PORT = 80;
+       const MAX_DELAY_BEFORE_MODERATION_EMAIL = 86400; // One day in seconds
+
+       private static $last_comment = '';
+       private static $initiated = false;
+       private static $prevent_moderation_email_for_these_comments = array();
+       private static $last_comment_result = null;
+       
+       public static function init() {
+               if ( ! self::$initiated ) {
+                       self::init_hooks();
+               }
+       }
+
+       /**
+        * Initializes WordPress hooks
+        */
+       private static function init_hooks() {
+               self::$initiated = true;
+
+               add_action( 'wp_insert_comment', array( 'Akismet', 'auto_check_update_meta' ), 10, 2 );
+               add_action( 'preprocess_comment', array( 'Akismet', 'auto_check_comment' ), 1 );
+               add_action( 'akismet_scheduled_delete', array( 'Akismet', 'delete_old_comments' ) );
+               add_action( 'akismet_scheduled_delete', array( 'Akismet', 'delete_old_comments_meta' ) );
+               add_action( 'akismet_schedule_cron_recheck', array( 'Akismet', 'cron_recheck' ) );
+
+               $akismet_comment_nonce_option = apply_filters( 'akismet_comment_nonce', get_option( 'akismet_comment_nonce' ) );
+
+               if ( $akismet_comment_nonce_option == 'true' || $akismet_comment_nonce_option == '' )
+                       add_action( 'comment_form',  array( 'Akismet',  'add_comment_nonce' ), 1 );
+
+               add_action( 'admin_footer-edit-comments.php', array( 'Akismet', 'load_form_js' ) );
+               add_action( 'comment_form', array( 'Akismet', 'load_form_js' ) );
+               add_action( 'comment_form', array( 'Akismet', 'inject_ak_js' ) );
+
+               add_filter( 'comment_moderation_recipients', array( 'Akismet', 'disable_moderation_emails_if_unreachable' ), 1000, 2 );
+               add_filter( 'pre_comment_approved', array( 'Akismet', 'last_comment_status' ), 10, 2 );
+
+               if ( '3.0.5' == $GLOBALS['wp_version'] ) {
+                       remove_filter( 'comment_text', 'wp_kses_data' );
+                       if ( is_admin() )
+                               add_filter( 'comment_text', 'wp_kses_post' );
+               }
+       }
+
+       public static function get_api_key() {
+               return defined('WPCOM_API_KEY') ? constant('WPCOM_API_KEY') : get_option('wordpress_api_key');
+       }
+
+       public static function check_key_status( $key, $ip = null ) {
+               return self::http_post( http_build_query( array( 'key' => $key, 'blog' => get_option('home') ) ), 'verify-key', $ip );
+       }
+
+       public static function verify_key( $key, $ip = null ) {
+               $response = self::check_key_status( $key, $ip );
+
+               if ( $response[1] != 'valid' && $response[1] != 'invalid' )
+                       return 'failed';
+
+               self::update_alert( $response );
+
+               return $response[1];
+       }
+
+       public static function auto_check_comment( $commentdata ) {
+               self::$last_comment_result = null;
+
+               $comment = $commentdata;
+
+               $comment['user_ip']      = self::get_ip_address();
+               $comment['user_agent']   = self::get_user_agent();
+               $comment['referrer']     = self::get_referer();
+               $comment['blog']         = get_option('home');
+               $comment['blog_lang']    = get_locale();
+               $comment['blog_charset'] = get_option('blog_charset');
+               $comment['permalink']    = get_permalink( $comment['comment_post_ID'] );
+
+               if ( !empty( $comment['user_ID'] ) )
+                       $comment['user_role'] = Akismet::get_user_roles( $comment['user_ID'] );
+
+               $akismet_nonce_option = apply_filters( 'akismet_comment_nonce', get_option( 'akismet_comment_nonce' ) );
+               $comment['akismet_comment_nonce'] = 'inactive';
+               if ( $akismet_nonce_option == 'true' || $akismet_nonce_option == '' ) {
+                       $comment['akismet_comment_nonce'] = 'failed';
+                       if ( isset( $_POST['akismet_comment_nonce'] ) && wp_verify_nonce( $_POST['akismet_comment_nonce'], 'akismet_comment_nonce_' . $comment['comment_post_ID'] ) )
+                               $comment['akismet_comment_nonce'] = 'passed';
+
+                       // comment reply in wp-admin
+                       if ( isset( $_POST['_ajax_nonce-replyto-comment'] ) && check_ajax_referer( 'replyto-comment', '_ajax_nonce-replyto-comment' ) )
+                               $comment['akismet_comment_nonce'] = 'passed';
+
+               }
+
+               if ( self::is_test_mode() )
+                       $comment['is_test'] = 'true';
+
+               foreach( $_POST as $key => $value ) {
+                       if ( is_string( $value ) )
+                               $comment["POST_{$key}"] = $value;
+               }
+
+               $ignore = array( 'HTTP_COOKIE', 'HTTP_COOKIE2', 'PHP_AUTH_PW' );
+
+               foreach ( $_SERVER as $key => $value ) {
+                       if ( !in_array( $key, $ignore ) && is_string($value) )
+                               $comment["$key"] = $value;
+                       else
+                               $comment["$key"] = '';
+               }
+
+               $post = get_post( $comment['comment_post_ID'] );
+               $comment[ 'comment_post_modified_gmt' ] = $post->post_modified_gmt;
+
+               $response = self::http_post( http_build_query( $comment ), 'comment-check' );
+
+               do_action( 'akismet_comment_check_response', $response );
+
+               self::update_alert( $response );
+
+               $commentdata['comment_as_submitted'] = $comment;
+               $commentdata['akismet_result']       = $response[1];
+
+               if ( isset( $response[0]['x-akismet-pro-tip'] ) )
+               $commentdata['akismet_pro_tip'] = $response[0]['x-akismet-pro-tip'];
+
+               if ( 'true' == $response[1] ) {
+                       // akismet_spam_count will be incremented later by comment_is_spam()
+                       self::$last_comment_result = 'spam';
+
+                       $discard = ( isset( $commentdata['akismet_pro_tip'] ) && $commentdata['akismet_pro_tip'] === 'discard' && self::allow_discard() );
+
+                       do_action( 'akismet_spam_caught', $discard );
+
+                       if ( $discard ) {
+                               // akismet_result_spam() won't be called so bump the counter here
+                               if ( $incr = apply_filters('akismet_spam_count_incr', 1) )
+                                       update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr );
+                               $redirect_to = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : get_permalink( $post );
+                               wp_safe_redirect( esc_url_raw( $redirect_to ) );
+                               die();
+                       }
+               }
+               
+               // if the response is neither true nor false, hold the comment for moderation and schedule a recheck
+               if ( 'true' != $response[1] && 'false' != $response[1] ) {
+                       if ( !current_user_can('moderate_comments') ) {
+                               // Comment status should be moderated
+                               self::$last_comment_result = '0';
+                       }
+                       if ( function_exists('wp_next_scheduled') && function_exists('wp_schedule_single_event') ) {
+                               if ( !wp_next_scheduled( 'akismet_schedule_cron_recheck' ) ) {
+                                       wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
+                               }
+                       }
+
+                       self::$prevent_moderation_email_for_these_comments[] = $commentdata;
+               }
+
+               if ( function_exists('wp_next_scheduled') && function_exists('wp_schedule_event') ) {
+                       // WP 2.1+: delete old comments daily
+                       if ( !wp_next_scheduled( 'akismet_scheduled_delete' ) )
+                               wp_schedule_event( time(), 'daily', 'akismet_scheduled_delete' );
+               }
+               elseif ( (mt_rand(1, 10) == 3) ) {
+                       // WP 2.0: run this one time in ten
+                       self::delete_old_comments();
+               }
+               
+               self::set_last_comment( $commentdata );
+               self::fix_scheduled_recheck();
+
+               return self::$last_comment;
+       }
+       
+       public static function get_last_comment() {
+               return self::$last_comment;
+       }
+       
+       public static function set_last_comment( $comment ) {
+               if ( is_null( $comment ) ) {
+                       self::$last_comment = null;
+               }
+               else {
+                       // We filter it here so that it matches the filtered comment data that we'll have to compare against later.
+                       // wp_filter_comment expects comment_author_IP
+                       self::$last_comment = wp_filter_comment(
+                               array_merge(
+                                       array( 'comment_author_IP' => self::get_ip_address() ),
+                                       $comment
+                               )
+                       );
+               }
+       }
+
+       // this fires on wp_insert_comment.  we can't update comment_meta when auto_check_comment() runs
+       // because we don't know the comment ID at that point.
+       public static function auto_check_update_meta( $id, $comment ) {
+
+               // failsafe for old WP versions
+               if ( !function_exists('add_comment_meta') )
+                       return false;
+
+               if ( !isset( self::$last_comment['comment_author_email'] ) )
+                       self::$last_comment['comment_author_email'] = '';
+
+               // wp_insert_comment() might be called in other contexts, so make sure this is the same comment
+               // as was checked by auto_check_comment
+               if ( is_object( $comment ) && !empty( self::$last_comment ) && is_array( self::$last_comment ) ) {
+                       if ( self::matches_last_comment( $comment ) ) {
+                                       
+                                       load_plugin_textdomain( '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' );
+                                               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 );
+                                       }
+                                       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' );
+                                               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' );
+                                                       else
+                                                               self::update_comment_history( $comment->comment_ID, sprintf( __('Comment status was changed to %s', 'akismet'), $comment->comment_approved), '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' );
+                                       }
+
+                                       // record the complete original data as submitted for checking
+                                       if ( isset( self::$last_comment['comment_as_submitted'] ) )
+                                               update_comment_meta( $comment->comment_ID, 'akismet_as_submitted', self::$last_comment['comment_as_submitted'] );
+
+                                       if ( isset( self::$last_comment['akismet_pro_tip'] ) )
+                                               update_comment_meta( $comment->comment_ID, 'akismet_pro_tip', self::$last_comment['akismet_pro_tip'] );
+                       }
+               }
+       }
+
+       public static function delete_old_comments() {
+               global $wpdb;
+
+               while( $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_id FROM {$wpdb->comments} WHERE DATE_SUB(NOW(), INTERVAL 15 DAY) > comment_date_gmt AND comment_approved = 'spam' LIMIT %d", defined( 'AKISMET_DELETE_LIMIT' ) ? AKISMET_DELETE_LIMIT : 10000 ) ) ) {
+                       if ( empty( $comment_ids ) )
+                               return;
+
+                       $wpdb->queries = array();
+
+                       do_action( 'delete_comment', $comment_ids );
+
+                       $comma_comment_ids = implode( ', ', array_map('intval', $comment_ids) );
+
+                       $wpdb->query("DELETE FROM {$wpdb->comments} WHERE comment_id IN ( $comma_comment_ids )");
+                       $wpdb->query("DELETE FROM {$wpdb->commentmeta} WHERE comment_id IN ( $comma_comment_ids )");
+
+                       clean_comment_cache( $comment_ids );
+               }
+
+               if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->comments ) ) // lucky number
+                       $wpdb->query("OPTIMIZE TABLE {$wpdb->comments}");
+       }
+
+       public static function delete_old_comments_meta() {
+               global $wpdb;
+
+               $interval = apply_filters( 'akismet_delete_commentmeta_interval', 15 );
+
+               # enfore a minimum of 1 day
+               $interval = absint( $interval );
+               if ( $interval < 1 )
+                       $interval = 1;
+
+               // akismet_as_submitted meta values are large, so expire them
+               // after $interval days regardless of the comment status
+               while ( $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT m.comment_id FROM {$wpdb->commentmeta} as m INNER JOIN {$wpdb->comments} as c USING(comment_id) WHERE m.meta_key = 'akismet_as_submitted' AND DATE_SUB(NOW(), INTERVAL %d DAY) > c.comment_date_gmt LIMIT 10000", $interval ) ) ) {
+                       if ( empty( $comment_ids ) )
+                               return;
+
+                       $wpdb->queries = array();
+
+                       foreach ( $comment_ids as $comment_id ) {
+                               delete_comment_meta( $comment_id, 'akismet_as_submitted' );
+                       }
+               }
+
+               if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number
+                       $wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}");
+       }
+
+       // how many approved comments does this author have?
+       public static function get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) {
+               global $wpdb;
+
+               if ( !empty( $user_id ) )
+                       return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->comments} WHERE user_id = %d AND comment_approved = 1", $user_id ) );
+
+               if ( !empty( $comment_author_email ) )
+                       return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->comments} WHERE comment_author_email = %s AND comment_author = %s AND comment_author_url = %s AND comment_approved = 1", $comment_author_email, $comment_author, $comment_author_url ) );
+
+               return 0;
+       }
+
+       // get the full comment history for a given comment, as an array in reverse chronological order
+       public static function get_comment_history( $comment_id ) {
+
+               // failsafe for old WP versions
+               if ( !function_exists('add_comment_meta') )
+                       return false;
+
+               $history = get_comment_meta( $comment_id, 'akismet_history', false );
+               usort( $history, array( 'Akismet', '_cmp_time' ) );
+               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 ) {
+               global $current_user;
+
+               // failsafe for old WP versions
+               if ( !function_exists('add_comment_meta') )
+                       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,
+               );
+
+               // $unique = false so as to allow multiple values per comment
+               $r = add_comment_meta( $comment_id, 'akismet_history', $event, false );
+       }
+
+       public static function check_db_comment( $id, $recheck_reason = 'recheck_queue' ) {
+               global $wpdb;
+
+               $c = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->comments} WHERE comment_ID = %d", $id ), ARRAY_A );
+               if ( !$c )
+                       return;
+
+               $c['user_ip']        = $c['comment_author_IP'];
+               $c['user_agent']     = $c['comment_agent'];
+               $c['referrer']       = '';
+               $c['blog']           = get_option('home');
+               $c['blog_lang']      = get_locale();
+               $c['blog_charset']   = get_option('blog_charset');
+               $c['permalink']      = get_permalink($c['comment_post_ID']);
+               $c['recheck_reason'] = $recheck_reason;
+
+               if ( self::is_test_mode() )
+                       $c['is_test'] = 'true';
+
+               $response = self::http_post( http_build_query( $c ), 'comment-check' );
+
+               return ( is_array( $response ) && ! empty( $response[1] ) ) ? $response[1] : false;
+       }
+
+       public static function cron_recheck() {
+               global $wpdb;
+
+               $api_key = self::get_api_key();
+
+               $status = self::verify_key( $api_key );
+               if ( get_option( 'akismet_alert_code' ) || $status == 'invalid' ) {
+                       // since there is currently a problem with the key, reschedule a check for 6 hours hence
+                       wp_schedule_single_event( time() + 21600, 'akismet_schedule_cron_recheck' );
+                       return false;
+               }
+
+               delete_option('akismet_available_servers');
+
+               $comment_errors = $wpdb->get_col( "SELECT comment_id FROM {$wpdb->commentmeta} WHERE meta_key = 'akismet_error' LIMIT 100" );
+               
+               load_plugin_textdomain( 'akismet' );
+
+               foreach ( (array) $comment_errors as $comment_id ) {
+                       // if the comment no longer exists, or is too old, remove the meta entry from the queue to avoid getting stuck
+                       $comment = get_comment( $comment_id );
+                       if ( !$comment || strtotime( $comment->comment_date_gmt ) < strtotime( "-15 days" ) ) {
+                               delete_comment_meta( $comment_id, 'akismet_error' );
+                               delete_comment_meta( $comment_id, 'akismet_delayed_moderation_email' );
+                               continue;
+                       }
+
+                       add_comment_meta( $comment_id, 'akismet_rechecking', true );
+                       $status = self::check_db_comment( $comment_id, 'retry' );
+
+                       $msg = '';
+                       if ( $status == 'true' ) {
+                               $msg = __( 'Akismet caught this comment as spam during an automatic retry.' , 'akismet');
+                       } elseif ( $status == 'false' ) {
+                               $msg = __( 'Akismet cleared this comment during an automatic retry.' , 'akismet');
+                       }
+
+                       // 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 ) ) {
+                               delete_comment_meta( $comment_id, 'akismet_error' );
+                               self::update_comment_history( $comment_id, $msg, 'cron-retry' );
+                               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 );
+                               if ( $comment && 'unapproved' == wp_get_comment_status( $comment_id ) ) {
+                                       if ( $status == 'true' ) {
+                                               wp_spam_comment( $comment_id );
+                                       } elseif ( $status == 'false' ) {
+                                               // comment is good, but it's still in the pending queue.  depending on the moderation settings
+                                               // we may need to change it to approved.
+                                               if ( check_comment($comment->comment_author, $comment->comment_author_email, $comment->comment_author_url, $comment->comment_content, $comment->comment_author_IP, $comment->comment_agent, $comment->comment_type) )
+                                                       wp_set_comment_status( $comment_id, 1 );
+                                               else if ( get_comment_meta( $comment_id, 'akismet_delayed_moderation_email', true ) )
+                                                       wp_notify_moderator( $comment_id );
+                                       }
+                               }
+                               
+                               delete_comment_meta( $comment_id, 'akismet_delayed_moderation_email' );
+                       } else {
+                               // If this comment has been pending moderation for longer than MAX_DELAY_BEFORE_MODERATION_EMAIL,
+                               // send a moderation email now.
+                               if ( ( intval( gmdate( 'U' ) ) - strtotime( $comment->comment_date_gmt ) ) < self::MAX_DELAY_BEFORE_MODERATION_EMAIL ) {
+                                       delete_comment_meta( $comment_id, 'akismet_delayed_moderation_email' );
+                                       wp_notify_moderator( $comment_id );
+                               }
+
+                               delete_comment_meta( $comment_id, 'akismet_rechecking' );
+                               wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
+                               return;
+                       }
+                       delete_comment_meta( $comment_id, 'akismet_rechecking' );
+               }
+
+               $remaining = $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->commentmeta} WHERE meta_key = 'akismet_error'" );
+               if ( $remaining && !wp_next_scheduled('akismet_schedule_cron_recheck') ) {
+                       wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' );
+               }
+       }
+
+       public static function fix_scheduled_recheck() {
+               $future_check = wp_next_scheduled( 'akismet_schedule_cron_recheck' );
+               if ( !$future_check ) {
+                       return;
+               }
+
+               if ( get_option( 'akismet_alert_code' ) > 0 ) {
+                       return;
+               }
+
+               $check_range = time() + 1200;
+               if ( $future_check > $check_range ) {
+                       wp_clear_scheduled_hook( 'akismet_schedule_cron_recheck' );
+                       wp_schedule_single_event( time() + 300, 'akismet_schedule_cron_recheck' );
+               }
+       }
+
+       public static function add_comment_nonce( $post_id ) {
+               echo '<p style="display: none;">';
+               wp_nonce_field( 'akismet_comment_nonce_' . $post_id, 'akismet_comment_nonce', FALSE );
+               echo '</p>';
+       }
+
+       public static function is_test_mode() {
+               return defined('AKISMET_TEST_MODE') && AKISMET_TEST_MODE;
+       }
+       
+       public static function allow_discard() {
+               if ( defined( 'DOING_AJAX' ) && DOING_AJAX )
+                       return false;
+               if ( is_user_logged_in() )
+                       return false;
+       
+               return ( get_option( 'akismet_strictness' ) === '1'  );
+       }
+
+       public static function get_ip_address() {
+               return isset( $_SERVER['REMOTE_ADDR'] ) ? $_SERVER['REMOTE_ADDR'] : null;
+       }
+       
+       /**
+        * Do these two comments, without checking the comment_ID, "match"?
+        *
+        * @param mixed $comment1 A comment object or array.
+        * @param mixed $comment2 A comment object or array.
+        * @return bool Whether the two comments should be treated as the same comment.
+        */
+       private static function comments_match( $comment1, $comment2 ) {
+               $comment1 = (array) $comment1;
+               $comment2 = (array) $comment2;
+               
+               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']
+               );
+       }
+       
+       // Does the supplied comment match the details of the one most recently stored in self::$last_comment?
+       public static function matches_last_comment( $comment ) {
+               if ( is_object( $comment ) )
+                       $comment = (array) $comment;
+
+               return self::comments_match( self::$last_comment, $comment );
+       }
+
+       private static function get_user_agent() {
+               return isset( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT'] : null;
+       }
+
+       private static function get_referer() {
+               return isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : null;
+       }
+
+       // return a comma-separated list of role names for the given user
+       public static function get_user_roles( $user_id ) {
+               $roles = false;
+
+               if ( !class_exists('WP_User') )
+                       return false;
+
+               if ( $user_id > 0 ) {
+                       $comment_user = new WP_User( $user_id );
+                       if ( isset( $comment_user->roles ) )
+                               $roles = join( ',', $comment_user->roles );
+               }
+
+               if ( is_multisite() && is_super_admin( $user_id ) ) {
+                       if ( empty( $roles ) ) {
+                               $roles = 'super_admin';
+                       } else {
+                               $comment_user->roles[] = 'super_admin';
+                               $roles = join( ',', $comment_user->roles );
+                       }
+               }
+
+               return $roles;
+       }
+
+       // filter handler used to return a spam result to pre_comment_approved
+       public static function last_comment_status( $approved, $comment ) {
+               // Only do this if it's the correct comment
+               if ( is_null(self::$last_comment_result) || ! self::matches_last_comment( $comment ) ) {
+                       self::log( "comment_is_spam mismatched comment, returning unaltered $approved" );
+                       return $approved;
+               }
+
+               // bump the counter here instead of when the filter is added to reduce the possibility of overcounting
+               if ( $incr = apply_filters('akismet_spam_count_incr', 1) )
+                       update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr );
+
+               return self::$last_comment_result;
+       }
+       
+       /**
+        * If Akismet is temporarily unreachable, we don't want to "spam" the blogger with
+        * moderation emails for comments that will be automatically cleared or spammed on
+        * the next retry.
+        *
+        * For comments that will be rechecked later, empty the list of email addresses that
+        * the moderation email would be sent to.
+        *
+        * @param array $emails An array of email addresses that the moderation email will be sent to.
+        * @param int $comment_id The ID of the relevant comment.
+        * @return array An array of email addresses that the moderation email will be sent to.
+        */
+       public static function disable_moderation_emails_if_unreachable( $emails, $comment_id ) {
+               if ( ! empty( self::$prevent_moderation_email_for_these_comments ) && ! empty( $emails ) ) {
+                       $comment = get_comment( $comment_id );
+
+                       foreach ( self::$prevent_moderation_email_for_these_comments as $possible_match ) {
+                               if ( self::comments_match( $possible_match, $comment ) ) {
+                                       update_comment_meta( $comment_id, 'akismet_delayed_moderation_email', true );
+                                       return array();
+                               }
+                       }
+               }
+
+               return $emails;
+       }
+
+       public static function _cmp_time( $a, $b ) {
+               return $a['time'] > $b['time'] ? -1 : 1;
+       }
+
+       public static function _get_microtime() {
+               $mtime = explode( ' ', microtime() );
+               return $mtime[1] + $mtime[0];
+       }
+
+       /**
+        * Make a POST request to the Akismet API.
+        *
+        * @param string $request The body of the request.
+        * @param string $path The path for the request.
+        * @param string $ip The specific IP address to hit.
+        * @return array A two-member array consisting of the headers and the response body, both empty in the case of a failure.
+        */
+       public static function http_post( $request, $path, $ip=null ) {
+
+               $akismet_ua = sprintf( 'WordPress/%s | Akismet/%s', $GLOBALS['wp_version'], constant( 'AKISMET_VERSION' ) );
+               $akismet_ua = apply_filters( 'akismet_ua', $akismet_ua );
+
+               $content_length = strlen( $request );
+
+               $api_key   = self::get_api_key();
+               $host      = self::API_HOST;
+
+               if ( !empty( $api_key ) )
+                       $host = $api_key.'.'.$host;
+
+               $http_host = $host;
+               // use a specific IP if provided
+               // needed by Akismet_Admin::check_server_connectivity()
+               if ( $ip && long2ip( ip2long( $ip ) ) ) {
+                       $http_host = $ip;
+               }
+
+               $http_args = array(
+                       'body' => $request,
+                       'headers' => array(
+                               'Content-Type' => 'application/x-www-form-urlencoded; charset=' . get_option( 'blog_charset' ),
+                               'Host' => $host,
+                               'User-Agent' => $akismet_ua,
+                       ),
+                       'httpversion' => '1.0',
+                       'timeout' => 15
+               );
+
+               $akismet_url = "http://{$http_host}/1.1/{$path}";
+               $response = wp_remote_post( $akismet_url, $http_args );
+               Akismet::log( compact( 'akismet_url', 'http_args', 'response' ) );
+               if ( is_wp_error( $response ) )
+                       return array( '', '' );
+
+               return array( $response['headers'], $response['body'] );
+       }
+
+       // given a response from an API call like check_key_status(), update the alert code options if an alert is present.
+       private static function update_alert( $response ) {
+               $code = $msg = null;
+               if ( isset( $response[0]['x-akismet-alert-code'] ) ) {
+                       $code = $response[0]['x-akismet-alert-code'];
+                       $msg  = $response[0]['x-akismet-alert-msg'];
+               }
+
+               // only call update_option() if the value has changed
+               if ( $code != get_option( 'akismet_alert_code' ) ) {
+                       if ( ! $code ) {
+                               delete_option( 'akismet_alert_code' );
+                               delete_option( 'akismet_alert_msg' );
+                       }
+                       else {
+                               update_option( 'akismet_alert_code', $code );
+                               update_option( 'akismet_alert_msg', $msg );
+                       }
+               }
+       }
+
+       public static function load_form_js() {
+               wp_enqueue_script( 'akismet-form', AKISMET__PLUGIN_URL . '_inc/form.js', array( 'jquery' ), AKISMET_VERSION );
+               wp_print_scripts( 'akismet-form' );
+       }
+
+       public static function inject_ak_js( $fields ) {
+               echo '<p style="display: none;">';
+               echo '<input type="hidden" id="ak_js" name="ak_js" value="' . mt_rand( 0, 250 ) . '"/>';
+               echo '</p>';
+       }
+
+       private static function bail_on_activation( $message, $deactivate = true ) {
+?>
+<!doctype html>
+<html>
+<head>
+<meta charset="<?php bloginfo( 'charset' ); ?>">
+<style>
+* {
+       text-align: center;
+       margin: 0;
+       padding: 0;
+       font-family: "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;
+}
+p {
+       margin-top: 1em;
+       font-size: 18px;
+}
+</style>
+<body>
+<p><?php echo esc_html( $message ); ?></p>
+</body>
+</html>
+<?php
+               if ( $deactivate ) {
+                       $plugins = get_option( 'active_plugins' );
+                       $akismet = plugin_basename( AKISMET__PLUGIN_DIR . 'akismet.php' );
+                       $update  = false;
+                       foreach ( $plugins as $i => $plugin ) {
+                               if ( $plugin === $akismet ) {
+                                       $plugins[$i] = false;
+                                       $update = true;
+                               }
+                       }
+
+                       if ( $update ) {
+                               update_option( 'active_plugins', array_filter( $plugins ) );
+                       }
+               }
+               exit;
+       }
+
+       public static function view( $name, array $args = array() ) {
+               $args = apply_filters( 'akismet_view_arguments', $args, $name );
+               
+               foreach ( $args AS $key => $val ) {
+                       $$key = $val;
+               }
+               
+               load_plugin_textdomain( 'akismet' );
+
+               $file = AKISMET__PLUGIN_DIR . 'views/'. $name . '.php';
+
+               include( $file );
+       }
+
+       /**
+        * Attached to activate_{ plugin_basename( __FILES__ ) } by register_activation_hook()
+        * @static
+        */
+       public static function plugin_activation() {
+               if ( version_compare( $GLOBALS['wp_version'], AKISMET__MINIMUM_WP_VERSION, '<' ) ) {
+                       load_plugin_textdomain( 'akismet' );
+                       
+                       $message = '<strong>'.sprintf(esc_html__( 'Akismet %s requires WordPress %s or higher.' , 'akismet'), AKISMET_VERSION, AKISMET__MINIMUM_WP_VERSION ).'</strong> '.sprintf(__('Please <a href="%1$s">upgrade WordPress</a> to a current version, or <a href="%2$s">downgrade to version 2.4 of the Akismet plugin</a>.', 'akismet'), 'https://codex.wordpress.org/Upgrading_WordPress', 'http://wordpress.org/extend/plugins/akismet/download/');
+
+                       Akismet::bail_on_activation( $message );
+               }
+       }
+
+       /**
+        * Removes all connection options
+        * @static
+        */
+       public static function plugin_deactivation( ) {
+               //tidy up
+       }
+
+       public static function log( $akismet_debug ) {
+               if ( defined( 'WP_DEBUG_LOG' ) && WP_DEBUG_LOG )
+                       error_log( print_r( compact( 'akismet_debug' ), 1 ) ); //send message to debug.log when in debug mode
+       }
+}
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/img/logo.png b/wp-content/plugins/akismet/img/logo.png
deleted file mode 100644 (file)
index b5f5b9a..0000000
Binary files a/wp-content/plugins/akismet/img/logo.png and /dev/null differ
diff --git a/wp-content/plugins/akismet/img/logo@2x.png b/wp-content/plugins/akismet/img/logo@2x.png
deleted file mode 100644 (file)
index 80c835b..0000000
Binary files a/wp-content/plugins/akismet/img/logo@2x.png and /dev/null differ
index a6ce9c89c07218226e51ceb89e78191ec5baf657..cf879a5e5d2635239087752658c5f2345de1be68 100644 (file)
@@ -1,2 +1,2 @@
 <?php
-# Silence is golden.
+# Silence is golden.
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/legacy.php b/wp-content/plugins/akismet/legacy.php
deleted file mode 100644 (file)
index e6de8cb..0000000
+++ /dev/null
@@ -1,396 +0,0 @@
-<?php
-
-function akismet_spam_comments( $type = false, $page = 1, $per_page = 50 ) {
-       global $wpdb;
-
-       $page = (int) $page;
-       if ( $page < 2 )
-               $page = 1;
-
-       $per_page = (int) $per_page;
-       if ( $per_page < 1 )
-               $per_page = 50;
-
-       $start = ( $page - 1 ) * $per_page;
-       $end = $start + $per_page;
-
-       if ( $type ) {
-               if ( 'comments' == $type || 'comment' == $type )
-                       $type = '';
-               else
-                       $type = $wpdb->escape( $type );
-               return $wpdb->get_results( "SELECT * FROM $wpdb->comments WHERE comment_approved = 'spam' AND comment_type='$type' ORDER BY comment_date DESC LIMIT $start, $end");
-       }
-
-       // All
-       return $wpdb->get_results( "SELECT * FROM $wpdb->comments WHERE comment_approved = 'spam' ORDER BY comment_date DESC LIMIT $start, $end");
-}
-
-// Totals for each comment type
-// returns array( type => count, ... )
-function akismet_spam_totals() {
-       global $wpdb;
-       $totals = $wpdb->get_results( "SELECT comment_type, COUNT(*) AS cc FROM $wpdb->comments WHERE comment_approved = 'spam' GROUP BY comment_type" );
-       $return = array();
-       foreach ( $totals as $total )
-               $return[$total->comment_type ? $total->comment_type : 'comment'] = $total->cc;
-       return $return;
-}
-
-function akismet_manage_page() {
-       global $wpdb, $submenu, $wp_db_version;
-
-       // WP 2.7 has its own spam management page
-       if ( 8645 <= $wp_db_version )
-               return;
-
-       $count = sprintf(__('Akismet Spam (%s)'), akismet_spam_count());
-       if ( isset( $submenu['edit-comments.php'] ) )
-               add_submenu_page('edit-comments.php', __('Akismet Spam'), $count, 'moderate_comments', 'akismet-admin', 'akismet_caught' );
-       elseif ( function_exists('add_management_page') )
-               add_management_page(__('Akismet Spam'), $count, 'moderate_comments', 'akismet-admin', 'akismet_caught');
-}
-
-function akismet_caught() {
-       global $wpdb, $comment, $akismet_caught, $akismet_nonce;
-
-       akismet_recheck_queue();
-       if (isset($_POST['submit']) && 'recover' == $_POST['action'] && ! empty($_POST['not_spam'])) {
-               check_admin_referer( $akismet_nonce );
-               if ( function_exists('current_user_can') && !current_user_can('moderate_comments') )
-                       die(__('You do not have sufficient permission to moderate comments.'));
-
-               $i = 0;
-               foreach ($_POST['not_spam'] as $comment):
-                       $comment = (int) $comment;
-                       if ( function_exists('wp_set_comment_status') )
-                               wp_set_comment_status($comment, 'approve');
-                       else
-                               $wpdb->query("UPDATE $wpdb->comments SET comment_approved = '1' WHERE comment_ID = '$comment'");
-                       akismet_submit_nonspam_comment($comment);
-                       ++$i;
-               endforeach;
-               $to = add_query_arg( 'recovered', $i, $_SERVER['HTTP_REFERER'] );
-               wp_safe_redirect( $to );
-               exit;
-       }
-       if ('delete' == $_POST['action']) {
-               check_admin_referer( $akismet_nonce );
-               if ( function_exists('current_user_can') && !current_user_can('moderate_comments') )
-                       die(__('You do not have sufficient permission to moderate comments.'));
-
-               $delete_time = $wpdb->escape( $_POST['display_time'] );
-               $comment_ids = $wpdb->get_col( "SELECT comment_id FROM $wpdb->comments WHERE comment_approved = 'spam' AND '$delete_time' > comment_date_gmt" );
-               if ( !empty( $comment_ids ) ) {
-                       do_action( 'delete_comment', $comment_ids );
-                       $wpdb->query( "DELETE FROM $wpdb->comments WHERE comment_id IN ( " . implode( ', ', $comment_ids ) . " )");
-                       wp_cache_delete( 'akismet_spam_count', 'widget' );
-               }
-               $to = add_query_arg( 'deleted', 'all', $_SERVER['HTTP_REFERER'] );
-               wp_safe_redirect( $to );
-               exit;
-       }
-
-if ( isset( $_GET['recovered'] ) ) {
-       $i = (int) $_GET['recovered'];
-       echo '<div class="updated"><p>' . sprintf(__('%1$s comments recovered.'), $i) . "</p></div>";
-}
-
-if (isset( $_GET['deleted'] ) )
-       echo '<div class="updated"><p>' . __('All spam deleted.') . '</p></div>';
-
-if ( isset( $GLOBALS['submenu']['edit-comments.php'] ) )
-       $link = 'edit-comments.php';
-else
-       $link = 'edit.php';
-?>
-<style type="text/css">
-.akismet-tabs {
-       list-style: none;
-       margin: 0;
-       padding: 0;
-       clear: both;
-       border-bottom: 1px solid #ccc;
-       height: 31px;
-       margin-bottom: 20px;
-       background: #ddd;
-       border-top: 1px solid #bdbdbd;
-}
-.akismet-tabs li {
-       float: left;
-       margin: 5px 0 0 20px;
-}
-.akismet-tabs a {
-       display: block;
-       padding: 4px .5em 3px;
-       border-bottom: none;
-       color: #036;
-}
-.akismet-tabs .active a {
-       background: #fff;
-       border: 1px solid #ccc;
-       border-bottom: none;
-       color: #000;
-       font-weight: bold;
-       padding-bottom: 4px;
-}
-#akismetsearch {
-       float: right;
-       margin-top: -.5em;
-}
-
-#akismetsearch p {
-       margin: 0;
-       padding: 0;
-}
-</style>
-<div class="wrap">
-<h2><?php _e('Caught Spam') ?></h2>
-<?php
-$count = get_option( 'akismet_spam_count' );
-if ( $count ) {
-?>
-<p><?php printf(__('Akismet has caught <strong>%1$s spam</strong> for you since you first installed it.'), number_format_i18n($count) ); ?></p>
-<?php
-}
-
-$spam_count = akismet_spam_count();
-
-if ( 0 == $spam_count ) {
-       echo '<p>'.__('You have no spam currently in the queue. Must be your lucky day. :)').'</p>';
-       echo '</div>';
-} else {
-       echo '<p>'.__('You can delete all of the spam from your database with a single click. This operation cannot be undone, so you may wish to check to ensure that no legitimate comments got through first. Spam is automatically deleted after 15 days, so don&#8217;t sweat it.').'</p>';
-?>
-<?php if ( !isset( $_POST['s'] ) ) { ?>
-<form method="post" action="<?php echo attribute_escape( add_query_arg( 'noheader', 'true' ) ); ?>">
-<?php akismet_nonce_field($akismet_nonce) ?>
-<input type="hidden" name="action" value="delete" />
-<?php printf(__('There are currently %1$s comments identified as spam.'), $spam_count); ?>&nbsp; &nbsp; <input type="submit" class="button delete" name="Submit" value="<?php _e('Delete all'); ?>" />
-<input type="hidden" name="display_time" value="<?php echo current_time('mysql', 1); ?>" />
-</form>
-<?php } ?>
-</div>
-<div class="wrap">
-<?php if ( isset( $_POST['s'] ) ) { ?>
-<h2><?php _e('Search'); ?></h2>
-<?php } else { ?>
-<?php echo '<p>'.__('These are the latest comments identified as spam by Akismet. If you see any mistakes, simply mark the comment as "not spam" and Akismet will learn from the submission. If you wish to recover a comment from spam, simply select the comment, and click Not Spam. After 15 days we clean out the junk for you.').'</p>'; ?>
-<?php } ?>
-<?php
-if ( isset( $_POST['s'] ) ) {
-       $s = $wpdb->escape($_POST['s']);
-       $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments  WHERE
-               (comment_author LIKE '%$s%' OR
-               comment_author_email LIKE '%$s%' OR
-               comment_author_url LIKE ('%$s%') OR
-               comment_author_IP LIKE ('%$s%') OR
-               comment_content LIKE ('%$s%') ) AND
-               comment_approved = 'spam'
-               ORDER BY comment_date DESC");
-} else {
-       if ( isset( $_GET['apage'] ) )
-               $page = (int) $_GET['apage'];
-       else
-               $page = 1;
-
-       if ( $page < 2 )
-               $page = 1;
-
-       $current_type = false;
-       if ( isset( $_GET['ctype'] ) )
-               $current_type = preg_replace( '|[^a-z]|', '', $_GET['ctype'] );
-
-       $comments = akismet_spam_comments( $current_type, $page );
-       $total = akismet_spam_count( $current_type );
-       $totals = akismet_spam_totals();
-?>
-<ul class="akismet-tabs">
-<li <?php if ( !isset( $_GET['ctype'] ) ) echo ' class="active"'; ?>><a href="edit-comments.php?page=akismet-admin"><?php _e('All'); ?></a></li>
-<?php
-foreach ( $totals as $type => $type_count ) {
-       if ( 'comment' == $type ) {
-               $type = 'comments';
-               $show = __('Comments');
-       } else {
-               $show = ucwords( $type );
-       }
-       $type_count = number_format_i18n( $type_count );
-       $extra = $current_type === $type ? ' class="active"' : '';
-       echo "<li $extra><a href='edit-comments.php?page=akismet-admin&amp;ctype=$type'>$show ($type_count)</a></li>";
-}
-do_action( 'akismet_tabs' ); // so plugins can add more tabs easily
-?>
-</ul>
-<?php
-}
-
-if ($comments) {
-?>
-<form method="post" action="<?php echo attribute_escape("$link?page=akismet-admin"); ?>" id="akismetsearch">
-<p>  <input type="text" name="s" value="<?php if (isset($_POST['s'])) echo attribute_escape($_POST['s']); ?>" size="17" />
-  <input type="submit" class="button" name="submit" value="<?php echo attribute_escape(__('Search Spam &raquo;')) ?>"  />  </p>
-</form>
-<?php if ( $total > 50 ) {
-$total_pages = ceil( $total / 50 );
-$r = '';
-if ( 1 < $page ) {
-       $args['apage'] = ( 1 == $page - 1 ) ? '' : $page - 1;
-       $r .=  '<a class="prev" href="' . clean_url(add_query_arg( $args )) . '">'. __('&laquo; Previous Page') .'</a>' . "\n";
-}
-if ( ( $total_pages = ceil( $total / 50 ) ) > 1 ) {
-       for ( $page_num = 1; $page_num <= $total_pages; $page_num++ ) :
-               if ( $page == $page_num ) :
-                       $r .=  "<strong>$page_num</strong>\n";
-               else :
-                       $p = false;
-                       if ( $page_num < 3 || ( $page_num >= $page - 3 && $page_num <= $page + 3 ) || $page_num > $total_pages - 3 ) :
-                               $args['apage'] = ( 1 == $page_num ) ? '' : $page_num;
-                               $r .= '<a class="page-numbers" href="' . clean_url(add_query_arg($args)) . '">' . ( $page_num ) . "</a>\n";
-                               $in = true;
-                       elseif ( $in == true ) :
-                               $r .= "...\n";
-                               $in = false;
-                       endif;
-               endif;
-       endfor;
-}
-if ( ( $page ) * 50 < $total || -1 == $total ) {
-       $args['apage'] = $page + 1;
-       $r .=  '<a class="next" href="' . clean_url(add_query_arg($args)) . '">'. __('Next Page &raquo;') .'</a>' . "\n";
-}
-echo "<p>$r</p>";
-?>
-
-<?php } ?>
-<form style="clear: both;" method="post" action="<?php echo attribute_escape( add_query_arg( 'noheader', 'true' ) ); ?>">
-<?php akismet_nonce_field($akismet_nonce) ?>
-<input type="hidden" name="action" value="recover" />
-<ul id="spam-list" class="commentlist" style="list-style: none; margin: 0; padding: 0;">
-<?php
-$i = 0;
-foreach($comments as $comment) {
-       $i++;
-       $comment_date = mysql2date(get_option("date_format") . " @ " . get_option("time_format"), $comment->comment_date);
-       $post = get_post($comment->comment_post_ID);
-       $post_title = $post->post_title;
-       if ($i % 2) $class = 'class="alternate"';
-       else $class = '';
-       echo "\n\t<li id='comment-$comment->comment_ID' $class>";
-       ?>
-
-<p><strong><?php comment_author() ?></strong> <?php if ($comment->comment_author_email) { ?>| <?php comment_author_email_link() ?> <?php } if ($comment->comment_author_url && 'http://' != $comment->comment_author_url) { ?> | <?php comment_author_url_link() ?> <?php } ?>| <?php _e('IP:') ?> <a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP() ?>"><?php comment_author_IP() ?></a></p>
-
-<?php comment_text() ?>
-
-<p><label for="spam-<?php echo $comment->comment_ID; ?>">
-<input type="checkbox" id="spam-<?php echo $comment->comment_ID; ?>" name="not_spam[]" value="<?php echo $comment->comment_ID; ?>" />
-<?php _e('Not Spam') ?></label> &#8212; <?php comment_date('M j, g:i A');  ?> &#8212; [
-<?php
-$post = get_post($comment->comment_post_ID);
-$post_title = wp_specialchars( $post->post_title, 'double' );
-$post_title = ('' == $post_title) ? "# $comment->comment_post_ID" : $post_title;
-?>
- <a href="<?php echo get_permalink($comment->comment_post_ID); ?>" title="<?php echo $post_title; ?>"><?php _e('View Post') ?></a> ] </p>
-
-
-<?php
-}
-?>
-</ul>
-<?php if ( $total > 50 ) {
-$total_pages = ceil( $total / 50 );
-$r = '';
-if ( 1 < $page ) {
-       $args['apage'] = ( 1 == $page - 1 ) ? '' : $page - 1;
-       $r .=  '<a class="prev" href="' . clean_url(add_query_arg( $args )) . '">'. __('&laquo; Previous Page') .'</a>' . "\n";
-}
-if ( ( $total_pages = ceil( $total / 50 ) ) > 1 ) {
-       for ( $page_num = 1; $page_num <= $total_pages; $page_num++ ) :
-               if ( $page == $page_num ) :
-                       $r .=  "<strong>$page_num</strong>\n";
-               else :
-                       $p = false;
-                       if ( $page_num < 3 || ( $page_num >= $page - 3 && $page_num <= $page + 3 ) || $page_num > $total_pages - 3 ) :
-                               $args['apage'] = ( 1 == $page_num ) ? '' : $page_num;
-                               $r .= '<a class="page-numbers" href="' . clean_url(add_query_arg($args)) . '">' . ( $page_num ) . "</a>\n";
-                               $in = true;
-                       elseif ( $in == true ) :
-                               $r .= "...\n";
-                               $in = false;
-                       endif;
-               endif;
-       endfor;
-}
-if ( ( $page ) * 50 < $total || -1 == $total ) {
-       $args['apage'] = $page + 1;
-       $r .=  '<a class="next" href="' . clean_url(add_query_arg($args)) . '">'. __('Next Page &raquo;') .'</a>' . "\n";
-}
-echo "<p>$r</p>";
-}
-?>
-<p class="submit">
-<input type="submit" name="submit" value="<?php echo attribute_escape(__('De-spam marked comments &raquo;')); ?>" />
-</p>
-<p><?php _e('Comments you de-spam will be submitted to Akismet as mistakes so it can learn and get better.'); ?></p>
-</form>
-<?php
-} else {
-?>
-<p><?php _e('No results found.'); ?></p>
-<?php } ?>
-
-<?php if ( !isset( $_POST['s'] ) ) { ?>
-<form method="post" action="<?php echo attribute_escape( add_query_arg( 'noheader', 'true' ) ); ?>">
-<?php akismet_nonce_field($akismet_nonce) ?>
-<p><input type="hidden" name="action" value="delete" />
-<?php printf(__('There are currently %1$s comments identified as spam.'), $spam_count); ?>&nbsp; &nbsp; <input type="submit" name="Submit" class="button" value="<?php echo attribute_escape(__('Delete all')); ?>" />
-<input type="hidden" name="display_time" value="<?php echo current_time('mysql', 1); ?>" /></p>
-</form>
-<?php } ?>
-</div>
-<?php
-       }
-}
-
-add_action('admin_menu', 'akismet_manage_page');
-
-function redirect_old_akismet_urls( ) {
-       global $wp_db_version;
-       $script_name = array_pop( split( '/', $_SERVER['PHP_SELF'] ) );
-
-       $page = '';
-       if ( !empty( $_GET['page'] ) )
-               $page = $_GET['page'];
-
-       // 2.7 redirect for people who might have bookmarked the old page
-       if ( 8204 < $wp_db_version && ( 'edit-comments.php' == $script_name || 'edit.php' == $script_name ) && 'akismet-admin' == $page ) {
-               $new_url = esc_url( 'edit-comments.php?comment_status=spam' );
-               wp_safe_redirect( $new_url, 301 );
-               exit;
-       }
-}
-add_action( 'admin_init', 'redirect_old_akismet_urls' );
-
-// For WP <= 2.3.x
-global $pagenow;
-
-if ( 'moderation.php' == $pagenow ) {
-       function akismet_recheck_button( $page ) {
-               global $submenu;
-               if ( isset( $submenu['edit-comments.php'] ) )
-                       $link = 'edit-comments.php';
-               else
-                       $link = 'edit.php';
-               $button = "<a href='$link?page=akismet-admin&amp;recheckqueue=true&amp;noheader=true' style='display: block; width: 100px; position: absolute; right: 7%; padding: 5px; font-size: 14px; text-decoration: underline; background: #fff; border: 1px solid #ccc;'>" . __('Recheck Queue for Spam') . "</a>";
-               $page = str_replace( '<div class="wrap">', '<div class="wrap">' . $button, $page );
-               return $page;
-       }
-
-       if ( $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '0'" ) )
-               ob_start( 'akismet_recheck_button' );
-}
-
-// This option causes tons of FPs, was removed in 2.1
-function akismet_kill_proxy_check( $option ) { return 0; }
-add_filter('option_open_proxy_check', 'akismet_kill_proxy_check');
index fca32ab73f937836ee34fa31b986d0f911ee0066..43604761dcff62231e139feab517586555fbcd4f 100644 (file)
@@ -1,9 +1,9 @@
 === Akismet ===
-Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat, eoigal, automattic
+Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat, eoigal, cfinke, automattic
 Tags: akismet, comments, spam
 Requires at least: 3.0
-Tested up to: 3.8.1
-Stable tag: 2.6.0
+Tested up to: 3.9
+Stable tag: 3.0.0
 License: GPLv2 or later
 
 Akismet checks your comments against the Akismet web service to see if they look like spam or not.
@@ -31,6 +31,19 @@ Upload the Akismet plugin to your blog, Activate it, then enter your [Akismet.co
 
 == Changelog ==
 
+= 3.0.0 =
+* Move Akismet to Settings menu
+* Drop Akismet Stats menu
+* Add stats snapshot to Akismet settings
+* Add Akismet subscription details and status to Akismet settings
+* Add contextual help for each page
+* Improve Akismet setup to use Jetpack to automate plugin setup
+* Fix Update Check for Spam to use ajax to avoid page timing out
+* Fix Akismet settings page to be responsive
+* Drop legacy code
+* Tidy up CSS and Javascript
+* Replace the old discard setting with a new "discard pervasive spam" feature.
+
 = 2.6.0 =
 * Add ajax paging to the check for spam button to handle large volumes of comments
 * Optimize javascript and add localization support 
diff --git a/wp-content/plugins/akismet/views/config.php b/wp-content/plugins/akismet/views/config.php
new file mode 100644 (file)
index 0000000..3b10856
--- /dev/null
@@ -0,0 +1,174 @@
+<div class="wrap">
+
+       <h2><?php esc_html_e( 'Akismet' , 'akismet');?></h2>
+
+       <div class="have-key">
+
+               <?php if ( $stat_totals && isset( $stat_totals['all'] ) && (int) $stat_totals['all']->spam > 0 ) : ?>
+
+                       <div class="new-snapshot stats">
+
+                               <span style="float:right;margin:10px 15px -5px 0px">
+                                       <a href="<?php echo esc_url( Akismet_Admin::get_page_url( 'stats' ) ); ?>" class=""><?php esc_html_e( 'Summaries' , 'akismet');?></a>
+                               </span>
+
+                               <iframe allowtransparency="true" scrolling="no" frameborder="0" style="width: 100%; height: 215px; overflow: hidden;" src="<?php printf( '//akismet.com/web/1.0/snapshot.php?blog=%s&api_key=%s&height=180&locale=%s', urlencode( get_bloginfo('url') ), Akismet::get_api_key(), get_locale() );?>"></iframe>
+                               <ul>
+                                       <li>
+                                               <h3><?php esc_html_e( 'Past six months' , 'akismet');?></h3>
+                                               <span><?php echo number_format( $stat_totals['6-months']->spam );?></span>
+                                               <?php esc_html_e( 'Spam blocked' , 'akismet');?>
+                                       </li>
+                                       <li>
+                                               <h3><?php esc_html_e( 'All time' , 'akismet');?></h3>
+                                               <span><?php echo number_format( $stat_totals['all']->spam );?></span>
+                                               <?php esc_html_e( 'Spam blocked' , 'akismet');?>
+                                       </li>
+                                       <li>
+                                               <h3><?php esc_html_e( 'Accuracy' , 'akismet');?></h3>
+                                               <span><?php echo $stat_totals['all']->accuracy; ?>%</span>
+                                               <?php printf(
+                                                       esc_html(
+                                                               _n( '%s missed spam, %s false positive', '%s missed spam, %s false positives', $stat_totals['all']->false_positives , 'akismet')
+                                                       ),
+                                                       number_format( $stat_totals['all']->missed_spam ),
+                                                       number_format( $stat_totals['all']->false_positives )
+                                               ); ?>
+                                       </li>
+                               </ul>
+                               <div class="clearfix"></div>
+                       </div>
+               <?php endif;?>
+
+               <?php if ( $akismet_user ):?>
+
+                       <div id="wpcom-stats-meta-box-container" class="metabox-holder"><?php
+                               wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
+                               wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false );
+                               ?>
+                               <script type="text/javascript">
+                               jQuery(document).ready( function($) {
+                                       jQuery('.if-js-closed').removeClass('if-js-closed').addClass('closed');
+                                       if(typeof postboxes !== 'undefined')
+                                               postboxes.add_postbox_toggles( 'plugins_page_akismet-key-config' );
+                               });
+                               </script>
+                               <div class="postbox-container" style="width: 55%;margin-right: 10px;">
+                                       <div id="normal-sortables" class="meta-box-sortables ui-sortable">
+                                               <div id="referrers" class="postbox ">
+                                                       <div class="handlediv" title="Click to toggle"><br></div>
+                                                       <h3 class="hndle"><span><?php esc_html_e( 'Settings' , 'akismet');?></span></h3>
+                                                       <form name="akismet_conf" id="akismet-conf" action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="POST">
+                                                               <div class="inside">
+                                                                       <table cellspacing="0" class="akismet-settings">
+                                                                               <tbody>
+                                                                                       <?php if ( !defined( 'WPCOM_API_KEY' ) ):?>
+                                                                                       <tr>
+                                                                                               <th 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>
+                                                                                               </td>
+                                                                                       </tr>
+                                                                                       <?php endif; ?>
+                                                                                       <tr>
+                                                                                               <th align="left" scope="row"><?php esc_html_e('Comments', 'akismet');?></th>
+                                                                                               <td></td>
+                                                                                               <td align="left">
+                                                                                                       <p>
+                                                                                                               <label for="akismet_show_user_comments_approved" title="<?php esc_attr_e( 'Show approved comments' , 'akismet'); ?>"><input name="akismet_show_user_comments_approved" id="akismet_show_user_comments_approved" value="1" type="checkbox" <?php checked('1', get_option('akismet_show_user_comments_approved')); ?>> <?php esc_html_e('Show the number of approved comments beside each comment author', 'akismet'); ?></label>
+                                                                                                       </p>
+                                                                                               </td>
+                                                                                       </tr>
+                                                                                       <tr>
+                                                                                               <th class="strictness" align="left" scope="row"><?php esc_html_e('Strictness', 'akismet'); ?></th>
+                                                                                               <td></td>
+                                                                                               <td align="left">
+                                                                                                       <fieldset><legend class="screen-reader-text"><span><?php esc_html_e('Akismet anti-spam strictness', 'akismet'); ?></span></legend>
+                                                                                                       <p><label for="akismet_strictness_1"><input type="radio" name="akismet_strictness" id="akismet_strictness_1" value="1" <?php checked('1', get_option('akismet_strictness')); ?> /> <?php esc_html_e('Silently discard the worst and most pervasive spam so I never see it.', 'akismet'); ?></label></p>
+                                                                                                       <p><label for="akismet_strictness_0"><input type="radio" name="akismet_strictness" id="akismet_strictness_0" value="0" <?php checked('0', get_option('akismet_strictness')); ?> /> <?php esc_html_e('Always put spam in the Spam folder for review.', 'akismet'); ?></label></p>
+                                                                                                       </fieldset>
+                                                                                                       <span class="note"><strong><?php esc_html_e('Note:', 'akismet');?></strong> <?php printf( __( 'Spam in the <a href="%s">spam folder</a> older than 15 days is deleted automatically.' , 'akismet'), admin_url( 'edit-comments.php?comment_status=spam' ) );?></span>
+                                                                                               </td>
+                                                                                       </tr>
+                                                                               </tbody>
+                                                                       </table>
+                                                               </div>
+                                                               <div id="major-publishing-actions">
+                                                                       <?php if ( !defined( 'WPCOM_API_KEY' ) ):?>
+                                                                       <div id="delete-action">
+                                                                               <a class="submitdelete deletion" href="<?php echo esc_url( Akismet_Admin::get_page_url( 'delete_key' ) ); ?>"><?php esc_html_e('Disconnect this account', 'akismet'); ?></a>
+                                                                       </div>
+                                                                       <?php endif; ?>
+                                                                       <?php wp_nonce_field(Akismet_Admin::NONCE) ?>
+                                                                       <div id="publishing-action">
+                                                                                       <input type="hidden" name="action" value="enter-key">
+                                                                                       <input type="submit" name="submit" id="submit" class="button button-primary" value="<?php esc_attr_e('Save Changes', 'akismet');?>">
+
+                                                                       </div>
+                                                                       <div class="clear"></div>
+                                                               </div>
+                                                       </form>
+                                               </div>
+                                       </div>
+                               </div>
+                               <div class="postbox-container" style="width:44%;">
+                                       <div id="normal-sortables" class="meta-box-sortables ui-sortable">
+                                               <div id="referrers" class="postbox ">
+                                                       <div class="handlediv" title="Click to toggle"><br></div>
+                                                       <h3 class="hndle"><span><?php esc_html_e( 'Account' , 'akismet');?></span></h3>
+                                                       <div class="inside">
+                                                               <table cellspacing="0">
+                                                                       <tbody>
+                                                                               <tr>
+                                                                                       <th scope="row" align="left"><?php esc_html_e( 'Subscription Type' , 'akismet');?></th>
+                                                                                       <td width="5%"/>
+                                                                                       <td align="left">
+                                                                                               <span><?php echo $akismet_user->account_name; ?></span>
+                                                                                       </td>
+                                                                               </tr>
+                                                                               <tr>
+                                                                                       <th scope="row" align="left"><?php esc_html_e( 'Status' , 'akismet');?></th>
+                                                                                       <td width="5%"/>
+                                                                                       <td align="left">
+                                                                                               <span><?php 
+                                                                                                       if ( 'cancelled' == $akismet_user->status ) :
+                                                                                                               esc_html_e( 'Cancelled', 'akismet' ); 
+                                                                                                       elseif ( 'suspended' == $akismet_user->status ) :
+                                                                                                               esc_html_e( 'Suspended', 'akismet' );
+                                                                                                       elseif ( 'missing' == $akismet_user->status ) :
+                                                                                                               esc_html_e( 'Missing', 'akismet' ); 
+                                                                                                       elseif ( 'no-sub' == $akismet_user->status ) :
+                                                                                                               esc_html_e( 'No Subscription Found', 'akismet' );
+                                                                                                       else :
+                                                                                                               esc_html_e( 'Active', 'akismet' );  
+                                                                                                       endif; ?></span>
+                                                                                       </td>
+                                                                               </tr>
+                                                                               <?php if ( $akismet_user->next_billing_date ) : ?>
+                                                                               <tr>
+                                                                                       <th scope="row" align="left"><?php esc_html_e( 'Next Billing Date' , 'akismet');?></th>
+                                                                                       <td width="5%"/>
+                                                                                       <td align="left">
+                                                                                               <span><?php echo date( 'F j, Y', $akismet_user->next_billing_date ); ?></span>
+                                                                                       </td>
+                                                                               </tr>
+                                                                               <?php endif; ?>
+                                                                       </tbody>
+                                                               </table>
+                                                       </div>
+                                                       <div id="major-publishing-actions">
+                                                               <div id="publishing-action">
+                                                                       <?php Akismet::view( 'get', array( 'text' => ( $akismet_user->account_type == 'free-api-key' && $akismet_user->status == 'active' ? __( 'Upgrade' , 'akismet') : __( 'Change' , 'akismet') ), 'redirect' => 'upgrade' ) ); ?>
+                                                               </div>
+                                                               <div class="clear"></div>
+                                                       </div>
+                                               </div>
+                                       </div>
+                               </div>
+                       </div>
+
+               <?php endif;?>
+
+       </div>
+</div>
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/views/get.php b/wp-content/plugins/akismet/views/get.php
new file mode 100644 (file)
index 0000000..70727f6
--- /dev/null
@@ -0,0 +1,5 @@
+<form name="akismet_activate" action="https://akismet.com/get/" method="POST" target="_blank">
+       <input type="hidden" name="passback_url" value="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>"/>
+       <input type="hidden" name="redirect" value="<?php echo isset( $redirect ) ? $redirect : 'plugin-signup'; ?>"/>
+       <input type="submit" class="<?php echo isset( $classes ) && count( $classes ) > 0 ? implode( ' ', $classes ) : 'button button-primary';?>" value="<?php echo esc_attr( $text ); ?>"/>
+</form>
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/views/notice.php b/wp-content/plugins/akismet/views/notice.php
new file mode 100644 (file)
index 0000000..f613c37
--- /dev/null
@@ -0,0 +1,96 @@
+<?php if ( $type == 'plugin' ) :?>
+<div class="updated" style="padding: 0; margin: 0; border: none; background: none;">
+       <style type="text/css">
+.akismet_activate{min-width:825px;border:1px solid #4F800D;padding:5px;margin:15px 0;background:#83AF24;background-image:-webkit-gradient(linear,0% 0,80% 100%,from(#83AF24),to(#4F800D));background-image:-moz-linear-gradient(80% 100% 120deg,#4F800D,#83AF24);-moz-border-radius:3px;border-radius:3px;-webkit-border-radius:3px;position:relative;overflow:hidden}.akismet_activate .aa_a{position:absolute;top:-5px;right:10px;font-size:140px;color:#769F33;font-family:Georgia, "Times New Roman", Times, serif;z-index:1}.akismet_activate .aa_button{font-weight:bold;border:1px solid #029DD6;border-top:1px solid #06B9FD;font-size:15px;text-align:center;padding:9px 0 8px 0;color:#FFF;background:#029DD6;background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#029DD6),to(#0079B1));background-image:-moz-linear-gradient(0% 100% 90deg,#0079B1,#029DD6);-moz-border-radius:2px;border-radius:2px;-webkit-border-radius:2px}.akismet_activate .aa_button:hover{text-decoration:none !important;border:1px solid #029DD6;border-bottom:1px solid #00A8EF;font-size:15px;text-align:center;padding:9px 0 8px 0;color:#F0F8FB;background:#0079B1;background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#0079B1),to(#0092BF));background-image:-moz-linear-gradient(0% 100% 90deg,#0092BF,#0079B1);-moz-border-radius:2px;border-radius:2px;-webkit-border-radius:2px}.akismet_activate .aa_button_border{border:1px solid #006699;-moz-border-radius:2px;border-radius:2px;-webkit-border-radius:2px;background:#029DD6;background-image:-webkit-gradient(linear,0% 0,0% 100%,from(#029DD6),to(#0079B1));background-image:-moz-linear-gradient(0% 100% 90deg,#0079B1,#029DD6)}.akismet_activate .aa_button_container{cursor:pointer;display:inline-block;background:#DEF1B8;padding:5px;-moz-border-radius:2px;border-radius:2px;-webkit-border-radius:2px;width:266px}.akismet_activate .aa_description{position:absolute;top:22px;left:285px;margin-left:25px;color:#E5F2B1;font-size:15px;z-index:1000}.akismet_activate .aa_description strong{color:#FFF;font-weight:normal}
+       </style>
+       <form name="akismet_activate" action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="POST">
+               <div class="akismet_activate">
+                       <div class="aa_a">A</div>
+                       <div class="aa_button_container" onclick="document.akismet_activate.submit();">
+                               <div class="aa_button_border">
+                                       <div class="aa_button"><?php esc_html_e('Activate your Akismet account', 'akismet');?></div>
+                               </div>
+                       </div>
+                       <div class="aa_description"><?php _e('<strong>Almost done</strong> - activate your account and say goodbye to comment spam', 'akismet');?></div>
+               </div>
+       </form>
+</div>
+<?php elseif ( $type == 'spam-check' ) :?>
+<div id="akismet-warning" class="updated fade"><p><strong><?php esc_html_e('Akismet has detected a problem.', 'akismet');?></strong> <?php printf( __('Some comments have not yet been checked for spam by Akismet. They have been temporarily held for moderation. Please check your <a href="%s">Akismet configuration</a> and contact your web host if problems persist.', 'akismet'), esc_url( Akismet_Admin::get_page_url() ) );?></p></div>
+<?php elseif ( $type == 'version' ) :?>
+<div id="akismet-warning" class="updated fade"><p><strong><?php printf( esc_html__('Akismet %s requires WordPress 3.0 or higher.', 'akismet'), AKISMET_VERSION);?></strong> <?php printf(__('Please <a href="%1$s">upgrade WordPress</a> to a current version, or <a href="%2$s">downgrade to version 2.4 of the Akismet plugin</a>.', 'akismet'), 'https://codex.wordpress.org/Upgrading_WordPress', 'https://wordpress.org/extend/plugins/akismet/download/');?></p></div>
+<?php elseif ( $type == 'alert' ) :?>
+<div class='error'>
+       <p><strong><?php printf( esc_html__( 'Akismet Error Code: %s', 'akismet' ), $code ); ?></strong></p>
+       <p><?php echo esc_html( $msg ); ?></p>
+       <p><?php
+
+       /* translators: the placeholder is a clickable URL that leads to more information regarding an error code. */
+       printf( esc_html__( 'For more information: %s' , 'akismet'), '<a href="https://akismet.com/errors/' . $code . '">https://akismet.com/errors/' . $code . '</a>' );
+
+       ?>
+       </p>
+</div>
+<?php elseif ( $type == 'missing-functions' ) :?>
+<div class="wrap alert critical">
+       <h3 class="key-status failed"><?php esc_html_e('Network functions are disabled.', 'akismet'); ?></h3>
+       <p class="description"><?php printf( __('Your web host or server administrator has disabled PHP&#8217;s <code>fsockopen</code> or <code>gethostbynamel</code> functions.  <strong>Akismet cannot work correctly until this is fixed.</strong>  Please contact your web host or firewall administrator and give them <a href="%s" target="_blank">this information about Akismet&#8217;s system requirements</a>.', 'akismet'), 'https://blog.akismet.com/akismet-hosting-faq/'); ?></p>
+</div>
+<?php elseif ( $type == 'servers-be-down' ) :?>
+<div class="wrap alert critical">
+       <h3 class="key-status failed"><?php esc_html_e("We can&#8217;t connect to your site.", 'akismet'); ?></h3>
+       <p class="description"><?php printf( __('Your firewall may be blocking us. Please contact your host and refer to <a href="%s" target="_blank">our guide about firewalls</a>.', 'akismet'), 'https://blog.akismet.com/akismet-hosting-faq/'); ?></p>
+</div>
+<?php elseif ( $type == 'active-dunning' ) :?>
+<div class="wrap alert critical">
+       <h3 class="key-status"><?php esc_html_e("Please update your payment details.", 'akismet'); ?></h3>
+       <p class="description"><?php printf( __('We cannot process your transaction. Please contact your bank for assistance, and <a href="%s" target="_blank">update your payment details</a>.', 'akismet'), 'https://akismet.com/account/'); ?></p>
+</div>
+<?php elseif ( $type == 'cancelled' ) :?>
+<div class="wrap alert critical">
+       <h3 class="key-status"><?php esc_html_e("Your subscription is cancelled.", 'akismet'); ?></h3>
+       <p class="description"><?php printf( __('Please visit the <a href="%s" target="_blank">Akismet account page</a> to reactivate your subscription.', 'akismet'), 'https://akismet.com/account/'); ?></p>
+</div>
+<?php elseif ( $type == 'suspended' ) :?>
+<div class="wrap alert critical">
+       <h3 class="key-status failed"><?php esc_html_e("Your subscription is suspended.", 'akismet'); ?></h3>
+       <p class="description"><?php printf( __('Please contact <a href="%s" target="_blank">Akismet support</a> for assistance.', 'akismet'), 'https://akismet.com/contact/'); ?></p>
+</div>
+<?php elseif ( $type == 'active-notice' && $time_saved ) :?>
+<div class="wrap alert active">
+       <h3 class="key-status"><?php echo esc_html( $time_saved ); ?></h3>
+       <p class="description"><?php printf( __('You can help us fight spam and upgrade your account by <a href="%s" target="_blank">contributing a token amount</a>.', 'akismet'), 'https://akismet.com/account/upgrade/'); ?></p>
+</div>
+<?php elseif ( $type == 'missing' ) :?>
+<div class="wrap alert critical">
+       <h3 class="key-status failed"><?php esc_html_e( 'There is a problem with your key.', 'akismet'); ?></h3>
+       <p class="description"><?php printf( __('Please contact <a href="%s" target="_blank">Akismet support</a> for assistance.', 'akismet'), 'https://akismet.com/contact/'); ?></p>
+</div>
+<?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>
+</div>
+<?php elseif ( $type == 'new-key-valid' ) :?>
+<div class="wrap alert active">
+       <h3 class="key-status"><?php esc_html_e('Your Akismet account has been successfully set up and activated. Happy blogging!', 'akismet'); ?></h3>
+</div>
+<?php elseif ( $type == 'new-key-invalid' ) :?>
+<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 == '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>
+</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( __('If you would like to use Akismet on more than 10 sites, you will need to <a href="%s" target="_blank">upgrade to an Enterprise subscription</a>. If you have any questions, please <a href="%s" target="_blank">get in touch with our support team</a>', 'akismet'), 'https://akismet.com/account/upgrade/', '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>
+       <?php endif; ?>
+</div>
+<?php endif;?>
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/views/start.php b/wp-content/plugins/akismet/views/start.php
new file mode 100644 (file)
index 0000000..692b8af
--- /dev/null
@@ -0,0 +1,95 @@
+<div class="no-key config-wrap"><?php
+       if ( $akismet_user && in_array( $akismet_user->status, array( 'active', 'active-dunning', 'no-sub', 'missing', 'cancelled', 'suspended' ) ) ) :
+               if ( $akismet_user->status == 'missing' ) :?>
+<p><?php esc_html_e('Akismet eliminates the comment and trackback spam you get on your site. Register your email address below to get started.', 'akismet'); ?></p>
+<div class="activate-highlight activate-option">
+       <div class="option-description">
+               <strong class="small-heading"><?php esc_html_e('Connected via Jetpack', 'akismet'); ?></strong>
+               <?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="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'); ?>"/>
+       </form>
+</div>
+<?php elseif ( $akismet_user->status == 'cancelled' ) :?>
+<p><?php esc_html_e('Akismet eliminates the comment and trackback spam you get on your site.', 'akismet'); ?></p>
+<div class="activate-highlight activate-option">
+       <div class="option-description" style="width:75%;">
+               <strong class="small-heading"><?php esc_html_e('Connected via Jetpack', 'akismet'); ?></strong>
+               <?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="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'); ?>"/>
+       </form>
+</div>
+<?php elseif ( $akismet_user->status == 'suspended' ) : ?>
+<p><?php esc_html_e('Akismet eliminates the comment and trackback spam you get on your site.', 'akismet'); ?></p>
+<div class="activate-highlight centered activate-option">
+       <strong class="small-heading"><?php esc_html_e( 'Connected via Jetpack' , 'akismet'); ?></strong>
+       <h3 class="alert-text"><?php printf( esc_html__( 'Your subscription for %s is suspended' , 'akismet'), $akismet_user->user_email ); ?></h3>
+       <p><?php esc_html_e('No worries! Get in touch and we&#8217;ll help sort this out.', 'akismet'); ?></p>
+       <a href="https://akismet.com/contact" class="button button-primary"><?php esc_html_e( 'Contact Akismet support' , 'akismet'); ?></a>
+</div>
+<?php else : // ask do they want to use akismet account found using jetpack wpcom connection ?>
+<p style="margin-right:10px"><?php esc_html_e('Akismet eliminates the comment and trackback spam you get on your site. To setup Akismet, select one of the options below.', 'akismet'); ?></p>
+<div class="activate-highlight activate-option">
+       <div class="option-description">
+               <strong class="small-heading"><?php esc_html_e('Connected via Jetpack', 'akismet'); ?></strong>
+               <?php echo esc_attr( $akismet_user->user_email ); ?>
+       </div>
+       <form name="akismet_use_wpcom_key" action="<?php echo esc_url( Akismet_Admin::get_page_url() ); ?>" method="post" id="akismet-activate" class="right">
+               <input type="hidden" name="key" value="<?php echo esc_attr( $akismet_user->api_key );?>"/>
+               <input type="hidden" name="action" value="enter-key">
+               <?php wp_nonce_field( Akismet_Admin::NONCE ) ?>
+               <input type="submit" class="button button-primary" value="<?php esc_attr_e( 'Use this Akismet account' , 'akismet'); ?>"/>
+       </form>
+</div>
+<?php endif;?>
+<div class="activate-highlight secondary activate-option">
+       <div class="option-description">
+               <strong><?php esc_html_e('Create a new API key with a different email address', 'akismet'); ?></strong>
+               <p><?php esc_html_e('Use this option if you want to setup a new Akismet account.', 'akismet'); ?></p>
+       </div>
+       <?php Akismet::view( 'get', array( 'text' => __( 'Register a different email address' , 'akismet'), 'classes' => array( 'right', 'button', 'button-secondary' ) ) ); ?>
+</div>
+<div class="activate-highlight secondary activate-option">
+       <div class="option-description">
+               <strong><?php esc_html_e('Manually enter an API key', 'akismet'); ?></strong>
+               <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 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');?>">
+       </form>
+</div>
+<?php else :?>
+<p><?php esc_html_e('Akismet eliminates the comment and trackback spam you get on your site. To setup Akismet, select one of the options below.', 'akismet'); ?></p>
+<div class="activate-highlight activate-option">
+       <div class="option-description">
+               <strong><?php esc_html_e( 'Activate Akismet' , 'akismet');?></strong>
+               <p><?php esc_html_e('Log in or create an account to get your API key.', 'akismet'); ?></p>
+       </div>
+       <?php Akismet::view( 'get', array( 'text' => __( 'Get your API key' , 'akismet'), 'classes' => array( 'right', 'button', 'button-primary' ) ) ); ?>
+</div>
+<div class="activate-highlight secondary activate-option">
+       <div class="option-description">
+               <strong><?php esc_html_e('Manually enter an API key', 'akismet'); ?></strong>
+               <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 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');?>">
+       </form>
+</div><?php
+       endif;?>
+</div>
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/views/stats.php b/wp-content/plugins/akismet/views/stats.php
new file mode 100644 (file)
index 0000000..1ca7661
--- /dev/null
@@ -0,0 +1,4 @@
+<div class="wrap">
+       <h2><?php esc_html_e( 'Akismet Stats' , 'akismet');?><?php if ( !isset( $hide_settings_link ) ): ?> <a href="<?php echo esc_url( Akismet_Admin::get_page_url() );?>" class="add-new-h2"><?php esc_html_e( 'Settings' , 'akismet');?></a><?php endif;?></h2> 
+       <iframe src="<?php echo esc_url( sprintf( '//akismet.com/web/1.0/user-stats.php?blog=%s&api_key=%s&locale=%s', urlencode( get_bloginfo('url') ), Akismet::get_api_key(), get_locale() ) ); ?>" width="100%" height="2500px" frameborder="0" id="akismet-stats-frame"></iframe>
+</div>
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/views/strict.php b/wp-content/plugins/akismet/views/strict.php
new file mode 100644 (file)
index 0000000..3cf197c
--- /dev/null
@@ -0,0 +1,7 @@
+<tr valign="top">
+       <th scope="row"><?php esc_html_e('Akismet anti-spam strictness', 'akismet'); ?></th>
+       <td><fieldset><legend class="screen-reader-text"><span><?php esc_html_e('Akismet anti-spam strictness', 'akismet'); ?></span></legend>
+       <p><label for="akismet_strictness_1"><input type="radio" name="akismet_strictness" id="akismet_strictness_1" value="1" <?php checked('1', get_option('akismet_strictness')); ?> /> <?php esc_html_e('Strict: silently discard the worst and most pervasive spam.', 'akismet'); ?></label></p>
+       <p><label for="akismet_strictness_0"><input type="radio" name="akismet_strictness" id="akismet_strictness_0" value="0" <?php checked('0', get_option('akismet_strictness')); ?> /> <?php esc_html_e('Safe: always put spam in the Spam folder for review.', 'akismet'); ?></label></p>
+       </fieldset></td>
+</tr>
\ No newline at end of file
diff --git a/wp-content/plugins/akismet/wrapper.php b/wp-content/plugins/akismet/wrapper.php
new file mode 100644 (file)
index 0000000..71d5abf
--- /dev/null
@@ -0,0 +1,293 @@
+<?php
+
+global $wpcom_api_key, $akismet_api_host, $akismet_api_port;
+
+$wpcom_api_key    = defined( 'WPCOM_API_KEY' ) ? constant( 'WPCOM_API_KEY' ) : '';
+$akismet_api_host = Akismet::get_api_key() . '.rest.akismet.com';
+$akismet_api_port = 80;
+
+function akismet_test_mode() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::is_test_mode()' );
+
+       return Akismet::is_test_mode();
+}
+
+function akismet_http_post( $request, $host, $path, $port = 80, $ip = null ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::http_post()' );
+
+       $path = str_ireplace( '/1.1/', '', $path );
+
+       return Akismet::http_post( $request, $path, $ip ); 
+}
+
+function akismet_microtime() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::_get_microtime()' );
+
+       return Akismet::_get_microtime();
+}
+
+function akismet_delete_old() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::delete_old_comments()' );
+
+       return Akismet::delete_old_comments();
+}
+
+function akismet_delete_old_metadata() { 
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::delete_old_comments_meta()' );
+
+       return Akismet::delete_old_comments_meta();
+}
+
+function akismet_check_db_comment( $id, $recheck_reason = 'recheck_queue' ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::check_db_comment()' );
+   
+       return Akismet::check_db_comment( $id, $recheck_reason );
+}
+
+function akismet_rightnow() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::rightnow_stats()' );
+
+       if ( !class_exists( 'Akismet_Admin' ) )
+               return false;
+   
+       return Akismet_Admin::rightnow_stats();
+}
+
+function akismet_admin_init() {
+       _deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_version_warning() {
+       _deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_load_js_and_css() {
+       _deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_nonce_field( $action = -1 ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'wp_nonce_field' );
+
+       return wp_nonce_field( $action );
+}
+function akismet_plugin_action_links( $links, $file ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::plugin_action_links()' );
+
+       return Akismet_Admin::plugin_action_links( $links, $file );
+}
+function akismet_conf() {
+       _deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_stats_display() {
+       _deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_stats() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::dashboard_stats()' );
+
+       return Akismet_Admin::dashboard_stats();
+}
+function akismet_admin_warnings() {
+       _deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_comment_row_action( $a, $comment ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::comment_row_action()' );
+
+       return Akismet_Admin::comment_row_actions( $a, $comment );
+}
+function akismet_comment_status_meta_box( $comment ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::comment_status_meta_box()' );
+
+       return Akismet_Admin::comment_status_meta_box( $comment );
+}
+function akismet_comments_columns( $columns ) {
+       _deprecated_function( __FUNCTION__, '3.0' );
+
+       return $columns;
+}
+function akismet_comment_column_row( $column, $comment_id ) {
+       _deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_text_add_link_callback( $m ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::text_add_link_callback()' );
+
+       return Akismet_Admin::text_add_link_callback( $m );
+}
+function akismet_text_add_link_class( $comment_text ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::text_add_link_class()' );
+
+       return Akismet_Admin::text_add_link_class( $comment_text );
+}
+function akismet_check_for_spam_button( $comment_status ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::check_for_spam_button()' );
+
+       return Akismet_Admin::check_for_spam_button( $comment_status );
+}
+function akismet_submit_nonspam_comment( $comment_id ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::submit_nonspam_comment()' );
+
+       return Akismet_Admin::submit_nonspam_comment( $comment_id );
+}
+function akismet_submit_spam_comment( $comment_id ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::submit_spam_comment()' );
+
+       return Akismet_Admin::submit_spam_comment( $comment_id );
+}
+function akismet_transition_comment_status( $new_status, $old_status, $comment ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::transition_comment_status()' );
+
+       return Akismet_Admin::transition_comment_status( $new_status, $old_status, $comment );
+}
+function akismet_spam_count( $type = false ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::get_spam_count()' );
+
+       return Akismet_Admin::get_spam_count( $type );
+}
+function akismet_recheck_queue() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::recheck_queue()' );
+
+       return Akismet_Admin::recheck_queue();
+}
+function akismet_remove_comment_author_url() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::remove_comment_author_url()' );
+
+       return Akismet_Admin::remove_comment_author_url();
+}
+function akismet_add_comment_author_url() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::add_comment_author_url()' );
+
+       return Akismet_Admin::add_comment_author_url();
+}
+function akismet_check_server_connectivity() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::check_server_connectivity()' );
+
+       return Akismet_Admin::check_server_connectivity();
+}
+function akismet_get_server_connectivity( $cache_timeout = 86400 ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::()' );
+
+       return Akismet_Admin::get_server_connectivity( $cache_timeout );
+}
+function akismet_server_connectivity_ok() {
+       _deprecated_function( __FUNCTION__, '3.0' );
+
+       return true;
+}
+function akismet_admin_menu() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::admin_menu()' );
+
+       return Akismet_Admin::admin_menu();
+}
+function akismet_load_menu() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet_Admin::load_menu()' );
+
+       return Akismet_Admin::load_menu();
+}
+function akismet_init() {
+       _deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_get_key() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::get_api_key()' );
+
+       return Akismet::get_api_key();
+}
+function akismet_check_key_status( $key, $ip = null ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::check_key_status()' );
+
+       return Akismet::check_key_status( $key, $ip );
+}
+function akismet_update_alert( $response ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::update_alert()' );
+
+       return Akismet::update_alert( $response );
+}
+function akismet_verify_key( $key, $ip = null ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::verify_key()' );
+
+       return Akismet::verify_key( $key, $ip );
+}
+function akismet_get_user_roles( $user_id ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::get_user_roles()' );
+
+       return Akismet::get_user_roles( $user_id );
+}
+function akismet_result_spam( $approved ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::comment_is_spam()' );
+
+       return Akismet::comment_is_spam( $approved );
+}
+function akismet_result_hold( $approved ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::comment_needs_moderation()' );
+
+       return Akismet::comment_needs_moderation( $approved );
+}
+function akismet_get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::get_user_comments_approved()' );
+
+       return Akismet::get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url );
+}
+function akismet_update_comment_history( $comment_id, $message, $event = null ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::update_comment_history()' );
+
+       return Akismet::update_comment_history( $comment_id, $message, $event );
+}
+function akismet_get_comment_history( $comment_id ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::get_comment_history()' );
+
+       return Akismet::get_comment_history( $comment_id );
+}
+function akismet_cmp_time( $a, $b ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::_cmp_time()' );
+
+       return Akismet::_cmp_time( $a, $b );
+}
+function akismet_auto_check_update_meta( $id, $comment ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::auto_check_update_meta()' );
+
+       return Akismet::auto_check_update_meta( $id, $comment );
+}
+function akismet_auto_check_comment( $commentdata ) {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::auto_check_comment()' );
+
+       return Akismet::auto_check_comment( $commentdata );
+}
+function akismet_get_ip_address() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::get_ip_address()' );
+
+       return Akismet::get_ip_address();
+}
+function akismet_cron_recheck() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::cron_recheck()' );
+
+       return Akismet::cron_recheck();
+}
+function akismet_add_comment_nonce() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::add_comment_nonce()' );
+
+       return Akismet::add_comment_nonce( $post_id );
+}
+function akismet_fix_scheduled_recheck() {
+       _deprecated_function( __FUNCTION__, '3.0', 'Akismet::fix_scheduled_recheck()' );
+
+       return Akismet::fix_scheduled_recheck();
+}
+function akismet_spam_comments() {
+       _deprecated_function( __FUNCTION__, '3.0' );
+
+       return array();
+}
+function akismet_spam_totals() {
+       _deprecated_function( __FUNCTION__, '3.0' );
+
+       return array();
+}
+function akismet_manage_page() {
+       _deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_caught() {
+       _deprecated_function( __FUNCTION__, '3.0' );
+}
+function redirect_old_akismet_urls() {
+       _deprecated_function( __FUNCTION__, '3.0' );
+}
+function akismet_kill_proxy_check( $option ) {
+       _deprecated_function( __FUNCTION__, '3.0' );
+
+       return 0;
+}
index a6ed7010c1866ef2ac78e2811b1e13d1e0f30895..e99813cae06bce444be02b5f05508195eb695e62 100644 (file)
@@ -14,7 +14,9 @@ Description: Used to style the TinyMCE editor.
  * 5.0 - Alignment
  * 6.0 - Tables
  * 7.0 - Images
- * 8.0 - RTL
+ * 8.0 - Galleries
+ * 9.0 - Audio/Video
+ * 10.0 - RTL
  * ----------------------------------------------------------------------------
  */
 
@@ -387,14 +389,36 @@ img {
        text-align: left;
 }
 
+.html5-captions .wp-caption {
+       padding: 0;
+}
+
 .wp-caption.alignleft {
        margin: 7px 14px 7px 0;
 }
 
+.html5-captions .wp-caption.alignleft {
+       margin-right: 24px;
+}
+
 .wp-caption.alignright {
        margin: 7px 0 7px 14px;
 }
 
+.wp-caption.alignright img,
+.wp-caption.alignright .wp-caption-dd {
+       padding-left: 10px;
+}
+
+.html5-captions .wp-caption.alignright {
+       margin-left: 24px;
+}
+
+.html5-captions .wp-caption.alignright img,
+.html5-captions .wp-caption.alignright .wp-caption-dd {
+       padding: 0;
+}
+
 .wp-caption.aligncenter {
        margin: 7px 0;
 }
@@ -421,9 +445,181 @@ img {
        list-style-position: inside;
 }
 
+/**
+ * 8.0 Gallery
+ * -----------------------------------------------------------------------------
+ */
+
+.gallery .gallery-item {
+       float: left;
+       margin: 0 4px 4px 0;
+       overflow: hidden;
+       padding: 0;
+       position: relative;
+}
+
+.gallery-columns-1 .gallery-item {
+       max-width: 100%;
+       width: auto;
+}
+
+.gallery-columns-2 .gallery-item {
+       max-width: 48%;
+       max-width: -webkit-calc(50% - 14px);
+       max-width:         calc(50% - 14px);
+       width: auto;
+}
+
+.gallery-columns-3 .gallery-item {
+       max-width: 32%;
+       max-width: -webkit-calc(33.3% - 11px);
+       max-width:         calc(33.3% - 11px);
+       width: auto;
+}
+
+.gallery-columns-4 .gallery-item {
+       max-width: 23%;
+       max-width: -webkit-calc(25% - 9px);
+       max-width:         calc(25% - 9px);
+       width: auto;
+}
+
+.gallery-columns-5 .gallery-item {
+       max-width: 19%;
+       max-width: -webkit-calc(20% - 8px);
+       max-width:         calc(20% - 8px);
+       width: auto;
+}
+
+.gallery-columns-6 .gallery-item {
+       max-width: 15%;
+       max-width: -webkit-calc(16.7% - 7px);
+       max-width:         calc(16.7% - 7px);
+       width: auto;
+}
+
+.gallery-columns-7 .gallery-item {
+       max-width: 13%;
+       max-width: -webkit-calc(14.28% - 7px);
+       max-width:         calc(14.28% - 7px);
+       width: auto;
+}
+
+.gallery-columns-8 .gallery-item {
+       max-width: 11%;
+       max-width: -webkit-calc(12.5% - 6px);
+       max-width:         calc(12.5% - 6px);
+       width: auto;
+}
+
+.gallery-columns-9 .gallery-item {
+       max-width: 9%;
+       max-width: -webkit-calc(11.1% - 6px);
+       max-width:         calc(11.1% - 6px);
+       width: auto;
+}
+
+.gallery-columns-1 .gallery-item:nth-of-type(1n),
+.gallery-columns-2 .gallery-item:nth-of-type(2n),
+.gallery-columns-3 .gallery-item:nth-of-type(3n),
+.gallery-columns-4 .gallery-item:nth-of-type(4n),
+.gallery-columns-5 .gallery-item:nth-of-type(5n),
+.gallery-columns-6 .gallery-item:nth-of-type(6n),
+.gallery-columns-7 .gallery-item:nth-of-type(7n),
+.gallery-columns-8 .gallery-item:nth-of-type(8n),
+.gallery-columns-9 .gallery-item:nth-of-type(9n) {
+       margin-right: 0;
+}
+
+.gallery-columns-1 .gallery-item:nth-of-type(1n),
+.gallery-columns-2 .gallery-item:nth-of-type(2n - 1),
+.gallery-columns-3 .gallery-item:nth-of-type(3n - 2),
+.gallery-columns-4 .gallery-item:nth-of-type(4n - 3),
+.gallery-columns-5 .gallery-item:nth-of-type(5n - 4),
+.gallery-columns-6 .gallery-item:nth-of-type(6n - 5),
+.gallery-columns-7 .gallery-item:nth-of-type(7n - 6),
+.gallery-columns-8 .gallery-item:nth-of-type(8n - 7),
+.gallery-columns-9 .gallery-item:nth-of-type(9n - 8) {
+       margin-left: 12px; /* Compensate for the default negative margin on .gallery, which can't be changed. */
+}
+
+.gallery .gallery-caption {
+       background-color: rgba(0, 0, 0, 0.7);
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing:    border-box;
+       box-sizing:         border-box;
+       color: #fff;
+       font-size: 12px;
+       line-height: 1.5;
+       margin: 0;
+       max-height: 50%;
+       opacity: 0;
+       padding: 6px 8px;
+       position: absolute;
+       bottom: 0;
+       left: 0;
+       text-align: left;
+       width: 100%;
+}
+
+.gallery .gallery-caption:before {
+       content: "";
+       height: 100%;
+       min-height: 49px;
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 100%;
+}
+
+.gallery-item:hover .gallery-caption {
+       opacity: 1;
+}
+
+.gallery-columns-7 .gallery-caption,
+.gallery-columns-8 .gallery-caption,
+.gallery-columns-9 .gallery-caption {
+       display: none;
+}
+
+
+/**
+ * 9.0 Audio/Video
+ * ----------------------------------------------------------------------------
+ */
+
+.mejs-mediaelement,
+.mejs-container .mejs-controls {
+       background: #000;
+}
+
+.mejs-controls .mejs-time-rail .mejs-time-loaded,
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
+       background: #fff;
+}
+
+.mejs-controls .mejs-time-rail .mejs-time-current {
+       background: #24890d;
+}
+
+.mejs-controls .mejs-time-rail .mejs-time-total,
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total {
+       background: rgba(255, 255, 255, .33);
+}
+
+.mejs-controls .mejs-time-rail span,
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total,
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
+       border-radius: 0;
+}
+
+.mejs-overlay-loading {
+       background: transparent;
+}
+
 
 /**
- * 8.0 RTL
+ * 10.0 RTL
  * ----------------------------------------------------------------------------
  */
 
index 1e640d0ea7e912858bde6aa0ebdf2cd873ae4098..3b71a6b790e33cc3c83f0bb6e45f2f6d2392f1ca 100644 (file)
@@ -515,7 +515,8 @@ a.post-thumbnail:hover {
        margin-right: auto;
 }
 
-.ie8 .full-width.singular .hentry.has-post-thumbnail {
+.ie8 .full-width.singular .hentry.has-post-thumbnail,
+.ie8 .full-width.home .hentry.has-post-thumbnail {
        margin-top: -72px;
 }
 
index 159692080ad8bddc1968a735fdae2316ed6f3661..d78b44b26274387893808fcb57b0bc51c9843844 100644 (file)
@@ -89,7 +89,7 @@ function twentyfourteen_setup() {
         * to output valid HTML5.
         */
        add_theme_support( 'html5', array(
-               'search-form', 'comment-form', 'comment-list',
+               'search-form', 'comment-form', 'comment-list', 'gallery', 'caption'
        ) );
 
        /*
@@ -121,8 +121,6 @@ add_action( 'after_setup_theme', 'twentyfourteen_setup' );
  * Adjust content_width value for image attachment template.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_content_width() {
        if ( is_attachment() && wp_attachment_is_image() ) {
@@ -164,8 +162,6 @@ function twentyfourteen_has_featured_posts() {
  * Register three Twenty Fourteen widget areas.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_widgets_init() {
        require get_template_directory() . '/inc/widgets.php';
@@ -225,8 +221,6 @@ function twentyfourteen_font_url() {
  * Enqueue scripts and styles for the front end.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_scripts() {
        // Add Lato font, used in the main stylesheet.
@@ -262,7 +256,7 @@ function twentyfourteen_scripts() {
                ) );
        }
 
-       wp_enqueue_script( 'twentyfourteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20131209', true );
+       wp_enqueue_script( 'twentyfourteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20140319', true );
 }
 add_action( 'wp_enqueue_scripts', 'twentyfourteen_scripts' );
 
@@ -270,8 +264,6 @@ add_action( 'wp_enqueue_scripts', 'twentyfourteen_scripts' );
  * Enqueue Google fonts style to admin screen for custom header display.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_admin_fonts() {
        wp_enqueue_style( 'twentyfourteen-lato', twentyfourteen_font_url(), array(), null );
@@ -283,8 +275,6 @@ if ( ! function_exists( 'twentyfourteen_the_attached_image' ) ) :
  * Print the attached image with a link to the next attached image.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_the_attached_image() {
        $post                = get_post();
@@ -352,8 +342,6 @@ if ( ! function_exists( 'twentyfourteen_list_authors' ) ) :
  * Print a list of all site contributors who published at least one post.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_list_authors() {
        $contributor_ids = get_users( array(
@@ -380,7 +368,7 @@ function twentyfourteen_list_authors() {
                                <p class="contributor-bio">
                                        <?php echo get_the_author_meta( 'description', $contributor_id ); ?>
                                </p>
-                               <a class="contributor-posts-link" href="<?php echo esc_url( get_author_posts_url( $contributor_id ) ); ?>">
+                               <a class="button contributor-posts-link" href="<?php echo esc_url( get_author_posts_url( $contributor_id ) ); ?>">
                                        <?php printf( _n( '%d Article', '%d Articles', $post_count, 'twentyfourteen' ), $post_count ); ?>
                                </a>
                        </div><!-- .contributor-summary -->
@@ -461,7 +449,7 @@ add_filter( 'body_class', 'twentyfourteen_body_classes' );
  * @return array The filtered post class list.
  */
 function twentyfourteen_post_classes( $classes ) {
-       if ( ! post_password_required() && has_post_thumbnail() ) {
+       if ( ! post_password_required() && ! is_attachment() && has_post_thumbnail() ) {
                $classes[] = 'has-post-thumbnail';
        }
 
@@ -487,7 +475,7 @@ function twentyfourteen_wp_title( $title, $sep ) {
        }
 
        // Add the site name.
-       $title .= get_bloginfo( 'name' );
+       $title .= get_bloginfo( 'name', 'display' );
 
        // Add the site description for the home/front page.
        $site_description = get_bloginfo( 'description', 'display' );
index d6c8fc4e7a330199520bfe322f7db241a7f9e441..3cd56649f291c552e201eb64fb8d8c8e8c094dca 100644 (file)
@@ -49,7 +49,7 @@
                        </div>
 
                        <nav id="primary-navigation" class="site-navigation primary-navigation" role="navigation">
-                               <h1 class="menu-toggle"><?php _e( 'Primary Menu', 'twentyfourteen' ); ?></h1>
+                               <button class="menu-toggle"><?php _e( 'Primary Menu', 'twentyfourteen' ); ?></button>
                                <a class="screen-reader-text skip-link" href="#content"><?php _e( 'Skip to content', 'twentyfourteen' ); ?></a>
                                <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
                        </nav>
index dc1ace9cc54300c464bcd35662198ab5cc7628f7..ac06b9446d0243e5d82d693a33cf66ccbb6151cc 100644 (file)
@@ -17,8 +17,6 @@
  * Switches to the default theme.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_switch_theme() {
        switch_theme( WP_DEFAULT_THEME, WP_DEFAULT_THEME );
@@ -34,8 +32,6 @@ add_action( 'after_switch_theme', 'twentyfourteen_switch_theme' );
  * Twenty Fourteen on WordPress versions prior to 3.6.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_upgrade_notice() {
        $message = sprintf( __( 'Twenty Fourteen requires at least WordPress version 3.6. You are running version %s. Please upgrade and try again.', 'twentyfourteen' ), $GLOBALS['wp_version'] );
@@ -46,8 +42,6 @@ function twentyfourteen_upgrade_notice() {
  * Prevent the Theme Customizer from being loaded on WordPress versions prior to 3.6.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_customize() {
        wp_die( sprintf( __( 'Twenty Fourteen requires at least WordPress version 3.6. You are running version %s. Please upgrade and try again.', 'twentyfourteen' ), $GLOBALS['wp_version'] ), '', array(
@@ -60,8 +54,6 @@ add_action( 'load-customize.php', 'twentyfourteen_customize' );
  * Prevent the Theme Preview from being loaded on WordPress versions prior to 3.4.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_preview() {
        if ( isset( $_GET['preview'] ) ) {
index 37a3755294b9f4a7835083a08e2c8ea1d1381eeb..d40856d87c5c0fc499813a5d68e529d0d922a39d 100644 (file)
@@ -33,7 +33,10 @@ function twentyfourteen_customize_register( $wp_customize ) {
        // Add the featured content section in case it's not already there.
        $wp_customize->add_section( 'featured_content', array(
                'title'       => __( 'Featured Content', 'twentyfourteen' ),
-               'description' => sprintf( __( 'Use a <a href="%1$s">tag</a> to feature your posts. If no posts match the tag, <a href="%2$s">sticky posts</a> will be displayed instead.', 'twentyfourteen' ), admin_url( '/edit.php?tag=featured' ), admin_url( '/edit.php?show_sticky=1' ) ),
+               'description' => sprintf( __( 'Use a <a href="%1$s">tag</a> to feature your posts. If no posts match the tag, <a href="%2$s">sticky posts</a> will be displayed instead.', 'twentyfourteen' ),
+                       esc_url( add_query_arg( 'tag', _x( 'featured', 'featured content default tag slug', 'twentyfourteen' ), admin_url( 'edit.php' ) ) ),
+                       admin_url( 'edit.php?show_sticky=1' )
+               ),
                'priority'    => 130,
        ) );
 
@@ -85,8 +88,6 @@ add_action( 'customize_preview_init', 'twentyfourteen_customize_preview_js' );
  * Add contextual help to the Themes and Post edit screens.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_contextual_help() {
        if ( 'admin_head-edit.php' === current_filter() && 'post' !== $GLOBALS['typenow'] ) {
@@ -98,7 +99,7 @@ function twentyfourteen_contextual_help() {
                'title'   => __( 'Twenty Fourteen', 'twentyfourteen' ),
                'content' =>
                        '<ul>' .
-                               '<li>' . sprintf( __( 'The home page features your choice of up to 6 posts prominently displayed in a grid or slider, controlled by the <a href="%1$s">featured</a> tag; you can change the tag and layout in <a href="%2$s">Appearance &rarr; Customize</a>. If no posts match the tag, <a href="%3$s">sticky posts</a> will be displayed instead.', 'twentyfourteen' ), admin_url( '/edit.php?tag=featured' ), admin_url( 'customize.php' ), admin_url( '/edit.php?show_sticky=1' ) ) . '</li>' .
+                               '<li>' . sprintf( __( 'The home page features your choice of up to 6 posts prominently displayed in a grid or slider, controlled by a <a href="%1$s">tag</a>; you can change the tag and layout in <a href="%2$s">Appearance &rarr; Customize</a>. If no posts match the tag, <a href="%3$s">sticky posts</a> will be displayed instead.', 'twentyfourteen' ), esc_url( add_query_arg( 'tag', _x( 'featured', 'featured content default tag slug', 'twentyfourteen' ), admin_url( 'edit.php' ) ) ), admin_url( 'customize.php' ), admin_url( 'edit.php?show_sticky=1' ) ) . '</li>' .
                                '<li>' . sprintf( __( 'Enhance your site design by using <a href="%s">Featured Images</a> for posts you&rsquo;d like to stand out (also known as post thumbnails). This allows you to associate an image with your post without inserting it. Twenty Fourteen uses featured images for posts and pages&mdash;above the title&mdash;and in the Featured Content area on the home page.', 'twentyfourteen' ), 'http://codex.wordpress.org/Post_Thumbnails#Setting_a_Post_Thumbnail' ) . '</li>' .
                                '<li>' . sprintf( __( 'For an in-depth tutorial, and more tips and tricks, visit the <a href="%s">Twenty Fourteen documentation</a>.', 'twentyfourteen' ), 'http://codex.wordpress.org/Twenty_Fourteen' ) . '</li>' .
                        '</ul>',
index 64858745718562866c177e6f26b895729552f7fd..3f9dc411a4f519c77d2ceff0d0abf8ce556bdcdf 100644 (file)
@@ -86,6 +86,7 @@ class Featured_Content {
                add_filter( $filter,                              array( __CLASS__, 'get_featured_posts' )    );
                add_action( 'customize_register',                 array( __CLASS__, 'customize_register' ), 9 );
                add_action( 'admin_init',                         array( __CLASS__, 'register_setting'   )    );
+               add_action( 'switch_theme',                       array( __CLASS__, 'delete_transient'   )    );
                add_action( 'save_post',                          array( __CLASS__, 'delete_transient'   )    );
                add_action( 'delete_post_tag',                    array( __CLASS__, 'delete_post_tag'    )    );
                add_action( 'customize_controls_enqueue_scripts', array( __CLASS__, 'enqueue_scripts'    )    );
@@ -168,7 +169,7 @@ class Featured_Content {
 
                // Query for featured posts.
                $featured = get_posts( array(
-                       'numberposts' => $settings['quantity'],
+                       'numberposts' => self::$max_posts,
                        'tax_query'   => array(
                                array(
                                        'field'    => 'term_id',
@@ -203,7 +204,7 @@ class Featured_Content {
         */
        public static function get_sticky_posts() {
                $settings = self::get_setting();
-               return array_slice( get_option( 'sticky_posts', array() ), 0, $settings['quantity'] );
+               return array_slice( get_option( 'sticky_posts', array() ), 0, self::$max_posts );
        }
 
        /**
@@ -283,7 +284,6 @@ class Featured_Content {
         * @since Twenty Fourteen 1.0
         *
         * @param int $tag_id The term_id of the tag that has been deleted.
-        * @return void
         */
        public static function delete_post_tag( $tag_id ) {
                $settings = self::get_setting();
@@ -329,8 +329,9 @@ class Featured_Content {
                        return $terms;
                }
 
+               $settings = self::get_setting();
                foreach( $terms as $order => $term ) {
-                       if ( self::get_setting( 'tag-id' ) == $term->term_id && 'post_tag' == $term->taxonomy ) {
+                       if ( ( $settings['tag-id'] === $term->term_id || $settings['tag-name'] === $term->name ) && 'post_tag' === $term->taxonomy ) {
                                unset( $terms[ $order ] );
                        }
                }
@@ -372,8 +373,9 @@ class Featured_Content {
                        return $terms;
                }
 
+               $settings = self::get_setting();
                foreach( $terms as $order => $term ) {
-                       if ( self::get_setting( 'tag-id' ) == $term->term_id ) {
+                       if ( ( $settings['tag-id'] === $term->term_id || $settings['tag-name'] === $term->name ) && 'post_tag' === $term->taxonomy ) {
                                unset( $terms[ $term->term_id ] );
                        }
                }
@@ -387,8 +389,6 @@ class Featured_Content {
         * @static
         * @access public
         * @since Twenty Fourteen 1.0
-        *
-        * @return void
         */
        public static function register_setting() {
                register_setting( 'featured-content', 'featured-content', array( __CLASS__, 'validate_settings' ) );
@@ -406,14 +406,17 @@ class Featured_Content {
        public static function customize_register( $wp_customize ) {
                $wp_customize->add_section( 'featured_content', array(
                        'title'          => __( 'Featured Content', 'twentyfourteen' ),
-                       'description'    => sprintf( __( 'Use the <a href="%1$s">"featured" tag</a> to feature your posts. You can change this to a tag of your choice; if no posts match the tag, <a href="%2$s">sticky posts</a> will be displayed instead.', 'twentyfourteen' ), admin_url( '/edit.php?tag=featured' ), admin_url( '/edit.php?show_sticky=1' ) ),
+                       'description'    => sprintf( __( 'Use a <a href="%1$s">tag</a> to feature your posts. If no posts match the tag, <a href="%2$s">sticky posts</a> will be displayed instead.', 'twentyfourteen' ),
+                               esc_url( add_query_arg( 'tag', _x( 'featured', 'featured content default tag slug', 'twentyfourteen' ), admin_url( 'edit.php' ) ) ),
+                               admin_url( 'edit.php?show_sticky=1' )
+                       ),
                        'priority'       => 130,
                        'theme_supports' => 'featured-content',
                ) );
 
                // Add Featured Content settings.
                $wp_customize->add_setting( 'featured-content[tag-name]', array(
-                       'default'              => 'featured',
+                       'default'              => _x( 'featured', 'featured content default tag slug', 'twentyfourteen' ),
                        'type'                 => 'option',
                        'sanitize_js_callback' => array( __CLASS__, 'delete_transient' ),
                ) );
@@ -472,14 +475,12 @@ class Featured_Content {
 
                $defaults = array(
                        'hide-tag' => 1,
-                       'quantity' => 6,
                        'tag-id'   => 0,
-                       'tag-name' => 'featured',
+                       'tag-name' => _x( 'featured', 'featured content default tag slug', 'twentyfourteen' ),
                );
 
                $options = wp_parse_args( $saved, $defaults );
                $options = array_intersect_key( $options, $defaults );
-               $options['quantity'] = self::sanitize_quantity( $options['quantity'] );
 
                if ( 'all' != $key ) {
                        return isset( $options[ $key ] ) ? $options[ $key ] : false;
@@ -523,10 +524,6 @@ class Featured_Content {
                        $output['tag-name'] = $input['tag-name'];
                }
 
-               if ( isset( $input['quantity'] ) ) {
-                       $output['quantity'] = self::sanitize_quantity( $input['quantity'] );
-               }
-
                $output['hide-tag'] = isset( $input['hide-tag'] ) && $input['hide-tag'] ? 1 : 0;
 
                // Delete the featured post ids transient.
@@ -534,29 +531,6 @@ class Featured_Content {
 
                return $output;
        }
-
-       /**
-        * Sanitize quantity of featured posts.
-        *
-        * @static
-        * @access public
-        * @since Twenty Fourteen 1.0
-        *
-        * @param int $input The value to sanitize.
-        * @return int A number between 1 and FeaturedContent::$max_posts.
-        */
-       public static function sanitize_quantity( $input ) {
-               $quantity = absint( $input );
-
-               if ( $quantity > self::$max_posts ) {
-                       $quantity = self::$max_posts;
-               } else if ( 1 > $quantity ) {
-                       $quantity = 1;
-               }
-
-               return $quantity;
-       }
-
 } // Featured_Content
 
 Featured_Content::setup();
index dee499e1e2c991ee92ed5475892438bcaf1f80f6..d1f9bcfcce6057d4b145b5e4817eeaa32fd0ae2c 100644 (file)
@@ -12,8 +12,6 @@ if ( ! function_exists( 'twentyfourteen_paging_nav' ) ) :
  * Display navigation to next/previous set of posts when applicable.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_paging_nav() {
        // Don't print empty markup if there's only one page.
@@ -67,8 +65,6 @@ if ( ! function_exists( 'twentyfourteen_post_nav' ) ) :
  * Display navigation to next/previous post when applicable.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_post_nav() {
        // Don't print empty markup if there's nowhere to navigate.
@@ -102,8 +98,6 @@ if ( ! function_exists( 'twentyfourteen_posted_on' ) ) :
  * Print HTML with meta information for the current post-date/time and author.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_posted_on() {
        if ( is_sticky() && is_home() && ! is_paged() ) {
@@ -154,8 +148,6 @@ function twentyfourteen_categorized_blog() {
  * Flush out the transients used in twentyfourteen_categorized_blog.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
  */
 function twentyfourteen_category_transient_flusher() {
        // Like, beat it. Dig?
@@ -171,11 +163,9 @@ add_action( 'save_post',     'twentyfourteen_category_transient_flusher' );
  * views, or a div element when on single views.
  *
  * @since Twenty Fourteen 1.0
- *
- * @return void
-*/
+ */
 function twentyfourteen_post_thumbnail() {
-       if ( post_password_required() || ! has_post_thumbnail() ) {
+       if ( post_password_required() || is_attachment() || ! has_post_thumbnail() ) {
                return;
        }
 
index f78effedb3da958debdb6308743411a573e6197b..61c1160ae6303afe3fcfaf63b1677827c2da6632 100644 (file)
@@ -23,16 +23,6 @@ class Twenty_Fourteen_Ephemera_Widget extends WP_Widget {
         */
        private $formats = array( 'aside', 'image', 'video', 'audio', 'quote', 'link', 'gallery' );
 
-       /**
-        * Pluralized post format strings.
-        *
-        * @access private
-        * @since Twenty Fourteen 1.0
-        *
-        * @var array
-        */
-       private $format_strings;
-
        /**
         * Constructor.
         *
@@ -43,21 +33,8 @@ class Twenty_Fourteen_Ephemera_Widget extends WP_Widget {
        public function __construct() {
                parent::__construct( 'widget_twentyfourteen_ephemera', __( 'Twenty Fourteen Ephemera', 'twentyfourteen' ), array(
                        'classname'   => 'widget_twentyfourteen_ephemera',
-                       'description' => __( 'Use this widget to list your recent Aside, Quote, Video, Audio, Image, Gallery, and Link posts', 'twentyfourteen' ),
+                       'description' => __( 'Use this widget to list your recent Aside, Quote, Video, Audio, Image, Gallery, and Link posts.', 'twentyfourteen' ),
                ) );
-
-               /*
-                * @todo http://core.trac.wordpress.org/ticket/23257: Add plural versions of Post Format strings
-                */
-               $this->format_strings = array(
-                       'aside'   => __( 'Asides',    'twentyfourteen' ),
-                       'image'   => __( 'Images',    'twentyfourteen' ),
-                       'video'   => __( 'Videos',    'twentyfourteen' ),
-                       'audio'   => __( 'Audio',     'twentyfourteen' ),
-                       'quote'   => __( 'Quotes',    'twentyfourteen' ),
-                       'link'    => __( 'Links',     'twentyfourteen' ),
-                       'gallery' => __( 'Galleries', 'twentyfourteen' ),
-               );
        }
 
        /**
@@ -68,12 +45,44 @@ class Twenty_Fourteen_Ephemera_Widget extends WP_Widget {
         *
         * @param array $args     An array of standard parameters for widgets in this theme.
         * @param array $instance An array of settings for this widget instance.
-        * @return void Echoes its output.
         */
        public function widget( $args, $instance ) {
                $format = $instance['format'];
+
+               switch ( $format ) {
+                       case 'image':
+                               $format_string      = __( 'Images', 'twentyfourteen' );
+                               $format_string_more = __( 'More images', 'twentyfourteen' );
+                               break;
+                       case 'video':
+                               $format_string      = __( 'Videos', 'twentyfourteen' );
+                               $format_string_more = __( 'More videos', 'twentyfourteen' );
+                               break;
+                       case 'audio':
+                               $format_string      = __( 'Audio', 'twentyfourteen' );
+                               $format_string_more = __( 'More audio', 'twentyfourteen' );
+                               break;
+                       case 'quote':
+                               $format_string      = __( 'Quotes', 'twentyfourteen' );
+                               $format_string_more = __( 'More quotes', 'twentyfourteen' );
+                               break;
+                       case 'link':
+                               $format_string      = __( 'Links', 'twentyfourteen' );
+                               $format_string_more = __( 'More links', 'twentyfourteen' );
+                               break;
+                       case 'gallery':
+                               $format_string      = __( 'Galleries', 'twentyfourteen' );
+                               $format_string_more = __( 'More galleries', 'twentyfourteen' );
+                               break;
+                       case 'aside':
+                       default:
+                               $format_string      = __( 'Asides', 'twentyfourteen' );
+                               $format_string_more = __( 'More asides', 'twentyfourteen' );
+                               break;
+               }
+
                $number = empty( $instance['number'] ) ? 2 : absint( $instance['number'] );
-               $title  = apply_filters( 'widget_title', empty( $instance['title'] ) ? $this->format_strings[ $format ] : $instance['title'], $instance, $this->id_base );
+               $title  = apply_filters( 'widget_title', empty( $instance['title'] ) ? $format_string : $instance['title'], $instance, $this->id_base );
 
                $ephemera = new WP_Query( array(
                        'order'          => 'DESC',
@@ -102,7 +111,12 @@ class Twenty_Fourteen_Ephemera_Widget extends WP_Widget {
                        </h1>
                        <ol>
 
-                               <?php while ( $ephemera->have_posts() ) : $ephemera->the_post(); ?>
+                               <?php
+                                       while ( $ephemera->have_posts() ) :
+                                               $ephemera->the_post();
+                                               $tmp_more = $GLOBALS['more'];
+                                               $GLOBALS['more'] = 0;
+                               ?>
                                <li>
                                <article <?php post_class(); ?>>
                                        <div class="entry-content">
@@ -186,7 +200,12 @@ class Twenty_Fourteen_Ephemera_Widget extends WP_Widget {
                                <?php endwhile; ?>
 
                        </ol>
-                       <a class="post-format-archive-link" href="<?php echo esc_url( get_post_format_link( $format ) ); ?>"><?php printf( __( 'More %s <span class="meta-nav">&rarr;</span>', 'twentyfourteen' ), $this->format_strings[ $format ] ); ?></a>
+                       <a class="post-format-archive-link" href="<?php echo esc_url( get_post_format_link( $format ) ); ?>">
+                               <?php
+                                       /* translators: used with More archives link */
+                                       printf( __( '%s <span class="meta-nav">&rarr;</span>', 'twentyfourteen' ), $format_string_more );
+                               ?>
+                       </a>
                        <?php
 
                        echo $args['after_widget'];
@@ -194,6 +213,7 @@ class Twenty_Fourteen_Ephemera_Widget extends WP_Widget {
                        // Reset the post globals as this query will have stomped on it.
                        wp_reset_postdata();
 
+                       $GLOBALS['more']          = $tmp_more;
                        $GLOBALS['content_width'] = $tmp_content_width;
 
                endif; // End check for ephemeral posts.
@@ -226,7 +246,6 @@ class Twenty_Fourteen_Ephemera_Widget extends WP_Widget {
         * @since Twenty Fourteen 1.0
         *
         * @param array $instance
-        * @return void
         */
        function form( $instance ) {
                $title  = empty( $instance['title'] ) ? '' : esc_attr( $instance['title'] );
index add41087b2c16974f59efc5a5861c7422f78c3fb..ea656d8077e8c93808d9e12e496f3bab4eb2d78a 100644 (file)
                } );
        } );
 
-       // Arrange footer widgets vertically.
-       if ( $.isFunction( $.fn.masonry ) ) {
-               $( '#footer-sidebar' ).masonry( {
-                       itemSelector: '.widget',
-                       columnWidth: function( containerWidth ) {
-                               return containerWidth / 4;
-                       },
-                       gutterWidth: 0,
-                       isResizable: true,
-                       isRTL: $( 'body' ).is( '.rtl' )
-               } );
-       }
-
-       // Initialize Featured Content slider.
        _window.load( function() {
+               // Arrange footer widgets vertically.
+               if ( $.isFunction( $.fn.masonry ) ) {
+                       $( '#footer-sidebar' ).masonry( {
+                               itemSelector: '.widget',
+                               columnWidth: function( containerWidth ) {
+                                       return containerWidth / 4;
+                               },
+                               gutterWidth: 0,
+                               isResizable: true,
+                               isRTL: $( 'body' ).is( '.rtl' )
+                       } );
+               }
+
+               // Initialize Featured Content slider.
                if ( body.is( '.slider' ) ) {
                        $( '.featured-content' ).featuredslider( {
                                selector: '.featured-content-inner > article',
index a7889168fb20749a297d73c63f61eaf3f6d01663..6168aacd5ed78801973b1b5fb4e43599096dc258 100644 (file)
@@ -1,7 +1,8 @@
-/*! HTML5 Shiv v3.6 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */
-/* Source: https://github.com/aFarkas/html5shiv */
+/*
+ HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+*/
 (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
-a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
-c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");
-var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,
-b){a||(a=f);if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
\ No newline at end of file
+a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}</style>";
+c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
+"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);
+if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
\ No newline at end of file
index ad22e646e6a2440e22d8a6fca0a35bbf574374cc..7b02ec3734664b19410cbbb5bd238f48cfffb8e0 100644 (file)
@@ -85,19 +85,19 @@ msgstr ""
 
 #: content-aside.php:37 content-audio.php:37 content-gallery.php:37
 #: content-image.php:37 content-link.php:37 content-quote.php:37
-#: content-video.php:37 content.php:38 inc/widgets.php:180
+#: content-video.php:37 content.php:38 inc/widgets.php:185
 msgid "Leave a comment"
 msgstr ""
 
 #: content-aside.php:37 content-audio.php:37 content-gallery.php:37
 #: content-image.php:37 content-link.php:37 content-quote.php:37
-#: content-video.php:37 content.php:38 inc/widgets.php:180
+#: content-video.php:37 content.php:38 inc/widgets.php:185
 msgid "1 Comment"
 msgstr ""
 
 #: content-aside.php:37 content-audio.php:37 content-gallery.php:37
 #: content-image.php:37 content-link.php:37 content-quote.php:37
-#: content-video.php:37 content.php:38 inc/widgets.php:180
+#: content-video.php:37 content.php:38 inc/widgets.php:185
 msgid "% Comments"
 msgstr ""
 
@@ -110,7 +110,7 @@ msgstr ""
 
 #: content-aside.php:46 content-audio.php:46 content-gallery.php:46
 #: content-image.php:46 content-link.php:46 content-quote.php:46
-#: content-video.php:46 content.php:54 inc/widgets.php:113 inc/widgets.php:158
+#: content-video.php:46 content.php:54 inc/widgets.php:118 inc/widgets.php:163
 msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
@@ -244,44 +244,50 @@ msgstr ""
 msgid "Display Site Title &amp; Tagline"
 msgstr ""
 
-#: inc/customizer.php:35 inc/featured-content.php:408
+#: inc/customizer.php:35 inc/featured-content.php:411
 msgid "Featured Content"
 msgstr ""
 
-#: inc/customizer.php:36
+#: inc/customizer.php:36 inc/featured-content.php:412
 msgid ""
 "Use a <a href=\"%1$s\">tag</a> to feature your posts. If no posts match the "
 "tag, <a href=\"%2$s\">sticky posts</a> will be displayed instead."
 msgstr ""
 
-#: inc/customizer.php:47
+#: inc/customizer.php:37 inc/customizer.php:104 inc/featured-content.php:413
+#: inc/featured-content.php:422 inc/featured-content.php:482
+msgctxt "featured content default tag slug"
+msgid "featured"
+msgstr ""
+
+#: inc/customizer.php:50
 msgid "Layout"
 msgstr ""
 
-#: inc/customizer.php:51
+#: inc/customizer.php:54
 msgid "Grid"
 msgstr ""
 
-#: inc/customizer.php:52
+#: inc/customizer.php:55
 msgid "Slider"
 msgstr ""
 
 #. #-#-#-#-#  twentyfourteen.pot (Twenty Fourteen 1.0)  #-#-#-#-#
 #. Theme Name of the plugin/theme
-#: inc/customizer.php:98
+#: inc/customizer.php:101
 msgid "Twenty Fourteen"
 msgstr ""
 
-#: inc/customizer.php:101
+#: inc/customizer.php:104
 msgid ""
 "The home page features your choice of up to 6 posts prominently displayed in "
-"a grid or slider, controlled by the <a href=\"%1$s\">featured</a> tag; you "
-"can change the tag and layout in <a href=\"%2$s\">Appearance &rarr; "
-"Customize</a>. If no posts match the tag, <a href=\"%3$s\">sticky posts</a> "
-"will be displayed instead."
+"a grid or slider, controlled a <a href=\"%1$s\">tag</a>; you can change the "
+"tag and layout in <a href=\"%2$s\">Appearance &rarr; Customize</a>. If no "
+"posts match the tag, <a href=\"%3$s\">sticky posts</a> will be displayed "
+"instead."
 msgstr ""
 
-#: inc/customizer.php:102
+#: inc/customizer.php:105
 msgid ""
 "Enhance your site design by using <a href=\"%s\">Featured Images</a> for "
 "posts you&rsquo;d like to stand out (also known as post thumbnails). This "
@@ -290,24 +296,17 @@ msgid ""
 "title&mdash;and in the Featured Content area on the home page."
 msgstr ""
 
-#: inc/customizer.php:103
+#: inc/customizer.php:106
 msgid ""
 "For an in-depth tutorial, and more tips and tricks, visit the <a href=\"%s"
 "\">Twenty Fourteen documentation</a>."
 msgstr ""
 
-#: inc/featured-content.php:409
-msgid ""
-"Use the <a href=\"%1$s\">\"featured\" tag</a> to feature your posts. You can "
-"change this to a tag of your choice; if no posts match the tag, <a href="
-"\"%2$s\">sticky posts</a> will be displayed instead."
-msgstr ""
-
-#: inc/featured-content.php:428
+#: inc/featured-content.php:434
 msgid "Tag Name"
 msgstr ""
 
-#: inc/featured-content.php:433
+#: inc/featured-content.php:439
 msgid "Don&rsquo;t display tag on front end."
 msgstr ""
 
@@ -350,7 +349,7 @@ msgstr ""
 #: inc/widgets.php:46
 msgid ""
 "Use this widget to list your recent Aside, Quote, Video, Audio, Image, "
-"Gallery, and Link posts"
+"Gallery, and Link posts."
 msgstr ""
 
 #: inc/widgets.php:53 taxonomy-post_format.php:30
@@ -381,26 +380,26 @@ msgstr ""
 msgid "Galleries"
 msgstr ""
 
-#: inc/widgets.php:148
+#: inc/widgets.php:153
 msgid "This gallery contains <a href=\"%1$s\" rel=\"bookmark\">%2$s photo</a>."
 msgid_plural ""
 "This gallery contains <a href=\"%1$s\" rel=\"bookmark\">%2$s photos</a>."
 msgstr[0] ""
 msgstr[1] ""
 
-#: inc/widgets.php:189
+#: inc/widgets.php:194
 msgid "More %s <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
-#: inc/widgets.php:236
+#: inc/widgets.php:242
 msgid "Title:"
 msgstr ""
 
-#: inc/widgets.php:239
+#: inc/widgets.php:245
 msgid "Number of posts to show:"
 msgstr ""
 
-#: inc/widgets.php:242
+#: inc/widgets.php:248
 msgid "Post format to show:"
 msgstr ""
 
index 1ed806690705d29d2048249fa9d40d908d9f3927..1a9336279de76a7d4553ae6537d864f58f32a313 100644 (file)
@@ -8,7 +8,7 @@ Version: 1.0
 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
-Text Domain: twentyfourteen 
+Text Domain: twentyfourteen
 
 This theme, like WordPress, is licensed under the GPL.
 Use it to make something cool, have fun, and share what you've learned with others.
@@ -502,7 +502,7 @@ textarea:focus {
 /* Buttons */
 
 button,
-.contributor-posts-link,
+.button,
 input[type="button"],
 input[type="reset"],
 input[type="submit"] {
@@ -519,7 +519,8 @@ input[type="submit"] {
 
 button:hover,
 button:focus,
-.contributor-posts-link:hover,
+.button:hover,
+.button:focus,
 input[type="button"]:hover,
 input[type="button"]:focus,
 input[type="reset"]:hover,
@@ -531,7 +532,7 @@ input[type="submit"]:focus {
 }
 
 button:active,
-.contributor-posts-link:active,
+.button:active,
 input[type="button"]:active,
 input[type="reset"]:active,
 input[type="submit"]:active {
@@ -635,6 +636,7 @@ span > object {
 }
 
 blockquote.alignleft,
+figure.wp-caption.alignleft,
 img.alignleft {
        margin: 7px 24px 7px 0;
 }
@@ -644,6 +646,7 @@ img.alignleft {
 }
 
 blockquote.alignright,
+figure.wp-caption.alignright,
 img.alignright {
        margin: 7px 0 7px 24px;
 }
@@ -693,9 +696,18 @@ img.aligncenter,
        font-style: italic;
        line-height: 1.5;
        margin: 9px 0;
+}
+
+div.wp-caption .wp-caption-text {
        padding-right: 10px;
 }
 
+div.wp-caption.alignright img[class*="wp-image-"],
+div.wp-caption.alignright .wp-caption-text {
+       padding-left: 10px;
+       padding-right: 0;
+}
+
 .wp-smiley {
        border: 0;
        margin-bottom: 0;
@@ -741,6 +753,8 @@ img.aligncenter,
 .footer-sidebar:after,
 .hentry:before,
 .hentry:after,
+.gallery:before,
+.gallery:after,
 .slider-direction-nav:before,
 .slider-direction-nav:after,
 .contributor-info:before,
@@ -757,6 +771,7 @@ img.aligncenter,
 
 .footer-sidebar:after,
 .hentry:after,
+.gallery:after,
 .slider-direction-nav:after,
 .contributor-info:after,
 .search-box:after,
@@ -819,7 +834,7 @@ span + .edit-link:before,
  */
 
 /* Ensure that there is no gap between the header and
-   the admin bar for WordPress versions before 3.8. */
+        the admin bar for WordPress versions before 3.8. */
 #wpadminbar {
        min-height: 32px;
 }
@@ -985,11 +1000,14 @@ span + .edit-link:before,
 }
 
 .menu-toggle {
+       background-color: #000;
+       border-radius: 0;
        cursor: pointer;
        font-size: 0;
        height: 48px;
        margin: 0;
        overflow: hidden;
+       padding: 0;
        position: absolute;
        top: 0;
        right: 0;
@@ -1000,9 +1018,20 @@ span + .edit-link:before,
 .menu-toggle:before {
        color: #fff;
        content: "\f419";
+       display: inline;
        margin-top: 16px;
 }
 
+.menu-toggle:active,
+.menu-toggle:focus,
+.menu-toggle:hover {
+       background-color: #444;
+}
+
+.menu-toggle:focus {
+       outline: 1px dotted;
+}
+
 
 /**
  * 6.0 Content
@@ -1256,7 +1285,11 @@ a.post-thumbnail:hover {
 .entry-content a:hover,
 .entry-summary a:hover,
 .page-content a:hover,
-.comment-content a:hover {
+.comment-content a:hover,
+.entry-content a.button,
+.entry-summary a.button,
+.page-content a.button,
+.comment-content a.button {
        text-decoration: none;
 }
 
@@ -1319,7 +1352,7 @@ a.post-thumbnail:hover {
 
 .hentry .mejs-controls .mejs-time-rail .mejs-time-total,
 .hentry .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total {
-       background: rgba(255,255,255,.33);
+       background: rgba(255, 255, 255, .33);
 }
 
 .hentry .mejs-container .mejs-controls .mejs-time {
@@ -1459,6 +1492,13 @@ a.post-thumbnail:hover {
        margin-right: 0;
 }
 
+.gallery-columns-1.gallery-size-medium figure.gallery-item:nth-of-type(1n+1),
+.gallery-columns-1.gallery-size-thumbnail figure.gallery-item:nth-of-type(1n+1),
+.gallery-columns-2.gallery-size-thumbnail figure.gallery-item:nth-of-type(2n+1),
+.gallery-columns-3.gallery-size-thumbnail figure.gallery-item:nth-of-type(3n+1) {
+       clear: left;
+}
+
 .gallery-caption {
        background-color: rgba(0, 0, 0, 0.7);
        -webkit-box-sizing: border-box;
@@ -2223,6 +2263,7 @@ a.post-thumbnail:hover {
 }
 
 .widget button,
+.widget .button,
 .widget input[type="button"],
 .widget input[type="reset"],
 .widget input[type="submit"] {
@@ -2989,8 +3030,10 @@ a.post-thumbnail:hover {
        }
 
        .list-view .site-content .cat-links,
-       .list-view .site-content .entry-content,
-       .list-view .site-content .entry-summary,
+       .list-view .site-content .type-post .entry-content,
+       .list-view .site-content .type-page .entry-content,
+       .list-view .site-content .type-post .entry-summary,
+       .list-view .site-content .type-page .entry-summary,
        .list-view .site-content footer.entry-meta {
                display: none;
        }
@@ -3218,7 +3261,8 @@ a.post-thumbnail:hover {
        }
 
        .full-width .site-content .has-post-thumbnail .entry-header,
-       .full-width.singular .site-content .hentry.has-post-thumbnail {
+       .full-width.singular .site-content .hentry.has-post-thumbnail,
+       .full-width.home .site-content .hentry.has-post-thumbnail {
                margin-top: -48px;
        }
 
@@ -3232,6 +3276,7 @@ a.post-thumbnail:hover {
                float: right;
                margin-left: -33.33333333%;
                padding: 48px 30px 24px;
+               position: relative;
                width: 33.33333333%;
        }
 
@@ -3544,7 +3589,8 @@ a.post-thumbnail:hover {
                margin-left: 20px;
        }
 
-       .full-width.singular .site-content .hentry.has-post-thumbnail {
+       .full-width.singular .site-content .hentry.has-post-thumbnail,
+       .full-width.home .site-content .hentry.has-post-thumbnail {
                margin-top: -72px;
        }
 
index d11e682abcf4342fd47d9aac69f90af9d90b4cd4..c34174043830b6f459df8dc9bce85194185d51b3 100644 (file)
@@ -12,7 +12,7 @@
 
 <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
        <header class="entry-header">
-               <?php if ( has_post_thumbnail() && ! post_password_required() ) : ?>
+               <?php if ( has_post_thumbnail() && ! post_password_required() && ! is_attachment() ) : ?>
                <div class="entry-thumbnail">
                        <?php the_post_thumbnail(); ?>
                </div>
index f7665a8793961fe4e9f7bffd88eb12ab57c946a6..568418992b4b45e9b1a9aa9f35d2055844ba83a0 100644 (file)
@@ -14,8 +14,10 @@ Description: Used to style the TinyMCE editor.
  * 5.0 - Alignment
  * 6.0 - Tables
  * 7.0 - Images
- * 8.0 - Post Formats
- * 9.0 - RTL
+ * 8.0 - Galleries
+ * 9.0 - Audio/Video
+ * 10.0 - Post Formats
+ * 11.0 - RTL
  * ----------------------------------------------------------------------------
  */
 
@@ -342,14 +344,36 @@ img {
        text-align: left;
 }
 
+.html5-captions .wp-caption {
+       padding: 0;
+}
+
 .wp-caption.alignleft {
        margin: 5px 10px 5px 0;
 }
 
+.html5-captions .wp-caption.alignleft {
+       margin-right: 20px;
+}
+
 .wp-caption.alignright {
        margin: 5px 0 5px 10px;
 }
 
+.wp-caption.alignright img,
+.wp-caption.alignright .wp-caption-dd {
+       padding-left: 10px;
+}
+
+.html5-captions .wp-caption.alignright {
+       margin-left: 20px;
+}
+
+.html5-captions .wp-caption.alignright img,
+.html5-captions .wp-caption.alignright .wp-caption-dd {
+       padding: 0;
+}
+
 .wp-caption-dt {
        margin: 0;
 }
@@ -366,13 +390,182 @@ img {
 }
 
 .mceTemp + ul,
-.mceTemp + ol  {
+.mceTemp + ol {
        list-style-position: inside;
 }
 
 
 /**
- * 8.0 Post Formats
+ * 8.0 Galleries
+ * ----------------------------------------------------------------------------
+ */
+
+.gallery .gallery-item {
+       float: left;
+       margin: 0 4px 4px 0;
+       overflow: hidden;
+       padding: 0;
+       position: relative;
+}
+
+.gallery-columns-1 .gallery-item {
+       max-width: 100%;
+       width: auto;
+}
+
+.gallery-columns-2 .gallery-item {
+       max-width: 48%;
+       max-width: -webkit-calc(50% - 14px);
+       max-width:         calc(50% - 14px);
+       width: auto;
+}
+
+.gallery-columns-3 .gallery-item {
+       max-width: 32%;
+       max-width: -webkit-calc(33.3% - 11px);
+       max-width:         calc(33.3% - 11px);
+       width: auto;
+}
+
+.gallery-columns-4 .gallery-item {
+       max-width: 23%;
+       max-width: -webkit-calc(25% - 9px);
+       max-width:         calc(25% - 9px);
+       width: auto;
+}
+
+.gallery-columns-5 .gallery-item {
+       max-width: 19%;
+       max-width: -webkit-calc(20% - 8px);
+       max-width:         calc(20% - 8px);
+       width: auto;
+}
+
+.gallery-columns-6 .gallery-item {
+       max-width: 15%;
+       max-width: -webkit-calc(16.7% - 7px);
+       max-width:         calc(16.7% - 7px);
+       width: auto;
+}
+
+.gallery-columns-7 .gallery-item {
+       max-width: 13%;
+       max-width: -webkit-calc(14.28% - 7px);
+       max-width:         calc(14.28% - 7px);
+       width: auto;
+}
+
+.gallery-columns-8 .gallery-item {
+       max-width: 11%;
+       max-width: -webkit-calc(12.5% - 6px);
+       max-width:         calc(12.5% - 6px);
+       width: auto;
+}
+
+.gallery-columns-9 .gallery-item {
+       max-width: 9%;
+       max-width: -webkit-calc(11.1% - 6px);
+       max-width:         calc(11.1% - 6px);
+       width: auto;
+}
+
+.gallery-columns-1 .gallery-item:nth-of-type(1n),
+.gallery-columns-2 .gallery-item:nth-of-type(2n),
+.gallery-columns-3 .gallery-item:nth-of-type(3n),
+.gallery-columns-4 .gallery-item:nth-of-type(4n),
+.gallery-columns-5 .gallery-item:nth-of-type(5n),
+.gallery-columns-6 .gallery-item:nth-of-type(6n),
+.gallery-columns-7 .gallery-item:nth-of-type(7n),
+.gallery-columns-8 .gallery-item:nth-of-type(8n),
+.gallery-columns-9 .gallery-item:nth-of-type(9n) {
+       margin-right: 0;
+}
+
+.gallery-columns-1 .gallery-item:nth-of-type(1n),
+.gallery-columns-2 .gallery-item:nth-of-type(2n - 1),
+.gallery-columns-3 .gallery-item:nth-of-type(3n - 2),
+.gallery-columns-4 .gallery-item:nth-of-type(4n - 3),
+.gallery-columns-5 .gallery-item:nth-of-type(5n - 4),
+.gallery-columns-6 .gallery-item:nth-of-type(6n - 5),
+.gallery-columns-7 .gallery-item:nth-of-type(7n - 6),
+.gallery-columns-8 .gallery-item:nth-of-type(8n - 7),
+.gallery-columns-9 .gallery-item:nth-of-type(9n - 8) {
+       margin-left: 12px; /* Compensate for the default negative margin on .gallery, which can't be changed. */
+}
+
+.gallery .gallery-caption {
+       background-color: rgba(0, 0, 0, 0.7);
+       box-sizing: border-box;
+       color: #fff;
+       font-size: 14px;
+       line-height: 1.3;
+       margin: 0;
+       max-height: 50%;
+       opacity: 0;
+       padding: 2px 8px;
+       position: absolute;
+       bottom: 0;
+       left: 0;
+       text-align: left;
+       -webkit-transition: opacity 400ms ease;
+       transition:         opacity 400ms ease;
+       width: 100%;
+}
+
+.gallery .gallery-caption:before {
+       box-shadow: 0 -10px 15px #000 inset;
+       content: "";
+       height: 100%;
+       min-height: 49px;
+       position: absolute;
+       left: 0;
+       top: 0;
+       width: 100%;
+}
+
+.gallery-item:hover .gallery-caption {
+       opacity: 1;
+}
+
+.gallery-columns-7 .gallery-caption,
+.gallery-columns-8 .gallery-caption,
+.gallery-columns-9 .gallery-caption {
+       display: none;
+}
+
+
+/**
+ * 9.0 Audio/Video
+ * ----------------------------------------------------------------------------
+ */
+.mejs-mediaelement,
+.mejs-container .mejs-controls {
+       background: #220e10;
+}
+
+.mejs-controls .mejs-time-rail .mejs-time-loaded,
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
+       background: #fff;
+}
+
+.mejs-controls .mejs-time-rail .mejs-time-current {
+       background: #ea9629;
+}
+
+.mejs-controls .mejs-time-rail .mejs-time-total,
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total {
+       background: #595959;
+}
+
+.mejs-controls .mejs-time-rail span,
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total,
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
+       border-radius: 0;
+}
+
+
+/**
+ * 10.0 Post Formats
  * ----------------------------------------------------------------------------
  */
 
@@ -541,7 +734,7 @@ img {
 
 
 /**
- * 9.0 RTL
+ * 11.0 RTL
  * ----------------------------------------------------------------------------
  */
 
index c815a14a65bf1d60d8614bc83a06f49ee381ff47..2ea67d4f908857c112578c3d4b30629bbdb58689 100644 (file)
@@ -220,9 +220,15 @@ img.alignleft {
        top: 40px;
 }
 
-.ie7 .nav-menu li ul ul {
-       left: 100%;
-       top: 0;
+.ie7 .nav-menu .sub-menu,
+.ie7 .nav-menu .children {
+       display: none;
+       overflow: visible;
+}
+
+.ie7 ul.nav-menu li:hover > ul,
+.ie7 .nav-menu ul li:hover > ul {
+       display: block;
 }
 
 .ie7 .site-header .search-form [type="search"],
index 047675f8a77bea098e107f8057ca8d5f3e9490b1..2cfd20fe4b9a974589316d2e1b09ed1d43ab6b33 100644 (file)
@@ -56,8 +56,6 @@ if ( version_compare( $GLOBALS['wp_version'], '3.6-alpha', '<' ) )
  * @uses set_post_thumbnail_size() To set a custom post thumbnail size.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_setup() {
        /*
@@ -83,7 +81,9 @@ function twentythirteen_setup() {
         * Switches default core markup for search form, comment form,
         * and comments to output valid HTML5.
         */
-       add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list' ) );
+       add_theme_support( 'html5', array(
+               'search-form', 'comment-form', 'comment-list', 'gallery', 'caption'
+       ) );
 
        /*
         * This theme supports all available post formats by default.
@@ -156,8 +156,6 @@ function twentythirteen_fonts_url() {
  * Enqueue scripts and styles for the front end.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_scripts_styles() {
        /*
@@ -172,7 +170,7 @@ function twentythirteen_scripts_styles() {
                wp_enqueue_script( 'jquery-masonry' );
 
        // Loads JavaScript file with functionality specific to Twenty Thirteen.
-       wp_enqueue_script( 'twentythirteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '2013-07-18', true );
+       wp_enqueue_script( 'twentythirteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '2014-03-18', true );
 
        // Add Source Sans Pro and Bitter fonts, used in the main stylesheet.
        wp_enqueue_style( 'twentythirteen-fonts', twentythirteen_fonts_url(), array(), null );
@@ -208,7 +206,7 @@ function twentythirteen_wp_title( $title, $sep ) {
                return $title;
 
        // Add the site name.
-       $title .= get_bloginfo( 'name' );
+       $title .= get_bloginfo( 'name', 'display' );
 
        // Add the site description for the home/front page.
        $site_description = get_bloginfo( 'description', 'display' );
@@ -227,8 +225,6 @@ add_filter( 'wp_title', 'twentythirteen_wp_title', 10, 2 );
  * Register two widget areas.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_widgets_init() {
        register_sidebar( array(
@@ -258,8 +254,6 @@ if ( ! function_exists( 'twentythirteen_paging_nav' ) ) :
  * Display navigation to next/previous set of posts when applicable.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_paging_nav() {
        global $wp_query;
@@ -291,8 +285,6 @@ if ( ! function_exists( 'twentythirteen_post_nav' ) ) :
  * Display navigation to next/previous post when applicable.
 *
 * @since Twenty Thirteen 1.0
-*
-* @return void
 */
 function twentythirteen_post_nav() {
        global $post;
@@ -324,8 +316,6 @@ if ( ! function_exists( 'twentythirteen_entry_meta' ) ) :
  * Create your own twentythirteen_entry_meta() to override in a child theme.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_entry_meta() {
        if ( is_sticky() && is_home() && ! is_paged() )
@@ -393,8 +383,6 @@ if ( ! function_exists( 'twentythirteen_the_attached_image' ) ) :
  * Print the attached image with a link to the next attached image.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_the_attached_image() {
        /**
@@ -504,8 +492,6 @@ add_filter( 'body_class', 'twentythirteen_body_class' );
  * Adjust content_width value for video post formats and attachment templates.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_content_width() {
        global $content_width;
@@ -523,7 +509,6 @@ add_action( 'template_redirect', 'twentythirteen_content_width' );
  * @since Twenty Thirteen 1.0
  *
  * @param WP_Customize_Manager $wp_customize Customizer object.
- * @return void
  */
 function twentythirteen_customize_register( $wp_customize ) {
        $wp_customize->get_setting( 'blogname' )->transport         = 'postMessage';
@@ -539,8 +524,6 @@ add_action( 'customize_register', 'twentythirteen_customize_register' );
  * reload changes asynchronously.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_customize_preview_js() {
        wp_enqueue_script( 'twentythirteen-customizer', get_template_directory_uri() . '/js/theme-customizer.js', array( 'customize-preview' ), '20130226', true );
index b08813ca10d70727e16a8520f2c3775147ebd234..329bcaa933348e5a66a4b2138dee1614e55ffdb3 100644 (file)
@@ -17,8 +17,6 @@
  * Switches to the default theme.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_switch_theme() {
        switch_theme( WP_DEFAULT_THEME, WP_DEFAULT_THEME );
@@ -34,8 +32,6 @@ add_action( 'after_switch_theme', 'twentythirteen_switch_theme' );
  * Twenty Thirteen on WordPress versions prior to 3.6.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_upgrade_notice() {
        $message = sprintf( __( 'Twenty Thirteen requires at least WordPress version 3.6. You are running version %s. Please upgrade and try again.', 'twentythirteen' ), $GLOBALS['wp_version'] );
@@ -46,8 +42,6 @@ function twentythirteen_upgrade_notice() {
  * Prevent the Theme Customizer from being loaded on WordPress versions prior to 3.6.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_customize() {
        wp_die( sprintf( __( 'Twenty Thirteen requires at least WordPress version 3.6. You are running version %s. Please upgrade and try again.', 'twentythirteen' ), $GLOBALS['wp_version'] ), '', array(
@@ -60,8 +54,6 @@ add_action( 'load-customize.php', 'twentythirteen_customize' );
  * Prevent the Theme Preview from being loaded on WordPress versions prior to 3.4.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_preview() {
        if ( isset( $_GET['preview'] ) ) {
index 3214f630038fe943838a4b3371b55821b60892ae..2fabe5bcb1d0ad7261e122a104480bf82126266b 100644 (file)
@@ -19,8 +19,6 @@
  * @uses register_default_headers() to set up the bundled header images.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_custom_header_setup() {
        $args = array(
@@ -68,8 +66,6 @@ add_action( 'after_setup_theme', 'twentythirteen_custom_header_setup', 11 );
  * Load our special font CSS files.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_custom_header_fonts() {
        // Add Source Sans Pro and Bitter fonts.
@@ -86,8 +82,6 @@ add_action( 'admin_print_styles-appearance_page_custom-header', 'twentythirteen_
  * get_header_textcolor() options: Hide text (returns 'blank'), or any hex value.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_header_style() {
        $header_image = get_header_image();
@@ -144,8 +138,6 @@ function twentythirteen_header_style() {
  * Style the header image displayed on the Appearance > Header admin panel.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_admin_header_style() {
        $header_image = get_header_image();
@@ -212,8 +204,6 @@ function twentythirteen_admin_header_style() {
  * This callback overrides the default markup displayed there.
  *
  * @since Twenty Thirteen 1.0
- *
- * @return void
  */
 function twentythirteen_admin_header_image() {
        ?>
index 777a5cf46838e670dce64a8fd0ff017af5388801..78c8c848c85ccf86f7b81e745b7f798e5d1d4432 100644 (file)
        $( function() {
                if ( body.is( '.sidebar' ) ) {
                        var sidebar   = $( '#secondary .widget-area' ),
-                           secondary = ( 0 == sidebar.length ) ? -40 : sidebar.height(),
+                           secondary = ( 0 === sidebar.length ) ? -40 : sidebar.height(),
                            margin    = $( '#tertiary .widget-area' ).height() - $( '#content' ).height() - secondary;
 
-                       if ( margin > 0 && _window.innerWidth() > 999 )
+                       if ( margin > 0 && _window.innerWidth() > 999 ) {
                                $( '#colophon' ).css( 'margin-top', margin + 'px' );
+                       }
                }
        } );
 
         */
        ( function() {
                var nav = $( '#site-navigation' ), button, menu;
-               if ( ! nav )
+               if ( ! nav ) {
                        return;
+               }
 
                button = nav.find( '.menu-toggle' );
-               if ( ! button )
+               if ( ! button ) {
                        return;
+               }
 
                // Hide button if menu is missing or empty.
                menu = nav.find( '.nav-menu' );
                        return;
                }
 
-               $( '.menu-toggle' ).on( 'click.twentythirteen', function() {
+               button.on( 'click.twentythirteen', function() {
                        nav.toggleClass( 'toggled-on' );
                } );
+
+               // Better focus for hidden submenu items for accessibility.
+               menu.find( 'a' ).on( 'focus.twentythirteen blur.twentythirteen', function() {
+                       $( this ).parents( '.menu-item, .page_item' ).toggleClass( 'focus' );
+               } );
        } )();
 
        /**
@@ -58,8 +66,9 @@
                var element = document.getElementById( location.hash.substring( 1 ) );
 
                if ( element ) {
-                       if ( ! /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) )
+                       if ( ! /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) {
                                element.tabIndex = -1;
+                       }
 
                        element.focus();
                }
index a7889168fb20749a297d73c63f61eaf3f6d01663..6168aacd5ed78801973b1b5fb4e43599096dc258 100644 (file)
@@ -1,7 +1,8 @@
-/*! HTML5 Shiv v3.6 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */
-/* Source: https://github.com/aFarkas/html5shiv */
+/*
+ HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+*/
 (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
-a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
-c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");
-var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,
-b){a||(a=f);if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
\ No newline at end of file
+a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}</style>";
+c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
+"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);
+if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
\ No newline at end of file
index 0ad8a2c5f6d2b26bdc27200c7db512b5a3aff48b..1985f0b72f814196fe2e4dfd566bb3b562e13231 100644 (file)
@@ -709,6 +709,7 @@ video {
        margin-right: auto;
 }
 
+figure.wp-caption.alignleft,
 img.alignleft {
        margin: 5px 20px 5px 0;
 }
@@ -717,6 +718,7 @@ img.alignleft {
        margin: 5px 10px 5px 0;
 }
 
+figure.wp-caption.alignright,
 img.alignright {
        margin: 5px 0 5px 20px;
 }
@@ -740,6 +742,15 @@ img.alignnone {
        font-size: 18px;
        font-style: italic;
        font-weight: 300;
+       margin: 0 0 24px;
+}
+
+div.wp-caption.alignright img[class*="wp-image-"] {
+       float: right;
+}
+
+div.wp-caption.alignright .wp-caption-text {
+       padding-left: 10px;
 }
 
 img.wp-smiley,
@@ -753,7 +764,7 @@ img.wp-smiley,
 }
 
 .wp-caption.alignleft + ul,
-.wp-caption.alignleft + ol  {
+.wp-caption.alignleft + ol {
        list-style-position: inside;
 }
 
@@ -867,7 +878,9 @@ div.nav-menu > ul {
 }
 
 .nav-menu li:hover > a,
-.nav-menu li a:hover {
+.nav-menu li a:hover,
+.nav-menu li:focus > a,
+.nav-menu li a:focus {
        background-color: #220e10;
        color: #fff;
 }
@@ -877,11 +890,14 @@ div.nav-menu > ul {
        background-color: #220e10;
        border: 2px solid #f7f5e7;
        border-top: 0;
-       display: none;
        padding: 0;
        position: absolute;
        left: -2px;
        z-index: 99999;
+       height: 1px;
+       width: 1px;
+       overflow: hidden;
+       clip: rect(1px, 1px, 1px, 1px);
 }
 
 .nav-menu .sub-menu ul,
@@ -899,13 +915,20 @@ ul.nav-menu ul a,
 }
 
 ul.nav-menu ul a:hover,
-.nav-menu ul ul a:hover {
+.nav-menu ul ul a:hover,
+ul.nav-menu ul a:focus,
+.nav-menu ul ul a:focus {
        background-color: #db572f;
 }
 
 ul.nav-menu li:hover > ul,
-.nav-menu ul li:hover > ul {
-       display: block;
+.nav-menu ul li:hover > ul,
+ul.nav-menu .focus > ul,
+.nav-menu .focus > ul {
+       clip: inherit;
+       overflow: inherit;
+       height: inherit;
+       width: inherit;
 }
 
 .nav-menu .current_page_item > a,
@@ -1301,6 +1324,13 @@ footer.entry-meta {
        margin-right: 0;
 }
 
+.gallery-columns-1.gallery-size-medium figure.gallery-item:nth-of-type(1n+1),
+.gallery-columns-1.gallery-size-thumbnail figure.gallery-item:nth-of-type(1n+1),
+.gallery-columns-2.gallery-size-thumbnail figure.gallery-item:nth-of-type(2n+1),
+.gallery-columns-3.gallery-size-thumbnail figure.gallery-item:nth-of-type(3n+1) {
+       clear: left;
+}
+
 .gallery-caption {
        background-color: rgba(0, 0, 0, 0.7);
        box-sizing: border-box;
@@ -1825,6 +1855,18 @@ footer.entry-meta {
        display: none;
 }
 
+.attachment .entry-content .mejs-audio {
+       max-width: 400px;
+       margin: 0 auto;
+}
+
+.attachment .entry-content .wp-video {
+       margin: 0 auto;
+}
+
+.attachment .entry-content .mejs-container {
+       margin-bottom: 24px;
+}
 
 /**
  * 5.7 Post/Paging Navigation
index daaad3447d62b66811c59e0afbd51eb36af20da6..56493ed0bdf6026b2e7a18c1089cf95f82f948fa 100644 (file)
                </div>
                <?php endif; ?>
                <header class="entry-header">
-                       <?php the_post_thumbnail(); ?>
+                       <?php if ( ! post_password_required() && ! is_attachment() ) :
+                               the_post_thumbnail();
+                       endif; ?>
+
                        <?php if ( is_single() ) : ?>
                        <h1 class="entry-title"><?php the_title(); ?></h1>
                        <?php else : ?>
index ddb1e41c1834abeff51d87d444394ea4cc69e047..4d4f5424d75c6432c35b690282e4f4b3be8c436b 100644 (file)
@@ -104,23 +104,38 @@ body.full-width .site-content {
        position: relative;
 }
 .main-navigation li ul {
-       display: none;
        margin: 0;
        padding: 0;
        position: absolute;
        top: 100%;
        z-index: 1;
+       height: 1px;
+       width: 1px;
+       overflow: hidden;
+       clip: rect(1px, 1px, 1px, 1px);
 }
 .ie7 .main-navigation li ul {
+       clip: inherit;
+       display: none;
        left: 0;
+       overflow: visible;
 }
 .main-navigation li ul ul,
 .ie7 .main-navigation li ul ul {
        top: 0;
        left: 100%;
 }
-.main-navigation ul li:hover > ul {
+.main-navigation ul li:hover > ul,
+.main-navigation ul li:focus > ul,
+.main-navigation .focus > ul {
        border-left: 0;
+       clip: inherit;
+       overflow: inherit;
+       height: inherit;
+       width: inherit;
+}
+.ie7 .main-navigation ul li:hover > ul,
+.ie7 .main-navigation ul li:focus > ul {
        display: block;
 }
 .main-navigation li ul li a {
index 405448107fa61122585c41af4f6ee09ce4fc662b..c4055ba058550f32c6d1d502dc253e16d113adf6 100644 (file)
@@ -128,8 +128,6 @@ function twentytwelve_get_font_url() {
  * Enqueue scripts and styles for front-end.
  *
  * @since Twenty Twelve 1.0
- *
- * @return void
  */
 function twentytwelve_scripts_styles() {
        global $wp_styles;
@@ -142,7 +140,7 @@ function twentytwelve_scripts_styles() {
                wp_enqueue_script( 'comment-reply' );
 
        // Adds JavaScript for handling the navigation menu hide-and-show behavior.
-       wp_enqueue_script( 'twentytwelve-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '1.0', true );
+       wp_enqueue_script( 'twentytwelve-navigation', get_template_directory_uri() . '/js/navigation.js', array( 'jquery' ), '20140318', true );
 
        $font_url = twentytwelve_get_font_url();
        if ( ! empty( $font_url ) )
@@ -203,7 +201,7 @@ function twentytwelve_wp_title( $title, $sep ) {
                return $title;
 
        // Add the site name.
-       $title .= get_bloginfo( 'name' );
+       $title .= get_bloginfo( 'name', 'display' );
 
        // Add the site description for the home/front page.
        $site_description = get_bloginfo( 'description', 'display' );
@@ -303,8 +301,6 @@ if ( ! function_exists( 'twentytwelve_comment' ) ) :
  * Used as a callback by wp_list_comments() for displaying the comments.
  *
  * @since Twenty Twelve 1.0
- *
- * @return void
  */
 function twentytwelve_comment( $comment, $args, $depth ) {
        $GLOBALS['comment'] = $comment;
@@ -368,8 +364,6 @@ if ( ! function_exists( 'twentytwelve_entry_meta' ) ) :
  * Create your own twentytwelve_entry_meta() to override in a child theme.
  *
  * @since Twenty Twelve 1.0
- *
- * @return void
  */
 function twentytwelve_entry_meta() {
        // Translators: used between list items, there is a space after the comma.
@@ -467,8 +461,6 @@ add_filter( 'body_class', 'twentytwelve_body_class' );
  * templates, and when there are no active widgets in the sidebar.
  *
  * @since Twenty Twelve 1.0
- *
- * @return void
  */
 function twentytwelve_content_width() {
        if ( is_page_template( 'page-templates/full-width.php' ) || is_attachment() || ! is_active_sidebar( 'sidebar-1' ) ) {
@@ -486,7 +478,6 @@ add_action( 'template_redirect', 'twentytwelve_content_width' );
  * @since Twenty Twelve 1.0
  *
  * @param WP_Customize_Manager $wp_customize Customizer object.
- * @return void
  */
 function twentytwelve_customize_register( $wp_customize ) {
        $wp_customize->get_setting( 'blogname' )->transport         = 'postMessage';
@@ -501,8 +492,6 @@ add_action( 'customize_register', 'twentytwelve_customize_register' );
  * Binds JS handlers to make the Customizer preview reload changes asynchronously.
  *
  * @since Twenty Twelve 1.0
- *
- * @return void
  */
 function twentytwelve_customize_preview_js() {
        wp_enqueue_script( 'twentytwelve-customizer', get_template_directory_uri() . '/js/theme-customizer.js', array( 'customize-preview' ), '20130301', true );
index 32fea17f795a2549e91d6332e2d253d6543a017e..1657effaf4bb1a6a8ee46f89e988d85b37f7c62d 100644 (file)
@@ -51,8 +51,6 @@ add_action( 'after_setup_theme', 'twentytwelve_custom_header_setup' );
  * Load our special font CSS file.
  *
  * @since Twenty Twelve 1.2
- *
- * @return void
  */
 function twentytwelve_custom_header_fonts() {
        $font_url = twentytwelve_get_font_url();
index a7889168fb20749a297d73c63f61eaf3f6d01663..6168aacd5ed78801973b1b5fb4e43599096dc258 100644 (file)
@@ -1,7 +1,8 @@
-/*! HTML5 Shiv v3.6 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */
-/* Source: https://github.com/aFarkas/html5shiv */
+/*
+ HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+*/
 (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
-a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
-c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");
-var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,
-b){a||(a=f);if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
\ No newline at end of file
+a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}</style>";
+c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
+"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);
+if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
\ No newline at end of file
index 915e25a91de8e94f169ff17d7897a22eb180fa40..2c3214108e8d4ac5e5beb109be18081a73970a9e 100644 (file)
@@ -1,16 +1,18 @@
 /**
- * navigation.js
- *
- * Handles toggling the navigation menu for small screens.
+ * Handles toggling the navigation menu for small screens and
+ * accessibility for submenu items.
  */
 ( function() {
        var nav = document.getElementById( 'site-navigation' ), button, menu;
-       if ( ! nav )
+       if ( ! nav ) {
                return;
+       }
+
        button = nav.getElementsByTagName( 'h3' )[0];
        menu   = nav.getElementsByTagName( 'ul' )[0];
-       if ( ! button )
+       if ( ! button ) {
                return;
+       }
 
        // Hide button if menu is missing or empty.
        if ( ! menu || ! menu.childNodes.length ) {
        }
 
        button.onclick = function() {
-               if ( -1 == menu.className.indexOf( 'nav-menu' ) )
+               if ( -1 === menu.className.indexOf( 'nav-menu' ) ) {
                        menu.className = 'nav-menu';
+               }
 
-               if ( -1 != button.className.indexOf( 'toggled-on' ) ) {
+               if ( -1 !== button.className.indexOf( 'toggled-on' ) ) {
                        button.className = button.className.replace( ' toggled-on', '' );
                        menu.className = menu.className.replace( ' toggled-on', '' );
                } else {
                        menu.className += ' toggled-on';
                }
        };
-} )();
\ No newline at end of file
+} )();
+
+// Better focus for hidden submenu items for accessibility.
+( function( $ ) {
+       $( '.main-navigation' ).find( 'a' ).on( 'focus.twentytwelve blur.twentytwelve', function() {
+               $( this ).parents( '.menu-item, .page_item' ).toggleClass( 'focus' );
+       } );
+} )( jQuery );
index 4f35f4ab6098a35ef0aa20c17430393b528d7c2f..fab93f5c526e4f8e2ebbbaf4cc992fcd67b6104b 100644 (file)
@@ -52,7 +52,7 @@ msgstr ""
 msgid "Author Archives: %s"
 msgstr ""
 
-#: author.php:63 content.php:59
+#: author.php:63 content.php:62
 msgid "About %s"
 msgstr ""
 
@@ -83,7 +83,7 @@ msgid "Comments are closed."
 msgstr ""
 
 #: content-aside.php:15 content-image.php:13 content-link.php:14
-#: content-quote.php:13 content-status.php:31 content.php:41
+#: content-quote.php:13 content-status.php:31 content.php:44
 msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
@@ -93,23 +93,23 @@ msgid "Permalink to %s"
 msgstr ""
 
 #: content-aside.php:23 content-image.php:23 content-link.php:21
-#: content-quote.php:20 content-status.php:37 content.php:30
+#: content-quote.php:20 content-status.php:37 content.php:33
 msgid "Leave a reply"
 msgstr ""
 
 #: content-aside.php:23 content-image.php:23 content-link.php:21
-#: content-quote.php:20 content-status.php:37 content.php:30
+#: content-quote.php:20 content-status.php:37 content.php:33
 msgid "1 Reply"
 msgstr ""
 
 #: content-aside.php:23 content-image.php:23 content-link.php:21
-#: content-quote.php:20 content-status.php:37 content.php:30
+#: content-quote.php:20 content-status.php:37 content.php:33
 msgid "% Replies"
 msgstr ""
 
 #: content-aside.php:26 content-image.php:26 content-link.php:24
 #: content-page.php:24 content-quote.php:23 content-status.php:40
-#: content.php:48 functions.php:349 image.php:37
+#: content.php:51 functions.php:349 image.php:37
 msgid "Edit"
 msgstr ""
 
@@ -127,7 +127,7 @@ msgid ""
 "related post."
 msgstr ""
 
-#: content-page.php:21 content.php:42 image.php:102
+#: content-page.php:21 content.php:45 image.php:102
 msgid "Pages:"
 msgstr ""
 
@@ -135,7 +135,7 @@ msgstr ""
 msgid "Featured post"
 msgstr ""
 
-#: content.php:63
+#: content.php:66
 msgid "View all posts by %s <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
index 907df577ba4d40cffea65a729f494ace1bf2b9ef..93cd07fd5ce4f37941887400e6341909df480310 100644 (file)
@@ -205,6 +205,7 @@ article.format-status footer.entry-meta {
 /* Form fields, general styles first */
 button,
 input,
+select,
 textarea {
        border: 1px solid #ccc;
        border-radius: 3px;
@@ -589,7 +590,8 @@ a:hover {
 .main-navigation a {
        color: #5e5e5e;
 }
-.main-navigation a:hover {
+.main-navigation a:hover,
+.main-navigation a:focus {
        color: #21759b;
 }
 .main-navigation ul.nav-menu,
@@ -1005,6 +1007,17 @@ footer.entry-meta {
        margin-top: 1.571428571rem;
 }
 
+/* =Single audio/video attachment view
+-------------------------------------------------------------- */
+
+.attachment .entry-content .mejs-audio {
+       max-width: 400px;
+}
+
+.attachment .entry-content .mejs-container {
+       margin-bottom: 24px;
+}
+
 
 /* =Single image attachment view
 -------------------------------------------------------------- */
@@ -1508,7 +1521,8 @@ img#wpstats {
                text-transform: uppercase;
                white-space: nowrap;
        }
-       .main-navigation li a:hover {
+       .main-navigation li a:hover,
+       .main-navigation li a:focus {
                color: #000;
        }
        .main-navigation li {
@@ -1517,20 +1531,28 @@ img#wpstats {
                position: relative;
        }
        .main-navigation li ul {
-               display: none;
                margin: 0;
                padding: 0;
                position: absolute;
                top: 100%;
                z-index: 1;
+               height: 1px;
+               width: 1px;
+               overflow: hidden;
+               clip: rect(1px, 1px, 1px, 1px);
        }
        .main-navigation li ul ul {
                top: 0;
                left: 100%;
        }
-       .main-navigation ul li:hover > ul {
+       .main-navigation ul li:hover > ul,
+       .main-navigation ul li:focus > ul,
+       .main-navigation .focus > ul {
                border-left: 0;
-               display: block;
+               clip: inherit;
+               overflow: inherit;
+               height: inherit;
+               width: inherit;
        }
        .main-navigation li ul li a {
                background: #efefef;
@@ -1545,7 +1567,8 @@ img#wpstats {
                width: 12.85714286rem;
                white-space: normal;
        }
-       .main-navigation li ul li a:hover {
+       .main-navigation li ul li a:hover,
+       .main-navigation li ul li a:focus {
                background: #e3e3e3;
                color: #444;
        }
@@ -1708,20 +1731,9 @@ img#wpstats {
                margin: 0;
                width: auto;
        }
-       .singular .entry-header .entry-meta {
-               position: static;
-       }
-       .singular .site-content,
-       .singular .entry-header,
-       .singular .entry-content,
-       .singular footer.entry-meta,
-       .singular .comments-title {
-               margin: 0;
-               width: 100%;
-       }
+
        .entry-header .entry-title,
-       .entry-title,
-       .singular .entry-title {
+       .entry-title {
                font-size: 21pt;
        }
        footer.entry-meta,
index 67e6a1a5a749b0e0501e85e9fcaa5b5762cfb3ab..2a5c3b1f84539d382fbee72337875d1cfed72e66 100644 (file)
@@ -127,7 +127,7 @@ function wp_admin_bar_wp_menu( $wp_admin_bar ) {
                'parent'    => 'wp-logo-external',
                'id'        => 'wporg',
                'title'     => __('WordPress.org'),
-               'href'      => __('http://wordpress.org/'),
+               'href'      => __('https://wordpress.org/'),
        ) );
 
        // Add codex link
@@ -143,7 +143,7 @@ function wp_admin_bar_wp_menu( $wp_admin_bar ) {
                'parent'    => 'wp-logo-external',
                'id'        => 'support-forums',
                'title'     => __('Support Forums'),
-               'href'      => __('http://wordpress.org/support/'),
+               'href'      => __('https://wordpress.org/support/'),
        ) );
 
        // Add feedback link
@@ -151,7 +151,7 @@ function wp_admin_bar_wp_menu( $wp_admin_bar ) {
                'parent'    => 'wp-logo-external',
                'id'        => 'feedback',
                'title'     => __('Feedback'),
-               'href'      => __('http://wordpress.org/support/forum/requests-and-feedback'),
+               'href'      => __('https://wordpress.org/support/forum/requests-and-feedback'),
        ) );
 }
 
index 4dcddc99cb52ce4655e7d984e878e79a2fc79d5e..9d34276a7e928c18c3081744460e4caedae87689 100644 (file)
@@ -7,7 +7,7 @@
  *
  * @author Elias Torres <elias@torrez.us>
  * @version 0.4
- * @since 2.3
+ * @since 2.3.0
  */
 
 /**
index 557a1ab8c92a725574e63dc738e7a01ebdb113b8..dd225c0b6d821d7e23587ee3008c585389d6f82c 100644 (file)
@@ -13,7 +13,8 @@
 /**
  * Retrieve the author of the current post.
  *
- * @since 1.5
+ * @since 1.5.0
+ *
  * @uses $authordata The current author's DB object.
  * @uses apply_filters() Calls 'the_author' hook on the author display name.
  *
@@ -68,7 +69,8 @@ function the_author( $deprecated = '', $deprecated_echo = true ) {
 /**
  * Retrieve the author who last edited the current post.
  *
- * @since 2.8
+ * @since 2.8.0
+ *
  * @uses $post The current post's DB object.
  * @uses get_post_meta() Retrieves the ID of the author who last edited the current post.
  * @uses get_userdata() Retrieves the author's DB object.
@@ -93,7 +95,8 @@ function get_the_modified_author() {
 /**
  * Display the name of the author who last edited the current post.
  *
- * @since 2.8
+ * @since 2.8.0
+ *
  * @see get_the_author()
  * @return string The author's display name, from get_the_modified_author().
  */
@@ -184,7 +187,9 @@ function get_the_author_link() {
  * author's name.
  *
  * @link http://codex.wordpress.org/Template_Tags/the_author_link
- * @since 2.1
+ *
+ * @since 2.1.0
+ *
  * @uses get_the_author_link()
  */
 function the_author_link() {
@@ -194,7 +199,8 @@ function the_author_link() {
 /**
  * Retrieve the number of posts by the author of the current post.
  *
- * @since 1.5
+ * @since 1.5.0
+ *
  * @uses $post The current post in the Loop's DB object.
  * @uses count_user_posts()
  * @return int The number of posts by the author.
@@ -310,6 +316,8 @@ function get_author_posts_url($author_id, $author_nicename = '') {
  * or as a string.</li>
  * <li>html (bool) (true): Whether to list the items in html form or plaintext.
  * </li>
+ * <li>exclude (array): Array of user IDs to explicitly exclude.</li>
+ * <li>include (array): Array of user IDs to explicitly include.</li>
  * </ul>
  *
  * @link http://codex.wordpress.org/Template_Tags/wp_list_authors
@@ -325,7 +333,7 @@ function wp_list_authors($args = '') {
                'optioncount' => false, 'exclude_admin' => true,
                'show_fullname' => false, 'hide_empty' => true,
                'feed' => '', 'feed_image' => '', 'feed_type' => '', 'echo' => true,
-               'style' => 'list', 'html' => true
+               'style' => 'list', 'html' => true, 'exclude' => '', 'include' => ''
        );
 
        $args = wp_parse_args( $args, $defaults );
@@ -333,7 +341,7 @@ function wp_list_authors($args = '') {
 
        $return = '';
 
-       $query_args = wp_array_slice_assoc( $args, array( 'orderby', 'order', 'number' ) );
+       $query_args = wp_array_slice_assoc( $args, array( 'orderby', 'order', 'number', 'exclude', 'include' ) );
        $query_args['fields'] = 'ids';
        $authors = get_users( $query_args );
 
@@ -377,20 +385,18 @@ function wp_list_authors($args = '') {
                                $link .= '(';
                        }
 
-                       $link .= '<a href="' . get_author_feed_link( $author->ID ) . '"';
+                       $link .= '<a href="' . get_author_feed_link( $author->ID, $feed_type ) . '"';
 
-                       $alt = $title = '';
+                       $alt = '';
                        if ( !empty( $feed ) ) {
-                               $title = ' title="' . esc_attr( $feed ) . '"';
                                $alt = ' alt="' . esc_attr( $feed ) . '"';
                                $name = $feed;
-                               $link .= $title;
                        }
 
                        $link .= '>';
 
                        if ( !empty( $feed_image ) )
-                               $link .= '<img src="' . esc_url( $feed_image ) . '" style="border: none;"' . $alt . $title . ' />';
+                               $link .= '<img src="' . esc_url( $feed_image ) . '" style="border: none;"' . $alt . ' />';
                        else
                                $link .= $name;
 
index 64e73a88d0175e3c9a3ad92305ffe3c7a7ab9a8c..1724590f3cbada67ebbad39e728e30c08fdd1acb 100644 (file)
@@ -65,7 +65,7 @@ function _walk_bookmarks($bookmarks, $args = '' ) {
                        $bookmark->recently_updated = false;
                $output .= $before;
                if ( $show_updated && $bookmark->recently_updated )
-                       $output .= get_option('links_recently_updated_prepend');
+                       $output .= '<em>';
 
                $the_link = '#';
                if ( !empty($bookmark->link_url) )
@@ -116,7 +116,7 @@ function _walk_bookmarks($bookmarks, $args = '' ) {
                $output .= '</a>';
 
                if ( $show_updated && $bookmark->recently_updated )
-                       $output .= get_option('links_recently_updated_append');
+                       $output .= '</em>';
 
                if ( $show_description && '' != $desc )
                        $output .= $between . $desc;
@@ -233,7 +233,7 @@ function wp_list_bookmarks($args = '') {
                         *
                         * @since 2.2.0
                         *
-                        * @param string $cat->name The category name of bookmarks.
+                        * @param string $cat_name The category name of bookmarks.
                         */
                        $catname = apply_filters( 'link_category', $cat->name );
 
index f517d124254122fd1cbe2e36298d2306a1813600..bcc9aca0e7503fe656b875e2ebc55c3fa45270a9 100644 (file)
@@ -163,7 +163,8 @@ function wp_cache_replace( $key, $data, $group = '', $expire = 0 ) {
 /**
  * Saves the data to the cache.
  *
- * @since 2.0
+ * @since 2.0.0
+ *
  * @uses $wp_object_cache Object Cache Class
  * @see WP_Object_Cache::set()
  *
@@ -256,7 +257,7 @@ function wp_cache_reset() {
  *
  * @package WordPress
  * @subpackage Cache
- * @since 2.0
+ * @since 2.0.0
  */
 class WP_Object_Cache {
 
@@ -387,26 +388,24 @@ class WP_Object_Cache {
        /**
         * Remove the contents of the cache key in the group
         *
-        * If the cache key does not exist in the group and $force parameter is set
-        * to false, then nothing will happen. The $force parameter is set to false
-        * by default.
+        * If the cache key does not exist in the group, then nothing will happen.
         *
         * @since 2.0.0
         *
         * @param int|string $key What the contents in the cache are called
         * @param string $group Where the cache contents are grouped
-        * @param bool $force Optional. Whether to force the unsetting of the cache
-        *              key in the group
+        * @param bool $deprecated Deprecated.
+        *
         * @return bool False if the contents weren't deleted and true on success
         */
-       function delete($key, $group = 'default', $force = false) {
+       function delete( $key, $group = 'default', $deprecated = false ) {
                if ( empty( $group ) )
                        $group = 'default';
 
                if ( $this->multisite && ! isset( $this->global_groups[ $group ] ) )
                        $key = $this->blog_prefix . $key;
 
-               if ( ! $force && ! $this->_exists( $key, $group ) )
+               if ( ! $this->_exists( $key, $group ) )
                        return false;
 
                unset( $this->cache[$group][$key] );
index 231855ea50fe9d58b4af9d1c393096eeefed05be..5aefe2ba09e460b68b153505393d999b5b9b0bbf 100644 (file)
@@ -467,7 +467,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
  * Removes arguments from a query string if they are not present in a URL
  * DO NOT use this in plugin code.
  *
- * @since 3.4
+ * @since 3.4.0
  * @access private
  *
  * @return string The altered query string
index 4bdc28cc955c3844152745b7c7279445736c78c4..89e854b7a156ed5c4776f1bc3fcbef04264bf33b 100644 (file)
@@ -1071,20 +1071,15 @@ function map_meta_cap( $cap, $user_id ) {
                        break;
                }
 
-               $post_author_id = $post->post_author;
-
-               // If no author set yet, default to current user for cap checks.
-               if ( ! $post_author_id )
-                       $post_author_id = $user_id;
-
-               // If the user is the author...
-               if ( $user_id == $post_author_id ) {
+               // If the post author is set and the user is the author...
+               if ( $post->post_author && $user_id == $post->post_author ) {
                        // If the post is published...
                        if ( 'publish' == $post->post_status ) {
                                $caps[] = $post_type->cap->delete_published_posts;
                        } elseif ( 'trash' == $post->post_status ) {
-                               if ('publish' == get_post_meta($post->ID, '_wp_trash_meta_status', true) )
+                               if ( 'publish' == get_post_meta( $post->ID, '_wp_trash_meta_status', true ) ) {
                                        $caps[] = $post_type->cap->delete_published_posts;
+                               }
                        } else {
                                // If the post is draft...
                                $caps[] = $post_type->cap->delete_posts;
@@ -1093,10 +1088,11 @@ function map_meta_cap( $cap, $user_id ) {
                        // The user is trying to edit someone else's post.
                        $caps[] = $post_type->cap->delete_others_posts;
                        // The post is published, extra cap required.
-                       if ( 'publish' == $post->post_status )
+                       if ( 'publish' == $post->post_status ) {
                                $caps[] = $post_type->cap->delete_published_posts;
-                       elseif ( 'private' == $post->post_status )
+                       } elseif ( 'private' == $post->post_status ) {
                                $caps[] = $post_type->cap->delete_private_posts;
+                       }
                }
                break;
                // edit_post breaks down to edit_posts, edit_published_posts, or
@@ -1121,20 +1117,15 @@ function map_meta_cap( $cap, $user_id ) {
                        break;
                }
 
-               $post_author_id = $post->post_author;
-
-               // If no author set yet, default to current user for cap checks.
-               if ( ! $post_author_id )
-                       $post_author_id = $user_id;
-
-               // If the user is the author...
-               if ( $user_id == $post_author_id ) {
+               // If the post author is set and the user is the author...
+               if ( $post->post_author && $user_id == $post->post_author ) {
                        // If the post is published...
                        if ( 'publish' == $post->post_status ) {
                                $caps[] = $post_type->cap->edit_published_posts;
                        } elseif ( 'trash' == $post->post_status ) {
-                               if ('publish' == get_post_meta($post->ID, '_wp_trash_meta_status', true) )
+                               if ( 'publish' == get_post_meta( $post->ID, '_wp_trash_meta_status', true ) ) {
                                        $caps[] = $post_type->cap->edit_published_posts;
+                               }
                        } else {
                                // If the post is draft...
                                $caps[] = $post_type->cap->edit_posts;
@@ -1143,10 +1134,11 @@ function map_meta_cap( $cap, $user_id ) {
                        // The user is trying to edit someone else's post.
                        $caps[] = $post_type->cap->edit_others_posts;
                        // The post is published, extra cap required.
-                       if ( 'publish' == $post->post_status )
+                       if ( 'publish' == $post->post_status ) {
                                $caps[] = $post_type->cap->edit_published_posts;
-                       elseif ( 'private' == $post->post_status )
+                       } elseif ( 'private' == $post->post_status ) {
                                $caps[] = $post_type->cap->edit_private_posts;
+                       }
                }
                break;
        case 'read_post':
@@ -1173,18 +1165,13 @@ function map_meta_cap( $cap, $user_id ) {
                        break;
                }
 
-               $post_author_id = $post->post_author;
-
-               // If no author set yet, default to current user for cap checks.
-               if ( ! $post_author_id )
-                       $post_author_id = $user_id;
-
-               if ( $user_id == $post_author_id )
+               if ( $post->post_author && $user_id == $post->post_author ) {
                        $caps[] = $post_type->cap->read;
-               elseif ( $status_obj->private )
+               } elseif ( $status_obj->private ) {
                        $caps[] = $post_type->cap->read_private_posts;
-               else
+               } else {
                        $caps = map_meta_cap( 'edit_post', $user_id, $post->ID );
+               }
                break;
        case 'publish_post':
                $post = get_post( $args[0] );
index 6ffd9d35ef62fe0e7bac7bc499245fdaebad8a04..e627bdc35a036be98ecf9ad7f577275992650714 100644 (file)
@@ -82,7 +82,13 @@ function get_the_category( $id = false ) {
                _make_cat_compat( $categories[$key] );
        }
 
-       // Filter name is plural because we return alot of categories (possibly more than #13237) not just one
+       /**
+        * Filter the array of categories to return for a post.
+        *
+        * @since 3.1.0
+        *
+        * @param array $categories An array of categories to return for the post.
+        */
        return apply_filters( 'get_the_categories', $categories );
 }
 
@@ -136,9 +142,11 @@ function _usort_terms_by_ID( $a, $b ) {
 function get_the_category_by_ID( $cat_ID ) {
        $cat_ID = (int) $cat_ID;
        $category = get_term( $cat_ID, 'category' );
+
        if ( is_wp_error( $category ) )
                return $category;
-       return $category->name;
+
+       return ( $category ) ? $category->name : '';
 }
 
 /**
@@ -153,12 +161,16 @@ function get_the_category_by_ID( $cat_ID ) {
  */
 function get_the_category_list( $separator = '', $parents='', $post_id = false ) {
        global $wp_rewrite;
-       if ( ! is_object_in_taxonomy( get_post_type( $post_id ), 'category' ) )
+       if ( ! is_object_in_taxonomy( get_post_type( $post_id ), 'category' ) ) {
+               /** This filter is documented in wp-includes/category-template.php */
                return apply_filters( 'the_category', '', $separator, $parents );
+       }
 
        $categories = get_the_category( $post_id );
-       if ( empty( $categories ) )
+       if ( empty( $categories ) ) {
+               /** This filter is documented in wp-includes/category-template.php */
                return apply_filters( 'the_category', __( 'Uncategorized' ), $separator, $parents );
+       }
 
        $rel = ( is_object( $wp_rewrite ) && $wp_rewrite->using_permalinks() ) ? 'rel="category tag"' : 'rel="category"';
 
@@ -209,6 +221,17 @@ function get_the_category_list( $separator = '', $parents='', $post_id = false )
                        ++$i;
                }
        }
+
+       /**
+        * Filter the category or list of categories.
+        *
+        * @since 1.2.0
+        *
+        * @param array  $thelist   List of categories for the current post.
+        * @param string $separator Separator used between the categories.
+        * @param string $parents   How to display the category parents. Accepts 'multiple',
+        *                          'single', or empty.
+        */
        return apply_filters( 'the_category', $thelist, $separator, $parents );
 }
 
@@ -342,6 +365,21 @@ function wp_dropdown_categories( $args = '' ) {
                $output = '';
 
        if ( empty($categories) && ! $r['hide_if_empty'] && !empty($show_option_none) ) {
+
+               /**
+                * Filter a taxonomy drop-down display element.
+                *
+                * A variety of taxonomy drop-down display elements can be modified
+                * just prior to display via this filter. Filterable arguments include
+                * 'show_option_none', 'show_option_all', and various forms of the
+                * term name.
+                *
+                * @since 1.2.0
+                *
+                * @see wp_dropdown_categories()
+                *
+                * @param string $element Taxonomy element to list.
+                */
                $show_option_none = apply_filters( 'list_cats', $show_option_none );
                $output .= "\t<option value='-1' selected='selected'>$show_option_none</option>\n";
        }
@@ -349,12 +387,16 @@ function wp_dropdown_categories( $args = '' ) {
        if ( ! empty( $categories ) ) {
 
                if ( $show_option_all ) {
+
+                       /** This filter is documented in wp-includes/category-template.php */
                        $show_option_all = apply_filters( 'list_cats', $show_option_all );
                        $selected = ( '0' === strval($r['selected']) ) ? " selected='selected'" : '';
                        $output .= "\t<option value='0'$selected>$show_option_all</option>\n";
                }
 
                if ( $show_option_none ) {
+
+                       /** This filter is documented in wp-includes/category-template.php */
                        $show_option_none = apply_filters( 'list_cats', $show_option_none );
                        $selected = ( '-1' === strval($r['selected']) ) ? " selected='selected'" : '';
                        $output .= "\t<option value='-1'$selected>$show_option_none</option>\n";
@@ -371,7 +413,15 @@ function wp_dropdown_categories( $args = '' ) {
        if ( ! $r['hide_if_empty'] || ! empty($categories) )
                $output .= "</select>\n";
 
-       $output = apply_filters( 'wp_dropdown_cats', $output );
+       /**
+        * Filter the taxonomy drop-down output.
+        *
+        * @since 2.1.0
+        *
+        * @param string $output HTML output.
+        * @param array  $r      Arguments used to build the drop-down.
+        */
+       $output = apply_filters( 'wp_dropdown_cats', $output, $r );
 
        if ( $echo )
                echo $output;
@@ -483,6 +533,14 @@ function wp_list_categories( $args = '' ) {
        if ( $title_li && 'list' == $style )
                $output .= '</ul></li>';
 
+       /**
+        * Filter the HTML output of a taxonomy list.
+        *
+        * @since 2.1.0
+        *
+        * @param string $output HTML output.
+        * @param array  $args   An array of taxonomy-listing arguments.
+        */
        $output = apply_filters( 'wp_list_categories', $output, $args );
 
        if ( $echo )
@@ -507,8 +565,14 @@ function wp_list_categories( $args = '' ) {
  * The 'number' argument is how many tags to return. By default, the limit will
  * be to return the top 45 tags in the tag cloud list.
  *
- * The 'topic_count_text_callback' argument is a function, which, given the count
- * of the posts  with that tag, returns a text for the tooltip of the tag link.
+ * The 'topic_count_text' argument is a nooped plural from _n_noop() to generate the
+ * text for the tooltip of the tag link.
+ *
+ * The 'topic_count_text_callback' argument is a function, which given the count
+ * of the posts with that tag returns a text for the tooltip of the tag link.
+ *
+ * The 'post_type' argument is used only when 'link' is set to 'edit'. It determines the post_type
+ * passed to edit.php for the popular tags edit links.
  *
  * The 'exclude' and 'include' arguments are used for the {@link get_tags()}
  * function. Only one should be used, because only one will be used and the
@@ -523,7 +587,7 @@ function wp_tag_cloud( $args = '' ) {
        $defaults = array(
                'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
                'format' => 'flat', 'separator' => "\n", 'orderby' => 'name', 'order' => 'ASC',
-               'exclude' => '', 'include' => '', 'link' => 'view', 'taxonomy' => 'post_tag', 'echo' => true
+               'exclude' => '', 'include' => '', 'link' => 'view', 'taxonomy' => 'post_tag', 'post_type' => '', 'echo' => true
        );
        $args = wp_parse_args( $args, $defaults );
 
@@ -534,7 +598,7 @@ function wp_tag_cloud( $args = '' ) {
 
        foreach ( $tags as $key => $tag ) {
                if ( 'edit' == $args['link'] )
-                       $link = get_edit_tag_link( $tag->term_id, $tag->taxonomy );
+                       $link = get_edit_term_link( $tag->term_id, $tag->taxonomy, $args['post_type'] );
                else
                        $link = get_term_link( intval($tag->term_id), $tag->taxonomy );
                if ( is_wp_error( $link ) )
@@ -546,6 +610,14 @@ function wp_tag_cloud( $args = '' ) {
 
        $return = wp_generate_tag_cloud( $tags, $args ); // Here's where those top tags get sorted according to $args
 
+       /**
+        * Filter the tag cloud output.
+        *
+        * @since 2.3.0
+        *
+        * @param string $return HTML output of the tag cloud.
+        * @param array  $args   An array of tag cloud arguments.
+        */
        $return = apply_filters( 'wp_tag_cloud', $return, $args );
 
        if ( 'array' == $args['format'] || empty($args['echo']) )
@@ -554,16 +626,6 @@ function wp_tag_cloud( $args = '' ) {
        echo $return;
 }
 
-/**
- * Default text for tooltip for tag links
- *
- * @param integer $count number of posts with that tag
- * @return string text for the tooltip of a tag link.
- */
-function default_topic_count_text( $count ) {
-       return sprintf( _n('%s topic', '%s topics', $count), number_format_i18n( $count ) );
-}
-
 /**
  * Default topic count scaling for tag links
  *
@@ -595,53 +657,85 @@ function default_topic_count_scale( $count ) {
  * The 'number' argument is how many tags to return. By default, the limit will
  * be to return the entire tag cloud list.
  *
+ * The 'topic_count_text' argument is a nooped plural from _n_noop() to generate the
+ * text for the tooltip of the tag link.
+ *
  * The 'topic_count_text_callback' argument is a function, which given the count
- * of the posts  with that tag returns a text for the tooltip of the tag link.
+ * of the posts with that tag returns a text for the tooltip of the tag link.
  *
  * @todo Complete functionality.
  * @since 2.3.0
  *
  * @param array $tags List of tags.
  * @param string|array $args Optional, override default arguments.
- * @return string
+ * @return string|array Tag cloud as a string or an array, depending on 'format' argument.
  */
 function wp_generate_tag_cloud( $tags, $args = '' ) {
        $defaults = array(
                'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 0,
                'format' => 'flat', 'separator' => "\n", 'orderby' => 'name', 'order' => 'ASC',
-               'topic_count_text_callback' => 'default_topic_count_text',
+               'topic_count_text' => null, 'topic_count_text_callback' => null,
                'topic_count_scale_callback' => 'default_topic_count_scale', 'filter' => 1,
        );
 
-       if ( !isset( $args['topic_count_text_callback'] ) && isset( $args['single_text'] ) && isset( $args['multiple_text'] ) ) {
-               $body = 'return sprintf (
-                       _n(' . var_export($args['single_text'], true) . ', ' . var_export($args['multiple_text'], true) . ', $count),
-                       number_format_i18n( $count ));';
-               $args['topic_count_text_callback'] = create_function('$count', $body);
-       }
-
        $args = wp_parse_args( $args, $defaults );
-       extract( $args );
+       extract( $args, EXTR_SKIP );
 
-       if ( empty( $tags ) )
-               return;
+       $return = ( 'array' === $format ) ? array() : '';
 
+       if ( empty( $tags ) ) {
+               return $return;
+       }
+
+       // Juggle topic count tooltips:
+       if ( isset( $args['topic_count_text'] ) ) {
+               // First look for nooped plural support via topic_count_text.
+               $translate_nooped_plural = $args['topic_count_text'];
+       } elseif ( ! empty( $args['topic_count_text_callback'] ) ) {
+               // Look for the alternative callback style. Ignore the previous default.
+               if ( $args['topic_count_text_callback'] === 'default_topic_count_text' ) {
+                       $translate_nooped_plural = _n_noop( '%s topic', '%s topics' );
+               } else {
+                       $translate_nooped_plural = false;
+               }
+       } elseif ( isset( $args['single_text'] ) && isset( $args['multiple_text'] ) ) {
+               // If no callback exists, look for the old-style single_text and multiple_text arguments.
+               $translate_nooped_plural = _n_noop( $args['single_text'], $args['multiple_text'] );
+       } else {
+               // This is the default for when no callback, plural, or argument is passed in.
+               $translate_nooped_plural = _n_noop( '%s topic', '%s topics' );
+       }
+
+       /**
+        * Filter how the items in a tag cloud are sorted.
+        *
+        * @since 2.8.0
+        *
+        * @param array $tags Ordered array of terms.
+        * @param array $args An array of tag cloud arguments.
+        */
        $tags_sorted = apply_filters( 'tag_cloud_sort', $tags, $args );
-       if ( $tags_sorted != $tags  ) { // the tags have been sorted by a plugin
+       if ( empty( $tags_sorted ) ) {
+               return $return;
+       }
+
+       if ( $tags_sorted !== $tags ) {
                $tags = $tags_sorted;
-               unset($tags_sorted);
+               unset( $tags_sorted );
        } else {
-               if ( 'RAND' == $order ) {
-                       shuffle($tags);
+               if ( 'RAND' === $order ) {
+                       shuffle( $tags );
                } else {
                        // SQL cannot save you; this is a second (potentially different) sort on a subset of data.
-                       if ( 'name' == $orderby )
+                       if ( 'name' === $orderby ) {
                                uasort( $tags, '_wp_object_name_sort_cb' );
-                       else
+                       } else {
                                uasort( $tags, '_wp_object_count_sort_cb' );
+                       }
 
-                       if ( 'DESC' == $order )
+                       if ( 'DESC' === $order ) {
                                $tags = array_reverse( $tags, true );
+                       }
                }
        }
 
@@ -672,7 +766,14 @@ function wp_generate_tag_cloud( $tags, $args = '' ) {
                $tag_link = '#' != $tag->link ? esc_url( $tag->link ) : '#';
                $tag_id = isset($tags[ $key ]->id) ? $tags[ $key ]->id : $key;
                $tag_name = $tags[ $key ]->name;
-               $a[] = "<a href='$tag_link' class='tag-link-$tag_id' title='" . esc_attr( call_user_func( $topic_count_text_callback, $real_count, $tag, $args ) ) . "' style='font-size: " .
+
+               if ( $translate_nooped_plural ) {
+                       $title_attribute = sprintf( translate_nooped_plural( $translate_nooped_plural, $real_count ), number_format_i18n( $real_count ) );
+               } else {
+                       $title_attribute = call_user_func( $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( ',', '.', ( $smallest + ( ( $count - $min_count ) * $font_step ) ) )
                        . "$unit;'>$tag_name</a>";
        }
@@ -691,8 +792,26 @@ function wp_generate_tag_cloud( $tags, $args = '' ) {
                break;
        endswitch;
 
-       if ( $filter )
+       if ( $filter ) {
+               /**
+                * Filter the generated output of a tag cloud.
+                *
+                * The filter is only evaluated if a true value is passed
+                * to the $filter argument in wp_generate_tag_cloud().
+                *
+                * @since 2.3.0
+                *
+                * @see wp_generate_tag_cloud()
+                *
+                * @param array|string $return String containing the generated HTML tag cloud output
+                *                             or an array of tag links if the 'format' argument
+                *                             equals 'array'.
+                * @param array        $tags   An array of terms used in the tag cloud.
+                * @param array        $args   An array of wp_generate_tag_cloud() arguments.
+                */
                return apply_filters( 'wp_generate_tag_cloud', $return, $tags, $args );
+       }
+
        else
                return $return;
 }
@@ -841,12 +960,25 @@ class Walker_Category extends Walker {
                extract($args);
 
                $cat_name = esc_attr( $category->name );
+
+               /** This filter is documented in wp-includes/category-template.php */
                $cat_name = apply_filters( 'list_cats', $cat_name, $category );
+
                $link = '<a href="' . esc_url( get_term_link($category) ) . '" ';
-               if ( $use_desc_for_title == 0 || empty($category->description) )
+               if ( $use_desc_for_title == 0 || empty($category->description) ) {
                        $link .= 'title="' . esc_attr( sprintf(__( 'View all posts filed under %s' ), $cat_name) ) . '"';
-               else
+               } else {
+                       /**
+                        * Filter the category description for display.
+                        *
+                        * @since 1.2.0
+                        *
+                        * @param string $description Category description.
+                        * @param object $category    Category object.
+                        */
                        $link .= 'title="' . esc_attr( strip_tags( apply_filters( 'category_description', $category->description, $category ) ) ) . '"';
+               }
+
                $link .= '>';
                $link .= $cat_name . '</a>';
 
@@ -881,7 +1013,7 @@ class Walker_Category extends Walker {
                }
 
                if ( !empty($show_count) )
-                       $link .= ' (' . intval($category->count) . ')';
+                       $link .= ' (' . number_format_i18n( $category->count ) . ')';
 
                if ( 'list' == $args['style'] ) {
                        $output .= "\t<li";
@@ -958,14 +1090,16 @@ class Walker_CategoryDropdown extends Walker {
        function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
                $pad = str_repeat('&nbsp;', $depth * 3);
 
-               $cat_name = apply_filters('list_cats', $category->name, $category);
+               /** This filter is documented in wp-includes/category-template.php */
+               $cat_name = apply_filters( 'list_cats', $category->name, $category );
+
                $output .= "\t<option class=\"level-$depth\" value=\"".$category->term_id."\"";
                if ( $category->term_id == $args['selected'] )
                        $output .= ' selected="selected"';
                $output .= '>';
                $output .= $pad.$cat_name;
                if ( $args['show_count'] )
-                       $output .= '&nbsp;&nbsp;('. $category->count .')';
+                       $output .= '&nbsp;&nbsp;('. number_format_i18n( $category->count ) .')';
                $output .= "</option>\n";
        }
 }
@@ -999,12 +1133,21 @@ function get_tag_link( $tag ) {
  * Retrieve the tags for a post.
  *
  * @since 2.3.0
- * @uses apply_filters() Calls 'get_the_tags' filter on the list of post tags.
  *
  * @param int $id Post ID.
  * @return array|bool Array of tag objects on success, false on failure.
  */
 function get_the_tags( $id = 0 ) {
+
+       /**
+        * Filter the array of tags for the given post.
+        *
+        * @since 2.3.0
+        *
+        * @see get_the_terms()
+        *
+        * @param array $terms An array of tags for the given post.
+        */
        return apply_filters( 'get_the_tags', get_the_terms( $id, 'post_tag' ) );
 }
 
@@ -1012,7 +1155,6 @@ function get_the_tags( $id = 0 ) {
  * Retrieve the tags for a post formatted as a string.
  *
  * @since 2.3.0
- * @uses apply_filters() Calls 'the_tags' filter on string list of tags.
  *
  * @param string $before Optional. Before tags.
  * @param string $sep Optional. Between tags.
@@ -1021,6 +1163,18 @@ function get_the_tags( $id = 0 ) {
  * @return string|bool|WP_Error A list of tags on success, false or WP_Error on failure.
  */
 function get_the_tag_list( $before = '', $sep = '', $after = '', $id = 0 ) {
+
+       /**
+        * Filter the tags list for a given post.
+        *
+        * @since 2.3.0
+        *
+        * @param string $tag_list List of tags.
+        * @param string $before   String to use before tags.
+        * @param string $sep      String to use between the tags.
+        * @param string $after    String to use after tags.
+        * @param int    $id       Post ID.
+        */
        return apply_filters( 'the_tags', get_the_term_list( $id, 'post_tag', $before, $sep, $after ), $before, $sep, $after, $id );
 }
 
@@ -1042,7 +1196,7 @@ function the_tags( $before = null, $sep = ', ', $after = '' ) {
 /**
  * Retrieve tag description.
  *
- * @since 2.8
+ * @since 2.8.0
  *
  * @param int $tag Optional. Tag ID. Will use global tag ID by default.
  * @return string Tag description, available.
@@ -1054,7 +1208,7 @@ function tag_description( $tag = 0 ) {
 /**
  * Retrieve term description.
  *
- * @since 2.8
+ * @since 2.8.0
  *
  * @param int $term Optional. Term ID. Will use global term ID by default.
  * @param string $taxonomy Optional taxonomy name. Defaults to 'post_tag'.
@@ -1091,6 +1245,15 @@ function get_the_terms( $post, $taxonomy ) {
                wp_cache_add($post->ID, $terms, $taxonomy . '_relationships');
        }
 
+       /**
+        * Filter the list of terms attached to the given post.
+        *
+        * @since 3.1.0
+        *
+        * @param array  $terms    List of attached terms.
+        * @param int    $post_id  Post ID.
+        * @param string $taxonomy Name of the taxonomy.
+        */
        $terms = apply_filters( 'get_the_terms', $terms, $post->ID, $taxonomy );
 
        if ( empty( $terms ) )
@@ -1127,6 +1290,16 @@ function get_the_term_list( $id, $taxonomy, $before = '', $sep = '', $after = ''
                $term_links[] = '<a href="' . esc_url( $link ) . '" rel="tag">' . $term->name . '</a>';
        }
 
+       /**
+        * Filter the term links for a given taxonomy.
+        *
+        * The dynamic portion of the filter name, $taxonomy, refers
+        * to the taxonomy slug.
+        *
+        * @since 2.5.0
+        *
+        * @param array $term_links An array of term links.
+        */
        $term_links = apply_filters( "term_links-$taxonomy", $term_links );
 
        return $before . join( $sep, $term_links ) . $after;
@@ -1150,7 +1323,18 @@ function the_terms( $id, $taxonomy, $before = '', $sep = ', ', $after = '' ) {
        if ( is_wp_error( $term_list ) )
                return false;
 
-       echo apply_filters('the_terms', $term_list, $taxonomy, $before, $sep, $after);
+       /**
+        * Filter the list of terms to display.
+        *
+        * @since 2.9.0
+        *
+        * @param array  $term_list List of terms to display.
+        * @param string $taxonomy  The taxonomy name.
+        * @param string $before    String to use before the terms.
+        * @param string $sep       String to use between the terms.
+        * @param string $after     String to use after the terms.
+        */
+       echo apply_filters( 'the_terms', $term_list, $taxonomy, $before, $sep, $after );
 }
 
 /**
index 6bf7bac6c0f6e07e3803036ac6f666febc0f064b..24cf6e8ad3faa1e95f762fcc3d5c13ae7a5a71cb 100644 (file)
@@ -85,10 +85,11 @@ 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 mixed Category data in type defined by $output parameter.
+ * @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 );
+
        if ( is_wp_error( $category ) )
                return $category;
 
@@ -301,7 +302,7 @@ function get_tags( $args = '' ) {
  * @param int|object $tag
  * @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 Return type based on $output value.
+ * @return object|array|WP_Error|null Tag data in type defined by $output parameter. WP_Error if $tag is empty, null if it does not exist.
  */
 function get_tag( $tag, $output = OBJECT, $filter = 'raw' ) {
        return get_term( $tag, 'post_tag', $output, $filter );
index b531fc45584f881ed64dc87effecfbe31c544dc1..d89dd2c8ea74191d9950d532bc9f1ee45abd768f 100644 (file)
@@ -1,12 +1,12 @@
 ##
-## ca-bundle.crt -- Bundle of CA Root Certificates
+## src/wp-includes/certificates/ca-bundle.crt -- Bundle of CA Root Certificates
 ##
-## Certificate data from Mozilla as of: Sat Dec 29 20:03:40 2012
+## Certificate data from Mozilla as of: Tue Jan 28 09:38:07 2014
 ##
 ## This is a bundle of X.509 certificates of public Certificate Authorities
 ## (CA). These were automatically extracted from Mozilla's root certificates
 ## file (certdata.txt).  This file can be found in the mozilla source tree:
-## http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1
+## http://mxr.mozilla.org/mozilla-release/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1
 ##
 ## It contains the certificates in PEM format and therefore
 ## can be directly used with curl / libcurl / php_curl, or with
@@ -14,7 +14,6 @@
 ## Just configure this file as the SSLCACertificateFile.
 ##
 
-# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.87 $ $Date: 2012/12/29 16:32:45 $
 
 EE Certification Centre Root CA
 ===============================
@@ -115,46 +114,6 @@ BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
 70+sB3c4
 -----END CERTIFICATE-----
 
-Digital Signature Trust Co. Global CA 1
-=======================================
------BEGIN CERTIFICATE-----
-MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
-ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMTAeFw05ODEy
-MTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
-IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUA
-A4GLADCBhwKBgQCgbIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJE
-NySZj9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlVSn5JTe2i
-o74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
-BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
-dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
-IoAPMTk5ODEyMTAxODEwMjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQY
-MBaAFGp5fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i+DAM
-BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
-ACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lNQseSJqBcNJo4cvj9axY+IO6CizEq
-kzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4
-RbyhkwS7hp86W0N6w4pl
------END CERTIFICATE-----
-
-Digital Signature Trust Co. Global CA 3
-=======================================
------BEGIN CERTIFICATE-----
-MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
-ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMjAeFw05ODEy
-MDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
-IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUA
-A4GLADCBhwKBgQC/k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGOD
-VvsoLeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3oTQPMx7JS
-xhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
-BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
-dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
-IoAPMTk5ODEyMDkxOTE3MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQY
-MBaAFB6CTShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5WzAM
-BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
-AEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHRxdf0CiUPPXiBng+xZ8SQTGPdXqfi
-up/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVLB3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1
-mPnHfxsb1gYgAlihw6ID
------END CERTIFICATE-----
-
 Verisign Class 3 Public Primary Certification Authority
 =======================================================
 -----BEGIN CERTIFICATE-----
@@ -368,11 +327,11 @@ n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
 Entrust.net Premium 2048 Secure Server CA
 =========================================
 -----BEGIN CERTIFICATE-----
-MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
+MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
 ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
 bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
 BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
-NzUwNTFaFw0xOTEyMjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
+NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
 d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
 MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
 ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
@@ -380,14 +339,13 @@ MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
 Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
 hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
 nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
-VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo3QwcjARBglghkgBhvhC
-AQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdER
-gL7YibkIozH5oSQJFrlwMB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0B
-AQUFAAOCAQEAWUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo
-oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQh7A6tcOdBTcS
-o8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18f3v/rxzP5tsHrV7bhZ3QKw0z
-2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfNB/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjX
-OP/swNlQ8C5LWK5Gb9Auw2DaclVyvUxFnmG6v4SBkgPR0ml8xQ==
+VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ
+KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy
+T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
+zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT
+J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e
+nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE=
 -----END CERTIFICATE-----
 
 Baltimore CyberTrust Root
@@ -445,26 +403,6 @@ lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+
 KpYrtWKmpj29f5JZzVoqgrI3eQ==
 -----END CERTIFICATE-----
 
-Equifax Secure eBusiness CA 2
-=============================
------BEGIN CERTIFICATE-----
-MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEXMBUGA1UE
-ChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0y
-MB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
-DkVxdWlmYXggU2VjdXJlMSYwJAYDVQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCB
-nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn
-2Z0GvxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/BPO3QSQ5
-BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0CAwEAAaOCAQkwggEFMHAG
-A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUx
-JjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoG
-A1UdEAQTMBGBDzIwMTkwNjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9e
-uSBIplBqy/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQFMAMB
-Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAAyGgq3oThr1
-jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia
-78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUm
-V+GRMOrN
------END CERTIFICATE-----
-
 AddTrust Low-Value Services Root
 ================================
 -----BEGIN CERTIFICATE-----
@@ -1429,29 +1367,6 @@ wUpgpZKpsaSgYMN4h7Mi8yrrW6ntBas3D7Hi05V2Y1Z0jFhyGzflZKG+TQyTmAyX9odtsz/ny4Cm
 VM+h4k0460tQtcsm9MracEpqoeJ5quGnM/b9Sh/22WA=
 -----END CERTIFICATE-----
 
-Wells Fargo Root CA
-===================
------BEGIN CERTIFICATE-----
-MIID5TCCAs2gAwIBAgIEOeSXnjANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCVVMxFDASBgNV
-BAoTC1dlbGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhv
-cml0eTEvMC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
-MDAxMDExMTY0MTI4WhcNMjEwMTE0MTY0MTI4WjCBgjELMAkGA1UEBhMCVVMxFDASBgNVBAoTC1dl
-bGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEv
-MC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG
-SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVqDM7Jvk0/82bfuUER84A4n135zHCLielTWi5MbqNQ1mX
-x3Oqfz1cQJ4F5aHiidlMuD+b+Qy0yGIZLEWukR5zcUHESxP9cMIlrCL1dQu3U+SlK93OvRw6esP3
-E48mVJwWa2uv+9iWsWCaSOAlIiR5NM4OJgALTqv9i86C1y8IcGjBqAr5dE8Hq6T54oN+J3N0Prj5
-OEL8pahbSCOz6+MlsoCultQKnMJ4msZoGK43YjdeUXWoWGPAUe5AeH6orxqg4bB4nVCMe+ez/I4j
-sNtlAHCEAQgAFG5Uhpq6zPk3EPbg3oQtnaSFN9OH4xXQwReQfhkhahKpdv0SAulPIV4XAgMBAAGj
-YTBfMA8GA1UdEwEB/wQFMAMBAf8wTAYDVR0gBEUwQzBBBgtghkgBhvt7hwcBCzAyMDAGCCsGAQUF
-BwIBFiRodHRwOi8vd3d3LndlbGxzZmFyZ28uY29tL2NlcnRwb2xpY3kwDQYJKoZIhvcNAQEFBQAD
-ggEBANIn3ZwKdyu7IvICtUpKkfnRLb7kuxpo7w6kAOnu5+/u9vnldKTC2FJYxHT7zmu1Oyl5GFrv
-m+0fazbuSCUlFLZWohDo7qd/0D+j0MNdJu4HzMPBJCGHHt8qElNvQRbn7a6U+oxy+hNH8Dx+rn0R
-OhPs7fpvcmR7nX1/Jv16+yWt6j4pf0zjAFcysLPp7VMX2YuyFA4w6OXVE8Zkr8QA1dhYJPz1j+zx
-x32l2w8n0cbyQIjmH/ZhqPRCyLk306m+LFZ4wnKbWV01QIroTmMatukgalHizqSQ33ZwmVxwQ023
-tqcZZE6St8WRPH9IFmV7Fv3L/PvZ1dZPIWU7Sn9Ho/s=
------END CERTIFICATE-----
-
 Swisscom Root CA 1
 ==================
 -----BEGIN CERTIFICATE-----
@@ -2827,29 +2742,6 @@ YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
 kpeDMdmztcpHWD9f
 -----END CERTIFICATE-----
 
-TC TrustCenter Universal CA III
-===============================
------BEGIN CERTIFICATE-----
-MIID4TCCAsmgAwIBAgIOYyUAAQACFI0zFQLkbPQwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UEBhMC
-REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy
-IFVuaXZlcnNhbCBDQTEoMCYGA1UEAxMfVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIElJSTAe
-Fw0wOTA5MDkwODE1MjdaFw0yOTEyMzEyMzU5NTlaMHsxCzAJBgNVBAYTAkRFMRwwGgYDVQQKExNU
-QyBUcnVzdENlbnRlciBHbWJIMSQwIgYDVQQLExtUQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0Ex
-KDAmBgNVBAMTH1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQSBJSUkwggEiMA0GCSqGSIb3DQEB
-AQUAA4IBDwAwggEKAoIBAQDC2pxisLlxErALyBpXsq6DFJmzNEubkKLF5+cvAqBNLaT6hdqbJYUt
-QCggbergvbFIgyIpRJ9Og+41URNzdNW88jBmlFPAQDYvDIRlzg9uwliT6CwLOunBjvvya8o84pxO
-juT5fdMnnxvVZ3iHLX8LR7PH6MlIfK8vzArZQe+f/prhsq75U7Xl6UafYOPfjdN/+5Z+s7Vy+Eut
-CHnNaYlAJ/Uqwa1D7KRTyGG299J5KmcYdkhtWyUB0SbFt1dpIxVbYYqt8Bst2a9c8SaQaanVDED1
-M4BDj5yjdipFtK+/fz6HP3bFzSreIMUWWMv5G/UPyw0RUmS40nZid4PxWJ//AgMBAAGjYzBhMB8G
-A1UdIwQYMBaAFFbn4VslQ4Dg9ozhcbyO5YAvxEjiMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
-BAQDAgEGMB0GA1UdDgQWBBRW5+FbJUOA4PaM4XG8juWAL8RI4jANBgkqhkiG9w0BAQUFAAOCAQEA
-g8ev6n9NCjw5sWi+e22JLumzCecYV42FmhfzdkJQEw/HkG8zrcVJYCtsSVgZ1OK+t7+rSbyUyKu+
-KGwWaODIl0YgoGhnYIg5IFHYaAERzqf2EQf27OysGh+yZm5WZ2B6dF7AbZc2rrUNXWZzwCUyRdhK
-BgePxLcHsU0GDeGl6/R1yrqc0L2z0zIkTO5+4nYES0lT2PLpVDP85XEfPRRclkvxOvIAu2y0+pZV
-CIgJwcyRGSmwIC3/yzikQOEXvnlhgP8HA4ZMTnsGnxGGjYnuJ8Tb4rwZjgvDwxPHLQNjO9Po5KIq
-woIIlBZU8O8fJ5AluA0OKBtHd0e9HKgl8ZS0Zg==
------END CERTIFICATE-----
-
 Autoridad de Certificacion Firmaprofesional CIF A62634068
 =========================================================
 -----BEGIN CERTIFICATE-----
@@ -3552,3 +3444,342 @@ ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
 P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
 e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
 -----END CERTIFICATE-----
+
+TURKTRUST Certificate Services Provider Root 2007
+=================================================
+-----BEGIN CERTIFICATE-----
+MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
+bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
+MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
+QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X
+DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl
+a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN
+BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
+bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N
+YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv
+KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya
+KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT
+rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC
+AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s
+Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I
+aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO
+Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb
+BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK
+poRq0Tl9
+-----END CERTIFICATE-----
+
+D-TRUST Root Class 3 CA 2 2009
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe
+Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE
+LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD
+ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA
+BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv
+KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z
+p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC
+AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ
+4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y
+eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw
+MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G
+PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw
+OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm
+2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0
+o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV
+dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph
+X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I=
+-----END CERTIFICATE-----
+
+D-TRUST Root Class 3 CA 2 EV 2009
+=================================
+-----BEGIN CERTIFICATE-----
+MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
+OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
+OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS
+egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh
+zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T
+7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60
+sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35
+11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv
+cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v
+ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El
+MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp
+b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh
+c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+
+PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05
+nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX
+ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA
+NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv
+w9y4AyHqnxbxLFS1
+-----END CERTIFICATE-----
+
+PSCProcert
+==========
+-----BEGIN CERTIFICATE-----
+MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk
+ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ
+MA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlzdHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lz
+dGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBl
+cmludGVuZGVuY2lhIGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUw
+IwYJKoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEwMFoXDTIw
+MTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHByb2NlcnQubmV0LnZlMQ8w
+DQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGExKjAoBgNVBAsTIVByb3ZlZWRvciBkZSBD
+ZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZp
+Y2FjaW9uIEVsZWN0cm9uaWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo97BVC
+wfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74BCXfgI8Qhd19L3uA
+3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38GieU89RLAu9MLmV+QfI4tL3czkkoh
+RqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmO
+EO8GqQKJ/+MMbpfg353bIdD0PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG2
+0qCZyFSTXai20b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH
+0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/6mnbVSKVUyqU
+td+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1mv6JpIzi4mWCZDlZTOpx+FIyw
+Bm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvp
+r2uKGcfLFFb14dq12fy/czja+eevbqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/
+AgEBMDcGA1UdEgQwMC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAz
+Ni0wMB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFDgBStuyId
+xuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0b3JpZGFkIGRlIENlcnRp
+ZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xhbm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQH
+EwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5h
+Y2lvbmFsIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5k
+ZW5jaWEgZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkqhkiG
+9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQDAgEGME0GA1UdEQRG
+MESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0wMDAwMDKgGwYFYIZeAgKgEgwQUklG
+LUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEagRKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52
+ZS9sY3IvQ0VSVElGSUNBRE8tUkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNy
+YWl6LnN1c2NlcnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v
+Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsGAQUFBwIBFh5o
+dHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcNAQELBQADggIBACtZ6yKZu4Sq
+T96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmN
+g7+mvTV+LFwxNG9s2/NkAZiqlCxB3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4q
+uxtxj7mkoP3YldmvWb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1
+n8GhHVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHmpHmJWhSn
+FFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXzsOfIt+FTvZLm8wyWuevo
+5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bEqCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq
+3TNWOByyrYDT13K9mmyZY+gAu0F2BbdbmRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5
+poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y
+eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km
+-----END CERTIFICATE-----
+
+China Internet Network Information Center EV Certificates Root
+==============================================================
+-----BEGIN CERTIFICATE-----
+MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCQ04xMjAwBgNV
+BAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyMUcwRQYDVQQDDD5D
+aGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0aW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMg
+Um9vdDAeFw0xMDA4MzEwNzExMjVaFw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAG
+A1UECgwpQ2hpbmEgSW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMM
+PkNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRpZmljYXRl
+cyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z7r07eKpkQ0H1UN+U8i6y
+jUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA//DdmEEbK40ctb3B75aDFk4Zv6dOtouSCV
+98YPjUesWgbdYavi7NifFy2cyjw1l1VxzUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2H
+klY0bBoQCxfVWhyXWIQ8hBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23
+KzhmBsUs4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54ugQEC
+7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oYNJKiyoOCWTAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUfHJLOcfA22KlT5uqGDSSosqD
+glkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd5
+0XPFtQO3WKwMVC/GVhMPMdoG52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM
+7+czV0I664zBechNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws
+ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrIzo9uoV1/A3U0
+5K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATywy39FCqQmbkHzJ8=
+-----END CERTIFICATE-----
+
+Swisscom Root CA 2
+==================
+-----BEGIN CERTIFICATE-----
+MIIF2TCCA8GgAwIBAgIQHp4o6Ejy5e/DfEoeWhhntjANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQG
+EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
+dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMjAeFw0xMTA2MjQwODM4MTRaFw0zMTA2
+MjUwNzM4MTRaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
+aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAyMIIC
+IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlUJOhJ1R5tMJ6HJaI2nbeHCOFvErjw0DzpPM
+LgAIe6szjPTpQOYXTKueuEcUMncy3SgM3hhLX3af+Dk7/E6J2HzFZ++r0rk0X2s682Q2zsKwzxNo
+ysjL67XiPS4h3+os1OD5cJZM/2pYmLcX5BtS5X4HAB1f2uY+lQS3aYg5oUFgJWFLlTloYhyxCwWJ
+wDaCFCE/rtuh/bxvHGCGtlOUSbkrRsVPACu/obvLP+DHVxxX6NZp+MEkUp2IVd3Chy50I9AU/SpH
+Wrumnf2U5NGKpV+GY3aFy6//SSj8gO1MedK75MDvAe5QQQg1I3ArqRa0jG6F6bYRzzHdUyYb3y1a
+SgJA/MTAtukxGggo5WDDH8SQjhBiYEQN7Aq+VRhxLKX0srwVYv8c474d2h5Xszx+zYIdkeNL6yxS
+NLCK/RJOlrDrcH+eOfdmQrGrrFLadkBXeyq96G4DsguAhYidDMfCd7Camlf0uPoTXGiTOmekl9Ab
+mbeGMktg2M7v0Ax/lZ9vh0+Hio5fCHyqW/xavqGRn1V9TrALacywlKinh/LTSlDcX3KwFnUey7QY
+Ypqwpzmqm59m2I2mbJYV4+by+PGDYmy7Velhk6M99bFXi08jsJvllGov34zflVEpYKELKeRcVVi3
+qPyZ7iVNTA6z00yPhOgpD/0QVAKFyPnlw4vP5w8CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
+HQYDVR0hBBYwFDASBgdghXQBUwIBBgdghXQBUwIBMBIGA1UdEwEB/wQIMAYBAf8CAQcwHQYDVR0O
+BBYEFE0mICKJS9PVpAqhb97iEoHF8TwuMB8GA1UdIwQYMBaAFE0mICKJS9PVpAqhb97iEoHF8Twu
+MA0GCSqGSIb3DQEBCwUAA4ICAQAyCrKkG8t9voJXiblqf/P0wS4RfbgZPnm3qKhyN2abGu2sEzsO
+v2LwnN+ee6FTSA5BesogpxcbtnjsQJHzQq0Qw1zv/2BZf82Fo4s9SBwlAjxnffUy6S8w5X2lejjQ
+82YqZh6NM4OKb3xuqFp1mrjX2lhIREeoTPpMSQpKwhI3qEAMw8jh0FcNlzKVxzqfl9NX+Ave5XLz
+o9v/tdhZsnPdTSpxsrpJ9csc1fV5yJmz/MFMdOO0vSk3FQQoHt5FRnDsr7p4DooqzgB53MBfGWcs
+a0vvaGgLQ+OswWIJ76bdZWGgr4RVSJFSHMYlkSrQwSIjYVmvRRGFHQEkNI/Ps/8XciATwoCqISxx
+OQ7Qj1zB09GOInJGTB2Wrk9xseEFKZZZ9LuedT3PDTcNYtsmjGOpI99nBjx8Oto0QuFmtEYE3saW
+mA9LSHokMnWRn6z3aOkquVVlzl1h0ydw2Df+n7mvoC5Wt6NlUe07qxS/TFED6F+KBZvuim6c779o
++sjaC+NCydAXFJy3SuCvkychVSa1ZC+N8f+mQAWFBVzKBxlcCxMoTFh/wqXvRdpg065lYZ1Tg3TC
+rvJcwhbtkj6EPnNgiLx29CzP0H1907he0ZESEOnN3col49XtmS++dYFLJPlFRpTJKSFTnCZFqhMX
+5OfNeOI5wSsSnqaeG8XmDtkx2Q==
+-----END CERTIFICATE-----
+
+Swisscom Root EV CA 2
+=====================
+-----BEGIN CERTIFICATE-----
+MIIF4DCCA8igAwIBAgIRAPL6ZOJ0Y9ON/RAdBB92ylgwDQYJKoZIhvcNAQELBQAwZzELMAkGA1UE
+BhMCY2gxETAPBgNVBAoTCFN3aXNzY29tMSUwIwYDVQQLExxEaWdpdGFsIENlcnRpZmljYXRlIFNl
+cnZpY2VzMR4wHAYDVQQDExVTd2lzc2NvbSBSb290IEVWIENBIDIwHhcNMTEwNjI0MDk0NTA4WhcN
+MzEwNjI1MDg0NTA4WjBnMQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsT
+HERpZ2l0YWwgQ2VydGlmaWNhdGUgU2VydmljZXMxHjAcBgNVBAMTFVN3aXNzY29tIFJvb3QgRVYg
+Q0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMT3HS9X6lds93BdY7BxUglgRCgz
+o3pOCvrY6myLURYaVa5UJsTMRQdBTxB5f3HSek4/OE6zAMaVylvNwSqD1ycfMQ4jFrclyxy0uYAy
+Xhqdk/HoPGAsp15XGVhRXrwsVgu42O+LgrQ8uMIkqBPHoCE2G3pXKSinLr9xJZDzRINpUKTk4Rti
+GZQJo/PDvO/0vezbE53PnUgJUmfANykRHvvSEaeFGHR55E+FFOtSN+KxRdjMDUN/rhPSays/p8Li
+qG12W0OfvrSdsyaGOx9/5fLoZigWJdBLlzin5M8J0TbDC77aO0RYjb7xnglrPvMyxyuHxuxenPaH
+Za0zKcQvidm5y8kDnftslFGXEBuGCxobP/YCfnvUxVFkKJ3106yDgYjTdLRZncHrYTNaRdHLOdAG
+alNgHa/2+2m8atwBz735j9m9W8E6X47aD0upm50qKGsaCnw8qyIL5XctcfaCNYGu+HuB5ur+rPQa
+m3Rc6I8k9l2dRsQs0h4rIWqDJ2dVSqTjyDKXZpBy2uPUZC5f46Fq9mDU5zXNysRojddxyNMkM3Ox
+bPlq4SjbX8Y96L5V5jcb7STZDxmPX2MYWFCBUWVv8p9+agTnNCRxunZLWB4ZvRVgRaoMEkABnRDi
+xzgHcgplwLa7JSnaFp6LNYth7eVxV4O1PHGf40+/fh6Bn0GXAgMBAAGjgYYwgYMwDgYDVR0PAQH/
+BAQDAgGGMB0GA1UdIQQWMBQwEgYHYIV0AVMCAgYHYIV0AVMCAjASBgNVHRMBAf8ECDAGAQH/AgED
+MB0GA1UdDgQWBBRF2aWBbj2ITY1x0kbBbkUe88SAnTAfBgNVHSMEGDAWgBRF2aWBbj2ITY1x0kbB
+bkUe88SAnTANBgkqhkiG9w0BAQsFAAOCAgEAlDpzBp9SSzBc1P6xXCX5145v9Ydkn+0UjrgEjihL
+j6p7jjm02Vj2e6E1CqGdivdj5eu9OYLU43otb98TPLr+flaYC/NUn81ETm484T4VvwYmneTwkLbU
+wp4wLh/vx3rEUMfqe9pQy3omywC0Wqu1kx+AiYQElY2NfwmTv9SoqORjbdlk5LgpWgi/UOGED1V7
+XwgiG/W9mR4U9s70WBCCswo9GcG/W6uqmdjyMb3lOGbcWAXH7WMaLgqXfIeTK7KK4/HsGOV1timH
+59yLGn602MnTihdsfSlEvoqq9X46Lmgxk7lq2prg2+kupYTNHAq4Sgj5nPFhJpiTt3tm7JFe3VE/
+23MPrQRYCd0EApUKPtN236YQHoA96M2kZNEzx5LH4k5E4wnJTsJdhw4Snr8PyQUQ3nqjsTzyP6Wq
+J3mtMX0f/fwZacXduT98zca0wjAefm6S139hdlqP65VNvBFuIXxZN5nQBrz5Bm0yFqXZaajh3DyA
+HmBR3NdUIR7KYndP+tiPsys6DXhyyWhBWkdKwqPrGtcKqzwyVcgKEZzfdNbwQBUdyLmPtTbFr/gi
+uMod89a2GQ+fYWVq6nTIfI/DT11lgh/ZDYnadXL77/FHZxOzyNEZiCcmmpl5fx7kLD977vHeTYuW
+l8PVP3wbI+2ksx0WckNLIOFZfsLorSa/ovc=
+-----END CERTIFICATE-----
+
+CA Disig Root R1
+================
+-----BEGIN CERTIFICATE-----
+MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAlNLMRMw
+EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
+ZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQyMDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sx
+EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp
+c2lnIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy
+3QRkD2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/oOI7bm+V8
+u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3AfQ+lekLZWnDZv6fXARz2
+m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJeIgpFy4QxTaz+29FHuvlglzmxZcfe+5nk
+CiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8noc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTa
+YVKvJrT1cU/J19IG32PK/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6
+vpmumwKjrckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD3AjL
+LhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE7cderVC6xkGbrPAX
+ZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkCyC2fg69naQanMVXVz0tv/wQFx1is
+XxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLdqvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ
+04IwDQYJKoZIhvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR
+xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaASfX8MPWbTx9B
+LxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXoHqJPYNcHKfyyo6SdbhWSVhlM
+CrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpBemOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5Gfb
+VSUZP/3oNn6z4eGBrxEWi1CXYBmCAMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85
+YmLLW1AL14FABZyb7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKS
+ds+xDzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvkF7mGnjix
+lAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqFa3qdnom2piiZk4hA9z7N
+UaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsTQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJ
+a7+h89n07eLw4+1knj0vllJPgFOL
+-----END CERTIFICATE-----
+
+CA Disig Root R2
+================
+-----BEGIN CERTIFICATE-----
+MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw
+EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
+ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx
+EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp
+c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC
+w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia
+xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7
+A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S
+GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV
+g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa
+5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE
+koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A
+Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i
+Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u
+Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM
+tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV
+sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je
+dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8
+1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx
+mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01
+utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0
+sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg
+UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV
+7+ZtsH8tZ/3zbBt1RqPlShfppNcL
+-----END CERTIFICATE-----
+
+ACCVRAIZ1
+=========
+-----BEGIN CERTIFICATE-----
+MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB
+SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1
+MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH
+UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM
+jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0
+RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD
+aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ
+0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG
+WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7
+8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR
+5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J
+9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK
+Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw
+Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu
+Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2
+VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM
+Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA
+QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh
+AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA
+YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj
+AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA
+IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk
+aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0
+dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2
+MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI
+hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E
+R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN
+YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49
+nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ
+TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3
+sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h
+I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg
+Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd
+3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p
+EfbRD0tVNEYqi4Y7
+-----END CERTIFICATE-----
+
+TWCA Global Root CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT
+CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD
+QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK
+EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg
+Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C
+nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV
+r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR
+Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV
+tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W
+KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99
+sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p
+yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn
+kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI
+zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC
+AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g
+cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn
+LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M
+8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg
+/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg
+lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP
+A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m
+i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8
+EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3
+zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0=
+-----END CERTIFICATE-----
index f8fbc00b10f67b8d154c4dc9a8e8d50bf8de229a..7264db6efb45f06f7ff6a92466c47d676a770590 100644 (file)
@@ -30,7 +30,7 @@
  * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * @package IXR
- * @since 1.5
+ * @since 1.5.0
  *
  * @copyright  Incutio Ltd 2010 (http://www.incutio.com)
  * @version    1.7.4 7th September 2010
@@ -43,7 +43,7 @@
  * IXR_Value
  *
  * @package IXR
- * @since 1.5
+ * @since 1.5.0
  */
 class IXR_Value {
     var $data;
@@ -171,7 +171,7 @@ class IXR_Value {
  * IXR_MESSAGE
  *
  * @package IXR
- * @since 1.5
+ * @since 1.5.0
  *
  */
 class IXR_Message
@@ -344,7 +344,7 @@ class IXR_Message
  * IXR_Server
  *
  * @package IXR
- * @since 1.5
+ * @since 1.5.0
  */
 class IXR_Server
 {
@@ -555,7 +555,7 @@ EOD;
  * IXR_Request
  *
  * @package IXR
- * @since 1.5
+ * @since 1.5.0
  */
 class IXR_Request
 {
@@ -598,7 +598,7 @@ EOD;
  * IXR_Client
  *
  * @package IXR
- * @since 1.5
+ * @since 1.5.0
  *
  */
 class IXR_Client
@@ -629,6 +629,10 @@ class IXR_Client
             if (!$this->path) {
                 $this->path = '/';
             }
+
+            if ( ! empty( $bits['query'] ) ) {
+                $this->path .= '?' . $bits['query'];
+            }
         } else {
             $this->server = $server;
             $this->path = $path;
@@ -750,7 +754,7 @@ class IXR_Client
  * IXR_Error
  *
  * @package IXR
- * @since 1.5
+ * @since 1.5.0
  */
 class IXR_Error
 {
@@ -792,7 +796,7 @@ EOD;
  * IXR_Date
  *
  * @package IXR
- * @since 1.5
+ * @since 1.5.0
  */
 class IXR_Date {
     var $year;
@@ -855,7 +859,7 @@ class IXR_Date {
  * IXR_Base64
  *
  * @package IXR
- * @since 1.5
+ * @since 1.5.0
  */
 class IXR_Base64
 {
@@ -876,7 +880,7 @@ class IXR_Base64
  * IXR_IntrospectionServer
  *
  * @package IXR
- * @since 1.5
+ * @since 1.5.0
  */
 class IXR_IntrospectionServer extends IXR_Server
 {
@@ -1039,7 +1043,7 @@ class IXR_IntrospectionServer extends IXR_Server
  * IXR_ClientMulticall
  *
  * @package IXR
- * @since 1.5
+ * @since 1.5.0
  */
 class IXR_ClientMulticall extends IXR_Client
 {
index c75b47e230eb013807984a0f76c62cfc731cb79e..13cf1442fe929bbac6890b096eb4154834fcdfa5 100644 (file)
@@ -69,10 +69,48 @@ class WP_Http {
 
                $defaults = array(
                        'method' => 'GET',
-                       'timeout' => apply_filters( 'http_request_timeout', 5),
-                       'redirection' => apply_filters( 'http_request_redirection_count', 5),
-                       'httpversion' => apply_filters( 'http_request_version', '1.0'),
+                       /**
+                        * Filter the timeout value for an HTTP request.
+                        *
+                        * @since 2.7.0
+                        *
+                        * @param int $timeout_value Time in seconds until a request times out.
+                        *                           Default 5.
+                        */
+                       'timeout' => apply_filters( 'http_request_timeout', 5 ),
+                       /**
+                        * Filter the number of redirects allowed during an HTTP request.
+                        *
+                        * @since 2.7.0
+                        *
+                        * @param int $redirect_count Number of redirects allowed. Default 5.
+                        */
+                       'redirection' => apply_filters( 'http_request_redirection_count', 5 ),
+                       /**
+                        * Filter the version of the HTTP protocol used in a request.
+                        *
+                        * @since 2.7.0
+                        *
+                        * @param string $version Version of HTTP used. Accepts '1.0' and '1.1'.
+                        *                        Default '1.0'.
+                        */
+                       'httpversion' => apply_filters( 'http_request_version', '1.0' ),
+                       /**
+                        * Filter the user agent value sent with an HTTP request.
+                        *
+                        * @since 2.7.0
+                        *
+                        * @param string $user_agent WordPress user agent string.
+                        */
                        'user-agent' => apply_filters( 'http_headers_useragent', 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ),
+                       /**
+                        * Filter whether to pass URLs through wp_http_validate_url() in an HTTP request.
+                        *
+                        * @since 3.6.0
+                        *
+                        * @param bool $pass_url Whether to pass URLs through wp_http_validate_url().
+                        *                       Default false.
+                        */
                        'reject_unsafe_urls' => apply_filters( 'http_request_reject_unsafe_urls', false ),
                        'blocking' => true,
                        'headers' => array(),
@@ -95,13 +133,32 @@ class WP_Http {
                        $defaults['redirection'] = 0;
 
                $r = wp_parse_args( $args, $defaults );
+               /**
+                * Filter the arguments used in an HTTP request.
+                *
+                * @since 2.7.0
+                *
+                * @param array  $r   An array of HTTP request arguments.
+                * @param string $url The request URI resource.
+                */
                $r = apply_filters( 'http_request_args', $r, $url );
 
                // The transports decrement this, store a copy of the original value for loop purposes.
                if ( ! isset( $r['_redirection'] ) )
                        $r['_redirection'] = $r['redirection'];
 
-               // Allow plugins to short-circuit the request
+               /**
+                * Filter whether to preempt an HTTP request's return.
+                *
+                * Returning a truthy value to the filter will short-circuit
+                * the HTTP request and return early with that value.
+                *
+                * @since 2.9.0
+                *
+                * @param bool   $preempt Whether to preempt an HTTP request return. Default false.
+                * @param array  $r       HTTP request arguments.
+                * @param string $url     The request URI resource.
+                */
                $pre = apply_filters( 'pre_http_request', false, $r, $url );
                if ( false !== $pre )
                        return $pre;
@@ -221,6 +278,16 @@ class WP_Http {
         * @return string|bool Class name for the first transport that claims to support the request. False if no transport claims to support the request.
         */
        public function _get_first_available_transport( $args, $url = null ) {
+               /**
+                * Filter which HTTP transports are available and in what order.
+                *
+                * @since 3.7.0
+                *
+                * @param array  $value Array of HTTP transports to check. Default array contains
+                *                      'curl', and 'streams', in that order.
+                * @param array  $args  HTTP request arguments.
+                * @param string $url   The URL to request.
+                */
                $request_order = apply_filters( 'http_api_transports', array( 'curl', 'streams' ), $args, $url );
 
                // Loop over each transport on each HTTP request looking for one which will serve this request's needs
@@ -265,11 +332,31 @@ class WP_Http {
 
                $response = $transports[$class]->request( $url, $args );
 
+               /**
+                * Fires after an HTTP API response is received and before the response is returned.
+                *
+                * @since 2.8.0
+                *
+                * @param mixed  $response HTTP Response or WP_Error object.
+                * @param string $context  Context under which the hook is fired.
+                * @param string $class    HTTP transport used.
+                * @param array  $args     HTTP request arguments.
+                * @param string $url      The request URL.
+                */
                do_action( 'http_api_debug', $response, 'response', $class, $args, $url );
 
                if ( is_wp_error( $response ) )
                        return $response;
 
+               /**
+                * Filter the HTTP API response immediately before the response is returned.
+                *
+                * @since 2.9.0
+                *
+                * @param array|obj $response HTTP Response.
+                * @param array     $args     HTTP request arguments.
+                * @param string    $url      The request URL.
+                */
                return apply_filters( 'http_response', $response, $args, $url );
        }
 
@@ -281,8 +368,8 @@ class WP_Http {
         * @access public
         * @since 2.7.0
         *
-        * @param string $url URI resource.
-        * @param str|array $args Optional. Override the defaults.
+        * @param string       $url  URI resource.
+        * @param string|array $args Optional. Override the defaults.
         * @return array|object Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error
         */
        function post($url, $args = array()) {
@@ -516,8 +603,17 @@ class WP_Http {
                $home = parse_url( get_option('siteurl') );
 
                // Don't block requests back to ourselves by default
-               if ( $check['host'] == 'localhost' || $check['host'] == $home['host'] )
-                       return apply_filters('block_local_requests', false);
+               if ( $check['host'] == 'localhost' || $check['host'] == $home['host'] ) {
+                       /**
+                        * Filter whether to block local requests through the proxy.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param bool $block Whether to block local requests through proxy.
+                        *                    Default false.
+                        */
+                       return apply_filters( 'block_local_requests', false );
+               }
 
                if ( !defined('WP_ACCESSIBLE_HOSTS') )
                        return true;
@@ -670,9 +766,6 @@ class WP_Http {
 /**
  * HTTP request method uses PHP Streams to retrieve the url.
  *
- * @package WordPress
- * @subpackage HTTP
- *
  * @since 2.7.0
  * @since 3.7.0 Combined with the fsockopen transport and switched to stream_socket_client().
  */
@@ -742,10 +835,25 @@ class WP_Http_Streams {
 
                $is_local = isset( $r['local'] ) && $r['local'];
                $ssl_verify = isset( $r['sslverify'] ) && $r['sslverify'];
-               if ( $is_local )
+               if ( $is_local ) {
+                       /**
+                        * Filter whether SSL should be verified for local requests.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param bool $ssl_verify Whether to verify the SSL connection. Default true.
+                        */
                        $ssl_verify = apply_filters( 'https_local_ssl_verify', $ssl_verify );
-               elseif ( ! $is_local )
+               } elseif ( ! $is_local ) {
+                       /**
+                        * Filter whether SSL should be verified for non-local requests.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param bool $ssl_verify Whether to verify the SSL connection. Default true.
+                        */
                        $ssl_verify = apply_filters( 'https_ssl_verify', $ssl_verify );
+               }
 
                $proxy = new WP_HTTP_Proxy();
 
@@ -1004,7 +1112,7 @@ class WP_Http_Streams {
        }
 
        /**
-        * Whether this class can be used for retrieving an URL.
+        * Whether this class can be used for retrieving a URL.
         *
         * @static
         * @access public
@@ -1026,6 +1134,14 @@ class WP_Http_Streams {
                                return false;
                }
 
+               /**
+                * Filter whether streams can be used as a transport for retrieving a URL.
+                *
+                * @since 2.7.0
+                *
+                * @param bool  $use_class Whether the class can be used. Default true.
+                * @param array $args      Request arguments.
+                */
                return apply_filters( 'use_streams_transport', true, $args );
        }
 }
@@ -1038,9 +1154,6 @@ class WP_Http_Streams {
  *
  * @see WP_HTTP::request
  *
- * @package WordPress
- * @subpackage HTTP
- *
  * @since 2.7.0
  * @deprecated 3.7.0 Please use WP_HTTP::request() directly
  */
@@ -1078,7 +1191,7 @@ class WP_Http_Curl {
        private $body = '';
 
        /**
-        * The maximum amount of data to recieve from the remote server
+        * The maximum amount of data to receive from the remote server.
         *
         * @since 3.6.0
         * @access private
@@ -1145,10 +1258,13 @@ class WP_Http_Curl {
 
                $is_local = isset($r['local']) && $r['local'];
                $ssl_verify = isset($r['sslverify']) && $r['sslverify'];
-               if ( $is_local )
-                       $ssl_verify = apply_filters('https_local_ssl_verify', $ssl_verify);
-               elseif ( ! $is_local )
-                       $ssl_verify = apply_filters('https_ssl_verify', $ssl_verify);
+               if ( $is_local ) {
+                       /** This filter is documented in wp-includes/class-http.php */
+                       $ssl_verify = apply_filters( 'https_local_ssl_verify', $ssl_verify );
+               } elseif ( ! $is_local ) {
+                       /** This filter is documented in wp-includes/class-http.php */
+                       $ssl_verify = apply_filters( 'https_ssl_verify', $ssl_verify );
+               }
 
                // CURLOPT_TIMEOUT and CURLOPT_CONNECTTIMEOUT expect integers. Have to use ceil since
                // a value of 0 will allow an unlimited timeout.
@@ -1225,9 +1341,19 @@ class WP_Http_Curl {
                else
                        curl_setopt( $handle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1 );
 
-               // Cookies are not handled by the HTTP API currently. Allow for plugin authors to handle it
-               // themselves... Although, it is somewhat pointless without some reference.
-               do_action_ref_array( 'http_api_curl', array(&$handle) );
+               /**
+                * Fires before the cURL request is executed.
+                *
+                * Cookies are not currently handled by the HTTP API. This action allows
+                * plugins to handle cookies themselves.
+                *
+                * @since 2.8.0
+                *
+                * @param resource &$handle The cURL handle returned by curl_init().
+                * @param array    $r       The HTTP request arguments.
+                * @param string   $url     The destination URL.
+                */
+               do_action_ref_array( 'http_api_curl', array( &$handle, $r, $url ) );
 
                // We don't need to return the body, so don't. Just execute request and return.
                if ( ! $r['blocking'] ) {
@@ -1361,6 +1487,14 @@ class WP_Http_Curl {
                                return false;
                }
 
+               /**
+                * Filter whether cURL can be used as a transport for retrieving a URL.
+                *
+                * @since 2.7.0
+                *
+                * @param bool  $use_class Whether the class can be used. Default true.
+                * @param array $args      An array of request arguments.
+                */
                return apply_filters( 'use_curl_transport', true, $args );
        }
 }
@@ -1395,14 +1529,15 @@ class WP_Http_Curl {
  *
  * @link http://core.trac.wordpress.org/ticket/4011 Proxy support ticket in WordPress.
  * @link http://core.trac.wordpress.org/ticket/14636 Allow wildcard domains in WP_PROXY_BYPASS_HOSTS
- * @since 2.8
+ * @since 2.8.0
  */
 class WP_HTTP_Proxy {
 
        /**
         * Whether proxy connection should be used.
         *
-        * @since 2.8
+        * @since 2.8.0
+        *
         * @use WP_PROXY_HOST
         * @use WP_PROXY_PORT
         *
@@ -1415,7 +1550,8 @@ class WP_HTTP_Proxy {
        /**
         * Whether authentication should be used.
         *
-        * @since 2.8
+        * @since 2.8.0
+        *
         * @use WP_PROXY_USERNAME
         * @use WP_PROXY_PASSWORD
         *
@@ -1428,7 +1564,7 @@ class WP_HTTP_Proxy {
        /**
         * Retrieve the host for the proxy server.
         *
-        * @since 2.8
+        * @since 2.8.0
         *
         * @return string
         */
@@ -1442,7 +1578,7 @@ class WP_HTTP_Proxy {
        /**
         * Retrieve the port for the proxy server.
         *
-        * @since 2.8
+        * @since 2.8.0
         *
         * @return string
         */
@@ -1456,7 +1592,7 @@ class WP_HTTP_Proxy {
        /**
         * Retrieve the username for proxy authentication.
         *
-        * @since 2.8
+        * @since 2.8.0
         *
         * @return string
         */
@@ -1470,7 +1606,7 @@ class WP_HTTP_Proxy {
        /**
         * Retrieve the password for proxy authentication.
         *
-        * @since 2.8
+        * @since 2.8.0
         *
         * @return string
         */
@@ -1484,7 +1620,7 @@ class WP_HTTP_Proxy {
        /**
         * Retrieve authentication string for proxy authentication.
         *
-        * @since 2.8
+        * @since 2.8.0
         *
         * @return string
         */
@@ -1495,7 +1631,7 @@ class WP_HTTP_Proxy {
        /**
         * Retrieve header string for proxy authentication.
         *
-        * @since 2.8
+        * @since 2.8.0
         *
         * @return string
         */
@@ -1527,6 +1663,19 @@ class WP_HTTP_Proxy {
 
                $home = parse_url( get_option('siteurl') );
 
+               /**
+                * Filter whether to preempt sending the request through the proxy server.
+                *
+                * Returning false will bypass the proxy; returning true will send
+                * the request through the proxy. Returning null bypasses the filter.
+                *
+                * @since 3.5.0
+                *
+                * @param null   $override Whether to override the request result. Default null.
+                * @param string $uri      URL to check.
+                * @param array  $check    Associative array result of parsing the URI.
+                * @param array  $home     Associative array result of parsing the site URL.
+                */
                $result = apply_filters( 'pre_http_send_through_proxy', null, $uri, $check, $home );
                if ( ! is_null( $result ) )
                        return $result;
@@ -1741,6 +1890,14 @@ class WP_Http_Cookie {
                if ( ! isset( $this->name ) || ! isset( $this->value ) )
                        return '';
 
+               /**
+                * Filter the header-encoded cookie value.
+                *
+                * @since 3.4.0
+                *
+                * @param string $value The cookie value.
+                * @param string $name  The cookie name.
+                */
                return $this->name . '=' . apply_filters( 'wp_http_cookie_value', $this->value, $this->name );
        }
 
@@ -1762,7 +1919,7 @@ class WP_Http_Cookie {
  *
  * Includes RFC 1950, RFC 1951, and RFC 1952.
  *
- * @since 2.8
+ * @since 2.8.0
  * @package WordPress
  * @subpackage HTTP
  */
@@ -1773,7 +1930,7 @@ class WP_Http_Encoding {
         *
         * Supports the RFC 1951 standard.
         *
-        * @since 2.8
+        * @since 2.8.0
         *
         * @param string $raw String to compress.
         * @param int $level Optional, default is 9. Compression level, 9 is highest.
@@ -1792,7 +1949,7 @@ class WP_Http_Encoding {
         * 1952 standard gzip decode will be attempted. If all fail, then the
         * original compressed string will be returned.
         *
-        * @since 2.8
+        * @since 2.8.0
         *
         * @param string $compressed String to decompress.
         * @param int $length The optional length of the compressed data.
@@ -1876,7 +2033,7 @@ class WP_Http_Encoding {
        /**
         * What encoding types to accept and their priority values.
         *
-        * @since 2.8
+        * @since 2.8.0
         *
         * @return string Types of encoding to accept.
         */
@@ -1902,6 +2059,16 @@ class WP_Http_Encoding {
                                $type[] = 'gzip;q=0.5';
                }
 
+               /**
+                * Filter the allowed encoding types.
+                *
+                * @since 3.6.0
+                *
+                * @param array  $type Encoding types allowed. Accepts 'gzinflate',
+                *                     'gzuncompress', 'gzdecode'.
+                * @param string $url  URL of the HTTP request.
+                * @param array  $args HTTP request arguments.
+                */
                $type = apply_filters( 'wp_http_accept_encoding', $type, $url, $args );
 
                return implode(', ', $type);
@@ -1910,7 +2077,7 @@ class WP_Http_Encoding {
        /**
         * What encoding the content used when it was compressed to send in the headers.
         *
-        * @since 2.8
+        * @since 2.8.0
         *
         * @return string Content-Encoding string to send in the header.
         */
@@ -1921,7 +2088,7 @@ class WP_Http_Encoding {
        /**
         * Whether the content be decoded based on the headers.
         *
-        * @since 2.8
+        * @since 2.8.0
         *
         * @param array|string $headers All of the available headers.
         * @return bool
@@ -1944,7 +2111,7 @@ class WP_Http_Encoding {
         * ensure that the functions all exist in the PHP version and aren't
         * disabled.
         *
-        * @since 2.8
+        * @since 2.8.0
         *
         * @return bool
         */
index 00d44205fa8b163012a69933ac0eed986ac53214..353837ff22770801b8a2c31ecdc32bbc842db13e 100644 (file)
@@ -27,33 +27,37 @@ class WP_oEmbed {
         */
        function __construct() {
                $providers = array(
-                       '#https?://(www\.)?youtube\.com/watch.*#i'           => array( 'http://www.youtube.com/oembed',                     true  ),
-                       'http://youtu.be/*'                                  => array( 'http://www.youtube.com/oembed',                     false ),
-                       'http://blip.tv/*'                                   => array( 'http://blip.tv/oembed/',                            false ),
-                       '#https?://(www\.)?vimeo\.com/.*#i'                  => array( 'http://vimeo.com/api/oembed.{format}',              true  ),
-                       '#https?://(www\.)?dailymotion\.com/.*#i'            => array( 'http://www.dailymotion.com/services/oembed',        true  ),
-                       'http://dai.ly/*'                                    => array( 'http://www.dailymotion.com/services/oembed',        false ),
-                       '#https?://(www\.)?flickr\.com/.*#i'                 => array( 'http://www.flickr.com/services/oembed/',            true  ),
-                       'http://flic.kr/*'                                   => array( 'http://www.flickr.com/services/oembed/',            false ),
-                       '#https?://(.+\.)?smugmug\.com/.*#i'                 => array( 'http://api.smugmug.com/services/oembed/',           true  ),
-                       '#https?://(www\.)?hulu\.com/watch/.*#i'             => array( 'http://www.hulu.com/api/oembed.{format}',           true  ),
-                       '#https?://(www\.)?viddler\.com/.*#i'                => array( 'http://lab.viddler.com/services/oembed/',           true  ),
-                       'http://qik.com/*'                                   => array( 'http://qik.com/api/oembed.{format}',                false ),
-                       'http://revision3.com/*'                             => array( 'http://revision3.com/api/oembed/',                  false ),
-                       'http://i*.photobucket.com/albums/*'                 => array( 'http://photobucket.com/oembed',                     false ),
-                       'http://gi*.photobucket.com/groups/*'                => array( 'http://photobucket.com/oembed',                     false ),
-                       '#https?://(www\.)?scribd\.com/.*#i'                 => array( 'http://www.scribd.com/services/oembed',             true  ),
-                       'http://wordpress.tv/*'                              => array( 'http://wordpress.tv/oembed/',                       false ),
-                       '#https?://(.+\.)?polldaddy\.com/.*#i'               => array( 'http://polldaddy.com/oembed/',                      true  ),
-                       '#https?://(www\.)?funnyordie\.com/videos/.*#i'      => array( 'http://www.funnyordie.com/oembed',                  true  ),
-                       '#https?://(www\.)?twitter\.com/.+?/status(es)?/.*#i'=> array( 'https://api.twitter.com/1/statuses/oembed.{format}', true ),
-                       '#https?://(www\.)?soundcloud\.com/.*#i'             => array( 'http://soundcloud.com/oembed',                      true  ),
-                       '#https?://(www\.)?slideshare\.net/*#'               => array( 'http://www.slideshare.net/api/oembed/2',            true  ),
-                       '#http://instagr(\.am|am\.com)/p/.*#i'               => array( 'http://api.instagram.com/oembed',                   true  ),
-                       '#https?://(www\.)?rdio\.com/.*#i'                   => array( 'http://www.rdio.com/api/oembed/',                   true  ),
-                       '#https?://rd\.io/x/.*#i'                            => array( 'http://www.rdio.com/api/oembed/',                   true  ),
-                       '#https?://(open|play)\.spotify\.com/.*#i'           => array( 'https://embed.spotify.com/oembed/',                 true  ),
+                       '#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://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 ),
+                       '#https?://(.+\.)?vimeo\.com/.*#i'                    => array( 'http://vimeo.com/api/oembed.{format}',               true  ),
+                       '#https?://(www\.)?dailymotion\.com/.*#i'             => array( 'http://www.dailymotion.com/services/oembed',         true  ),
+                       'http://dai.ly/*'                                     => array( 'http://www.dailymotion.com/services/oembed',         false ),
+                       '#https?://(www\.)?flickr\.com/.*#i'                  => array( 'http://www.flickr.com/services/oembed/',             true  ),
+                       'http://flic.kr/*'                                    => array( 'http://www.flickr.com/services/oembed/',             false ),
+                       '#https?://(.+\.)?smugmug\.com/.*#i'                  => array( 'http://api.smugmug.com/services/oembed/',            true  ),
+                       '#https?://(www\.)?hulu\.com/watch/.*#i'              => array( 'http://www.hulu.com/api/oembed.{format}',            true  ),
+                       '#https?://(www\.)?viddler\.com/.*#i'                 => array( 'http://lab.viddler.com/services/oembed/',            true  ),
+                       'http://revision3.com/*'                              => array( 'http://revision3.com/api/oembed/',                   false ),
+                       'http://i*.photobucket.com/albums/*'                  => array( 'http://photobucket.com/oembed',                      false ),
+                       'http://gi*.photobucket.com/groups/*'                 => array( 'http://photobucket.com/oembed',                      false ),
+                       '#https?://(www\.)?scribd\.com/.*#i'                  => array( 'http://www.scribd.com/services/oembed',              true  ),
+                       'http://wordpress.tv/*'                               => array( 'http://wordpress.tv/oembed/',                        false ),
+                       '#https?://(.+\.)?polldaddy\.com/.*#i'                => array( 'http://polldaddy.com/oembed/',                       true  ),
+                       '#https?://(www\.)?funnyordie\.com/videos/.*#i'       => array( 'http://www.funnyordie.com/oembed',                   true  ),
+                       '#https?://(www\.)?twitter\.com/.+?/status(es)?/.*#i' => array( 'https://api.twitter.com/1/statuses/oembed.{format}', true  ),
+                       '#https?://(www\.)?soundcloud\.com/.*#i'              => array( 'http://soundcloud.com/oembed',                       true  ),
+                       '#https?://(www\.)?slideshare\.net/*#'                => array( 'http://www.slideshare.net/api/oembed/2',             true  ),
+                       '#http://instagr(\.am|am\.com)/p/.*#i'                => array( 'http://api.instagram.com/oembed',                    true  ),
+                       '#https?://(www\.)?rdio\.com/.*#i'                    => array( 'http://www.rdio.com/api/oembed/',                    true  ),
+                       '#https?://rd\.io/x/.*#i'                             => array( 'http://www.rdio.com/api/oembed/',                    true  ),
+                       '#https?://(open|play)\.spotify\.com/.*#i'            => array( 'https://embed.spotify.com/oembed/',                  true  ),
+                       '#https?://(.+\.)?imgur\.com/.*#i'                    => array( 'http://api.imgur.com/oembed',                        true  ),
+                       '#https?://(www\.)?meetu(\.ps|p\.com)/.*#i'           => array( 'http://api.meetup.com/oembed',                       true  ),
                );
+
                /**
                 * Filter the list of oEmbed providers.
                 *
@@ -132,7 +136,8 @@ class WP_oEmbed {
                $providers = array();
 
                // Fetch URL content
-               if ( $html = wp_remote_retrieve_body( wp_safe_remote_get( $url ) ) ) {
+               $request = wp_safe_remote_get( $url );
+               if ( $html = wp_remote_retrieve_body( $request ) ) {
 
                        /**
                         * Filter the link types that contain oEmbed provider URLs.
index 2fed5d76853741cf7848b14b111f476b69e7b343..1970ae9da49df37083b19f27db3cc4f428c04f00 100644 (file)
@@ -2,7 +2,7 @@
 /**
  * Portable PHP password hashing framework.
  * @package phpass
- * @since 2.5
+ * @since 2.5.0
  * @version 0.3 / WordPress
  * @link http://www.openwall.com/phpass/
  */
@@ -31,7 +31,7 @@
  * @package phpass
  * @version 0.3 / WordPress
  * @link http://www.openwall.com/phpass/
- * @since 2.5
+ * @since 2.5.0
  */
 class PasswordHash {
        var $itoa64;
index 238474edff69b07e51a04ac1d94a05e2ac5c24d8..c38632ab727e63b704ae21b520e47e2a714c4baa 100644 (file)
 <?php
-/*~ class.phpmailer.php
-.---------------------------------------------------------------------------.
-|  Software: PHPMailer - PHP email class                                    |
-|   Version: 5.2.4                                                          |
-|      Site: https://code.google.com/a/apache-extras.org/p/phpmailer/       |
-| ------------------------------------------------------------------------- |
-|     Admin: Jim Jagielski (project admininistrator)                        |
-|   Authors: Andy Prevost (codeworxtech) codeworxtech@users.sourceforge.net |
-|          : Marcus Bointon (coolbru) coolbru@users.sourceforge.net         |
-|          : Jim Jagielski (jimjag) jimjag@gmail.com                        |
-|   Founder: Brent R. Matzelle (original founder)                           |
-| Copyright (c) 2010-2012, Jim Jagielski. All Rights Reserved.              |
-| Copyright (c) 2004-2009, Andy Prevost. All Rights Reserved.               |
-| Copyright (c) 2001-2003, Brent R. Matzelle                                |
-| ------------------------------------------------------------------------- |
-|   License: Distributed under the Lesser General Public License (LGPL)     |
-|            http://www.gnu.org/copyleft/lesser.html                        |
-| 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 - PHP email creation and transport class
- * NOTE: Requires PHP version 5 or later
+ * PHPMailer - PHP email creation and transport class.
+ * PHP Version 5.0.0
+ * Version 5.2.7
  * @package PHPMailer
- * @author Andy Prevost
- * @author Marcus Bointon
- * @author Jim Jagielski
+ * @link https://github.com/PHPMailer/PHPMailer/
+ * @author Marcus Bointon (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
  * @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.
  */
 
-if (version_compare(PHP_VERSION, '5.0.0', '<') ) exit("Sorry, this version of PHPMailer will only run on PHP version 5 or greater!\n");
+if (version_compare(PHP_VERSION, '5.0.0', '<')) {
+    exit("Sorry, PHPMailer will only run on PHP version 5 or greater!\n");
+}
 
 /**
- * PHP email creation and transport class
+ * PHPMailer - PHP email creation and transport class.
+ * PHP Version 5.0.0
  * @package PHPMailer
+ * @author Marcus Bointon (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 {
-
-  /////////////////////////////////////////////////
-  // PROPERTIES, PUBLIC
-  /////////////////////////////////////////////////
-
-  /**
-   * Email priority (1 = High, 3 = Normal, 5 = low).
-   * @var int
-   */
-  public $Priority          = 3;
-
-  /**
-   * Sets the CharSet of the message.
-   * @var string
-   */
-  public $CharSet           = 'iso-8859-1';
-
-  /**
-   * Sets the Content-type of the message.
-   * @var string
-   */
-  public $ContentType       = 'text/plain';
-
-  /**
-   * Sets the Encoding of the message. Options for this are
-   *  "8bit", "7bit", "binary", "base64", and "quoted-printable".
-   * @var string
-   */
-  public $Encoding          = '8bit';
-
-  /**
-   * Holds the most recent mailer error message.
-   * @var string
-   */
-  public $ErrorInfo         = '';
-
-  /**
-   * Sets the From email address for the message.
-   * @var string
-   */
-  public $From              = 'root@localhost';
-
-  /**
-   * Sets the From name of the message.
-   * @var string
-   */
-  public $FromName          = 'Root User';
-
-  /**
-   * Sets the Sender email (Return-Path) of the message.  If not empty,
-   * will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode.
-   * @var string
-   */
-  public $Sender            = '';
-
-  /**
-   * Sets the Return-Path of the message.  If empty, it will
-   * be set to either From or Sender.
-   * @var string
-   */
-  public $ReturnPath        = '';
-
-  /**
-   * Sets the Subject of the message.
-   * @var string
-   */
-  public $Subject           = '';
-
-  /**
-   * Sets the Body of the message.  This can be either an HTML or text body.
-   * If HTML then run IsHTML(true).
-   * @var string
-   */
-  public $Body              = '';
-
-  /**
-   * Sets the text-only body of the message.  This automatically sets the
-   * email to multipart/alternative.  This body can be read by mail
-   * clients that do not have HTML email capability such as mutt. Clients
-   * that can read HTML will view the normal Body.
-   * @var string
-   */
-  public $AltBody           = '';
-
-  /**
-   * Stores the complete compiled MIME message body.
-   * @var string
-   * @access protected
-   */
-  protected $MIMEBody       = '';
-
-  /**
-   * Stores the complete compiled MIME message headers.
-   * @var string
-   * @access protected
-   */
-  protected $MIMEHeader     = '';
-
-  /**
-   * Stores the extra header list which CreateHeader() doesn't fold in
-   * @var string
-   * @access protected
-  */
-  protected $mailHeader     = '';
-
-  /**
-   * Sets word wrapping on the body of the message to a given number of
-   * characters.
-   * @var int
-   */
-  public $WordWrap          = 0;
-
-  /**
-   * Method to send mail: ("mail", "sendmail", or "smtp").
-   * @var string
-   */
-  public $Mailer            = 'mail';
-
-  /**
-   * Sets the path of the sendmail program.
-   * @var string
-   */
-  public $Sendmail          = '/usr/sbin/sendmail';
-
-  /**
-   * Determine if mail() uses a fully sendmail compatible MTA that
-   * supports sendmail's "-oi -f" options
-   * @var boolean
-   */
-  public $UseSendmailOptions   = true;
-  
-  /**
-   * Path to PHPMailer plugins.  Useful if the SMTP class
-   * is in a different directory than the PHP include path.
-   * @var string
-   */
-  public $PluginDir         = '';
-
-  /**
-   * Sets the email address that a reading confirmation will be sent.
-   * @var string
-   */
-  public $ConfirmReadingTo  = '';
-
-  /**
-   * Sets the hostname to use in Message-Id and Received headers
-   * and as default HELO string. If empty, the value returned
-   * by SERVER_NAME is used or 'localhost.localdomain'.
-   * @var string
-   */
-  public $Hostname          = '';
-
-  /**
-   * Sets the message ID to be used in the Message-Id header.
-   * If empty, a unique id will be generated.
-   * @var string
-   */
-  public $MessageID         = '';
-
-  /**
-   * Sets the message Date to be used in the Date header.
-   * If empty, the current date will be added.
-   * @var string
-   */
-  public $MessageDate       = '';
-
-  /////////////////////////////////////////////////
-  // PROPERTIES FOR SMTP
-  /////////////////////////////////////////////////
-
-  /**
-   * Sets the SMTP hosts.
-   *
-   * All hosts must be separated by a
-   * semicolon.  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").
-   * Hosts will be tried in order.
-   * @var string
-   */
-  public $Host          = 'localhost';
-
-  /**
-   * Sets the default SMTP server port.
-   * @var int
-   */
-  public $Port          = 25;
-
-  /**
-   * Sets the SMTP HELO of the message (Default is $Hostname).
-   * @var string
-   */
-  public $Helo          = '';
-
-  /**
-   * Sets connection prefix. Options are "", "ssl" or "tls"
-   * @var string
-   */
-  public $SMTPSecure    = '';
-
-  /**
-   * Sets SMTP authentication. Utilizes the Username and Password variables.
-   * @var bool
-   */
-  public $SMTPAuth      = false;
-
-  /**
-   * Sets SMTP username.
-   * @var string
-   */
-  public $Username      = '';
-
-  /**
-   * Sets SMTP password.
-   * @var string
-   */
-  public $Password      = '';
-
-  /**
-   *  Sets SMTP auth type. Options are LOGIN | PLAIN | NTLM  (default LOGIN)
-   *  @var string
-   */
-  public $AuthType      = '';
-  
-  /**
-   *  Sets SMTP realm.
-   *  @var string
-   */
-  public $Realm         = '';
-
-  /**
-   *  Sets SMTP workstation.
-   *  @var string
-   */
-  public $Workstation   = '';
-
-  /**
-   * Sets the SMTP server timeout in seconds.
-   * This function will not work with the win32 version.
-   * @var int
-   */
-  public $Timeout       = 10;
-
-  /**
-   * Sets SMTP class debugging on or off.
-   * @var bool
-   */
-  public $SMTPDebug     = false;
-
-  /**
-   * Sets the function/method to use for debugging output.
-   * Right now we only honor "echo" or "error_log"
-   * @var string
-   */
-  public $Debugoutput     = "echo";
-
-  /**
-   * Prevents the SMTP connection from being closed after each mail
-   * sending.  If this is set to true then to close the connection
-   * requires an explicit call to SmtpClose().
-   * @var bool
-   */
-  public $SMTPKeepAlive = false;
-
-  /**
-   * Provides the ability to have the TO field process individual
-   * emails, instead of sending to entire TO addresses
-   * @var bool
-   */
-  public $SingleTo      = false;
-
-   /**
-   * If SingleTo is true, this provides the array to hold the email addresses
-   * @var bool
-   */
-  public $SingleToArray = array();
-
- /**
-   * Provides the ability to change the generic line ending
-   * NOTE: The default remains '\n'. We force CRLF where we KNOW
-   *        it must be used via self::CRLF
-   * @var string
-   */
-  public $LE              = "\n";
-
-   /**
-   * Used with DKIM Signing
-   * required parameter if DKIM is enabled
-   *
-   * domain selector example domainkey
-   * @var string
-   */
-  public $DKIM_selector   = '';
-
-  /**
-   * Used with DKIM Signing
-   * required if DKIM is enabled, in format of email address 'you@yourdomain.com' typically used as the source of the email
-   * @var string
-   */
-  public $DKIM_identity   = '';
-
-  /**
-   * Used with DKIM Signing
-   * optional parameter if your private key requires a passphras
-   * @var string
-   */
-  public $DKIM_passphrase   = '';
-
-  /**
-   * Used with DKIM Singing
-   * required if DKIM is enabled, in format of email address 'domain.com'
-   * @var string
-   */
-  public $DKIM_domain     = '';
-
-  /**
-   * Used with DKIM Signing
-   * required if DKIM is enabled, path to private key file
-   * @var string
-   */
-  public $DKIM_private    = '';
-
-  /**
-   * Callback Action function name.
-   * The function that handles the result of the send email action.
-   * It is called out by Send() for each email sent.
-   *
-   * Value can be:
-   * - 'function_name' for function names
-   * - 'Class::Method' for static method calls
-   * - array($object, 'Method') for calling methods on $object
-   * See http://php.net/is_callable manual page for more details.
-   *
-   * Parameters:
-   *   bool    $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
-   * @var string
-   */
-  public $action_function = ''; //'callbackAction';
-
-  /**
-   * Sets the PHPMailer Version number
-   * @var string
-   */
-  public $Version         = '5.2.4';
-
-  /**
-   * What to use in the X-Mailer header
-   * @var string NULL for default, whitespace for None, or actual string to use
-   */
-  public $XMailer         = '';
-
-  /////////////////////////////////////////////////
-  // PROPERTIES, PRIVATE AND PROTECTED
-  /////////////////////////////////////////////////
-
-  /**
-   * @var SMTP An instance of the SMTP sender class
-   * @access protected
-   */
-  protected   $smtp           = null;
-  /**
-   * @var array An array of 'to' addresses
-   * @access protected
-   */
-  protected   $to             = array();
-  /**
-   * @var array An array of 'cc' addresses
-   * @access protected
-   */
-  protected   $cc             = array();
-  /**
-   * @var array An array of 'bcc' addresses
-   * @access protected
-   */
-  protected   $bcc            = array();
-  /**
-   * @var array An array of reply-to name and address
-   * @access protected
-   */
-  protected   $ReplyTo        = array();
-  /**
-   * @var array An array of all kinds of addresses: to, cc, bcc, replyto
-   * @access protected
-   */
-  protected   $all_recipients = array();
-  /**
-   * @var array An array of attachments
-   * @access protected
-   */
-  protected   $attachment     = array();
-  /**
-   * @var array An array of custom headers
-   * @access protected
-   */
-  protected   $CustomHeader   = array();
-  /**
-   * @var string The message's MIME type
-   * @access protected
-   */
-  protected   $message_type   = '';
-  /**
-   * @var array An array of MIME boundary strings
-   * @access protected
-   */
-  protected   $boundary       = array();
-  /**
-   * @var array An array of available languages
-   * @access protected
-   */
-  protected   $language       = array();
-  /**
-   * @var integer The number of errors encountered
-   * @access protected
-   */
-  protected   $error_count    = 0;
-  /**
-   * @var string The filename of a DKIM certificate file
-   * @access protected
-   */
-  protected   $sign_cert_file = '';
-  /**
-   * @var string The filename of a DKIM key file
-   * @access protected
-   */
-  protected   $sign_key_file  = '';
-  /**
-   * @var string The password of a DKIM key
-   * @access protected
-   */
-  protected   $sign_key_pass  = '';
-  /**
-   * @var boolean Whether to throw exceptions for errors
-   * @access protected
-   */
-  protected   $exceptions     = false;
-
-  /////////////////////////////////////////////////
-  // CONSTANTS
-  /////////////////////////////////////////////////
-
-  const STOP_MESSAGE  = 0; // message only, continue processing
-  const STOP_CONTINUE = 1; // message?, likely ok to continue processing
-  const STOP_CRITICAL = 2; // message, plus full stop, critical error reached
-  const CRLF = "\r\n";     // SMTP RFC specified EOL
-  
-  /////////////////////////////////////////////////
-  // METHODS, VARIABLES
-  /////////////////////////////////////////////////
-
-  /**
-   * Calls actual mail() function, but in a safe_mode aware fashion
-   * Also, unless sendmail_path points to sendmail (or something that
-   * claims to be sendmail), don't pass params (not a perfect fix,
-   * but it will do)
-   * @param string $to To
-   * @param string $subject Subject
-   * @param string $body Message Body
-   * @param string $header Additional Header(s)
-   * @param string $params Params
-   * @access private
-   * @return bool
-   */
-  private function mail_passthru($to, $subject, $body, $header, $params) {
-    if ( ini_get('safe_mode') || !($this->UseSendmailOptions) ) {
-        $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($subject)), $body, $header);
-    } else {
-        $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($subject)), $body, $header, $params);
-    }
-    return $rt;
-  }
-
-  /**
-   * Outputs debugging info via user-defined method
-   * @param string $str
-   */
-  private function edebug($str) {
-    if ($this->Debugoutput == "error_log") {
-        error_log($str);
-    } else {
-        echo $str;
-    }
-  }
-
-  /**
-   * Constructor
-   * @param boolean $exceptions Should we throw external exceptions?
-   */
-  public function __construct($exceptions = false) {
-    $this->exceptions = ($exceptions == true);
-  }
-
-  /**
-   * Sets message type to HTML.
-   * @param bool $ishtml
-   * @return void
-   */
-  public function IsHTML($ishtml = true) {
-    if ($ishtml) {
-      $this->ContentType = 'text/html';
-    } else {
-      $this->ContentType = 'text/plain';
-    }
-  }
-
-  /**
-   * Sets Mailer to send message using SMTP.
-   * @return void
-   */
-  public function IsSMTP() {
-    $this->Mailer = 'smtp';
-  }
-
-  /**
-   * Sets Mailer to send message using PHP mail() function.
-   * @return void
-   */
-  public function IsMail() {
-    $this->Mailer = 'mail';
-  }
-
-  /**
-   * Sets Mailer to send message using the $Sendmail program.
-   * @return void
-   */
-  public function IsSendmail() {
-    if (!stristr(ini_get('sendmail_path'), 'sendmail')) {
-      $this->Sendmail = '/var/qmail/bin/sendmail';
-    }
-    $this->Mailer = 'sendmail';
-  }
-
-  /**
-   * Sets Mailer to send message using the qmail MTA.
-   * @return void
-   */
-  public function IsQmail() {
-    if (stristr(ini_get('sendmail_path'), 'qmail')) {
-      $this->Sendmail = '/var/qmail/bin/sendmail';
-    }
-    $this->Mailer = 'sendmail';
-  }
-
-  /////////////////////////////////////////////////
-  // METHODS, RECIPIENTS
-  /////////////////////////////////////////////////
-
-  /**
-   * Adds a "To" address.
-   * @param string $address
-   * @param string $name
-   * @return boolean true on success, false if address already used
-   */
-  public function AddAddress($address, $name = '') {
-    return $this->AddAnAddress('to', $address, $name);
-  }
-
-  /**
-   * Adds a "Cc" address.
-   * Note: this function works with the SMTP mailer on win32, not with the "mail" mailer.
-   * @param string $address
-   * @param string $name
-   * @return boolean true on success, false if address already used
-   */
-  public function AddCC($address, $name = '') {
-    return $this->AddAnAddress('cc', $address, $name);
-  }
-
-  /**
-   * Adds a "Bcc" address.
-   * Note: this function works with the SMTP mailer on win32, not with the "mail" mailer.
-   * @param string $address
-   * @param string $name
-   * @return boolean true on success, false if address already used
-   */
-  public function AddBCC($address, $name = '') {
-    return $this->AddAnAddress('bcc', $address, $name);
-  }
-
-  /**
-   * Adds a "Reply-to" address.
-   * @param string $address
-   * @param string $name
-   * @return boolean
-   */
-  public function AddReplyTo($address, $name = '') {
-    return $this->AddAnAddress('Reply-To', $address, $name);
-  }
-
-  /**
-   * Adds an address to one of the recipient arrays
-   * Addresses that have been added already return false, but do not throw exceptions
-   * @param string $kind One of 'to', 'cc', 'bcc', 'ReplyTo'
-   * @param string $address The email address to send to
-   * @param string $name
-   * @throws phpmailerException
-   * @return boolean true on success, false if address already used or invalid in some way
-   * @access protected
-   */
-  protected function AddAnAddress($kind, $address, $name = '') {
-    if (!preg_match('/^(to|cc|bcc|Reply-To)$/', $kind)) {
-      $this->SetError($this->Lang('Invalid recipient array').': '.$kind);
-      if ($this->exceptions) {
-        throw new phpmailerException('Invalid recipient array: ' . $kind);
-      }
-      if ($this->SMTPDebug) {
-        $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);
-      if ($this->exceptions) {
-        throw new phpmailerException($this->Lang('invalid_address').': '.$address);
-      }
-      if ($this->SMTPDebug) {
-        $this->edebug($this->Lang('invalid_address').': '.$address);
-      }
-      return false;
-    }
-    if ($kind != 'Reply-To') {
-      if (!isset($this->all_recipients[strtolower($address)])) {
-        array_push($this->$kind, array($address, $name));
-        $this->all_recipients[strtolower($address)] = true;
-        return true;
-      }
-    } else {
-      if (!array_key_exists(strtolower($address), $this->ReplyTo)) {
-        $this->ReplyTo[strtolower($address)] = array($address, $name);
-      return true;
-    }
-  }
-  return false;
-}
+class PHPMailer
+{
+    /**
+     * The PHPMailer Version number.
+     * @type string
+     */
+    public $Version = '5.2.7';
+
+    /**
+     * Email priority.
+     * Options: 1 = High, 3 = Normal, 5 = low.
+     * @type int
+     */
+    public $Priority = 3;
+
+    /**
+     * The character set of the message.
+     * @type string
+     */
+    public $CharSet = 'iso-8859-1';
+
+    /**
+     * The MIME Content-type of the message.
+     * @type string
+     */
+    public $ContentType = 'text/plain';
+
+    /**
+     * The message encoding.
+     * Options: "8bit", "7bit", "binary", "base64", and "quoted-printable".
+     * @type string
+     */
+    public $Encoding = '8bit';
+
+    /**
+     * Holds the most recent mailer error message.
+     * @type string
+     */
+    public $ErrorInfo = '';
+
+    /**
+     * The From email address for the message.
+     * @type string
+     */
+    public $From = 'root@localhost';
+
+    /**
+     * The From name of the message.
+     * @type string
+     */
+    public $FromName = 'Root User';
+
+    /**
+     * The Sender email (Return-Path) of the message.
+     * If not empty, will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode.
+     * @type string
+     */
+    public $Sender = '';
+
+    /**
+     * The Return-Path of the message.
+     * If empty, it will be set to either From or Sender.
+     * @type string
+     */
+    public $ReturnPath = '';
+
+    /**
+     * The Subject of the message.
+     * @type string
+     */
+    public $Subject = '';
+
+    /**
+     * An HTML or plain text message body.
+     * If HTML then call isHTML(true).
+     * @type string
+     */
+    public $Body = '';
+
+    /**
+     * The plain-text message body.
+     * This body can be read by mail clients that do not have HTML email
+     * capability such as mutt & Eudora.
+     * Clients that can read HTML will view the normal Body.
+     * @type string
+     */
+    public $AltBody = '';
+
+    /**
+     * An iCal message part body.
+     * Only supported in simple alt or alt_inline message types
+     * To generate iCal events, use the bundled extras/EasyPeasyICS.php class or iCalcreator
+     * @link http://sprain.ch/blog/downloads/php-class-easypeasyics-create-ical-files-with-php/
+     * @link http://kigkonsult.se/iCalcreator/
+     * @type string
+     */
+    public $Ical = '';
+
+    /**
+     * The complete compiled MIME message body.
+     * @access protected
+     * @type string
+     */
+    protected $MIMEBody = '';
+
+    /**
+     * The complete compiled MIME message headers.
+     * @type string
+     * @access protected
+     */
+    protected $MIMEHeader = '';
+
+    /**
+     * Extra headers that createHeader() doesn't fold in.
+     * @type string
+     * @access protected
+     */
+    protected $mailHeader = '';
+
+    /**
+     * Word-wrap the message body to this number of chars.
+     * @type int
+     */
+    public $WordWrap = 0;
+
+    /**
+     * Which method to use to send mail.
+     * Options: "mail", "sendmail", or "smtp".
+     * @type string
+     */
+    public $Mailer = 'mail';
+
+    /**
+     * The path to the sendmail program.
+     * @type string
+     */
+    public $Sendmail = '/usr/sbin/sendmail';
+
+    /**
+     * Whether mail() uses a fully sendmail-compatible MTA.
+     * One which supports sendmail's "-oi -f" options.
+     * @type bool
+     */
+    public $UseSendmailOptions = true;
+
+    /**
+     * Path to PHPMailer plugins.
+     * Useful if the SMTP class is not in the PHP include path.
+     * @type string
+     * @deprecated Should not be needed now there is an autoloader.
+     */
+    public $PluginDir = '';
+
+    /**
+     * The email address that a reading confirmation should be sent to.
+     * @type string
+     */
+    public $ConfirmReadingTo = '';
+
+    /**
+     * The hostname to use in Message-Id and Received headers
+     * and as default HELO string.
+     * If empty, the value returned
+     * by SERVER_NAME is used or 'localhost.localdomain'.
+     * @type string
+     */
+    public $Hostname = '';
+
+    /**
+     * An ID to be used in the Message-Id header.
+     * If empty, a unique id will be generated.
+     * @type string
+     */
+    public $MessageID = '';
+
+    /**
+     * The message Date to be used in the Date header.
+     * If empty, the current date will be added.
+     * @type string
+     */
+    public $MessageDate = '';
+
+    /**
+     * SMTP hosts.
+     * Either a single hostname or multiple semicolon-delimited hostnames.
+     * 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").
+     * Hosts will be tried in order.
+     * @type string
+     */
+    public $Host = 'localhost';
+
+    /**
+     * The default SMTP server port.
+     * @type int
+     * @Todo Why is this needed when the SMTP class takes care of it?
+     */
+    public $Port = 25;
+
+    /**
+     * The SMTP HELO of the message.
+     * Default is $Hostname.
+     * @type string
+     * @see PHPMailer::$Hostname
+     */
+    public $Helo = '';
+
+    /**
+     * The secure connection prefix.
+     * Options: "", "ssl" or "tls"
+     * @type string
+     */
+    public $SMTPSecure = '';
+
+    /**
+     * Whether to use SMTP authentication.
+     * Uses the Username and Password properties.
+     * @type bool
+     * @see PHPMailer::$Username
+     * @see PHPMailer::$Password
+     */
+    public $SMTPAuth = false;
+
+    /**
+     * SMTP username.
+     * @type string
+     */
+    public $Username = '';
+
+    /**
+     * SMTP password.
+     * @type string
+     */
+    public $Password = '';
+
+    /**
+     * SMTP auth type.
+     * Options are LOGIN (default), PLAIN, NTLM, CRAM-MD5
+     * @type string
+     */
+    public $AuthType = '';
+
+    /**
+     * SMTP realm.
+     * Used for NTLM auth
+     * @type string
+     */
+    public $Realm = '';
+
+    /**
+     * SMTP workstation.
+     * Used for NTLM auth
+     * @type string
+     */
+    public $Workstation = '';
+
+    /**
+     * The SMTP server timeout in seconds.
+     * @type int
+     */
+    public $Timeout = 10;
+
+    /**
+     * SMTP class debug output mode.
+     * Options: 0 = off, 1 = commands, 2 = commands and data
+     * @type int
+     * @see SMTP::$do_debug
+     */
+    public $SMTPDebug = 0;
+
+    /**
+     * The function/method to use for debugging output.
+     * Options: "echo" or "error_log"
+     * @type string
+     * @see SMTP::$Debugoutput
+     */
+    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
+     */
+    public $SMTPKeepAlive = false;
+
+    /**
+     * Whether to split multiple to addresses into multiple messages
+     * or send them all in one message.
+     * @type bool
+     */
+    public $SingleTo = false;
+
+    /**
+     * Storage for addresses when SingleTo is enabled.
+     * @type array
+     * @todo This should really not be public
+     */
+    public $SingleToArray = array();
+
+    /**
+     * Whether to generate VERP addresses on send.
+     * Only applicable when sending via SMTP.
+     * @link http://en.wikipedia.org/wiki/Variable_envelope_return_path
+     * @type bool
+     */
+    public $do_verp = false;
+
+    /**
+     * Whether to allow sending messages with an empty body.
+     * @type bool
+     */
+    public $AllowEmpty = false;
+
+    /**
+     * The default line ending.
+     * @note The default remains "\n". We force CRLF where we know
+     *        it must be used via self::CRLF.
+     * @type string
+     */
+    public $LE = "\n";
+
+    /**
+     * DKIM selector.
+     * @type string
+     */
+    public $DKIM_selector = '';
+
+    /**
+     * DKIM Identity.
+     * Usually the email address used as the source of the email
+     * @type string
+     */
+    public $DKIM_identity = '';
+
+    /**
+     * DKIM passphrase.
+     * Used if your key is encrypted.
+     * @type string
+     */
+    public $DKIM_passphrase = '';
+
+    /**
+     * DKIM signing domain name.
+     * @example 'example.com'
+     * @type string
+     */
+    public $DKIM_domain = '';
+
+    /**
+     * DKIM private key file path.
+     * @type string
+     */
+    public $DKIM_private = '';
+
+    /**
+     * Callback Action function name.
+     *
+     * The function that handles the result of the send email action.
+     * It is called out by send() for each email sent.
+     *
+     * Value can be:
+     * - 'function_name' for function names
+     * - 'Class::Method' for static method calls
+     * - array($object, 'Method') for calling methods on $object
+     * See http://php.net/is_callable manual page for more details.
+     *
+     * Parameters:
+     *   bool    $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
+     * @type string
+     */
+    public $XMailer = '';
+
+    /**
+     * An instance of the SMTP sender class.
+     * @type SMTP
+     * @access protected
+     */
+    protected $smtp = null;
+
+    /**
+     * The array of 'to' addresses.
+     * @type array
+     * @access protected
+     */
+    protected $to = array();
+
+    /**
+     * The array of 'cc' addresses.
+     * @type array
+     * @access protected
+     */
+    protected $cc = array();
+
+    /**
+     * The array of 'bcc' addresses.
+     * @type array
+     * @access protected
+     */
+    protected $bcc = array();
+
+    /**
+     * The array of reply-to names and addresses.
+     * @type array
+     * @access protected
+     */
+    protected $ReplyTo = array();
+
+    /**
+     * An array of all kinds of addresses.
+     * Includes all of $to, $cc, $bcc, $replyto
+     * @type array
+     * @access protected
+     */
+    protected $all_recipients = array();
+
+    /**
+     * The array of attachments.
+     * @type array
+     * @access protected
+     */
+    protected $attachment = array();
+
+    /**
+     * The array of custom headers.
+     * @type array
+     * @access protected
+     */
+    protected $CustomHeader = array();
+
+    /**
+     * The most recent Message-ID (including angular brackets).
+     * @type string
+     * @access protected
+     */
+    protected $lastMessageID = '';
+
+    /**
+     * The message's MIME type.
+     * @type string
+     * @access protected
+     */
+    protected $message_type = '';
+
+    /**
+     * The array of MIME boundary strings.
+     * @type array
+     * @access protected
+     */
+    protected $boundary = array();
+
+    /**
+     * The array of available languages.
+     * @type array
+     * @access protected
+     */
+    protected $language = array();
+
+    /**
+     * The number of errors encountered.
+     * @type integer
+     * @access protected
+     */
+    protected $error_count = 0;
+
+    /**
+     * The S/MIME certificate file path.
+     * @type string
+     * @access protected
+     */
+    protected $sign_cert_file = '';
+
+    /**
+     * The S/MIME key file path.
+     * @type string
+     * @access protected
+     */
+    protected $sign_key_file = '';
+
+    /**
+     * The S/MIME password for the key.
+     * Used only if the key is encrypted.
+     * @type string
+     * @access protected
+     */
+    protected $sign_key_pass = '';
+
+    /**
+     * Whether to throw exceptions for errors.
+     * @type bool
+     * @access protected
+     */
+    protected $exceptions = false;
+
+    /**
+     * Error severity: message only, continue processing
+     */
+    const STOP_MESSAGE = 0;
+
+    /**
+     * Error severity: message, likely ok to continue processing
+     */
+    const STOP_CONTINUE = 1;
+
+    /**
+     * Error severity: message, plus full stop, critical error reached
+     */
+    const STOP_CRITICAL = 2;
+
+    /**
+     * SMTP RFC standard line ending
+     */
+    const CRLF = "\r\n";
+
+    /**
+     * Constructor
+     * @param bool $exceptions Should we throw external exceptions?
+     */
+    public function __construct($exceptions = false)
+    {
+        $this->exceptions = ($exceptions == true);
+    }
+
+    /**
+     * Destructor.
+     */
+    public function __destruct()
+    {
+        if ($this->Mailer == 'smtp') { //close any open SMTP connection nicely
+            $this->smtpClose();
+        }
+    }
 
-/**
- * Set the From and FromName properties
- * @param string $address
- * @param string $name
- * @param int $auto Also set Reply-To and Sender
-   * @throws phpmailerException
- * @return boolean
- */
-  public function SetFrom($address, $name = '', $auto = 1) {
-    $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);
-      if ($this->exceptions) {
-        throw new phpmailerException($this->Lang('invalid_address').': '.$address);
-      }
-      if ($this->SMTPDebug) {
-        $this->edebug($this->Lang('invalid_address').': '.$address);
-      }
-      return false;
-    }
-    $this->From = $address;
-    $this->FromName = $name;
-    if ($auto) {
-      if (empty($this->ReplyTo)) {
-        $this->AddAnAddress('Reply-To', $address, $name);
-      }
-      if (empty($this->Sender)) {
-        $this->Sender = $address;
-      }
-    }
-    return true;
-  }
-
-  /**
-   * Check that a string looks roughly like an email address should
-   * Static so it can be used without instantiation, public so people can overload
-   * 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 :(
-   * Some Versions of PHP break on the regex though, likely due to PCRE, so use
-   * the older validation method for those users. (http://php.net/manual/en/pcre.installation.php)
-   * @link http://squiloople.com/2009/12/20/email-address-validation/
-   * @copyright regex Copyright Michael Rushton 2009-10 | http://squiloople.com/ | Feel free to use and redistribute this code. But please keep this copyright notice.
-   * @param string $address The email address to check
-   * @return boolean
-   * @static
-   * @access public
-   */
-  public static function ValidateAddress($address) {
-       if ((defined('PCRE_VERSION')) && (version_compare(PCRE_VERSION, '8.0') >= 0)) {
-         return preg_match('/^(?!(?>(?1)"?(?>\\\[ -~]|[^"])"?(?1)){255,})(?!(?>(?1)"?(?>\\\[ -~]|[^"])"?(?1)){65,}@)((?>(?>(?>((?>(?>(?>\x0D\x0A)?[     ])+|(?>[        ]*\x0D\x0A)?[   ]+)?)(\((?>(?2)(?>[\x01-\x08\x0B\x0C\x0E-\'*-\[\]-\x7F]|\\\[\x00-\x7F]|(?3)))*(?2)\)))+(?2))|(?2))?)([!#-\'*+\/-9=?^-~-]+|"(?>(?2)(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\x7F]))*(?2)")(?>(?1)\.(?1)(?4))*(?1)@(?!(?1)[a-z0-9-]{64,})(?1)(?>([a-z0-9](?>[a-z0-9-]*[a-z0-9])?)(?>(?1)\.(?!(?1)[a-z0-9-]{64,})(?1)(?5)){0,126}|\[(?:(?>IPv6:(?>([a-f0-9]{1,4})(?>:(?6)){7}|(?!(?:.*[a-f0-9][:\]]){7,})((?6)(?>:(?6)){0,5})?::(?7)?))|(?>(?>IPv6:(?>(?6)(?>:(?6)){5}:|(?!(?:.*[a-f0-9]:){5,})(?8)?::(?>((?6)(?>:(?6)){0,3}):)?))?(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(?>\.(?9)){3}))\])(?1)$/isD', $address);
-       } elseif (function_exists('filter_var')) { //Introduced in PHP 5.2
-        if(filter_var($address, FILTER_VALIDATE_EMAIL) === FALSE) {
-          return false;
+    /**
+     * Call mail() in a safe_mode-aware fashion.
+     * Also, unless sendmail_path points to sendmail (or something that
+     * claims to be sendmail), don't pass params (not a perfect fix,
+     * but it will do)
+     * @param string $to To
+     * @param string $subject Subject
+     * @param string $body Message Body
+     * @param string $header Additional Header(s)
+     * @param string $params Params
+     * @access private
+     * @return bool
+     */
+    private function mailPassthru($to, $subject, $body, $header, $params)
+    {
+        if (ini_get('safe_mode') || !($this->UseSendmailOptions)) {
+            $rt = @mail($to, $this->encodeHeader($this->secureHeader($subject)), $body, $header);
         } else {
-          return true;
-        }
-    } else {
-        return preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[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_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $address);
-       }
-  }
-
-  /////////////////////////////////////////////////
-  // METHODS, MAIL SENDING
-  /////////////////////////////////////////////////
-
-  /**
-   * Creates message and assigns Mailer. If the message is
-   * not sent successfully then it returns false.  Use the ErrorInfo
-   * variable to view description of the error.
-   * @throws phpmailerException
-   * @return bool
-   */
-  public function Send() {
-    try {
-      if(!$this->PreSend()) return false;
-      return $this->PostSend();
-    } catch (phpmailerException $e) {
-      $this->mailHeader = '';
-      $this->SetError($e->getMessage());
-      if ($this->exceptions) {
-        throw $e;
-      }
-      return false;
-    }
-  }
-
-  /**
-   * Prep mail by constructing all message entities
-   * @throws phpmailerException
-   * @return bool
-   */
-  public function PreSend() {
-    try {
-      $this->mailHeader = "";
-      if ((count($this->to) + count($this->cc) + count($this->bcc)) < 1) {
-        throw new phpmailerException($this->Lang('provide_address'), self::STOP_CRITICAL);
-      }
-
-      // Set whether the message is multipart/alternative
-      if(!empty($this->AltBody)) {
-        $this->ContentType = 'multipart/alternative';
-      }
-
-      $this->error_count = 0; // reset errors
-      $this->SetMessageType();
-      //Refuse to send an empty message
-      if (empty($this->Body)) {
-        throw new phpmailerException($this->Lang('empty_message'), self::STOP_CRITICAL);
-      }
-
-      $this->MIMEHeader = $this->CreateHeader();
-      $this->MIMEBody = $this->CreateBody();
-
-      // 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);
+            $rt = @mail($to, $this->encodeHeader($this->secureHeader($subject)), $body, $header, $params);
+        }
+        return $rt;
+    }
+
+    /**
+     * Output debugging info via user-defined method.
+     * Only if debug output is enabled.
+     * @see PHPMailer::$Debugoutput
+     * @see PHPMailer::$SMTPDebug
+     * @param string $str
+     */
+    protected function edebug($str)
+    {
+        if (!$this->SMTPDebug) {
+            return;
+        }
+        switch ($this->Debugoutput) {
+            case 'error_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";
+                break;
+            case 'echo':
+            default:
+                //Just echoes exactly what was received
+                echo $str;
+        }
+    }
+
+    /**
+     * Sets message type to HTML or plain.
+     * @param bool $ishtml True for HTML mode.
+     * @return void
+     */
+    public function isHTML($ishtml = true)
+    {
+        if ($ishtml) {
+            $this->ContentType = 'text/html';
         } else {
-          $this->mailHeader .= $this->HeaderLine("To", "undisclosed-recipients:;");
-        }
-        $this->mailHeader .= $this->HeaderLine('Subject', $this->EncodeHeader($this->SecureHeader(trim($this->Subject))));
-        // if(count($this->cc) > 0) {
-            // $this->mailHeader .= $this->AddrAppend("Cc", $this->cc);
-        // }
-      }
-
-      // digitally sign with DKIM if enabled
-      if (!empty($this->DKIM_domain) && !empty($this->DKIM_private) && !empty($this->DKIM_selector) && !empty($this->DKIM_domain) && file_exists($this->DKIM_private)) {
-        $header_dkim = $this->DKIM_Add($this->MIMEHeader, $this->EncodeHeader($this->SecureHeader($this->Subject)), $this->MIMEBody);
-        $this->MIMEHeader = str_replace("\r\n", "\n", $header_dkim) . $this->MIMEHeader;
-      }
-
-      return true;
-
-    } catch (phpmailerException $e) {
-      $this->SetError($e->getMessage());
-      if ($this->exceptions) {
-        throw $e;
-      }
-      return false;
-    }
-  }
-
-  /**
-   * Actual Email transport function
-   * Send the email via the selected mechanism
-   * @throws phpmailerException
-   * @return bool
-   */
-  public function PostSend() {
-    try {
-      // Choose the mailer and send through it
-      switch($this->Mailer) {
-        case 'sendmail':
-          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:
-          return $this->MailSend($this->MIMEHeader, $this->MIMEBody);
-      }
-    } catch (phpmailerException $e) {
-      $this->SetError($e->getMessage());
-      if ($this->exceptions) {
-        throw $e;
-      }
-      if ($this->SMTPDebug) {
-        $this->edebug($e->getMessage()."\n");
-      }
-    }
-    return false;
-  }
-
-  /**
-   * Sends mail using the $Sendmail program.
-   * @param string $header The message headers
-   * @param string $body The message body
-   * @throws phpmailerException
-   * @access protected
-   * @return bool
-   */
-  protected function SendmailSend($header, $body) {
-    if ($this->Sender != '') {
-      $sendmail = sprintf("%s -oi -f%s -t", escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender));
-    } else {
-      $sendmail = sprintf("%s -oi -t", escapeshellcmd($this->Sendmail));
-    }
-    if ($this->SingleTo === true) {
-      foreach ($this->SingleToArray as $val) {
-        if(!@$mail = popen($sendmail, 'w')) {
-          throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
-        }
-        fputs($mail, "To: " . $val . "\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);
-        if($result != 0) {
-          throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
-        }
-      }
-    } else {
-      if(!@$mail = popen($sendmail, 'w')) {
-        throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
-      }
-      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);
-      if($result != 0) {
-        throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
-      }
-    }
-    return true;
-  }
-
-  /**
-   * Sends mail using the PHP mail() function.
-   * @param string $header The message headers
-   * @param string $body The message body
+            $this->ContentType = 'text/plain';
+        }
+    }
+
+    /**
+     * Send messages using SMTP.
+     * @return void
+     */
+    public function isSMTP()
+    {
+        $this->Mailer = 'smtp';
+    }
+
+    /**
+     * Send messages using PHP's mail() function.
+     * @return void
+     */
+    public function isMail()
+    {
+        $this->Mailer = 'mail';
+    }
+
+    /**
+     * Send messages using $Sendmail.
+     * @return void
+     */
+    public function isSendmail()
+    {
+        if (!stristr(ini_get('sendmail_path'), 'sendmail')) {
+            $this->Sendmail = '/var/qmail/bin/sendmail';
+        }
+        $this->Mailer = 'sendmail';
+    }
+
+    /**
+     * Send messages using qmail.
+     * @return void
+     */
+    public function isQmail()
+    {
+        if (stristr(ini_get('sendmail_path'), 'qmail')) {
+            $this->Sendmail = '/var/qmail/bin/sendmail';
+        }
+        $this->Mailer = 'sendmail';
+    }
+
+    /**
+     * Add a "To" address.
+     * @param string $address
+     * @param string $name
+     * @return bool true on success, false if address already used
+     */
+    public function addAddress($address, $name = '')
+    {
+        return $this->addAnAddress('to', $address, $name);
+    }
+
+    /**
+     * Add a "CC" address.
+     * @note: This function works with the SMTP mailer on win32, not with the "mail" mailer.
+     * @param string $address
+     * @param string $name
+     * @return bool true on success, false if address already used
+     */
+    public function addCC($address, $name = '')
+    {
+        return $this->addAnAddress('cc', $address, $name);
+    }
+
+    /**
+     * Add a "BCC" address.
+     * @note: This function works with the SMTP mailer on win32, not with the "mail" mailer.
+     * @param string $address
+     * @param string $name
+     * @return bool true on success, false if address already used
+     */
+    public function addBCC($address, $name = '')
+    {
+        return $this->addAnAddress('bcc', $address, $name);
+    }
+
+    /**
+     * Add a "Reply-to" address.
+     * @param string $address
+     * @param string $name
+     * @return bool
+     */
+    public function addReplyTo($address, $name = '')
+    {
+        return $this->addAnAddress('Reply-To', $address, $name);
+    }
+
+    /**
+     * Add an address to one of the recipient arrays.
+     * Addresses that have been added already return false, but do not throw exceptions
+     * @param string $kind One of 'to', 'cc', 'bcc', 'ReplyTo'
+     * @param string $address The email address to send to
+     * @param string $name
      * @throws phpmailerException
-   * @access protected
-   * @return bool
-   */
-  protected function MailSend($header, $body) {
-    $toArr = array();
-    foreach($this->to as $t) {
-      $toArr[] = $this->AddrFormat($t);
-    }
-    $to = implode(', ', $toArr);
-
-    if (empty($this->Sender)) {
-      $params = " ";
-    } else {
-      $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->mail_passthru($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);
-      }
-    } else {
-      $rt = $this->mail_passthru($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);
-    }
-    if (isset($old_from)) {
-      ini_set('sendmail_from', $old_from);
-    }
-    if(!$rt) {
-      throw new phpmailerException($this->Lang('instantiate'), self::STOP_CRITICAL);
-    }
-    return true;
-  }
-
-  /**
-   * Sends mail via SMTP using PhpSMTP
-   * Returns false if there is a bad MAIL FROM, RCPT, or DATA input.
-   * @param string $header The message headers
-   * @param string $body The message body
-   * @throws phpmailerException
-   * @uses SMTP
-   * @access protected
-   * @return bool
-   */
-  protected function SmtpSend($header, $body) {
-    require_once $this->PluginDir . 'class-smtp.php';
-    $bad_rcpt = array();
-
-    if(!$this->SmtpConnect()) {
-      throw new phpmailerException($this->Lang('smtp_connect_failed'), self::STOP_CRITICAL);
-    }
-    $smtp_from = ($this->Sender == '') ? $this->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];
-        // implement call back function if it exists
-        $isSent = 0;
-        $this->doCallback($isSent, $to[0], '', '', $this->Subject, $body);
-      } else {
-        // implement call back function if it exists
-        $isSent = 1;
-        $this->doCallback($isSent, $to[0], '', '', $this->Subject, $body);
-      }
-    }
-    foreach($this->cc as $cc) {
-      if (!$this->smtp->Recipient($cc[0])) {
-        $bad_rcpt[] = $cc[0];
-        // implement call back function if it exists
-        $isSent = 0;
-        $this->doCallback($isSent, '', $cc[0], '', $this->Subject, $body);
-      } else {
-        // implement call back function if it exists
-        $isSent = 1;
-        $this->doCallback($isSent, '', $cc[0], '', $this->Subject, $body);
-      }
-    }
-    foreach($this->bcc as $bcc) {
-      if (!$this->smtp->Recipient($bcc[0])) {
-        $bad_rcpt[] = $bcc[0];
-        // implement call back function if it exists
-        $isSent = 0;
-        $this->doCallback($isSent, '', '', $bcc[0], $this->Subject, $body);
-      } else {
-        // implement call back function if it exists
-        $isSent = 1;
-        $this->doCallback($isSent, '', '', $bcc[0], $this->Subject, $body);
-      }
-    }
-
-
-    if (count($bad_rcpt) > 0 ) { //Create error message for any bad addresses
-      $badaddresses = implode(', ', $bad_rcpt);
-      throw new phpmailerException($this->Lang('recipients_failed') . $badaddresses);
-    }
-    if(!$this->smtp->Data($header . $body)) {
-      throw new phpmailerException($this->Lang('data_not_accepted'), self::STOP_CRITICAL);
-    }
-    if($this->SMTPKeepAlive == true) {
-      $this->smtp->Reset();
-    } else {
-        $this->smtp->Quit();
-        $this->smtp->Close();
-    }
-    return true;
-  }
-
-  /**
-   * Initiates a connection to an SMTP server.
-   * Returns false if the operation failed.
-   * @uses SMTP
-   * @access public
-   * @throws phpmailerException
-   * @return bool
-   */
-  public function SmtpConnect() {
-    if(is_null($this->smtp)) {
-      $this->smtp = new SMTP;
-    }
-
-    $this->smtp->Timeout = $this->Timeout;
-    $this->smtp->do_debug = $this->SMTPDebug;
-    $hosts = explode(';', $this->Host);
-    $index = 0;
-    $connection = $this->smtp->Connected();
-
-    // Retry while there is no connection
-    try {
-      while($index < count($hosts) && !$connection) {
-        $hostinfo = array();
-        if (preg_match('/^(.+):([0-9]+)$/', $hosts[$index], $hostinfo)) {
-          $host = $hostinfo[1];
-          $port = $hostinfo[2];
+     * @return bool true on success, false if address already used or invalid in some way
+     * @access protected
+     */
+    protected function addAnAddress($kind, $address, $name = '')
+    {
+        if (!preg_match('/^(to|cc|bcc|Reply-To)$/', $kind)) {
+            $this->setError($this->lang('Invalid recipient array') . ': ' . $kind);
+            if ($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);
+            if ($this->exceptions) {
+                throw new phpmailerException($this->lang('invalid_address') . ': ' . $address);
+            }
+            $this->edebug($this->lang('invalid_address') . ': ' . $address);
+            return false;
+        }
+        if ($kind != 'Reply-To') {
+            if (!isset($this->all_recipients[strtolower($address)])) {
+                array_push($this->$kind, array($address, $name));
+                $this->all_recipients[strtolower($address)] = true;
+                return true;
+            }
         } else {
-          $host = $hosts[$index];
-          $port = $this->Port;
+            if (!array_key_exists(strtolower($address), $this->ReplyTo)) {
+                $this->ReplyTo[strtolower($address)] = array($address, $name);
+                return true;
+            }
         }
+        return false;
+    }
 
-        $tls = ($this->SMTPSecure == 'tls');
-        $ssl = ($this->SMTPSecure == 'ssl');
+    /**
+     * 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
+     * @throws phpmailerException
+     * @return bool
+     */
+    public function setFrom($address, $name = '', $auto = true)
+    {
+        $address = trim($address);
+        $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim
+        if (!$this->validateAddress($address)) {
+            $this->setError($this->lang('invalid_address') . ': ' . $address);
+            if ($this->exceptions) {
+                throw new phpmailerException($this->lang('invalid_address') . ': ' . $address);
+            }
+            $this->edebug($this->lang('invalid_address') . ': ' . $address);
+            return false;
+        }
+        $this->From = $address;
+        $this->FromName = $name;
+        if ($auto) {
+            if (empty($this->Sender)) {
+                $this->Sender = $address;
+            }
+        }
+        return true;
+    }
+
+    /**
+     * Return the Message-ID header of the last email.
+     * Technically this is the value from the last time the headers were created,
+     * but it's also the message ID of the last sent message except in
+     * pathological cases.
+     * @return string
+     */
+    public function getLastMessageID()
+    {
+        return $this->lastMessageID;
+    }
+
+    /**
+     * 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
+     * @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) {
+                    $patternselect = 'pcre8';
+                } else {
+                    $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) {
+                    $patternselect = 'php';
+                } else {
+                    $patternselect = 'noregex';
+                }
+            }
+        }
+        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 :(
+                 * @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(
+                    '/^(?!(?>(?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))?)' .
+                    '([!#-\'*+\/-9=?^-~-]+|"(?>(?2)(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\x7F]))*' .
+                    '(?2)")(?>(?1)\.(?1)(?4))*(?1)@(?!(?1)[a-z0-9-]{64,})(?1)(?>([a-z0-9](?>[a-z0-9-]*[a-z0-9])?)' .
+                    '(?>(?1)\.(?!(?1)[a-z0-9-]{64,})(?1)(?5)){0,126}|\[(?:(?>IPv6:(?>([a-f0-9]{1,4})(?>:(?6)){7}' .
+                    '|(?!(?:.*[a-f0-9][:\]]){8,})((?6)(?>:(?6)){0,6})?::(?7)?))|(?>(?>IPv6:(?>(?6)(?>:(?6)){5}:' .
+                    '|(?!(?:.*[a-f0-9]:){6,})(?8)?::(?>((?6)(?>:(?6)){0,4}):)?))?(25[0-5]|2[0-4][0-9]|1[0-9]{2}' .
+                    '|[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(
+                    '/^(?!(?>"?(?>\\\[ -~]|[^"])"?){255,})(?!(?>"?(?>\\\[ -~]|[^"])"?){65,}@)(?>' .
+                    '[!#-\'*+\/-9=?^-~-]+|"(?>(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\xFF]))*")' .
+                    '(?>\.(?>[!#-\'*+\/-9=?^-~-]+|"(?>(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\xFF]))*"))*' .
+                    '@(?>(?![a-z0-9-]{64,})(?>[a-z0-9](?>[a-z0-9-]*[a-z0-9])?)(?>\.(?![a-z0-9-]{64,})' .
+                    '(?>[a-z0-9](?>[a-z0-9-]*[a-z0-9])?)){0,126}|\[(?:(?>IPv6:(?>(?>[a-f0-9]{1,4})(?>:' .
+                    '[a-f0-9]{1,4}){7}|(?!(?:.*[a-f0-9][:\]]){8,})(?>[a-f0-9]{1,4}(?>:[a-f0-9]{1,4}){0,6})?' .
+                    '::(?>[a-f0-9]{1,4}(?>:[a-f0-9]{1,4}){0,6})?))|(?>(?>IPv6:(?>[a-f0-9]{1,4}(?>:' .
+                    '[a-f0-9]{1,4}){5}:|(?!(?:.*[a-f0-9]:){6,})(?>[a-f0-9]{1,4}(?>:[a-f0-9]{1,4}){0,4})?' .
+                    '::(?>(?:[a-f0-9]{1,4}(?>:[a-f0-9]{1,4}){0,4}):)?))?(?>25[0-5]|2[0-4][0-9]|1[0-9]{2}' .
+                    '|[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 '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;
+        }
+    }
+
+    /**
+     * 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
+     */
+    public function send()
+    {
+        try {
+            if (!$this->preSend()) {
+                return false;
+            }
+            return $this->postSend();
+        } catch (phpmailerException $e) {
+            $this->mailHeader = '';
+            $this->setError($e->getMessage());
+            if ($this->exceptions) {
+                throw $e;
+            }
+            return false;
+        }
+    }
+
+    /**
+     * Prepare a message for sending.
+     * @throws phpmailerException
+     * @return bool
+     */
+    public function preSend()
+    {
+        try {
+            $this->mailHeader = "";
+            if ((count($this->to) + count($this->cc) + count($this->bcc)) < 1) {
+                throw new phpmailerException($this->lang('provide_address'), self::STOP_CRITICAL);
+            }
 
-        if ($this->smtp->Connect(($ssl ? 'ssl://':'').$host, $port, $this->Timeout)) {
+            // Set whether the message is multipart/alternative
+            if (!empty($this->AltBody)) {
+                $this->ContentType = 'multipart/alternative';
+            }
 
-          $hello = ($this->Helo != '' ? $this->Helo : $this->ServerHostname());
-          $this->smtp->Hello($hello);
+            $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);
+            }
 
-          if ($tls) {
-            if (!$this->smtp->StartTLS()) {
-              throw new phpmailerException($this->Lang('connect_host'));
+            $this->MIMEHeader = $this->createHeader();
+            $this->MIMEBody = $this->createBody();
+
+            // 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);
+                } else {
+                    $this->mailHeader .= $this->headerLine("To", "undisclosed-recipients:;");
+                }
+                $this->mailHeader .= $this->headerLine(
+                    'Subject',
+                    $this->encodeHeader($this->secureHeader(trim($this->Subject)))
+                );
             }
 
-            //We must resend HELO after tls negotiation
-            $this->smtp->Hello($hello);
-          }
+            // Sign with DKIM if enabled
+            if (!empty($this->DKIM_domain)
+                && !empty($this->DKIM_private)
+                && !empty($this->DKIM_selector)
+                && !empty($this->DKIM_domain)
+                && file_exists($this->DKIM_private)) {
+                $header_dkim = $this->DKIM_Add(
+                    $this->MIMEHeader . $this->mailHeader,
+                    $this->encodeHeader($this->secureHeader($this->Subject)),
+                    $this->MIMEBody
+                );
+                $this->MIMEHeader = rtrim($this->MIMEHeader, "\r\n ") . self::CRLF .
+                    str_replace("\r\n", "\n", $header_dkim) . self::CRLF;
+            }
+            return true;
 
-          $connection = true;
-          if ($this->SMTPAuth) {
-            if (!$this->smtp->Authenticate($this->Username, $this->Password, $this->AuthType,
-                                           $this->Realm, $this->Workstation)) {
-              throw new phpmailerException($this->Lang('authenticate'));
+        } catch (phpmailerException $e) {
+            $this->setError($e->getMessage());
+            if ($this->exceptions) {
+                throw $e;
             }
-          }
-        }
-        $index++;
-      if (!$connection) {
-        throw new phpmailerException($this->Lang('connect_host'));
-      }
-      }
-    } catch (phpmailerException $e) {
-      $this->smtp->Reset();
-      if ($this->exceptions) {
-        throw $e;
-      }
-    }
-    return true;
-  }
-
-  /**
-   * Closes the active SMTP session if one exists.
-   * @return void
-   */
-  public function SmtpClose() {
-    if ($this->smtp !== null) {
-      if($this->smtp->Connected()) {
-        $this->smtp->Quit();
-        $this->smtp->Close();
-      }
-    }
-  }
-
-  /**
-  * Sets the language for all class error messages.
-  * Returns false if it cannot load the language file.  The default language is English.
-  * @param string $langcode ISO 639-1 2-character language code (e.g. Portuguese: "br")
-  * @param string $lang_path Path to the language file directory
-   * @return bool
-  * @access public
-  */
-  function SetLanguage($langcode = 'en', $lang_path = 'language/') {
-    //Define full set of translatable strings
-    $PHPMAILER_LANG = array(
-      'authenticate'         => 'SMTP Error: Could not authenticate.',
-      'connect_host'         => 'SMTP Error: Could not connect to SMTP host.',
-      'data_not_accepted'    => 'SMTP Error: Data not accepted.',
-      'empty_message'        => 'Message body empty',
-      'encoding'             => 'Unknown encoding: ',
-      'execute'              => 'Could not execute: ',
-      'file_access'          => 'Could not access file: ',
-      'file_open'            => 'File Error: Could not open file: ',
-      'from_failed'          => 'The following From address failed: ',
-      'instantiate'          => 'Could not instantiate mail function.',
-      'invalid_address'      => 'Invalid address',
-      'mailer_not_supported' => ' mailer is not supported.',
-      'provide_address'      => 'You must provide at least one recipient email address.',
-      'recipients_failed'    => 'SMTP Error: The following recipients failed: ',
-      'signing'              => 'Signing Error: ',
-      'smtp_connect_failed'  => 'SMTP Connect() failed.',
-      'smtp_error'           => 'SMTP server error: ',
-      'variable_set'         => 'Cannot set or reset variable: '
-    );
-    //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';
-    }
-    $this->language = $PHPMAILER_LANG;
-    return ($l == true); //Returns false if language not found
-  }
-
-  /**
-  * Return the current array of language strings
-  * @return array
-  */
-  public function GetTranslations() {
-    return $this->language;
-  }
-
-  /////////////////////////////////////////////////
-  // METHODS, MESSAGE CREATION
-  /////////////////////////////////////////////////
-
-  /**
-   * Creates recipient headers.
-   * @access public
-   * @param string $type
-   * @param array $addr
-   * @return string
-   */
-  public function AddrAppend($type, $addr) {
-    $addr_str = $type . ': ';
-    $addresses = array();
-    foreach ($addr as $a) {
-      $addresses[] = $this->AddrFormat($a);
-    }
-    $addr_str .= implode(', ', $addresses);
-    $addr_str .= $this->LE;
-
-    return $addr_str;
-  }
-
-  /**
-   * Formats an address correctly.
-   * @access public
-   * @param string $addr
-   * @return string
-   */
-  public function AddrFormat($addr) {
-    if (empty($addr[1])) {
-      return $this->SecureHeader($addr[0]);
-    } else {
-      return $this->EncodeHeader($this->SecureHeader($addr[1]), 'phrase') . " <" . $this->SecureHeader($addr[0]) . ">";
-    }
-  }
-
-  /**
-   * Wraps message for use with mailers that do not
-   * automatically perform wrapping and for quoted-printable.
-   * Original written by philippe.
-   * @param string $message The message to wrap
-   * @param integer $length The line length to wrap to
-   * @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 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");
-    $lelen = strlen($this->LE);
-    $crlflen = strlen(self::CRLF);
-
-    $message = $this->FixEOL($message);
-    if (substr($message, -$lelen) == $this->LE) {
-      $message = substr($message, 0, -$lelen);
-    }
-
-    $line = explode($this->LE, $message);   // Magic. We know FixEOL uses $LE
-    $message = '';
-    for ($i = 0 ;$i < count($line); $i++) {
-      $line_part = explode(' ', $line[$i]);
-      $buf = '';
-      for ($e = 0; $e<count($line_part); $e++) {
-        $word = $line_part[$e];
-        if ($qp_mode and (strlen($word) > $length)) {
-          $space_left = $length - strlen($buf) - $crlflen;
-          if ($e != 0) {
-            if ($space_left > 20) {
-              $len = $space_left;
-              if ($is_utf8) {
-                $len = $this->UTF8CharBoundary($word, $len);
-              } elseif (substr($word, $len - 1, 1) == "=") {
-                $len--;
-              } 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);
+            return false;
+        }
+    }
+
+    /**
+     * Actually send a message.
+     * Send the email via the selected mechanism
+     * @throws phpmailerException
+     * @return bool
+     */
+    public function postSend()
+    {
+        try {
+            // Choose the mailer and send through it
+            switch ($this->Mailer) {
+                case 'sendmail':
+                    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:
+                    return $this->mailSend($this->MIMEHeader, $this->MIMEBody);
+            }
+        } catch (phpmailerException $e) {
+            $this->setError($e->getMessage());
+            if ($this->exceptions) {
+                throw $e;
+            }
+            $this->edebug($e->getMessage() . "\n");
+        }
+        return false;
+    }
+
+    /**
+     * Send mail using the $Sendmail program.
+     * @param string $header The message headers
+     * @param string $body The message body
+     * @see PHPMailer::$Sendmail
+     * @throws phpmailerException
+     * @access protected
+     * @return bool
+     */
+    protected function sendmailSend($header, $body)
+    {
+        if ($this->Sender != '') {
+            $sendmail = sprintf("%s -oi -f%s -t", escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender));
+        } else {
+            $sendmail = sprintf("%s -oi -t", escapeshellcmd($this->Sendmail));
+        }
+        if ($this->SingleTo === true) {
+            foreach ($this->SingleToArray as $val) {
+                if (!@$mail = popen($sendmail, 'w')) {
+                    throw new phpmailerException($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
+                }
+                fputs($mail, "To: " . $val . "\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);
+                if ($result != 0) {
+                    throw new phpmailerException($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
+                }
+            }
+        } else {
+            if (!@$mail = popen($sendmail, 'w')) {
+                throw new phpmailerException($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
+            }
+            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);
+            if ($result != 0) {
+                throw new phpmailerException($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL);
+            }
+        }
+        return true;
+    }
+
+    /**
+     * Send mail using the PHP mail() function.
+     * @param string $header The message headers
+     * @param string $body The message body
+     * @link http://www.php.net/manual/en/book.mail.php
+     * @throws phpmailerException
+     * @access protected
+     * @return bool
+     */
+    protected function mailSend($header, $body)
+    {
+        $toArr = array();
+        foreach ($this->to as $t) {
+            $toArr[] = $this->addrFormat($t);
+        }
+        $to = implode(', ', $toArr);
+
+        if (empty($this->Sender)) {
+            $params = " ";
+        } else {
+            $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);
+            }
+        } 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);
+        }
+        if (isset($old_from)) {
+            ini_set('sendmail_from', $old_from);
+        }
+        if (!$rt) {
+            throw new phpmailerException($this->lang('instantiate'), self::STOP_CRITICAL);
+        }
+        return true;
+    }
+
+    /**
+     * Get an instance to use for SMTP operations.
+     * Override this function to load your own SMTP implementation
+     * @return SMTP
+     */
+    public function getSMTPInstance()
+    {
+        if (!is_object($this->smtp)) {
+            require_once 'class-smtp.php';
+            $this->smtp = new SMTP;
+        }
+        return $this->smtp;
+    }
+
+    /**
+     * Send mail via SMTP.
+     * Returns false if there is a bad MAIL FROM, RCPT, or DATA input.
+     * Uses the PHPMailerSMTP class by default.
+     * @see PHPMailer::getSMTPInstance() to use a different class.
+     * @param string $header The message headers
+     * @param string $body The message body
+     * @throws phpmailerException
+     * @uses SMTP
+     * @access protected
+     * @return bool
+     */
+    protected function smtpSend($header, $body)
+    {
+        $bad_rcpt = array();
+
+        if (!$this->smtpConnect()) {
+            throw new phpmailerException($this->lang('smtp_connect_failed'), self::STOP_CRITICAL);
+        }
+        $smtp_from = ($this->Sender == '') ? $this->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 {
-              $message .= $buf . $soft_break;
+                $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;
+            }
+            $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)) {
+            throw new phpmailerException($this->lang('data_not_accepted'), self::STOP_CRITICAL);
+        }
+        if ($this->SMTPKeepAlive == true) {
+            $this->smtp->reset();
+        } else {
+            $this->smtp->quit();
+            $this->smtp->close();
+        }
+        return true;
+    }
+
+    /**
+     * Initiate a connection to an SMTP server.
+     * Returns false if the operation failed.
+     * @param array $options An array of options compatible with stream_context_create()
+     * @uses SMTP
+     * @access public
+     * @throws phpmailerException
+     * @return bool
+     */
+    public function smtpConnect($options = array())
+    {
+        if (is_null($this->smtp)) {
+            $this->smtp = $this->getSMTPInstance();
+        }
+
+        //Already connected?
+        if ($this->smtp->connected()) {
+            return true;
+        }
+
+        $this->smtp->setTimeout($this->Timeout);
+        $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;
+            $port = $this->Port;
+            if (preg_match(
+                '/^(.+):([0-9]+)$/',
+                $hostentry,
+                $hostinfo
+            )
+            ) { //If $hostentry contains 'address:port', override default
+                $host = $hostinfo[1];
+                $port = $hostinfo[2];
+            }
+            if ($this->smtp->connect(($ssl ? 'ssl://' : '') . $host, $port, $this->Timeout, $options)) {
+                try {
+                    if ($this->Helo) {
+                        $hello = $this->Helo;
+                    } else {
+                        $hello = $this->serverHostname();
+                    }
+                    $this->smtp->hello($hello);
+
+                    if ($tls) {
+                        if (!$this->smtp->startTLS()) {
+                            throw new phpmailerException($this->lang('connect_host'));
+                        }
+                        //We must resend HELO after tls negotiation
+                        $this->smtp->hello($hello);
+                    }
+                    if ($this->SMTPAuth) {
+                        if (!$this->smtp->authenticate(
+                            $this->Username,
+                            $this->Password,
+                            $this->AuthType,
+                            $this->Realm,
+                            $this->Workstation
+                        )
+                        ) {
+                            throw new phpmailerException($this->lang('authenticate'));
+                        }
+                    }
+                    return true;
+                } catch (phpmailerException $e) {
+                    $lastexception = $e;
+                    //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
+        $this->smtp->close();
+        //As we've caught all exceptions, just report whatever the last one was
+        if ($this->exceptions and !is_null($lastexception)) {
+            throw $lastexception;
+        }
+        return false;
+    }
+
+    /**
+     * Close the active SMTP session if one exists.
+     * @return void
+     */
+    public function smtpClose()
+    {
+        if ($this->smtp !== null) {
+            if ($this->smtp->connected()) {
+                $this->smtp->quit();
+                $this->smtp->close();
             }
+        }
+    }
+
+    /**
+     * Set the language for error messages.
+     * Returns false if it cannot load the language file.
+     * 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
+     * @access public
+     */
+    public function setLanguage($langcode = 'en', $lang_path = 'language/')
+    {
+        //Define full set of translatable strings
+        $PHPMAILER_LANG = array(
+            'authenticate' => 'SMTP Error: Could not authenticate.',
+            'connect_host' => 'SMTP Error: Could not connect to SMTP host.',
+            'data_not_accepted' => 'SMTP Error: data not accepted.',
+            'empty_message' => 'Message body empty',
+            'encoding' => 'Unknown encoding: ',
+            'execute' => 'Could not execute: ',
+            'file_access' => 'Could not access file: ',
+            'file_open' => 'File Error: Could not open file: ',
+            'from_failed' => 'The following From address failed: ',
+            'instantiate' => 'Could not instantiate mail function.',
+            'invalid_address' => 'Invalid address',
+            'mailer_not_supported' => ' mailer is not supported.',
+            'provide_address' => 'You must provide at least one recipient email address.',
+            'recipients_failed' => 'SMTP Error: The following recipients failed: ',
+            'signing' => 'Signing Error: ',
+            'smtp_connect_failed' => 'SMTP connect() failed.',
+            'smtp_error' => 'SMTP server error: ',
+            'variable_set' => 'Cannot set or reset variable: '
+        );
+        //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';
+        }
+        $this->language = $PHPMAILER_LANG;
+        return ($l == true); //Returns false if language not found
+    }
+
+    /**
+     * Get the array of strings for the current language.
+     * @return array
+     */
+    public function getTranslations()
+    {
+        return $this->language;
+    }
+
+    /**
+     * Create recipient headers.
+     * @access public
+     * @param string $type
+     * @param array $addr An array of recipient,
+     * where each recipient is a 2-element indexed array with element 0 containing an address
+     * and element 1 containing a name, like:
+     * array(array('joe@example.com', 'Joe User'), array('zoe@example.com', 'Zoe User'))
+     * @return string
+     */
+    public function addrAppend($type, $addr)
+    {
+        $addresses = array();
+        foreach ($addr as $a) {
+            $addresses[] = $this->addrFormat($a);
+        }
+        return $type . ': ' . implode(', ', $addresses) . $this->LE;
+    }
+
+    /**
+     * Format an address for use in a message header.
+     * @access public
+     * @param array $addr A 2-element indexed array, element 0 containing an address, element 1 containing a name
+     *      like array('joe@example.com', 'Joe User')
+     * @return string
+     */
+    public function addrFormat($addr)
+    {
+        if (empty($addr[1])) { // No name provided
+            return $this->secureHeader($addr[0]);
+        } else {
+            return $this->encodeHeader($this->secureHeader($addr[1]), 'phrase') . " <" . $this->secureHeader(
+                $addr[0]
+            ) . ">";
+        }
+    }
+
+    /**
+     * Word-wrap message.
+     * For use with mailers that do not automatically perform wrapping
+     * and for quoted-printable encoded messages.
+     * 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
+     * @access public
+     * @return string
+     */
+    public function wrapText($message, $length, $qp_mode = false)
+    {
+        $soft_break = ($qp_mode) ? sprintf(" =%s", $this->LE) : $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");
+        $lelen = strlen($this->LE);
+        $crlflen = strlen(self::CRLF);
+
+        $message = $this->fixEOL($message);
+        if (substr($message, -$lelen) == $this->LE) {
+            $message = substr($message, 0, -$lelen);
+        }
+
+        $line = explode($this->LE, $message); // Magic. We know fixEOL uses $LE
+        $message = '';
+        for ($i = 0; $i < count($line); $i++) {
+            $line_part = explode(' ', $line[$i]);
             $buf = '';
-          }
-          while (strlen($word) > 0) {
-            $len = $length;
-            if ($is_utf8) {
-              $len = $this->UTF8CharBoundary($word, $len);
-            } elseif (substr($word, $len - 1, 1) == "=") {
-              $len--;
-            } elseif (substr($word, $len - 2, 1) == "=") {
-              $len -= 2;
+            for ($e = 0; $e < count($line_part); $e++) {
+                $word = $line_part[$e];
+                if ($qp_mode and (strlen($word) > $length)) {
+                    $space_left = $length - strlen($buf) - $crlflen;
+                    if ($e != 0) {
+                        if ($space_left > 20) {
+                            $len = $space_left;
+                            if ($is_utf8) {
+                                $len = $this->utf8CharBoundary($word, $len);
+                            } elseif (substr($word, $len - 1, 1) == "=") {
+                                $len--;
+                            } 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);
+                        } else {
+                            $message .= $buf . $soft_break;
+                        }
+                        $buf = '';
+                    }
+                    while (strlen($word) > 0) {
+                        if ($length <= 0) {
+                            break;
+                        }
+                        $len = $length;
+                        if ($is_utf8) {
+                            $len = $this->utf8CharBoundary($word, $len);
+                        } elseif (substr($word, $len - 1, 1) == "=") {
+                            $len--;
+                        } 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);
+                        } else {
+                            $buf = $part;
+                        }
+                    }
+                } else {
+                    $buf_o = $buf;
+                    $buf .= ($e == 0) ? $word : (' ' . $word);
+
+                    if (strlen($buf) > $length and $buf_o != '') {
+                        $message .= $buf_o . $soft_break;
+                        $buf = $word;
+                    }
+                }
             }
-            $part = substr($word, 0, $len);
-            $word = substr($word, $len);
+            $message .= $buf . self::CRLF;
+        }
 
-            if (strlen($word) > 0) {
-              $message .= $part . sprintf("=%s", self::CRLF);
+        return $message;
+    }
+
+    /**
+     * Find the last character boundary prior to $maxLength in a utf-8
+     * 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
+     */
+    public function utf8CharBoundary($encodedText, $maxLength)
+    {
+        $foundSplitPos = false;
+        $lookBack = 3;
+        while (!$foundSplitPos) {
+            $lastChunk = substr($encodedText, $maxLength - $lookBack, $lookBack);
+            $encodedCharPos = strpos($lastChunk, "=");
+            if ($encodedCharPos !== false) {
+                // 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 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);
+                    $foundSplitPos = true;
+                } 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
+                    $lookBack += 3;
+                }
             } else {
-              $buf = $part;
+                // No encoded character found
+                $foundSplitPos = true;
             }
-          }
-        } else {
-          $buf_o = $buf;
-          $buf .= ($e == 0) ? $word : (' ' . $word);
-
-          if (strlen($buf) > $length and $buf_o != '') {
-            $message .= $buf_o . $soft_break;
-            $buf = $word;
-          }
-        }
-      }
-      $message .= $buf . self::CRLF;
-    }
-
-    return $message;
-  }
-
-  /**
-   * Finds last character boundary prior to maxLength in a utf-8
-   * 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
-   */
-  public function UTF8CharBoundary($encodedText, $maxLength) {
-    $foundSplitPos = false;
-    $lookBack = 3;
-    while (!$foundSplitPos) {
-      $lastChunk = substr($encodedText, $maxLength - $lookBack, $lookBack);
-      $encodedCharPos = strpos($lastChunk, "=");
-      if ($encodedCharPos !== false) {
-        // 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 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);
-          $foundSplitPos = true;
-        } 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
-          $lookBack += 3;
-        }
-      } else {
-        // No encoded character found
-        $foundSplitPos = true;
-      }
-    }
-    return $maxLength;
-  }
-
-
-  /**
-   * Set the body wrapping.
-   * @access public
-   * @return void
-   */
-  public function SetWordWrap() {
-    if($this->WordWrap < 1) {
-      return;
-    }
-
-    switch($this->message_type) {
-      case 'alt':
-      case 'alt_inline':
-      case 'alt_attach':
-      case 'alt_inline_attach':
-        $this->AltBody = $this->WrapText($this->AltBody, $this->WordWrap);
-        break;
-      default:
-        $this->Body = $this->WrapText($this->Body, $this->WordWrap);
-        break;
-    }
-  }
-
-  /**
-   * Assembles message header.
-   * @access public
-   * @return string The assembled header
-   */
-  public function CreateHeader() {
-    $result = '';
-
-    // Set the boundaries
-    $uniq_id = md5(uniqid(time()));
-    $this->boundary[1] = 'b1_' . $uniq_id;
-    $this->boundary[2] = 'b2_' . $uniq_id;
-    $this->boundary[3] = 'b3_' . $uniq_id;
-
-    if ($this->MessageDate == '') {
-      $result .= $this->HeaderLine('Date', self::RFCDate());
-    } else {
-      $result .= $this->HeaderLine('Date', $this->MessageDate);
-    }
-
-    if ($this->ReturnPath) {
-      $result .= $this->HeaderLine('Return-Path', trim($this->ReturnPath));
-    } elseif ($this->Sender == '') {
-      $result .= $this->HeaderLine('Return-Path', trim($this->From));
-    } else {
-      $result .= $this->HeaderLine('Return-Path', trim($this->Sender));
-    }
-
-    // To be created automatically by mail()
-    if($this->Mailer != 'mail') {
-      if ($this->SingleTo === true) {
-        foreach($this->to as $t) {
-          $this->SingleToArray[] = $this->AddrFormat($t);
-        }
-      } else {
-        if(count($this->to) > 0) {
-          $result .= $this->AddrAppend('To', $this->to);
-        } elseif (count($this->cc) == 0) {
-          $result .= $this->HeaderLine('To', 'undisclosed-recipients:;');
-        }
-      }
-    }
-
-    $from = array();
-    $from[0][0] = trim($this->From);
-    $from[0][1] = $this->FromName;
-    $result .= $this->AddrAppend('From', $from);
-
-    // sendmail and mail() extract Cc from the header before sending
-    if(count($this->cc) > 0) {
-      $result .= $this->AddrAppend('Cc', $this->cc);
-    }
-
-    // sendmail and mail() extract Bcc from the header before sending
-    if((($this->Mailer == 'sendmail') || ($this->Mailer == 'mail')) && (count($this->bcc) > 0)) {
-      $result .= $this->AddrAppend('Bcc', $this->bcc);
-    }
-
-    if(count($this->ReplyTo) > 0) {
-      $result .= $this->AddrAppend('Reply-To', $this->ReplyTo);
-    }
-
-    // mail() sets the subject itself
-    if($this->Mailer != 'mail') {
-      $result .= $this->HeaderLine('Subject', $this->EncodeHeader($this->SecureHeader($this->Subject)));
-    }
-
-    if($this->MessageID != '') {
-      $result .= $this->HeaderLine('Message-ID', $this->MessageID);
-    } else {
-      $result .= sprintf("Message-ID: <%s@%s>%s", $uniq_id, $this->ServerHostname(), $this->LE);
-    }
-    $result .= $this->HeaderLine('X-Priority', $this->Priority);
-    if ($this->XMailer == '') {
-        $result .= $this->HeaderLine('X-Mailer', 'PHPMailer '.$this->Version.' (http://code.google.com/a/apache-extras.org/p/phpmailer/)');
-    } else {
-      $myXmailer = trim($this->XMailer);
-      if ($myXmailer) {
-        $result .= $this->HeaderLine('X-Mailer', $myXmailer);
-      }
-    }
-
-    if($this->ConfirmReadingTo != '') {
-      $result .= $this->HeaderLine('Disposition-Notification-To', '<' . trim($this->ConfirmReadingTo) . '>');
-    }
-
-    // Add custom headers
-    for($index = 0; $index < count($this->CustomHeader); $index++) {
-      $result .= $this->HeaderLine(trim($this->CustomHeader[$index][0]), $this->EncodeHeader(trim($this->CustomHeader[$index][1])));
-    }
-    if (!$this->sign_key_file) {
-      $result .= $this->HeaderLine('MIME-Version', '1.0');
-      $result .= $this->GetMailMIME();
-    }
-
-    return $result;
-  }
-
-  /**
-   * Returns the message MIME.
-   * @access public
-   * @return string
-   */
-  public function GetMailMIME() {
-    $result = '';
-    switch($this->message_type) {
-      case 'inline':
-        $result .= $this->HeaderLine('Content-Type', 'multipart/related;');
-        $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"');
-        break;
-      case 'attach':
-      case 'inline_attach':
-      case 'alt_attach':
-      case 'alt_inline_attach':
-        $result .= $this->HeaderLine('Content-Type', 'multipart/mixed;');
-        $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"');
-        break;
-      case 'alt':
-      case 'alt_inline':
-        $result .= $this->HeaderLine('Content-Type', 'multipart/alternative;');
-        $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"');
-        break;
-      default:
-        // Catches case 'plain': and case '':
-        $result .= $this->HeaderLine('Content-Transfer-Encoding', $this->Encoding);
-        $result .= $this->TextLine('Content-Type: '.$this->ContentType.'; charset='.$this->CharSet);
-        break;
-    }
-
-    if($this->Mailer != 'mail') {
-      $result .= $this->LE;
-    }
-
-    return $result;
-  }
-
-  /**
-   * Returns the MIME message (headers and body). Only really valid post PreSend().
-   * @access public
-   * @return string
-   */
-  public function GetSentMIMEMessage() {
-    return $this->MIMEHeader . $this->mailHeader . self::CRLF . $this->MIMEBody;
-  }
-
-
-  /**
-   * Assembles the message body.  Returns an empty string on failure.
-   * @access public
-   * @throws phpmailerException
-   * @return string The assembled message body
-   */
-  public function CreateBody() {
-    $body = '';
-
-    if ($this->sign_key_file) {
-      $body .= $this->GetMailMIME().$this->LE;
-    }
-
-    $this->SetWordWrap();
-
-    switch($this->message_type) {
-      case 'inline':
-        $body .= $this->GetBoundary($this->boundary[1], '', '', '');
-        $body .= $this->EncodeString($this->Body, $this->Encoding);
-        $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 .= $this->LE.$this->LE;
-        $body .= $this->AttachAll("attachment", $this->boundary[1]);
-        break;
-      case 'inline_attach':
-        $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->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 .= $this->LE.$this->LE;
-        $body .= $this->GetBoundary($this->boundary[1], '', 'text/html', '');
-        $body .= $this->EncodeString($this->Body, $this->Encoding);
-        $body .= $this->LE.$this->LE;
-        $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 .= $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->LE.$this->LE;
-        $body .= $this->AttachAll("inline", $this->boundary[2]);
-        $body .= $this->LE;
-        $body .= $this->EndBoundary($this->boundary[1]);
-        break;
-      case 'alt_attach':
-        $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->LE.$this->LE;
-        $body .= $this->GetBoundary($this->boundary[2], '', 'text/html', '');
-        $body .= $this->EncodeString($this->Body, $this->Encoding);
-        $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 .= $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->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->LE.$this->LE;
-        $body .= $this->AttachAll("inline", $this->boundary[3]);
-        $body .= $this->LE;
-        $body .= $this->EndBoundary($this->boundary[2]);
-        $body .= $this->LE;
-        $body .= $this->AttachAll("attachment", $this->boundary[1]);
-        break;
-      default:
-        // catch case 'plain' and case ''
-        $body .= $this->EncodeString($this->Body, $this->Encoding);
-        break;
-    }
-
-    if ($this->IsError()) {
-      $body = '';
-    } elseif ($this->sign_key_file) {
-      try {
-        $file = tempnam('', 'mail');
-        file_put_contents($file, $body); //TODO check this worked
-        $signed = tempnam("", "signed");
-        if (@openssl_pkcs7_sign($file, $signed, "file://".$this->sign_cert_file, array("file://".$this->sign_key_file, $this->sign_key_pass), NULL)) {
-          @unlink($file);
-          $body = file_get_contents($signed);
-          @unlink($signed);
+        }
+        return $maxLength;
+    }
+
+
+    /**
+     * Set the body wrapping.
+     * @access public
+     * @return void
+     */
+    public function setWordWrap()
+    {
+        if ($this->WordWrap < 1) {
+            return;
+        }
+
+        switch ($this->message_type) {
+            case 'alt':
+            case 'alt_inline':
+            case 'alt_attach':
+            case 'alt_inline_attach':
+                $this->AltBody = $this->wrapText($this->AltBody, $this->WordWrap);
+                break;
+            default:
+                $this->Body = $this->wrapText($this->Body, $this->WordWrap);
+                break;
+        }
+    }
+
+    /**
+     * Assemble message headers.
+     * @access public
+     * @return string The assembled headers
+     */
+    public function createHeader()
+    {
+        $result = '';
+
+        // Set the boundaries
+        $uniq_id = md5(uniqid(time()));
+        $this->boundary[1] = 'b1_' . $uniq_id;
+        $this->boundary[2] = 'b2_' . $uniq_id;
+        $this->boundary[3] = 'b3_' . $uniq_id;
+
+        if ($this->MessageDate == '') {
+            $result .= $this->headerLine('Date', self::rfcDate());
         } else {
-          @unlink($file);
-          @unlink($signed);
-          throw new phpmailerException($this->Lang("signing").openssl_error_string());
+            $result .= $this->headerLine('Date', $this->MessageDate);
         }
-      } catch (phpmailerException $e) {
-        $body = '';
-        if ($this->exceptions) {
-          throw $e;
-        }
-      }
-    }
-
-    return $body;
-  }
-
-  /**
-   * Returns the start of a message boundary.
-   * @access protected
-   * @param string $boundary
-   * @param string $charSet
-   * @param string $contentType
-   * @param string $encoding
-   * @return string
-   */
-  protected function GetBoundary($boundary, $charSet, $contentType, $encoding) {
-    $result = '';
-    if($charSet == '') {
-      $charSet = $this->CharSet;
-    }
-    if($contentType == '') {
-      $contentType = $this->ContentType;
-    }
-    if($encoding == '') {
-      $encoding = $this->Encoding;
-    }
-    $result .= $this->TextLine('--' . $boundary);
-    $result .= sprintf("Content-Type: %s; charset=%s", $contentType, $charSet);
-    $result .= $this->LE;
-    $result .= $this->HeaderLine('Content-Transfer-Encoding', $encoding);
-    $result .= $this->LE;
-
-    return $result;
-  }
-
-  /**
-   * Returns the end of a message boundary.
-   * @access protected
-   * @param string $boundary
-   * @return string
-   */
-  protected function EndBoundary($boundary) {
-    return $this->LE . '--' . $boundary . '--' . $this->LE;
-  }
-
-  /**
-   * Sets the message type.
-   * @access protected
-   * @return void
-   */
-  protected function SetMessageType() {
-    $this->message_type = array();
-    if($this->AlternativeExists()) $this->message_type[] = "alt";
-    if($this->InlineImageExists()) $this->message_type[] = "inline";
-    if($this->AttachmentExists()) $this->message_type[] = "attach";
-    $this->message_type = implode("_", $this->message_type);
-    if($this->message_type == "") $this->message_type = "plain";
-  }
-
-  /**
-   *  Returns a formatted header line.
-   * @access public
-   * @param string $name
-   * @param string $value
-   * @return string
-   */
-  public function HeaderLine($name, $value) {
-    return $name . ': ' . $value . $this->LE;
-  }
-
-  /**
-   * Returns a formatted mail line.
-   * @access public
-   * @param string $value
-   * @return string
-   */
-  public function TextLine($value) {
-    return $value . $this->LE;
-  }
-
-  /////////////////////////////////////////////////
-  // CLASS METHODS, ATTACHMENTS
-  /////////////////////////////////////////////////
-
-  /**
-   * Adds an attachment from a path on the filesystem.
-   * Returns false if the file could not be found
-   * or accessed.
-   * @param string $path Path to the attachment.
-   * @param string $name Overrides the attachment name.
-   * @param string $encoding File encoding (see $Encoding).
-   * @param string $type File extension (MIME) type.
-   * @throws phpmailerException
-   * @return bool
-   */
-  public function AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream') {
-    try {
-      if ( !@is_file($path) ) {
-        throw new phpmailerException($this->Lang('file_access') . $path, self::STOP_CONTINUE);
-      }
-      $filename = basename($path);
-      if ( $name == '' ) {
-        $name = $filename;
-      }
-
-      $this->attachment[] = array(
-        0 => $path,
-        1 => $filename,
-        2 => $name,
-        3 => $encoding,
-        4 => $type,
-        5 => false,  // isStringAttachment
-        6 => 'attachment',
-        7 => 0
-      );
-
-    } catch (phpmailerException $e) {
-      $this->SetError($e->getMessage());
-      if ($this->exceptions) {
-        throw $e;
-      }
-      if ($this->SMTPDebug) {
-        $this->edebug($e->getMessage()."\n");
-      }
-      if ( $e->getCode() == self::STOP_CRITICAL ) {
-        return false;
-      }
-    }
-    return true;
-  }
-
-  /**
-  * Return the current array of attachments
-  * @return array
-  */
-  public function GetAttachments() {
-    return $this->attachment;
-  }
-
-  /**
-   * Attaches all fs, string, and binary attachments to the message.
-   * Returns an empty string on failure.
-   * @access protected
-   * @param string $disposition_type
-   * @param string $boundary
-   * @return string
-   */
-  protected function AttachAll($disposition_type, $boundary) {
-    // Return text of body
-    $mime = array();
-    $cidUniq = array();
-    $incl = array();
-
-    // Add all attachments
-    foreach ($this->attachment as $attachment) {
-      // CHECK IF IT IS A VALID DISPOSITION_FILTER
-      if($attachment[6] == $disposition_type) {
-        // Check for string attachment
-        $string = '';
-        $path = '';
-        $bString = $attachment[5];
-        if ($bString) {
-          $string = $attachment[0];
+
+        if ($this->ReturnPath) {
+            $result .= $this->headerLine('Return-Path', '<' . trim($this->ReturnPath) . '>');
+        } elseif ($this->Sender == '') {
+            $result .= $this->headerLine('Return-Path', '<' . trim($this->From) . '>');
         } else {
-          $path = $attachment[0];
+            $result .= $this->headerLine('Return-Path', '<' . trim($this->Sender) . '>');
         }
 
-        $inclhash = md5(serialize($attachment));
-        if (in_array($inclhash, $incl)) { continue; }
-        $incl[]      = $inclhash;
-        $filename    = $attachment[1];
-        $name        = $attachment[2];
-        $encoding    = $attachment[3];
-        $type        = $attachment[4];
-        $disposition = $attachment[6];
-        $cid         = $attachment[7];
-        if ( $disposition == 'inline' && isset($cidUniq[$cid]) ) { continue; }
-        $cidUniq[$cid] = true;
+        // To be created automatically by mail()
+        if ($this->Mailer != 'mail') {
+            if ($this->SingleTo === true) {
+                foreach ($this->to as $t) {
+                    $this->SingleToArray[] = $this->addrFormat($t);
+                }
+            } else {
+                if (count($this->to) > 0) {
+                    $result .= $this->addrAppend('To', $this->to);
+                } elseif (count($this->cc) == 0) {
+                    $result .= $this->headerLine('To', 'undisclosed-recipients:;');
+                }
+            }
+        }
 
-        $mime[] = sprintf("--%s%s", $boundary, $this->LE);
-        $mime[] = sprintf("Content-Type: %s; name=\"%s\"%s", $type, $this->EncodeHeader($this->SecureHeader($name)), $this->LE);
-        $mime[] = sprintf("Content-Transfer-Encoding: %s%s", $encoding, $this->LE);
+        $result .= $this->addrAppend('From', array(array(trim($this->From), $this->FromName)));
 
-        if($disposition == 'inline') {
-          $mime[] = sprintf("Content-ID: <%s>%s", $cid, $this->LE);
+        // sendmail and mail() extract Cc from the header before sending
+        if (count($this->cc) > 0) {
+            $result .= $this->addrAppend('Cc', $this->cc);
         }
 
-        $mime[] = sprintf("Content-Disposition: %s; filename=\"%s\"%s", $disposition, $this->EncodeHeader($this->SecureHeader($name)), $this->LE.$this->LE);
+        // sendmail and mail() extract Bcc from the header before sending
+        if ((($this->Mailer == 'sendmail') || ($this->Mailer == 'mail')) && (count($this->bcc) > 0)) {
+            $result .= $this->addrAppend('Bcc', $this->bcc);
+        }
 
-        // Encode as string attachment
-        if($bString) {
-          $mime[] = $this->EncodeString($string, $encoding);
-          if($this->IsError()) {
-            return '';
-          }
-          $mime[] = $this->LE.$this->LE;
+        if (count($this->ReplyTo) > 0) {
+            $result .= $this->addrAppend('Reply-To', $this->ReplyTo);
+        }
+
+        // mail() sets the subject itself
+        if ($this->Mailer != 'mail') {
+            $result .= $this->headerLine('Subject', $this->encodeHeader($this->secureHeader($this->Subject)));
+        }
+
+        if ($this->MessageID != '') {
+            $this->lastMessageID = $this->MessageID;
         } else {
-          $mime[] = $this->EncodeFile($path, $encoding);
-          if($this->IsError()) {
-            return '';
-          }
-          $mime[] = $this->LE.$this->LE;
-        }
-      }
-    }
-
-    $mime[] = sprintf("--%s--%s", $boundary, $this->LE);
-
-    return implode("", $mime);
-  }
-
-  /**
-   * Encodes attachment in requested format.
-   * Returns an empty string on failure.
-   * @param string $path The full path to the file
-   * @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable'
-   * @throws phpmailerException
-   * @see EncodeFile()
-   * @access protected
-   * @return string
-   */
-  protected function EncodeFile($path, $encoding = 'base64') {
-    try {
-      if (!is_readable($path)) {
-        throw new phpmailerException($this->Lang('file_open') . $path, self::STOP_CONTINUE);
-      }
-      //  if (!function_exists('get_magic_quotes')) {
-      //    function get_magic_quotes() {
-      //      return false;
-      //    }
-      //  }
-      $magic_quotes = get_magic_quotes_runtime();
-      if ($magic_quotes) {
-        if (version_compare(PHP_VERSION, '5.3.0', '<')) {
-          set_magic_quotes_runtime(0);
+            $this->lastMessageID = sprintf("<%s@%s>", $uniq_id, $this->ServerHostname());
+        }
+        $result .= $this->HeaderLine('Message-ID', $this->lastMessageID);
+        $result .= $this->headerLine('X-Priority', $this->Priority);
+        if ($this->XMailer == '') {
+            $result .= $this->headerLine(
+                'X-Mailer',
+                'PHPMailer ' . $this->Version . ' (https://github.com/PHPMailer/PHPMailer/)'
+            );
         } else {
-          ini_set('magic_quotes_runtime', 0); 
-        }
-      }
-      $file_buffer  = file_get_contents($path);
-      $file_buffer  = $this->EncodeString($file_buffer, $encoding);
-      if ($magic_quotes) {
-        if (version_compare(PHP_VERSION, '5.3.0', '<')) {
-          set_magic_quotes_runtime($magic_quotes);
+            $myXmailer = trim($this->XMailer);
+            if ($myXmailer) {
+                $result .= $this->headerLine('X-Mailer', $myXmailer);
+            }
+        }
+
+        if ($this->ConfirmReadingTo != '') {
+            $result .= $this->headerLine('Disposition-Notification-To', '<' . trim($this->ConfirmReadingTo) . '>');
+        }
+
+        // Add custom headers
+        for ($index = 0; $index < count($this->CustomHeader); $index++) {
+            $result .= $this->headerLine(
+                trim($this->CustomHeader[$index][0]),
+                $this->encodeHeader(trim($this->CustomHeader[$index][1]))
+            );
+        }
+        if (!$this->sign_key_file) {
+            $result .= $this->headerLine('MIME-Version', '1.0');
+            $result .= $this->getMailMIME();
+        }
+
+        return $result;
+    }
+
+    /**
+     * Get the message MIME type headers.
+     * @access public
+     * @return string
+     */
+    public function getMailMIME()
+    {
+        $result = '';
+        switch ($this->message_type) {
+            case 'inline':
+                $result .= $this->headerLine('Content-Type', 'multipart/related;');
+                $result .= $this->textLine("\tboundary=\"" . $this->boundary[1] . '"');
+                break;
+            case 'attach':
+            case 'inline_attach':
+            case 'alt_attach':
+            case 'alt_inline_attach':
+                $result .= $this->headerLine('Content-Type', 'multipart/mixed;');
+                $result .= $this->textLine("\tboundary=\"" . $this->boundary[1] . '"');
+                break;
+            case 'alt':
+            case 'alt_inline':
+                $result .= $this->headerLine('Content-Type', 'multipart/alternative;');
+                $result .= $this->textLine("\tboundary=\"" . $this->boundary[1] . '"');
+                break;
+            default:
+                // Catches case 'plain': and case '':
+                $result .= $this->textLine('Content-Type: ' . $this->ContentType . '; charset=' . $this->CharSet);
+                break;
+        }
+        //RFC1341 part 5 says 7bit is assumed if not specified
+        if ($this->Encoding != '7bit') {
+            $result .= $this->headerLine('Content-Transfer-Encoding', $this->Encoding);
+        }
+
+        if ($this->Mailer != 'mail') {
+            $result .= $this->LE;
+        }
+
+        return $result;
+    }
+
+    /**
+     * Returns the whole MIME message.
+     * Includes complete headers and body.
+     * Only valid post PreSend().
+     * @see PHPMailer::PreSend()
+     * @access public
+     * @return string
+     */
+    public function getSentMIMEMessage()
+    {
+        return $this->MIMEHeader . $this->mailHeader . self::CRLF . $this->MIMEBody;
+    }
+
+
+    /**
+     * Assemble the message body.
+     * Returns an empty string on failure.
+     * @access public
+     * @throws phpmailerException
+     * @return string The assembled message body
+     */
+    public function createBody()
+    {
+        $body = '';
+
+        if ($this->sign_key_file) {
+            $body .= $this->getMailMIME() . $this->LE;
+        }
+
+        $this->setWordWrap();
+
+        switch ($this->message_type) {
+            case 'inline':
+                $body .= $this->getBoundary($this->boundary[1], '', '', '');
+                $body .= $this->encodeString($this->Body, $this->Encoding);
+                $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 .= $this->LE . $this->LE;
+                $body .= $this->attachAll('attachment', $this->boundary[1]);
+                break;
+            case 'inline_attach':
+                $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->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 .= $this->LE . $this->LE;
+                $body .= $this->getBoundary($this->boundary[1], '', 'text/html', '');
+                $body .= $this->encodeString($this->Body, $this->Encoding);
+                $body .= $this->LE . $this->LE;
+                if (!empty($this->Ical)) {
+                    $body .= $this->getBoundary($this->boundary[1], '', 'text/calendar; method=REQUEST', '');
+                    $body .= $this->encodeString($this->Ical, $this->Encoding);
+                    $body .= $this->LE . $this->LE;
+                }
+                $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 .= $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->LE . $this->LE;
+                $body .= $this->attachAll('inline', $this->boundary[2]);
+                $body .= $this->LE;
+                $body .= $this->endBoundary($this->boundary[1]);
+                break;
+            case 'alt_attach':
+                $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->LE . $this->LE;
+                $body .= $this->getBoundary($this->boundary[2], '', 'text/html', '');
+                $body .= $this->encodeString($this->Body, $this->Encoding);
+                $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 .= $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->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->LE . $this->LE;
+                $body .= $this->attachAll('inline', $this->boundary[3]);
+                $body .= $this->LE;
+                $body .= $this->endBoundary($this->boundary[2]);
+                $body .= $this->LE;
+                $body .= $this->attachAll('attachment', $this->boundary[1]);
+                break;
+            default:
+                // catch case 'plain' and case ''
+                $body .= $this->encodeString($this->Body, $this->Encoding);
+                break;
+        }
+
+        if ($this->isError()) {
+            $body = '';
+        } elseif ($this->sign_key_file) {
+            try {
+                if (!defined('PKCS7_TEXT')) {
+                    throw new phpmailerException($this->lang('signing') . ' OpenSSL extension missing.');
+                }
+                $file = tempnam(sys_get_temp_dir(), 'mail');
+                file_put_contents($file, $body); //TODO check this worked
+                $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
+                )
+                ) {
+                    @unlink($file);
+                    $body = file_get_contents($signed);
+                    @unlink($signed);
+                } else {
+                    @unlink($file);
+                    @unlink($signed);
+                    throw new phpmailerException($this->lang('signing') . openssl_error_string());
+                }
+            } catch (phpmailerException $e) {
+                $body = '';
+                if ($this->exceptions) {
+                    throw $e;
+                }
+            }
+        }
+        return $body;
+    }
+
+    /**
+     * Return the start of a message boundary.
+     * @access protected
+     * @param string $boundary
+     * @param string $charSet
+     * @param string $contentType
+     * @param string $encoding
+     * @return string
+     */
+    protected function getBoundary($boundary, $charSet, $contentType, $encoding)
+    {
+        $result = '';
+        if ($charSet == '') {
+            $charSet = $this->CharSet;
+        }
+        if ($contentType == '') {
+            $contentType = $this->ContentType;
+        }
+        if ($encoding == '') {
+            $encoding = $this->Encoding;
+        }
+        $result .= $this->textLine('--' . $boundary);
+        $result .= sprintf("Content-Type: %s; charset=%s", $contentType, $charSet);
+        $result .= $this->LE;
+        $result .= $this->headerLine('Content-Transfer-Encoding', $encoding);
+        $result .= $this->LE;
+
+        return $result;
+    }
+
+    /**
+     * Return the end of a message boundary.
+     * @access protected
+     * @param string $boundary
+     * @return string
+     */
+    protected function endBoundary($boundary)
+    {
+        return $this->LE . '--' . $boundary . '--' . $this->LE;
+    }
+
+    /**
+     * Set the message type.
+     * PHPMailer only supports some preset message types,
+     * not arbitrary MIME structures.
+     * @access protected
+     * @return void
+     */
+    protected function setMessageType()
+    {
+        $this->message_type = array();
+        if ($this->alternativeExists()) {
+            $this->message_type[] = "alt";
+        }
+        if ($this->inlineImageExists()) {
+            $this->message_type[] = "inline";
+        }
+        if ($this->attachmentExists()) {
+            $this->message_type[] = "attach";
+        }
+        $this->message_type = implode("_", $this->message_type);
+        if ($this->message_type == "") {
+            $this->message_type = "plain";
+        }
+    }
+
+    /**
+     * Format a header line.
+     * @access public
+     * @param string $name
+     * @param string $value
+     * @return string
+     */
+    public function headerLine($name, $value)
+    {
+        return $name . ': ' . $value . $this->LE;
+    }
+
+    /**
+     * Return a formatted mail line.
+     * @access public
+     * @param string $value
+     * @return string
+     */
+    public function textLine($value)
+    {
+        return $value . $this->LE;
+    }
+
+    /**
+     * Add an attachment from a path on the filesystem.
+     * Returns false if the file could not be found or read.
+     * @param string $path Path to the attachment.
+     * @param string $name Overrides the attachment name.
+     * @param string $encoding File encoding (see $Encoding).
+     * @param string $type File extension (MIME) type.
+     * @param string $disposition Disposition to use
+     * @throws phpmailerException
+     * @return bool
+     */
+    public function addAttachment($path, $name = '', $encoding = 'base64', $type = '', $disposition = 'attachment')
+    {
+        try {
+            if (!@is_file($path)) {
+                throw new phpmailerException($this->lang('file_access') . $path, self::STOP_CONTINUE);
+            }
+
+            //If a MIME type is not specified, try to work it out from the file name
+            if ($type == '') {
+                $type = self::filenameToType($path);
+            }
+
+            $filename = basename($path);
+            if ($name == '') {
+                $name = $filename;
+            }
+
+            $this->attachment[] = array(
+                0 => $path,
+                1 => $filename,
+                2 => $name,
+                3 => $encoding,
+                4 => $type,
+                5 => false, // isStringAttachment
+                6 => $disposition,
+                7 => 0
+            );
+
+        } catch (phpmailerException $e) {
+            $this->setError($e->getMessage());
+            if ($this->exceptions) {
+                throw $e;
+            }
+            $this->edebug($e->getMessage() . "\n");
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Return the array of attachments.
+     * @return array
+     */
+    public function getAttachments()
+    {
+        return $this->attachment;
+    }
+
+    /**
+     * Attach all file, string, and binary attachments to the message.
+     * Returns an empty string on failure.
+     * @access protected
+     * @param string $disposition_type
+     * @param string $boundary
+     * @return string
+     */
+    protected function attachAll($disposition_type, $boundary)
+    {
+        // Return text of body
+        $mime = array();
+        $cidUniq = array();
+        $incl = array();
+
+        // Add all attachments
+        foreach ($this->attachment as $attachment) {
+            // Check if it is a valid disposition_filter
+            if ($attachment[6] == $disposition_type) {
+                // Check for string attachment
+                $string = '';
+                $path = '';
+                $bString = $attachment[5];
+                if ($bString) {
+                    $string = $attachment[0];
+                } else {
+                    $path = $attachment[0];
+                }
+
+                $inclhash = md5(serialize($attachment));
+                if (in_array($inclhash, $incl)) {
+                    continue;
+                }
+                $incl[] = $inclhash;
+                $name = $attachment[2];
+                $encoding = $attachment[3];
+                $type = $attachment[4];
+                $disposition = $attachment[6];
+                $cid = $attachment[7];
+                if ($disposition == 'inline' && isset($cidUniq[$cid])) {
+                    continue;
+                }
+                $cidUniq[$cid] = true;
+
+                $mime[] = sprintf("--%s%s", $boundary, $this->LE);
+                $mime[] = sprintf(
+                    "Content-Type: %s; name=\"%s\"%s",
+                    $type,
+                    $this->encodeHeader($this->secureHeader($name)),
+                    $this->LE
+                );
+                $mime[] = sprintf("Content-Transfer-Encoding: %s%s", $encoding, $this->LE);
+
+                if ($disposition == 'inline') {
+                    $mime[] = sprintf("Content-ID: <%s>%s", $cid, $this->LE);
+                }
+
+                // If a filename contains any of these chars, it should be quoted,
+                // but not otherwise: RFC2183 & RFC2045 5.1
+                // Fixes a warning in IETF's msglint MIME checker
+                // Allow for bypassing the Content-Disposition header totally
+                if (!(empty($disposition))) {
+                    if (preg_match('/[ \(\)<>@,;:\\"\/\[\]\?=]/', $name)) {
+                        $mime[] = sprintf(
+                            "Content-Disposition: %s; filename=\"%s\"%s",
+                            $disposition,
+                            $this->encodeHeader($this->secureHeader($name)),
+                            $this->LE . $this->LE
+                        );
+                    } else {
+                        $mime[] = sprintf(
+                            "Content-Disposition: %s; filename=%s%s",
+                            $disposition,
+                            $this->encodeHeader($this->secureHeader($name)),
+                            $this->LE . $this->LE
+                        );
+                    }
+                } else {
+                    $mime[] = $this->LE;
+                }
+
+                // Encode as string attachment
+                if ($bString) {
+                    $mime[] = $this->encodeString($string, $encoding);
+                    if ($this->isError()) {
+                        return '';
+                    }
+                    $mime[] = $this->LE . $this->LE;
+                } else {
+                    $mime[] = $this->encodeFile($path, $encoding);
+                    if ($this->isError()) {
+                        return '';
+                    }
+                    $mime[] = $this->LE . $this->LE;
+                }
+            }
+        }
+
+        $mime[] = sprintf("--%s--%s", $boundary, $this->LE);
+
+        return implode("", $mime);
+    }
+
+    /**
+     * Encode a file attachment in requested format.
+     * Returns an empty string on failure.
+     * @param string $path The full path to the file
+     * @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable'
+     * @throws phpmailerException
+     * @see EncodeFile(encodeFile
+     * @access protected
+     * @return string
+     */
+    protected function encodeFile($path, $encoding = 'base64')
+    {
+        try {
+            if (!is_readable($path)) {
+                throw new phpmailerException($this->lang('file_open') . $path, self::STOP_CONTINUE);
+            }
+            $magic_quotes = get_magic_quotes_runtime();
+            if ($magic_quotes) {
+                if (version_compare(PHP_VERSION, '5.3.0', '<')) {
+                    set_magic_quotes_runtime(0);
+                } else {
+                    ini_set('magic_quotes_runtime', 0);
+                }
+            }
+            $file_buffer = file_get_contents($path);
+            $file_buffer = $this->encodeString($file_buffer, $encoding);
+            if ($magic_quotes) {
+                if (version_compare(PHP_VERSION, '5.3.0', '<')) {
+                    set_magic_quotes_runtime($magic_quotes);
+                } else {
+                    ini_set('magic_quotes_runtime', $magic_quotes);
+                }
+            }
+            return $file_buffer;
+        } catch (Exception $e) {
+            $this->setError($e->getMessage());
+            return '';
+        }
+    }
+
+    /**
+     * Encode a string in requested format.
+     * Returns an empty string on failure.
+     * @param string $str The text to encode
+     * @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable'
+     * @access public
+     * @return string
+     */
+    public function encodeString($str, $encoding = 'base64')
+    {
+        $encoded = '';
+        switch (strtolower($encoding)) {
+            case 'base64':
+                $encoded = chunk_split(base64_encode($str), 76, $this->LE);
+                break;
+            case '7bit':
+            case '8bit':
+                $encoded = $this->fixEOL($str);
+                //Make sure it ends with a line break
+                if (substr($encoded, -(strlen($this->LE))) != $this->LE) {
+                    $encoded .= $this->LE;
+                }
+                break;
+            case 'binary':
+                $encoded = $str;
+                break;
+            case 'quoted-printable':
+                $encoded = $this->encodeQP($str);
+                break;
+            default:
+                $this->setError($this->lang('encoding') . $encoding);
+                break;
+        }
+        return $encoded;
+    }
+
+    /**
+     * Encode a header string optimally.
+     * Picks shortest of Q, B, quoted-printable or none.
+     * @access public
+     * @param string $str
+     * @param string $position
+     * @return string
+     */
+    public function encodeHeader($str, $position = 'text')
+    {
+        $x = 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
+                    $encoded = addcslashes($str, "\0..\37\177\\\"");
+                    if (($str == $encoded) && !preg_match('/[^A-Za-z0-9!#$%&\'*+\/=?^_`{|}~ -]/', $str)) {
+                        return ($encoded);
+                    } else {
+                        return ("\"$encoded\"");
+                    }
+                }
+                $x = preg_match_all('/[^\040\041\043-\133\135-\176]/', $str, $matches);
+                break;
+            /** @noinspection PhpMissingBreakStatementInspection */
+            case 'comment':
+                $x = 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);
+                break;
+        }
+
+        if ($x == 0) { //There are no chars that need encoding
+            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
+            $encoding = 'B';
+            if (function_exists('mb_strlen') && $this->hasMultiBytes($str)) {
+                // Use a custom function which correctly encodes and wraps long
+                // multibyte strings without breaking lines within a character
+                $encoded = $this->base64EncodeWrapMB($str, "\n");
+            } else {
+                $encoded = base64_encode($str);
+                $maxlen -= $maxlen % 4;
+                $encoded = trim(chunk_split($encoded, $maxlen, "\n"));
+            }
         } else {
-          ini_set('magic_quotes_runtime', $magic_quotes); 
-        }
-      }
-      return $file_buffer;
-    } catch (Exception $e) {
-      $this->SetError($e->getMessage());
-      return '';
-    }
-  }
-
-  /**
-   * Encodes string to requested format.
-   * Returns an empty string on failure.
-   * @param string $str The text to encode
-   * @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable'
-   * @access public
-   * @return string
-   */
-  public function EncodeString($str, $encoding = 'base64') {
-    $encoded = '';
-    switch(strtolower($encoding)) {
-      case 'base64':
-        $encoded = chunk_split(base64_encode($str), 76, $this->LE);
-        break;
-      case '7bit':
-      case '8bit':
-        $encoded = $this->FixEOL($str);
-        //Make sure it ends with a line break
-        if (substr($encoded, -(strlen($this->LE))) != $this->LE)
-          $encoded .= $this->LE;
-        break;
-      case 'binary':
-        $encoded = $str;
-        break;
-      case 'quoted-printable':
-        $encoded = $this->EncodeQP($str);
-        break;
-      default:
-        $this->SetError($this->Lang('encoding') . $encoding);
-        break;
-    }
-    return $encoded;
-  }
-
-  /**
-   * Encode a header string to best (shortest) of Q, B, quoted or none.
-   * @access public
-   * @param string $str
-   * @param string $position
-   * @return string
-   */
-  public function EncodeHeader($str, $position = 'text') {
-    $x = 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
-          $encoded = addcslashes($str, "\0..\37\177\\\"");
-          if (($str == $encoded) && !preg_match('/[^A-Za-z0-9!#$%&\'*+\/=?^_`{|}~ -]/', $str)) {
-            return ($encoded);
-          } else {
-            return ("\"$encoded\"");
-          }
-        }
-        $x = preg_match_all('/[^\040\041\043-\133\135-\176]/', $str, $matches);
-        break;
-      case 'comment':
-        $x = preg_match_all('/[()"]/', $str, $matches);
-        // Fall-through
-      case 'text':
-      default:
-        $x += preg_match_all('/[\000-\010\013\014\016-\037\177-\377]/', $str, $matches);
-        break;
-    }
-
-    if ($x == 0) {
-      return ($str);
-    }
-
-    $maxlen = 75 - 7 - strlen($this->CharSet);
-    // Try to select the encoding which should produce the shortest output
-    if (strlen($str)/3 < $x) {
-      $encoding = 'B';
-      if (function_exists('mb_strlen') && $this->HasMultiBytes($str)) {
-        // Use a custom function which correctly encodes and wraps long
-        // multibyte strings without breaking lines within a character
-        $encoded = $this->Base64EncodeWrapMB($str, "\n");
-      } else {
-        $encoded = base64_encode($str);
-        $maxlen -= $maxlen % 4;
-        $encoded = trim(chunk_split($encoded, $maxlen, "\n"));
-      }
-    } else {
-      $encoding = 'Q';
-      $encoded = $this->EncodeQ($str, $position);
-      $encoded = $this->WrapText($encoded, $maxlen, true);
-      $encoded = str_replace('='.self::CRLF, "\n", trim($encoded));
-    }
-
-    $encoded = preg_replace('/^(.*)$/m', " =?".$this->CharSet."?$encoding?\\1?=", $encoded);
-    $encoded = trim(str_replace("\n", $this->LE, $encoded));
-
-    return $encoded;
-  }
-
-  /**
-   * Checks if a string contains multibyte characters.
-   * @access public
-   * @param string $str multi-byte text to wrap encode
-   * @return bool
-   */
-  public function HasMultiBytes($str) {
-    if (function_exists('mb_strlen')) {
-      return (strlen($str) > mb_strlen($str, $this->CharSet));
-    } else { // Assume no multibytes (we can't handle without mbstring functions anyway)
-      return false;
-    }
-  }
-
-  /**
-   * Correctly encodes and wraps 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
-   * @access public
-   * @param string $str multi-byte text to wrap encode
-   * @param string $lf string to use as linefeed/end-of-line
-   * @return string
-   */
-  public function Base64EncodeWrapMB($str, $lf=null) {
-    $start = "=?".$this->CharSet."?B?";
-    $end = "?=";
-    $encoded = "";
-    if ($lf === null) {
-      $lf = $this->LE;
-    }
-
-    $mb_length = mb_strlen($str, $this->CharSet);
-    // Each line must have length <= 75, including $start and $end
-    $length = 75 - strlen($start) - strlen($end);
-    // Average multi-byte ratio
-    $ratio = $mb_length / strlen($str);
-    // Base64 has a 4:3 ratio
-    $offset = $avgLength = floor($length * $ratio * .75);
-
-    for ($i = 0; $i < $mb_length; $i += $offset) {
-      $lookBack = 0;
-
-      do {
-        $offset = $avgLength - $lookBack;
-        $chunk = mb_substr($str, $i, $offset, $this->CharSet);
-        $chunk = base64_encode($chunk);
-        $lookBack++;
-      }
-      while (strlen($chunk) > $length);
-
-      $encoded .= $chunk . $lf;
-    }
-
-    // Chomp the last linefeed
-    $encoded = substr($encoded, 0, -strlen($lf));
-    return $encoded;
-  }
-
-  /**
-  * Encode string to quoted-printable.
-  * Only uses standard PHP, slow, but will always work
-  * @access public
-   * @param string $input
-  * @param integer $line_max Number of chars allowed on a line before wrapping
-   * @param bool $space_conv
-   * @internal param string $string the text to encode
-  * @return string
-  */
-  public function EncodeQPphp( $input = '', $line_max = 76, $space_conv = false) {
-    $hex = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
-    $lines = preg_split('/(?:\r\n|\r|\n)/', $input);
-    $eol = "\r\n";
-    $escape = '=';
-    $output = '';
-    while( list(, $line) = each($lines) ) {
-      $linlen = strlen($line);
-      $newline = '';
-      for($i = 0; $i < $linlen; $i++) {
-        $c = substr( $line, $i, 1 );
-        $dec = ord( $c );
-        if ( ( $i == 0 ) && ( $dec == 46 ) ) { // convert first point in the line into =2E
-          $c = '=2E';
-        }
-        if ( $dec == 32 ) {
-          if ( $i == ( $linlen - 1 ) ) { // convert space at eol only
-            $c = '=20';
-          } else if ( $space_conv ) {
-            $c = '=20';
-          }
-        } elseif ( ($dec == 61) || ($dec < 32 ) || ($dec > 126) ) { // always encode "\t", which is *not* required
-          $h2 = (integer)floor($dec/16);
-          $h1 = (integer)floor($dec%16);
-          $c = $escape.$hex[$h2].$hex[$h1];
-        }
-        if ( (strlen($newline) + strlen($c)) >= $line_max ) { // CRLF is not counted
-          $output .= $newline.$escape.$eol; //  soft line break; " =\r\n" is okay
-          $newline = '';
-          // check if newline first character will be point or not
-          if ( $dec == 46 ) {
-            $c = '=2E';
-          }
-        }
-        $newline .= $c;
-      } // end of for
-      $output .= $newline.$eol;
-    } // end of while
-    return $output;
-  }
-
-  /**
-  * Encode string to RFC2045 (6.7) quoted-printable format
-  * Uses a PHP5 stream filter to do the encoding about 64x faster than the old version
-  * Also results in same content as you started with after decoding
-  * @see EncodeQPphp()
-  * @access public
-  * @param string $string the text to encode
-  * @param integer $line_max Number of chars allowed on a line before wrapping
-  * @param boolean $space_conv Dummy param for compatibility with existing EncodeQP function
-  * @return string
-  * @author Marcus Bointon
-  */
-  public function EncodeQP($string, $line_max = 76, $space_conv = false) {
-    if (function_exists('quoted_printable_encode')) { //Use native function if it's available (>= PHP5.3)
-      return quoted_printable_encode($string);
-    }
-    $filters = stream_get_filters();
-    if (!in_array('convert.*', $filters)) { //Got convert stream filter?
-      return $this->EncodeQPphp($string, $line_max, $space_conv); //Fall back to old implementation
-    }
-    $fp = fopen('php://temp/', 'r+');
-    $string = preg_replace('/\r\n?/', $this->LE, $string); //Normalise line breaks
-    $params = array('line-length' => $line_max, 'line-break-chars' => $this->LE);
-    $s = stream_filter_append($fp, 'convert.quoted-printable-encode', STREAM_FILTER_READ, $params);
-    fputs($fp, $string);
-    rewind($fp);
-    $out = stream_get_contents($fp);
-    stream_filter_remove($s);
-    $out = preg_replace('/^\./m', '=2E', $out); //Encode . if it is first char on a line, workaround for bug in Exchange
-    fclose($fp);
-    return $out;
-  }
-
-  /**
-   * Encode string to q encoding.
-   * @link http://tools.ietf.org/html/rfc2047
-   * @param string $str the text to encode
-   * @param string $position Where the text is going to be used, see the RFC for what that means
-   * @access public
-   * @return string
-   */
-  public function EncodeQ($str, $position = 'text') {
-    //There should not be any EOL in the string
-       $pattern="";
-    $encoded = str_replace(array("\r", "\n"), '', $str);
-    switch (strtolower($position)) {
-      case 'phrase':
-        $pattern = '^A-Za-z0-9!*+\/ -';
-        break;
-
-      case 'comment':
-        $pattern = '\(\)"';
-        //note that we dont break here!
-        //for this reason we build the $pattern withoud including delimiters and []
-
-      case 'text':
-      default:
-        //Replace every high ascii, control =, ? and _ characters
-        //We put \075 (=) as first value to make sure it's the first one in being converted, preventing double encode
-        $pattern = '\075\000-\011\013\014\016-\037\077\137\177-\377' . $pattern;
-        break;
-    }
-    
-    if (preg_match_all("/[{$pattern}]/", $encoded, $matches)) {
-      foreach (array_unique($matches[0]) as $char) {
-        $encoded = str_replace($char, '=' . sprintf('%02X', ord($char)), $encoded);
-      }
-    }
-    
-    //Replace every spaces to _ (more readable than =20)
-    return str_replace(' ', '_', $encoded);
-}
+            $encoding = 'Q';
+            $encoded = $this->encodeQ($str, $position);
+            $encoded = $this->wrapText($encoded, $maxlen, true);
+            $encoded = str_replace('=' . self::CRLF, "\n", trim($encoded));
+        }
+
+        $encoded = preg_replace('/^(.*)$/m', " =?" . $this->CharSet . "?$encoding?\\1?=", $encoded);
+        $encoded = trim(str_replace("\n", $this->LE, $encoded));
 
+        return $encoded;
+    }
+
+    /**
+     * Check if a string contains multi-byte characters.
+     * @access public
+     * @param string $str multi-byte text to wrap encode
+     * @return bool
+     */
+    public function hasMultiBytes($str)
+    {
+        if (function_exists('mb_strlen')) {
+            return (strlen($str) > mb_strlen($str, $this->CharSet));
+        } else { // Assume no multibytes (we can't handle without mbstring functions anyway)
+            return false;
+        }
+    }
+
+    /**
+     * 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
+     * @access public
+     * @param string $str multi-byte text to wrap encode
+     * @param string $lf string to use as linefeed/end-of-line
+     * @return string
+     */
+    public function base64EncodeWrapMB($str, $lf = null)
+    {
+        $start = "=?" . $this->CharSet . "?B?";
+        $end = "?=";
+        $encoded = "";
+        if ($lf === null) {
+            $lf = $this->LE;
+        }
+
+        $mb_length = mb_strlen($str, $this->CharSet);
+        // Each line must have length <= 75, including $start and $end
+        $length = 75 - strlen($start) - strlen($end);
+        // Average multi-byte ratio
+        $ratio = $mb_length / strlen($str);
+        // Base64 has a 4:3 ratio
+        $avgLength = floor($length * $ratio * .75);
+
+        for ($i = 0; $i < $mb_length; $i += $offset) {
+            $lookBack = 0;
+            do {
+                $offset = $avgLength - $lookBack;
+                $chunk = mb_substr($str, $i, $offset, $this->CharSet);
+                $chunk = base64_encode($chunk);
+                $lookBack++;
+            } while (strlen($chunk) > $length);
+            $encoded .= $chunk . $lf;
+        }
+
+        // Chomp the last linefeed
+        $encoded = substr($encoded, 0, -strlen($lf));
+        return $encoded;
+    }
+
+    /**
+     * Encode a string in quoted-printable format.
+     * According to RFC2045 section 6.7.
+     * @access public
+     * @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
+     */
+    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);
+        }
+        //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;
+    }
+
+    /**
+     * Backward compatibility wrapper for an old QP encoding function that was removed.
+     * @see PHPMailer::encodeQP()
+     * @access public
+     * @param string $string
+     * @param integer $line_max
+     * @param bool $space_conv
+     * @return string
+     * @deprecated Use encodeQP instead.
+     */
+    public function encodeQPphp(
+        $string,
+        $line_max = 76,
+        /** @noinspection PhpUnusedParameterInspection */ $space_conv = false
+    ) {
+        return $this->encodeQP($string, $line_max);
+    }
+
+    /**
+     * Encode a string using Q encoding.
+     * @link http://tools.ietf.org/html/rfc2047
+     * @param string $str the text to encode
+     * @param string $position Where the text is going to be used, see the RFC for what that means
+     * @access public
+     * @return string
+     */
+    public function encodeQ($str, $position = 'text')
+    {
+        //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
+                $pattern = '^A-Za-z0-9!*+\/ -';
+                break;
+            /** @noinspection PhpMissingBreakStatementInspection */
+            case 'comment':
+                //RFC 2047 section 5.2
+                $pattern = '\(\)"';
+                //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
+                $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]);
+                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)
+        return str_replace(' ', '_', $encoded);
+    }
+
+
+    /**
+     * Add a string or binary attachment (non-filesystem).
+     * This method can be used to attach ascii or binary data,
+     * such as a BLOB record from a database.
+     * @param string $string String attachment data.
+     * @param string $filename Name of the attachment.
+     * @param string $encoding File encoding (see $Encoding).
+     * @param string $type File extension (MIME) type.
+     * @param string $disposition Disposition to use
+     * @return void
+     */
+    public function addStringAttachment(
+        $string,
+        $filename,
+        $encoding = 'base64',
+        $type = '',
+        $disposition = 'attachment'
+    ) {
+        //If a MIME type is not specified, try to work it out from the file name
+        if ($type == '') {
+            $type = self::filenameToType($filename);
+        }
+        // Append to $attachment array
+        $this->attachment[] = array(
+            0 => $string,
+            1 => $filename,
+            2 => basename($filename),
+            3 => $encoding,
+            4 => $type,
+            5 => true, // isStringAttachment
+            6 => $disposition,
+            7 => 0
+        );
+    }
+
+    /**
+     * 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
+     * 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.
+     * @param string $path Path to the attachment.
+     * @param string $cid Content ID of the attachment; Use this to reference
+     *        the content when using an embedded image in HTML.
+     * @param string $name Overrides the attachment name.
+     * @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
+     */
+    public function addEmbeddedImage($path, $cid, $name = '', $encoding = 'base64', $type = '', $disposition = 'inline')
+    {
+        if (!@is_file($path)) {
+            $this->setError($this->lang('file_access') . $path);
+            return false;
+        }
+
+        //If a MIME type is not specified, try to work it out from the file name
+        if ($type == '') {
+            $type = self::filenameToType($path);
+        }
 
-  /**
-   * Adds a string or binary attachment (non-filesystem) to the list.
-   * This method can be used to attach ascii or binary data,
-   * such as a BLOB record from a database.
-   * @param string $string String attachment data.
-   * @param string $filename Name of the attachment.
-   * @param string $encoding File encoding (see $Encoding).
-   * @param string $type File extension (MIME) type.
-   * @return void
-   */
-  public function AddStringAttachment($string, $filename, $encoding = 'base64', $type = 'application/octet-stream') {
-    // Append to $attachment array
-    $this->attachment[] = array(
-      0 => $string,
-      1 => $filename,
-      2 => basename($filename),
-      3 => $encoding,
-      4 => $type,
-      5 => true,  // isStringAttachment
-      6 => 'attachment',
-      7 => 0
-    );
-  }
-
-  /**
-   * Adds an embedded attachment.  This can include images, sounds, and
-   * just about any other document.  Make sure to set the $type to an
-   * image type.  For JPEG images use "image/jpeg" and for GIF images
-   * use "image/gif".
-   * @param string $path Path to the attachment.
-   * @param string $cid Content ID of the attachment.  Use this to identify
-   *        the Id for accessing the image in an HTML form.
-   * @param string $name Overrides the attachment name.
-   * @param string $encoding File encoding (see $Encoding).
-   * @param string $type File extension (MIME) type.
-   * @return bool
-   */
-  public function AddEmbeddedImage($path, $cid, $name = '', $encoding = 'base64', $type = 'application/octet-stream') {
-
-    if ( !@is_file($path) ) {
-      $this->SetError($this->Lang('file_access') . $path);
-      return false;
-    }
-
-    $filename = basename($path);
-    if ( $name == '' ) {
-      $name = $filename;
-    }
-
-    // Append to $attachment array
-    $this->attachment[] = array(
-      0 => $path,
-      1 => $filename,
-      2 => $name,
-      3 => $encoding,
-      4 => $type,
-      5 => false,  // isStringAttachment
-      6 => 'inline',
-      7 => $cid
-    );
-
-    return true;
-  }
-
-  /**
-   * Adds an embedded stringified attachment.  This can include images, sounds, and
-   * just about any other document.  Make sure to set the $type to an
-   * image type.  For JPEG images use "image/jpeg" and for GIF images
-   * use "image/gif".
-   * @param string $string The attachment.
-   * @param string $cid Content ID of the attachment.  Use this to identify
-   *        the Id for accessing the image in an HTML form.
-   * @param string $name Overrides the attachment name.
-   * @param string $encoding File encoding (see $Encoding).
-   * @param string $type File extension (MIME) type.
-   * @return bool
-   */
-  public function AddStringEmbeddedImage($string, $cid, $name = '', $encoding = 'base64', $type = 'application/octet-stream') {
-    // Append to $attachment array
-    $this->attachment[] = array(
-      0 => $string,
-      1 => $name,
-      2 => $name,
-      3 => $encoding,
-      4 => $type,
-      5 => true,  // isStringAttachment
-      6 => 'inline',
-      7 => $cid
-    );
-  }
-
-  /**
-   * Returns true if an inline attachment is present.
-   * @access public
-   * @return bool
-   */
-  public function InlineImageExists() {
-    foreach($this->attachment as $attachment) {
-      if ($attachment[6] == 'inline') {
+        $filename = basename($path);
+        if ($name == '') {
+            $name = $filename;
+        }
+
+        // Append to $attachment array
+        $this->attachment[] = array(
+            0 => $path,
+            1 => $filename,
+            2 => $name,
+            3 => $encoding,
+            4 => $type,
+            5 => false, // isStringAttachment
+            6 => $disposition,
+            7 => $cid
+        );
         return true;
-      }
-    }
-    return false;
-  }
-
-  /**
-   * Returns true if an attachment (non-inline) is present.
-   * @return bool
-   */
-  public function AttachmentExists() {
-    foreach($this->attachment as $attachment) {
-      if ($attachment[6] == 'attachment') {
+    }
+
+    /**
+     * Add an embedded stringified attachment.
+     * This can include images, sounds, and just about any other document type.
+     * Be sure to set the $type to an image type for images:
+     * JPEG images use 'image/jpeg', GIF uses 'image/gif', PNG uses 'image/png'.
+     * @param string $string The attachment binary data.
+     * @param string $cid Content ID of the attachment; Use this to reference
+     *        the content when using an embedded image in HTML.
+     * @param string $name
+     * @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
+     */
+    public function addStringEmbeddedImage(
+        $string,
+        $cid,
+        $name = '',
+        $encoding = 'base64',
+        $type = '',
+        $disposition = 'inline'
+    ) {
+        //If a MIME type is not specified, try to work it out from the name
+        if ($type == '') {
+            $type = self::filenameToType($name);
+        }
+
+        // Append to $attachment array
+        $this->attachment[] = array(
+            0 => $string,
+            1 => $name,
+            2 => $name,
+            3 => $encoding,
+            4 => $type,
+            5 => true, // isStringAttachment
+            6 => $disposition,
+            7 => $cid
+        );
         return true;
-      }
-    }
-    return false;
-  }
-
-  /**
-   * Does this message have an alternative body set?
-   * @return bool
-   */
-  public function AlternativeExists() {
-    return !empty($this->AltBody);
-  }
-
-  /////////////////////////////////////////////////
-  // CLASS METHODS, MESSAGE RESET
-  /////////////////////////////////////////////////
-
-  /**
-   * Clears all recipients assigned in the TO array.  Returns void.
-   * @return void
-   */
-  public function ClearAddresses() {
-    foreach($this->to as $to) {
-      unset($this->all_recipients[strtolower($to[0])]);
-    }
-    $this->to = array();
-  }
-
-  /**
-   * Clears all recipients assigned in the CC array.  Returns void.
-   * @return void
-   */
-  public function ClearCCs() {
-    foreach($this->cc as $cc) {
-      unset($this->all_recipients[strtolower($cc[0])]);
-    }
-    $this->cc = array();
-  }
-
-  /**
-   * Clears all recipients assigned in the BCC array.  Returns void.
-   * @return void
-   */
-  public function ClearBCCs() {
-    foreach($this->bcc as $bcc) {
-      unset($this->all_recipients[strtolower($bcc[0])]);
-    }
-    $this->bcc = array();
-  }
-
-  /**
-   * Clears all recipients assigned in the ReplyTo array.  Returns void.
-   * @return void
-   */
-  public function ClearReplyTos() {
-    $this->ReplyTo = array();
-  }
-
-  /**
-   * Clears all recipients assigned in the TO, CC and BCC
-   * array.  Returns void.
-   * @return void
-   */
-  public function ClearAllRecipients() {
-    $this->to = array();
-    $this->cc = array();
-    $this->bcc = array();
-    $this->all_recipients = array();
-  }
-
-  /**
-   * Clears all previously set filesystem, string, and binary
-   * attachments.  Returns void.
-   * @return void
-   */
-  public function ClearAttachments() {
-    $this->attachment = array();
-  }
-
-  /**
-   * Clears all custom headers.  Returns void.
-   * @return void
-   */
-  public function ClearCustomHeaders() {
-    $this->CustomHeader = array();
-  }
-
-  /////////////////////////////////////////////////
-  // CLASS METHODS, MISCELLANEOUS
-  /////////////////////////////////////////////////
-
-  /**
-   * Adds the error message to the error container.
-   * @access protected
-   * @param string $msg
-   * @return void
-   */
-  protected function SetError($msg) {
-    $this->error_count++;
-    if ($this->Mailer == 'smtp' and !is_null($this->smtp)) {
-      $lasterror = $this->smtp->getError();
-      if (!empty($lasterror) and array_key_exists('smtp_msg', $lasterror)) {
-        $msg .= '<p>' . $this->Lang('smtp_error') . $lasterror['smtp_msg'] . "</p>\n";
-      }
-    }
-    $this->ErrorInfo = $msg;
-  }
-
-  /**
-   * Returns the proper RFC 822 formatted date.
-   * @access public
-   * @return string
-   * @static
-   */
-  public static function RFCDate() {
-    $tz = date('Z');
-    $tzs = ($tz < 0) ? '-' : '+';
-    $tz = abs($tz);
-    $tz = (int)($tz/3600)*100 + ($tz%3600)/60;
-    $result = sprintf("%s %s%04d", date('D, j M Y H:i:s'), $tzs, $tz);
-
-    return $result;
-  }
-
-  /**
-   * Returns the server hostname or 'localhost.localdomain' if unknown.
-   * @access protected
-   * @return string
-   */
-  protected function ServerHostname() {
-    if (!empty($this->Hostname)) {
-      $result = $this->Hostname;
-    } elseif (isset($_SERVER['SERVER_NAME'])) {
-      $result = $_SERVER['SERVER_NAME'];
-    } else {
-      $result = 'localhost.localdomain';
-    }
-
-    return $result;
-  }
-
-  /**
-   * Returns a message in the appropriate language.
-   * @access protected
-   * @param string $key
-   * @return string
-   */
-  protected function Lang($key) {
-    if(count($this->language) < 1) {
-      $this->SetLanguage('en'); // set the default language
-    }
-
-    if(isset($this->language[$key])) {
-      return $this->language[$key];
-    } else {
-      return 'Language string failed to load: ' . $key;
-    }
-  }
-
-  /**
-   * Returns true if an error occurred.
-   * @access public
-   * @return bool
-   */
-  public function IsError() {
-    return ($this->error_count > 0);
-  }
-
-  /**
-   * Changes every end of line from CRLF, CR or LF to $this->LE.
-   * @access public
-   * @param string $str String to FixEOL
-   * @return string
-   */
-  public function FixEOL($str) {
-       // condense down to \n
-       $nstr = str_replace(array("\r\n", "\r"), "\n", $str);
-       // Now convert LE as needed
-       if ($this->LE !== "\n") {
-               $nstr = str_replace("\n", $this->LE, $nstr);
-       }
-    return  $nstr;
-  }
-
-  /**
-   * Adds a custom header. $name value can be overloaded to contain
-   * both header name and value (name:value)
-   * @access public
-   * @param string $name custom header name
-   * @param string $value header value
-   * @return void
-   */
-  public function AddCustomHeader($name, $value=null) {
-       if ($value === null) {
-               // Value passed in as name:value
-               $this->CustomHeader[] = explode(':', $name, 2);
-       } else {
-               $this->CustomHeader[] = array($name, $value);
-       }
-  }
-
-  /**
-   * Evaluates the message and returns modifications for inline images and backgrounds
-   * @access public
-   * @param string $message Text to be HTML modified
-   * @param string $basedir baseline directory for path
-   * @return string $message
-   */
-  public function MsgHTML($message, $basedir = '') {
-    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)) {
-          $filename = basename($url);
-          $directory = dirname($url);
-          if ($directory == '.') {
-            $directory = '';
-          }
-          $cid = 'cid:' . md5($url);
-          $ext = pathinfo($filename, PATHINFO_EXTENSION);
-          $mimeType  = self::_mime_types($ext);
-          if ( strlen($basedir) > 1 && substr($basedir, -1) != '/') { $basedir .= '/'; }
-          if ( strlen($directory) > 1 && substr($directory, -1) != '/') { $directory .= '/'; }
-          if ( $this->AddEmbeddedImage($basedir.$directory.$filename, md5($url), $filename, 'base64', $mimeType) ) {
-            $message = preg_replace("/".$images[1][$i]."=[\"']".preg_quote($url, '/')."[\"']/Ui", $images[1][$i]."=\"".$cid."\"", $message);
-          }
-        }
-      }
-    }
-    $this->IsHTML(true);
-    $this->Body = $message;
-    if (empty($this->AltBody)) {
-        $textMsg = trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/s', '', $message)));
-        if (!empty($textMsg)) {
-            $this->AltBody = html_entity_decode($textMsg, ENT_QUOTES, $this->CharSet);
-        }
-    }
-    if (empty($this->AltBody)) {
-      $this->AltBody = 'To view this email message, open it in a program that understands HTML!' . "\n\n";
-    }
-    return $message;
-  }
-
-  /**
-   * Gets the MIME type of the embedded or inline image
-   * @param string $ext File extension
-   * @access public
-   * @return string MIME type of ext
-   * @static
-   */
-  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',
-      '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',
-      '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',
-      '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',
-      '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',
-      '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',
-      'movie' =>  'video/x-sgi-movie'
-    );
-    return (!isset($mimes[strtolower($ext)])) ? 'application/octet-stream' : $mimes[strtolower($ext)];
-  }
-
-  /**
-  * Set (or reset) Class Objects (variables)
-  *
-  * Usage Example:
-  * $page->set('X-Priority', '3');
-  *
-  * @access public
-  * @param string $name Parameter Name
-  * @param mixed $value Parameter 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?
-  */
-  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) {
+    }
+
+    /**
+     * Check if an inline attachment is present.
+     * @access public
+     * @return bool
+     */
+    public function inlineImageExists()
+    {
+        foreach ($this->attachment as $attachment) {
+            if ($attachment[6] == 'inline') {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Check if an attachment (non-inline) is present.
+     * @return bool
+     */
+    public function attachmentExists()
+    {
+        foreach ($this->attachment as $attachment) {
+            if ($attachment[6] == 'attachment') {
+                return true;
+            }
+        }
         return false;
-      }
-    }
-    return true;
-  }
-
-  /**
-   * Strips newlines to prevent header injection.
-   * @access public
-   * @param string $str String
-   * @return string
-   */
-  public function SecureHeader($str) {
-    return trim(str_replace(array("\r", "\n"), '', $str));
-  }
-
-  /**
-   * Set the private key file and password to sign the message.
-   *
-   * @access public
-   * @param $cert_filename
-   * @param string $key_filename Parameter File Name
-   * @param string $key_pass Password for private key
-   */
-  public function Sign($cert_filename, $key_filename, $key_pass) {
-    $this->sign_cert_file = $cert_filename;
-    $this->sign_key_file = $key_filename;
-    $this->sign_key_pass = $key_pass;
-  }
-
-  /**
-   * Set the private key file and password to sign the message.
-   *
-   * @access public
-   * @param string $txt
-   * @return string
-   */
-  public function DKIM_QP($txt) {
-    $line = '';
-    for ($i = 0; $i < strlen($txt); $i++) {
-      $ord = ord($txt[$i]);
-      if ( ((0x21 <= $ord) && ($ord <= 0x3A)) || $ord == 0x3C || ((0x3E <= $ord) && ($ord <= 0x7E)) ) {
-        $line .= $txt[$i];
-      } else {
-        $line .= "=".sprintf("%02X", $ord);
-      }
-    }
-    return $line;
-  }
-
-  /**
-   * Generate DKIM signature
-   *
-   * @access public
-   * @param string $s Header
-   * @return string
-   */
-  public function DKIM_Sign($s) {
-    $privKeyStr = file_get_contents($this->DKIM_private);
-    if ($this->DKIM_passphrase != '') {
-      $privKey = openssl_pkey_get_private($privKeyStr, $this->DKIM_passphrase);
-    } else {
-      $privKey = $privKeyStr;
-    }
-    if (openssl_sign($s, $signature, $privKey)) {
-      return base64_encode($signature);
-    }
-    return '';
-  }
-
-  /**
-   * Generate DKIM Canonicalization Header
-   *
-   * @access public
-   * @param string $s Header
-   * @return string
-   */
-  public function DKIM_HeaderC($s) {
-    $s = preg_replace("/\r\n\s+/", " ", $s);
-    $lines = explode("\r\n", $s);
-    foreach ($lines as $key => $line) {
-      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
-    }
-    $s = implode("\r\n", $lines);
-    return $s;
-  }
-
-  /**
-   * Generate DKIM Canonicalization Body
-   *
-   * @access public
-   * @param string $body Message Body
-   * @return string
-   */
-  public function DKIM_BodyC($body) {
-    if ($body == '') return "\r\n";
-    // stabilize line endings
-    $body = str_replace("\r\n", "\n", $body);
-    $body = str_replace("\n", "\r\n", $body);
-    // END stabilize line endings
-    while (substr($body, strlen($body) - 4, 4) == "\r\n\r\n") {
-      $body = substr($body, 0, strlen($body) - 2);
-    }
-    return $body;
-  }
-
-  /**
-   * Create the DKIM header, body, as new header
-   *
-   * @access public
-   * @param string $headers_line Header lines
-   * @param string $subject Subject
-   * @param string $body Body
-   * @return string
-   */
-  public function DKIM_Add($headers_line, $subject, $body) {
-    $DKIMsignatureType    = 'rsa-sha1'; // Signature & hash algorithms
-    $DKIMcanonicalization = 'relaxed/simple'; // Canonicalization of header/body
-    $DKIMquery            = 'dns/txt'; // Query method
-    $DKIMtime             = time() ; // Signature Timestamp = seconds since 00:00:00 - Jan 1, 1970 (UTC time zone)
-    $subject_header       = "Subject: $subject";
-    $headers              = explode($this->LE, $headers_line);
-       $from_header          = "";
-       $to_header            = "";
-    foreach($headers as $header) {
-      if (strpos($header, 'From:') === 0) {
-        $from_header = $header;
-      } elseif (strpos($header, 'To:') === 0) {
-        $to_header = $header;
-      }
-    }
-    $from     = str_replace('|', '=7C', $this->DKIM_QP($from_header));
-    $to       = str_replace('|', '=7C', $this->DKIM_QP($to_header));
-    $subject  = str_replace('|', '=7C', $this->DKIM_QP($subject_header)) ; // 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=" . $this->DKIM_selector . ";\r\n".
-                "\tt=" . $DKIMtime . "; c=" . $DKIMcanonicalization . ";\r\n".
-                "\th=From:To:Subject;\r\n".
-                "\td=" . $this->DKIM_domain . ";" . $ident . "\r\n".
-                "\tz=$from\r\n".
-                "\t|$to\r\n".
-                "\t|$subject;\r\n".
-                "\tbh=" . $DKIMb64 . ";\r\n".
-                "\tb=";
-    $toSign   = $this->DKIM_HeaderC($from_header . "\r\n" . $to_header . "\r\n" . $subject_header . "\r\n" . $dkimhdrs);
-    $signed   = $this->DKIM_Sign($toSign);
-    return "X-PHPMAILER-DKIM: code.google.com/a/apache-extras.org/p/phpmailer/\r\n".$dkimhdrs.$signed."\r\n";
-  }
-
-  /**
-   * Perform callback
-   * @param boolean $isSent
-   * @param string $to
-   * @param string $cc
-   * @param string $bcc
-   * @param string $subject
-   * @param string $body
-   * @param string $from
-   */
-  protected function doCallback($isSent, $to, $cc, $bcc, $subject, $body, $from=null) {
-    if (!empty($this->action_function) && is_callable($this->action_function)) {
-      $params = array($isSent, $to, $cc, $bcc, $subject, $body, $from);
-      call_user_func_array($this->action_function, $params);
-    }
-  }
+    }
+
+    /**
+     * Check if this message has an alternative body set.
+     * @return bool
+     */
+    public function alternativeExists()
+    {
+        return !empty($this->AltBody);
+    }
+
+    /**
+     * Clear all To recipients.
+     * @return void
+     */
+    public function clearAddresses()
+    {
+        foreach ($this->to as $to) {
+            unset($this->all_recipients[strtolower($to[0])]);
+        }
+        $this->to = array();
+    }
+
+    /**
+     * Clear all CC recipients.
+     * @return void
+     */
+    public function clearCCs()
+    {
+        foreach ($this->cc as $cc) {
+            unset($this->all_recipients[strtolower($cc[0])]);
+        }
+        $this->cc = array();
+    }
+
+    /**
+     * Clear all BCC recipients.
+     * @return void
+     */
+    public function clearBCCs()
+    {
+        foreach ($this->bcc as $bcc) {
+            unset($this->all_recipients[strtolower($bcc[0])]);
+        }
+        $this->bcc = array();
+    }
+
+    /**
+     * Clear all ReplyTo recipients.
+     * @return void
+     */
+    public function clearReplyTos()
+    {
+        $this->ReplyTo = array();
+    }
+
+    /**
+     * Clear all recipient types.
+     * @return void
+     */
+    public function clearAllRecipients()
+    {
+        $this->to = array();
+        $this->cc = array();
+        $this->bcc = array();
+        $this->all_recipients = array();
+    }
+
+    /**
+     * Clear all filesystem, string, and binary attachments.
+     * @return void
+     */
+    public function clearAttachments()
+    {
+        $this->attachment = array();
+    }
+
+    /**
+     * Clear all custom headers.
+     * @return void
+     */
+    public function clearCustomHeaders()
+    {
+        $this->CustomHeader = array();
+    }
+
+    /**
+     * Add an error message to the error container.
+     * @access protected
+     * @param string $msg
+     * @return void
+     */
+    protected function setError($msg)
+    {
+        $this->error_count++;
+        if ($this->Mailer == 'smtp' and !is_null($this->smtp)) {
+            $lasterror = $this->smtp->getError();
+            if (!empty($lasterror) and array_key_exists('smtp_msg', $lasterror)) {
+                $msg .= '<p>' . $this->lang('smtp_error') . $lasterror['smtp_msg'] . "</p>\n";
+            }
+        }
+        $this->ErrorInfo = $msg;
+    }
+
+    /**
+     * Return an RFC 822 formatted date.
+     * @access public
+     * @return string
+     * @static
+     */
+    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
+        date_default_timezone_set(@date_default_timezone_get());
+        return date('D, j M Y H:i:s O');
+    }
+
+    /**
+     * Get the server hostname.
+     * Returns 'localhost.localdomain' if unknown.
+     * @access protected
+     * @return string
+     */
+    protected function serverHostname()
+    {
+        if (!empty($this->Hostname)) {
+            $result = $this->Hostname;
+        } elseif (isset($_SERVER['SERVER_NAME'])) {
+            $result = $_SERVER['SERVER_NAME'];
+        } else {
+            $result = 'localhost.localdomain';
+        }
+
+        return $result;
+    }
+
+    /**
+     * Get an error message in the current language.
+     * @access protected
+     * @param string $key
+     * @return string
+     */
+    protected function lang($key)
+    {
+        if (count($this->language) < 1) {
+            $this->setLanguage('en'); // set the default language
+        }
+
+        if (isset($this->language[$key])) {
+            return $this->language[$key];
+        } else {
+            return 'Language string failed to load: ' . $key;
+        }
+    }
+
+    /**
+     * Check if an error occurred.
+     * @access public
+     * @return bool True if an error did occur.
+     */
+    public function isError()
+    {
+        return ($this->error_count > 0);
+    }
+
+    /**
+     * Ensure consistent line endings in a string.
+     * Changes every end of line from CRLF, CR or LF to $this->LE.
+     * @access public
+     * @param string $str String to fixEOL
+     * @return string
+     */
+    public function fixEOL($str)
+    {
+        // Normalise to \n
+        $nstr = str_replace(array("\r\n", "\r"), "\n", $str);
+        // Now convert LE as needed
+        if ($this->LE !== "\n") {
+            $nstr = str_replace("\n", $this->LE, $nstr);
+        }
+        return $nstr;
+    }
+
+    /**
+     * Add a custom header.
+     * $name value can be overloaded to contain
+     * both header name and value (name:value)
+     * @access public
+     * @param string $name Custom header name
+     * @param string $value Header value
+     * @return void
+     */
+    public function addCustomHeader($name, $value = null)
+    {
+        if ($value === null) {
+            // Value passed in as name:value
+            $this->CustomHeader[] = explode(':', $name, 2);
+        } else {
+            $this->CustomHeader[] = array($name, $value);
+        }
+    }
+
+    /**
+     * Create a message from an HTML string.
+     * Automatically makes modifications for inline images and backgrounds
+     * and creates a plain-text version by converting the HTML.
+     * Overwrites any existing values in $this->Body and $this->AltBody
+     * @access public
+     * @param string $message HTML message string
+     * @param string $basedir baseline directory for path
+     * @param bool $advanced Whether to use the advanced HTML to text converter
+     * @return string $message
+     */
+    public function msgHTML($message, $basedir = '', $advanced = false)
+    {
+        preg_match_all("/(src|background)=[\"'](.*)[\"']/Ui", $message, $images);
+        if (isset($images[2])) {
+            foreach ($images[2] as $i => $url) {
+                // do not change urls for absolute images (thanks to corvuscorax)
+                if (!preg_match('#^[A-z]+://#', $url)) {
+                    $filename = basename($url);
+                    $directory = dirname($url);
+                    if ($directory == '.') {
+                        $directory = '';
+                    }
+                    $cid = md5($url) . '@phpmailer.0'; //RFC2392 S 2
+                    if (strlen($basedir) > 1 && substr($basedir, -1) != '/') {
+                        $basedir .= '/';
+                    }
+                    if (strlen($directory) > 1 && substr($directory, -1) != '/') {
+                        $directory .= '/';
+                    }
+                    if ($this->addEmbeddedImage(
+                        $basedir . $directory . $filename,
+                        $cid,
+                        $filename,
+                        'base64',
+                        self::_mime_types(self::mb_pathinfo($filename, PATHINFO_EXTENSION))
+                    )
+                    ) {
+                        $message = preg_replace(
+                            "/" . $images[1][$i] . "=[\"']" . preg_quote($url, '/') . "[\"']/Ui",
+                            $images[1][$i] . "=\"cid:" . $cid . "\"",
+                            $message
+                        );
+                    }
+                }
+            }
+        }
+        $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
+        $this->Body = $this->normalizeBreaks($message);
+        $this->AltBody = $this->normalizeBreaks($this->html2text($message, $advanced));
+        return $this->Body;
+    }
+
+    /**
+     * Convert an HTML string into plain text.
+     * @param string $html The HTML text to convert
+     * @param bool $advanced Should this use the more complex html2text converter or just a simple one?
+     * @return string
+     */
+    public function html2text($html, $advanced = false)
+    {
+        if ($advanced) {
+            require_once 'extras/class.html2text.php';
+            $h = new html2text($html);
+            return $h->get_text();
+        }
+        return html_entity_decode(
+            trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/si', '', $html))),
+            ENT_QUOTES,
+            $this->CharSet
+        );
+    }
+
+    /**
+     * Get the MIME type for a file extension.
+     * @param string $ext File extension
+     * @access public
+     * @return string MIME type of file.
+     * @static
+     */
+    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',
+            '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',
+            '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',
+            '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',
+            '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',
+            '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',
+            'movie' => 'video/x-sgi-movie'
+        );
+        return (array_key_exists(strtolower($ext), $mimes) ? $mimes[strtolower($ext)]: 'application/octet-stream');
+    }
+
+    /**
+     * Map a file name to a MIME type.
+     * Defaults to 'application/octet-stream', i.e.. arbitrary binary data.
+     * @param string $filename A file name or full path, does not need to exist as a file
+     * @return string
+     * @static
+     */
+    public static function filenameToType($filename)
+    {
+        //In case the path is a URL, strip any query string before getting extension
+        $qpos = strpos($filename, '?');
+        if ($qpos !== false) {
+            $filename = substr($filename, 0, $qpos);
+        }
+        $pathinfo = self::mb_pathinfo($filename);
+        return self::_mime_types($pathinfo['extension']);
+    }
+
+    /**
+     * Multi-byte-safe pathinfo replacement.
+     * Drop-in replacement for pathinfo(), but multibyte-safe, cross-platform-safe, old-version-safe.
+     * Works similarly to the one in PHP >= 5.2.0
+     * @link http://www.php.net/manual/en/function.pathinfo.php#107461
+     * @param string $path A filename or path, does not need to exist as a file
+     * @param integer|string $options Either a PATHINFO_* constant,
+     *      or a string name to return only the specified piece, allows 'filename' to work on PHP < 5.2
+     * @return string|array
+     * @static
+     */
+    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];
+        }
+        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;
+        }
+    }
+
+    /**
+     * Set or reset instance properties.
+     *
+     * Usage Example:
+     * $page->set('X-Priority', '3');
+     *
+     * @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?
+     */
+    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;
+            }
+        }
+        return true;
+    }
+
+    /**
+     * Strip newlines to prevent header injection.
+     * @access public
+     * @param string $str
+     * @return string
+     */
+    public function secureHeader($str)
+    {
+        return trim(str_replace(array("\r", "\n"), '', $str));
+    }
+
+    /**
+     * Normalize line breaks in a string.
+     * Converts UNIX LF, Mac CR and Windows CRLF line breaks into a single line break format.
+     * Defaults to CRLF (for message bodies) and preserves consecutive breaks.
+     * @param string $text
+     * @param string $breaktype What kind of line break to use, defaults to CRLF
+     * @return string
+     * @access public
+     * @static
+     */
+    public static function normalizeBreaks($text, $breaktype = "\r\n")
+    {
+        return preg_replace('/(\r\n|\r|\n)/ms', $breaktype, $text);
+    }
+
+
+    /**
+     * Set the private key file and password for S/MIME signing.
+     * @access public
+     * @param string $cert_filename
+     * @param string $key_filename
+     * @param string $key_pass Password for private key
+     */
+    public function sign($cert_filename, $key_filename, $key_pass)
+    {
+        $this->sign_cert_file = $cert_filename;
+        $this->sign_key_file = $key_filename;
+        $this->sign_key_pass = $key_pass;
+    }
+
+    /**
+     * Quoted-Printable-encode a DKIM header.
+     * @access public
+     * @param string $txt
+     * @return string
+     */
+    public function DKIM_QP($txt)
+    {
+        $line = '';
+        for ($i = 0; $i < strlen($txt); $i++) {
+            $ord = ord($txt[$i]);
+            if (((0x21 <= $ord) && ($ord <= 0x3A)) || $ord == 0x3C || ((0x3E <= $ord) && ($ord <= 0x7E))) {
+                $line .= $txt[$i];
+            } else {
+                $line .= "=" . sprintf("%02X", $ord);
+            }
+        }
+        return $line;
+    }
+
+    /**
+     * Generate a DKIM signature.
+     * @access public
+     * @param string $s Header
+     * @throws phpmailerException
+     * @return string
+     */
+    public function DKIM_Sign($s)
+    {
+        if (!defined('PKCS7_TEXT')) {
+            if ($this->exceptions) {
+                throw new phpmailerException($this->lang("signing") . ' OpenSSL extension missing.');
+            }
+            return '';
+        }
+        $privKeyStr = file_get_contents($this->DKIM_private);
+        if ($this->DKIM_passphrase != '') {
+            $privKey = openssl_pkey_get_private($privKeyStr, $this->DKIM_passphrase);
+        } else {
+            $privKey = $privKeyStr;
+        }
+        if (openssl_sign($s, $signature, $privKey)) {
+            return base64_encode($signature);
+        }
+        return '';
+    }
+
+    /**
+     * Generate a DKIM canonicalization header.
+     * @access public
+     * @param string $s Header
+     * @return string
+     */
+    public function DKIM_HeaderC($s)
+    {
+        $s = preg_replace("/\r\n\s+/", " ", $s);
+        $lines = explode("\r\n", $s);
+        foreach ($lines as $key => $line) {
+            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
+        }
+        $s = implode("\r\n", $lines);
+        return $s;
+    }
+
+    /**
+     * Generate a DKIM canonicalization body.
+     * @access public
+     * @param string $body Message Body
+     * @return string
+     */
+    public function DKIM_BodyC($body)
+    {
+        if ($body == '') {
+            return "\r\n";
+        }
+        // stabilize line endings
+        $body = str_replace("\r\n", "\n", $body);
+        $body = str_replace("\n", "\r\n", $body);
+        // END stabilize line endings
+        while (substr($body, strlen($body) - 4, 4) == "\r\n\r\n") {
+            $body = substr($body, 0, strlen($body) - 2);
+        }
+        return $body;
+    }
+
+    /**
+     * Create the DKIM header and body in a new message header.
+     * @access public
+     * @param string $headers_line Header lines
+     * @param string $subject Subject
+     * @param string $body Body
+     * @return string
+     */
+    public function DKIM_Add($headers_line, $subject, $body)
+    {
+        $DKIMsignatureType = 'rsa-sha1'; // Signature & hash algorithms
+        $DKIMcanonicalization = 'relaxed/simple'; // Canonicalization of header/body
+        $DKIMquery = 'dns/txt'; // Query method
+        $DKIMtime = time(); // Signature Timestamp = seconds since 00:00:00 - Jan 1, 1970 (UTC time zone)
+        $subject_header = "Subject: $subject";
+        $headers = explode($this->LE, $headers_line);
+        $from_header = '';
+        $to_header = '';
+        $current = '';
+        foreach ($headers as $header) {
+            if (strpos($header, 'From:') === 0) {
+                $from_header = $header;
+                $current = 'from_header';
+            } elseif (strpos($header, 'To:') === 0) {
+                $to_header = $header;
+                $current = 'to_header';
+            } else {
+                if ($current && strpos($header, ' =?') === 0) {
+                    $current .= $header;
+                } else {
+                    $current = '';
+                }
+            }
+        }
+        $from = str_replace('|', '=7C', $this->DKIM_QP($from_header));
+        $to = str_replace('|', '=7C', $this->DKIM_QP($to_header));
+        $subject = str_replace(
+            '|',
+            '=7C',
+            $this->DKIM_QP($subject_header)
+        ); // 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=" .
+            $this->DKIM_selector .
+            ";\r\n" .
+            "\tt=" . $DKIMtime . "; c=" . $DKIMcanonicalization . ";\r\n" .
+            "\th=From:To:Subject;\r\n" .
+            "\td=" . $this->DKIM_domain . ";" . $ident . "\r\n" .
+            "\tz=$from\r\n" .
+            "\t|$to\r\n" .
+            "\t|$subject;\r\n" .
+            "\tbh=" . $DKIMb64 . ";\r\n" .
+            "\tb=";
+        $toSign = $this->DKIM_HeaderC(
+            $from_header . "\r\n" . $to_header . "\r\n" . $subject_header . "\r\n" . $dkimhdrs
+        );
+        $signed = $this->DKIM_Sign($toSign);
+        return $dkimhdrs . $signed . "\r\n";
+    }
+
+    /**
+     * Perform a callback.
+     * @param bool $isSent
+     * @param string $to
+     * @param string $cc
+     * @param string $bcc
+     * @param string $subject
+     * @param string $body
+     * @param string $from
+     */
+    protected function doCallback($isSent, $to, $cc, $bcc, $subject, $body, $from = null)
+    {
+        if (!empty($this->action_function) && is_callable($this->action_function)) {
+            $params = array($isSent, $to, $cc, $bcc, $subject, $body, $from);
+            call_user_func_array($this->action_function, $params);
+        }
+    }
 }
 
 /**
- * Exception handler for PHPMailer
+ * PHPMailer exception handler
  * @package PHPMailer
  */
-class phpmailerException extends Exception {
-  /**
-   * Prettify error message output
-   * @return string
-   */
-  public function errorMessage() {
-    $errorMsg = '<strong>' . $this->getMessage() . "</strong><br />\n";
-    return $errorMsg;
-  }
+class phpmailerException extends Exception
+{
+    /**
+     * Prettify error message output
+     * @return string
+     */
+    public function errorMessage()
+    {
+        $errorMsg = '<strong>' . $this->getMessage() . "</strong><br />\n";
+        return $errorMsg;
+    }
 }
-?>
index 72361bbbbb0b725fc095ffe677c74147137c1009..e6b45222d8d46fc9e9137cd340ee664667e57333 100644 (file)
 <?php
-/*~ class.smtp.php
-.---------------------------------------------------------------------------.
-|  Software: PHPMailer - PHP email class                                    |
-|   Version: 5.2.4                                                          |
-|      Site: https://code.google.com/a/apache-extras.org/p/phpmailer/       |
-| ------------------------------------------------------------------------- |
-|     Admin: Jim Jagielski (project admininistrator)                        |
-|   Authors: Andy Prevost (codeworxtech) codeworxtech@users.sourceforge.net |
-|          : Marcus Bointon (coolbru) coolbru@users.sourceforge.net         |
-|          : Jim Jagielski (jimjag) jimjag@gmail.com                        |
-|   Founder: Brent R. Matzelle (original founder)                           |
-| Copyright (c) 2010-2012, Jim Jagielski. All Rights Reserved.              |
-| Copyright (c) 2004-2009, Andy Prevost. All Rights Reserved.               |
-| Copyright (c) 2001-2003, Brent R. Matzelle                                |
-| ------------------------------------------------------------------------- |
-|   License: Distributed under the Lesser General Public License (LGPL)     |
-|            http://www.gnu.org/copyleft/lesser.html                        |
-| 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 - PHP SMTP email transport class
- * NOTE: Designed for use with PHP version 5 and up
- * @package PHPMailer
- * @author Andy Prevost
- * @author Marcus Bointon
+ * 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>
+ * @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 Jim Jagielski
  * @copyright 2010 - 2012 Jim Jagielski
- * @license http://www.gnu.org/copyleft/lesser.html Distributed under the Lesser General Public License (LGPL)
+ * @license   http://www.gnu.org/copyleft/lesser.html Distributed under the Lesser General Public License (LGPL)
  */
 
 /**
- * PHP RFC821 SMTP client
+ * 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
  *
- * Implements all the RFC 821 SMTP commands except TURN which will always return a not implemented error.
- * SMTP also provides some utility methods for sending mail to an SMTP server.
- * @author Chris Ryan
- * @package PHPMailer
+ * @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)
  */
 
-class SMTP {
-  /**
-   *  SMTP server port
-   *  @var int
-   */
-  public $SMTP_PORT = 25;
-
-  /**
-   *  SMTP reply line ending (don't change)
-   *  @var string
-   */
-  public $CRLF = "\r\n";
-
-  /**
-   *  Sets whether debugging is turned on
-   *  @var bool
-   */
-  public $do_debug;       // the level of debug to perform
-
-  /**
-   * Sets the function/method to use for debugging output.
-   * Right now we only honor "echo" or "error_log"
-   * @var string
-   */
-  public $Debugoutput     = "echo";
-
-  /**
-   *  Sets VERP use on/off (default is off)
-   *  @var bool
-   */
-  public $do_verp = false;
-
-  /**
-   * Sets the SMTP timeout value for reads, in seconds
-   * @var int
-   */
-  public $Timeout         = 15;
-
-  /**
-   * Sets the SMTP timelimit value for reads, in seconds
-   * @var int
-   */
-  public $Timelimit       = 30;
-
-  /**
-   * Sets the SMTP PHPMailer Version number
-   * @var string
-   */
-  public $Version         = '5.2.4';
-
-  /////////////////////////////////////////////////
-  // PROPERTIES, PRIVATE AND PROTECTED
-  /////////////////////////////////////////////////
-
-  /**
-   * @var resource The socket to the server
-   */
-  private $smtp_conn;
-  /**
-   * @var string Error message, if any, for the last call
-   */
-  private $error;
-  /**
-   * @var string The reply the server sent to us for HELO
-   */
-  private $helo_rply;
-
-  /**
-   * Outputs debugging info via user-defined method
-   * @param string $str
-   */
-  private function edebug($str) {
-    if ($this->Debugoutput == "error_log") {
-        error_log($str);
-    } else {
-        echo $str;
-    }
-  }
-
-  /**
-   * Initialize the class so that the data is in a known state.
-   * @access public
-   * @return SMTP
-   */
-  public function __construct() {
-    $this->smtp_conn = 0;
-    $this->error = null;
-    $this->helo_rply = null;
-
-    $this->do_debug = 0;
-  }
-
-  /////////////////////////////////////////////////
-  // CONNECTION FUNCTIONS
-  /////////////////////////////////////////////////
-
-  /**
-   * Connect to the server specified on the port specified.
-   * If the port is not specified use the default SMTP_PORT.
-   * If tval is specified then a connection will try and be
-   * established with the server for that number of seconds.
-   * If tval is not specified the default is 30 seconds to
-   * try on the connection.
-   *
-   * SMTP CODE SUCCESS: 220
-   * SMTP CODE FAILURE: 421
-   * @access public
-   * @param string $host
-   * @param int $port
-   * @param int $tval
-   * @return bool
-   */
-  public function Connect($host, $port = 0, $tval = 30) {
-    // set the error val to null so there is no confusion
-    $this->error = null;
-
-    // make sure we are __not__ connected
-    if($this->connected()) {
-      // already connected, generate error
-      $this->error = array("error" => "Already connected to a server");
-      return false;
-    }
-
-    if(empty($port)) {
-      $port = $this->SMTP_PORT;
-    }
-
-    // connect to the smtp server
-    $this->smtp_conn = @fsockopen($host,    // the host of the server
-                                 $port,    // the port to use
-                                 $errno,   // error number if any
-                                 $errstr,  // error message if any
-                                 $tval);   // give up after ? secs
-    // verify we connected properly
-    if(empty($this->smtp_conn)) {
-      $this->error = array("error" => "Failed to connect to server",
-                           "errno" => $errno,
-                           "errstr" => $errstr);
-      if($this->do_debug >= 1) {
-        $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": $errstr ($errno)" . $this->CRLF . '<br />');
-      }
-      return false;
-    }
-
-    // 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 && $tval > $max) { // don't bother if unlimited
-      @set_time_limit($tval);
-     }
-     stream_set_timeout($this->smtp_conn, $tval, 0);
-    }
-
-    // get any announcement
-    $announce = $this->get_lines();
-
-    if($this->do_debug >= 2) {
-      $this->edebug("SMTP -> FROM SERVER:" . $announce . $this->CRLF . '<br />');
-    }
-
-    return true;
-  }
-
-  /**
-   * Initiate a TLS communication with the server.
-   *
-   * SMTP CODE 220 Ready to start TLS
-   * SMTP CODE 501 Syntax error (no parameters allowed)
-   * SMTP CODE 454 TLS not available due to temporary reason
-   * @access public
-   * @return bool success
-   */
-  public function StartTLS() {
-    $this->error = null; # to avoid confusion
-
-    if(!$this->connected()) {
-      $this->error = array("error" => "Called StartTLS() without being connected");
-      return false;
-    }
-
-    fputs($this->smtp_conn,"STARTTLS" . $this->CRLF);
-
-    $rply = $this->get_lines();
-    $code = substr($rply,0,3);
-
-    if($this->do_debug >= 2) {
-      $this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />');
-    }
-
-    if($code != 220) {
-      $this->error =
-         array("error"     => "STARTTLS not accepted from server",
-               "smtp_code" => $code,
-               "smtp_msg"  => substr($rply,4));
-      if($this->do_debug >= 1) {
-        $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />');
-      }
-      return false;
-    }
-
-    // Begin encrypted connection
-    if(!stream_socket_enable_crypto($this->smtp_conn, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) {
-      return false;
-    }
-
-    return true;
-  }
-
-  /**
-   * Performs SMTP authentication.  Must be run after running the
-   * Hello() method.  Returns true if successfully authenticated.
-   * @access public
-   * @param string $username
-   * @param string $password
-   * @param string $authtype
-   * @param string $realm
-   * @param string $workstation
-   * @return bool
-   */
-  public function Authenticate($username, $password, $authtype='LOGIN', $realm='', $workstation='') {
-    if (empty($authtype)) {
-      $authtype = 'LOGIN';
-    }
-
-    switch ($authtype) {
-      case 'PLAIN':
-        // Start authentication
-        fputs($this->smtp_conn,"AUTH PLAIN" . $this->CRLF);
-    
-        $rply = $this->get_lines();
-        $code = substr($rply,0,3);
-    
-        if($code != 334) {
-          $this->error =
-            array("error" => "AUTH not accepted from server",
-                  "smtp_code" => $code,
-                  "smtp_msg" => substr($rply,4));
-          if($this->do_debug >= 1) {
-            $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />');
-          }
-          return false;
-        }
-        // Send encoded username and password
-        fputs($this->smtp_conn, base64_encode("\0".$username."\0".$password) . $this->CRLF);
-
-        $rply = $this->get_lines();
-        $code = substr($rply,0,3);
-    
-        if($code != 235) {
-          $this->error =
-            array("error" => "Authentication not accepted from server",
-                  "smtp_code" => $code,
-                  "smtp_msg" => substr($rply,4));
-          if($this->do_debug >= 1) {
-            $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />');
-          }
-          return false;
-        }
-        break;
-      case 'LOGIN':
-        // Start authentication
-        fputs($this->smtp_conn,"AUTH LOGIN" . $this->CRLF);
-    
-        $rply = $this->get_lines();
-        $code = substr($rply,0,3);
-    
-        if($code != 334) {
-          $this->error =
-            array("error" => "AUTH not accepted from server",
-                  "smtp_code" => $code,
-                  "smtp_msg" => substr($rply,4));
-          if($this->do_debug >= 1) {
-            $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />');
-          }
-          return false;
+class SMTP
+{
+    /**
+     * The PHPMailer SMTP Version number.
+     */
+    const VERSION = '5.2.7';
+
+    /**
+     * SMTP line break constant.
+     */
+    const CRLF = "\r\n";
+
+    /**
+     * The SMTP port to use if one is not specified.
+     */
+    const DEFAULT_SMTP_PORT = 25;
+
+    /**
+     * The PHPMailer SMTP Version number.
+     * @type string
+     * @deprecated This should be a constant
+     * @see SMTP::VERSION
+     */
+    public $Version = '5.2.7';
+
+    /**
+     * SMTP server port number.
+     * @type int
+     * @deprecated This is only ever ued as default value, so should be a constant
+     * @see SMTP::DEFAULT_SMTP_PORT
+     */
+    public $SMTP_PORT = 25;
+
+    /**
+     * SMTP reply line ending
+     * @type string
+     * @deprecated Use the class 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
+     */
+    public $do_debug = 0;
+
+    /**
+     * The function/method to use for debugging output.
+     * Options: 'echo', 'html' or 'error_log'
+     * @type string
+     */
+    public $Debugoutput = 'echo';
+
+    /**
+     * Whether to use VERP.
+     * @type bool
+     */
+    public $do_verp = false;
+
+    /**
+     * The SMTP timeout value for reads, in seconds.
+     * @type int
+     */
+    public $Timeout = 15;
+
+    /**
+     * The SMTP timelimit value for reads, in seconds.
+     * @type int
+     */
+    public $Timelimit = 30;
+
+    /**
+     * The socket for the server connection.
+     * @type resource
+     */
+    protected $smtp_conn;
+
+    /**
+     * Error message, if any, for the last call.
+     * @type string
+     */
+    protected $error = '';
+
+    /**
+     * The reply the server sent to us for HELO.
+     * @type string
+     */
+    protected $helo_rply = '';
+
+    /**
+     * The most recent reply received from the server.
+     * @type string
+     */
+    protected $last_reply = '';
+
+    /**
+     * Constructor.
+     * @access public
+     */
+    public function __construct()
+    {
+        $this->smtp_conn = 0;
+        $this->error = null;
+        $this->helo_rply = null;
+
+        $this->do_debug = 0;
+    }
+
+    /**
+     * Output debugging info via a user-selected method.
+     * @param string $str Debug string to output
+     * @return void
+     */
+    protected function edebug($str)
+    {
+        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, HTML-safe output
+                echo htmlentities(
+                    preg_replace('/[\r\n]+/', '', $str),
+                    ENT_QUOTES,
+                    'UTF-8'
+                )
+                . "<br>\n";
+                break;
+            case 'echo':
+            default:
+                //Just echoes whatever was received
+                echo $str;
         }
-    
-        // Send encoded username
-        fputs($this->smtp_conn, base64_encode($username) . $this->CRLF);
-    
-        $rply = $this->get_lines();
-        $code = substr($rply,0,3);
-    
-        if($code != 334) {
-          $this->error =
-            array("error" => "Username not accepted from server",
-                  "smtp_code" => $code,
-                  "smtp_msg" => substr($rply,4));
-          if($this->do_debug >= 1) {
-            $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />');
-          }
-          return false;
+    }
+
+    /**
+     * 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 array $options An array of options for stream_context_create()
+     * @access public
+     * @return bool
+     */
+    public function connect($host, $port = null, $timeout = 30, $options = array())
+    {
+        // Clear errors to avoid confusion
+        $this->error = null;
+
+        // Make sure we are __not__ connected
+        if ($this->connected()) {
+            // Already connected, generate error
+            $this->error = array('error' => 'Already connected to a server');
+            return false;
         }
-    
-        // Send encoded password
-        fputs($this->smtp_conn, base64_encode($password) . $this->CRLF);
-    
-        $rply = $this->get_lines();
-        $code = substr($rply,0,3);
-    
-        if($code != 235) {
-          $this->error =
-            array("error" => "Password not accepted from server",
-                  "smtp_code" => $code,
-                  "smtp_msg" => substr($rply,4));
-          if($this->do_debug >= 1) {
-            $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />');
-          }
-          return false;
+
+        if (empty($port)) {
+            $port = self::DEFAULT_SMTP_PORT;
         }
-        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 Documentation http://curl.haxx.se/rfc/ntlm.html#ntlmSmtpAuthentication
-         */
-        require_once('ntlm_sasl_client.php');
-        $temp = new stdClass();
-        $ntlm_client = new ntlm_sasl_client_class;
-        if(! $ntlm_client->Initialize($temp)){//let's test if every function its available
-            $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"] . $this->CRLF);
+
+        // Connect to the SMTP server
+        $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
+        );
+
+        // Verify we connected properly
+        if (empty($this->smtp_conn)) {
+            $this->error = array(
+                'error' => 'Failed to connect to server',
+                'errno' => $errno,
+                'errstr' => $errstr
+            );
+            if ($this->do_debug >= 1) {
+                $this->edebug(
+                    'SMTP -> ERROR: ' . $this->error['error']
+                    . ": $errstr ($errno)"
+                );
             }
             return false;
         }
-        $msg1 = $ntlm_client->TypeMsg1($realm, $workstation);//msg1
-        
-        fputs($this->smtp_conn,"AUTH NTLM " . base64_encode($msg1) . $this->CRLF);
-
-        $rply = $this->get_lines();
-        $code = substr($rply,0,3);
-        
-
-        if($code != 334) {
-            $this->error =
-                array("error" => "AUTH not accepted from server",
-                      "smtp_code" => $code,
-                      "smtp_msg" => substr($rply,4));
-            if($this->do_debug >= 1) {
-                $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF);
+
+        // 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
+                @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);
+        }
+
+        return true;
+    }
+
+    /**
+     * Initiate a TLS (encrypted) session.
+     * @access public
+     * @return bool
+     */
+    public function startTLS()
+    {
+        if (!$this->sendCommand("STARTTLS", "STARTTLS", 220)) {
             return false;
         }
-        
-        $challange = substr($rply,3);//though 0 based, there is a white space after the 3 digit number....//msg2
-        $challange = base64_decode($challange);
-        $ntlm_res = $ntlm_client->NTLMResponse(substr($challange,24,8),$password);
-        $msg3 = $ntlm_client->TypeMsg3($ntlm_res,$username,$realm,$workstation);//msg3
-        // Send encoded username
-        fputs($this->smtp_conn, base64_encode($msg3) . $this->CRLF);
-
-        $rply = $this->get_lines();
-        $code = substr($rply,0,3);
-
-        if($code != 235) {
-            $this->error =
-                array("error" => "Could not authenticate",
-                      "smtp_code" => $code,
-                      "smtp_msg" => substr($rply,4));
-            if($this->do_debug >= 1) {
-                $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF);
-            }
+        // Begin encrypted connection
+        if (!stream_socket_enable_crypto(
+            $this->smtp_conn,
+            true,
+            STREAM_CRYPTO_METHOD_TLS_CLIENT
+        )
+        ) {
             return false;
         }
-        break;
-    }
-    return true;
-  }
-
-  /**
-   * Returns true if connected to a server otherwise false
-   * @access public
-   * @return bool
-   */
-  public function Connected() {
-    if(!empty($this->smtp_conn)) {
-      $sock_status = socket_get_status($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:" . $this->CRLF . "EOF caught while checking if connected");
+        return true;
+    }
+
+    /**
+     * Perform SMTP authentication.
+     * Must be run after hello().
+     * @see hello()
+     * @param string $username    The user name
+     * @param string $password    The password
+     * @param string $authtype    The auth type (PLAIN, LOGIN, NTLM, CRAM-MD5)
+     * @param string $realm       The auth realm for NTLM
+     * @param string $workstation The auth workstation for NTLM
+     * @access public
+     * @return bool True if successfully authenticated.
+     */
+    public function authenticate(
+        $username,
+        $password,
+        $authtype = 'LOGIN',
+        $realm = '',
+        $workstation = ''
+    ) {
+        if (empty($authtype)) {
+            $authtype = 'LOGIN';
+        }
+
+        switch ($authtype) {
+            case 'PLAIN':
+                // Start authentication
+                if (!$this->sendCommand('AUTH', 'AUTH PLAIN', 334)) {
+                    return false;
+                }
+                // Send encoded username and password
+                if (!$this->sendCommand(
+                    'User & Password',
+                    base64_encode("\0" . $username . "\0" . $password),
+                    235
+                )
+                ) {
+                    return false;
+                }
+                break;
+            case 'LOGIN':
+                // Start authentication
+                if (!$this->sendCommand('AUTH', 'AUTH LOGIN', 334)) {
+                    return false;
+                }
+                if (!$this->sendCommand("Username", base64_encode($username), 334)) {
+                    return false;
+                }
+                if (!$this->sendCommand("Password", base64_encode($password), 235)) {
+                    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)) {
+                    return false;
+                }
+                // Get the challenge
+                $challenge = base64_decode(substr($this->last_reply, 4));
+
+                // Build the response
+                $response = $username . ' ' . $this->hmac($challenge, $password);
+
+                // send encoded credentials
+                return $this->sendCommand('Username', base64_encode($response), 235);
+                break;
+        }
+        return true;
+    }
+
+    /**
+     * Calculate an MD5 HMAC hash.
+     * Works like hash_hmac('md5', $data, $key)
+     * in case that function is not available
+     * @param string $data The data to hash
+     * @param string $key  The key to hash with
+     * @access protected
+     * @return string
+     */
+    protected function hmac($data, $key)
+    {
+        if (function_exists('hash_hmac')) {
+            return hash_hmac('md5', $data, $key);
+        }
+
+        // The following borrowed from
+        // http://php.net/manual/en/function.mhash.php#27225
+
+        // RFC 2104 HMAC implementation for php.
+        // Creates an md5 HMAC.
+        // Eliminates the need to install mhash to compute a HMAC
+        // Hacked by Lance Rushing
+
+        $b = 64; // byte length for md5
+        if (strlen($key) > $b) {
+            $key = pack('H*', md5($key));
+        }
+        $key = str_pad($key, $b, chr(0x00));
+        $ipad = str_pad('', $b, chr(0x36));
+        $opad = str_pad('', $b, chr(0x5c));
+        $k_ipad = $key ^ $ipad;
+        $k_opad = $key ^ $opad;
+
+        return md5($k_opad . pack('H*', md5($k_ipad . $data)));
+    }
+
+    /**
+     * Check connection state.
+     * @access public
+     * @return bool True if connected.
+     */
+    public function connected()
+    {
+        if (!empty($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'
+                    );
+                }
+                $this->close();
+                return false;
+            }
+            return true; // everything looks good
         }
-        $this->Close();
         return false;
-      }
-      return true; // everything looks good
-    }
-    return false;
-  }
-
-  /**
-   * Closes the socket and cleans up the state of the class.
-   * It is not considered good to use this function without
-   * first trying to use QUIT.
-   * @access public
-   * @return void
-   */
-  public function Close() {
-    $this->error = null; // so there is no confusion
-    $this->helo_rply = null;
-    if(!empty($this->smtp_conn)) {
-      // close the connection and cleanup
-      fclose($this->smtp_conn);
-      $this->smtp_conn = 0;
-    }
-  }
-
-  /////////////////////////////////////////////////
-  // SMTP COMMANDS
-  /////////////////////////////////////////////////
-
-  /**
-   * Issues a data command and sends the msg_data to the server
-   * finializing the mail transaction. $msg_data is the message
-   * that is to be send with the headers. Each header needs to be
-   * on a single line followed by a <CRLF> with the message headers
-   * and the message body being seperated by and additional <CRLF>.
-   *
-   * Implements rfc 821: DATA <CRLF>
-   *
-   * SMTP CODE INTERMEDIATE: 354
-   *     [data]
-   *     <CRLF>.<CRLF>
-   *     SMTP CODE SUCCESS: 250
-   *     SMTP CODE FAILURE: 552,554,451,452
-   * SMTP CODE FAILURE: 451,554
-   * SMTP CODE ERROR  : 500,501,503,421
-   * @access public
-   * @param string $msg_data
-   * @return bool
-   */
-  public function Data($msg_data) {
-    $this->error = null; // so no confusion is caused
-
-    if(!$this->connected()) {
-      $this->error = array(
-              "error" => "Called Data() without being connected");
-      return false;
-    }
-
-    fputs($this->smtp_conn,"DATA" . $this->CRLF);
-
-    $rply = $this->get_lines();
-    $code = substr($rply,0,3);
-
-    if($this->do_debug >= 2) {
-      $this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />');
-    }
-
-    if($code != 354) {
-      $this->error =
-        array("error" => "DATA command not accepted from server",
-              "smtp_code" => $code,
-              "smtp_msg" => substr($rply,4));
-      if($this->do_debug >= 1) {
-        $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />');
-      }
-      return false;
-    }
-
-    /* the server is ready to accept data!
-     * according to rfc 821 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.
-     */
-
-    // normalize the line breaks so we know the explode works
-    $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 is headers are
-     * in the msg_data or if it is a straight msg body
-     * currently I am assuming rfc 822 definitions of msg headers
-     * and if the first field of the first line (':' sperated)
-     * does not contain a space then it _should_ be a header
-     * and we can 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," ")) {
-      $in_headers = true;
-    }
-
-    $max_line_length = 998; // used below; set here for ease in change
-
-    while(list(,$line) = @each($lines)) {
-      $lines_out = null;
-      if($line == "" && $in_headers) {
-        $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
-        if(!$pos) {
-          $pos = $max_line_length - 1;
-          $lines_out[] = substr($line,0,$pos);
-          $line = substr($line,$pos);
-        } else {
-          $lines_out[] = substr($line,0,$pos);
-          $line = substr($line,$pos + 1);
+    }
+
+    /**
+     * Close the socket and clean up the state of the class.
+     * Don't use this function without first trying to use QUIT.
+     * @see quit()
+     * @access public
+     * @return void
+     */
+    public function close()
+    {
+        $this->error = null; // so there is no confusion
+        $this->helo_rply = null;
+        if (!empty($this->smtp_conn)) {
+            // close the connection and cleanup
+            fclose($this->smtp_conn);
+            $this->smtp_conn = 0;
+        }
+    }
+
+    /**
+     * Send an SMTP DATA command.
+     * Issues a data command and sends the msg_data to the server,
+     * finializing the mail transaction. $msg_data is the message
+     * that is to be send with the headers. Each header needs to be
+     * on a single line followed by a <CRLF> with the message headers
+     * and the message body being separated by and additional <CRLF>.
+     * Implements rfc 821: DATA <CRLF>
+     * @param string $msg_data Message data to send
+     * @access public
+     * @return bool
+     */
+    public function data($msg_data)
+    {
+        if (!$this->sendCommand('DATA', 'DATA', 354)) {
+            return false;
         }
 
-        /* if processing headers add a LWSP-char to the front of new line
-         * rfc 822 on long msg headers
+        /* 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.
+         */
+
+        // 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.
          */
-        if($in_headers) {
-          $line = "\t" . $line;
+
+        $field = substr($lines[0], 0, strpos($lines[0], ':'));
+        $in_headers = false;
+        if (!empty($field) && !strstr($field, ' ')) {
+            $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) {
+                $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
+                if (!$pos) {
+                    $pos = $max_line_length - 1;
+                    $lines_out[] = substr($line, 0, $pos);
+                    $line = substr($line, $pos);
+                } else {
+                    $lines_out[] = substr($line, 0, $pos);
+                    $line = substr($line, $pos + 1);
+                }
+
+                /* If processing headers add a LWSP-char to the front of new line
+                 * rfc822 on long msg headers
+                 */
+                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;
+                    }
+                }
+                $this->client_send($line_out . self::CRLF);
+            }
+        }
+
+        // Message data has been sent, complete the command
+        return $this->sendCommand('DATA END', '.', 250);
+    }
+
+    /**
+     * 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>
+     * and RFC 2821 EHLO.
+     * @param string $host The host name or IP to connect to
+     * @access public
+     * @return bool
+     */
+    public function hello($host = '')
+    {
+        // Try extended hello first (RFC 2821)
+        if (!$this->sendHello('EHLO', $host)) {
+            if (!$this->sendHello('HELO', $host)) {
+                return false;
+            }
+        }
+
+        return true;
+    }
+
+    /**
+     * Send an SMTP HELO or EHLO command.
+     * Low-level implementation used by hello()
+     * @see hello()
+     * @param string $hello The HELO string
+     * @param string $host  The hostname to say we are
+     * @access protected
+     * @return bool
+     */
+    protected function sendHello($hello, $host)
+    {
+        $noerror = $this->sendCommand($hello, $hello . ' ' . $host, 250);
+        $this->helo_rply = $this->last_reply;
+        return $noerror;
+    }
+
+    /**
+     * Send an SMTP MAIL command.
+     * Starts a mail transaction from the email address specified in
+     * $from. Returns true if successful or false otherwise. If True
+     * the mail transaction is started and then one or more recipient
+     * commands may be called followed by a data command.
+     * Implements rfc 821: MAIL <SP> FROM:<reverse-path> <CRLF>
+     * @param string $from Source address of this message
+     * @access public
+     * @return bool
+     */
+    public function mail($from)
+    {
+        $useVerp = ($this->do_verp ? ' XVERP' : '');
+        return $this->sendCommand(
+            'MAIL FROM',
+            'MAIL FROM:<' . $from . '>' . $useVerp,
+            250
+        );
+    }
+
+    /**
+     * 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?
+     * @access public
+     * @return bool
+     */
+    public function quit($close_on_error = true)
+    {
+        $noerror = $this->sendCommand('QUIT', 'QUIT', 221);
+        $e = $this->error; //Save any error
+        if ($noerror or $close_on_error) {
+            $this->close();
+            $this->error = $e; //Restore any error from the quit command
         }
-      }
-      $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;
-          }
+        return $noerror;
+    }
+
+    /**
+     * Send an SMTP RCPT command.
+     * Sets the TO argument to $to.
+     * 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
+     * @access public
+     * @return bool
+     */
+    public function recipient($to)
+    {
+        return $this->sendCommand(
+            'RCPT TO ',
+            'RCPT TO:<' . $to . '>',
+            array(250, 251)
+        );
+    }
+
+    /**
+     * Send an SMTP RSET command.
+     * Abort any transaction that is currently in progress.
+     * Implements rfc 821: RSET <CRLF>
+     * @access public
+     * @return bool True on success.
+     */
+    public function reset()
+    {
+        return $this->sendCommand('RSET', 'RSET', 250);
+    }
+
+    /**
+     * 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
+     * @access protected
+     * @return bool True on success.
+     */
+    protected function sendCommand($command, $commandstring, $expect)
+    {
+        if (!$this->connected()) {
+            $this->error = array(
+                "error" => "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);
+        }
+
+        if (!in_array($code, (array)$expect)) {
+            $this->last_reply = null;
+            $this->error = array(
+                "error" => "$command command failed",
+                "smtp_code" => $code,
+                "detail" => substr($reply, 4)
+            );
+            if ($this->do_debug >= 1) {
+                $this->edebug(
+                    'SMTP -> ERROR: ' . $this->error['error'] . ': ' . $reply
+                );
+            }
+            return false;
+        }
+
+        $this->last_reply = $reply;
+        $this->error = null;
+        return true;
+    }
+
+    /**
+     * Send an SMTP SAML command.
+     * Starts a mail transaction from the email address specified in $from.
+     * Returns true if successful or false otherwise. If True
+     * the mail transaction is started and then one or more recipient
+     * commands may be called followed by a data command. This command
+     * will send the message to the users terminal if they are logged
+     * in and send them an email.
+     * Implements rfc 821: SAML <SP> FROM:<reverse-path> <CRLF>
+     * @param string $from The address the message is from
+     * @access public
+     * @return bool
+     */
+    public function sendAndMail($from)
+    {
+        return $this->sendCommand("SAML", "SAML FROM:$from", 250);
+    }
+
+    /**
+     * Send an SMTP VRFY command.
+     * @param string $name The name to verify
+     * @access public
+     * @return bool
+     */
+    public function verify($name)
+    {
+        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
+     */
+    public function noop()
+    {
+        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
+     * Implements from rfc 821: TURN <CRLF>
+     * @access public
+     * @return bool
+     */
+    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']);
         }
-        fputs($this->smtp_conn,$line_out . $this->CRLF);
-      }
-    }
-
-    // message data has been sent
-    fputs($this->smtp_conn, $this->CRLF . "." . $this->CRLF);
-
-    $rply = $this->get_lines();
-    $code = substr($rply,0,3);
-
-    if($this->do_debug >= 2) {
-      $this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />');
-    }
-
-    if($code != 250) {
-      $this->error =
-        array("error" => "DATA not accepted from server",
-              "smtp_code" => $code,
-              "smtp_msg" => substr($rply,4));
-      if($this->do_debug >= 1) {
-        $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />');
-      }
-      return false;
-    }
-    return true;
-  }
-
-  /**
-   * Sends the HELO command to the smtp server.
-   * This makes sure that we and the server are in
-   * the same known state.
-   *
-   * Implements from rfc 821: HELO <SP> <domain> <CRLF>
-   *
-   * SMTP CODE SUCCESS: 250
-   * SMTP CODE ERROR  : 500, 501, 504, 421
-   * @access public
-   * @param string $host
-   * @return bool
-   */
-  public function Hello($host = '') {
-    $this->error = null; // so no confusion is caused
-
-    if(!$this->connected()) {
-      $this->error = array(
-            "error" => "Called Hello() without being connected");
-      return false;
-    }
-
-    // if hostname for HELO was not specified send default
-    if(empty($host)) {
-      // determine appropriate default to send to server
-      $host = "localhost";
-    }
-
-    // Send extended hello first (RFC 2821)
-    if(!$this->SendHello("EHLO", $host)) {
-      if(!$this->SendHello("HELO", $host)) {
         return false;
-      }
-    }
-
-    return true;
-  }
-
-  /**
-   * Sends a HELO/EHLO command.
-   * @access private
-   * @param string $hello
-   * @param string $host
-   * @return bool
-   */
-  private function SendHello($hello, $host) {
-    fputs($this->smtp_conn, $hello . " " . $host . $this->CRLF);
-
-    $rply = $this->get_lines();
-    $code = substr($rply,0,3);
-
-    if($this->do_debug >= 2) {
-      $this->edebug("SMTP -> FROM SERVER: " . $rply . $this->CRLF . '<br />');
-    }
-
-    if($code != 250) {
-      $this->error =
-        array("error" => $hello . " not accepted from server",
-              "smtp_code" => $code,
-              "smtp_msg" => substr($rply,4));
-      if($this->do_debug >= 1) {
-        $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />');
-      }
-      return false;
-    }
-
-    $this->helo_rply = $rply;
-
-    return true;
-  }
-
-  /**
-   * Starts a mail transaction from the email address specified in
-   * $from. Returns true if successful or false otherwise. If True
-   * the mail transaction is started and then one or more Recipient
-   * commands may be called followed by a Data command.
-   *
-   * Implements rfc 821: MAIL <SP> FROM:<reverse-path> <CRLF>
-   *
-   * SMTP CODE SUCCESS: 250
-   * SMTP CODE SUCCESS: 552,451,452
-   * SMTP CODE SUCCESS: 500,501,421
-   * @access public
-   * @param string $from
-   * @return bool
-   */
-  public function Mail($from) {
-    $this->error = null; // so no confusion is caused
-
-    if(!$this->connected()) {
-      $this->error = array(
-              "error" => "Called Mail() without being connected");
-      return false;
-    }
-
-    $useVerp = ($this->do_verp ? " XVERP" : "");
-    fputs($this->smtp_conn,"MAIL FROM:<" . $from . ">" . $useVerp . $this->CRLF);
-
-    $rply = $this->get_lines();
-    $code = substr($rply,0,3);
-
-    if($this->do_debug >= 2) {
-      $this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />');
-    }
-
-    if($code != 250) {
-      $this->error =
-        array("error" => "MAIL not accepted from server",
-              "smtp_code" => $code,
-              "smtp_msg" => substr($rply,4));
-      if($this->do_debug >= 1) {
-        $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />');
-      }
-      return false;
-    }
-    return true;
-  }
-
-  /**
-   * Sends the quit command to the server and then closes the socket
-   * if there is no error or the $close_on_error argument is true.
-   *
-   * Implements from rfc 821: QUIT <CRLF>
-   *
-   * SMTP CODE SUCCESS: 221
-   * SMTP CODE ERROR  : 500
-   * @access public
-   * @param bool $close_on_error
-   * @return bool
-   */
-  public function Quit($close_on_error = true) {
-    $this->error = null; // so there is no confusion
-
-    if(!$this->connected()) {
-      $this->error = array(
-              "error" => "Called Quit() without being connected");
-      return false;
-    }
-
-    // send the quit command to the server
-    fputs($this->smtp_conn,"quit" . $this->CRLF);
-
-    // get any good-bye messages
-    $byemsg = $this->get_lines();
-
-    if($this->do_debug >= 2) {
-      $this->edebug("SMTP -> FROM SERVER:" . $byemsg . $this->CRLF . '<br />');
-    }
-
-    $rval = true;
-    $e = null;
-
-    $code = substr($byemsg,0,3);
-    if($code != 221) {
-      // use e as a tmp var cause Close will overwrite $this->error
-      $e = array("error" => "SMTP server rejected quit command",
-                 "smtp_code" => $code,
-                 "smtp_rply" => substr($byemsg,4));
-      $rval = false;
-      if($this->do_debug >= 1) {
-        $this->edebug("SMTP -> ERROR: " . $e["error"] . ": " . $byemsg . $this->CRLF . '<br />');
-      }
-    }
-
-    if(empty($e) || $close_on_error) {
-      $this->Close();
-    }
-
-    return $rval;
-  }
-
-  /**
-   * Sends the command RCPT to the SMTP server with the TO: argument of $to.
-   * Returns true if the recipient was accepted false if it was rejected.
-   *
-   * Implements from rfc 821: RCPT <SP> TO:<forward-path> <CRLF>
-   *
-   * SMTP CODE SUCCESS: 250,251
-   * SMTP CODE FAILURE: 550,551,552,553,450,451,452
-   * SMTP CODE ERROR  : 500,501,503,421
-   * @access public
-   * @param string $to
-   * @return bool
-   */
-  public function Recipient($to) {
-    $this->error = null; // so no confusion is caused
-
-    if(!$this->connected()) {
-      $this->error = array(
-              "error" => "Called Recipient() without being connected");
-      return false;
-    }
-
-    fputs($this->smtp_conn,"RCPT TO:<" . $to . ">" . $this->CRLF);
-
-    $rply = $this->get_lines();
-    $code = substr($rply,0,3);
-
-    if($this->do_debug >= 2) {
-      $this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />');
-    }
-
-    if($code != 250 && $code != 251) {
-      $this->error =
-        array("error" => "RCPT not accepted from server",
-              "smtp_code" => $code,
-              "smtp_msg" => substr($rply,4));
-      if($this->do_debug >= 1) {
-        $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />');
-      }
-      return false;
-    }
-    return true;
-  }
-
-  /**
-   * Sends the RSET command to abort and transaction that is
-   * currently in progress. Returns true if successful false
-   * otherwise.
-   *
-   * Implements rfc 821: RSET <CRLF>
-   *
-   * SMTP CODE SUCCESS: 250
-   * SMTP CODE ERROR  : 500,501,504,421
-   * @access public
-   * @return bool
-   */
-  public function Reset() {
-    $this->error = null; // so no confusion is caused
-
-    if(!$this->connected()) {
-      $this->error = array(
-              "error" => "Called Reset() without being connected");
-      return false;
-    }
-
-    fputs($this->smtp_conn,"RSET" . $this->CRLF);
-
-    $rply = $this->get_lines();
-    $code = substr($rply,0,3);
-
-    if($this->do_debug >= 2) {
-      $this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />');
-    }
-
-    if($code != 250) {
-      $this->error =
-        array("error" => "RSET failed",
-              "smtp_code" => $code,
-              "smtp_msg" => substr($rply,4));
-      if($this->do_debug >= 1) {
-        $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />');
-      }
-      return false;
-    }
-
-    return true;
-  }
-
-  /**
-   * Starts a mail transaction from the email address specified in
-   * $from. Returns true if successful or false otherwise. If True
-   * the mail transaction is started and then one or more Recipient
-   * commands may be called followed by a Data command. This command
-   * will send the message to the users terminal if they are logged
-   * in and send them an email.
-   *
-   * Implements rfc 821: SAML <SP> FROM:<reverse-path> <CRLF>
-   *
-   * SMTP CODE SUCCESS: 250
-   * SMTP CODE SUCCESS: 552,451,452
-   * SMTP CODE SUCCESS: 500,501,502,421
-   * @access public
-   * @param string $from
-   * @return bool
-   */
-  public function SendAndMail($from) {
-    $this->error = null; // so no confusion is caused
-
-    if(!$this->connected()) {
-      $this->error = array(
-          "error" => "Called SendAndMail() without being connected");
-      return false;
-    }
-
-    fputs($this->smtp_conn,"SAML FROM:" . $from . $this->CRLF);
-
-    $rply = $this->get_lines();
-    $code = substr($rply,0,3);
-
-    if($this->do_debug >= 2) {
-      $this->edebug("SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />');
-    }
-
-    if($code != 250) {
-      $this->error =
-        array("error" => "SAML not accepted from server",
-              "smtp_code" => $code,
-              "smtp_msg" => substr($rply,4));
-      if($this->do_debug >= 1) {
-        $this->edebug("SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />');
-      }
-      return false;
-    }
-    return true;
-  }
-
-  /**
-   * 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 implimented in the future
-   *
-   * Implements from rfc 821: TURN <CRLF>
-   *
-   * SMTP CODE SUCCESS: 250
-   * SMTP CODE FAILURE: 502
-   * SMTP CODE ERROR  : 500, 503
-   * @access public
-   * @return bool
-   */
-  public function Turn() {
-    $this->error = array("error" => "This method, TURN, of the SMTP ".
-                                    "is not implemented");
-    if($this->do_debug >= 1) {
-      $this->edebug("SMTP -> NOTICE: " . $this->error["error"] . $this->CRLF . '<br />');
-    }
-    return false;
-  }
-
-  /**
-  * Get the current error
-  * @access public
-  * @return array
-  */
-  public function getError() {
-    return $this->error;
-  }
-
-  /////////////////////////////////////////////////
-  // INTERNAL FUNCTIONS
-  /////////////////////////////////////////////////
-
-  /**
-   * Read in as many lines as possible
-   * either before eof or socket timeout occurs on the operation.
-   * With SMTP we can tell if we have more lines to read if the
-   * 4th character is '-' symbol. If it is a space then we don't
-   * need to read anything else.
-   * @access private
-   * @return string
-   */
-  private function get_lines() {
-    $data = "";
-    $endtime = 0;
-    /* If for some reason the fp is bad, don't inf loop */
-    if (!is_resource($this->smtp_conn)) {
-      return $data;
-    }
-    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->CRLF . '<br />');
-        $this->edebug("SMTP -> get_lines(): \$str is \"$str\"" . $this->CRLF . '<br />');
-      }
-      $data .= $str;
-      if($this->do_debug >= 4) {
-        $this->edebug("SMTP -> get_lines(): \$data is \"$data\"" . $this->CRLF . '<br />');
-      }
-      // if 4th character is a space, we are done reading, break the loop
-      if(substr($str,3,1) == " ") { 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 . " seconds) <br />");
+    }
+
+    /**
+     * 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
+     */
+    public function client_send($data)
+    {
+        if ($this->do_debug >= 1) {
+            $this->edebug("CLIENT -> SMTP: $data");
         }
-        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 . " seconds) <br />");
-          }
-          break;
+        return fwrite($this->smtp_conn, $data);
+    }
+
+    /**
+     * Get the latest error.
+     * @access public
+     * @return array
+     */
+    public function getError()
+    {
+        return $this->error;
+    }
+
+    /**
+     * Get the last reply from the server.
+     * @access public
+     * @return string
+     */
+    public function getLastReply()
+    {
+        return $this->last_reply;
+    }
+
+    /**
+     * Read the SMTP server's response.
+     * Either before eof or socket timeout occurs on the operation.
+     * With SMTP we can tell if we have more lines to read if the
+     * 4th character is '-' symbol. If it is a space then we don't
+     * need to read anything else.
+     * @access protected
+     * @return string
+     */
+    protected function get_lines()
+    {
+        $data = '';
+        $endtime = 0;
+        // If the connection is bad, give up now
+        if (!is_resource($this->smtp_conn)) {
+            return $data;
+        }
+        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\"");
+            }
+            $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) == ' ') {
+                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)'
+                    );
+                }
+                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;
+                }
+            }
         }
-      }
+        return $data;
+    }
+
+    /**
+     * Enable or disable VERP address generation.
+     * @param bool $enabled
+     */
+    public function setVerp($enabled = false)
+    {
+        $this->do_verp = $enabled;
+    }
+
+    /**
+     * Get VERP address generation mode.
+     * @return bool
+     */
+    public function getVerp()
+    {
+        return $this->do_verp;
     }
-    return $data;
-  }
 
+    /**
+     * Set debug output method.
+     * @param string $method The function/method to use for debugging output.
+     */
+    public function setDebugOutput($method = 'echo')
+    {
+        $this->Debugoutput = $method;
+    }
+
+    /**
+     * Get debug output method.
+     * @return string
+     */
+    public function getDebugOutput()
+    {
+        return $this->Debugoutput;
+    }
+
+    /**
+     * Set debug output level.
+     * @param int $level
+     */
+    public function setDebugLevel($level = 0)
+    {
+        $this->do_debug = $level;
+    }
+
+    /**
+     * Get debug output level.
+     * @return int
+     */
+    public function getDebugLevel()
+    {
+        return $this->do_debug;
+    }
+
+    /**
+     * Set SMTP timeout.
+     * @param int $timeout
+     */
+    public function setTimeout($timeout = 0)
+    {
+        $this->Timeout = $timeout;
+    }
+
+    /**
+     * Get SMTP timeout.
+     * @return int
+     */
+    public function getTimeout()
+    {
+        return $this->Timeout;
+    }
 }
-?>
index 915478e9351c412b636e375f5ed51fbe1d677c36..050b0f1c0e06647666683829a3bff0e0dc204346 100644 (file)
@@ -81,13 +81,17 @@ class WP_Admin_Bar {
        /**
         * Add a node to the menu.
         *
-        * @param array $args - The arguments for each node.
-        * - id         - string    - The ID of the item.
-        * - title      - string    - The title of the node.
-        * - parent     - string    - The ID of the parent node. Optional.
-        * - href       - string    - The link for the item. Optional.
-        * - group      - boolean   - If the node is a group. Optional. Default false.
-        * - meta       - array     - Meta data including the following keys: html, class, onclick, target, title, tabindex.
+        * @param array $args {
+        *     Arguments for adding a node.
+        *
+        *     @type string $id     ID of the item.
+        *     @type string $title  Title of the node.
+        *     @type string $parent Optional. ID of the parent node.
+        *     @type string $href   Optional. Link for the item.
+        *     @type bool   $group  Optional. Whether or not the node is a group. Default false.
+        *     @type array  $meta   Meta data including the following keys: 'html', 'class', 'rel',
+        *                          'onclick', 'target', 'title', 'tabindex'. Default empty.
+        * }
         */
        public function add_node( $args ) {
                // Shim for old method signature: add_node( $parent_id, $menu_obj, $args )
@@ -187,10 +191,14 @@ class WP_Admin_Bar {
         *
         * @since 3.3.0
         *
-        * @param array $args - The arguments for each node.
-        * - id         - string    - The ID of the item.
-        * - parent     - string    - The ID of the parent node. Optional. Default root.
-        * - meta       - array     - Meta data including the following keys: class, onclick, target, title.
+        * @param array $args {
+        *     Array of arguments for adding a group.
+        *
+        *     @type string $id     ID of the item.
+        *     @type string $parent Optional. ID of the parent node. Default 'root'.
+        *     @type array  $meta   Meta data for the group including the following keys:
+        *                         'class', 'onclick', 'target', and 'title'.
+        * }
         */
        final public function add_group( $args ) {
                $args['group'] = true;
@@ -438,6 +446,9 @@ class WP_Admin_Bar {
                                if ( ! empty( $node->meta['title'] ) ) :
                                        ?> title="<?php echo esc_attr( $node->meta['title'] ); ?>"<?php
                                endif;
+                               if ( ! empty( $node->meta['rel'] ) ) :
+                                       ?> rel="<?php echo esc_attr( $node->meta['rel'] ); ?>"<?php
+                               endif;
                                ?>><?php
                        else:
                                ?><div class="ab-item ab-empty-item" <?php echo $aria_attributes;
index fde8561584e9cb1f9c2cc2e68a3227c3baf0a525..df440744bda37b4df7de6c9486d8762f95179d82 100644 (file)
@@ -39,19 +39,19 @@ class WP_Customize_Control {
         * @access public
         * @var int
         */
-       public $priority          = 10;
+       public $priority = 10;
 
        /**
         * @access public
         * @var string
         */
-       public $section           = '';
+       public $section = '';
 
        /**
         * @access public
         * @var string
         */
-       public $label             = '';
+       public $label = '';
 
        /**
         * @todo: Remove choices
@@ -59,7 +59,7 @@ class WP_Customize_Control {
         * @access public
         * @var array
         */
-       public $choices           = array();
+       public $choices = array();
 
        /**
         * @access public
@@ -77,6 +77,8 @@ class WP_Customize_Control {
        /**
         * Constructor.
         *
+        * Supplied $args override class property defaults.
+        *
         * If $args['settings'] is not defined, use the $id as the setting ID.
         *
         * @since 3.4.0
@@ -95,7 +97,6 @@ class WP_Customize_Control {
                $this->manager = $manager;
                $this->id = $id;
 
-
                // Process settings.
                if ( empty( $this->settings ) )
                        $this->settings = $id;
@@ -178,14 +179,32 @@ class WP_Customize_Control {
                if ( ! $this->check_capabilities() )
                        return;
 
+               /**
+                * Fires just before the current Customizer control is rendered.
+                *
+                * @since 3.4.0
+                *
+                * @param WP_Customize_Control $this WP_Customize_Control instance.
+                */
                do_action( 'customize_render_control', $this );
+
+               /**
+                * Fires just before a specific Customizer control is rendered.
+                *
+                * The dynamic portion of the hook name, $this->id, refers to
+                * the control ID.
+                *
+                * @since 3.4.0
+                *
+                * @param WP_Customize_Control $this WP_Customize_Control instance.
+                */
                do_action( 'customize_render_control_' . $this->id, $this );
 
                $this->render();
        }
 
        /**
-        * Render the control. Renders the control wrapper, then calls $this->render_content().
+        * Renders the control wrapper and calls $this->render_content() for the internals.
         *
         * @since 3.4.0
         */
@@ -199,7 +218,7 @@ class WP_Customize_Control {
        }
 
        /**
-        * Get the data link parameter for a setting.
+        * Get the data link attribute for a setting.
         *
         * @since 3.4.0
         *
@@ -214,7 +233,7 @@ class WP_Customize_Control {
        }
 
        /**
-        * Render the data link parameter for a setting
+        * Render the data link attribute for the control's input element.
         *
         * @since 3.4.0
         * @uses WP_Customize_Control::get_link()
@@ -228,7 +247,9 @@ class WP_Customize_Control {
        /**
         * Render the control's content.
         *
-        * Allows the content to be overriden without having to rewrite the wrapper.
+        * Allows the content to be overriden without having to rewrite the wrapper in $this->render().
+        *
+        * Supports basic input types `text`, `checkbox`, `radio`, `select` and `dropdown-pages`.
         *
         * @since 3.4.0
         */
@@ -331,8 +352,6 @@ class WP_Customize_Color_Control extends WP_Customize_Control {
        /**
         * Constructor.
         *
-        * If $args['settings'] is not defined, use the $id as the setting ID.
-        *
         * @since 3.4.0
         * @uses WP_Customize_Control::__construct()
         *
@@ -346,7 +365,7 @@ class WP_Customize_Color_Control extends WP_Customize_Control {
        }
 
        /**
-        * Enqueue control related scripts/styles.
+        * Enqueue scripts/styles for the color picker.
         *
         * @since 3.4.0
         */
@@ -467,8 +486,6 @@ class WP_Customize_Image_Control extends WP_Customize_Upload_Control {
        /**
         * Constructor.
         *
-        * If $args['settings'] is not defined, use the $id as the setting ID.
-        *
         * @since 3.4.0
         * @uses WP_Customize_Upload_Control::__construct()
         *
@@ -593,7 +610,7 @@ class WP_Customize_Image_Control extends WP_Customize_Upload_Control {
         */
        public function tab_upload_new() {
                if ( ! _device_can_upload() ) {
-                       echo '<p>' . sprintf( __('The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.'), 'http://wordpress.org/mobile/' ) . '</p>';
+                       echo '<p>' . sprintf( __('The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.'), 'https://wordpress.org/mobile/' ) . '</p>';
                } else {
                        ?>
                        <div class="upload-dropzone">
@@ -691,37 +708,9 @@ class WP_Customize_Background_Image_Control extends WP_Customize_Image_Control {
        }
 }
 
-/**
- * Customize Header Image Control Class
- *
- * @package WordPress
- * @subpackage Customize
- * @since 3.4.0
- */
 class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control {
-       /**
-        * The processed default headers.
-        * @since 3.4.2
-        * @var array
-        */
-       protected $default_headers;
-
-       /**
-        * The uploaded headers.
-        * @since 3.4.2
-        * @var array
-        */
-       protected $uploaded_headers;
+       public $type = 'header';
 
-       /**
-        * Constructor.
-        *
-        * @since 3.4.0
-        * @uses WP_Customize_Image_Control::__construct()
-        * @uses WP_Customize_Image_Control::add_tab()
-        *
-        * @param WP_Customize_Manager $manager
-        */
        public function __construct( $manager ) {
                parent::__construct( $manager, 'header_image', array(
                        'label'    => __( 'Header Image' ),
@@ -733,85 +722,247 @@ class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control {
                        'context'  => 'custom-header',
                        'removed'  => 'remove-header',
                        'get_url'  => 'get_header_image',
-                       'statuses' => array(
-                               ''                      => __('Default'),
-                               'remove-header'         => __('No Image'),
-                               'random-default-image'  => __('Random Default Image'),
-                               'random-uploaded-image' => __('Random Uploaded Image'),
-                       )
                ) );
 
-               // Remove the upload tab.
-               $this->remove_tab( 'upload-new' );
        }
 
-       /**
-        * Prepares the control.
-        *
-        * If no tabs exist, removes the control from the manager.
-        *
-        * @since 3.4.2
-        */
+       public function to_json() {
+               parent::to_json();
+       }
+
+       public function enqueue() {
+               wp_enqueue_media();
+               wp_enqueue_script( 'customize-views' );
+
+               $this->prepare_control();
+
+               wp_localize_script( 'customize-views', '_wpCustomizeHeader', array(
+                       'data' => array(
+                               'width' => absint( get_theme_support( 'custom-header', 'width' ) ),
+                               'height' => absint( get_theme_support( 'custom-header', 'height' ) ),
+                               'flex-width' => absint( get_theme_support( 'custom-header', 'flex-width' ) ),
+                               'flex-height' => absint( get_theme_support( 'custom-header', 'flex-height' ) ),
+                               'currentImgSrc' => $this->get_current_image_src(),
+                       ),
+                       'nonces' => array(
+                               'add' => wp_create_nonce( 'header-add' ),
+                               'remove' => wp_create_nonce( 'header-remove' ),
+                       ),
+                       'uploads' => $this->uploaded_headers,
+                       'defaults' => $this->default_headers
+               ) );
+
+               parent::enqueue();
+       }
+
        public function prepare_control() {
                global $custom_image_header;
-               if ( empty( $custom_image_header ) )
-                       return parent::prepare_control();
+               if ( empty( $custom_image_header ) ) {
+                       return;
+               }
 
                // Process default headers and uploaded headers.
                $custom_image_header->process_default_headers();
-               $this->default_headers = $custom_image_header->default_headers;
-               $this->uploaded_headers = get_uploaded_header_images();
+               $this->default_headers = $custom_image_header->get_default_header_images();
+               $this->uploaded_headers = $custom_image_header->get_uploaded_header_images();
+       }
 
-               if ( $this->default_headers )
-                       $this->add_tab( 'default',  __('Default'),  array( $this, 'tab_default_headers' ) );
+       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>
+
+                       <# } else { #>
+
+                       <# if (data.type === 'uploaded') { #>
+                               <div class="dashicons dashicons-no close"></div>
+                       <# } #>
+
+                       <button type="button" class="choice thumbnail"
+                               data-customize-image-value="{{{data.header.url}}}"
+                               data-customize-header-image-data="{{JSON.stringify(data.header)}}">
+                               <span class="screen-reader-text"><?php _e( 'Set image' ); ?></span>
+                               <img src="{{{data.header.thumbnail_url}}}" alt="{{{data.header.alt_text || data.header.description}}}">
+                       </button>
+
+                       <# } #>
+               </script>
+
+               <script type="text/template" id="tmpl-header-current">
+                       <# if (data.choice) { #>
+                               <# if (data.random) { #>
+
+                       <div class="placeholder">
+                               <div class="inner">
+                                       <span><span class="dashicons dashicons-randomize dice"></span>
+                                       <# if ( data.type === 'uploaded' ) { #>
+                                               <?php _e( 'Randomizing uploaded headers' ); ?>
+                                       <# } else if ( data.type === 'default' ) { #>
+                                               <?php _e( 'Randomizing suggested headers' ); ?>
+                                       <# } #>
+                                       </span>
+                               </div>
+                       </div>
 
-               if ( ! $this->uploaded_headers )
-                       $this->remove_tab( 'uploaded' );
+                               <# } else { #>
 
-               return parent::prepare_control();
-       }
+                       <img src="{{{data.header.thumbnail_url}}}" alt="{{{data.header.alt_text || data.header.description}}}" tabindex="0"/>
 
-       /**
-        * @since 3.4.0
-        *
-        * @param mixed $choice Which header image to select. (@see Custom_Image_Header::get_header_image() )
-        * @param array $header
-        */
-       public function print_header_image( $choice, $header ) {
-               $header['url']           = set_url_scheme( $header['url'] );
-               $header['thumbnail_url'] = set_url_scheme( $header['thumbnail_url'] );
+                               <# } #>
+                       <# } else { #>
 
-               $header_image_data = array( 'choice' => $choice );
-               foreach ( array( 'attachment_id', 'width', 'height', 'url', 'thumbnail_url' ) as $key ) {
-                       if ( isset( $header[ $key ] ) )
-                               $header_image_data[ $key ] = $header[ $key ];
+                       <div class="placeholder">
+                               <div class="inner">
+                                       <span>
+                                               <?php _e( 'No image set' ); ?>
+                                       </span>
+                               </div>
+                       </div>
+
+                       <# } #>
+               </script>
+               <?php
+       }
+
+       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;
+       }
+
+       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
+                               if ( $width && $height ) {
+                                       printf( __( 'While you can crop images to your liking after clicking <strong>Add new</strong>, your theme recommends a header size of <strong>%s &times; %s</strong> pixels.' ), $width, $height );
+                               } elseif ( $width ) {
+                                       printf( __( 'While you can crop images to your liking after clicking <strong>Add new</strong>, your theme recommends a header width of <strong>%s</strong> pixels.' ), $width );
+                               } else {
+                                       printf( __( 'While you can crop images to your liking after clicking <strong>Add new</strong>, your theme recommends a header height of <strong>%s</strong> pixels.' ), $height );
+                               }
+                               ?>
+                       </p>
+                       <div class="current">
+                               <span class="customize-control-title">
+                                       <?php _e( 'Current header' ); ?>
+                               </span>
+                               <div class="container">
+                               </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>
+                               <div style="clear:both"></div>
+                       </div>
+                       <div class="choices">
+                               <span class="customize-control-title header-previously-uploaded">
+                                       <?php _ex( 'Previously uploaded', 'custom headers' ); ?>
+                               </span>
+                               <div class="uploaded">
+                                       <div class="list">
+                                       </div>
+                               </div>
+                               <span class="customize-control-title header-default">
+                                       <?php _ex( 'Suggested', 'custom headers' ); ?>
+                               </span>
+                               <div class="default">
+                                       <div class="list">
+                                       </div>
+                               </div>
+                       </div>
+               </div>
+               <?php
+       }
+}
+
+/**
+ * Widget Area Customize Control Class
+ *
+ */
+class WP_Widget_Area_Customize_Control extends WP_Customize_Control {
+       public $type = 'sidebar_widgets';
+       public $sidebar_id;
+
+       public function to_json() {
+               parent::to_json();
+               $exported_properties = array( 'sidebar_id' );
+               foreach ( $exported_properties as $key ) {
+                       $this->json[ $key ] = $this->$key;
+               }
+       }
+
+       public function render_content() {
                ?>
-               <a href="#" class="thumbnail"
-                       data-customize-image-value="<?php echo esc_url( $header['url'] ); ?>"
-                       data-customize-header-image-data="<?php echo esc_attr( json_encode( $header_image_data ) ); ?>">
-                       <img src="<?php echo esc_url( $header['thumbnail_url'] ); ?>" />
-               </a>
+               <span class="button-secondary add-new-widget" tabindex="0">
+                       <?php _e( 'Add a Widget' ); ?>
+               </span>
+
+               <span class="reorder-toggle" tabindex="0">
+                       <span class="reorder"><?php _ex( 'Reorder', 'Reorder widgets in Customizer' ); ?></span>
+                       <span class="reorder-done"><?php _ex( 'Done', 'Cancel reordering widgets in Customizer'  ); ?></span>
+               </span>
                <?php
        }
+}
 
-       /**
-        * @since 3.4.0
-        */
-       public function tab_uploaded() {
-               ?><div class="uploaded-target"></div><?php
+/**
+ * Widget Form Customize Control Class
+ */
+class WP_Widget_Form_Customize_Control extends WP_Customize_Control {
+       public $type = 'widget_form';
+       public $widget_id;
+       public $widget_id_base;
+       public $sidebar_id;
+       public $is_new = false;
+       public $width;
+       public $height;
+       public $is_wide = false;
 
-               foreach ( $this->uploaded_headers as $choice => $header )
-                       $this->print_header_image( $choice, $header );
+       public function to_json() {
+               parent::to_json();
+               $exported_properties = array( 'widget_id', 'widget_id_base', 'sidebar_id', 'width', 'height', 'is_wide' );
+               foreach ( $exported_properties as $key ) {
+                       $this->json[ $key ] = $this->$key;
+               }
        }
 
-       /**
-        * @since 3.4.0
-        */
-       public function tab_default_headers() {
-               foreach ( $this->default_headers as $choice => $header )
-                       $this->print_header_image( $choice, $header );
+       public function render_content() {
+               global $wp_registered_widgets;
+               require_once ABSPATH . '/wp-admin/includes/widgets.php';
+
+               $widget = $wp_registered_widgets[ $this->widget_id ];
+               if ( ! isset( $widget['params'][0] ) ) {
+                       $widget['params'][0] = array();
+               }
+
+               $args = array(
+                       'widget_id' => $widget['id'],
+                       'widget_name' => $widget['name'],
+               );
+
+               $args = wp_list_widget_controls_dynamic_sidebar( array( 0 => $args, 1 => $widget['params'][0] ) );
+               echo $this->manager->widgets->get_widget_control( $args );
        }
-}
\ No newline at end of file
+}
+
index cad9f1351cd785412cd99996cd20582a773f3caf..8ed4e699a5b5da4072108dccde2c6e73aceb2125 100644 (file)
@@ -2,16 +2,48 @@
 /**
  * Customize Manager.
  *
+ * Bootstraps the Customize experience on the server-side.
+ *
+ * Sets up the theme-switching process if a theme other than the active one is
+ * being previewed and customized.
+ *
+ * Serves as a factory for Customize Controls and Settings, and
+ * instantiates default Customize Controls and Settings.
+ *
  * @package WordPress
  * @subpackage Customize
  * @since 3.4.0
  */
 final class WP_Customize_Manager {
+       /**
+        * An instance of the theme that is being customized.
+        *
+        * @var WP_Theme
+        */
        protected $theme;
+
+       /**
+        * The directory name of the previously active theme (within the theme_root).
+        *
+        * @var string
+        */
        protected $original_stylesheet;
 
+       /**
+        * Whether filters have been set to change the active theme to the theme being
+        * customized.
+        *
+        * @var boolean
+        */
        protected $previewing = false;
 
+       /**
+        * Methods and properties deailing with managing widgets in the customizer.
+        *
+        * @var WP_Customize_Widgets
+        */
+       public $widgets;
+
        protected $settings = array();
        protected $sections = array();
        protected $controls = array();
@@ -20,6 +52,11 @@ final class WP_Customize_Manager {
 
        protected $customized;
 
+       /**
+        * $_POST values for Customize Settings.
+        *
+        * @var array
+        */
        private $_post_values;
 
        /**
@@ -31,6 +68,9 @@ final class WP_Customize_Manager {
                require( ABSPATH . WPINC . '/class-wp-customize-setting.php' );
                require( ABSPATH . WPINC . '/class-wp-customize-section.php' );
                require( ABSPATH . WPINC . '/class-wp-customize-control.php' );
+               require( ABSPATH . WPINC . '/class-wp-customize-widgets.php' );
+
+               $this->widgets = new WP_Customize_Widgets( $this );
 
                add_filter( 'wp_die_handler', array( $this, 'wp_die_handler' ) );
 
@@ -127,17 +167,21 @@ final class WP_Customize_Manager {
                        // Once the theme is loaded, we'll validate it.
                        add_action( 'after_setup_theme', array( $this, 'after_setup_theme' ) );
                } else {
+                       // If the requested theme is not the active theme and the user doesn't have the
+                       // switch_themes cap, bail.
                        if ( ! current_user_can( 'switch_themes' ) )
                                $this->wp_die( -1 );
 
-                       // If the theme isn't active, you can't preview it if it is not allowed or has errors.
+                       // If the theme has errors while loading, bail.
                        if ( $this->theme()->errors() )
                                $this->wp_die( -1 );
 
+                       // If the theme isn't allowed per multisite settings, bail.
                        if ( ! $this->theme()->is_allowed() )
                                $this->wp_die( -1 );
                }
 
+               // All good, let's do some internal business to preview the theme.
                $this->start_previewing_theme();
        }
 
@@ -154,9 +198,7 @@ final class WP_Customize_Manager {
        }
 
        /**
-        * Start previewing the selected theme.
-        *
-        * Adds filters to change the current theme.
+        * Start previewing the selected theme by adding filters to change the current theme.
         *
         * @since 3.4.0
         */
@@ -181,6 +223,13 @@ final class WP_Customize_Manager {
                        add_filter( 'pre_option_template_root', array( $this, 'get_template_root' ) );
                }
 
+               /**
+                * Fires once the Customizer theme preview has started.
+                *
+                * @since 3.4.0
+                *
+                * @param WP_Customize_Manager $this WP_Customize_Manager instance.
+                */
                do_action( 'start_previewing_theme', $this );
        }
 
@@ -211,6 +260,13 @@ final class WP_Customize_Manager {
                        remove_filter( 'pre_option_template_root', array( $this, 'get_template_root' ) );
                }
 
+               /**
+                * Fires once the Customizer theme preview has stopped.
+                *
+                * @since 3.4.0
+                *
+                * @param WP_Customize_Manager $this WP_Customize_Manager instance.
+                */
                do_action( 'stop_previewing_theme', $this );
        }
 
@@ -275,6 +331,14 @@ final class WP_Customize_Manager {
         * @since 3.4.0
         */
        public function wp_loaded() {
+
+               /**
+                * Fires once WordPress has loaded, allowing scripts and styles to be initialized.
+                *
+                * @since 3.4.0
+                *
+                * @param WP_Customize_Manager $this WP_Customize_Manager instance.
+                */
                do_action( 'customize_register', $this );
 
                if ( $this->is_preview() && ! is_admin() )
@@ -300,12 +364,12 @@ final class WP_Customize_Manager {
        }
 
        /**
-        * Decode the $_POST attribute used to override the WP_Customize_Setting values.
+        * Decode the $_POST['customized'] values for a specific Customize Setting.
         *
         * @since 3.4.0
         *
         * @param mixed $setting A WP_Customize_Setting derived object
-        * @return string Sanitized attribute
+        * @return string $post_value Sanitized value
         */
        public function post_value( $setting ) {
                if ( ! isset( $this->_post_values ) ) {
@@ -340,6 +404,14 @@ final class WP_Customize_Manager {
                        $setting->preview();
                }
 
+               /**
+                * Fires once the Customizer preview has initialized and JavaScript
+                * settings have been printed.
+                *
+                * @since 3.4.0
+                *
+                * @param WP_Customize_Manager $this WP_Customize_Manager instance.
+                */
                do_action( 'customize_preview_init', $this );
        }
 
@@ -487,7 +559,7 @@ final class WP_Customize_Manager {
        }
 
        /**
-        * Switch the theme and trigger the save action of each setting.
+        * Switch the theme and trigger the save() method on each setting.
         *
         * @since 3.4.0
         */
@@ -503,15 +575,31 @@ final class WP_Customize_Manager {
                        // to operate properly.
                        $this->stop_previewing_theme();
                        switch_theme( $this->get_stylesheet() );
+                       update_option( 'theme_switched_via_customizer', true );
                        $this->start_previewing_theme();
                }
 
+               /**
+                * Fires once the theme has switched in the Customizer, but before settings
+                * have been saved.
+                *
+                * @since 3.4.0
+                *
+                * @param WP_Customize_Manager $this WP_Customize_Manager instance.
+                */
                do_action( 'customize_save', $this );
 
                foreach ( $this->settings as $setting ) {
                        $setting->save();
                }
 
+               /**
+                * Fires after Customize settings have been saved.
+                *
+                * @since 3.6.0
+                *
+                * @param WP_Customize_Manager $this WP_Customize_Manager instance.
+                */
                do_action( 'customize_save_after', $this );
 
                die;
@@ -522,9 +610,9 @@ final class WP_Customize_Manager {
         *
         * @since 3.4.0
         *
-        * @param string $id A specific ID of the setting. Can be a
-        *                   theme mod or option name.
-        * @param array $args Setting arguments.
+        * @param WP_Customize_Setting|string $id Customize Setting object, or ID.
+        * @param array $args                     Setting arguments; passed to WP_Customize_Setting
+        *                                        constructor.
         */
        public function add_setting( $id, $args = array() ) {
                if ( is_a( $id, 'WP_Customize_Setting' ) )
@@ -540,8 +628,8 @@ final class WP_Customize_Manager {
         *
         * @since 3.4.0
         *
-        * @param string $id A specific ID of the setting.
-        * @return object The settings object.
+        * @param string $id Customize Setting ID.
+        * @return WP_Customize_Setting
         */
        public function get_setting( $id ) {
                if ( isset( $this->settings[ $id ] ) )
@@ -553,7 +641,7 @@ final class WP_Customize_Manager {
         *
         * @since 3.4.0
         *
-        * @param string $id A specific ID of the setting.
+        * @param string $id Customize Setting ID.
         */
        public function remove_setting( $id ) {
                unset( $this->settings[ $id ] );
@@ -564,8 +652,8 @@ final class WP_Customize_Manager {
         *
         * @since 3.4.0
         *
-        * @param string $id A specific ID of the section.
-        * @param array $args Section arguments.
+        * @param WP_Customize_Section|string $id   Customize Section object, or Section ID.
+        * @param array                       $args Section arguments.
         */
        public function add_section( $id, $args = array() ) {
                if ( is_a( $id, 'WP_Customize_Section' ) )
@@ -581,8 +669,8 @@ final class WP_Customize_Manager {
         *
         * @since 3.4.0
         *
-        * @param string $id A specific ID of the section.
-        * @return object The section object.
+        * @param string $id Section ID.
+        * @return WP_Customize_Section
         */
        public function get_section( $id ) {
                if ( isset( $this->sections[ $id ] ) )
@@ -594,7 +682,7 @@ final class WP_Customize_Manager {
         *
         * @since 3.4.0
         *
-        * @param string $id A specific ID of the section.
+        * @param string $id Section ID.
         */
        public function remove_section( $id ) {
                unset( $this->sections[ $id ] );
@@ -605,8 +693,9 @@ final class WP_Customize_Manager {
         *
         * @since 3.4.0
         *
-        * @param string $id A specific ID of the control.
-        * @param array $args Setting arguments.
+        * @param WP_Customize_Control|string $id   Customize Control object, or ID.
+        * @param array                       $args Control arguments; passed to WP_Customize_Control
+        *                                          constructor.
         */
        public function add_control( $id, $args = array() ) {
                if ( is_a( $id, 'WP_Customize_Control' ) )
@@ -622,8 +711,8 @@ final class WP_Customize_Manager {
         *
         * @since 3.4.0
         *
-        * @param string $id A specific ID of the control.
-        * @return object The settings object.
+        * @param string $id ID of the control.
+        * @return WP_Customize_Control $control The control object.
         */
        public function get_control( $id ) {
                if ( isset( $this->controls[ $id ] ) )
@@ -631,11 +720,11 @@ final class WP_Customize_Manager {
        }
 
        /**
-        * Remove a customize setting.
+        * Remove a customize control.
         *
         * @since 3.4.0
         *
-        * @param string $id A specific ID of the control.
+        * @param string $id ID of the control.
         */
        public function remove_control( $id ) {
                unset( $this->controls[ $id ] );
@@ -662,11 +751,13 @@ final class WP_Customize_Manager {
        /**
         * Prepare settings and sections.
         *
+        * For each, check if required related components exist,
+        * whether the user has the necessary capabilities,
+        * and sort by priority.
+        *
         * @since 3.4.0
         */
        public function prepare_controls() {
-               // Prepare controls
-               // Reversing makes uasort sort by time added when conflicts occur.
 
                $this->controls = array_reverse( $this->controls );
                $controls = array();
@@ -680,7 +771,8 @@ final class WP_Customize_Manager {
                }
                $this->controls = $controls;
 
-               // Prepare sections
+               // Prepare sections.
+               // Reversing makes uasort sort by time added when conflicts occur.
                $this->sections = array_reverse( $this->sections );
                uasort( $this->sections, array( $this, '_cmp_priority' ) );
                $sections = array();
@@ -995,10 +1087,10 @@ final class WP_Customize_Manager {
 };
 
 /**
- * Validates a hex color.
+ * Sanitizes a hex color.
  *
  * Returns either '', a 3 or 6 digit hex color (with #), or null.
- * For validating values without a #, see sanitize_hex_color_no_hash().
+ * For sanitizing values without a #, see sanitize_hex_color_no_hash().
  *
  * @since 3.4.0
  *
index ab24dab5f3e44aed2125ddc54eec2b4dbe1aa86b..e96f3865e7971907a013b7872472412136f02be6 100644 (file)
@@ -2,28 +2,96 @@
 /**
  * Customize Section Class.
  *
+ * A UI container for controls, managed by the WP_Customize_Manager.
+ *
  * @package WordPress
  * @subpackage Customize
  * @since 3.4.0
  */
 class WP_Customize_Section {
+
+       /**
+        * WP_Customize_Manager instance.
+        *
+        * @since 3.4.0
+        * @access public
+        * @var WP_Customize_Manager
+        */
        public $manager;
+
+       /**
+        * Unique identifier.
+        *
+        * @since 3.4.0
+        * @access public
+        * @var string
+        */
        public $id;
-       public $priority       = 10;
-       public $capability     = 'edit_theme_options';
+
+       /**
+        * Priority of the section which informs load order of sections.
+        *
+        * @since 3.4.0
+        * @access public
+        * @var integer
+        */
+       public $priority = 10;
+
+       /**
+        * Capability required for the section.
+        *
+        * @since 3.4.0
+        * @access public
+        * @var string
+        */
+       public $capability = 'edit_theme_options';
+
+       /**
+        * Theme feature support for the section.
+        *
+        * @since 3.4.0
+        * @access public
+        * @var string|array
+        */
        public $theme_supports = '';
-       public $title          = '';
-       public $description    = '';
+
+       /**
+        * Title of the section to show in UI.
+        *
+        * @since 3.4.0
+        * @access public
+        * @var string
+        */
+       public $title = '';
+
+       /**
+        * Description to show in the UI.
+        *
+        * @since 3.4.0
+        * @access public
+        * @var string
+        */
+       public $description = '';
+
+       /**
+        * Customizer controls for this section.
+        *
+        * @since 3.4.0
+        * @access public
+        * @var array
+        */
        public $controls;
 
        /**
         * Constructor.
         *
+        * Any supplied $args override class property defaults.
+        *
         * @since 3.4.0
         *
-        * @param WP_Customize_Manager $manager
-        * @param string $id An specific ID of the section.
-        * @param array $args Section arguments.
+        * @param WP_Customize_Manager $manager Customizer bootstrap instance.
+        * @param string               $id      An specific ID of the section.
+        * @param array                $args    Section arguments.
         */
        function __construct( $manager, $id, $args = array() ) {
                $keys = array_keys( get_class_vars( __CLASS__ ) );
@@ -41,7 +109,8 @@ class WP_Customize_Section {
        }
 
        /**
-        * Check if the theme supports the section and check user capabilities.
+        * Checks required user capabilities and whether the theme has the
+        * feature support required by the section.
         *
         * @since 3.4.0
         *
@@ -66,14 +135,29 @@ class WP_Customize_Section {
                if ( ! $this->check_capabilities() )
                        return;
 
+               /**
+                * Fires before rendering a Customizer section.
+                *
+                * @since 3.4.0
+                *
+                * @param WP_Customize_Section $this WP_Customize_Section instance.
+                */
                do_action( 'customize_render_section', $this );
-               do_action( 'customize_render_section_' . $this->id );
+               /**
+                * Fires before rendering a specific Customizer section.
+                *
+                * The dynamic portion of the hook name, $this->id, refers to the ID
+                * of the specific Customizer section to be rendered.
+                *
+                * @since 3.4.0
+                */
+               do_action( "customize_render_section_{$this->id}" );
 
                $this->render();
        }
 
        /**
-        * Render the section.
+        * Render the section, and the controls that have been added to it.
         *
         * @since 3.4.0
         */
index c8542efefa4b65fe4b688b2001fb819929712fe6..bf75426a138d71925dbb416d1e00008784539791 100644 (file)
@@ -2,36 +2,78 @@
 /**
  * Customize Setting Class.
  *
+ * Handles saving and sanitizing of settings.
+ *
  * @package WordPress
  * @subpackage Customize
  * @since 3.4.0
  */
 class WP_Customize_Setting {
+       /**
+        * @access public
+        * @var WP_Customize_Manager
+        */
        public $manager;
+
+       /**
+        * @access public
+        * @var string
+        */
        public $id;
 
-       public $type            = 'theme_mod';
-       public $capability      = 'edit_theme_options';
+       /**
+        * @access public
+        * @var string
+        */
+       public $type = 'theme_mod';
+
+       /**
+        * Capability required to edit this setting.
+        *
+        * @var string
+        */
+       public $capability = 'edit_theme_options';
+
+       /**
+        * Feature a theme is required to support to enable this setting.
+        *
+        * @access public
+        * @var string
+        */
        public $theme_supports  = '';
        public $default         = '';
        public $transport       = 'refresh';
 
+       /**
+        * Server-side sanitization callback for the setting's value.
+        *
+        * @var callback
+        */
        public $sanitize_callback    = '';
        public $sanitize_js_callback = '';
 
        protected $id_data = array();
-       private $_post_value; // Cached, sanitized $_POST value.
+
+       /**
+        * Cached and sanitized $_POST value for the setting.
+        *
+        * @access private
+        * @var mixed
+        */
+       private $_post_value;
 
        /**
         * Constructor.
         *
+        * Any supplied $args override class property defaults.
+        *
         * @since 3.4.0
         *
         * @param WP_Customize_Manager $manager
-        * @param string $id An specific ID of the setting. Can be a
-        *                   theme mod or option name.
-        * @param array $args Setting arguments.
-        * @return WP_Customize_Setting
+        * @param string               $id      An specific ID of the setting. Can be a
+        *                                      theme mod or option name.
+        * @param array                $args    Setting arguments.
+        * @return WP_Customize_Setting $setting
         */
        function __construct( $manager, $id, $args = array() ) {
                $keys = array_keys( get_class_vars( __CLASS__ ) );
@@ -80,6 +122,15 @@ class WP_Customize_Setting {
                                }
                                break;
                        default :
+
+                               /**
+                                * Fires when the WP_Customize_Setting::preview() method is called for settings
+                                * not handled as theme_mods or options.
+                                *
+                                * The dynamic portion of the hook name, $this->id, refers to the setting ID.
+                                *
+                                * @since 3.4.0
+                                */
                                do_action( 'customize_preview_' . $this->id );
                }
        }
@@ -98,7 +149,8 @@ class WP_Customize_Setting {
        }
 
        /**
-        * Set the value of the parameter for a specific theme.
+        * Check user capabilities and theme supports, and then save
+        * the value of the setting.
         *
         * @since 3.4.0
         *
@@ -110,13 +162,22 @@ class WP_Customize_Setting {
                if ( ! $this->check_capabilities() || ! isset( $value ) )
                        return false;
 
+               /**
+                * Fires when the WP_Customize_Setting::save() method is called for settings
+                * not handled as theme_mods or options.
+                *
+                * The dynamic portion of the hook name, $this->id_data['base'] refers to
+                * the base slug of the setting name.
+                *
+                * @since 3.4.0
+                */
                do_action( 'customize_save_' . $this->id_data[ 'base' ] );
 
                $this->update( $value );
        }
 
        /**
-        * Fetches, validates, and sanitizes the $_POST value.
+        * Fetch and sanitize the $_POST value for the setting.
         *
         * @since 3.4.0
         *
@@ -124,9 +185,11 @@ class WP_Customize_Setting {
         * @return mixed The default value on failure, otherwise the sanitized value.
         */
        public final function post_value( $default = null ) {
+               // Check for a cached value
                if ( isset( $this->_post_value ) )
                        return $this->_post_value;
 
+               // Call the manager for the post value
                $result = $this->manager->post_value( $this );
 
                if ( isset( $result ) )
@@ -145,11 +208,20 @@ class WP_Customize_Setting {
         */
        public function sanitize( $value ) {
                $value = wp_unslash( $value );
+
+               /**
+                * Filter a Customize setting value in un-slashed form.
+                *
+                * @since 3.4.0
+                *
+                * @param mixed                $value Value of the setting.
+                * @param WP_Customize_Setting $this  WP_Customize_Setting instance.
+                */
                return apply_filters( "customize_sanitize_{$this->id}", $value, $this );
        }
 
        /**
-        * Set the value of the parameter for a specific theme.
+        * Save the value of the setting, using the related API.
         *
         * @since 3.4.0
         *
@@ -165,6 +237,17 @@ class WP_Customize_Setting {
                                return $this->_update_option( $value );
                                break;
                        default :
+
+                               /**
+                                * Fires when the WP_Customize_Setting::update() method is called for settings
+                                * not handled as theme_mods or options.
+                                *
+                                * The dynamic portion of the hook name, $this->type, refers to the type of setting.
+                                *
+                                * @since 3.4.0
+                                *
+                                * @param mixed $value Value of the setting.
+                                */
                                return do_action( 'customize_update_' . $this->type, $value );
                }
        }
@@ -190,7 +273,7 @@ class WP_Customize_Setting {
        }
 
        /**
-        * Update the theme mod from the value of the parameter.
+        * Update the option from the value of the setting.
         *
         * @since 3.4.0
         *
@@ -210,13 +293,14 @@ class WP_Customize_Setting {
        }
 
        /**
-        * Fetch the value of the parameter for a specific theme.
+        * Fetch the value of the setting.
         *
         * @since 3.4.0
         *
-        * @return mixed The requested value.
+        * @return mixed The value.
         */
        public function value() {
+               // Get the callback that corresponds to the setting type.
                switch( $this->type ) {
                        case 'theme_mod' :
                                $function = 'get_theme_mod';
@@ -225,6 +309,20 @@ class WP_Customize_Setting {
                                $function = 'get_option';
                                break;
                        default :
+
+                               /**
+                                * Filter a Customize setting value not handled as a theme_mod or option.
+                                *
+                                * The dynamic portion of the hook name, $this->id_date['base'], refers to
+                                * the base slug of the setting name.
+                                *
+                                * For settings handled as theme_mods or options, see those corresponding
+                                * functions for available hooks.
+                                *
+                                * @since 3.4.0
+                                *
+                                * @param mixed $default The setting default value. Default empty.
+                                */
                                return apply_filters( 'customize_value_' . $this->id_data[ 'base' ], $this->default );
                }
 
@@ -238,13 +336,24 @@ class WP_Customize_Setting {
        }
 
        /**
-        * Escape the parameter's value for use in JavaScript.
+        * Sanitize the setting's value for use in JavaScript.
         *
         * @since 3.4.0
         *
         * @return mixed The requested escaped value.
         */
        public function js_value() {
+
+               /**
+                * Filter a Customize setting value for use in JavaScript.
+                *
+                * The dynamic portion of the hook name, $this->id, refers to the setting ID.
+                *
+                * @since 3.4.0
+                *
+                * @param mixed                $value The setting value.
+                * @param WP_Customize_Setting $this  WP_Customize_Setting instance.
+                */
                $value = apply_filters( "customize_sanitize_js_{$this->id}", $this->value(), $this );
 
                if ( is_string( $value ) )
@@ -254,7 +363,7 @@ class WP_Customize_Setting {
        }
 
        /**
-        * Check if the theme supports the setting and check user capabilities.
+        * Validate user capabilities whether the theme supports the setting.
         *
         * @since 3.4.0
         *
@@ -420,6 +529,8 @@ final class WP_Customize_Header_Image_Setting extends WP_Customize_Setting {
 }
 
 /**
+ * Class WP_Customize_Background_Image_Setting
+ *
  * @package WordPress
  * @subpackage Customize
  * @since 3.4.0
diff --git a/wp-includes/class-wp-customize-widgets.php b/wp-includes/class-wp-customize-widgets.php
new file mode 100644 (file)
index 0000000..8efead2
--- /dev/null
@@ -0,0 +1,1526 @@
+<?php
+/**
+ * Customize Widgets Class
+ *
+ * Implements widget management in the Customizer.
+ *
+ * @package WordPress
+ * @subpackage Customize
+ * @since 3.9.0
+ */
+final class WP_Customize_Widgets {
+
+       /**
+        * WP_Customize_Manager instance.
+        *
+        * @since 3.9.0
+        * @access public
+        * @var WP_Customize_Manager
+        */
+       public $manager;
+
+       /**
+        * All id_bases for widgets defined in core.
+        *
+        * @since 3.9.0
+        * @access protected
+        * @var array
+        */
+       protected $core_widget_id_bases = array(
+               'archives', 'calendar', 'categories', 'links', 'meta',
+               'nav_menu', 'pages', 'recent-comments', 'recent-posts',
+               'rss', 'search', 'tag_cloud', 'text',
+       );
+
+       /**
+        * @since 3.9.0
+        * @access protected
+        * @var
+        */
+       protected $_customized;
+
+       /**
+        * @since 3.9.0
+        * @access protected
+        * @var array
+        */
+       protected $_prepreview_added_filters = array();
+
+       /**
+        * @since 3.9.0
+        * @access protected
+        * @var array
+        */
+       protected $rendered_sidebars = array();
+
+       /**
+        * @since 3.9.0
+        * @access protected
+        * @var array
+        */
+       protected $rendered_widgets = array();
+
+       /**
+        * @since 3.9.0
+        * @access protected
+        * @var array
+        */
+       protected $old_sidebars_widgets = array();
+
+       /**
+        * Initial loader.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param WP_Customize_Manager $manager Customize manager bootstrap instance.
+        */
+       public function __construct( $manager ) {
+               $this->manager = $manager;
+
+               add_action( 'after_setup_theme',                       array( $this, 'setup_widget_addition_previews' ) );
+               add_action( 'wp_loaded',                               array( $this, 'override_sidebars_widgets_for_theme_switch' ) );
+               add_action( 'customize_controls_init',                 array( $this, 'customize_controls_init' ) );
+               add_action( 'customize_register',                      array( $this, 'schedule_customize_register' ), 1 );
+               add_action( 'customize_controls_enqueue_scripts',      array( $this, 'enqueue_scripts' ) );
+               add_action( 'customize_controls_print_styles',         array( $this, 'print_styles' ) );
+               add_action( 'customize_controls_print_scripts',        array( $this, 'print_scripts' ) );
+               add_action( 'customize_controls_print_footer_scripts', array( $this, 'print_footer_scripts' ) );
+               add_action( 'customize_controls_print_footer_scripts', array( $this, 'output_widget_control_templates' ) );
+               add_action( 'customize_preview_init',                  array( $this, 'customize_preview_init' ) );
+
+               add_action( 'dynamic_sidebar',                         array( $this, 'tally_rendered_widgets' ) );
+               add_filter( 'is_active_sidebar',                       array( $this, 'tally_sidebars_via_is_active_sidebar_calls' ), 10, 2 );
+               add_filter( 'dynamic_sidebar_has_widgets',             array( $this, 'tally_sidebars_via_dynamic_sidebar_calls' ), 10, 2 );
+       }
+
+       /**
+        * Get an unslashed post value or return a default.
+        *
+        * @since 3.9.0
+        *
+        * @access protected
+        *
+        * @param string $name    Post value.
+        * @param mixed  $default Default post value.
+        * @return mixed Unslashed post value or default value.
+        */
+       protected function get_post_value( $name, $default = null ) {
+               if ( ! isset( $_POST[ $name ] ) ) {
+                       return $default;
+               }
+
+               return wp_unslash( $_POST[$name] );
+       }
+
+       /**
+        * Set up widget addition previews.
+        *
+        * Since the widgets get registered on 'widgets_init' before the customizer
+        * settings are set up on 'customize_register', we have to filter the options
+        * similarly to how the setting previewer will filter the options later.
+        *
+        * @since 3.9.0
+        *
+        * @access public
+        */
+       public function setup_widget_addition_previews() {
+               $is_customize_preview = false;
+
+               if ( ! empty( $this->manager ) && ! is_admin() && 'on' === $this->get_post_value( 'wp_customize' ) ) {
+                       $is_customize_preview = check_ajax_referer( 'preview-customize_' . $this->manager->get_stylesheet(), 'nonce', false );
+               }
+
+               $is_ajax_widget_update = false;
+               if ( $this->manager->doing_ajax() && 'update-widget' === $this->get_post_value( 'action' ) ) {
+                       $is_ajax_widget_update = check_ajax_referer( 'update-widget', 'nonce', false );
+               }
+
+               $is_ajax_customize_save = false;
+               if ( $this->manager->doing_ajax() && 'customize_save' === $this->get_post_value( 'action' ) ) {
+                       $is_ajax_customize_save = check_ajax_referer( 'save-customize_' . $this->manager->get_stylesheet(), 'nonce', false );
+               }
+
+               $is_valid_request = ( $is_ajax_widget_update || $is_customize_preview || $is_ajax_customize_save );
+               if ( ! $is_valid_request ) {
+                       return;
+               }
+
+               // Input from customizer preview.
+               if ( isset( $_POST['customized'] ) ) {
+                       $this->_customized = json_decode( $this->get_post_value( 'customized' ), true );
+               } else { // Input from ajax widget update request.
+                       $this->_customized = array();
+                       $id_base = $this->get_post_value( 'id_base' );
+                       $widget_number = $this->get_post_value( 'widget_number', false );
+                       $option_name = 'widget_' . $id_base;
+                       $this->_customized[ $option_name ] = array();
+                       if ( preg_match( '/^[0-9]+$/', $widget_number ) ) {
+                               $option_name .= '[' . $widget_number . ']';
+                               $this->_customized[ $option_name ][ $widget_number ] = array();
+                       }
+               }
+
+               $function = array( $this, 'prepreview_added_sidebars_widgets' );
+
+               $hook = 'option_sidebars_widgets';
+               add_filter( $hook, $function );
+               $this->_prepreview_added_filters[] = compact( 'hook', 'function' );
+
+               $hook = 'default_option_sidebars_widgets';
+               add_filter( $hook, $function );
+               $this->_prepreview_added_filters[] = compact( 'hook', 'function' );
+
+               $function = array( $this, 'prepreview_added_widget_instance' );
+               foreach ( $this->_customized as $setting_id => $value ) {
+                       if ( preg_match( '/^(widget_.+?)(?:\[(\d+)\])?$/', $setting_id, $matches ) ) {
+                               $option = $matches[1];
+
+                               $hook = sprintf( 'option_%s', $option );
+                               if ( ! has_filter( $hook, $function ) ) {
+                                       add_filter( $hook, $function );
+                                       $this->_prepreview_added_filters[] = compact( 'hook', 'function' );
+                               }
+
+                               $hook = sprintf( 'default_option_%s', $option );
+                               if ( ! has_filter( $hook, $function ) ) {
+                                       add_filter( $hook, $function );
+                                       $this->_prepreview_added_filters[] = compact( 'hook', 'function' );
+                               }
+
+                               /*
+                                * Make sure the option is registered so that the update_option()
+                                * won't fail due to the filters providing a default value, which
+                                * causes the update_option() to get confused.
+                                */
+                               add_option( $option, array() );
+                       }
+               }
+       }
+
+       /**
+        * Ensure that newly-added widgets will appear in the widgets_sidebars.
+        *
+        * This is necessary because the customizer's setting preview filters
+        * are added after the widgets_init action, which is too late for the
+        * widgets to be set up properly.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param array $sidebars_widgets Associative array of sidebars and their widgets.
+        * @return array Filtered array of sidebars and their widgets.
+        */
+       public function prepreview_added_sidebars_widgets( $sidebars_widgets ) {
+               foreach ( $this->_customized as $setting_id => $value ) {
+                       if ( preg_match( '/^sidebars_widgets\[(.+?)\]$/', $setting_id, $matches ) ) {
+                               $sidebar_id = $matches[1];
+                               $sidebars_widgets[ $sidebar_id ] = $value;
+                       }
+               }
+               return $sidebars_widgets;
+       }
+
+       /**
+        * Ensure newly-added widgets have empty instances so they
+        * will be recognized.
+        *
+        * This is necessary because the customizer's setting preview
+        * filters are added after the widgets_init action, which is
+        * too late for the widgets to be set up properly.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param array|bool|mixed $value Widget instance(s), false if open was empty.
+        * @return array|mixed Widget instance(s) with additions.
+        */
+       public function prepreview_added_widget_instance( $value = false ) {
+               if ( ! preg_match( '/^(?:default_)?option_(widget_(.+))/', current_filter(), $matches ) ) {
+                       return $value;
+               }
+               $id_base = $matches[2];
+
+               foreach ( $this->_customized as $setting_id => $setting ) {
+                       $parsed_setting_id = $this->parse_widget_setting_id( $setting_id );
+                       if ( is_wp_error( $parsed_setting_id ) || $id_base !== $parsed_setting_id['id_base'] ) {
+                               continue;
+                       }
+                       $widget_number = $parsed_setting_id['number'];
+
+                       if ( is_null( $widget_number ) ) {
+                               // Single widget.
+                               if ( false === $value ) {
+                                       $value = array();
+                               }
+                       } else {
+                               // Multi widget.
+                               if ( empty( $value ) ) {
+                                       $value = array( '_multiwidget' => 1 );
+                               }
+                               if ( ! isset( $value[ $widget_number ] ) ) {
+                                       $value[ $widget_number ] = array();
+                               }
+                       }
+               }
+
+               return $value;
+       }
+
+       /**
+        * Remove pre-preview filters.
+        *
+        * Removes filters added in setup_widget_addition_previews()
+        * to ensure widgets are populating the options during
+        * 'widgets_init'.
+        *
+        * @since 3.9.0
+        * @access public
+        */
+       public function remove_prepreview_filters() {
+               foreach ( $this->_prepreview_added_filters as $prepreview_added_filter ) {
+                       remove_filter( $prepreview_added_filter['hook'], $prepreview_added_filter['function'] );
+               }
+               $this->_prepreview_added_filters = array();
+       }
+
+       /**
+        * Override sidebars_widgets for theme switch.
+        *
+        * When switching a theme via the customizer, supply any previously-configured
+        * sidebars_widgets from the target theme as the initial sidebars_widgets
+        * setting. Also store the old theme's existing settings so that they can
+        * be passed along for storing in the sidebars_widgets theme_mod when the
+        * theme gets switched.
+        *
+        * @since 3.9.0
+        * @access public
+        */
+       public function override_sidebars_widgets_for_theme_switch() {
+               global $sidebars_widgets;
+
+               if ( $this->manager->doing_ajax() || $this->manager->is_theme_active() ) {
+                       return;
+               }
+
+               $this->old_sidebars_widgets = wp_get_sidebars_widgets();
+               add_filter( 'customize_value_old_sidebars_widgets_data', array( $this, 'filter_customize_value_old_sidebars_widgets_data' ) );
+
+               // retrieve_widgets() looks at the global $sidebars_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 );
+       }
+
+       /**
+        * Filter old_sidebars_widgets_data customizer setting.
+        *
+        * When switching themes, filter the Customizer setting
+        * old_sidebars_widgets_data to supply initial $sidebars_widgets before they
+        * were overridden by retrieve_widgets(). The value for
+        * old_sidebars_widgets_data gets set in the old theme's sidebars_widgets
+        * theme_mod.
+        *
+        * @see WP_Customize_Widgets::handle_theme_switch()
+        * @since 3.9.0
+        * @access public
+        *
+        * @param array $sidebars_widgets
+        */
+       public function filter_customize_value_old_sidebars_widgets_data( $old_sidebars_widgets ) {
+               return $this->old_sidebars_widgets;
+       }
+
+       /**
+        * Filter sidebars_widgets option for theme switch.
+        *
+        * When switching themes, the retrieve_widgets() function is run when the
+        * Customizer initializes, and then the new sidebars_widgets here get
+        * supplied as the default value for the sidebars_widgets option.
+        *
+        * @see WP_Customize_Widgets::handle_theme_switch()
+        * @since 3.9.0
+        * @access public
+        *
+        * @param array $sidebars_widgets
+        */
+       public function filter_option_sidebars_widgets_for_theme_switch( $sidebars_widgets ) {
+               $sidebars_widgets = $GLOBALS['sidebars_widgets'];
+               $sidebars_widgets['array_version'] = 3;
+               return $sidebars_widgets;
+       }
+
+       /**
+        * Make sure all widgets get loaded into the Customizer.
+        *
+        * Note: these actions are also fired in wp_ajax_update_widget().
+        *
+        * @since 3.9.0
+        * @access public
+        */
+       public function customize_controls_init() {
+               /** This action is documented in wp-admin/includes/ajax-actions.php */
+               do_action( 'load-widgets.php' );
+
+               /** This action is documented in wp-admin/includes/ajax-actions.php */
+               do_action( 'widgets.php' );
+
+               /** This action is documented in wp-admin/widgets.php */
+               do_action( 'sidebar_admin_setup' );
+       }
+
+       /**
+        * Ensure widgets are available for all types of previews.
+        *
+        * When in preview, hook to 'customize_register' for settings
+        * after WordPress is loaded so that all filters have been
+        * initialized (e.g. Widget Visibility).
+        *
+        * @since 3.9.0
+        * @access public
+        */
+       public function schedule_customize_register() {
+               if ( is_admin() ) { // @todo for some reason, $wp_customize->is_preview() is true here?
+                       $this->customize_register();
+               } else {
+                       add_action( 'wp', array( $this, 'customize_register' ) );
+               }
+       }
+
+       /**
+        * Register customizer settings and controls for all sidebars and widgets.
+        *
+        * @since 3.9.0
+        * @access public
+        */
+       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() ),
+                       wp_get_sidebars_widgets()
+               );
+
+               $new_setting_ids = array();
+
+               /*
+                * Register a setting for all widgets, including those which are active,
+                * inactive, and orphaned since a widget may get suppressed from a sidebar
+                * via a plugin (like Widget Visibility).
+                */
+               foreach ( array_keys( $wp_registered_widgets ) as $widget_id ) {
+                       $setting_id   = $this->get_setting_id( $widget_id );
+                       $setting_args = $this->get_setting_args( $setting_id );
+
+                       $setting_args['sanitize_callback']    = array( $this, 'sanitize_widget_instance' );
+                       $setting_args['sanitize_js_callback'] = array( $this, 'sanitize_widget_js_instance' );
+
+                       $this->manager->add_setting( $setting_id, $setting_args );
+
+                       $new_setting_ids[] = $setting_id;
+               }
+
+               /*
+                * Add a setting which will be supplied for the theme's sidebars_widgets
+                * theme_mod when the the theme is switched.
+                */
+               if ( ! $this->manager->is_theme_active() ) {
+                       $setting_id = 'old_sidebars_widgets_data';
+                       $setting_args = $this->get_setting_args( $setting_id, array(
+                               'type' => 'global_variable',
+                       ) );
+                       $this->manager->add_setting( $setting_id, $setting_args );
+               }
+
+               foreach ( $sidebars_widgets as $sidebar_id => $sidebar_widget_ids ) {
+                       if ( empty( $sidebar_widget_ids ) ) {
+                               $sidebar_widget_ids = array();
+                       }
+
+                       $is_registered_sidebar = isset( $GLOBALS['wp_registered_sidebars'][$sidebar_id] );
+                       $is_inactive_widgets   = ( 'wp_inactive_widgets' === $sidebar_id );
+                       $is_active_sidebar     = ( $is_registered_sidebar && ! $is_inactive_widgets );
+
+                       // Add setting for managing the sidebar's widgets.
+                       if ( $is_registered_sidebar || $is_inactive_widgets ) {
+                               $setting_id   = sprintf( 'sidebars_widgets[%s]', $sidebar_id );
+                               $setting_args = $this->get_setting_args( $setting_id );
+
+                               $setting_args['sanitize_callback']    = array( $this, 'sanitize_sidebar_widgets' );
+                               $setting_args['sanitize_js_callback'] = array( $this, 'sanitize_sidebar_widgets_js_instance' );
+
+                               $this->manager->add_setting( $setting_id, $setting_args );
+                               $new_setting_ids[] = $setting_id;
+
+                               // Add section to contain controls.
+                               $section_id = sprintf( 'sidebar-widgets-%s', $sidebar_id );
+                               if ( $is_active_sidebar ) {
+
+                                       $section_args = array(
+                                               /* translators: %s: sidebar name */
+                                               'title' => sprintf( __( 'Widgets: %s' ), $GLOBALS['wp_registered_sidebars'][$sidebar_id]['name'] ),
+                                               'description' => $GLOBALS['wp_registered_sidebars'][$sidebar_id]['description'],
+                                               'priority' => 1000 + array_search( $sidebar_id, array_keys( $wp_registered_sidebars ) ),
+                                       );
+
+                                       /**
+                                        * Filter Customizer widget section arguments for a given sidebar.
+                                        *
+                                        * @since 3.9.0
+                                        *
+                                        * @param array      $section_args Array of Customizer widget section arguments.
+                                        * @param string     $section_id   Customizer section ID.
+                                        * @param int|string $sidebar_id   Sidebar ID.
+                                        */
+                                       $section_args = apply_filters( 'customizer_widgets_section_args', $section_args, $section_id, $sidebar_id );
+
+                                       $this->manager->add_section( $section_id, $section_args );
+
+                                       $control = new WP_Widget_Area_Customize_Control( $this->manager, $setting_id, array(
+                                               'section'    => $section_id,
+                                               'sidebar_id' => $sidebar_id,
+                                               'priority'   => count( $sidebar_widget_ids ), // place 'Add Widget' and 'Reorder' buttons at end.
+                                       ) );
+                                       $new_setting_ids[] = $setting_id;
+
+                                       $this->manager->add_control( $control );
+                               }
+                       }
+
+                       // Add a control for each active widget (located in a sidebar).
+                       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] ) ) {
+                                       continue;
+                               }
+
+                               $registered_widget = $GLOBALS['wp_registered_widgets'][$widget_id];
+                               $setting_id        = $this->get_setting_id( $widget_id );
+                               $id_base           = $GLOBALS['wp_registered_widget_controls'][$widget_id]['id_base'];
+
+                               $control = new WP_Widget_Form_Customize_Control( $this->manager, $setting_id, array(
+                                       'label'          => $registered_widget['name'],
+                                       'section'        => $section_id,
+                                       'sidebar_id'     => $sidebar_id,
+                                       'widget_id'      => $widget_id,
+                                       'widget_id_base' => $id_base,
+                                       'priority'       => $i,
+                                       'width'          => $wp_registered_widget_controls[$widget_id]['width'],
+                                       'height'         => $wp_registered_widget_controls[$widget_id]['height'],
+                                       'is_wide'        => $this->is_wide_widget( $widget_id ),
+                               ) );
+                               $this->manager->add_control( $control );
+                       }
+               }
+
+               /*
+                * We have to register these settings later than customize_preview_init
+                * so that other filters have had a chance to run.
+                */
+               if ( did_action( 'customize_preview_init' ) ) {
+                       foreach ( $new_setting_ids as $new_setting_id ) {
+                               $this->manager->get_setting( $new_setting_id )->preview();
+                       }
+               }
+               $this->remove_prepreview_filters();
+       }
+
+       /**
+        * Covert a widget_id into its corresponding customizer setting ID (option name).
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param string $widget_id Widget ID.
+        * @return string Maybe-parsed widget ID.
+        */
+       public function get_setting_id( $widget_id ) {
+               $parsed_widget_id = $this->parse_widget_id( $widget_id );
+               $setting_id       = sprintf( 'widget_%s', $parsed_widget_id['id_base'] );
+
+               if ( ! is_null( $parsed_widget_id['number'] ) ) {
+                       $setting_id .= sprintf( '[%d]', $parsed_widget_id['number'] );
+               }
+               return $setting_id;
+       }
+
+       /**
+        * Determine whether the widget is considered "wide".
+        *
+        * Core widgets which may have controls wider than 250, but can
+        * still be shown in the narrow customizer panel. The RSS and Text
+        * widgets in Core, for example, have widths of 400 and yet they
+        * still render fine in the customizer panel. This method will
+        * return all Core widgets as being not wide, but this can be
+        * overridden with the is_wide_widget_in_customizer filter.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param string $widget_id Widget ID.
+        * @return bool Whether or not the widget is a "wide" widget.
+        */
+       public function is_wide_widget( $widget_id ) {
+               global $wp_registered_widget_controls;
+
+               $parsed_widget_id = $this->parse_widget_id( $widget_id );
+               $width            = $wp_registered_widget_controls[$widget_id]['width'];
+               $is_core          = in_array( $parsed_widget_id['id_base'], $this->core_widget_id_bases );
+               $is_wide          = ( $width > 250 && ! $is_core );
+
+               /**
+                * Filter whether the given widget is considered "wide".
+                *
+                * @since 3.9.0
+                *
+                * @param bool   $is_wide   Whether the widget is wide, Default false.
+                * @param string $widget_id Widget ID.
+                */
+               return apply_filters( 'is_wide_widget_in_customizer', $is_wide, $widget_id );
+       }
+
+       /**
+        * Covert a widget ID into its id_base and number components.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param string $widget_id Widget ID.
+        * @return array Array containing a widget's id_base and number components.
+        */
+       public function parse_widget_id( $widget_id ) {
+               $parsed = array(
+                       'number' => null,
+                       'id_base' => null,
+               );
+
+               if ( preg_match( '/^(.+)-(\d+)$/', $widget_id, $matches ) ) {
+                       $parsed['id_base'] = $matches[1];
+                       $parsed['number']  = intval( $matches[2] );
+               } else {
+                       // likely an old single widget
+                       $parsed['id_base'] = $widget_id;
+               }
+               return $parsed;
+       }
+
+       /**
+        * Convert a widget setting ID (option path) to its id_base and number components.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param string $setting_id Widget setting ID.
+        * @return WP_Error|array Array containing a widget's id_base and number components,
+        *                        or a WP_Error object.
+        */
+       public function parse_widget_setting_id( $setting_id ) {
+               if ( ! preg_match( '/^(widget_(.+?))(?:\[(\d+)\])?$/', $setting_id, $matches ) ) {
+                       return new WP_Error( 'widget_setting_invalid_id' );
+               }
+
+               $id_base = $matches[2];
+               $number  = isset( $matches[3] ) ? intval( $matches[3] ) : null;
+
+               return compact( 'id_base', 'number' );
+       }
+
+       /**
+        * Call admin_print_styles-widgets.php and admin_print_styles hooks to
+        * allow custom styles from plugins.
+        *
+        * @since 3.9.0
+        * @access public
+        */
+       public function print_styles() {
+               /** This action is documented in wp-admin/admin-header.php */
+               do_action( 'admin_print_styles-widgets.php' );
+
+               /** This action is documented in wp-admin/admin-header.php */
+               do_action( 'admin_print_styles' );
+       }
+
+       /**
+        * Call admin_print_scripts-widgets.php and admin_print_scripts hooks to
+        * allow custom scripts from plugins.
+        *
+        * @since 3.9.0
+        * @access public
+        */
+       public function print_scripts() {
+               /** This action is documented in wp-admin/admin-header.php */
+               do_action( 'admin_print_scripts-widgets.php' );
+
+               /** This action is documented in wp-admin/admin-header.php */
+               do_action( 'admin_print_scripts' );
+       }
+
+       /**
+        * Enqueue scripts and styles for customizer panel and export data to JavaScript.
+        *
+        * @since 3.9.0
+        * @access public
+        */
+       public function enqueue_scripts() {
+               wp_enqueue_style( 'customize-widgets' );
+               wp_enqueue_script( 'customize-widgets' );
+
+               /** This action is documented in wp-admin/admin-header.php */
+               do_action( 'admin_enqueue_scripts', 'widgets.php' );
+
+               /*
+                * Export available widgets with control_tpl removed from model
+                * since plugins need templates to be in the DOM.
+                */
+               $available_widgets = array();
+
+               foreach ( $this->get_available_widgets() as $available_widget ) {
+                       unset( $available_widget['control_tpl'] );
+                       $available_widgets[] = $available_widget;
+               }
+
+               $widget_reorder_nav_tpl = sprintf(
+                       '<div class="widget-reorder-nav"><span class="move-widget" tabindex="0">%1$s</span><span class="move-widget-down" tabindex="0">%2$s</span><span class="move-widget-up" tabindex="0">%3$s</span></div>',
+                       __( 'Move to another area&hellip;' ),
+                       __( 'Move down' ),
+                       __( 'Move up' )
+               );
+
+               $move_widget_area_tpl = str_replace(
+                       array( '{description}', '{btn}' ),
+                       array(
+                               __( 'Select an area to move this widget into:' ),
+                               _x( 'Move', 'Move widget' ),
+                       ),
+                       '<div class="move-widget-area">
+                               <p class="description">{description}</p>
+                               <ul class="widget-area-select">
+                                       <% _.each( sidebars, function ( sidebar ){ %>
+                                               <li class="" data-id="<%- sidebar.id %>" title="<%- sidebar.description %>" tabindex="0"><%- sidebar.name %></li>
+                                       <% }); %>
+                               </ul>
+                               <div class="move-widget-actions">
+                                       <button class="move-widget-btn button-secondary" type="button">{btn}</button>
+                               </div>
+                       </div>'
+               );
+
+               global $wp_scripts;
+
+               $settings = array(
+                       'nonce'                => wp_create_nonce( 'update-widget' ),
+                       'registeredSidebars'   => array_values( $GLOBALS['wp_registered_sidebars'] ),
+                       'registeredWidgets'    => $GLOBALS['wp_registered_widgets'],
+                       'availableWidgets'     => $available_widgets, // @todo Merge this with registered_widgets
+                       'l10n' => array(
+                               'saveBtnLabel'     => __( 'Apply' ),
+                               'saveBtnTooltip'   => __( 'Save and preview changes before publishing them.' ),
+                               'removeBtnLabel'   => __( 'Remove' ),
+                               'removeBtnTooltip' => __( 'Trash widget by moving it to the inactive widgets sidebar.' ),
+                               'error'            => __( 'An error has occurred. Please reload the page and try again.' ),
+                       ),
+                       'tpl' => array(
+                               'widgetReorderNav' => $widget_reorder_nav_tpl,
+                               'moveWidgetArea'   => $move_widget_area_tpl,
+                       ),
+               );
+
+               foreach ( $settings['registeredWidgets'] as &$registered_widget ) {
+                       unset( $registered_widget['callback'] ); // may not be JSON-serializeable
+               }
+
+               $wp_scripts->add_data(
+                       'customize-widgets',
+                       'data',
+                       sprintf( 'var _wpCustomizeWidgetsSettings = %s;', json_encode( $settings ) )
+               );
+       }
+
+       /**
+        * Render the widget form control templates into the DOM.
+        *
+        * @since 3.9.0
+        * @access public
+        */
+       public function output_widget_control_templates() {
+               ?>
+               <div id="widgets-left"><!-- compatibility with JS which looks for widget templates here -->
+               <div id="available-widgets">
+                       <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;' ) ?>" />
+                       </div>
+                       <?php foreach ( $this->get_available_widgets() as $available_widget ): ?>
+                               <div id="widget-tpl-<?php echo esc_attr( $available_widget['id'] ) ?>" data-widget-id="<?php echo esc_attr( $available_widget['id'] ) ?>" class="widget-tpl <?php echo esc_attr( $available_widget['id'] ) ?>" tabindex="0">
+                                       <?php echo $available_widget['control_tpl']; ?>
+                               </div>
+                       <?php endforeach; ?>
+               </div><!-- #available-widgets -->
+               </div><!-- #widgets-left -->
+               <?php
+       }
+
+       /**
+        * Call admin_print_footer_scripts and admin_print_scripts hooks to
+        * allow custom scripts from plugins.
+        *
+        * @since 3.9.0
+        * @access public
+        */
+       public function print_footer_scripts() {
+               /** This action is documented in wp-admin/admin-footer.php */
+               do_action( 'admin_print_footer_scripts' );
+
+               /** This action is documented in wp-admin/admin-footer.php */
+               do_action( 'admin_footer-widgets.php' );
+       }
+
+       /**
+        * Get common arguments to supply when constructing a Customizer setting.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param string $id        Widget setting ID.
+        * @param array  $overrides Array of setting overrides.
+        * @return array Possibly modified setting arguments.
+        */
+       public function get_setting_args( $id, $overrides = array() ) {
+               $args = array(
+                       'type'       => 'option',
+                       'capability' => 'edit_theme_options',
+                       'transport'  => 'refresh',
+                       'default'    => array(),
+               );
+               $args = array_merge( $args, $overrides );
+
+               /**
+                * Filter the common arguments supplied when constructing a Customizer setting.
+                *
+                * @since 3.9.0
+                *
+                * @see WP_Customize_Setting
+                *
+                * @param array  $args Array of Customizer setting arguments.
+                * @param string $id   Widget setting ID.
+                */
+               return apply_filters( 'widget_customizer_setting_args', $args, $id );
+       }
+
+       /**
+        * Make sure that sidebar widget arrays only ever contain widget IDS.
+        *
+        * Used as the 'sanitize_callback' for each $sidebars_widgets setting.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param array $widget_ids Array of widget IDs.
+        * @return array Array of sanitized widget IDs.
+        */
+       public function sanitize_sidebar_widgets( $widget_ids ) {
+               global $wp_registered_widgets;
+
+               $widget_ids           = array_map( 'strval', (array) $widget_ids );
+               $sanitized_widget_ids = array();
+
+               foreach ( $widget_ids as $widget_id ) {
+                       if ( array_key_exists( $widget_id, $wp_registered_widgets ) ) {
+                               $sanitized_widget_ids[] = $widget_id;
+                       }
+               }
+               return $sanitized_widget_ids;
+       }
+
+       /**
+        * Build up an index of all available widgets for use in Backbone models.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @see wp_list_widgets()
+        *
+        * @return array List of available widgets.
+        */
+       public function get_available_widgets() {
+               static $available_widgets = array();
+               if ( ! empty( $available_widgets ) ) {
+                       return $available_widgets;
+               }
+
+               global $wp_registered_widgets, $wp_registered_widget_controls;
+               require_once ABSPATH . '/wp-admin/includes/widgets.php'; // for next_widget_id_number()
+
+               $sort = $wp_registered_widgets;
+               usort( $sort, array( $this, '_sort_name_callback' ) );
+               $done = array();
+
+               foreach ( $sort as $widget ) {
+                       if ( in_array( $widget['callback'], $done, true ) ) { // We already showed this multi-widget
+                               continue;
+                       }
+
+                       $sidebar = is_active_widget( $widget['callback'], $widget['id'], false, false );
+                       $done[]  = $widget['callback'];
+
+                       if ( ! isset( $widget['params'][0] ) ) {
+                               $widget['params'][0] = array();
+                       }
+
+                       $available_widget = $widget;
+                       unset( $available_widget['callback'] ); // not serializable to JSON
+
+                       $args = array(
+                               'widget_id'   => $widget['id'],
+                               'widget_name' => $widget['name'],
+                               '_display'    => 'template',
+                       );
+
+                       $is_disabled     = false;
+                       $is_multi_widget = ( isset( $wp_registered_widget_controls[$widget['id']]['id_base'] ) && isset( $widget['params'][0]['number'] ) );
+                       if ( $is_multi_widget ) {
+                               $id_base            = $wp_registered_widget_controls[$widget['id']]['id_base'];
+                               $args['_temp_id']   = "$id_base-__i__";
+                               $args['_multi_num'] = next_widget_id_number( $id_base );
+                               $args['_add']       = 'multi';
+                       } else {
+                               $args['_add'] = 'single';
+
+                               if ( $sidebar && 'wp_inactive_widgets' !== $sidebar ) {
+                                       $is_disabled = true;
+                               }
+                               $id_base = $widget['id'];
+                       }
+
+                       $list_widget_controls_args = wp_list_widget_controls_dynamic_sidebar( array( 0 => $args, 1 => $widget['params'][0] ) );
+                       $control_tpl = $this->get_widget_control( $list_widget_controls_args );
+
+                       // The properties here are mapped to the Backbone Widget model.
+                       $available_widget = array_merge( $available_widget, array(
+                               'temp_id'      => isset( $args['_temp_id'] ) ? $args['_temp_id'] : null,
+                               'is_multi'     => $is_multi_widget,
+                               'control_tpl'  => $control_tpl,
+                               'multi_number' => ( $args['_add'] === 'multi' ) ? $args['_multi_num'] : false,
+                               'is_disabled'  => $is_disabled,
+                               'id_base'      => $id_base,
+                               'transport'    => 'refresh',
+                               'width'        => $wp_registered_widget_controls[$widget['id']]['width'],
+                               'height'       => $wp_registered_widget_controls[$widget['id']]['height'],
+                               'is_wide'      => $this->is_wide_widget( $widget['id'] ),
+                       ) );
+
+                       $available_widgets[] = $available_widget;
+               }
+
+               return $available_widgets;
+       }
+
+       /**
+        * Naturally order available widgets by name.
+        *
+        * @since 3.9.0
+        * @static
+        * @access protected
+        *
+        * @param array $widget_a The first widget to compare.
+        * @param array $widget_b The second widget to compare.
+        * @return int Reorder position for the current widget comparison.
+        */
+       protected function _sort_name_callback( $widget_a, $widget_b ) {
+               return strnatcasecmp( $widget_a['name'], $widget_b['name'] );
+       }
+
+       /**
+        * Get the widget control markup.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param array $args Widget control arguments.
+        * @return string Widget control form HTML markup.
+        */
+       public function get_widget_control( $args ) {
+               ob_start();
+
+               call_user_func_array( 'wp_widget_control', $args );
+               $replacements = array(
+                       '<form action="" method="post">' => '<div class="form">',
+                       '</form>' => '</div><!-- .form -->',
+               );
+
+               $control_tpl = ob_get_clean();
+
+               $control_tpl = str_replace( array_keys( $replacements ), array_values( $replacements ), $control_tpl );
+
+               return $control_tpl;
+       }
+
+       /**
+        * Add hooks for the customizer preview.
+        *
+        * @since 3.9.0
+        * @access public
+        */
+       public function customize_preview_init() {
+               add_filter( 'sidebars_widgets',   array( $this, 'preview_sidebars_widgets' ), 1 );
+               add_action( 'wp_enqueue_scripts', array( $this, 'customize_preview_enqueue' ) );
+               add_action( 'wp_print_styles',    array( $this, 'print_preview_css' ), 1 );
+               add_action( 'wp_footer',          array( $this, 'export_preview_data' ), 20 );
+       }
+
+       /**
+        * When previewing, make sure the proper previewing widgets are used.
+        *
+        * Because wp_get_sidebars_widgets() gets called early at init
+        * (via wp_convert_widget_settings()) and can set global variable
+        * $_wp_sidebars_widgets to the value of get_option( 'sidebars_widgets' )
+        * before the customizer preview filter is added, we have to reset
+        * it after the filter has been added.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param array $sidebars_widgets List of widgets for the current sidebar.
+        */
+       public function preview_sidebars_widgets( $sidebars_widgets ) {
+               $sidebars_widgets = get_option( 'sidebars_widgets' );
+
+               unset( $sidebars_widgets['array_version'] );
+               return $sidebars_widgets;
+       }
+
+       /**
+        * Enqueue scripts for the Customizer preview.
+        *
+        * @since 3.9.0
+        * @access public
+        */
+       public function customize_preview_enqueue() {
+               wp_enqueue_script( 'customize-preview-widgets' );
+       }
+
+       /**
+        * Insert default style for highlighted widget at early point so theme
+        * stylesheet can override.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @action wp_print_styles
+        */
+       public function print_preview_css() {
+               ?>
+               <style>
+               .widget-customizer-highlighted-widget {
+                       outline: none;
+                       -webkit-box-shadow: 0 0 2px rgba(30,140,190,0.8);
+                       box-shadow: 0 0 2px rgba(30,140,190,0.8);
+                       position: relative;
+                       z-index: 1;
+               }
+               </style>
+               <?php
+       }
+
+       /**
+        * At the very end of the page, at the very end of the wp_footer,
+        * communicate the sidebars that appeared on the page.
+        *
+        * @since 3.9.0
+        * @access public
+        */
+       public function export_preview_data() {
+
+               // 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'],
+                       'l10n'               => array(
+                               'widgetTooltip' => __( 'Shift-click to edit this widget.' ),
+                       ),
+               );
+               foreach ( $settings['registeredWidgets'] as &$registered_widget ) {
+                       unset( $registered_widget['callback'] ); // may not be JSON-serializeable
+               }
+
+               ?>
+               <script type="text/javascript">
+                       var _wpWidgetCustomizerPreviewSettings = <?php echo json_encode( $settings ); ?>;
+               </script>
+               <?php
+       }
+
+       /**
+        * Keep track of the widgets that were rendered.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param array $widget Rendered widget to tally.
+        */
+       public function tally_rendered_widgets( $widget ) {
+               $this->rendered_widgets[$widget['id']] = true;
+       }
+
+       /**
+        * Tally the sidebars rendered via is_active_sidebar().
+        *
+        * Keep track of the times that is_active_sidebar() is called
+        * in the template, and assume that this means that the sidebar
+        * would be rendered on the template if there were widgets
+        * populating it.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param bool    $is_active  Whether the sidebar is active.
+        * @pasram string $sidebar_id Sidebar ID.
+        */
+       public function tally_sidebars_via_is_active_sidebar_calls( $is_active, $sidebar_id ) {
+               if ( isset( $GLOBALS['wp_registered_sidebars'][$sidebar_id] ) ) {
+                       $this->rendered_sidebars[] = $sidebar_id;
+               }
+               /*
+                * We may need to force this to true, and also force-true the value
+                * for 'dynamic_sidebar_has_widgets' if we want to ensure that there
+                * is an area to drop widgets into, if the sidebar is empty.
+                */
+               return $is_active;
+       }
+
+       /**
+        * Tally the sidebars rendered via dynamic_sidebar().
+        *
+        * Keep track of the times that dynamic_sidebar() is called in the template,
+        * and assume this means the sidebar would be rendered on the template if
+        * there were widgets populating it.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param bool   $has_widgets Whether the current sidebar has widgets.
+        * @param string $sidebar_id  Sidebar ID.
+        */
+       public function tally_sidebars_via_dynamic_sidebar_calls( $has_widgets, $sidebar_id ) {
+               if ( isset( $GLOBALS['wp_registered_sidebars'][$sidebar_id] ) ) {
+                       $this->rendered_sidebars[] = $sidebar_id;
+               }
+
+               /*
+                * We may need to force this to true, and also force-true the value
+                * for 'is_active_sidebar' if we want to ensure there is an area to
+                * drop widgets into, if the sidebar is empty.
+                */
+               return $has_widgets;
+       }
+
+       /**
+        * Get a widget instance's hash key.
+        *
+        * Serialize an instance and hash it with the AUTH_KEY; when a JS value is
+        * posted back to save, this instance hash key is used to ensure that the
+        * serialized_instance was not tampered with, but that it had originated
+        * from WordPress and so is sanitized.
+        *
+        * @since 3.9.0
+        * @access protected
+        *
+        * @param array $instance Widget instance.
+        * @return string Widget instance's hash key.
+        */
+       protected function get_instance_hash_key( $instance ) {
+               $hash = md5( AUTH_KEY . serialize( $instance ) );
+               return $hash;
+       }
+
+       /**
+        * Sanitize a widget instance.
+        *
+        * Unserialize the JS-instance for storing in the options. It's important
+        * that this filter only get applied to an instance once.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param array $value Widget instance to sanitize.
+        * @return array Sanitized widget instance.
+        */
+       public function sanitize_widget_instance( $value ) {
+               if ( $value === array() ) {
+                       return $value;
+               }
+
+               if ( empty( $value['is_widget_customizer_js_value'] )
+                       || empty( $value['instance_hash_key'] )
+                       || empty( $value['encoded_serialized_instance'] ) )
+               {
+                       return null;
+               }
+
+               $decoded = base64_decode( $value['encoded_serialized_instance'], true );
+
+               if ( false === $decoded ) {
+                       return null;
+               }
+               $instance = unserialize( $decoded );
+
+               if ( false === $instance ) {
+                       return null;
+               }
+               if ( $this->get_instance_hash_key( $instance ) !== $value['instance_hash_key'] ) {
+                       return null;
+               }
+               return $instance;
+       }
+
+       /**
+        * Convert widget instance into JSON-representable format.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param array $value Widget instance to convert to JSON.
+        * @return array JSON-converted widget instance.
+        */
+       public function sanitize_widget_js_instance( $value ) {
+               if ( empty( $value['is_widget_customizer_js_value'] ) ) {
+                       $serialized = serialize( $value );
+
+                       $value = array(
+                               'encoded_serialized_instance'   => base64_encode( $serialized ),
+                               'title'                         => empty( $value['title'] ) ? '' : $value['title'],
+                               'is_widget_customizer_js_value' => true,
+                               'instance_hash_key'             => $this->get_instance_hash_key( $value ),
+                       );
+               }
+               return $value;
+       }
+
+       /**
+        * Strip out widget IDs for widgets which are no longer registered.
+        *
+        * One example where this might happen is when a plugin orphans a widget
+        * in a sidebar upon deactivation.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param array $widget_ids List of widget IDs.
+        * @return array Parsed list of widget IDs.
+        */
+       public function sanitize_sidebar_widgets_js_instance( $widget_ids ) {
+               global $wp_registered_widgets;
+               $widget_ids = array_values( array_intersect( $widget_ids, array_keys( $wp_registered_widgets ) ) );
+               return $widget_ids;
+       }
+
+       /**
+        * Find and invoke the widget update and control callbacks.
+        *
+        * Requires that $_POST be populated with the instance data.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param  string $widget_id Widget ID.
+        * @return WP_Error|array Array containing the updated widget information.
+        *                        A WP_Error object, otherwise.
+        */
+       public function call_widget_update( $widget_id ) {
+               global $wp_registered_widget_updates, $wp_registered_widget_controls;
+
+               $this->start_capturing_option_updates();
+               $parsed_id   = $this->parse_widget_id( $widget_id );
+               $option_name = 'widget_' . $parsed_id['id_base'];
+
+               /*
+                * If a previously-sanitized instance is provided, populate the input vars
+                * with its values so that the widget update callback will read this instance
+                */
+               $added_input_vars = array();
+               if ( ! empty( $_POST['sanitized_widget_setting'] ) ) {
+                       $sanitized_widget_setting = json_decode( $this->get_post_value( 'sanitized_widget_setting' ), true );
+                       if ( false === $sanitized_widget_setting ) {
+                               $this->stop_capturing_option_updates();
+                               return new WP_Error( 'widget_setting_malformed' );
+                       }
+
+                       $instance = $this->sanitize_widget_instance( $sanitized_widget_setting );
+                       if ( is_null( $instance ) ) {
+                               $this->stop_capturing_option_updates();
+                               return new WP_Error( 'widget_setting_unsanitized' );
+                       }
+
+                       if ( ! is_null( $parsed_id['number'] ) ) {
+                               $value = array();
+                               $value[$parsed_id['number']] = $instance;
+                               $key = 'widget-' . $parsed_id['id_base'];
+                               $_REQUEST[$key] = $_POST[$key] = wp_slash( $value );
+                               $added_input_vars[] = $key;
+                       } else {
+                               foreach ( $instance as $key => $value ) {
+                                       $_REQUEST[$key] = $_POST[$key] = wp_slash( $value );
+                                       $added_input_vars[] = $key;
+                               }
+                       }
+               }
+
+               // Invoke the widget update callback.
+               foreach ( (array) $wp_registered_widget_updates as $name => $control ) {
+                       if ( $name === $parsed_id['id_base'] && is_callable( $control['callback'] ) ) {
+                               ob_start();
+                               call_user_func_array( $control['callback'], $control['params'] );
+                               ob_end_clean();
+                               break;
+                       }
+               }
+
+               // Clean up any input vars that were manually added
+               foreach ( $added_input_vars as $key ) {
+                       unset( $_POST[$key] );
+                       unset( $_REQUEST[$key] );
+               }
+
+               // Make sure the expected option was updated.
+               if ( 0 !== $this->count_captured_options() ) {
+                       if ( $this->count_captured_options() > 1 ) {
+                               $this->stop_capturing_option_updates();
+                               return new WP_Error( 'widget_setting_too_many_options' );
+                       }
+
+                       $updated_option_name = key( $this->get_captured_options() );
+                       if ( $updated_option_name !== $option_name ) {
+                               $this->stop_capturing_option_updates();
+                               return new WP_Error( 'widget_setting_unexpected_option' );
+                       }
+               }
+
+               // Obtain the widget control with the updated instance in place.
+               ob_start();
+
+               $form = $wp_registered_widget_controls[$widget_id];
+               if ( $form ) {
+                       call_user_func_array( $form['callback'], $form['params'] );
+               }
+
+               $form = ob_get_clean();
+
+               // Obtain the widget instance.
+               $option = get_option( $option_name );
+
+               if ( null !== $parsed_id['number'] ) {
+                       $instance = $option[$parsed_id['number']];
+               } else {
+                       $instance = $option;
+               }
+
+               $this->stop_capturing_option_updates();
+
+               return compact( 'instance', 'form' );
+       }
+
+       /**
+        * Update widget settings asynchronously.
+        *
+        * Allows the Customizer to update a widget using its form, but return the new
+        * instance info via Ajax instead of saving it to the options table.
+        *
+        * Most code here copied from wp_ajax_save_widget()
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @see wp_ajax_save_widget()
+        *
+        */
+       public function wp_ajax_update_widget() {
+
+               if ( ! is_user_logged_in() ) {
+                       wp_die( 0 );
+               }
+
+               check_ajax_referer( 'update-widget', 'nonce' );
+
+               if ( ! current_user_can( 'edit_theme_options' ) ) {
+                       wp_die( -1 );
+               }
+
+               if ( ! isset( $_POST['widget-id'] ) ) {
+                       wp_send_json_error();
+               }
+
+               /** This action is documented in wp-admin/includes/ajax-actions.php */
+               do_action( 'load-widgets.php' );
+
+               /** This action is documented in wp-admin/includes/ajax-actions.php */
+               do_action( 'widgets.php' );
+
+               /** This action is documented in wp-admin/widgets.php */
+               do_action( 'sidebar_admin_setup' );
+
+               $widget_id = $this->get_post_value( 'widget-id' );
+               $parsed_id = $this->parse_widget_id( $widget_id );
+               $id_base   = $parsed_id['id_base'];
+
+               if ( isset( $_POST['widget-' . $id_base] ) && is_array( $_POST['widget-' . $id_base] ) && preg_match( '/__i__|%i%/', key( $_POST['widget-' . $id_base] ) ) ) {
+                       wp_send_json_error();
+               }
+
+               $updated_widget = $this->call_widget_update( $widget_id ); // => {instance,form}
+               if ( is_wp_error( $updated_widget ) ) {
+                       wp_send_json_error();
+               }
+
+               $form = $updated_widget['form'];
+               $instance = $this->sanitize_widget_js_instance( $updated_widget['instance'] );
+
+               wp_send_json_success( compact( 'form', 'instance' ) );
+       }
+
+       /***************************************************************************
+        * Option Update Capturing
+        ***************************************************************************/
+
+       /**
+        * List of captured widget option updates.
+        *
+        * @since 3.9.0
+        * @access protected
+        * @var array $_captured_options Values updated while option capture is happening.
+        */
+       protected $_captured_options = array();
+
+       /**
+        * Whether option capture is currently happening.
+        *
+        * @since 3.9.0
+        * @access protected
+        * @var bool $_is_current Whether option capture is currently happening or not.
+        */
+       protected $_is_capturing_option_updates = false;
+
+       /**
+        * Determine whether the captured option update should be ignored.
+        *
+        * @since 3.9.0
+        * @access protected
+        *
+        * @param string $option_name Option name.
+        * @return boolean Whether the option capture is ignored.
+        */
+       protected function is_option_capture_ignored( $option_name ) {
+               return ( 0 === strpos( $option_name, '_transient_' ) );
+       }
+
+       /**
+        * Retrieve captured widget option updates.
+        *
+        * @since 3.9.0
+        * @access protected
+        *
+        * @return array Array of captured options.
+        */
+       protected function get_captured_options() {
+               return $this->_captured_options;
+       }
+
+       /**
+        * Get the number of captured widget option updates.
+        *
+        * @since 3.9.0
+        * @access protected
+        *
+        * @return int Number of updated options.
+        */
+       protected function count_captured_options() {
+               return count( $this->_captured_options );
+       }
+
+       /**
+        * Start keeping track of changes to widget options, caching new values.
+        *
+        * @since 3.9.0
+        * @access protected
+        */
+       protected function start_capturing_option_updates() {
+               if ( $this->_is_capturing_option_updates ) {
+                       return;
+               }
+
+               $this->_is_capturing_option_updates = true;
+
+               add_filter( 'pre_update_option', array( $this, 'capture_filter_pre_update_option' ), 10, 3 );
+       }
+
+       /**
+        * Pre-filter captured option values before updating.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param mixed $new_value
+        * @param string $option_name
+        * @param mixed $old_value
+        * @return mixed
+        */
+       public function capture_filter_pre_update_option( $new_value, $option_name, $old_value ) {
+               if ( $this->is_option_capture_ignored( $option_name ) ) {
+                       return;
+               }
+
+               if ( ! isset( $this->_captured_options[$option_name] ) ) {
+                       add_filter( "pre_option_{$option_name}", array( $this, 'capture_filter_pre_get_option' ) );
+               }
+
+               $this->_captured_options[$option_name] = $new_value;
+
+               return $old_value;
+       }
+
+       /**
+        * Pre-filter captured option values before retrieving.
+        *
+        * @since 3.9.0
+        * @access public
+        *
+        * @param mixed $value Option
+        * @return mixed
+        */
+       public function capture_filter_pre_get_option( $value ) {
+               $option_name = preg_replace( '/^pre_option_/', '', current_filter() );
+
+               if ( isset( $this->_captured_options[$option_name] ) ) {
+                       $value = $this->_captured_options[$option_name];
+
+                       /** This filter is documented in wp-includes/option.php */
+                       $value = apply_filters( 'option_' . $option_name, $value );
+               }
+
+               return $value;
+       }
+
+       /**
+        * Undo any changes to the options since options capture began.
+        *
+        * @since 3.9.0
+        * @access protected
+        */
+       protected function stop_capturing_option_updates() {
+               if ( ! $this->_is_capturing_option_updates ) {
+                       return;
+               }
+
+               remove_filter( 'pre_update_option', array( $this, 'capture_filter_pre_update_option' ), 10, 3 );
+
+               foreach ( array_keys( $this->_captured_options ) as $option_name ) {
+                       remove_filter( "pre_option_{$option_name}", array( $this, 'capture_filter_pre_get_option' ) );
+               }
+
+               $this->_captured_options = array();
+               $this->_is_capturing_option_updates = false;
+       }
+}
index 16a2e5e10f27607f5072723cd8d0549aa255cfbd..022882f3a2cfddfde5e0c94cd2724e47aef09393 100644 (file)
@@ -24,26 +24,70 @@ final class _WP_Editors {
        private static $has_quicktags = false;
        private static $has_medialib = false;
        private static $editor_buttons_css = true;
+       private static $drag_drop_upload = false;
 
        private function __construct() {}
 
-       public static function parse_settings($editor_id, $settings) {
+       /**
+        * Parse default arguments for the editor instance.
+        *
+        * @param string $editor_id ID for the current editor instance.
+        * @param array  $settings {
+        *     Array of editor arguments.
+        *
+        *     @type bool       $wpautop           Whether to use wpautop(). Default true.
+        *     @type bool       $media_buttons     Whether to show the Add Media/other media buttons.
+        *     @type string     $default_editor    When both TinyMCE and Quicktags are used, set which
+        *                                         editor is shown on page load. Default empty.
+        *     @type bool       $drag_drop_upload  Whether to enable drag & drop on the editor uploading. Default false.
+        *                                         Requires the media modal.
+        *     @type string     $textarea_name     Give the textarea a unique name here. Square brackets
+        *                                         can be used here. Default $editor_id.
+        *     @type int        $textarea_rows     Number rows in the editor textarea. Default 20.
+        *     @type string|int $tabindex          Tabindex value to use. Default empty.
+        *     @type string     $tabfocus_elements The previous and next element ID to move the focus to
+        *                                         when pressing the Tab key in TinyMCE. Defualt ':prev,:next'.
+        *     @type string     $editor_css        Intended for extra styles for both Visual and Text editors.
+        *                                         Should include <style> tags, and can use "scoped". Default empty.
+        *     @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|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
+        *                                         Quicktags using an array. Default true.
+        * }
+        * @return array Parsed arguments array.
+        */
+       public static function parse_settings( $editor_id, $settings ) {
                $set = wp_parse_args( $settings,  array(
-                       'wpautop' => true, // use wpautop?
-                       'media_buttons' => true, // show insert/upload button(s)
-                       'textarea_name' => $editor_id, // set the textarea name to something different, square brackets [] can be used here
-                       'textarea_rows' => 20,
-                       'tabindex' => '',
-                       'tabfocus_elements' => ':prev,:next', // the previous and next element ID to move the focus to when pressing the Tab key in TinyMCE
-                       'editor_css' => '', // intended for extra styles for both visual and Text editors buttons, needs to include the <style> tags, can use "scoped".
-                       'editor_class' => '', // add extra class(es) to the editor textarea
-                       'teeny' => false, // output the minimal editor config used in Press This
-                       'dfw' => false, // replace the default fullscreen with DFW (needs specific DOM elements and css)
-                       'tinymce' => true, // load TinyMCE, can be used to pass settings directly to TinyMCE using an array()
-                       'quicktags' => true // load Quicktags, can be used to pass settings directly to Quicktags using an array()
+                       'wpautop'           => true,
+                       'media_buttons'     => true,
+                       'default_editor'    => '',
+                       'drag_drop_upload'  => false,
+                       'textarea_name'     => $editor_id,
+                       'textarea_rows'     => 20,
+                       'tabindex'          => '',
+                       'tabfocus_elements' => ':prev,:next',
+                       'editor_css'        => '',
+                       'editor_class'      => '',
+                       'teeny'             => false,
+                       'dfw'               => false,
+                       'tinymce'           => true,
+                       'quicktags'         => true
                ) );
 
                self::$this_tinymce = ( $set['tinymce'] && user_can_richedit() );
+
+               if ( self::$this_tinymce ) {
+                       if ( false !== strpos( $editor_id, '[' ) ) {
+                               self::$this_tinymce = false;
+                               _deprecated_argument( 'wp_editor()', '3.9', 'TinyMCE editor IDs cannot have brackets.' );
+                       }
+               }
+
                self::$this_quicktags = (bool) $set['quicktags'];
 
                if ( self::$this_tinymce )
@@ -86,11 +130,15 @@ final class _WP_Editors {
         */
        public static function editor( $content, $editor_id, $settings = array() ) {
 
-               $set = self::parse_settings($editor_id, $settings);
+               $set = self::parse_settings( $editor_id, $settings );
                $editor_class = ' class="' . trim( $set['editor_class'] . ' wp-editor-area' ) . '"';
                $tabindex = $set['tabindex'] ? ' tabindex="' . (int) $set['tabindex'] . '"' : '';
                $switch_class = 'html-active';
-               $toolbar = $buttons = '';
+               $toolbar = $buttons = $autocomplete = '';
+
+               if ( $set['drag_drop_upload'] ) {
+                       self::$drag_drop_upload = true;
+               }
 
                if ( ! empty( $set['editor_height'] ) )
                        $height = ' style="height: ' . $set['editor_height'] . 'px"';
@@ -100,12 +148,17 @@ final class _WP_Editors {
                if ( !current_user_can( 'upload_files' ) )
                        $set['media_buttons'] = false;
 
-               if ( self::$this_quicktags && self::$this_tinymce ) {
-                       $switch_class = 'html-active';
+               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();
+                       $autocomplete = ' autocomplete="off"';
 
-                       // 'html' and 'switch-html' are used for the "Text" editor tab.
-                       if ( 'html' == wp_default_editor() ) {
+                       // 'html' is used for the "Text" editor tab.
+                       if ( 'html' === $default_editor ) {
                                add_filter('the_editor_content', 'wp_htmledit_pre');
+                               $switch_class = 'html-active';
                        } else {
                                add_filter('the_editor_content', 'wp_richedit_pre');
                                $switch_class = 'tmce-active';
@@ -115,7 +168,13 @@ final class _WP_Editors {
                        $buttons .= '<a id="' . $editor_id . '-tmce" class="wp-switch-editor switch-tmce" onclick="switchEditors.switchto(this);">' . __('Visual') . "</a>\n";
                }
 
-               echo '<div id="wp-' . $editor_id . '-wrap" class="wp-core-ui wp-editor-wrap ' . $switch_class . '">';
+               $wrap_class = 'wp-core-ui wp-editor-wrap ' . $switch_class;
+
+               if ( $set['dfw'] ) {
+                       $wrap_class .= ' has-dfw';
+               }
+
+               echo '<div id="wp-' . $editor_id . '-wrap" class="' . $wrap_class . '">';
 
                if ( self::$editor_buttons_css ) {
                        wp_print_styles('editor-buttons');
@@ -135,7 +194,15 @@ final class _WP_Editors {
                                        include(ABSPATH . 'wp-admin/includes/media.php');
 
                                echo '<div id="wp-' . $editor_id . '-media-buttons" class="wp-media-buttons">';
-                               do_action('media_buttons', $editor_id);
+
+                               /**
+                                * Fires after the default media button(s) are displayed.
+                                *
+                                * @since 2.5.0
+                                *
+                                * @param string $editor_id Unique editor identifier, e.g. 'content'.
+                                */
+                               do_action( 'media_buttons', $editor_id );
                                echo "</div>\n";
                        }
 
@@ -143,10 +210,27 @@ final class _WP_Editors {
                        echo "</div>\n";
                }
 
-               $the_editor = apply_filters('the_editor', '<div id="wp-' . $editor_id . '-editor-container" class="wp-editor-container"><textarea' . $editor_class . $height . $tabindex . ' cols="40" name="' . $set['textarea_name'] . '" id="' . $editor_id . '">%s</textarea></div>');
-               $content = apply_filters('the_editor_content', $content);
+               /**
+                * Filter the HTML markup output that displays the editor.
+                *
+                * @since 2.1.0
+                *
+                * @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>' );
+
+               /**
+                * Filter the default editor content.
+                *
+                * @since 2.1.0
+                *
+                * @param string $content Default editor content.
+                */
+               $content = apply_filters( 'the_editor_content', $content );
 
-               printf($the_editor, $content);
+               printf( $the_editor, $content );
                echo "\n</div>\n\n";
 
                self::editor_settings($editor_id, $set);
@@ -181,7 +265,16 @@ final class _WP_Editors {
                        if ( $set['dfw'] )
                                $qtInit['buttons'] .= ',fullscreen';
 
-                       $qtInit = apply_filters('quicktags_settings', $qtInit, $editor_id);
+                       /**
+                        * Filter the Quicktags settings.
+                        *
+                        * @since 3.3.0
+                        *
+                        * @param array  $qtInit    Quicktags settings.
+                        * @param string $editor_id The unique editor ID, e.g. 'content'.
+                        */
+                       $qtInit = apply_filters( 'quicktags_settings', $qtInit, $editor_id );
+
                        self::$qt_settings[$editor_id] = $qtInit;
 
                        self::$qt_buttons = array_merge( self::$qt_buttons, explode(',', $qtInit['buttons']) );
@@ -189,46 +282,111 @@ final class _WP_Editors {
 
                if ( self::$this_tinymce ) {
 
-                       if ( empty(self::$first_init) ) {
-                               self::$baseurl = includes_url('js/tinymce');
-                               self::$mce_locale = $mce_locale = ( '' == get_locale() ) ? 'en' : strtolower( substr(get_locale(), 0, 2) ); // only ISO 639-1
+                       if ( empty( self::$first_init ) ) {
+                               self::$baseurl = includes_url( 'js/tinymce' );
+
+                               $mce_locale = get_locale();
+                               self::$mce_locale = $mce_locale = empty( $mce_locale ) ? 'en' : strtolower( substr( $mce_locale, 0, 2 ) ); // ISO 639-1
+
+                               /** This filter is documented in wp-admin/includes/media.php */
                                $no_captions = (bool) apply_filters( 'disable_captions', '' );
-                               $plugins = array( 'inlinepopups', 'tabfocus', 'paste', 'media', 'fullscreen', 'wordpress', 'wpeditimage', 'wpgallery', 'wplink', 'wpdialogs' );
                                $first_run = true;
                                $ext_plugins = '';
 
                                if ( $set['teeny'] ) {
-                                       self::$plugins = $plugins = apply_filters( 'teeny_mce_plugins', array('inlinepopups', 'fullscreen', 'wordpress', 'wplink', 'wpdialogs' ), $editor_id );
+
+                                       /**
+                                        * Filter the list of teenyMCE plugins.
+                                        *
+                                        * @since 2.7.0
+                                        *
+                                        * @param array  $plugins   An array of teenyMCE plugins.
+                                        * @param string $editor_id Unique editor identifier, e.g. 'content'.
+                                        */
+                                       self::$plugins = $plugins = apply_filters( 'teeny_mce_plugins', array( 'fullscreen', 'image', 'wordpress', 'wpeditimage', 'wplink' ), $editor_id );
                                } else {
-                                       /*
-                                       The following filter takes an associative array of external plugins for TinyMCE in the form 'plugin_name' => 'url'.
-                                       It adds the plugin's name to TinyMCE's plugins init and the call to PluginManager to load the plugin.
-                                       The url should be absolute and should include the js file name to be loaded. Example:
-                                       array( 'myplugin' => 'http://my-site.com/wp-content/plugins/myfolder/mce_plugin.js' )
-                                       If the plugin uses a button, it should be added with one of the "$mce_buttons" filters.
-                                       */
-                                       $mce_external_plugins = apply_filters('mce_external_plugins', array());
-
-                                       if ( ! empty($mce_external_plugins) ) {
-
-                                               /*
-                                               The following filter loads external language files for TinyMCE plugins.
-                                               It takes an associative array 'plugin_name' => 'path', where path is the
-                                               include path to the file. The language file should follow the same format as
-                                               /tinymce/langs/wp-langs.php and should define a variable $strings that
-                                               holds all translated strings.
-                                               When this filter is not used, the function will try to load {mce_locale}.js.
-                                               If that is not found, en.js will be tried next.
-                                               */
-                                               $mce_external_languages = apply_filters('mce_external_languages', array());
+
+                                       /**
+                                        * Filter the list of TinyMCE external plugins.
+                                        *
+                                        * The filter takes an associative array of external plugins for
+                                        * TinyMCE in the form 'plugin_name' => 'url'.
+                                        *
+                                        * The url should be absolute, and should include the js filename
+                                        * to be loaded. For example:
+                                        * 'myplugin' => 'http://mysite.com/wp-content/plugins/myfolder/mce_plugin.js'.
+                                        *
+                                        * If the external plugin adds a button, it should be added with
+                                        * one of the 'mce_buttons' filters.
+                                        *
+                                        * @since 2.5.0
+                                        *
+                                        * @param array $external_plugins An array of external TinyMCE plugins.
+                                        */
+                                       $mce_external_plugins = apply_filters( 'mce_external_plugins', array() );
+
+                                       $plugins = array(
+                                               'charmap',
+                                               'hr',
+                                               'media',
+                                               'paste',
+                                               'tabfocus',
+                                               'textcolor',
+                                               'fullscreen',
+                                               'wordpress',
+                                               'wpeditimage',
+                                               'wpgallery',
+                                               'wplink',
+                                               'wpdialogs',
+                                               'wpview',
+                                       );
+
+                                       if ( ! self::$has_medialib ) {
+                                               $plugins[] = 'image';
+                                       }
+
+                                       /**
+                                        * Filter the list of default TinyMCE plugins.
+                                        *
+                                        * The filter specifies which of the default plugins included
+                                        * in WordPress should be added to the TinyMCE instance.
+                                        *
+                                        * @since 3.3.0
+                                        *
+                                        * @param array $plugins An array of default TinyMCE plugins.
+                                        */
+                                       $plugins = array_unique( apply_filters( 'tiny_mce_plugins', $plugins ) );
+
+                                       if ( ( $key = array_search( 'spellchecker', $plugins ) ) !== false ) {
+                                               // Remove 'spellchecker' from the internal plugins if added with 'tiny_mce_plugins' filter to prevent errors.
+                                               // It can be added with 'mce_external_plugins'.
+                                               unset( $plugins[$key] );
+                                       }
+
+                                       if ( ! empty( $mce_external_plugins ) ) {
+
+                                               /**
+                                                * Filter the translations loaded for external TinyMCE 3.x plugins.
+                                                *
+                                                * The filter takes an associative array ('plugin_name' => 'path')
+                                                * where 'path' is the include path to the file.
+                                                *
+                                                * The language file should follow the same format as wp_mce_translation(),
+                                                * and should define a variable ($strings) that holds all translated strings.
+                                                *
+                                                * @since 2.5.0
+                                                *
+                                                * @param array $translations Translations for external TinyMCE plugins.
+                                                */
+                                               $mce_external_languages = apply_filters( 'mce_external_languages', array() );
 
                                                $loaded_langs = array();
                                                $strings = '';
 
-                                               if ( ! empty($mce_external_languages) ) {
+                                               if ( ! empty( $mce_external_languages ) ) {
                                                        foreach ( $mce_external_languages as $name => $path ) {
-                                                               if ( @is_file($path) && @is_readable($path) ) {
-                                                                       include_once($path);
+                                                               if ( @is_file( $path ) && @is_readable( $path ) ) {
+                                                                       include_once( $path );
                                                                        $ext_plugins .= $strings . "\n";
                                                                        $loaded_langs[] = $name;
                                                                }
@@ -236,39 +394,43 @@ final class _WP_Editors {
                                                }
 
                                                foreach ( $mce_external_plugins as $name => $url ) {
+                                                       if ( in_array( $name, $plugins, true ) ) {
+                                                               unset( $mce_external_plugins[ $name ] );
+                                                               continue;
+                                                       }
 
                                                        $url = set_url_scheme( $url );
-
-                                                       $plugins[] = '-' . $name;
-
-                                                       $plugurl = dirname($url);
+                                                       $mce_external_plugins[ $name ] = $url;
+                                                       $plugurl = dirname( $url );
                                                        $strings = $str1 = $str2 = '';
-                                                       if ( ! in_array($name, $loaded_langs) ) {
+
+                                                       // Try to load langs/[locale].js and langs/[locale]_dlg.js
+                                                       if ( ! in_array( $name, $loaded_langs, true ) ) {
                                                                $path = str_replace( content_url(), '', $plugurl );
                                                                $path = WP_CONTENT_DIR . $path . '/langs/';
 
                                                                if ( function_exists('realpath') )
                                                                        $path = trailingslashit( realpath($path) );
 
-                                                               if ( @is_file($path . $mce_locale . '.js') )
-                                                                       $strings .= @file_get_contents($path . $mce_locale . '.js') . "\n";
+                                                               if ( @is_file( $path . $mce_locale . '.js' ) )
+                                                                       $strings .= @file_get_contents( $path . $mce_locale . '.js' ) . "\n";
 
-                                                               if ( @is_file($path . $mce_locale . '_dlg.js') )
-                                                                       $strings .= @file_get_contents($path . $mce_locale . '_dlg.js') . "\n";
+                                                               if ( @is_file( $path . $mce_locale . '_dlg.js' ) )
+                                                                       $strings .= @file_get_contents( $path . $mce_locale . '_dlg.js' ) . "\n";
 
-                                                               if ( 'en' != $mce_locale && empty($strings) ) {
-                                                                       if ( @is_file($path . 'en.js') ) {
-                                                                               $str1 = @file_get_contents($path . 'en.js');
+                                                               if ( 'en' != $mce_locale && empty( $strings ) ) {
+                                                                       if ( @is_file( $path . 'en.js' ) ) {
+                                                                               $str1 = @file_get_contents( $path . 'en.js' );
                                                                                $strings .= preg_replace( '/([\'"])en\./', '$1' . $mce_locale . '.', $str1, 1 ) . "\n";
                                                                        }
 
-                                                                       if ( @is_file($path . 'en_dlg.js') ) {
-                                                                               $str2 = @file_get_contents($path . 'en_dlg.js');
+                                                                       if ( @is_file( $path . 'en_dlg.js' ) ) {
+                                                                               $str2 = @file_get_contents( $path . 'en_dlg.js' );
                                                                                $strings .= preg_replace( '/([\'"])en\./', '$1' . $mce_locale . '.', $str2, 1 ) . "\n";
                                                                        }
                                                                }
 
-                                                               if ( ! empty($strings) )
+                                                               if ( ! empty( $strings ) )
                                                                        $ext_plugins .= "\n" . $strings . "\n";
                                                        }
 
@@ -276,8 +438,6 @@ final class _WP_Editors {
                                                        $ext_plugins .= 'tinymce.PluginManager.load("' . $name . '", "' . $url . '");' . "\n";
                                                }
                                        }
-
-                                       $plugins = array_unique( apply_filters('tiny_mce_plugins', $plugins) );
                                }
 
                                if ( $set['dfw'] )
@@ -286,82 +446,65 @@ final class _WP_Editors {
                                self::$plugins = $plugins;
                                self::$ext_plugins = $ext_plugins;
 
-                               if ( in_array( 'spellchecker', $plugins ) ) {
-                                       /*
-                                       translators: These languages show up in the spellchecker drop-down menu, in the order specified, and with the first
-                                       language listed being the default language. They must be comma-separated and take the format of name=code, where name
-                                       is the language name (which you may internationalize), and code is a valid ISO 639 language code. Please test the
-                                       spellchecker with your values.
-                                       */
-                                       $mce_spellchecker_languages = __( 'English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv' );
-
-                                       /*
-                                       The following filter allows localization scripts to change the languages displayed in the spellchecker's drop-down menu.
-                                       By default it uses Google's spellchecker API, but can be configured to use PSpell/ASpell if installed on the server.
-                                       The + sign marks the default language. More: http://www.tinymce.com/wiki.php/Plugin:spellchecker.
-                                       */
-                                       $mce_spellchecker_languages = apply_filters( 'mce_spellchecker_languages', '+' . $mce_spellchecker_languages );
-                               }
-
                                self::$first_init = array(
-                                       'mode' => 'exact',
-                                       'width' => '100%',
-                                       'theme' => 'advanced',
-                                       'skin' => 'wp_theme',
+                                       'theme' => 'modern',
+                                       'skin' => 'lightgray',
                                        'language' => self::$mce_locale,
-                                       'theme_advanced_toolbar_location' => 'top',
-                                       'theme_advanced_toolbar_align' => 'left',
-                                       'theme_advanced_statusbar_location' => 'bottom',
-                                       'theme_advanced_resizing' => true,
-                                       'theme_advanced_resize_horizontal' => false,
-                                       'dialog_type' => 'modal',
                                        'formats' => "{
-                                               alignleft : [
-                                                       {selector : 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles : {textAlign : 'left'}},
-                                                       {selector : 'img,table', classes : 'alignleft'}
+                                               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', classes : 'aligncenter'}
+                                               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', classes : 'alignright'}
+                                               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'}
+                                               strikethrough: {inline: 'del'}
                                        }",
                                        'relative_urls' => false,
                                        'remove_script_host' => false,
                                        'convert_urls' => false,
-                                       'remove_linebreaks' => true,
-                                       'gecko_spellcheck' => true,
+                                       'browser_spellcheck' => true,
                                        'fix_list_elements' => true,
-                                       'keep_styles' => false,
                                        'entities' => '38,amp,60,lt,62,gt',
-                                       'accessibility_focus' => true,
-                                       'media_strict' => false,
-                                       'paste_remove_styles' => true,
-                                       'paste_remove_spans' => true,
-                                       'paste_strip_class_attributes' => 'all',
-                                       'paste_text_use_dialog' => true,
-                                       'webkit_fake_resize' => false,
-                                       'preview_styles' => 'font-family font-weight text-decoration text-transform',
-                                       'schema' => 'html5',
+                                       'entity_encoding' => 'raw',
+                                       'keep_styles' => false,
+                                       'paste_webkit_styles' => 'font-weight font-style color',
+
+                                       // Limit the preview styles in the menu/toolbar
+                                       'preview_styles' => 'font-family font-size font-weight font-style text-decoration text-transform',
+
                                        'wpeditimage_disable_captions' => $no_captions,
-                                       'wp_fullscreen_content_css' => self::$baseurl . '/plugins/wpfullscreen/css/wp-fullscreen.css',
-                                       'plugins' => implode( ',', $plugins )
+                                       'wpeditimage_html5_captions' => current_theme_supports( 'html5', 'caption' ),
+                                       'plugins' => implode( ',', $plugins ),
                                );
 
-                               if ( in_array( 'spellchecker', $plugins ) ) {
-                                       self::$first_init['spellchecker_rpc_url'] = self::$baseurl . '/plugins/spellchecker/rpc.php';
-                                       self::$first_init['spellchecker_languages'] = $mce_spellchecker_languages;
+                               if ( ! empty( $mce_external_plugins ) ) {
+                                       self::$first_init['external_plugins'] = json_encode( $mce_external_plugins );
                                }
 
+                               $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
+                               $version = 'ver=' . $GLOBALS['wp_version'];
+                               $dashicons = includes_url( "css/dashicons$suffix.css?$version" );
+                               $mediaelement = includes_url( "js/mediaelement/mediaelementplayer.min.css?$version" );
+                               $wpmediaelement = includes_url( "js/mediaelement/wp-mediaelement.css?$version" );
+
+                               // WordPress default stylesheet and dashicons
+                               $mce_css = array(
+                                       $dashicons,
+                                       $mediaelement,
+                                       $wpmediaelement,
+                                       self::$baseurl . '/skins/wordpress/wp-content.css?' . $version
+                               );
+
                                // load editor_style.css if the current theme supports it
                                if ( ! empty( $GLOBALS['editor_styles'] ) && is_array( $GLOBALS['editor_styles'] ) ) {
                                        $editor_styles = $GLOBALS['editor_styles'];
 
-                                       $mce_css = array();
                                        $editor_styles = array_unique( array_filter( $editor_styles ) );
                                        $style_uri = get_stylesheet_directory_uri();
                                        $style_dir = get_stylesheet_directory();
@@ -389,26 +532,74 @@ final class _WP_Editors {
                                                if ( $file && file_exists( "$style_dir/$file" ) )
                                                        $mce_css[] = "$style_uri/$file";
                                        }
-
-                                       $mce_css = implode( ',', $mce_css );
-                               } else {
-                                       $mce_css = '';
                                }
 
-                               $mce_css = trim( apply_filters( 'mce_css', $mce_css ), ' ,' );
+                               /**
+                                * Filter the comma-delimited list of stylesheets to load in TinyMCE.
+                                *
+                                * @since 2.1.0
+                                *
+                                * @param array $stylesheets Comma-delimited list of stylesheets.
+                                */
+                               $mce_css = trim( apply_filters( 'mce_css', implode( ',', $mce_css ) ), ' ,' );
 
                                if ( ! empty($mce_css) )
                                        self::$first_init['content_css'] = $mce_css;
                        }
 
                        if ( $set['teeny'] ) {
-                               $mce_buttons = apply_filters( 'teeny_mce_buttons', array('bold', 'italic', 'underline', 'blockquote', 'strikethrough', 'bullist', 'numlist', 'justifyleft', 'justifycenter', 'justifyright', 'undo', 'redo', 'link', 'unlink', 'fullscreen'), $editor_id );
+
+                               /**
+                                * Filter the list of teenyMCE buttons (Text tab).
+                                *
+                                * @since 2.7.0
+                                *
+                                * @param array  $buttons   An array of teenyMCE buttons.
+                                * @param string $editor_id Unique editor identifier, e.g. 'content'.
+                                */
+                               $mce_buttons = apply_filters( 'teeny_mce_buttons', array('bold', 'italic', 'underline', 'blockquote', 'strikethrough', 'bullist', 'numlist', 'alignleft', 'aligncenter', 'alignright', 'undo', 'redo', 'link', 'unlink', 'fullscreen'), $editor_id );
                                $mce_buttons_2 = $mce_buttons_3 = $mce_buttons_4 = array();
                        } else {
-                               $mce_buttons = apply_filters('mce_buttons', array('bold', 'italic', 'strikethrough', 'bullist', 'numlist', 'blockquote', 'justifyleft', 'justifycenter', 'justifyright', 'link', 'unlink', 'wp_more', 'spellchecker', 'fullscreen', 'wp_adv' ), $editor_id);
-                               $mce_buttons_2 = apply_filters('mce_buttons_2', array( 'formatselect', 'underline', 'justifyfull', 'forecolor', 'pastetext', 'pasteword', 'removeformat', 'charmap', 'outdent', 'indent', 'undo', 'redo', 'wp_help' ), $editor_id);
-                               $mce_buttons_3 = apply_filters('mce_buttons_3', array(), $editor_id);
-                               $mce_buttons_4 = apply_filters('mce_buttons_4', array(), $editor_id);
+
+                               /**
+                                * Filter the first-row list of TinyMCE buttons (Visual tab).
+                                *
+                                * @since 2.0.0
+                                *
+                                * @param array  $buttons   First-row list of buttons.
+                                * @param string $editor_id Unique editor identifier, e.g. 'content'.
+                                */
+                               $mce_buttons = apply_filters( 'mce_buttons', array('bold', 'italic', 'strikethrough', 'bullist', 'numlist', 'blockquote', 'hr', 'alignleft', 'aligncenter', 'alignright', 'link', 'unlink', 'wp_more', 'spellchecker', 'fullscreen', 'wp_adv' ), $editor_id );
+
+                               /**
+                                * Filter the second-row list of TinyMCE buttons (Visual tab).
+                                *
+                                * @since 2.0.0
+                                *
+                                * @param array  $buttons   Second-row list of buttons.
+                                * @param string $editor_id Unique editor identifier, e.g. 'content'.
+                                */
+                               $mce_buttons_2 = apply_filters( 'mce_buttons_2', array( 'formatselect', 'underline', 'alignjustify', 'forecolor', 'pastetext', 'removeformat', 'charmap', 'outdent', 'indent', 'undo', 'redo', 'wp_help' ), $editor_id );
+
+                               /**
+                                * Filter the third-row list of TinyMCE buttons (Visual tab).
+                                *
+                                * @since 2.0.0
+                                *
+                                * @param array  $buttons   Third-row list of buttons.
+                                * @param string $editor_id Unique editor identifier, e.g. 'content'.
+                                */
+                               $mce_buttons_3 = apply_filters( 'mce_buttons_3', array(), $editor_id );
+
+                               /**
+                                * Filter the fourth-row list of TinyMCE buttons (Visual tab).
+                                *
+                                * @since 2.5.0
+                                *
+                                * @param array  $buttons   Fourth-row list of buttons.
+                                * @param string $editor_id Unique editor identifier, e.g. 'content'.
+                                */
+                               $mce_buttons_4 = apply_filters( 'mce_buttons_4', array(), $editor_id );
                        }
 
                        $body_class = $editor_id;
@@ -442,40 +633,60 @@ final class _WP_Editors {
                        }
 
                        $mceInit = array (
-                               'elements' => $editor_id,
+                               'selector' => "#$editor_id",
+                               'resize' => 'vertical',
+                               'menubar' => false,
                                'wpautop' => (bool) $set['wpautop'],
-                               'remove_linebreaks' => (bool) $set['wpautop'],
-                               'apply_source_formatting' => (bool) !$set['wpautop'],
-                               'theme_advanced_buttons1' => implode($mce_buttons, ','),
-                               'theme_advanced_buttons2' => implode($mce_buttons_2, ','),
-                               'theme_advanced_buttons3' => implode($mce_buttons_3, ','),
-                               'theme_advanced_buttons4' => implode($mce_buttons_4, ','),
+                               'indent' => ! $set['wpautop'],
+                               'toolbar1' => implode($mce_buttons, ','),
+                               'toolbar2' => implode($mce_buttons_2, ','),
+                               'toolbar3' => implode($mce_buttons_3, ','),
+                               'toolbar4' => implode($mce_buttons_4, ','),
                                'tabfocus_elements' => $set['tabfocus_elements'],
                                'body_class' => $body_class
                        );
 
-                       // The main editor doesn't use the TinyMCE resizing cookie.
-                       $mceInit['theme_advanced_resizing_use_cookie'] = 'content' !== $editor_id || empty( $set['editor_height'] );
-
                        if ( $first_run )
-                               $mceInit = array_merge(self::$first_init, $mceInit);
-
-                       if ( is_array($set['tinymce']) )
-                               $mceInit = array_merge($mceInit, $set['tinymce']);
-
-                       // For people who really REALLY know what they're doing with TinyMCE
-                       // You can modify $mceInit to add, remove, change elements of the config 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.
+                               $mceInit = array_merge( self::$first_init, $mceInit );
+
+                       if ( is_array( $set['tinymce'] ) )
+                               $mceInit = array_merge( $mceInit, $set['tinymce'] );
+
+                       /*
+                        * For people who really REALLY know what they're doing with TinyMCE
+                        * You can modify $mceInit to add, remove, change elements of the config
+                        * 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.
+                        */
                        if ( $set['teeny'] ) {
-                               $mceInit = apply_filters('teeny_mce_before_init', $mceInit, $editor_id);
+
+                               /**
+                                * Filter the teenyMCE config before init.
+                                *
+                                * @since 2.7.0
+                                *
+                                * @param array  $mceInit   An array with teenyMCE config.
+                                * @param string $editor_id Unique editor identifier, e.g. 'content'.
+                                */
+                               $mceInit = apply_filters( 'teeny_mce_before_init', $mceInit, $editor_id );
                        } else {
-                               $mceInit = apply_filters('tiny_mce_before_init', $mceInit, $editor_id);
+
+                               /**
+                                * Filter the TinyMCE config before init.
+                                *
+                                * @since 2.5.0
+                                *
+                                * @param array  $mceInit   An array with TinyMCE config.
+                                * @param string $editor_id Unique editor identifier, e.g. 'content'.
+                                */
+                               $mceInit = apply_filters( 'tiny_mce_before_init', $mceInit, $editor_id );
                        }
 
-                       if ( empty($mceInit['theme_advanced_buttons3']) && !empty($mceInit['theme_advanced_buttons4']) ) {
-                               $mceInit['theme_advanced_buttons3'] = $mceInit['theme_advanced_buttons4'];
-                               $mceInit['theme_advanced_buttons4'] = '';
+                       if ( empty( $mceInit['toolbar3'] ) && ! empty( $mceInit['toolbar4'] ) ) {
+                               $mceInit['toolbar3'] = $mceInit['toolbar4'];
+                               $mceInit['toolbar4'] = '';
                        }
 
                        self::$mce_settings[$editor_id] = $mceInit;
@@ -506,13 +717,13 @@ final class _WP_Editors {
                if ( self::$has_tinymce )
                        wp_enqueue_script('editor');
 
-               if ( self::$has_quicktags )
-                       wp_enqueue_script('quicktags');
+               if ( self::$has_quicktags ) {
+                       wp_enqueue_script( 'quicktags' );
+                       wp_enqueue_style( 'buttons' );
+               }
 
                if ( in_array('wplink', self::$plugins, true) || in_array('link', self::$qt_buttons, true) ) {
                        wp_enqueue_script('wplink');
-                       wp_enqueue_script('wpdialogs-popup');
-                       wp_enqueue_style('wp-jquery-ui-dialog');
                }
 
                if ( in_array('wpfullscreen', self::$plugins, true) || in_array('fullscreen', self::$qt_buttons, true) )
@@ -522,6 +733,272 @@ final class _WP_Editors {
                        add_thickbox();
                        wp_enqueue_script('media-upload');
                }
+
+               /**
+                * Fires when scripts and styles are enqueued for the editor.
+                *
+                * @since 3.9.0
+                *
+                * @param array $to_load An array containing boolean values whether TinyMCE
+                *                       and Quicktags are being loaded.
+                */
+               do_action( 'wp_enqueue_editor', array(
+                       'tinymce'   => self::$has_tinymce,
+                       'quicktags' => self::$has_quicktags,
+               ) );
+       }
+
+       public static function wp_mce_translation() {
+
+               $mce_translation = array(
+                       // Default TinyMCE strings
+                       'New document' => __( 'New document' ),
+                       'Formats' => _x( 'Formats', 'TinyMCE' ),
+
+                       'Headings' => _x( 'Headings', 'TinyMCE' ),
+                       'Heading 1' => __( 'Heading 1' ),
+                       'Heading 2' => __( 'Heading 2' ),
+                       'Heading 3' => __( 'Heading 3' ),
+                       'Heading 4' => __( 'Heading 4' ),
+                       'Heading 5' => __( 'Heading 5' ),
+                       'Heading 6' => __( 'Heading 6' ),
+
+                       /* translators: block tags */
+                       'Blocks' => _x( 'Blocks', 'TinyMCE' ),
+                       'Paragraph' => __( 'Paragraph' ),
+                       'Blockquote' => __( 'Blockquote' ),
+                       'Div' => _x( 'Div', 'HTML tag' ),
+                       'Pre' => _x( 'Pre', 'HTML tag' ),
+                       'Address' => _x( 'Address', 'HTML tag' ),
+
+                       'Inline' => _x( 'Inline', 'HTML elements' ),
+                       'Underline' => __( 'Underline' ),
+                       'Strikethrough' => __( 'Strikethrough' ),
+                       'Subscript' => __( 'Subscript' ),
+                       'Superscript' => __( 'Superscript' ),
+                       'Clear formatting' => __( 'Clear formatting' ),
+                       'Bold' => __( 'Bold' ),
+                       'Italic' => __( 'Italic' ),
+                       'Code' => _x( 'Code', 'editor button' ),
+                       'Source code' => __( 'Source code' ),
+                       'Font Family' => __( 'Font Family' ),
+                       'Font Sizes' => __( 'Font Sizes' ),
+
+                       'Align center' => __( 'Align center' ),
+                       'Align right' => __( 'Align right' ),
+                       'Align left' => __( 'Align left' ),
+                       'Justify' => __( 'Justify' ),
+                       'Increase indent' => __( 'Increase indent' ),
+                       'Decrease indent' => __( 'Decrease indent' ),
+
+                       'Cut' => __( 'Cut' ),
+                       'Copy' => __( 'Copy' ),
+                       'Paste' => __( 'Paste' ),
+                       'Select all' => __( 'Select all' ),
+                       'Undo' => __( 'Undo' ),
+                       'Redo' => __( 'Redo' ),
+
+                       'Ok' => __( 'OK' ),
+                       'Cancel' => __( 'Cancel' ),
+                       'Close' => __( 'Close' ),
+                       'Visual aids' => __( 'Visual aids' ),
+
+                       'Bullet list' => __( 'Bulleted list' ),
+                       'Numbered list' => __( 'Numbered list' ),
+                       'Square' => _x( 'Square', 'list style' ),
+                       'Default' => _x( 'Default', 'list style' ),
+                       'Circle' => _x( 'Circle', 'list style' ),
+                       'Disc' => _x('Disc', 'list style' ),
+                       'Lower Greek' => _x( 'Lower Greek', 'list style' ),
+                       'Lower Alpha' => _x( 'Lower Alpha', 'list style' ),
+                       'Upper Alpha' => _x( 'Upper Alpha', 'list style' ),
+                       'Upper Roman' => _x( 'Upper Roman', 'list style' ),
+                       'Lower Roman' => _x( 'Lower Roman', 'list style' ),
+
+                       // Anchor plugin
+                       'Name' => _x( 'Name', 'Name of link anchor (TinyMCE)' ),
+                       'Anchor' => _x( 'Anchor', 'Link anchor (TinyMCE)' ),
+                       'Anchors' => _x( 'Anchors', 'Link anchors (TinyMCE)' ),
+
+                       // Fullpage plugin
+                       'Document properties' => __( 'Document properties' ),
+                       'Robots' => __( 'Robots' ),
+                       'Title' => __( 'Title' ),
+                       'Keywords' => __( 'Keywords' ),
+                       'Encoding' => __( 'Encoding' ),
+                       'Description' => __( 'Description' ),
+                       'Author' => __( 'Author' ),
+
+                       // Media, image plugins
+                       'Insert/edit image' => __( 'Insert/edit image' ),
+                       'General' => __( 'General' ),
+                       'Advanced' => __( 'Advanced' ),
+                       'Source' => __( 'Source' ),
+                       'Border' => __( 'Border' ),
+                       'Constrain proportions' => __( 'Constrain proportions' ),
+                       'Vertical space' => __( 'Vertical space' ),
+                       'Image description' => __( 'Image description' ),
+                       'Style' => __( 'Style' ),
+                       'Dimensions' => __( 'Dimensions' ),
+                       'Insert image' => __( 'Insert image' ),
+                       'Insert date/time' => __( 'Insert date/time' ),
+                       'Insert/edit video' => __( 'Insert/edit video' ),
+                       'Poster' => __( 'Poster' ),
+                       'Alternative source' => __( 'Alternative source' ),
+                       'Paste your embed code below:' => __( 'Paste your embed code below:' ),
+                       'Insert video' => __( 'Insert video' ),
+                       'Embed' => __( 'Embed' ),
+
+                       // Each of these have a corresponding plugin
+                       'Special character' => __( 'Special character' ),
+                       'Right to left' => _x( 'Right to left', 'editor button' ),
+                       'Left to right' => _x( 'Left to right', 'editor button' ),
+                       'Emoticons' => __( 'Emoticons' ),
+                       'Nonbreaking space' => __( 'Nonbreaking space' ),
+                       'Page break' => __( 'Page break' ),
+                       'Paste as text' => __( 'Paste as text' ),
+                       'Preview' => __( 'Preview' ),
+                       'Print' => __( 'Print' ),
+                       'Save' => __( 'Save' ),
+                       'Fullscreen' => __( 'Fullscreen' ),
+                       'Horizontal line' => __( 'Horizontal line' ),
+                       'Horizontal space' => __( 'Horizontal space' ),
+                       'Restore last draft' => __( 'Restore last draft' ),
+                       'Insert/edit link' => __( 'Insert/edit link' ),
+                       'Remove link' => __( 'Remove link' ),
+
+                       // Spelling, search/replace plugins
+                       'Could not find the specified string.' => __( 'Could not find the specified string.' ),
+                       'Replace' => _x( 'Replace', 'find/replace' ),
+                       'Next' => _x( 'Next', 'find/replace' ),
+                       /* translators: previous */
+                       'Prev' => _x( 'Prev', 'find/replace' ),
+                       'Whole words' => _x( 'Whole words', 'find/replace' ),
+                       'Find and replace' => __( 'Find and replace' ),
+                       'Replace with' => _x('Replace with', 'find/replace' ),
+                       'Find' => _x( 'Find', 'find/replace' ),
+                       'Replace all' => _x( 'Replace all', 'find/replace' ),
+                       'Match case' => __( 'Match case' ),
+                       'Spellcheck' => __( 'Check Spelling' ),
+                       'Finish' => _x( 'Finish', 'spellcheck' ),
+                       'Ignore all' => _x( 'Ignore all', 'spellcheck' ),
+                       'Ignore' => _x( 'Ignore', 'spellcheck' ),
+
+                       // TinyMCE tables
+                       'Insert table' => __( 'Insert table' ),
+                       'Delete table' => __( 'Delete table' ),
+                       'Table properties' => __( 'Table properties' ),
+                       'Row properties' => __( 'Table row properties' ),
+                       'Cell properties' => __( 'Table cell properties' ),
+
+                       'Row' => __( 'Row' ),
+                       'Rows' => __( 'Rows' ),
+                       'Column' => _x( 'Column', 'table column' ),
+                       'Cols' => _x( 'Cols', 'table columns' ),
+                       'Cell' => _x( 'Cell', 'table cell' ),
+                       'Header cell' => __( 'Header cell' ),
+                       'Header' => _x( 'Header', 'table header' ),
+                       'Body' => _x( 'Body', 'table body' ),
+                       'Footer' => _x( 'Footer', 'table footer' ),
+
+                       'Insert row before' => __( 'Insert row before' ),
+                       'Insert row after' => __( 'Insert row after' ),
+                       'Insert column before' => __( 'Insert column before' ),
+                       'Insert column after' => __( 'Insert column after' ),
+                       'Paste row before' => __( 'Paste table row before' ),
+                       'Paste row after' => __( 'Paste table row after' ),
+                       'Delete row' => __( 'Delete row' ),
+                       'Delete column' => __( 'Delete column' ),
+                       'Cut row' => __( 'Cut table row' ),
+                       'Copy row' => __( 'Copy table row' ),
+                       'Merge cells' => __( 'Merge table cells' ),
+                       'Split cell' => __( 'Split table cell' ),
+
+                       'Height' => __( 'Height' ),
+                       'Width' => __( 'Width' ),
+                       'Caption' => __( 'Caption' ),
+                       'Alignment' => __( 'Alignment' ),
+                       'Left' => __( 'Left' ),
+                       'Center' => __( 'Center' ),
+                       'Right' => __( 'Right' ),
+                       'None' => _x( 'None', 'table cell alignment attribute' ),
+
+                       'Row group' => __( 'Row group' ),
+                       'Column group' => __( 'Column group' ),
+                       'Row type' => __( 'Row type' ),
+                       'Cell type' => __( 'Cell type' ),
+                       'Cell padding' => __( 'Cell padding' ),
+                       'Cell spacing' => __( 'Cell spacing' ),
+                       'Scope' => _x( 'Scope', 'table cell scope attribute' ),
+
+                       'Insert template' => _x( 'Insert template', 'TinyMCE' ),
+                       'Templates' => _x( 'Templates', 'TinyMCE' ),
+
+                       'Background color' => __( 'Background color' ),
+                       'Text color' => __( 'Text color' ),
+                       'Show blocks' => _x( 'Show blocks', 'editor button' ),
+                       'Show invisible characters' => __( 'Show invisible characters' ),
+
+                       /* translators: word count */
+                       'Words: {0}' => sprintf( __( 'Words: %s' ), '{0}' ),
+                       'Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.' => __( 'Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.' ) . "\n\n" . __( 'If you&#8217;re looking to paste rich content from Microsoft Word, try turning this option off. The editor will clean up text pasted from Word automatically.' ),
+                       'Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help' => __( 'Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help' ),
+                       'You have unsaved changes are you sure you want to navigate away?' => __( 'The changes you made will be lost if you navigate away from this page.' ),
+                       'Your browser doesn\'t support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.' => __( 'Your browser does not support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.' ),
+
+                       // TinyMCE menus
+                       'Insert' => _x( 'Insert', 'TinyMCE menu' ),
+                       'File' => _x( 'File', 'TinyMCE menu' ),
+                       'Edit' => _x( 'Edit', 'TinyMCE menu' ),
+                       'Tools' => _x( 'Tools', 'TinyMCE menu' ),
+                       'View' => _x( 'View', 'TinyMCE menu' ),
+                       'Table' => _x( 'Table', 'TinyMCE menu' ),
+                       'Format' => _x( 'Format', 'TinyMCE menu' ),
+
+                       // WordPress strings
+                       'Keyboard Shortcuts' => __( 'Keyboard Shortcuts' ),
+                       'Toolbar Toggle' => __( 'Toolbar Toggle' ),
+                       'Insert Read More tag' => __( 'Insert Read More tag' ),
+                       'Distraction Free Writing' => __( 'Distraction Free Writing' ),
+               );
+
+               /**
+                * Link plugin (not included):
+                *      Insert link
+                *      Target
+                *      New window
+                *      Text to display
+                *      The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?
+                *      The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?
+                *      Url
+                */
+
+               $baseurl = self::$baseurl;
+               $mce_locale = self::$mce_locale;
+
+               /**
+                * Filter translated strings prepared for TinyMCE.
+                *
+                * @since 3.9.0
+                *
+                * @param array  $mce_translation Key/value pairs of strings.
+                * @param string $mce_locale      Locale.
+                */
+               $mce_translation = apply_filters( 'wp_mce_translation', $mce_translation, $mce_locale );
+
+               foreach ( $mce_translation as $key => $value ) {
+                       if ( false !== strpos( $value, '&' ) ) {
+                               $mce_translation[$key] = html_entity_decode( $value, ENT_QUOTES, 'UTF-8' );
+                       }
+               }
+
+               // Set direction
+               if ( is_rtl() ) {
+                       $mce_translation['_dir'] = 'rtl';
+               }
+
+               return "tinymce.addI18n( '$mce_locale', " . json_encode( $mce_translation ) . ");\n" .
+                       "tinymce.ScriptLoader.markDone( '$baseurl/langs/$mce_locale.js' );\n";
        }
 
        public static function editor_js() {
@@ -543,9 +1020,6 @@ final class _WP_Editors {
                $compressed = $compress_scripts && $concatenate_scripts && isset($_SERVER['HTTP_ACCEPT_ENCODING'])
                        && false !== stripos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip');
 
-               if ( $tmce_on && 'en' != self::$mce_locale )
-                       include_once(ABSPATH . WPINC . '/js/tinymce/langs/wp-langs.php');
-
                $mceInit = $qtInit = '';
                if ( $tmce_on ) {
                        foreach ( self::$mce_settings as $editor_id => $init ) {
@@ -569,194 +1043,236 @@ final class _WP_Editors {
 
                $ref = array(
                        'plugins' => implode( ',', self::$plugins ),
-                       'theme' => 'advanced',
+                       'theme' => 'modern',
                        'language' => self::$mce_locale
                );
 
-               $suffix = ( defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ) ? '_src' : '';
+               $suffix = ( defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ) ? '' : '.min';
 
-               do_action('before_wp_tiny_mce', self::$mce_settings);
-?>
+               /**
+                * Fires immediately before the TinyMCE settings are printed.
+                *
+                * @since 3.2.0
+                *
+                * @param array $mce_settings TinyMCE settings array.
+                */
+               do_action( 'before_wp_tiny_mce', self::$mce_settings );
+               ?>
 
-       <script type="text/javascript">
+               <script type="text/javascript">
                tinyMCEPreInit = {
-                       base : "<?php echo self::$baseurl; ?>",
-                       suffix : "<?php echo $suffix; ?>",
-                       query : "<?php echo $version; ?>",
-                       mceInit : <?php echo $mceInit; ?>,
-                       qtInit : <?php echo $qtInit; ?>,
-                       ref : <?php echo self::_parse_init( $ref ); ?>,
-                       load_ext : function(url,lang){var sl=tinymce.ScriptLoader;sl.markDone(url+'/langs/'+lang+'.js');sl.markDone(url+'/langs/'+lang+'_dlg.js');}
+                       baseURL: "<?php echo self::$baseurl; ?>",
+                       suffix: "<?php echo $suffix; ?>",
+                       <?php
+
+                       if ( self::$drag_drop_upload ) {
+                               echo 'dragDropUpload: true,';
+                       }
+
+                       ?>
+                       mceInit: <?php echo $mceInit; ?>,
+                       qtInit: <?php echo $qtInit; ?>,
+                       ref: <?php echo self::_parse_init( $ref ); ?>,
+                       load_ext: function(url,lang){var sl=tinymce.ScriptLoader;sl.markDone(url+'/langs/'+lang+'.js');sl.markDone(url+'/langs/'+lang+'_dlg.js');}
                };
-       </script>
-<?php
+               </script>
+               <?php
 
                $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';
 
                if ( $tmce_on ) {
                        if ( $compressed ) {
                                echo "<script type='text/javascript' src='{$baseurl}/wp-tinymce.php?c=1&amp;$version'></script>\n";
                        } else {
-                               echo "<script type='text/javascript' src='{$baseurl}/tiny_mce.js?$version'></script>\n";
-                               echo "<script type='text/javascript' src='{$baseurl}/wp-tinymce-schema.js?$version'></script>\n";
+                               echo "<script type='text/javascript' src='{$baseurl}/tinymce{$mce_suffix}.js?$version'></script>\n";
+                               echo "<script type='text/javascript' src='{$baseurl}/plugins/compat3x/plugin{$suffix}.js?$version'></script>\n";
                        }
 
-                       if ( 'en' != self::$mce_locale && isset($lang) )
-                               echo "<script type='text/javascript'>\n$lang\n</script>\n";
-                       else
+                       echo "<script type='text/javascript'>\n" . self::wp_mce_translation() . "</script>\n";
+
+                       if ( self::$ext_plugins ) {
+                               // Load the old-format English strings to prevent unsightly labels in old style popups
                                echo "<script type='text/javascript' src='{$baseurl}/langs/wp-langs-en.js?$version'></script>\n";
+                       }
                }
 
-               $mce = ( self::$has_tinymce && wp_default_editor() == 'tinymce' ) || ! self::$has_quicktags;
-?>
+               /**
+                * Fires after tinymce.js is loaded, but before any TinyMCE editor
+                * instances are created.
+                *
+                * @since 3.9.0
+                *
+                * @param array $mce_settings TinyMCE settings array.
+                */
+               do_action( 'wp_tiny_mce_init', self::$mce_settings );
 
-       <script type="text/javascript">
-               var wpActiveEditor;
+               ?>
+               <script type="text/javascript">
+               <?php
 
-               (function(){
-                       var init, ed, qt, first_init, DOM, el, i, mce = <?php echo (int) $mce; ?>;
+               if ( self::$ext_plugins )
+                       echo self::$ext_plugins . "\n";
+
+               if ( ! is_admin() )
+                       echo 'var ajaxurl = "' . admin_url( 'admin-ajax.php', 'relative' ) . '";';
 
-                       if ( typeof(tinymce) == 'object' ) {
-                               DOM = tinymce.DOM;
-                               // mark wp_theme/ui.css as loaded
-                               DOM.files[tinymce.baseURI.getURI() + '/themes/advanced/skins/wp_theme/ui.css'] = true;
+               ?>
 
-                               DOM.events.add( DOM.select('.wp-editor-wrap'), 'mousedown', function(e){
-                                       if ( this.id )
-                                               wpActiveEditor = this.id.slice(3, -5);
-                               });
+               ( function() {
+                       var init, edId, qtId, firstInit, wrapper;
 
-                               for ( ed in tinyMCEPreInit.mceInit ) {
-                                       if ( first_init ) {
-                                               init = tinyMCEPreInit.mceInit[ed] = tinymce.extend( {}, first_init, tinyMCEPreInit.mceInit[ed] );
+                       if ( typeof tinymce !== 'undefined' ) {
+                               for ( edId in tinyMCEPreInit.mceInit ) {
+                                       if ( firstInit ) {
+                                               init = tinyMCEPreInit.mceInit[edId] = tinymce.extend( {}, firstInit, tinyMCEPreInit.mceInit[edId] );
                                        } else {
-                                               init = first_init = tinyMCEPreInit.mceInit[ed];
+                                               init = firstInit = tinyMCEPreInit.mceInit[edId];
                                        }
 
-                                       if ( mce )
-                                               try { tinymce.init(init); } catch(e){}
-                               }
-                       } else {
-                               if ( tinyMCEPreInit.qtInit ) {
-                                       for ( i in tinyMCEPreInit.qtInit ) {
-                                               el = tinyMCEPreInit.qtInit[i].id;
-                                               if ( el )
-                                                       document.getElementById('wp-'+el+'-wrap').onmousedown = function(){ wpActiveEditor = this.id.slice(3, -5); }
+                                       wrapper = tinymce.DOM.select( '#wp-' + edId + '-wrap' )[0];
+
+                                       if ( ( tinymce.DOM.hasClass( wrapper, 'tmce-active' ) || ! tinyMCEPreInit.qtInit.hasOwnProperty( edId ) ) &&
+                                               ! init.wp_skip_init ) {
+
+                                               try {
+                                                       tinymce.init( init );
+
+                                                       if ( ! window.wpActiveEditor ) {
+                                                               window.wpActiveEditor = edId;
+                                                       }
+                                               } catch(e){}
                                        }
                                }
                        }
 
-                       if ( typeof(QTags) == 'function' ) {
-                               for ( qt in tinyMCEPreInit.qtInit ) {
-                                       try { quicktags( tinyMCEPreInit.qtInit[qt] ); } catch(e){}
+                       if ( typeof quicktags !== 'undefined' ) {
+                               for ( qtId in tinyMCEPreInit.qtInit ) {
+                                       try {
+                                               quicktags( tinyMCEPreInit.qtInit[qtId] );
+
+                                               if ( ! window.wpActiveEditor ) {
+                                                       window.wpActiveEditor = qtId;
+                                               }
+                                       } catch(e){};
                                }
                        }
-               })();
-               <?php
-
-               if ( self::$ext_plugins )
-                       echo self::$ext_plugins . "\n";
-
-               if ( ! $compressed && $tmce_on ) {
-                       ?>
-                       (function(){var t=tinyMCEPreInit,sl=tinymce.ScriptLoader,ln=t.ref.language,th=t.ref.theme,pl=t.ref.plugins;sl.markDone(t.base+'/langs/'+ln+'.js');sl.markDone(t.base+'/themes/'+th+'/langs/'+ln+'.js');sl.markDone(t.base+'/themes/'+th+'/langs/'+ln+'_dlg.js');sl.markDone(t.base+'/themes/advanced/skins/wp_theme/ui.css');tinymce.each(pl.split(','),function(n){if(n&&n.charAt(0)!='-'){sl.markDone(t.base+'/plugins/'+n+'/langs/'+ln+'.js');sl.markDone(t.base+'/plugins/'+n+'/langs/'+ln+'_dlg.js');}});})();
-                       <?php
-               }
 
-               if ( !is_admin() )
-                       echo 'var ajaxurl = "' . admin_url( 'admin-ajax.php', 'relative' ) . '";';
-
-               ?>
+                       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 );
+                                       }
+                               }
+                       }
+               }());
                </script>
                <?php
 
-               if ( in_array('wplink', self::$plugins, true) || in_array('link', self::$qt_buttons, true) )
+               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) )
+               if ( in_array( 'wpfullscreen', self::$plugins, true ) || in_array( 'fullscreen', self::$qt_buttons, true ) )
                        self::wp_fullscreen_html();
 
-               do_action('after_wp_tiny_mce', self::$mce_settings);
+               /**
+                * Fires after any core TinyMCE editor instances are created.
+                *
+                * @since 3.2.0
+                *
+                * @param array $mce_settings TinyMCE settings array.
+                */
+               do_action( 'after_wp_tiny_mce', self::$mce_settings );
        }
 
        public static function wp_fullscreen_html() {
                global $content_width;
                $post = get_post();
 
-               $width = isset($content_width) && 800 > $content_width ? $content_width : 800;
+               $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 = isset($post->post_status) && $post->post_status == 'publish' ? __('Update') : __('Save');
-       ?>
-       <div id="wp-fullscreen-body"<?php if ( is_rtl() ) echo ' class="rtl"'; ?>>
-       <div id="fullscreen-topbar">
-               <div id="wp-fullscreen-toolbar">
-                       <div id="wp-fullscreen-close"><a href="#" onclick="fullscreen.off();return false;"><?php _e('Exit fullscreen'); ?></a></div>
+               $save = isset( $post->post_status ) && $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">
-                               <a href="#" onclick="fullscreen.switchmode('tinymce');return false;"><?php _e( 'Visual' ); ?></a>
-                               <a href="#" onclick="fullscreen.switchmode('html');return false;"><?php _ex( 'Text', 'Name for the Text editor tab (formerly HTML)' ); ?></a>
-                       </div></div>
+                       <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="wp_themeSkin">
-       <?php
+                       <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)'), 'onclick' => 'fullscreen.b();', 'both' => false ),
-                       'italic' => array( 'title' => __('Italic (Ctrl + I)'), 'onclick' => 'fullscreen.i();', 'both' => false ),
-                       '0' => 'separator',
-                       'bullist' => array( 'title' => __('Unordered list (Alt + Shift + U)'), 'onclick' => 'fullscreen.ul();', 'both' => false ),
-                       'numlist' => array( 'title' => __('Ordered list (Alt + Shift + O)'), 'onclick' => 'fullscreen.ol();', 'both' => false ),
-                       '1' => 'separator',
-                       'blockquote' => array( 'title' => __('Blockquote (Alt + Shift + Q)'), 'onclick' => 'fullscreen.blockquote();', 'both' => false ),
-                       'image' => array( 'title' => __('Insert/edit image (Alt + Shift + M)'), 'onclick' => "fullscreen.medialib();", 'both' => true ),
-                       '2' => 'separator',
-                       'link' => array( 'title' => __('Insert/edit link (Alt + Shift + A)'), 'onclick' => 'fullscreen.link();', 'both' => true ),
-                       'unlink' => array( 'title' => __('Unlink (Alt + Shift + S)'), 'onclick' => 'fullscreen.unlink();', 'both' => false ),
-                       '3' => 'separator',
-                       'help' => array( 'title' => __('Help (Alt + Shift + H)'), 'onclick' => 'fullscreen.help();', 'both' => false )
+                       '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 ) { ?>
-                               <div><span aria-orientation="vertical" role="separator" class="mceSeparator"></span></div>
-       <?php           continue;
-                       } ?>
-
-                       <div<?php if ( $args['both'] ) { ?> class="wp-fullscreen-both"<?php } ?>>
-                       <a title="<?php echo $args['title']; ?>" onclick="<?php echo $args['onclick']; ?>return false;" class="mceButton mceButtonEnabled mce_<?php echo $button; ?>" href="#" id="wp_fs_<?php echo $button; ?>" role="button" aria-pressed="false">
-                       <span class="mceIcon mce_<?php echo $button; ?>"></span>
-                       </a>
-                       </div>
-       <?php
-               } ?>
+                       if ( 'separator' == $args ) {
+                               continue;
+                       }
 
-                       </div></div>
+                       $onclick = ! empty( $args['onclick'] ) ? ' onclick="' . $args['onclick'] . '"' : '';
+                       $title = esc_attr( $args['title'] );
+                       ?>
 
-                       <div id="wp-fullscreen-save">
-                               <input type="button" class="button-primary right" value="<?php echo $save; ?>" onclick="fullscreen.save();" />
-                               <span class="spinner"></span>
-                               <span class="fs-saved"><?php if ( $post->post_status == 'publish' ) _e('Updated.'); else _e('Saved.'); ?></span>
+                       <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>
+               ?>
 
-       <div id="wp-fullscreen-wrap" style="width:<?php echo $dfw_width; ?>px;">
-               <?php if ( post_type_supports($post->post_type, 'title') ) { ?>
-               <label id="wp-fullscreen-title-prompt-text" for="wp-fullscreen-title"><?php echo apply_filters( 'enter_title_here', __( 'Enter title here' ), $post ); ?></label>
-               <input type="text" id="wp-fullscreen-title" value="" autocomplete="off" />
-               <?php } ?>
+               </div></div>
 
-               <div id="wp-fullscreen-container">
-                       <textarea id="wp_mce_fullscreen"></textarea>
+               <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_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>
@@ -765,7 +1281,7 @@ final class _WP_Editors {
        </div>
 
        <div class="fullscreen-overlay" id="fullscreen-overlay"></div>
-       <div class="fullscreen-overlay fullscreen-fader fade-600" id="fullscreen-fader"></div>
+       <div class="fullscreen-overlay fullscreen-fader fade-300" id="fullscreen-fader"></div>
        <?php
        }
 
@@ -840,17 +1356,20 @@ final class _WP_Editors {
                 *
                 * @since 3.7.0
                 *
+                * @see 'wp_link_query_args' filter
+                *
                 * @param array $results {
                 *     An associative array of query results.
                 *
                 *     @type array {
-                *         @type int    'ID'        The post ID.
-                *         @type string 'title'     The trimmed, escaped post title.
-                *         @type string 'permalink' The post permalink.
-                *         @type string 'info'      A 'Y/m/d'-formatted date for 'post' post type, the 'singular_name' post type label otherwise.
+                *         @type int    $ID        Post ID.
+                *         @type string $title     The trimmed, escaped post title.
+                *         @type string $permalink Post permalink.
+                *         @type string $info      A 'Y/m/d'-formatted date for 'post' post type,
+                *                                 the 'singular_name' post type label otherwise.
                 *     }
                 * }
-                * @param array $query   An array of WP_Query arguments. @see 'wp_link_query_args' filter
+                * @param array $query  An array of WP_Query arguments.
                 */
                return apply_filters( 'wp_link_query', $results, $query );
        }
@@ -861,58 +1380,65 @@ final class _WP_Editors {
         * @since 3.1.0
         */
        public static function wp_link_dialog() {
-       ?>
-       <div style="display:none;">
-       <form id="wp-link" tabindex="-1">
-       <?php wp_nonce_field( 'internal-linking', '_ajax_linking_nonce', false ); ?>
-       <div id="link-selector">
-               <div id="link-options">
-                       <p class="howto"><?php _e( 'Enter the destination URL' ); ?></p>
-                       <div>
-                               <label><span><?php _e( 'URL' ); ?></span><input id="url-field" type="text" name="href" /></label>
-                       </div>
-                       <div>
-                               <label><span><?php _e( 'Title' ); ?></span><input id="link-title-field" type="text" name="linktitle" /></label>
-                       </div>
-                       <div class="link-target">
-                               <label><input type="checkbox" id="link-target-checkbox" /> <?php _e( 'Open link in a new window/tab' ); ?></label>
-                       </div>
-               </div>
-               <?php $show_internal = '1' == get_user_setting( 'wplink', '0' ); ?>
-               <p class="howto toggle-arrow <?php if ( $show_internal ) echo 'toggle-arrow-active'; ?>" id="internal-toggle"><?php _e( 'Or link to existing content' ); ?></p>
-               <div id="search-panel"<?php if ( ! $show_internal ) echo ' style="display:none"'; ?>>
-                       <div class="link-search-wrapper">
-                               <label>
-                                       <span class="search-label"><?php _e( 'Search' ); ?></span>
-                                       <input type="search" id="search-field" class="link-search-field" autocomplete="off" />
-                                       <span class="spinner"></span>
-                               </label>
-                       </div>
-                       <div id="search-results" class="query-results">
-                               <ul></ul>
-                               <div class="river-waiting">
-                                       <span class="spinner"></span>
+               $search_panel_visible = '1' == get_user_setting( 'wplink', '0' ) ? ' search-panel-visible' : '';
+
+               // display: none is required here, see #WP27605
+               ?>
+               <div id="wp-link-backdrop" style="display: none"></div>
+               <div id="wp-link-wrap" class="wp-core-ui<?php echo $search_panel_visible; ?>" style="display: none">
+               <form id="wp-link" tabindex="-1">
+               <?php wp_nonce_field( 'internal-linking', '_ajax_linking_nonce', false ); ?>
+               <div id="link-modal-title">
+                       <?php _e( 'Insert/edit link' ) ?>
+                       <div id="wp-link-close" tabindex="0"></div>
+               </div>
+               <div id="link-selector">
+                       <div id="link-options">
+                               <p class="howto"><?php _e( 'Enter the destination URL' ); ?></p>
+                               <div>
+                                       <label><span><?php _e( 'URL' ); ?></span><input id="url-field" type="text" name="href" /></label>
+                               </div>
+                               <div>
+                                       <label><span><?php _e( 'Title' ); ?></span><input id="link-title-field" type="text" name="linktitle" /></label>
+                               </div>
+                               <div class="link-target">
+                                       <label><span>&nbsp;</span><input type="checkbox" id="link-target-checkbox" /> <?php _e( 'Open link in a new window/tab' ); ?></label>
                                </div>
                        </div>
-                       <div id="most-recent-results" class="query-results">
-                               <div class="query-notice"><em><?php _e( 'No search term specified. Showing recent items.' ); ?></em></div>
-                               <ul></ul>
-                               <div class="river-waiting">
-                                       <span class="spinner"></span>
+                       <p class="howto" id="wp-link-search-toggle"><?php _e( 'Or link to existing content' ); ?></p>
+                       <div id="search-panel">
+                               <div class="link-search-wrapper">
+                                       <label>
+                                               <span class="search-label"><?php _e( 'Search' ); ?></span>
+                                               <input type="search" id="search-field" class="link-search-field" autocomplete="off" />
+                                               <span class="spinner"></span>
+                                       </label>
+                               </div>
+                               <div id="search-results" class="query-results">
+                                       <ul></ul>
+                                       <div class="river-waiting">
+                                               <span class="spinner"></span>
+                                       </div>
+                               </div>
+                               <div id="most-recent-results" class="query-results">
+                                       <div class="query-notice"><em><?php _e( 'No search term specified. Showing recent items.' ); ?></em></div>
+                                       <ul></ul>
+                                       <div class="river-waiting">
+                                               <span class="spinner"></span>
+                                       </div>
                                </div>
                        </div>
                </div>
-       </div>
-       <div class="submitbox">
-               <div id="wp-link-update">
-                       <input type="submit" value="<?php esc_attr_e( 'Add Link' ); ?>" class="button-primary" id="wp-link-submit" name="wp-link-submit">
+               <div class="submitbox">
+                       <div id="wp-link-update">
+                               <input type="submit" value="<?php esc_attr_e( 'Add Link' ); ?>" class="button button-primary" id="wp-link-submit" name="wp-link-submit">
+                       </div>
+                       <div id="wp-link-cancel">
+                               <a class="submitdelete deletion" href="#"><?php _e( 'Cancel' ); ?></a>
+                       </div>
                </div>
-               <div id="wp-link-cancel">
-                       <a class="submitdelete deletion" href="#"><?php _e( 'Cancel' ); ?></a>
+               </form>
                </div>
-       </div>
-       </form>
-       </div>
-       <?php
+               <?php
        }
 }
index 575066ccc053a49268691a8ff78db03aeedf9bad..66b2820f3f24a28d39b2071c6727e0e94ce8ee30 100644 (file)
@@ -130,7 +130,12 @@ class WP_Embed {
         * @uses get_post_meta()
         * @uses update_post_meta()
         *
-        * @param array $attr Shortcode attributes.
+        * @param array $attr {
+        *     Shortcode attributes. Optional.
+        *
+        *     @type int $width  Width of the embed in pixels.
+        *     @type int $height Height of the embed in pixels.
+        * }
         * @param string $url The URL attempting to be embedded.
         * @return string The embed HTML on success, otherwise the original URL.
         */
@@ -158,6 +163,8 @@ class WP_Embed {
                                                 *
                                                 * @since 2.9.0
                                                 *
+                                                * @see WP_Embed::shortcode()
+                                                *
                                                 * @param mixed  $return The shortcode callback function to call.
                                                 * @param string $url    The attempted embed URL.
                                                 * @param array  $attr   An array of shortcode attributes.
@@ -189,6 +196,8 @@ class WP_Embed {
                                         *
                                         * @since 2.9.0
                                         *
+                                        * @see WP_Embed::shortcode()
+                                        *
                                         * @param mixed  $cache   The cached HTML result, stored in post meta.
                                         * @param string $url     The attempted embed URL.
                                         * @param array  $attr    An array of shortcode attributes.
@@ -200,6 +209,8 @@ class WP_Embed {
                        /**
                         * Filter whether to inspect the given URL for discoverable <link> tags.
                         *
+                        * @since 2.9.0
+                        *
                         * @see WP_oEmbed::discover()
                         *
                         * @param bool false Whether to enable <link> tag discovery. Default false.
index 736fc5a223b6105a5c102354b39357a447caeeb2..b412e2a2f8a8c6712a5ecb0ffce4307ad710d234 100644 (file)
@@ -18,8 +18,13 @@ class WP_HTTP_IXR_Client extends IXR_Client {
                        $this->path = !empty($bits['path']) ? $bits['path'] : '/';
 
                        // Make absolutely sure we have a path
-                       if ( ! $this->path )
+                       if ( ! $this->path ) {
                                $this->path = '/';
+                       }
+                               
+                       if ( ! empty( $bits['query'] ) ) {
+                               $this->path .= '?' . $bits['query'];
+                       }
                } else {
                        $this->scheme = 'http';
                        $this->server = $server;
index fdd55868665c51fc296e7742232f2e52535e3619..303f5004c0d96813aff91b92694ca2dea3cee0ea 100644 (file)
@@ -140,12 +140,16 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
         * Resizes current image.
         * Wraps _resize, since _resize returns a GD Resource.
         *
+        * At minimum, either a height or width must be provided.
+        * If one of the two is set to null, the resize will
+        * maintain aspect ratio according to the provided dimension.
+        *
         * @since 3.5.0
         * @access public
         *
-        * @param int $max_w
-        * @param int $max_h
-        * @param boolean $crop
+        * @param  int|null $max_w Image width.
+        * @param  int|null $max_h Image height.
+        * @param  boolean  $crop
         * @return boolean|WP_Error
         */
        public function resize( $max_w, $max_h, $crop = false ) {
@@ -192,24 +196,37 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
         * @param array $sizes {
         *     An array of image size arrays. Default sizes are 'small', 'medium', 'large'.
         *
+        *     Either a height or width must be provided.
+        *     If one of the two is set to null, the resize will
+        *     maintain aspect ratio according to the provided dimension.
+        *
         *     @type array $size {
-        *         @type int  $width  Image width.
-        *         @type int  $height Image height.
-        *         @type bool $crop   Optional. Whether to crop the image. Default false.
+        *         @type int  ['width']  Optional. Image width.
+        *         @type int  ['height'] Optional. Image height.
+        *         @type bool ['crop']   Optional. Whether to crop the image. Default false.
         *     }
         * }
-        * @return array An array of resized images metadata by size.
+        * @return array An array of resized images' metadata by size.
         */
        public function multi_resize( $sizes ) {
                $metadata = array();
                $orig_size = $this->size;
 
                foreach ( $sizes as $size => $size_data ) {
-                       if ( ! ( isset( $size_data['width'] ) && isset( $size_data['height'] ) ) )
+                       if ( ! isset( $size_data['width'] ) && ! isset( $size_data['height'] ) ) {
                                continue;
+                       }
 
-                       if ( ! isset( $size_data['crop'] ) )
+                       if ( ! isset( $size_data['width'] ) ) {
+                               $size_data['width'] = null;
+                       }
+                       if ( ! isset( $size_data['height'] ) ) {
+                               $size_data['height'] = null;
+                       }
+
+                       if ( ! isset( $size_data['crop'] ) ) {
                                $size_data['crop'] = false;
+                       }
 
                        $image = $this->_resize( $size_data['width'], $size_data['height'], $size_data['crop'] );
 
index f3c9451ec3a312d6b22de6a1e9a2980a555b4654..4ebed4bae76d8870c6b847e30de6b46bbe955052 100644 (file)
@@ -211,12 +211,16 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
        /**
         * Resizes current image.
         *
+        * At minimum, either a height or width must be provided.
+        * If one of the two is set to null, the resize will
+        * maintain aspect ratio according to the provided dimension.
+        *
         * @since 3.5.0
         * @access public
         *
-        * @param int $max_w
-        * @param int $max_h
-        * @param boolean $crop
+        * @param  int|null $max_w Image width.
+        * @param  int|null $max_h Image height.
+        * @param  boolean  $crop
         * @return boolean|WP_Error
         */
        public function resize( $max_w, $max_h, $crop = false ) {
@@ -255,13 +259,17 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
         * @param array $sizes {
         *     An array of image size arrays. Default sizes are 'small', 'medium', 'large'.
         *
+        *     Either a height or width must be provided.
+        *     If one of the two is set to null, the resize will
+        *     maintain aspect ratio according to the provided dimension.
+        *
         *     @type array $size {
-        *         @type int  $width  Image width.
-        *         @type int  $height Image height.
+        *         @type int  ['width']  Optional. Image width.
+        *         @type int  ['height'] Optional. Image height.
         *         @type bool $crop   Optional. Whether to crop the image. Default false.
         *     }
         * }
-        * @return array An array of resized images metadata by size.
+        * @return array An array of resized images' metadata by size.
         */
        public function multi_resize( $sizes ) {
                $metadata = array();
@@ -272,11 +280,20 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
                        if ( ! $this->image )
                                $this->image = $orig_image->getImage();
 
-                       if ( ! ( isset( $size_data['width'] ) && isset( $size_data['height'] ) ) )
+                       if ( ! isset( $size_data['width'] ) && ! isset( $size_data['height'] ) ) {
                                continue;
+                       }
 
-                       if ( ! isset( $size_data['crop'] ) )
+                       if ( ! isset( $size_data['width'] ) ) {
+                               $size_data['width'] = null;
+                       }
+                       if ( ! isset( $size_data['height'] ) ) {
+                               $size_data['height'] = null;
+                       }
+
+                       if ( ! isset( $size_data['crop'] ) ) {
                                $size_data['crop'] = false;
+                       }
 
                        $resize_result = $this->resize( $size_data['width'], $size_data['height'], $size_data['crop'] );
 
index 7f6488f91f530e32ddff312e3f9b191ea809c327..5affba48c7f78ae677d7ce4af9cdc5480b7f0ee9 100644 (file)
@@ -82,13 +82,17 @@ abstract class WP_Image_Editor {
        /**
         * Resizes current image.
         *
+        * At minimum, either a height or width must be provided.
+        * If one of the two is set to null, the resize will
+        * maintain aspect ratio according to the provided dimension.
+        *
         * @since 3.5.0
         * @access public
         * @abstract
         *
-        * @param int $max_w
-        * @param int $max_h
-        * @param boolean $crop
+        * @param  int|null $max_w Image width.
+        * @param  int|null $max_h Image height.
+        * @param  boolean  $crop
         * @return boolean|WP_Error
         */
        abstract public function resize( $max_w, $max_h, $crop = false );
index 511699adce66159a75fc46c809a4225cbc0b5ba2..6af098fe3b749e7e7658c6b650b78d29babb096a 100644 (file)
@@ -179,6 +179,7 @@ final class WP_Theme implements ArrayAccess {
 
                // Initialize caching on first run.
                if ( ! isset( self::$persistently_cache ) ) {
+                       /** This action is documented in wp-includes/theme.php */
                        self::$persistently_cache = apply_filters( 'wp_cache_themes_persistently', false, 'WP_Theme' );
                        if ( self::$persistently_cache ) {
                                wp_cache_add_global_groups( 'themes' );
@@ -534,7 +535,7 @@ final class WP_Theme implements ArrayAccess {
         * @since 3.4.0
         *
         * @param string $header Theme header. Name, Description, Author, Version, ThemeURI, AuthorURI, Status, Tags.
-        * @return string String on success, false on failure.
+        * @return string|bool String on success, false on failure.
         */
        public function get( $header ) {
                if ( ! isset( $this->headers[ $header ] ) )
@@ -570,10 +571,13 @@ final class WP_Theme implements ArrayAccess {
         * @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 Processed header, false on failure.
+        * @return string|bool Processed header, false on failure.
         */
        public function display( $header, $markup = true, $translate = true ) {
                $value = $this->get( $header );
+               if ( false === $value ) {
+                       return false;
+               }
 
                if ( $translate && ( empty( $value ) || ! $this->load_textdomain() ) )
                        $translate = false;
@@ -930,9 +934,10 @@ final class WP_Theme implements ArrayAccess {
         * @since 3.4.0
         * @access public
         *
+        * @param WP_Post|null $post Optional. The post being edited, provided for context.
         * @return array Array of page templates, keyed by filename, with the value of the translated header name.
         */
-       public function get_page_templates() {
+       public function get_page_templates( $post = null ) {
                // If you screw up your current theme and we invalidate your parent, most things still work. Let it slide.
                if ( $this->errors() && $this->errors()->get_error_codes() !== array( 'theme_parent_invalid' ) )
                        return array();
@@ -960,9 +965,23 @@ final class WP_Theme implements ArrayAccess {
                }
 
                if ( $this->parent() )
-                       $page_templates += $this->parent()->get_page_templates();
-
-               return $page_templates;
+                       $page_templates += $this->parent()->get_page_templates( $post );
+
+               /**
+                * Filter list of page templates for a theme.
+                *
+                * This filter does not currently allow for page templates to be added.
+                *
+                * @since 3.9.0
+                *
+                * @param array        $page_templates Array of page templates. Keys are filenames,
+                *                                     values are translated names.
+                * @param WP_Theme     $this           The theme object.
+                * @param WP_Post|null $post           The post being edited, provided for context, or null.
+                */
+               $return = apply_filters( 'theme_page_templates', $page_templates, $this, $post );
+
+               return array_intersect_assoc( $return, $page_templates );
        }
 
        /**
@@ -1086,6 +1105,13 @@ final class WP_Theme implements ArrayAccess {
         * @return array Array of stylesheet names.
         */
        public static function get_allowed( $blog_id = null ) {
+               /**
+                * Filter the array of themes allowed on the site or network.
+                *
+                * @since MU
+                *
+                * @param array $allowed_themes An array of theme stylesheet names.
+                */
                $network = (array) apply_filters( 'allowed_themes', self::get_allowed_on_network() );
                return $network + self::get_allowed_on_site( $blog_id );
        }
index 255a29c4401b87b64efcbd9fd7ae6fe624c25c1e..0f617dbf99b4399490f89801ae66f6069caf3351 100644 (file)
@@ -3,6 +3,7 @@
  * XML-RPC protocol support for WordPress
  *
  * @package WordPress
+ * @subpackage Publishing
  */
 
 /**
@@ -126,7 +127,17 @@ class wp_xmlrpc_server extends IXR_Server {
                );
 
                $this->initialise_blog_option_info();
-               $this->methods = apply_filters('xmlrpc_methods', $this->methods);
+
+               /**
+                * Filter the methods exposed by the XML-RPC server.
+                *
+                * This filter can be used to add new methods, and remove built-in methods.
+                *
+                * @since 1.5.0
+                *
+                * @param array $methods An array of XML-RPC methods.
+                */
+               $this->methods = apply_filters( 'xmlrpc_methods', $this->methods );
        }
 
        function serve_request() {
@@ -169,12 +180,24 @@ class wp_xmlrpc_server extends IXR_Server {
         * @return mixed WP_User object if authentication passed, false otherwise
         */
        function login( $username, $password ) {
-               // Respect any old filters against get_option() for 'enable_xmlrpc'.
-               $enabled = apply_filters( 'pre_option_enable_xmlrpc', false ); // Deprecated
-               if ( false === $enabled )
-                       $enabled = apply_filters( 'option_enable_xmlrpc', true ); // Deprecated
+               /*
+                * Respect old get_option() filters left for back-compat when the 'enable_xmlrpc'
+                * option was deprecated in 3.5.0. Use the 'xmlrpc_enabled' hook instead.
+                */
+               $enabled = apply_filters( 'pre_option_enable_xmlrpc', false );
+               if ( false === $enabled ) {
+                       $enabled = apply_filters( 'option_enable_xmlrpc', true );
+               }
 
-               // Proper filter for turning off XML-RPC. It is on by default.
+               /**
+                * Filter whether XML-RPC is enabled.
+                *
+                * This is the proper filter for turning off XML-RPC.
+                *
+                * @since 3.5.0
+                *
+                * @param bool $enabled Whether XML-RPC is enabled. Default true.
+                */
                $enabled = apply_filters( 'xmlrpc_enabled', $enabled );
 
                if ( ! $enabled ) {
@@ -186,6 +209,15 @@ class wp_xmlrpc_server extends IXR_Server {
 
                if (is_wp_error($user)) {
                        $this->error = new IXR_Error( 403, __( 'Incorrect username or password.' ) );
+
+                       /**
+                        * Filter the XML-RPC user login error message.
+                        *
+                        * @since 3.5.0
+                        *
+                        * @param string  $error The XML-RPC error message.
+                        * @param WP_User $user  WP_User object.
+                        */
                        $this->error = apply_filters( 'xmlrpc_login_error', $this->error, $user );
                        return false;
                }
@@ -440,6 +472,13 @@ class wp_xmlrpc_server extends IXR_Server {
                        )
                );
 
+               /**
+                * Filter the XML-RPC blog options property.
+                *
+                * @since 2.6.0
+                *
+                * @param array $blog_options An array of XML-RPC blog options.
+                */
                $this->blog_options = apply_filters( 'xmlrpc_blog_options', $this->blog_options );
        }
 
@@ -473,6 +512,17 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
+               /**
+                * Fires after the XML-RPC user has been authenticated but before the rest of
+                * the method logic begins.
+                *
+                * All built-in XML-RPC methods use the action xmlrpc_call, with a parameter
+                * equal to the method's name, e.g., wp.getUsersBlogs, wp.newPost, etc.
+                *
+                * @since 2.5.0
+                *
+                * @param method $name The method name.
+                */
                do_action( 'xmlrpc_call', 'wp.getUsersBlogs' );
 
                $blogs = (array) get_blogs_of_user( $user->ID );
@@ -552,6 +602,15 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( in_array( 'object_type', $fields ) )
                        $_taxonomy['object_type'] = array_unique( (array) $taxonomy->object_type );
 
+               /**
+                * Filter XML-RPC-prepared data for the given taxonomy.
+                *
+                * @since 3.4.0
+                *
+                * @param array  $_taxonomy An array of taxonomy data.
+                * @param object $taxonomy  Taxonomy object.
+                * @param array  $fields    The subset of taxonomy fields to return.
+                */
                return apply_filters( 'xmlrpc_prepare_taxonomy', $_taxonomy, $taxonomy, $fields );
        }
 
@@ -577,6 +636,14 @@ class wp_xmlrpc_server extends IXR_Server {
                // Count we are happy to return as an integer because people really shouldn't use terms that much.
                $_term['count'] = intval( $_term['count'] );
 
+               /**
+                * Filter XML-RPC-prepared data for the given term.
+                *
+                * @since 3.4.0
+                *
+                * @param array        $_term An array of term data.
+                * @param array|object $term  Term object or array.
+                */
                return apply_filters( 'xmlrpc_prepare_term', $_term, $term );
        }
 
@@ -698,6 +765,15 @@ class wp_xmlrpc_server extends IXR_Server {
                        }
                }
 
+               /**
+                * Filter XML-RPC-prepared date for the given post.
+                *
+                * @since 3.4.0
+                *
+                * @param array $_post  An array of modified post data.
+                * @param array $post   An array of post data.
+                * @param array $fields An array of post fields.
+                */
                return apply_filters( 'xmlrpc_prepare_post', $_post, $post, $fields );
        }
 
@@ -740,6 +816,14 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( in_array( 'taxonomies', $fields ) )
                        $_post_type['taxonomies'] = get_object_taxonomies( $post_type->name, 'names' );
 
+               /**
+                * Filter XML-RPC-prepared date for the given post type.
+                *
+                * @since 3.4.0
+                *
+                * @param array  $_post_type An array of post type data.
+                * @param object $post_type  Post type object.
+                */
                return apply_filters( 'xmlrpc_prepare_post_type', $_post_type, $post_type );
        }
 
@@ -770,6 +854,15 @@ class wp_xmlrpc_server extends IXR_Server {
                else
                        $_media_item['thumbnail'] = $_media_item['link'];
 
+               /**
+                * Filter XML-RPC-prepared data for the given media item.
+                *
+                * @since 3.4.0
+                *
+                * @param array  $_media_item    An array of media item data.
+                * @param object $media_item     Media item object.
+                * @param string $thumbnail_size Image size.
+                */
                return apply_filters( 'xmlrpc_prepare_media_item', $_media_item, $media_item, $thumbnail_size );
        }
 
@@ -841,6 +934,14 @@ class wp_xmlrpc_server extends IXR_Server {
                        'wp_page_template'       => $page_template
                );
 
+               /**
+                * Filter XML-RPC-prepared data for the given page.
+                *
+                * @since 3.4.0
+                *
+                * @param array   $_page An array of page data.
+                * @param WP_Post $page  Page object.
+                */
                return apply_filters( 'xmlrpc_prepare_page', $_page, $page );
        }
 
@@ -883,6 +984,14 @@ class wp_xmlrpc_server extends IXR_Server {
                        'type'             => $comment->comment_type,
                );
 
+               /**
+                * Filter XML-RPC-prepared data for the given comment.
+                *
+                * @since 3.4.0
+                *
+                * @param array  $_comment An array of prepared comment data.
+                * @param object $comment  Comment object.
+                */
                return apply_filters( 'xmlrpc_prepare_comment', $_comment, $comment );
        }
 
@@ -923,6 +1032,15 @@ class wp_xmlrpc_server extends IXR_Server {
                        $_user = array_merge( $_user, $requested_fields );
                }
 
+               /**
+                * Filter XML-RPC-prepared data for the given user.
+                *
+                * @since 3.5.0
+                *
+                * @param array   $_user  An array of user data.
+                * @param WP_User $user   User object.
+                * @param array   $fields An array of user fields.
+                */
                return apply_filters( 'xmlrpc_prepare_user', $_user, $user, $fields );
        }
 
@@ -971,6 +1089,7 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.newPost' );
 
                unset( $content_struct['ID'] );
@@ -1130,6 +1249,7 @@ class wp_xmlrpc_server extends IXR_Server {
                                                return new IXR_Error( 401, __( 'Sorry, you are not allowed to assign a term to one of the given taxonomies.' ) );
 
                                        $term_ids = $post_data['terms'][$taxonomy];
+                                       $terms[ $taxonomy ] = array();
                                        foreach ( $term_ids as $term_id ) {
                                                $term = get_term_by( 'id', $term_id, $taxonomy );
 
@@ -1213,6 +1333,14 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $this->attach_uploads( $post_ID, $post_data['post_content'] );
 
+               /**
+                * Filter post data array to be inserted via XML-RPC.
+                *
+                * @since 3.4.0
+                *
+                * @param array $post_data      Parsed array of post data.
+                * @param array $content_struct Post data array.
+                */
                $post_data = apply_filters( 'xmlrpc_wp_insert_post_data', $post_data, $content_struct );
 
                $post_ID = $update ? wp_update_post( $post_data, true ) : wp_insert_post( $post_data, true );
@@ -1256,6 +1384,7 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.editPost' );
 
                $post = get_post( $post_id, ARRAY_A );
@@ -1317,6 +1446,7 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.deletePost' );
 
                $post = get_post( $post_id, ARRAY_A );
@@ -1389,14 +1519,24 @@ class wp_xmlrpc_server extends IXR_Server {
                $password           = $args[2];
                $post_id            = (int) $args[3];
 
-               if ( isset( $args[4] ) )
+               if ( isset( $args[4] ) ) {
                        $fields = $args[4];
-               else
+               } else {
+                       /**
+                        * Filter the list of post query fields used by the given XML-RPC method.
+                        *
+                        * @since 3.4.0
+                        *
+                        * @param array $fields  Array of post fields.
+                        * @param string $method Method name.
+                        */
                        $fields = apply_filters( 'xmlrpc_default_post_fields', array( 'post', 'terms', 'custom_fields' ), 'wp.getPost' );
+               }
 
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.getPost' );
 
                $post = get_post( $post_id, ARRAY_A );
@@ -1445,14 +1585,17 @@ class wp_xmlrpc_server extends IXR_Server {
                $password   = $args[2];
                $filter     = isset( $args[3] ) ? $args[3] : array();
 
-               if ( isset( $args[4] ) )
+               if ( isset( $args[4] ) ) {
                        $fields = $args[4];
-               else
+               } else {
+                       /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                        $fields = apply_filters( 'xmlrpc_default_post_fields', array( 'post', 'terms', 'custom_fields' ), 'wp.getPosts' );
+               }
 
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.getPosts' );
 
                $query = array();
@@ -1542,6 +1685,7 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.newTerm' );
 
                if ( ! taxonomy_exists( $content_struct['taxonomy'] ) )
@@ -1630,6 +1774,7 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.editTerm' );
 
                if ( ! taxonomy_exists( $content_struct['taxonomy'] ) )
@@ -1722,6 +1867,7 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.deleteTerm' );
 
                if ( ! taxonomy_exists( $taxonomy ) )
@@ -1789,6 +1935,7 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.getTerm' );
 
                if ( ! taxonomy_exists( $taxonomy ) )
@@ -1842,6 +1989,7 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.getTerms' );
 
                if ( ! taxonomy_exists( $taxonomy ) )
@@ -1913,14 +2061,24 @@ class wp_xmlrpc_server extends IXR_Server {
                $password       = $args[2];
                $taxonomy       = $args[3];
 
-               if ( isset( $args[4] ) )
+               if ( isset( $args[4] ) ) {
                        $fields = $args[4];
-               else
+               } else {
+                       /**
+                        * Filter the taxonomy query fields used by the given XML-RPC method.
+                        *
+                        * @since 3.4.0
+                        *
+                        * @param array  $fields An array of taxonomy fields to retrieve.
+                        * @param string $method The method name.
+                        */
                        $fields = apply_filters( 'xmlrpc_default_taxonomy_fields', array( 'labels', 'cap', 'object_type' ), 'wp.getTaxonomy' );
+               }
 
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.getTaxonomy' );
 
                if ( ! taxonomy_exists( $taxonomy ) )
@@ -1957,14 +2115,17 @@ class wp_xmlrpc_server extends IXR_Server {
                $password           = $args[2];
                $filter             = isset( $args[3] ) ? $args[3] : array( 'public' => true );
 
-               if ( isset( $args[4] ) )
+               if ( isset( $args[4] ) ) {
                        $fields = $args[4];
-               else
+               } else {
+                       /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                        $fields = apply_filters( 'xmlrpc_default_taxonomy_fields', array( 'labels', 'cap', 'object_type' ), 'wp.getTaxonomies' );
+               }
 
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.getTaxonomies' );
 
                $taxonomies = get_taxonomies( $filter, 'objects' );
@@ -2026,14 +2187,24 @@ class wp_xmlrpc_server extends IXR_Server {
                $password   = $args[2];
                $user_id    = (int) $args[3];
 
-               if ( isset( $args[4] ) )
+               if ( isset( $args[4] ) ) {
                        $fields = $args[4];
-               else
+               } else {
+                       /**
+                        * Filter the default user query fields used by the given XML-RPC method.
+                        *
+                        * @since 3.5.0
+                        *
+                        * @param array  $fields User query fields for given method. Default 'all'.
+                        * @param string $method The method name.
+                        */
                        $fields = apply_filters( 'xmlrpc_default_user_fields', array( 'all' ), 'wp.getUser' );
+               }
 
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.getUser' );
 
                if ( ! current_user_can( 'edit_user', $user_id ) )
@@ -2079,14 +2250,17 @@ class wp_xmlrpc_server extends IXR_Server {
                $password   = $args[2];
                $filter     = isset( $args[3] ) ? $args[3] : array();
 
-               if ( isset( $args[4] ) )
+               if ( isset( $args[4] ) ) {
                        $fields = $args[4];
-               else
+               } else {
+                       /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                        $fields = apply_filters( 'xmlrpc_default_user_fields', array( 'all' ), 'wp.getUsers' );
+               }
 
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.getUsers' );
 
                if ( ! current_user_can( 'list_users' ) )
@@ -2146,14 +2320,17 @@ class wp_xmlrpc_server extends IXR_Server {
                $username   = $args[1];
                $password   = $args[2];
 
-               if ( isset( $args[3] ) )
+               if ( isset( $args[3] ) ) {
                        $fields = $args[3];
-               else
+               } else {
+                       /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                        $fields = apply_filters( 'xmlrpc_default_user_fields', array( 'all' ), 'wp.getProfile' );
+               }
 
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.getProfile' );
 
                if ( ! current_user_can( 'edit_user', $user->ID ) )
@@ -2197,6 +2374,7 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.editProfile' );
 
                if ( ! current_user_can( 'edit_user', $user->ID ) )
@@ -2270,7 +2448,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_page', $page_id ) )
                        return new IXR_Error( 401, __( 'Sorry, you cannot edit this page.' ) );
 
-               do_action('xmlrpc_call', 'wp.getPage');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.getPage' );
 
                // If we found the page then format the data.
                if ( $page->ID && ($page->post_type == 'page') ) {
@@ -2308,7 +2487,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_pages' ) )
                        return new IXR_Error( 401, __( 'Sorry, you cannot edit pages.' ) );
 
-               do_action('xmlrpc_call', 'wp.getPages');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.getPages' );
 
                $pages = get_posts( array('post_type' => 'page', 'post_status' => 'any', 'numberposts' => $num_pages) );
                $num_pages = count($pages);
@@ -2348,7 +2528,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'wp.newPage');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.newPage' );
 
                // Mark this as content for a page.
                $args[3]["post_type"] = 'page';
@@ -2376,7 +2557,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'wp.deletePage');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.deletePage' );
 
                // Get the current page based on the page_id and
                // make sure it is a page and not a post.
@@ -2393,6 +2575,14 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$result )
                        return(new IXR_Error(500, __('Failed to delete the page.')));
 
+               /**
+                * Fires after a page has been successfully deleted via XML-RPC.
+                *
+                * @since 3.4.0
+                *
+                * @param int   $page_id ID of the deleted page.
+                * @param array $args    An array of arguments to delete the page.
+                */
                do_action( 'xmlrpc_call_success_wp_deletePage', $page_id, $args );
 
                return(true);
@@ -2418,7 +2608,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'wp.editPage');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.editPage' );
 
                // Get the page data and make sure it is a page.
                $actual_page = get_post($page_id, ARRAY_A);
@@ -2468,7 +2659,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_pages' ) )
                        return new IXR_Error( 401, __( 'Sorry, you cannot edit pages.' ) );
 
-               do_action('xmlrpc_call', 'wp.getPageList');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.getPageList' );
 
                // Get list of pages ids and titles
                $page_list = $wpdb->get_results("
@@ -2519,7 +2711,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can('edit_posts') )
                        return(new IXR_Error(401, __('Sorry, you cannot edit posts on this site.')));
 
-               do_action('xmlrpc_call', 'wp.getAuthors');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.getAuthors' );
 
                $authors = array();
                foreach ( get_users( array( 'fields' => array('ID','user_login','display_name') ) ) as $user ) {
@@ -2554,6 +2747,7 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_posts' ) )
                        return new IXR_Error( 401, __( 'Sorry, you must be able to edit posts on this site in order to view tags.' ) );
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.getKeywords' );
 
                $tags = array();
@@ -2593,7 +2787,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'wp.newCategory');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.newCategory' );
 
                // Make sure the user is allowed to add a category.
                if ( !current_user_can('manage_categories') )
@@ -2630,6 +2825,14 @@ class wp_xmlrpc_server extends IXR_Server {
                        return(new IXR_Error(500, __('Sorry, the new category failed.')));
                }
 
+               /**
+                * Fires after a new category has been successfully created via XML-RPC.
+                *
+                * @since 3.4.0
+                *
+                * @param int   $cat_id ID of the new category.
+                * @param array $args   An array of new category arguments.
+                */
                do_action( 'xmlrpc_call_success_wp_newCategory', $cat_id, $args );
 
                return $cat_id;
@@ -2654,15 +2857,25 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'wp.deleteCategory');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.deleteCategory' );
 
                if ( !current_user_can('manage_categories') )
                        return new IXR_Error( 401, __( 'Sorry, you do not have the right to delete a category.' ) );
 
                $status = wp_delete_term( $category_id, 'category' );
 
-               if( true == $status )
+               if ( true == $status ) {
+                       /**
+                        * Fires after a category has been successfully deleted via XML-RPC.
+                        *
+                        * @since 3.4.0
+                        *
+                        * @param int   $category_id ID of the deleted category.
+                        * @param array $args        An array of arguments to delete the category.
+                        */
                        do_action( 'xmlrpc_call_success_wp_deleteCategory', $category_id, $args );
+               }
 
                return $status;
        }
@@ -2690,7 +2903,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_posts' ) )
                        return new IXR_Error( 401, __( 'Sorry, you must be able to edit posts to this site in order to view categories.' ) );
 
-               do_action('xmlrpc_call', 'wp.suggestCategories');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.suggestCategories' );
 
                $category_suggestions = array();
                $args = array('get' => 'all', 'number' => $max_results, 'name__like' => $category);
@@ -2726,7 +2940,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'moderate_comments' ) )
                        return new IXR_Error( 403, __( 'You are not allowed to moderate comments on this site.' ) );
 
-               do_action('xmlrpc_call', 'wp.getComment');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.getComment' );
 
                if ( ! $comment = get_comment($comment_id) )
                        return new IXR_Error( 404, __( 'Invalid comment ID.' ) );
@@ -2767,7 +2982,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'moderate_comments' ) )
                        return new IXR_Error( 401, __( 'Sorry, you cannot edit comments.' ) );
 
-               do_action('xmlrpc_call', 'wp.getComments');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.getComments' );
 
                if ( isset($struct['status']) )
                        $status = $struct['status'];
@@ -2833,12 +3049,22 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_comment', $comment_ID ) )
                        return new IXR_Error( 403, __( 'You are not allowed to moderate comments on this site.' ) );
 
-               do_action('xmlrpc_call', 'wp.deleteComment');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.deleteComment' );
 
                $status = wp_delete_comment( $comment_ID );
 
-               if( true == $status )
+               if ( true == $status ) {
+                       /**
+                        * Fires after a comment has been successfully deleted via XML-RPC.
+                        *
+                        * @since 3.4.0
+                        *
+                        * @param int   $comment_ID ID of the deleted comment.
+                        * @param array $args       An array of arguments to delete the comment.
+                        */
                        do_action( 'xmlrpc_call_success_wp_deleteComment', $comment_ID, $args );
+               }
 
                return $status;
        }
@@ -2888,7 +3114,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_comment', $comment_ID ) )
                        return new IXR_Error( 403, __( 'You are not allowed to moderate comments on this site.' ) );
 
-               do_action('xmlrpc_call', 'wp.editComment');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.editComment' );
 
                if ( isset($content_struct['status']) ) {
                        $statuses = get_comment_statuses();
@@ -2929,6 +3156,14 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$result )
                        return new IXR_Error(500, __('Sorry, the comment could not be edited. Something wrong happened.'));
 
+               /**
+                * Fires after a comment has been successfully updated via XML-RPC.
+                *
+                * @since 3.4.0
+                *
+                * @param int   $comment_ID ID of the updated comment.
+                * @param array $args       An array of arguments to update the comment.
+                */
                do_action( 'xmlrpc_call_success_wp_editComment', $comment_ID, $args );
 
                return true;
@@ -2953,7 +3188,15 @@ class wp_xmlrpc_server extends IXR_Server {
                $post           = $args[3];
                $content_struct = $args[4];
 
-               $allow_anon = apply_filters('xmlrpc_allow_anonymous_comments', false);
+               /**
+                * Filter whether to allow anonymous comments over XML-RPC.
+                *
+                * @since 2.7.0
+                *
+                * @param bool $allow Whether to allow anonymous commenting via XML-RPC.
+                *                    Default false.
+                */
+               $allow_anon = apply_filters( 'xmlrpc_allow_anonymous_comments', false );
 
                $user = $this->login($username, $password);
 
@@ -3012,10 +3255,19 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $comment['comment_content'] =  isset($content_struct['content']) ? $content_struct['content'] : null;
 
-               do_action('xmlrpc_call', 'wp.newComment');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.newComment' );
 
                $comment_ID = wp_new_comment( $comment );
 
+               /**
+                * Fires after a new comment has been successfully created via XML-RPC.
+                *
+                * @since 3.4.0
+                *
+                * @param int   $comment_ID ID of the new comment.
+                * @param array $args       An array of new comment arguments.
+                */
                do_action( 'xmlrpc_call_success_wp_newComment', $comment_ID, $args );
 
                return $comment_ID;
@@ -3042,7 +3294,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'moderate_comments' ) )
                        return new IXR_Error( 403, __( 'You are not allowed access to details about this site.' ) );
 
-               do_action('xmlrpc_call', 'wp.getCommentStatusList');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.getCommentStatusList' );
 
                return get_comment_statuses();
        }
@@ -3069,7 +3322,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_posts' ) )
                        return new IXR_Error( 403, __( 'You are not allowed access to details about comments.' ) );
 
-               do_action('xmlrpc_call', 'wp.getCommentCount');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.getCommentCount' );
 
                $count = wp_count_comments( $post_id );
                return array(
@@ -3101,7 +3355,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_posts' ) )
                        return new IXR_Error( 403, __( 'You are not allowed access to details about this site.' ) );
 
-               do_action('xmlrpc_call', 'wp.getPostStatusList');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.getPostStatusList' );
 
                return get_post_statuses();
        }
@@ -3127,7 +3382,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_pages' ) )
                        return new IXR_Error( 403, __( 'You are not allowed access to details about this site.' ) );
 
-               do_action('xmlrpc_call', 'wp.getPageStatusList');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.getPageStatusList' );
 
                return get_page_statuses();
        }
@@ -3243,7 +3499,7 @@ class wp_xmlrpc_server extends IXR_Server {
                        if ( $this->blog_options[$o_name]['readonly'] == true )
                                continue;
 
-                       update_option( $this->blog_options[$o_name]['option'], $o_value );
+                       update_option( $this->blog_options[$o_name]['option'], wp_unslash( $o_value ) );
                }
 
                //Now return the updated values
@@ -3284,7 +3540,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'upload_files' ) )
                        return new IXR_Error( 403, __( 'You do not have permission to upload files.' ) );
 
-               do_action('xmlrpc_call', 'wp.getMediaItem');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.getMediaItem' );
 
                if ( ! $attachment = get_post($attachment_id) )
                        return new IXR_Error( 404, __( 'Invalid attachment ID.' ) );
@@ -3329,7 +3586,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'upload_files' ) )
                        return new IXR_Error( 401, __( 'You do not have permission to upload files.' ) );
 
-               do_action('xmlrpc_call', 'wp.getMediaLibrary');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'wp.getMediaLibrary' );
 
                $parent_id = ( isset($struct['parent_id']) ) ? absint($struct['parent_id']) : '' ;
                $mime_type = ( isset($struct['mime_type']) ) ? $struct['mime_type'] : '' ;
@@ -3349,7 +3607,7 @@ class wp_xmlrpc_server extends IXR_Server {
        /**
          * Retrieves a list of post formats used by the site
          *
-         * @since 3.1
+         * @since 3.1.0
          *
          * @param array $args Method parameters. Contains:
          *  - blog_id
@@ -3370,6 +3628,7 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_posts' ) )
                        return new IXR_Error( 403, __( 'You are not allowed access to details about this site.' ) );
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.getPostFormats' );
 
                $formats = get_post_format_strings();
@@ -3425,14 +3684,24 @@ class wp_xmlrpc_server extends IXR_Server {
                $password       = $args[2];
                $post_type_name = $args[3];
 
-               if ( isset( $args[4] ) )
+               if ( isset( $args[4] ) ) {
                        $fields = $args[4];
-               else
+               } else {
+                       /**
+                        * Filter the default query fields used by the given XML-RPC method.
+                        *
+                        * @since 3.4.0
+                        *
+                        * @param array  $fields An array of post type query fields for the given method.
+                        * @param string $method The method name.
+                        */
                        $fields = apply_filters( 'xmlrpc_default_posttype_fields', array( 'labels', 'cap', 'taxonomies' ), 'wp.getPostType' );
+               }
 
                if ( !$user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** 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 ) )
@@ -3471,14 +3740,17 @@ class wp_xmlrpc_server extends IXR_Server {
                $password           = $args[2];
                $filter             = isset( $args[3] ) ? $args[3] : array( 'public' => true );
 
-               if ( isset( $args[4] ) )
+               if ( isset( $args[4] ) ) {
                        $fields = $args[4];
-               else
+               } else {
+                       /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                        $fields = apply_filters( 'xmlrpc_default_posttype_fields', array( 'labels', 'cap', 'taxonomies' ), 'wp.getPostTypes' );
+               }
 
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.getPostTypes' );
 
                $post_types = get_post_types( $filter, 'objects' );
@@ -3525,14 +3797,24 @@ class wp_xmlrpc_server extends IXR_Server {
                $password   = $args[2];
                $post_id    = (int) $args[3];
 
-               if ( isset( $args[4] ) )
+               if ( isset( $args[4] ) ) {
                        $fields = $args[4];
-               else
+               } else {
+                       /**
+                        * Filter the default revision query fields used by the given XML-RPC method.
+                        *
+                        * @since 3.5.0
+                        *
+                        * @param array  $field  An array of revision query fields.
+                        * @param string $method The method name.
+                        */
                        $fields = apply_filters( 'xmlrpc_default_revision_fields', array( 'post_date', 'post_date_gmt' ), 'wp.getRevisions' );
+               }
 
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.getRevisions' );
 
                if ( ! $post = get_post( $post_id ) )
@@ -3594,6 +3876,7 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( ! $user = $this->login( $username, $password ) )
                        return $this->error;
 
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.restoreRevision' );
 
                if ( ! $revision = wp_get_post_revision( $revision_id ) )
@@ -3643,7 +3926,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'blogger.getUsersBlogs');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'blogger.getUsersBlogs' );
 
                $is_admin = current_user_can('manage_options');
 
@@ -3710,7 +3994,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_posts' ) )
                        return new IXR_Error( 401, __( 'Sorry, you do not have access to user data on this site.' ) );
 
-               do_action('xmlrpc_call', 'blogger.getUserInfo');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'blogger.getUserInfo' );
 
                $struct = array(
                        'nickname'  => $user->nickname,
@@ -3749,7 +4034,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_post', $post_ID ) )
                        return new IXR_Error( 401, __( 'Sorry, you cannot edit this post.' ) );
 
-               do_action('xmlrpc_call', 'blogger.getPost');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'blogger.getPost' );
 
                $categories = implode(',', wp_get_post_categories($post_ID));
 
@@ -3794,7 +4080,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( ! current_user_can( 'edit_posts' ) )
                        return new IXR_Error( 401, __( 'Sorry, you cannot edit posts on this site.' ) );
 
-               do_action('xmlrpc_call', 'blogger.getRecentPosts');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'blogger.getRecentPosts' );
 
                $posts_list = wp_get_recent_posts( $query );
 
@@ -3872,7 +4159,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'blogger.newPost');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'blogger.newPost' );
 
                $cap = ($publish) ? 'publish_posts' : 'edit_posts';
                if ( ! current_user_can( get_post_type_object( 'post' )->cap->create_posts ) || !current_user_can($cap) )
@@ -3900,6 +4188,14 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $this->attach_uploads( $post_ID, $post_content );
 
+               /**
+                * Fires after a new post has been successfully created via the XML-RPC Blogger API.
+                *
+                * @since 3.4.0
+                *
+                * @param int   $post_ID ID of the new post.
+                * @param array $args    An array of new post arguments.
+                */
                do_action( 'xmlrpc_call_success_blogger_newPost', $post_ID, $args );
 
                return $post_ID;
@@ -3926,7 +4222,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'blogger.editPost');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'blogger.editPost' );
 
                $actual_post = get_post($post_ID,ARRAY_A);
 
@@ -3956,6 +4253,14 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $this->attach_uploads( $ID, $post_content );
 
+               /**
+                * Fires after a post has been successfully updated via the XML-RPC Blogger API.
+                *
+                * @since 3.4.0
+                *
+                * @param int   $post_ID ID of the updated post.
+                * @param array $args    An array of arguments for the post to edit.
+                */
                do_action( 'xmlrpc_call_success_blogger_editPost', $post_ID, $args );
 
                return true;
@@ -3980,7 +4285,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'blogger.deletePost');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'blogger.deletePost' );
 
                $actual_post = get_post($post_ID,ARRAY_A);
 
@@ -3995,6 +4301,14 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$result )
                        return new IXR_Error(500, __('For some strange yet very annoying reason, this post could not be deleted.'));
 
+               /**
+                * Fires after a post has been successfully deleted via the XML-RPC Blogger API.
+                *
+                * @since 3.4.0
+                *
+                * @param int   $post_ID ID of the deleted post.
+                * @param array $args    An array of arguments to delete the post.
+                */
                do_action( 'xmlrpc_call_success_blogger_deletePost', $post_ID, $args );
 
                return true;
@@ -4051,7 +4365,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'metaWeblog.newPost');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'metaWeblog.newPost' );
 
                $page_template = '';
                if ( !empty( $content_struct['post_type'] ) ) {
@@ -4305,6 +4620,14 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$post_ID )
                        return new IXR_Error(500, __('Sorry, your entry could not be posted. Something wrong happened.'));
 
+               /**
+                * Fires after a new post has been successfully created via the XML-RPC MovableType API.
+                *
+                * @since 3.4.0
+                *
+                * @param int   $post_ID ID of the new post.
+                * @param array $args    An array of arguments to create the new post.
+                */
                do_action( 'xmlrpc_call_success_mw_newPost', $post_ID, $args );
 
                return strval($post_ID);
@@ -4370,7 +4693,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( ! $user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'metaWeblog.editPost');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'metaWeblog.editPost' );
 
                $postdata = get_post( $post_ID, ARRAY_A );
 
@@ -4613,6 +4937,14 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( isset( $content_struct['wp_post_format'] ) )
                        set_post_format( $post_ID, $content_struct['wp_post_format'] );
 
+               /**
+                * Fires after a post has been successfully updated via the XML-RPC MovableType API.
+                *
+                * @since 3.4.0
+                *
+                * @param int   $post_ID ID of the updated post.
+                * @param array $args    An array of arguments to update the post.
+                */
                do_action( 'xmlrpc_call_success_mw_editPost', $post_ID, $args );
 
                return true;
@@ -4644,7 +4976,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_post', $post_ID ) )
                        return new IXR_Error( 401, __( 'Sorry, you cannot edit this post.' ) );
 
-               do_action('xmlrpc_call', 'metaWeblog.getPost');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'metaWeblog.getPost' );
 
                if ($postdata['post_date'] != '') {
                        $post_date = $this->_convert_date( $postdata['post_date'] );
@@ -4768,7 +5101,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( ! current_user_can( 'edit_posts' ) )
                        return new IXR_Error( 401, __( 'Sorry, you cannot edit posts on this site.' ) );
 
-               do_action('xmlrpc_call', 'metaWeblog.getRecentPosts');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'metaWeblog.getRecentPosts' );
 
                $posts_list = wp_get_recent_posts( $query );
 
@@ -4845,7 +5179,8 @@ class wp_xmlrpc_server extends IXR_Server {
                                'custom_fields' => $this->get_custom_fields($entry['ID']),
                                'wp_post_format' => $post_format,
                                'date_modified' => $post_modified,
-                               'date_modified_gmt' => $post_modified_gmt
+                               'date_modified_gmt' => $post_modified_gmt,
+                               'sticky' => ( $entry['post_type'] === 'post' && is_sticky( $entry['ID'] ) ),
                        );
 
                        $entry_index = count( $struct ) - 1;
@@ -4882,7 +5217,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_posts' ) )
                        return new IXR_Error( 401, __( 'Sorry, you must be able to edit posts on this site in order to view categories.' ) );
 
-               do_action('xmlrpc_call', 'metaWeblog.getCategories');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'metaWeblog.getCategories' );
 
                $categories_struct = array();
 
@@ -4930,15 +5266,27 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'metaWeblog.newMediaObject');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'metaWeblog.newMediaObject' );
 
                if ( !current_user_can('upload_files') ) {
                        $this->error = new IXR_Error( 401, __( 'You do not have permission to upload files.' ) );
                        return $this->error;
                }
 
-               if ( $upload_err = apply_filters( 'pre_upload_error', false ) )
-                       return new IXR_Error(500, $upload_err);
+               /**
+                * Filter whether to preempt the XML-RPC media upload.
+                *
+                * Passing a truthy value will effectively short-circuit the media upload,
+                * returning that value as a 500 error instead.
+                *
+                * @since 2.1.0
+                *
+                * @param bool $error Whether to pre-empt the media upload. Default false.
+                */
+               if ( $upload_err = apply_filters( 'pre_upload_error', false ) ) {
+                       return new IXR_Error( 500, $upload_err );
+               }
 
                if ( !empty($data['overwrite']) && ($data['overwrite'] == true) ) {
                        // Get postmeta info on the object.
@@ -4984,6 +5332,14 @@ class wp_xmlrpc_server extends IXR_Server {
                $id = wp_insert_attachment( $attachment, $upload[ 'file' ], $post_id );
                wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $upload['file'] ) );
 
+               /**
+                * Fires after a new attachment has been added via the XML-RPC MovableType API.
+                *
+                * @since 3.4.0
+                *
+                * @param int   $id   ID of the new attachment.
+                * @param array $args An array of arguments to add the attachment.
+                */
                do_action( 'xmlrpc_call_success_mw_newMediaObject', $id, $args );
 
                $struct = array(
@@ -4992,6 +5348,8 @@ class wp_xmlrpc_server extends IXR_Server {
                        'url'  => $upload[ 'url' ],
                        'type' => $type
                );
+
+               /** This filter is documented in wp-admin/includes/file.php */
                return apply_filters( 'wp_handle_upload', $struct, 'upload' );
        }
 
@@ -5022,7 +5380,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'mt.getRecentPostTitles');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'mt.getRecentPostTitles' );
 
                $posts_list = wp_get_recent_posts( $query );
 
@@ -5081,7 +5440,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_posts' ) )
                        return new IXR_Error( 401, __( 'Sorry, you must be able to edit posts on this site in order to view categories.' ) );
 
-               do_action('xmlrpc_call', 'mt.getCategoryList');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'mt.getCategoryList' );
 
                $categories_struct = array();
 
@@ -5122,7 +5482,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !current_user_can( 'edit_post', $post_ID ) )
                        return new IXR_Error( 401, __( 'Sorry, you can not edit this post.' ) );
 
-               do_action('xmlrpc_call', 'mt.getPostCategories');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'mt.getPostCategories' );
 
                $categories = array();
                $catids = wp_get_post_categories(intval($post_ID));
@@ -5160,7 +5521,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'mt.setPostCategories');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'mt.setPostCategories' );
 
                if ( ! get_post( $post_ID ) )
                        return new IXR_Error( 404, __( 'Invalid post ID.' ) );
@@ -5188,7 +5550,8 @@ class wp_xmlrpc_server extends IXR_Server {
         */
        function mt_supportedMethods($args) {
 
-               do_action('xmlrpc_call', '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 ) {
@@ -5206,8 +5569,17 @@ class wp_xmlrpc_server extends IXR_Server {
         * @param array $args Method parameters.
         */
        function mt_supportedTextFilters($args) {
-               do_action('xmlrpc_call', 'mt.supportedTextFilters');
-               return apply_filters('xmlrpc_text_filters', array());
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'mt.supportedTextFilters' );
+
+               /**
+                * Filter the MoveableType text filters list for XML-RPC.
+                *
+                * @since 2.2.0
+                *
+                * @param array $filters An array of text filters.
+                */
+               return apply_filters( 'xmlrpc_text_filters', array() );
        }
 
        /**
@@ -5224,7 +5596,8 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $post_ID = intval($args);
 
-               do_action('xmlrpc_call', 'mt.getTrackbackPings');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'mt.getTrackbackPings' );
 
                $actual_post = get_post($post_ID, ARRAY_A);
 
@@ -5271,7 +5644,8 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
 
-               do_action('xmlrpc_call', 'mt.publishPost');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'mt.publishPost' );
 
                $postdata = get_post($post_ID, ARRAY_A);
                if ( ! $postdata )
@@ -5307,7 +5681,8 @@ class wp_xmlrpc_server extends IXR_Server {
        function pingback_ping($args) {
                global $wpdb;
 
-               do_action('xmlrpc_call', 'pingback.ping');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'pingback.ping' );
 
                $this->escape($args);
 
@@ -5320,7 +5695,16 @@ class wp_xmlrpc_server extends IXR_Server {
                $pagelinkedto = str_replace('&amp;', '&', $pagelinkedto);
                $pagelinkedto = str_replace('&', '&amp;', $pagelinkedto);
 
+               /**
+                * Filter the pingback source URI.
+                *
+                * @since 3.6.0
+                *
+                * @param string $pagelinkedfrom URI of the page linked from.
+                * @param string $pagelinkedto   URI of the page linked to.
+                */
                $pagelinkedfrom = apply_filters( 'pingback_ping_source_uri', $pagelinkedfrom, $pagelinkedto );
+
                if ( ! $pagelinkedfrom )
                        return $this->pingback_error( 0, __( 'A valid URL was not provided.' ) );
 
@@ -5391,6 +5775,8 @@ class wp_xmlrpc_server extends IXR_Server {
                sleep(1);
 
                $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' ) );
 
                // Let's check the remote site
@@ -5403,12 +5789,21 @@ class wp_xmlrpc_server extends IXR_Server {
                                'X-Pingback-Forwarded-For' => $remote_ip,
                        ),
                );
-               $linea = wp_remote_retrieve_body( wp_safe_remote_get( $pagelinkedfrom, $http_api_args ) );
+               $request = wp_safe_remote_get( $pagelinkedfrom, $http_api_args );
+               $linea = wp_remote_retrieve_body( $request );
 
                if ( !$linea )
-                       return $this->pingback_error( 16, __( 'The source URL does not exist.' ) );
-
-               $linea = apply_filters('pre_remote_source', $linea, $pagelinkedto);
+                       return $this->pingback_error( 16, __( 'The source URL does not exist.' ) );
+
+               /**
+                * Filter the pingback remote source.
+                *
+                * @since 2.5.0
+                *
+                * @param string $linea        Response object for the page linked from.
+                * @param string $pagelinkedto URL of the page linked to.
+                */
+               $linea = apply_filters( 'pre_remote_source', $linea, $pagelinkedto );
 
                // Work around bug in strip_tags():
                $linea = str_replace('<!DOC', '<DOC', $linea);
@@ -5473,7 +5868,15 @@ class wp_xmlrpc_server extends IXR_Server {
                $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_url', 'comment_author_email', 'comment_content', 'comment_type');
 
                $comment_ID = wp_new_comment($commentdata);
-               do_action('pingback_post', $comment_ID);
+
+               /**
+                * Fires after a post pingback has been sent.
+                *
+                * @since 0.71
+                *
+                * @param int $comment_ID Comment ID.
+                */
+               do_action( 'pingback_post', $comment_ID );
 
                return sprintf(__('Pingback from %1$s to %2$s registered. Keep the web talking! :-)'), $pagelinkedfrom, $pagelinkedto);
        }
@@ -5492,7 +5895,8 @@ class wp_xmlrpc_server extends IXR_Server {
 
                global $wpdb;
 
-               do_action('xmlrpc_call', 'pingback.extensions.getPingbacks');
+               /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
+               do_action( 'xmlrpc_call', 'pingback.extensions.getPingbacks' );
 
                $this->escape($args);
 
@@ -5526,6 +5930,13 @@ class wp_xmlrpc_server extends IXR_Server {
        }
 
        protected function pingback_error( $code, $message ) {
+               /**
+                * Filter the XML-RPC pingback error return.
+                *
+                * @since 3.5.1
+                *
+                * @param IXR_Error $error An IXR_Error object containing the error code and message.
+                */
                return apply_filters( 'xmlrpc_pingback_error', new IXR_Error( $code, $message ) );
        }
 }
index 2fe76fc8b7e09fea40d3218017ddd195327d01a9..033aa16d6a7e853a602875b91a523cff12532c26 100644 (file)
@@ -25,7 +25,7 @@ class WP {
         * @since 2.0.0
         * @var array
         */
-       var $private_query_vars = array( 'offset', 'posts_per_page', 'posts_per_archive_page', 'showposts', 'nopaging', 'post_type', 'post_status', 'category__in', 'category__not_in', 'category__and', 'tag__in', 'tag__not_in', 'tag__and', 'tag_slug__in', 'tag_slug__and', 'tag_id', 'post_mime_type', 'perm', 'comments_per_page', 'post__in', 'post__not_in', 'post_parent__in', 'post_parent__not_in' );
+       var $private_query_vars = array( 'offset', 'posts_per_page', 'posts_per_archive_page', 'showposts', 'nopaging', 'post_type', 'post_status', 'category__in', 'category__not_in', 'category__and', 'tag__in', 'tag__not_in', 'tag__and', 'tag_slug__in', 'tag_slug__and', 'tag_id', 'post_mime_type', 'perm', 'comments_per_page', 'post__in', 'post__not_in', 'post_parent', 'post_parent__in', 'post_parent__not_in' );
 
        /**
         * Extra query variables set by the user.
@@ -568,8 +568,15 @@ class WP {
                // We will 404 for paged queries, as no posts were found.
                if ( ! is_paged() ) {
 
+                       // Don't 404 for authors without posts as long as they matched an author on this site.
+                       $author = get_query_var( 'author' );
+                       if ( is_author() && is_numeric( $author ) && $author > 0 && is_user_member_of_blog( $author ) ) {
+                               status_header( 200 );
+                               return;
+                       }
+
                        // Don't 404 for these queries if they matched an object.
-                       if ( ( is_tag() || is_category() || is_tax() || is_author() || is_post_type_archive() ) && $wp_query->get_queried_object() ) {
+                       if ( ( is_tag() || is_category() || is_tax() || is_post_type_archive() ) && get_queried_object() ) {
                                status_header( 200 );
                                return;
                        }
index 5e16632152ef70ed4e06b04ace9194e6e69c5a89..1ceb51d8836e5f130d1c1fd3b8d92ff419b76454 100644 (file)
@@ -36,6 +36,13 @@ class WP_Scripts extends WP_Dependencies {
        }
 
        function init() {
+               /**
+                * Fires when the WP_Scripts instance is initialized.
+                *
+                * @since 2.6.0
+                *
+                * @param WP_Scripts &$this WP_Scripts instance, passed by reference.
+                */
                do_action_ref_array( 'wp_default_scripts', array(&$this) );
        }
 
@@ -97,6 +104,14 @@ class WP_Scripts extends WP_Dependencies {
                $src = $this->registered[$handle]->src;
 
                if ( $this->do_concat ) {
+                       /**
+                        * Filter the script loader source.
+                        *
+                        * @since 2.2.0
+                        *
+                        * @param string $src    Script loader source path.
+                        * @param string $handle Script handle.
+                        */
                        $srce = apply_filters( 'script_loader_src', $src, $handle );
                        if ( $this->in_default_dir($srce) ) {
                                $this->print_code .= $this->print_extra_script( $handle, false );
@@ -117,6 +132,7 @@ class WP_Scripts extends WP_Dependencies {
                if ( !empty($ver) )
                        $src = add_query_arg('ver', $ver, $src);
 
+               /** This filter is documented in wp-includes/class.wp-scripts.php */
                $src = esc_url( apply_filters( 'script_loader_src', $src, $handle ) );
 
                if ( ! $src )
@@ -179,8 +195,16 @@ class WP_Scripts extends WP_Dependencies {
 
        function all_deps( $handles, $recursion = false, $group = false ) {
                $r = parent::all_deps( $handles, $recursion );
-               if ( !$recursion )
+               if ( ! $recursion ) {
+                       /**
+                        * Filter the list of script dependencies left to print.
+                        *
+                        * @since 2.3.0
+                        *
+                        * @param array $to_do An array of script dependencies.
+                        */
                        $this->to_do = apply_filters( 'print_scripts_array', $this->to_do );
+               }
                return $r;
        }
 
index 874e1a48d8b24d600939fe0f1563077383f0df56..dbdc82984dc8c94a71df68f2638b7c64acc241e0 100644 (file)
@@ -29,6 +29,13 @@ class WP_Styles extends WP_Dependencies {
        var $default_dirs;
 
        function __construct() {
+               /**
+                * Fires when the WP_Styles instance is initialized.
+                *
+                * @since 2.6.0
+                *
+                * @param WP_Styles &$this WP_Styles instance, passed by reference.
+                */
                do_action_ref_array( 'wp_default_styles', array(&$this) );
        }
 
@@ -62,9 +69,21 @@ class WP_Styles extends WP_Dependencies {
                        $media = 'all';
 
                $href = $this->_css_href( $obj->src, $ver, $handle );
+               if ( empty( $href ) ) {
+                       // Turns out there is nothing to print.
+                       return true;
+               }
                $rel = isset($obj->extra['alt']) && $obj->extra['alt'] ? 'alternate stylesheet' : 'stylesheet';
                $title = isset($obj->extra['title']) ? "title='" . esc_attr( $obj->extra['title'] ) . "'" : '';
 
+               /**
+                * Filter the HTML link tag of an enqueued style.
+                *
+                * @since 2.6.0
+                *
+                * @param string         The link tag for the enqueued style.
+                * @param string $handle The style's registered handle.
+                */
                $tag = apply_filters( 'style_loader_tag', "<link rel='$rel' id='$handle-css' $title href='$href' type='text/css' media='$media' />\n", $handle );
                if ( 'rtl' === $this->text_direction && isset($obj->extra['rtl']) && $obj->extra['rtl'] ) {
                        if ( is_bool( $obj->extra['rtl'] ) || 'replace' === $obj->extra['rtl'] ) {
@@ -74,6 +93,14 @@ class WP_Styles extends WP_Dependencies {
                                $rtl_href = $this->_css_href( $obj->extra['rtl'], $ver, "$handle-rtl" );
                        }
 
+                       /**
+                        * Filter the right-to-left (RTL) HTML link tag of an enqueued style.
+                        *
+                        * @since 2.6.0
+                        *
+                        * @param string $rtl_style The right to left link tag for the enqueued style.
+                        * @param string $handle    The style's registered 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 );
 
                        if ( $obj->extra['rtl'] === 'replace' ) {
@@ -132,8 +159,16 @@ class WP_Styles extends WP_Dependencies {
 
        function all_deps( $handles, $recursion = false, $group = false ) {
                $r = parent::all_deps( $handles, $recursion );
-               if ( !$recursion )
+               if ( !$recursion ) {
+                       /**
+                        * Filter the array of enqueued styles before processing for output.
+                        *
+                        * @since 2.6.0
+                        *
+                        * @param array $to_do The list of enqueued styles about to be processed.
+                        */
                        $this->to_do = apply_filters( 'print_styles_array', $this->to_do );
+               }
                return $r;
        }
 
@@ -144,6 +179,15 @@ class WP_Styles extends WP_Dependencies {
 
                if ( !empty($ver) )
                        $src = add_query_arg('ver', $ver, $src);
+
+               /**
+                * Filter an enqueued style's fully-qualified URL.
+                *
+                * @since 2.6.0
+                *
+                * @param string $src    The source URL of the enqueued style.
+                * @param string $handle The style's registered handle.
+                */
                $src = apply_filters( 'style_loader_src', $src, $handle );
                return esc_url( $src );
        }
index 9e59ce91111cf9ad10cd648087e70d67e2513726..978221f980abb855c2c0061f49a647bedda686e0 100644 (file)
@@ -76,7 +76,7 @@ function get_comment_author_email( $comment_ID = 0 ) {
         *
         * @since 1.5.0
         *
-        * @param string $comment->comment_author_email The comment author's email address.
+        * @param string $comment_author_email The comment author's email address.
         */
        return apply_filters( 'get_comment_author_email', $comment->comment_author_email );
 }
@@ -115,13 +115,12 @@ function comment_author_email( $comment_ID = 0 ) {
  * enable anyone, including those that people don't want to get the email
  * address and use it for their own means good and bad.
  *
- * @global object $comment The current Comment row object
-
  * @since 0.71
  *
- * @param string $linktext Optional. The text to display instead of the comment author's email address. Default empty.
- * @param string $before   Optional. The text or HTML to display before the email link.Default empty.
- * @param string $after    Optional. The text or HTML to display after the email link. Default empty.
+ * @param string $linktext Optional. Text to display instead of the comment author's email address.
+ *                         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.
  */
 function comment_author_email_link( $linktext = '', $before = '', $after = '' ) {
        if ( $link = get_comment_author_email_link( $linktext, $before, $after ) )
@@ -139,11 +138,12 @@ function comment_author_email_link( $linktext = '', $before = '', $after = '' )
  *
  * @global object $comment The current Comment row object.
  *
- * @since 2.7
+ * @since 2.7.0
  *
- * @param string $linktext Optional. The text to display instead of the comment author's email address. Default empty.
- * @param string $before   Optional. The text or HTML to display before the email link. Default empty.
- * @param string $after    Optional. The text or HTML to display after the email link. Default empty.
+ * @param string $linktext Optional. Text to display instead of the comment author's email address.
+ *                         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.
  */
 function get_comment_author_email_link( $linktext = '', $before = '', $after = '' ) {
        global $comment;
@@ -151,11 +151,11 @@ function get_comment_author_email_link( $linktext = '', $before = '', $after = '
         * Filter the comment author's email for display.
         *
         * Care should be taken to protect the email address and assure that email
-        * harvesters do not capture your commentors' email address.
+        * harvesters do not capture your commenters' email address.
         *
         * @since 1.2.0
         *
-        * @param string $comment->comment_author_email The comment author's email address.
+        * @param string $comment_author_email The comment author's email address.
         */
        $email = apply_filters( 'comment_email', $comment->comment_author_email );
        if ((!empty($email)) && ($email != '@')) {
@@ -177,7 +177,8 @@ function get_comment_author_email_link( $linktext = '', $before = '', $after = '
  *
  * @since 1.5.0
  *
- * @param int $comment_ID Optional. The ID of the comment for which to get the author's link. Default current comment.
+ * @param int $comment_ID ID of the comment for which to get the author's link.
+ *                        Default current comment.
  * @return string The comment author name or HTML link for author's URL.
  */
 function get_comment_author_link( $comment_ID = 0 ) {
@@ -194,7 +195,8 @@ function get_comment_author_link( $comment_ID = 0 ) {
         *
         * @since 1.5.0
         *
-        * @param string $return The HTML-formatted comment author link. Empty for an invalid URL.
+        * @param string $return The HTML-formatted comment author link.
+        *                       Empty for an invalid URL.
         */
        return apply_filters( 'get_comment_author_link', $return );
 }
@@ -203,9 +205,11 @@ function get_comment_author_link( $comment_ID = 0 ) {
  * Display the html link to the url of the author of the current comment.
  *
  * @since 0.71
+ *
  * @see get_comment_author_link() Echoes result
  *
- * @param int $comment_ID Optional. The ID of the comment for which to print the author's link. Default current comment.
+ * @param int $comment_ID ID of the comment for which to print the author's
+ *                        link. Default current comment.
  */
 function comment_author_link( $comment_ID = 0 ) {
        echo get_comment_author_link( $comment_ID );
@@ -216,8 +220,9 @@ function comment_author_link( $comment_ID = 0 ) {
  *
  * @since 1.5.0
  *
- * @param int $comment_ID Optional. The ID of the comment for which to get the author's IP address. Default current comment.
- * @return string The comment author's IP address.
+ * @param int $comment_ID ID of the comment for which to get the author's IP
+ *                        address. Default current comment.
+ * @return string Comment author's IP address.
  */
 function get_comment_author_IP( $comment_ID = 0 ) {
        $comment = get_comment( $comment_ID );
@@ -227,7 +232,7 @@ function get_comment_author_IP( $comment_ID = 0 ) {
         *
         * @since 1.5.0
         *
-        * @param string $comment->comment_author_IP The comment author's IP address.
+        * @param string $comment_author_IP The comment author's IP address.
         */
        return apply_filters( 'get_comment_author_IP', $comment->comment_author_IP );
 }
@@ -237,7 +242,8 @@ function get_comment_author_IP( $comment_ID = 0 ) {
  *
  * @since 0.71
  *
- * @param int $comment_ID Optional. The ID of the comment for which to print the author's IP address. Default current comment.
+ * @param int $comment_ID ID of the comment for which to print the author's IP
+ *                        address. Default current comment.
  */
 function comment_author_IP( $comment_ID = 0 ) {
        echo get_comment_author_IP( $comment_ID );
@@ -248,7 +254,8 @@ function comment_author_IP( $comment_ID = 0 ) {
  *
  * @since 1.5.0
  *
- * @param int $comment_ID Optional. The ID of the comment for which to get the author's URL. Default current comment.
+ * @param int $comment_ID ID of the comment for which to get the author's URL.
+ *                        Default current comment.
  * @return string
  */
 function get_comment_author_url( $comment_ID = 0 ) {
@@ -270,7 +277,8 @@ function get_comment_author_url( $comment_ID = 0 ) {
  *
  * @since 0.71
  *
- * @param int $comment_ID Optional. The ID of the comment for which to print the author's URL. Default current comment.
+ * @param int $comment_ID ID of the comment for which to print the author's URL.
+ *                        Default current comment.
  */
 function comment_author_url( $comment_ID = 0 ) {
        $author_url = get_comment_author_url( $comment_ID );
@@ -296,9 +304,12 @@ function comment_author_url( $comment_ID = 0 ) {
  *
  * @since 1.5.0
  *
- * @param string $linktext Optional. The text to display instead of the comment author's email address. Default empty.
- * @param string $before   Optional. The text or HTML to display before the email link. Default empty.
- * @param string $after    Optional. The text or HTML to display after the email link. Default empty.
+ * @param string $linktext Optional. The text to display instead of the comment
+ *                         author's email address. Default empty.
+ * @param string $before   Optional. The text or HTML to display before the email link.
+ *                         Default empty.
+ * @param string $after    Optional. The text or HTML to display after the email link.
+ *                         Default empty.
  * @return string The HTML link between the $before and $after parameters.
  */
 function get_comment_author_url_link( $linktext = '', $before = '', $after = '' ) {
@@ -325,23 +336,28 @@ function get_comment_author_url_link( $linktext = '', $before = '', $after = ''
  *
  * @since 0.71
  *
- * @param string $linktext Optional. The text to display instead of the comment author's email address. Default empty.
- * @param string $before   Optional. The text or HTML to display before the email link. Default empty.
- * @param string $after    Optional. The text or HTML to display after the email link. Default empty.
+ * @param string $linktext Optional. Text to display instead of the comment author's
+ *                         email address. 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.
  */
 function comment_author_url_link( $linktext = '', $before = '', $after = '' ) {
        echo get_comment_author_url_link( $linktext, $before, $after );
 }
 
 /**
- * Generates semantic classes for each comment element
+ * Generates semantic classes for each comment element.
  *
  * @since 2.7.0
  *
- * @param string|array $class      Optional. One or more classes to add to the class list. Default empty.
- * @param int          $comment_id Optional. Comment ID. Default current comment.
- * @param int|WP_Post  $post_id    Optional. Post ID or WP_Post object. Default current post.
- * @param bool         $echo       Optional. Whether comment_class should echo or return. Default true.
+ * @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.
+ * @param bool         $echo       Optional. Whether to cho or return the output.
+ *                                 Default true.
  */
 function comment_class( $class = '', $comment_id = null, $post_id = null, $echo = true ) {
        // Separates classes with a single space, collates classes for comment DIV
@@ -353,13 +369,13 @@ function comment_class( $class = '', $comment_id = null, $post_id = null, $echo
 }
 
 /**
- * Returns the classes for the comment div as an array
+ * Returns the classes for the comment div as an array.
  *
  * @since 2.7.0
  *
  * @param string|array $class      Optional. One or more classes to add to the class list. Default empty.
- * @param int          $comment_id Optional. Comment ID. Default current comment.
- * @param int|WP_Post  $post_id    Optional. Post ID or WP_Post object. Default current post.
+ * @param int          $comment_id Comment ID. Default current comment.
+ * @param int|WP_Post  $post_id    Post ID or WP_Post object. Default current post.
  * @return array An array of classes.
  */
 function get_comment_class( $class = '', $comment_id = null, $post_id = null ) {
@@ -440,7 +456,7 @@ function get_comment_class( $class = '', $comment_id = null, $post_id = null ) {
  * @since 1.5.0
  *
  * @param string $d          Optional. The format of the date. Default user's setting.
- * @param int    $comment_ID Optional. The ID of the comment for which to get the date. Default current comment.
+ * @param int    $comment_ID ID of the comment for which to get the date. Default current comment.
  * @return string The comment's date.
  */
 function get_comment_date( $d = '', $comment_ID = 0 ) {
@@ -454,10 +470,11 @@ function get_comment_date( $d = '', $comment_ID = 0 ) {
         *
         * @since 1.5.0
         *
-        * @param string|int $date Formatted date string or Unix timestamp.
-        * @param string     $d    The format of the date.
+        * @param string|int $date    Formatted date string or Unix timestamp.
+        * @param string     $d       The format of the date.
+        * @param object     $comment The comment object.
         */
-       return apply_filters( 'get_comment_date', $date, $d );
+       return apply_filters( 'get_comment_date', $date, $d, $comment );
 }
 
 /**
@@ -466,7 +483,7 @@ function get_comment_date( $d = '', $comment_ID = 0 ) {
  * @since 0.71
  *
  * @param string $d          Optional. The format of the date. Default user's settings.
- * @param int    $comment_ID Optional. The ID of the comment for which to print the date. Default current comment.
+ * @param int    $comment_ID ID of the comment for which to print the date. Default current comment.
  */
 function comment_date( $d = '', $comment_ID = 0 ) {
        echo get_comment_date( $d, $comment_ID );
@@ -481,7 +498,8 @@ function comment_date( $d = '', $comment_ID = 0 ) {
  *
  * @since 1.5.0
  *
- * @param int $comment_ID Optional. The ID of the comment for which to get the excerpt. Default current comment.
+ * @param int $comment_ID ID of the comment for which to get the excerpt.
+ *                        Default current comment.
  * @return string The maybe truncated comment with 20 words or less.
  */
 function get_comment_excerpt( $comment_ID = 0 ) {
@@ -500,7 +518,15 @@ function get_comment_excerpt( $comment_ID = 0 ) {
                $excerpt .= $blah[$i] . ' ';
        }
        $excerpt .= ($use_dotdotdot) ? '&hellip;' : '';
-       return apply_filters('get_comment_excerpt', $excerpt);
+
+       /**
+        * Filter the retrieved comment excerpt.
+        *
+        * @since 1.5.0
+        *
+        * @param string $excerpt The comment excerpt text.
+        */
+       return apply_filters( 'get_comment_excerpt', $excerpt );
 }
 
 /**
@@ -508,7 +534,8 @@ function get_comment_excerpt( $comment_ID = 0 ) {
  *
  * @since 1.2.0
  *
- * @param int $comment_ID Optional. The ID of the comment for which to print the excerpt. Default current comment.
+ * @param int $comment_ID ID of the comment for which to print the excerpt.
+ *                        Default current comment.
  */
 function comment_excerpt( $comment_ID = 0 ) {
        $comment_excerpt = get_comment_excerpt($comment_ID);
@@ -536,7 +563,7 @@ function get_comment_ID() {
         *
         * @since 1.5.0
         *
-        * @param int $comment->comment_ID The current comment ID.
+        * @param int $comment_ID The current comment ID.
         */
        return apply_filters( 'get_comment_ID', $comment->comment_ID );
 }
@@ -555,8 +582,10 @@ function comment_ID() {
  *
  * @since 1.5.0
  *
- * @param mixed $comment Optional. Comment to retrieve. Default current comment.
- * @param array $args    Optional. An array of arguments to override the defaults. @see get_page_of_comment()
+ * @see get_page_of_comment()
+ *
+ * @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.
  */
 function get_comment_link( $comment = null, $args = array() ) {
@@ -565,10 +594,8 @@ function get_comment_link( $comment = null, $args = array() ) {
        $comment = get_comment($comment);
 
        // Backwards compat
-       if ( !is_array($args) ) {
-               $page = $args;
-               $args = array();
-               $args['page'] = $page;
+       if ( ! is_array( $args ) ) {
+               $args = array( 'page' => $args );
        }
 
        $defaults = array( 'type' => 'all', 'page' => '', 'per_page' => '', 'max_depth' => '' );
@@ -600,9 +627,11 @@ function get_comment_link( $comment = null, $args = array() ) {
         *
         * @since 2.8.0
         *
+        * @see get_page_of_comment()
+        *
         * @param string $link    The comment permalink with '#comment-$id' appended.
         * @param object $comment The current comment object.
-        * @param array  $args    An array of arguments to override the defaults. @see get_page_of_comment()
+        * @param array  $args    An array of arguments to override the defaults.
         */
        return apply_filters( 'get_comment_link', $link, $comment, $args );
 }
@@ -612,7 +641,7 @@ function get_comment_link( $comment = null, $args = array() ) {
  *
  * @since 1.5.0
  *
- * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default current post.
+ * @param int|WP_Post $post_id Post ID or WP_Post object. Default current post.
  * @return string The link to the comments.
  */
 function get_comments_link( $post_id = 0 ) {
@@ -620,10 +649,10 @@ function get_comments_link( $post_id = 0 ) {
        /**
         * Filter the returned post comments permalink.
         *
-        * @since
+        * @since 3.6.0
         *
-        * @param string      $comments_link The post comments permalink with '#comments' appended.
-        * @param int|WP_Post $post_id       The post ID or WP_Post object.
+        * @param string      $comments_link Post comments permalink with '#comments' appended.
+        * @param int|WP_Post $post_id       Post ID or WP_Post object.
         */
        return apply_filters( 'get_comments_link', $comments_link, $post_id );
 }
@@ -649,7 +678,7 @@ function comments_link( $deprecated = '', $deprecated_2 = '' ) {
  *
  * @since 1.5.0
  *
- * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default current post.
+ * @param int|WP_Post $post_id Post ID or WP_Post object. Default current post.
  * @return int The number of comments a post has.
  */
 function get_comments_number( $post_id = 0 ) {
@@ -669,8 +698,8 @@ function get_comments_number( $post_id = 0 ) {
         *
         * @since 1.5.0
         *
-        * @param int         $count   The number of comments a post has.
-        * @param int|WP_Post $post_id The post ID or WP_Post object.
+        * @param int         $count   Nnumber of comments a post has.
+        * @param int|WP_Post $post_id Post ID or WP_Post object.
         */
        return apply_filters( 'get_comments_number', $count, $post_id );
 }
@@ -703,7 +732,10 @@ function comments_number( $zero = false, $one = false, $more = false, $deprecate
         *
         * @since 1.5.0
         *
-        * @param string $output A translatable string formatted based on whether the count is equal to 0, 1, or 1+. @see _n()
+        * @see _n()
+        *
+        * @param string $output A translatable string formatted based on whether the count
+        *                       is equal to 0, 1, or 1+.
         * @param int    $number The number of post comments.
         */
        echo apply_filters( 'comments_number', $output, $number );
@@ -714,8 +746,10 @@ function comments_number( $zero = false, $one = false, $more = false, $deprecate
  *
  * @since 1.5.0
  *
- * @param int   $comment_ID Optional. The ID of the comment for which to get the text. Default current comment.
- * @param array $args       Optional. An array of arguments. @see Walker_Comment::comment()
+ * @see Walker_Comment::comment()
+ *
+ * @param int   $comment_ID ID of the comment for which to get the text. Default current comment.
+ * @param array $args       Optional. An array of arguments. Default empty.
  * @return string The comment content.
  */
 function get_comment_text( $comment_ID = 0, $args = array() ) {
@@ -726,9 +760,11 @@ function get_comment_text( $comment_ID = 0, $args = array() ) {
         *
         * @since 1.5.0
         *
-        * @param string $comment->comment_content The text of the comment.
-        * @param object $comment                  The comment object.
-        * @param array  $args                     An array of arguments. @see Walker_Comment::comment()
+        * @see Walker_Comment::comment()
+        *
+        * @param string $comment_content Text of the comment.
+        * @param object $comment         The comment object.
+        * @param array  $args            An array of arguments.
         */
        return apply_filters( 'get_comment_text', $comment->comment_content, $comment, $args );
 }
@@ -738,10 +774,10 @@ function get_comment_text( $comment_ID = 0, $args = array() ) {
  *
  * @since 0.71
  *
- * @param int   $comment_ID Optional. The ID of the comment for which to print the text.
- *                          Default 0.
- * @param array $args       Optional. An array of arguments. @see Walker_Comment::comment()
- *                          Default empty array.
+ * @see Walker_Comment::comment()
+ *
+ * @param int   $comment_ID ID of the comment for which to print the text. Default 0.
+ * @param array $args       Optional. An array of arguments. Default empty array. Default empty.
  */
 function comment_text( $comment_ID = 0, $args = array() ) {
        $comment = get_comment( $comment_ID );
@@ -752,9 +788,11 @@ function comment_text( $comment_ID = 0, $args = array() ) {
         *
         * @since 1.2.0
         *
-        * @param string $comment_text The text of the current comment.
+        * @see Walker_Comment::comment()
+        *
+        * @param string $comment_text Text of the current comment.
         * @param object $comment      The comment object.
-        * @param array  $args         An array of arguments. @see Walker_Comment::comment()
+        * @param array  $args         An array of arguments.
         */
        echo apply_filters( 'comment_text', $comment_text, $comment, $args );
 }
@@ -766,8 +804,9 @@ function comment_text( $comment_ID = 0, $args = array() ) {
  *
  * @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). Default true.
- * @return string The formatted time
+ * @param bool   $translate Optional. Whether to translate the time (for use in feeds).
+ *                          Default true.
+ * @return string The formatted time.
  */
 function get_comment_time( $d = '', $gmt = false, $translate = true ) {
        global $comment;
@@ -783,11 +822,12 @@ function get_comment_time( $d = '', $gmt = false, $translate = true ) {
         * @since 1.5.0
         *
         * @param string|int $date      The comment time, formatted as a date string or Unix timestamp.
-        * @param string     $d         The date format.
+        * @param string     $d         Date format.
         * @param bool       $gmt       Whether the GMT date is in use.
         * @param bool       $translate Whether the time is translated.
+        * @param object     $comment   The comment object.
         */
-       return apply_filters( 'get_comment_time', $date, $d, $gmt, $translate );
+       return apply_filters( 'get_comment_time', $date, $d, $gmt, $translate, $comment );
 }
 
 /**
@@ -806,8 +846,8 @@ function comment_time( $d = '' ) {
  *
  * @since 1.5.0
  *
- * @param int $comment_ID Optional. The ID of the comment for which to get the type. Default current comment.
- * @return string The comment type
+ * @param int $comment_ID ID of the comment for which to get the type. Default current comment.
+ * @return string The comment type.
  */
 function get_comment_type( $comment_ID = 0 ) {
        $comment = get_comment( $comment_ID );
@@ -819,7 +859,7 @@ function get_comment_type( $comment_ID = 0 ) {
         *
         * @since 1.5.0
         *
-        * @param string $comment->comment_type The type of comment, such as 'comment', 'pingback', or 'trackback'.
+        * @param string $comment_type The type of comment, such as 'comment', 'pingback', or 'trackback'.
         */
        return apply_filters( 'get_comment_type', $comment->comment_type );
 }
@@ -829,9 +869,9 @@ function get_comment_type( $comment_ID = 0 ) {
  *
  * @since 0.71
  *
- * @param string $commenttxt   Optional. The string to display for comment type. Default false.
- * @param string $trackbacktxt Optional. The string to display for trackback type. Default false.
- * @param string $pingbacktxt  Optional. The string to display for pingback type. Default false.
+ * @param string $commenttxt   Optional. String to display for comment type. Default false.
+ * @param string $trackbacktxt Optional. String to display for trackback type. Default false.
+ * @param string $pingbacktxt  Optional. String to display for pingback type. Default false.
  */
 function comment_type( $commenttxt = false, $trackbacktxt = false, $pingbacktxt = false ) {
        if ( false === $commenttxt ) $commenttxt = _x( 'Comment', 'noun' );
@@ -883,7 +923,8 @@ function get_trackback_url() {
  * @since 0.71
  *
  * @param bool $deprecated_echo Not used.
- * @return void|string Should only be used to echo the trackback URL, use get_trackback_url() for the result instead.
+ * @return void|string Should only be used to echo the trackback URL, use get_trackback_url()
+ *                     for the result instead.
  */
 function trackback_url( $deprecated_echo = true ) {
        if ( $deprecated_echo !== true )
@@ -904,11 +945,13 @@ function trackback_url( $deprecated_echo = true ) {
  * @param int $deprecated Not used (Was $timezone = 0).
  */
 function trackback_rdf( $deprecated = '' ) {
-       if ( !empty( $deprecated ) )
+       if ( ! empty( $deprecated ) ) {
                _deprecated_argument( __FUNCTION__, '2.5' );
+       }
 
-       if ( false !== stripos($_SERVER['HTTP_USER_AGENT'], 'W3C_Validator') )
+       if ( isset( $_SERVER['HTTP_USER_AGENT'] ) && false !== stripos( $_SERVER['HTTP_USER_AGENT'], 'W3C_Validator' ) ) {
                return;
+       }
 
        echo '<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
                        xmlns:dc="http://purl.org/dc/elements/1.1/"
@@ -929,7 +972,7 @@ function trackback_rdf( $deprecated = '' ) {
  *
  * @since 1.5.0
  *
- * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default current post.
+ * @param int|WP_Post $post_id Post ID or WP_Post object. Default current post.
  * @return bool True if the comments are open.
  */
 function comments_open( $post_id = null ) {
@@ -941,7 +984,7 @@ function comments_open( $post_id = null ) {
        /**
         * Filter whether the current post is open for comments.
         *
-        * @since
+        * @since 2.5.0
         *
         * @param bool        $open    Whether the current post is open for comments.
         * @param int|WP_Post $post_id The post ID or WP_Post object.
@@ -954,7 +997,7 @@ function comments_open( $post_id = null ) {
  *
  * @since 1.5.0
  *
- * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default current post.
+ * @param int|WP_Post $post_id Post ID or WP_Post object. Default current post.
  * @return bool True if pings are accepted
  */
 function pings_open( $post_id = null ) {
@@ -962,6 +1005,15 @@ function pings_open( $post_id = null ) {
        $_post = get_post($post_id);
 
        $open = ( 'open' == $_post->ping_status );
+
+       /**
+        * Filter whether the current post is open for pings.
+        *
+        * @since 2.5.0
+        *
+        * @param bool        $open    Whether the current post is open for pings.
+        * @param int|WP_Post $post_id The post ID or WP_Post object.
+        */
        return apply_filters( 'pings_open', $open, $post_id );
 }
 
@@ -1011,7 +1063,8 @@ function wp_comment_form_unfiltered_html_nonce() {
  * @since 1.5.0
  *
  * @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.
+ * @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 ) {
@@ -1025,24 +1078,25 @@ function comments_template( $file = '/comments.php', $separate_comments = false
 
        $req = get_option('require_name_email');
 
-       /**
+       /*
         * Comment author information fetched from the comment cookies.
-        *
-        * @uses wp_get_current_commenter()
+        * Uuses wp_get_current_commenter().
         */
        $commenter = wp_get_current_commenter();
 
-       /**
+       /*
         * The name of the current comment author escaped for use in attributes.
+        * Escaped by sanitize_comment_cookies().
         */
-       $comment_author = $commenter['comment_author']; // Escaped by sanitize_comment_cookies()
+       $comment_author = $commenter['comment_author'];
 
-       /**
+       /*
         * The email address of the current comment author escaped for use in attributes.
+        * Escaped by sanitize_comment_cookies().
         */
-       $comment_author_email = $commenter['comment_author_email'];  // Escaped by sanitize_comment_cookies()
+       $comment_author_email = $commenter['comment_author_email'];
 
-       /**
+       /*
         * The url of the current comment author escaped for use in attributes.
         */
        $comment_author_url = esc_url($commenter['comment_author_url']);
@@ -1056,14 +1110,13 @@ function comments_template( $file = '/comments.php', $separate_comments = false
                $comments = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND ( comment_approved = '1' OR ( comment_author = %s AND comment_author_email = %s AND comment_approved = '0' ) ) ORDER BY comment_date_gmt", $post->ID, wp_specialchars_decode($comment_author,ENT_QUOTES), $comment_author_email));
        }
 
-       // keep $comments for legacy's sake
        /**
         * Filter the comments array.
         *
         * @since 2.1.0
         *
-        * @param array $comments The array of comments supplied to the comments template.
-        * @param int   $post->ID The post ID.
+        * @param array $comments Array of comments supplied to the comments template.
+        * @param int   $post_ID  Post ID.
         */
        $wp_query->comments = apply_filters( 'comments_array', $comments, $post->ID );
        $comments = &$wp_query->comments;
@@ -1136,19 +1189,22 @@ function comments_popup_script( $width = 400, $height = 400, $file = '' ) {
 /**
  * Displays the link to the comments popup window for the current post ID.
  *
- * Is not meant to be displayed on single posts and pages. Should be used on the
- * lists of posts
+ * Is not meant to be displayed on single posts and pages. Should be used
+ * on the lists of posts
  *
  * @global string $wpcommentspopupfile  The URL to use for the popup window.
  * @global int    $wpcommentsjavascript Whether to use JavaScript. Set when function is called.
  *
  * @since 0.71
  *
- * @param string $zero      Optional. The string to display when no comments. Default false.
- * @param string $one       Optional. The string to display when only one comment is available. Default false.
- * @param string $more      Optional. The string to display when there are more than one comment. Default false.
- * @param string $css_class Optional. The CSS class to use for comments. Default empty.
- * @param string $none      Optional. The string to display when comments have been turned off. Default false.
+ * @param string $zero      Optional. String to display when no comments. Default false.
+ * @param string $one       Optional. String to display when only one comment is available.
+ *                          Default false.
+ * @param string $more      Optional. String to display when there are more than one comment.
+ *                          Default false.
+ * @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 ) {
@@ -1217,21 +1273,22 @@ function comments_popup_link( $zero = false, $one = false, $more = false, $css_c
  * @param array $args {
  *     Optional. Override default arguments.
  *
- *     @type string 'add_below'  The first part of the selector used to identify the comment to respond below. The resulting
- *                               value is passed as the first parameter to addComment.moveForm(), concatenated
- *                               as $add_below-$comment->comment_ID. Default 'comment'.
- *     @type string 'respond_id' The selector identifying the responding comment. Passed as the third parameter to addComment.moveForm(),
- *                               and appended to the link URL as a hash value. Default 'respond'.
- *     @type string 'reply_text' The text of the Reply link. Default 'Reply'.
- *     @type string 'login_text' The text of the link to reply if logged out. Default 'Log in to Reply'.
- *     @type int    'depth'      The depth of the new comment. Must be greater than 0 and less than the value of the 'thread_comments_depth'
- *                               option set in Settings > Discussion.
- *                               Default 0.
- *     @type string 'before'     The text or HTML to add before the reply link. Default empty.
- *     @type string 'after'      The text or HTML to add after the reply link. Default empty.
+ *     @type string $add_below  The first part of the selector used to identify the comment to respond below.
+ *                              The resulting value is passed as the first parameter to addComment.moveForm(),
+ *                              concatenated as $add_below-$comment->comment_ID. Default 'comment'.
+ *     @type string $respond_id The selector identifying the responding comment. Passed as the third parameter
+ *                              to addComment.moveForm(), and appended to the link URL as a hash value.
+ *                              Default 'respond'.
+ *     @type string $reply_text The text of the Reply link. Default 'Reply'.
+ *     @type string $login_text The text of the link to reply if logged out. Default 'Log in to Reply'.
+ *     @type int    $depth'     The depth of the new comment. Must be greater than 0 and less than the value
+ *                              of the 'thread_comments_depth' option set in Settings > Discussion. Default 0.
+ *     @type string $before     The text or HTML to add before the reply link. Default empty.
+ *     @type string $after      The text or HTML to add after the reply link. Default empty.
  * }
- * @param int         $comment Optional. Comment being replied to. Default current comment.
- * @param int|WP_Post $post    Optional. Post ID or WP_Post object the comment is going to be displayed on. Default current post.
+ * @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 mixed Link to show comment form, if successful. False, if comments are closed.
  */
 function get_comment_reply_link($args = array(), $comment = null, $post = null) {
@@ -1273,9 +1330,7 @@ function get_comment_reply_link($args = array(), $comment = null, $post = null)
         *
         * @since 2.7.0
         *
-        * @param string  $before  Text or HTML displayed before the reply link.
         * @param string  $link    The HTML markup for the comment reply link.
-        * @param string  $after   Text or HTML displayed after the reply link.
         * @param array   $args    An array of arguments overriding the defaults.
         * @param object  $comment The object of the comment being replied.
         * @param WP_Post $post    The WP_Post object.
@@ -1288,9 +1343,12 @@ function get_comment_reply_link($args = array(), $comment = null, $post = null)
  *
  * @since 2.7.0
  *
- * @param array       $args    Optional. Override default options, @see get_comment_reply_link()
- * @param int         $comment Optional. Comment being replied to. Default current comment.
- * @param int|WP_Post $post    Optional. Post ID or WP_Post object the comment is going to be displayed on. Default current post.
+ * @see get_comment_reply_link()
+ *
+ * @param array       $args    Optional. Override default options.
+ * @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 mixed Link to show comment form, if successful. False, if comments are closed.
  */
 function comment_reply_link($args = array(), $comment = null, $post = null) {
@@ -1305,17 +1363,19 @@ function comment_reply_link($args = array(), $comment = null, $post = null) {
  * @param array $args {
  *     Optional. Override default arguments.
  *
- *     @type string 'add_below'  The first part of the selector used to identify the comment to respond below.
- *                               The resulting value is passed as the first parameter to addComment.moveForm(),
- *                               concatenated as $add_below-$comment->comment_ID. Default is 'post'.
- *     @type string 'respond_id' The selector identifying the responding comment. Passed as the third parameter
- *                               to addComment.moveForm(), and appended to the link URL as a hash value. Default is 'respond'.
- *     @type string 'reply_text' The text of the Reply link. Default is 'Leave a Comment'.
- *     @type string 'login_text' The text of the link to reply if logged out. Default is 'Log in to leave a Comment'.
- *     @type string 'before'     The text or HTML to add before the reply link. Default empty.
- *     @type string 'after'      The text or HTML to add after the reply link. Default empty.
+ *     @type string $add_below  The first part of the selector used to identify the comment to respond below.
+ *                              The resulting value is passed as the first parameter to addComment.moveForm(),
+ *                              concatenated as $add_below-$comment->comment_ID. Default is 'post'.
+ *     @type string $respond_id The selector identifying the responding comment. Passed as the third parameter
+ *                              to addComment.moveForm(), and appended to the link URL as a hash value.
+ *                              Default 'respond'.
+ *     @type string $reply_text Text of the Reply link. Default is 'Leave a Comment'.
+ *     @type string $login_text Text of the link to reply if logged out. Default is 'Log in to leave a Comment'.
+ *     @type string $before     Text or HTML to add before the reply link. Default empty.
+ *     @type string $after      Text or HTML to add after the reply link. Default empty.
  * }
- * @param int|WP_Post $post    Optional. Post ID or WP_Post object the comment is going to be displayed on. Default current post.
+ * @param int|WP_Post $post    Optional. Post ID or WP_Post object the comment is going to be displayed on.
+ *                             Default current post.
  * @return string|bool|null Link to show comment form, if successful. False, if comments are closed.
  */
 function get_post_reply_link($args = array(), $post = null) {
@@ -1357,8 +1417,11 @@ function get_post_reply_link($args = array(), $post = null) {
  *
  * @since 2.7.0
  *
- * @param array       $args Optional. Override default options, @see get_post_reply_link()
- * @param int|WP_Post $post Optional. Post ID or WP_Post object the comment is going to be displayed on. Default current post.
+ * @see get_post_reply_link()
+ *
+ * @param array       $args Optional. Override default options,
+ * @param int|WP_Post $post Post ID or WP_Post object the comment is going to be displayed on.
+ *                          Default current post.
  * @return string|bool|null Link to show comment form, if successful. False, if comments are closed.
  */
 function post_reply_link($args = array(), $post = null) {
@@ -1386,8 +1449,8 @@ function get_cancel_comment_reply_link( $text = '' ) {
         * @since 2.7.0
         *
         * @param string $formatted_link The HTML-formatted cancel comment reply link.
-        * @param string $link           The cancel comment reply link URL.
-        * @param string $text           The cancel comment reply link text.
+        * @param string $link           Cancel comment reply link URL.
+        * @param string $text           Cancel comment reply link text.
         */
        return apply_filters( 'cancel_comment_reply_link', $formatted_link, $link, $text );
 }
@@ -1449,10 +1512,13 @@ function comment_id_fields( $id = 0 ) {
  *
  * @since 2.7.0
  *
- * @param string $noreplytext  Optional. Text to display when not replying to a comment. Default false.
+ * @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.
- *                             Default false. Accepts "%s" for the author of the comment being replied to.
- * @param string $linktoparent Optional. Boolean to control making the author's name a link to their comment. Default true.
+ *                             Default false. Accepts "%s" for the author of the comment
+ *                             being replied to.
+ * @param string $linktoparent Optional. Boolean to control making the author's name a link
+ *                             to their comment. Default true.
  */
 function comment_form_title( $noreplytext = false, $replytext = false, $linktoparent = true ) {
        global $comment;
@@ -1474,7 +1540,6 @@ function comment_form_title( $noreplytext = false, $replytext = false, $linktopa
 /**
  * HTML comment list class.
  *
- * @package WordPress
  * @uses Walker
  * @since 2.7.0
  */
@@ -1573,6 +1638,7 @@ class Walker_Comment extends Walker {
         *  2.2
         *
         * @see Walker::display_element()
+        * @see wp_list_comments()
         *
         * @since 2.7.0
         *
@@ -1580,7 +1646,7 @@ class Walker_Comment extends Walker {
         * @param array  $children_elements List of elements to continue traversing.
         * @param int    $max_depth         Max depth to traverse.
         * @param int    $depth             Depth of current element.
-        * @param array  $args              An array of arguments. @see wp_list_comments()
+        * @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.
         */
@@ -1608,14 +1674,15 @@ class Walker_Comment extends Walker {
        /**
         * Start the element output.
         *
-        * @see Walker::start_el()
-        *
         * @since 2.7.0
         *
+        * @see Walker::start_el()
+        * @see wp_list_comments()
+        *
         * @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.
-        * @param array  $args    An array of arguments. @see wp_list_comments()
+        * @param array  $args    An array of arguments.
         */
        function start_el( &$output, $comment, $depth = 0, $args = array(), $id = 0 ) {
                $depth++;
@@ -1647,14 +1714,15 @@ class Walker_Comment extends Walker {
        /**
         * Ends the element output, if needed.
         *
-        * @see Walker::end_el()
-        *
         * @since 2.7.0
         *
+        * @see Walker::end_el()
+        * @see wp_list_comments()
+        *
         * @param string $output  Passed by reference. Used to append additional content.
         * @param object $comment The comment object. Default current comment.
         * @param int    $depth   Depth of comment.
-        * @param array  $args    An array of arguments. @see wp_list_comments()
+        * @param array  $args    An array of arguments.
         */
        function end_el( &$output, $comment, $depth = 0, $args = array() ) {
                if ( !empty( $args['end-callback'] ) ) {
@@ -1675,9 +1743,11 @@ class Walker_Comment extends Walker {
         * @access protected
         * @since 3.6.0
         *
+        * @see wp_list_comments()
+        *
         * @param object $comment The comment object.
         * @param int    $depth   Depth of comment.
-        * @param array  $args    An array of arguments. @see wp_list_comments()
+        * @param array  $args    An array of arguments.
         */
        protected function ping( $comment, $depth, $args ) {
                $tag = ( 'div' == $args['style'] ) ? 'div' : 'li';
@@ -1695,9 +1765,11 @@ class Walker_Comment extends Walker {
         * @access protected
         * @since 3.6.0
         *
+        * @see wp_list_comments()
+        *
         * @param object $comment Comment to display.
         * @param int    $depth   Depth of comment.
-        * @param array  $args    An array of arguments. @see wp_list_comments()
+        * @param array  $args    An array of arguments.
         */
        protected function comment( $comment, $depth, $args ) {
                if ( 'div' == $args['style'] ) {
@@ -1721,7 +1793,7 @@ class Walker_Comment extends Walker {
                <br />
                <?php endif; ?>
 
-               <div class="comment-meta commentmetadata"><a href="<?php echo esc_url( get_comment_link( $comment->comment_ID ) ); ?>">
+               <div class="comment-meta commentmetadata"><a href="<?php echo esc_url( get_comment_link( $comment->comment_ID, $args ) ); ?>">
                        <?php
                                /* translators: 1: date, 2: time */
                                printf( __( '%1$s at %2$s' ), get_comment_date(),  get_comment_time() ); ?></a><?php edit_comment_link( __( '(Edit)' ), '&nbsp;&nbsp;', '' );
@@ -1745,9 +1817,11 @@ class Walker_Comment extends Walker {
         * @access protected
         * @since 3.6.0
         *
+        * @see wp_list_comments()
+        *
         * @param object $comment Comment to display.
         * @param int    $depth   Depth of comment.
-        * @param array  $args    An array of arguments. @see wp_list_comments()
+        * @param array  $args    An array of arguments.
         */
        protected function html5_comment( $comment, $depth, $args ) {
                $tag = ( 'div' === $args['style'] ) ? 'div' : 'li';
@@ -1761,7 +1835,7 @@ class Walker_Comment extends Walker {
                                        </div><!-- .comment-author -->
 
                                        <div class="comment-metadata">
-                                               <a href="<?php echo esc_url( get_comment_link( $comment->comment_ID ) ); ?>">
+                                               <a href="<?php echo esc_url( get_comment_link( $comment->comment_ID, $args ) ); ?>">
                                                        <time datetime="<?php comment_time( 'c' ); ?>">
                                                                <?php printf( _x( '%1$s at %2$s', '1: date, 2: time' ), get_comment_date(), get_comment_time() ); ?>
                                                        </time>
@@ -1793,27 +1867,29 @@ class Walker_Comment extends Walker {
  *
  * @since 2.7.0
  *
+ * @see WP_Query->comments
+ *
  * @param string|array $args {
  *     Optional. Formatting options.
  *
- *     @type string 'walker'            The Walker class used to list comments. Default null.
- *     @type int    'max_depth'         The maximum comments depth. Default empty.
- *     @type string 'style'             The style of list ordering. Default 'ul'. Accepts 'ul', 'ol'.
- *     @type string 'callback'          Callback function to use. Default null.
- *     @type string 'end-callback'      Callback function to use at the end. Default null.
- *     @type string 'type'              Type of comments to list.
- *                                      Default 'all'. Accepts 'all', 'comment', 'pingback', 'trackback', 'pings'.
- *     @type int    'page'              Page ID to list comments for. Default empty.
- *     @type int    'per_page'          Number of comments to list per page. Default empty.
- *     @type int    'avatar_size'       Height and width dimensions of the avatar size. Default 32.
- *     @type string 'reverse_top_level' Ordering of the listed comments. Default null. Accepts 'desc', 'asc'.
- *     @type bool   'reverse_children'  Whether to reverse child comments in the list. Default null.
- *     @type string 'format'            How to format the comments list.
- *                                      Default 'html5' if the theme supports it. Accepts 'html5', 'xhtml'.
- *     @type bool   'short_ping'        Whether to output short pings. Default false.
- *     @type bool   'echo'              Whether to echo the output or return it. Default true.
+ *     @type string $walker            The Walker class used to list comments. Default null.
+ *     @type int    $max_depth         The maximum comments depth. Default empty.
+ *     @type string $style             The style of list ordering. Default 'ul'. Accepts 'ul', 'ol'.
+ *     @type string $callback          Callback function to use. Default null.
+ *     @type string $end-callback      Callback function to use at the end. Default null.
+ *     @type string $type              Type of comments to list.
+ *                                     Default 'all'. Accepts 'all', 'comment', 'pingback', 'trackback', 'pings'.
+ *     @type int    $page              Page ID to list comments for. Default empty.
+ *     @type int    $per_page          Number of comments to list per page. Default empty.
+ *     @type int    $avatar_size       Height and width dimensions of the avatar size. Default 32.
+ *     @type string $reverse_top_level Ordering of the listed comments. Default null. Accepts 'desc', 'asc'.
+ *     @type bool   $reverse_children  Whether to reverse child comments in the list. Default null.
+ *     @type string $format            How to format the comments list.
+ *                                     Default 'html5' if the theme supports it. Accepts 'html5', 'xhtml'.
+ *     @type bool   $short_ping        Whether to output short pings. Default false.
+ *     @type bool   $echo              Whether to echo the output or return it. Default true.
  * }
- * @param array $comments Optional. Array of comment objects. @see WP_Query->comments
+ * @param array $comments Optional. Array of comment objects.
  */
 function wp_list_comments( $args = array(), $comments = null ) {
        global $wp_query, $comment_alt, $comment_depth, $comment_thread_alt, $overridden_cpage, $in_comment_loop;
@@ -1932,30 +2008,30 @@ function wp_list_comments( $args = array(), $comments = null ) {
  * @param array       $args {
  *     Optional. Default arguments and form fields to override.
  *
- *     @type array 'fields' {
+ *     @type array $fields {
  *         Default comment fields, filterable by default via the 'comment_form_default_fields' hook.
  *
- *         @type string 'author' The comment author field HTML.
- *         @type string 'email'  The comment author email field HTML.
- *         @type string 'url'    The comment author URL field HTML.
+ *         @type string $author Comment author field HTML.
+ *         @type string $email  Comment author email field HTML.
+ *         @type string $url    Comment author URL field HTML.
  *     }
- *     @type string 'comment_field'        The comment textarea field HTML.
- *     @type string 'must_log_in'          HTML element for a 'must be logged in to comment' message.
- *     @type string 'logged_in_as'         HTML element for a 'logged in as <user>' message.
- *     @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 'title_reply'          The translatable 'reply' button label. Default 'Leave a Reply'.
- *     @type string 'title_reply_to'       The translatable 'reply-to' button label. Default 'Leave a Reply to %s',
- *                                         where %s is the author of the comment being replied to.
- *     @type string 'cancel_reply_link'    The translatable 'cancel reply' button label. Default 'Cancel reply'.
- *     @type string 'label_submit'         The translatable 'submit' button label. Default 'Post a comment'.
- *     @type string 'format'               The comment form format. Default 'xhtml'. Accepts 'xhtml', 'html5'.
+ *     @type string $comment_field        The comment textarea field HTML.
+ *     @type string $must_log_in          HTML element for a 'must be logged in to comment' message.
+ *     @type string $logged_in_as         HTML element for a 'logged in as <user>' message.
+ *     @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 $title_reply          The translatable 'reply' button label. Default 'Leave a Reply'.
+ *     @type string $title_reply_to       The translatable 'reply-to' button label. Default 'Leave a Reply to %s',
+ *                                        where %s is the author of the comment being replied to.
+ *     @type string $cancel_reply_link    The translatable 'cancel reply' button label. Default 'Cancel reply'.
+ *     @type string $label_submit         The translatable 'submit' button label. Default 'Post a comment'.
+ *     @type string $format               The comment form format. Default 'xhtml'. Accepts 'xhtml', 'html5'.
  * }
- * @param int|WP_Post $post_id Optional. Post ID or WP_Post object to generate the form for. Default current post.
+ * @param int|WP_Post $post_id Post ID or WP_Post object to generate the form for. Default current post.
  */
 function comment_form( $args = array(), $post_id = null ) {
        if ( null === $post_id )
@@ -1996,7 +2072,9 @@ function comment_form( $args = array(), $post_id = null ) {
        $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-required="true"></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">' . __( 'Your email address will not be published.' ) . ( $req ? $required_text : '' ) . '</p>',
                'comment_notes_after'  => '<p class="form-allowed-tags">' . sprintf( __( 'You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: %s' ), ' <code>' . allowed_tags() . '</code>' ) . '</p>',
@@ -2059,9 +2137,11 @@ function comment_form( $args = array(), $post_id = null ) {
                                                         *
                                                         * @since 3.0.0
                                                         *
-                                                        * @param string $args['logged_in_as'] The logged-in-as HTML-formatted message.
-                                                        * @param array  $commenter            An array containing the comment author's username, email, and URL.
-                                                        * @param string $user_identity        If the commenter is a registered user, the display name, blank otherwise.
+                                                        * @param string $args_logged_in The logged-in-as HTML-formatted message.
+                                                        * @param array  $commenter      An array containing the comment author's
+                                                        *                               username, email, and URL.
+                                                        * @param string $user_identity  If the commenter is a registered user,
+                                                        *                               the display name, blank otherwise.
                                                         */
                                                        echo apply_filters( 'comment_form_logged_in', $args['logged_in_as'], $commenter, $user_identity );
                                                        ?>
@@ -2071,8 +2151,10 @@ function comment_form( $args = array(), $post_id = null ) {
                                                         *
                                                         * @since 3.0.0
                                                         *
-                                                        * @param array  $commenter     An array containing the comment author's username, email, and URL.
-                                                        * @param string $user_identity If the commenter is a registered user, the display name, blank otherwise.
+                                                        * @param array  $commenter     An array containing the comment author's
+                                                        *                              username, email, and URL.
+                                                        * @param string $user_identity If the commenter is a registered user,
+                                                        *                              the display name, blank otherwise.
                                                         */
                                                        do_action( 'comment_form_logged_in_after', $commenter, $user_identity );
                                                        ?>
@@ -2112,7 +2194,7 @@ function comment_form( $args = array(), $post_id = null ) {
                                                 *
                                                 * @since 3.0.0
                                                 *
-                                                * @param string $args['comment_field'] The content of the comment textarea field.
+                                                * @param string $args_comment_field The content of the comment textarea field.
                                                 */
                                                echo apply_filters( 'comment_form_field_comment', $args['comment_field'] );
                                                ?>
index 3019036c194e070f7fc8efd2c0966846621c0ca4..f7ddbc478fb43d0c77c32e6877db71fa95ad6822 100644 (file)
@@ -135,7 +135,6 @@ function get_approved_comments($post_id) {
  */
 function get_comment(&$comment, $output = OBJECT) {
        global $wpdb;
-       $null = null;
 
        if ( empty($comment) ) {
                if ( isset($GLOBALS['comment']) )
@@ -151,7 +150,7 @@ function get_comment(&$comment, $output = OBJECT) {
                } elseif ( ! $_comment = wp_cache_get($comment, 'comment') ) {
                        $_comment = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_ID = %d LIMIT 1", $comment));
                        if ( ! $_comment )
-                               return $null;
+                               return null;
                        wp_cache_add($_comment->comment_ID, $_comment, 'comment');
                }
        }
@@ -374,8 +373,13 @@ class WP_Comment_Query {
                }
                if ( '' !== $parent )
                        $where .= $wpdb->prepare( ' AND comment_parent = %d', $parent );
-               if ( '' !== $user_id )
+
+               if ( is_array( $user_id ) ) {
+                       $where .= ' AND user_id IN (' . implode( ',', array_map( 'absint', $user_id ) ) . ')';
+               } elseif ( '' !== $user_id ) {
                        $where .= $wpdb->prepare( ' AND user_id = %d', $user_id );
+               }
+
                if ( '' !== $search )
                        $where .= $this->get_search_sql( $search, array( 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_content' ) );
 
@@ -462,8 +466,6 @@ class WP_Comment_Query {
  * Comments have a limited set of valid status values, this provides the comment
  * status values and descriptions.
  *
- * @package WordPress
- * @subpackage Post
  * @since 2.7.0
  *
  * @return array List of comment statuses.
@@ -649,7 +651,7 @@ function get_comment_meta($comment_id, $key = '', $single = false) {
  * @param string $meta_key Metadata key.
  * @param mixed $meta_value Metadata value.
  * @param mixed $prev_value Optional. Previous value to check before removing.
- * @return bool True on success, false on failure.
+ * @return int|bool Meta ID if the key didn't exist, true on successful update, false on failure.
  */
 function update_comment_meta($comment_id, $meta_key, $meta_value, $prev_value = '') {
        return update_metadata('comment', $comment_id, $meta_key, $meta_value, $prev_value);
@@ -746,9 +748,6 @@ function sanitize_comment_cookies() {
  *
  * @since 2.0.0
  * @uses $wpdb
- * @uses apply_filters() Calls 'pre_comment_approved' hook on the type of comment
- * @uses apply_filters() Calls 'comment_duplicate_trigger' hook on commentdata.
- * @uses do_action() Calls 'check_comment_flood' hook on $comment_author_IP, $comment_author_email, and $comment_date_gmt
  *
  * @param array $commentdata Contains information on the comment
  * @return mixed Signifies the approval status (0|1|'spam')
@@ -829,10 +828,6 @@ function wp_allow_comment($commentdata) {
  *
  * @since 2.3.0
  * @uses $wpdb
- * @uses apply_filters() Calls 'comment_flood_filter' filter with first
- *             parameter false, last comment timestamp, new comment timestamp.
- * @uses do_action() Calls 'comment_flood_trigger' action with parameters with
- *             last comment timestamp and new comment timestamp.
  *
  * @param string $ip Comment IP.
  * @param string $email Comment author email address.
@@ -902,8 +897,7 @@ function separate_comments(&$comments) {
  * Calculate the total number of comment pages.
  *
  * @since 2.7.0
- * @uses get_query_var() Used to fill in the default for $per_page parameter.
- * @uses get_option() Used to fill in defaults for parameters.
+ *
  * @uses Walker_Comment
  *
  * @param array $comments Optional array of comment objects. Defaults to $wp_query->comments
@@ -917,7 +911,7 @@ function get_comment_pages_count( $comments = null, $per_page = null, $threaded
        if ( null === $comments && null === $per_page && null === $threaded && !empty($wp_query->max_num_comment_pages) )
                return $wp_query->max_num_comment_pages;
 
-       if ( !$comments || !is_array($comments) )
+       if ( ( ! $comments || ! is_array( $comments ) ) && ! empty( $wp_query->comments )  )
                $comments = $wp_query->comments;
 
        if ( empty($comments) )
@@ -1010,7 +1004,6 @@ function get_page_of_comment( $comment_ID, $args = array() ) {
  * Does comment contain blacklisted characters or words.
  *
  * @since 1.5.0
- * @uses do_action() Calls 'wp_blacklist_check' hook for all parameters.
  *
  * @param string $author The author of the comment
  * @param string $email The email of the comment
@@ -1141,9 +1134,6 @@ function wp_count_comments( $post_id = 0 ) {
  *
  * @since 2.0.0
  * @uses $wpdb
- * @uses do_action() Calls 'delete_comment' hook on comment ID
- * @uses do_action() Calls 'deleted_comment' hook on comment ID after deletion, on success
- * @uses do_action() Calls 'wp_set_comment_status' hook on comment ID with 'delete' set for the second parameter
  * @uses wp_transition_comment_status() Passes new and old comment status along with $comment object
  *
  * @param int $comment_id Comment ID
@@ -1216,8 +1206,7 @@ function wp_delete_comment($comment_id, $force_delete = false) {
  * If trash is disabled, comment is permanently deleted.
  *
  * @since 2.9.0
- * @uses do_action() on 'trash_comment' before trashing
- * @uses do_action() on 'trashed_comment' after trashing
+ *
  * @uses wp_delete_comment() if trash is disabled
  *
  * @param int $comment_id Comment ID.
@@ -1261,8 +1250,6 @@ function wp_trash_comment($comment_id) {
  * Removes a comment from the Trash
  *
  * @since 2.9.0
- * @uses do_action() on 'untrash_comment' before untrashing
- * @uses do_action() on 'untrashed_comment' after untrashing
  *
  * @param int $comment_id Comment ID.
  * @return bool True on success, false on failure.
@@ -1305,8 +1292,6 @@ function wp_untrash_comment($comment_id) {
  * Marks a comment as Spam
  *
  * @since 2.9.0
- * @uses do_action() on 'spam_comment' before spamming
- * @uses do_action() on 'spammed_comment' after spamming
  *
  * @param int $comment_id Comment ID.
  * @return bool True on success, false on failure.
@@ -1344,8 +1329,6 @@ function wp_spam_comment($comment_id) {
  * Removes a comment from the Spam
  *
  * @since 2.9.0
- * @uses do_action() on 'unspam_comment' before unspamming
- * @uses do_action() on 'unspammed_comment' after unspamming
  *
  * @param int $comment_id Comment ID.
  * @return bool True on success, false on failure.
@@ -1954,8 +1937,6 @@ function wp_update_comment_count($post_id, $do_deferred=false) {
  *
  * @since 2.5.0
  * @uses $wpdb
- * @uses do_action() Calls 'wp_update_comment_count' hook on $post_id, $new, and $old
- * @uses do_action() Calls 'edit_posts' hook on $post_id and $post
  *
  * @param int $post_id Post ID
  * @return bool True on success, false on '0' $post_id or if post with ID does not exist.
@@ -2373,8 +2354,6 @@ function xmlrpc_pingback_error( $ixr_error ) {
  * Removes comment ID from the comment cache.
  *
  * @since 2.3.0
- * @package WordPress
- * @subpackage Cache
  *
  * @param int|array $ids Comment ID or array of comment IDs to remove from cache
  */
@@ -2393,8 +2372,6 @@ function clean_comment_cache($ids) {
  * cache using the comment group with the key using the ID of the comments.
  *
  * @since 2.3.0
- * @package WordPress
- * @subpackage Cache
  *
  * @param array $comments Array of comment row objects
  */
index 4575066f1028bd59b1bfd71b018c37253c0dc7f7..6a1e827289ee37e5f98e96da67cffc0e42f5e007 100644 (file)
@@ -8,14 +8,13 @@
        text-transform: none;
        letter-spacing: normal;
        font: normal 13px/32px "Open Sans", sans-serif;
+       -webkit-border-radius: 0;
        border-radius: 0;
        -webkit-box-sizing: content-box;
-       -moz-box-sizing:    content-box;
-       box-sizing:         content-box;
+       -moz-box-sizing: content-box;
+       box-sizing: content-box;
        -webkit-transition: none;
-       -moz-transition:    none;
-       -o-transition:      none;
-       transition:         none;
+       transition: none;
        -webkit-font-smoothing: subpixel-antialiased; /* Prevent Safari from switching to standard antialiasing on hover */
 }
 
@@ -101,7 +100,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
 }
 
 /* Prevent a Chrome bug that inadvertantly activates
-   :hover states on an element that touches the extreme 
+   :hover states on an element that touches the extreme
    top left corner of the viewport. See #18868 */
 #wpadminbar .quicklinks {
        border-right: 1px solid transparent;
@@ -250,7 +249,6 @@ html:lang(he-il) .rtl #wpadminbar *  {
 #wpadminbar .ab-item:before,
 #wpadminbar #adminbarsearch:before {
        position: relative;
-       -moz-transition: all .1s ease-in-out;
        -webkit-transition: all .1s ease-in-out;
        transition: all .1s ease-in-out;
 }
@@ -587,24 +585,17 @@ html:lang(he-il) .rtl #wpadminbar *  {
        border: none;
        outline: none;
        cursor: pointer;
-
        -webkit-box-shadow: none;
        box-shadow: none;
-
-       -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
-       -ms-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;
-       -moz-transition-duration: 400ms;
-       -moz-transition-property: width, background;
-       -moz-transition-timing-function: ease;
-       -o-transition-duration: 400ms;
-       -o-transition-property: width, background;
-       -o-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 {
@@ -867,14 +858,14 @@ html:lang(he-il) .rtl #wpadminbar *  {
                color: #999;
                position: relative;
        }
-       
+
        #wpadminbar > #wp-toolbar > #wp-admin-bar-root-default .ab-icon,
        #wpadminbar .ab-icon,
        #wpadminbar .ab-item:before {
                padding: 0;
                margin-left: 0;
        }
-       
+
        #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,
@@ -1005,11 +996,10 @@ html:lang(he-il) .rtl #wpadminbar *  {
        #wpadminbar li:hover ul li:hover ul li {
                display: list-item;
        }
-       
+
        /* Override default min-width so dropdown lists aren't stretched
                to 100% viewport width at responsive sizes. */
        #wpadminbar .ab-top-menu > .menupop > .ab-sub-wrapper {
-               min-width: intrinsic;
                min-width: -webkit-fit-content;
                min-width: -moz-fit-content;
                min-width: fit-content;
@@ -1040,9 +1030,9 @@ html:lang(he-il) .rtl #wpadminbar *  {
        .network-admin #wpadminbar ul#wp-admin-bar-top-secondary > li#wp-admin-bar-my-account {
                margin-left: 0;
        }
-       
+
        /* Realign arrows on taller responsive submenus */
-       
+
        #wpadminbar .ab-top-secondary .menupop .menupop > .ab-item:before {
                top: 10px;
                right: 0;
@@ -1054,7 +1044,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        #wpadminbar {
                position: absolute;
        }
-       
+
        #wp-responsive-overlay {
                position: fixed;
                top: 0;
@@ -1077,7 +1067,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        #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%;
@@ -1085,12 +1075,12 @@ html:lang(he-il) .rtl #wpadminbar *  {
                right: auto;
                position: relative;
        }
-       
+
        #wpadminbar .ab-top-menu > .menupop li > .ab-sub-wrapper .ab-item {
                font-size: 16px;
                padding: 6px 30px 19px 15px;
        }
-       
+
        #wpadminbar li:hover ul li ul li {
                display: list-item;
        }
@@ -1099,9 +1089,9 @@ html:lang(he-il) .rtl #wpadminbar *  {
        #wpadminbar li#wp-admin-bar-updates {
                display: none;
        }
-       
+
        /* Make submenus full-width at this size */
-       
+
        #wpadminbar .ab-top-menu > .menupop li > .ab-sub-wrapper {
                position: static;
                -webkit-box-shadow: none;
index ce7397dbafc5e9b8dc4c6ab3c65b7f04bec2b20f..ef223e9968f428355554839d31003b049734ff63 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;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;-webkit-font-smoothing:subpixel-antialiased}.rtl #wpadminbar *{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl #wpadminbar *{font-family:Arial,sans-serif}#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#eee}#wpadminbar #wp-admin-bar-site-name a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wpadminbar ul li:before,#wpadminbar ul li:after{content:normal}#wpadminbar a,#wpadminbar a:hover,#wpadminbar a img,#wpadminbar a img:hover{outline:0;border:0;text-decoration:none;background:0 0}#wpadminbar a:focus,#wpadminbar a:active,#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,#wpadminbar div{outline:0}#wpadminbar{direction:rtl;color:#ccc;font:400 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;right:0;width:100%;min-width:600px;z-index:99999;background:#222}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar .quicklinks{border-right:1px solid transparent}#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 a,#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 7px 0 8px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#333;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;right:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{left:0;right:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item,#wpadminbar .shortlink-input{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar.nojs li:hover>.ab-sub-wrapper,#wpadminbar 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>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li.hover>.ab-item{background:#333;color:#2ea2cc}#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:#2ea2cc}#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon,#wpadminbar .ab-icon,#wpadminbar .ab-item:before{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 .ab-icon:before,#wpadminbar .ab-item:before,#wpadminbar #adminbarsearch:before{color:#999}#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before,#wpadminbar #adminbarsearch:before{position:relative;-moz-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#wpadminbar .ab-label{display:inline-block;height:32px}#wpadminbar .ab-submenu .ab-item{color:#eee}#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#eee}#wpadminbar .quicklinks .menupop ul li a: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{color:#2ea2cc}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{position:absolute;font:400 17px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar .menupop .menupop>.ab-item{display:block;padding-left:2em}#wpadminbar .menupop .menupop>.ab-item:before{top:1px;left:4px;content:'\f139';color:inherit}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{padding-right:2em;padding-left:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:5px;right:3px;content:'\f141'}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;left:auto;margin:0;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4b4b4b}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a{color:#2ea2cc}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:left}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account>.ab-item:before{content:"\f110";top:2px;float:left;margin-right:6px;margin-left:0}#wp-admin-bar-my-account.with-avatar>.ab-item:before{display:none;content:none}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar #wp-admin-bar-user-actions>li{margin-right:16px;margin-left:16px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:6px 0 12px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-right:88px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0 0}#wp-admin-bar-user-info .avatar{position:absolute;right:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0 0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0 0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{display:block}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{width:16px;height:16px;padding:0;border:1px solid #888;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 6px 0 0;float:none;display:inline}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{width:15px;height:20px;margin-left:0;padding:6px 0 5px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0 7px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{content:'\f120';top:2px}#wpadminbar .quicklinks li .blavatar{float:right;font:400 16px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#eee}#wpadminbar .quicklinks li a:hover .blavatar{color:#2ea2cc}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px -2px 0 8px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-left:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:transparent}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;right:5px;z-index:20;font:400 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;padding:0 24px 0 3px;margin:0;color:#ccc;background-color:rgba(255,255,255,0);border:0;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;-webkit-transition-property:width,background;-webkit-transition-timing-function:ease;-moz-transition-duration:400ms;-moz-transition-property:width,background;-moz-transition-timing-function:ease;-o-transition-duration:400ms;-o-transition-property:width,background;-o-transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:4px;background-color:#464646}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-button{display:none}.no-customize-support .hide-if-no-customize,.customize-support .hide-if-customize,.no-customize-support.wp-core-ui .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.customize-support.wp-core-ui .hide-if-customize,.customize-support .wp-core-ui .hide-if-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-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item{text-indent:0}.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before,.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{right:0!important;z-index:500!important;height:46px;min-width:300px}#wpadminbar *{font:400 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks>ul>li>a,#wpadminbar .quicklinks .ab-empty-item{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;padding:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-site-name a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-my-account a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li:hover>.ab-sub-wrapper,#wpadminbar .menupop li.hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-left:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;left:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar .ab-icon,#wpadminbar .ab-item:before{padding:0}#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item,#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon,#wpadminbar .ab-icon,#wpadminbar .ab-item:before{padding:0;margin-left:0}#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-my-account>.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 .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-search{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;left:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-wp-logo,#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-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}#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:intrinsic;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 .ab-top-menu,#wpadminbar .ab-top-secondary,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account{position:static}#wpadminbar #wp-admin-bar-my-account{float:left}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-left:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;right:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;right:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{position:fixed;width:100%;right:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-right:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;right:auto;position:relative}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 30px 19px 15px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-wp-logo,#wpadminbar li#wp-admin-bar-updates{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}.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:0;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{outline:0}#wpadminbar{direction:rtl;color:#ccc;font:400 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;right:0;width:100%;min-width:600px;z-index:99999;background:#222}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar .quicklinks{border-right:1px solid transparent}#wpadminbar .quicklinks ul{text-align:right}#wpadminbar li{float:right}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks .ab-top-secondary>li{float:left}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 7px 0 8px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#333;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;right:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{left:0;right:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar .shortlink-input,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-right:100%;margin-top:-32px}#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper{margin-right:0;right:inherit;left:100%}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#333;color:#2ea2cc}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#2ea2cc}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{position:relative;float:right;font:400 20px/1 dashicons;speak:none;padding:4px 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:none!important;margin-left:6px}#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before{color:#999;position:relative;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#wpadminbar .ab-label{display:inline-block;height:32px}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#eee}#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#2ea2cc}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before,#wpadminbar .menupop .menupop>.ab-item:before{position:absolute;font:400 17px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar .menupop .menupop>.ab-item{display:block;padding-left:2em}#wpadminbar .menupop .menupop>.ab-item:before{top:1px;left:4px;content:'\f139';color:inherit}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{padding-right:2em;padding-left:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:5px;right:3px;content:'\f141'}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;left:auto;margin:0;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4b4b4b}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#2ea2cc}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:left}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account>.ab-item:before{content:"\f110";top:2px;float:left;margin-right:6px;margin-left:0}#wp-admin-bar-my-account.with-avatar>.ab-item:before{display:none;content:none}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar #wp-admin-bar-user-actions>li{margin-right:16px;margin-left:16px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:6px 0 12px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-right:88px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0 0}#wp-admin-bar-user-info .avatar{position:absolute;right:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0 0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0 0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{display:block}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{width:16px;height:16px;padding:0;border:1px solid #888;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 6px 0 0;float:none;display:inline}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{width:15px;height:20px;margin-left:0;padding:6px 0 5px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0 7px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{content:'\f120';top:2px}#wpadminbar .quicklinks li .blavatar{float:right;font:400 16px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#eee}#wpadminbar .quicklinks li a:hover .blavatar{color:#2ea2cc}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px -2px 0 8px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-left:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;right:5px;z-index:20;font:400 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;padding:0 24px 0 3px;margin:0;color:#ccc;background-color:rgba(255,255,255,0);border:0;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transition-property:width,background;transition-property:width,background;-webkit-transition-timing-function:ease;transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:4px;background-color:#464646}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-button,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#wpadminbar .screen-reader-text,#wpadminbar .screen-reader-text span{position:absolute;right:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}#wpadminbar .screen-reader-shortcut{position:absolute;top:-1000em}#wpadminbar .screen-reader-shortcut:focus{right:6px;top:7px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;text-decoration:none;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:right}* html #wpadminbar .menupop a span{background-image:none}.no-font-face #wpadminbar ul.ab-top-menu>li>a.ab-item{display:block;width:45px;text-align:center;overflow:hidden;margin:0 3px}.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:0}.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item,.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{right:0!important;z-index:500!important;height:46px;min-width:300px}#wpadminbar *{font:400 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks>ul>li>a{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-my-account a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-left:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;left:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item,#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{padding:0;margin-left:0}#wpadminbar #wp-admin-bar-edit>.ab-item:before,#wpadminbar #wp-admin-bar-my-account>.ab-item:before,#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{display:block;text-indent:0;font:400 32px/1 dashicons;speak:none;top:7px;width:52px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar #wp-admin-bar-appearance{margin-top:0}#wpadminbar #wp-admin-bar-search,#wpadminbar .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;left:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-edit,#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-my-account,#wpadminbar li#wp-admin-bar-my-sites,#wpadminbar li#wp-admin-bar-new-content,#wpadminbar li#wp-admin-bar-site-name,#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:block}#wpadminbar li.hover ul li,#wpadminbar li:hover ul li,#wpadminbar li:hover ul li:hover ul li{display:list-item}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar .ab-top-menu,#wpadminbar .ab-top-secondary{position:static}#wpadminbar #wp-admin-bar-my-account{float:left}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-left:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;right:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;right:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{position:fixed;width:100%;right:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-right:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;right:auto}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 30px 19px 15px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:none}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{position:static;-webkit-box-shadow:none;box-shadow:none}}
\ No newline at end of file
index d42cc9323ca61d48ef350e0906a8964a93657ee3..e9f0299a134ce8c7f456128b38fc1ca9ef9e5664 100644 (file)
@@ -8,14 +8,13 @@
        text-transform: none;
        letter-spacing: normal;
        font: normal 13px/32px "Open Sans", sans-serif;
+       -webkit-border-radius: 0;
        border-radius: 0;
        -webkit-box-sizing: content-box;
-       -moz-box-sizing:    content-box;
-       box-sizing:         content-box;
+       -moz-box-sizing: content-box;
+       box-sizing: content-box;
        -webkit-transition: none;
-       -moz-transition:    none;
-       -o-transition:      none;
-       transition:         none;
+       transition: none;
        -webkit-font-smoothing: subpixel-antialiased; /* Prevent Safari from switching to standard antialiasing on hover */
 }
 
@@ -101,7 +100,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
 }
 
 /* Prevent a Chrome bug that inadvertantly activates
-   :hover states on an element that touches the extreme 
+   :hover states on an element that touches the extreme
    top left corner of the viewport. See #18868 */
 #wpadminbar .quicklinks {
        border-left: 1px solid transparent;
@@ -250,7 +249,6 @@ html:lang(he-il) .rtl #wpadminbar *  {
 #wpadminbar .ab-item:before,
 #wpadminbar #adminbarsearch:before {
        position: relative;
-       -moz-transition: all .1s ease-in-out;
        -webkit-transition: all .1s ease-in-out;
        transition: all .1s ease-in-out;
 }
@@ -587,24 +585,17 @@ html:lang(he-il) .rtl #wpadminbar *  {
        border: none;
        outline: none;
        cursor: pointer;
-
        -webkit-box-shadow: none;
        box-shadow: none;
-
-       -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
-       -ms-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;
-       -moz-transition-duration: 400ms;
-       -moz-transition-property: width, background;
-       -moz-transition-timing-function: ease;
-       -o-transition-duration: 400ms;
-       -o-transition-property: width, background;
-       -o-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 {
@@ -867,14 +858,14 @@ html:lang(he-il) .rtl #wpadminbar *  {
                color: #999;
                position: relative;
        }
-       
+
        #wpadminbar > #wp-toolbar > #wp-admin-bar-root-default .ab-icon,
        #wpadminbar .ab-icon,
        #wpadminbar .ab-item:before {
                padding: 0;
                margin-right: 0;
        }
-       
+
        #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,
@@ -1005,11 +996,10 @@ html:lang(he-il) .rtl #wpadminbar *  {
        #wpadminbar li:hover ul li:hover ul li {
                display: list-item;
        }
-       
+
        /* Override default min-width so dropdown lists aren't stretched
                to 100% viewport width at responsive sizes. */
        #wpadminbar .ab-top-menu > .menupop > .ab-sub-wrapper {
-               min-width: intrinsic;
                min-width: -webkit-fit-content;
                min-width: -moz-fit-content;
                min-width: fit-content;
@@ -1040,9 +1030,9 @@ html:lang(he-il) .rtl #wpadminbar *  {
        .network-admin #wpadminbar ul#wp-admin-bar-top-secondary > li#wp-admin-bar-my-account {
                margin-right: 0;
        }
-       
+
        /* Realign arrows on taller responsive submenus */
-       
+
        #wpadminbar .ab-top-secondary .menupop .menupop > .ab-item:before {
                top: 10px;
                left: 0;
@@ -1054,7 +1044,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        #wpadminbar {
                position: absolute;
        }
-       
+
        #wp-responsive-overlay {
                position: fixed;
                top: 0;
@@ -1077,7 +1067,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        #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%;
@@ -1085,12 +1075,12 @@ html:lang(he-il) .rtl #wpadminbar *  {
                left: auto;
                position: relative;
        }
-       
+
        #wpadminbar .ab-top-menu > .menupop li > .ab-sub-wrapper .ab-item {
                font-size: 16px;
                padding: 6px 15px 19px 30px;
        }
-       
+
        #wpadminbar li:hover ul li ul li {
                display: list-item;
        }
@@ -1099,9 +1089,9 @@ html:lang(he-il) .rtl #wpadminbar *  {
        #wpadminbar li#wp-admin-bar-updates {
                display: none;
        }
-       
+
        /* Make submenus full-width at this size */
-       
+
        #wpadminbar .ab-top-menu > .menupop li > .ab-sub-wrapper {
                position: static;
                -webkit-box-shadow: none;
index 5696685de04d4c1d45a9c6804450a41b96c08067..e09e520decadbf342e56e5d0d9f0b9152244332a 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;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;-webkit-font-smoothing:subpixel-antialiased}.rtl #wpadminbar *{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl #wpadminbar *{font-family:Arial,sans-serif}#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#eee}#wpadminbar #wp-admin-bar-site-name a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wpadminbar ul li:before,#wpadminbar ul li:after{content:normal}#wpadminbar a,#wpadminbar a:hover,#wpadminbar a img,#wpadminbar a img:hover{outline:0;border:0;text-decoration:none;background:0 0}#wpadminbar a:focus,#wpadminbar a:active,#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,#wpadminbar div{outline:0}#wpadminbar{direction:ltr;color:#ccc;font:400 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;left:0;width:100%;min-width:600px;z-index:99999;background:#222}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar .quicklinks{border-left:1px solid transparent}#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 a,#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 8px 0 7px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#333;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;left:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{right:0;left:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item,#wpadminbar .shortlink-input{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar.nojs li:hover>.ab-sub-wrapper,#wpadminbar 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>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li.hover>.ab-item{background:#333;color:#2ea2cc}#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:#2ea2cc}#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon,#wpadminbar .ab-icon,#wpadminbar .ab-item:before{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 .ab-icon:before,#wpadminbar .ab-item:before,#wpadminbar #adminbarsearch:before{color:#999}#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before,#wpadminbar #adminbarsearch:before{position:relative;-moz-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#wpadminbar .ab-label{display:inline-block;height:32px}#wpadminbar .ab-submenu .ab-item{color:#eee}#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#eee}#wpadminbar .quicklinks .menupop ul li a: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{color:#2ea2cc}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{position:absolute;font:400 17px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar .menupop .menupop>.ab-item{display:block;padding-right:2em}#wpadminbar .menupop .menupop>.ab-item:before{top:1px;right:4px;content:'\f139';color:inherit}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{padding-left:2em;padding-right:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:5px;left:3px;content:'\f141'}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;right:auto;margin:0;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4b4b4b}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a{color:#2ea2cc}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:right}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account>.ab-item:before{content:"\f110";top:2px;float:right;margin-left:6px;margin-right:0}#wp-admin-bar-my-account.with-avatar>.ab-item:before{display:none;content:none}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar #wp-admin-bar-user-actions>li{margin-left:16px;margin-right:16px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:6px 0 12px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-left:88px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0 0}#wp-admin-bar-user-info .avatar{position:absolute;left:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0 0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0 0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{display:block}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{width:16px;height:16px;padding:0;border:1px solid #888;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 0 0 6px;float:none;display:inline}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{width:15px;height:20px;margin-right:0;padding:6px 0 5px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0 7px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{content:'\f120';top:2px}#wpadminbar .quicklinks li .blavatar{float:left;font:400 16px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#eee}#wpadminbar .quicklinks li a:hover .blavatar{color:#2ea2cc}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px 8px 0 -2px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-right:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:transparent}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;left:5px;z-index:20;font:400 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;padding:0 3px 0 24px;margin:0;color:#ccc;background-color:rgba(255,255,255,0);border:0;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;-webkit-transition-property:width,background;-webkit-transition-timing-function:ease;-moz-transition-duration:400ms;-moz-transition-property:width,background;-moz-transition-timing-function:ease;-o-transition-duration:400ms;-o-transition-property:width,background;-o-transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:4px;background-color:#464646}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-button{display:none}.no-customize-support .hide-if-no-customize,.customize-support .hide-if-customize,.no-customize-support.wp-core-ui .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.customize-support.wp-core-ui .hide-if-customize,.customize-support .wp-core-ui .hide-if-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-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item{text-indent:0}.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before,.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{left:0!important;z-index:500!important;height:46px;min-width:300px}#wpadminbar *{font:400 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks>ul>li>a,#wpadminbar .quicklinks .ab-empty-item{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;padding:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-site-name a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-my-account a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li:hover>.ab-sub-wrapper,#wpadminbar .menupop li.hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-right:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;right:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar .ab-icon,#wpadminbar .ab-item:before{padding:0}#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item,#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon,#wpadminbar .ab-icon,#wpadminbar .ab-item:before{padding:0;margin-right:0}#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-my-account>.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 .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-search{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;right:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-wp-logo,#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-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}#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:intrinsic;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 .ab-top-menu,#wpadminbar .ab-top-secondary,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account{position:static}#wpadminbar #wp-admin-bar-my-account{float:right}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-right:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;left:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{position:fixed;width:100%;left:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-left:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;left:auto;position:relative}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 19px 30px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-wp-logo,#wpadminbar li#wp-admin-bar-updates{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}.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:0;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{outline:0}#wpadminbar{direction:ltr;color:#ccc;font:400 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;left:0;width:100%;min-width:600px;z-index:99999;background:#222}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar .quicklinks{border-left:1px solid transparent}#wpadminbar .quicklinks ul{text-align:left}#wpadminbar li{float:left}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks .ab-top-secondary>li{float:right}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 8px 0 7px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#333;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;left:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{right:0;left:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar .shortlink-input,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-left:100%;margin-top:-32px}#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper{margin-left:0;left:inherit;right:100%}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#333;color:#2ea2cc}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#2ea2cc}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{position:relative;float:left;font:400 20px/1 dashicons;speak:none;padding:4px 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:none!important;margin-right:6px}#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before{color:#999;position:relative;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#wpadminbar .ab-label{display:inline-block;height:32px}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#eee}#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#2ea2cc}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before,#wpadminbar .menupop .menupop>.ab-item:before{position:absolute;font:400 17px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar .menupop .menupop>.ab-item{display:block;padding-right:2em}#wpadminbar .menupop .menupop>.ab-item:before{top:1px;right:4px;content:'\f139';color:inherit}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{padding-left:2em;padding-right:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:5px;left:3px;content:'\f141'}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;right:auto;margin:0;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4b4b4b}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#2ea2cc}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:right}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account>.ab-item:before{content:"\f110";top:2px;float:right;margin-left:6px;margin-right:0}#wp-admin-bar-my-account.with-avatar>.ab-item:before{display:none;content:none}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar #wp-admin-bar-user-actions>li{margin-left:16px;margin-right:16px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:6px 0 12px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-left:88px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0 0}#wp-admin-bar-user-info .avatar{position:absolute;left:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0 0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0 0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{display:block}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{width:16px;height:16px;padding:0;border:1px solid #888;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 0 0 6px;float:none;display:inline}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{width:15px;height:20px;margin-right:0;padding:6px 0 5px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0 7px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{content:'\f120';top:2px}#wpadminbar .quicklinks li .blavatar{float:left;font:400 16px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#eee}#wpadminbar .quicklinks li a:hover .blavatar{color:#2ea2cc}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px 8px 0 -2px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-right:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;left:5px;z-index:20;font:400 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;padding:0 3px 0 24px;margin:0;color:#ccc;background-color:rgba(255,255,255,0);border:0;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transition-property:width,background;transition-property:width,background;-webkit-transition-timing-function:ease;transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:4px;background-color:#464646}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-button,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#wpadminbar .screen-reader-text,#wpadminbar .screen-reader-text span{position:absolute;left:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}#wpadminbar .screen-reader-shortcut{position:absolute;top:-1000em}#wpadminbar .screen-reader-shortcut:focus{left:6px;top:7px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;text-decoration:none;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:left}* html #wpadminbar .menupop a span{background-image:none}.no-font-face #wpadminbar ul.ab-top-menu>li>a.ab-item{display:block;width:45px;text-align:center;overflow:hidden;margin:0 3px}.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:0}.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item,.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{left:0!important;z-index:500!important;height:46px;min-width:300px}#wpadminbar *{font:400 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks>ul>li>a{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-my-account a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-right:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;right:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item,#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{padding:0;margin-right:0}#wpadminbar #wp-admin-bar-edit>.ab-item:before,#wpadminbar #wp-admin-bar-my-account>.ab-item:before,#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{display:block;text-indent:0;font:400 32px/1 dashicons;speak:none;top:7px;width:52px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar #wp-admin-bar-appearance{margin-top:0}#wpadminbar #wp-admin-bar-search,#wpadminbar .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;right:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-edit,#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-my-account,#wpadminbar li#wp-admin-bar-my-sites,#wpadminbar li#wp-admin-bar-new-content,#wpadminbar li#wp-admin-bar-site-name,#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:block}#wpadminbar li.hover ul li,#wpadminbar li:hover ul li,#wpadminbar li:hover ul li:hover ul li{display:list-item}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar .ab-top-menu,#wpadminbar .ab-top-secondary{position:static}#wpadminbar #wp-admin-bar-my-account{float:right}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-right:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;left:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{position:fixed;width:100%;left:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-left:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;left:auto}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 19px 30px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:none}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{position:static;-webkit-box-shadow:none;box-shadow:none}}
\ No newline at end of file
index 4185349f072f4dcf9ce9ca3a9fe619bfad314b58..c24eade35759a0940ea2c46705e3af5c832946eb 100644 (file)
@@ -1,5 +1,10 @@
 /* ----------------------------------------------------------------------------
 
+NOTE: If you edit this file, you should make sure that the CSS rules for
+buttons in the following files are updated.
+
+* jquery-ui-dialog.css
+* editor.css
 
 WordPress-style Buttons
 =======================
@@ -48,13 +53,13 @@ TABLE OF CONTENTS:
        cursor: pointer;
        border-width: 1px;
        border-style: solid;
-       -webkit-border-radius: 3px;
        -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;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
 }
 
 /* Remove the dotted border on :focus and the extra padding in Firefox */
@@ -107,7 +112,6 @@ TABLE OF CONTENTS:
 .wp-core-ui input[type="reset"]:focus {
        background: none;
        border: none;
-       -moz-box-shadow: none;
        -webkit-box-shadow: none;
        box-shadow: none;
        padding: 0 2px 1px;
@@ -123,7 +127,6 @@ TABLE OF CONTENTS:
        color: #555;
        border-color: #cccccc;
        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;
@@ -159,19 +162,22 @@ TABLE OF CONTENTS:
        background: #eee;
        border-color: #999;
        color: #333;
-       -webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
+       -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 );
 }
 
 .wp-core-ui .button[disabled],
 .wp-core-ui .button:disabled,
+.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 {
        color: #aaa !important;
        border-color: #ddd !important;
+       background: #f7f7f7 !important;
        -webkit-box-shadow: none !important;
-       box-shadow:         none !important;
+       box-shadow: none !important;
        text-shadow: 0 1px 0 #fff !important;
        cursor: default;
 }
@@ -182,8 +188,8 @@ TABLE OF CONTENTS:
 
 .wp-core-ui .button-primary {
        background: #2ea2cc;
-       border-color: #0074a2; 
-       -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
+       border-color: #0074a2;
+       -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
        box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
        color: #fff;
        text-decoration: none;
@@ -195,7 +201,7 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-primary:focus {
        background: #1e8cbe;
        border-color: #0074a2;
-       -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
+       -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
        box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
        color: #fff;
 }
@@ -211,22 +217,23 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-primary.active:hover,
 .wp-core-ui .button-primary.active:focus,
 .wp-core-ui .button-primary:active {
-       background: #1e8cbe;
+       background: #1b7aa6;
        border-color: #005684;
        color: rgba(255,255,255,0.95);
-       -webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
+       -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);
        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,
+.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;
+       box-shadow: none !important;
        text-shadow: 0 -1px 0 rgba(0,0,0,0.1) !important;
        cursor: default;
 }
@@ -245,6 +252,7 @@ TABLE OF CONTENTS:
 
 .wp-core-ui .button-group > .button {
        display: inline-block;
+       -webkit-border-radius: 0;
        border-radius: 0;
        margin-left: -1px;
        z-index: 10;
@@ -259,10 +267,12 @@ TABLE OF CONTENTS:
 }
 
 .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;
 }
 
@@ -278,14 +288,14 @@ TABLE OF CONTENTS:
        input#publish,
        input#save-post,
        a.preview {
-               padding: 10px 14px;
-               line-height: 1;
+               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;
@@ -298,7 +308,7 @@ TABLE OF CONTENTS:
                position: relative;
                margin: 0 10px 0 14px; /* 14px right margin to match all other buttons */
        }
-       
+
        /* Reset responsive styles in Press This, Customizer */
 
        .wp-core-ui.wp-customizer .button,
@@ -313,13 +323,13 @@ TABLE OF CONTENTS:
                margin: 0;
                vertical-align: inherit;
        }
-       
+
        /* Reset responsive styles on Log in button on iframed login form */
-       
+
        .interim-login .button.button-large {
                height: 30px;
                line-height: 28px;
                padding: 0 12px 2px;
        }
-       
+
 }
index 984843f8f58ebd60ae2cebee9cefbbac88f22402..f708de83b60ef13b75c852e23a12b497e4834e87 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-border-radius:3px;-webkit-appearance:none;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:1px 0;border-style:solid none;border-color:transparent;padding:0}.wp-core-ui .button.button-large,.wp-core-ui .button-group.button-large .button{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button.button-small,.wp-core-ui .button-group.button-small .button{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.wp-core-ui .button.button-hero,.wp-core-ui .button-group.button-hero .button{font-size:14px;height:46px;line-height:44px;padding:0 36px}.wp-core-ui .button:active{outline:0}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus{background:0 0;border:0;-moz-box-shadow: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.hover,.wp-core-ui .button:hover,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button:focus,.wp-core-ui .button-secondary:focus{background:#fafafa;border-color:#999;color:#222}.wp-core-ui .button.focus,.wp-core-ui .button:focus,.wp-core-ui .button-secondary:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.wp-core-ui .button.active,.wp-core-ui .button.active:hover,.wp-core-ui .button.active:focus,.wp-core-ui .button:active,.wp-core-ui .button-secondary:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button[disabled],.wp-core-ui .button:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-disabled{color:#aaa!important;border-color:#ddd!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:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:hover,.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary:focus{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.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),1px 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary:active{background:#1e8cbe;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}.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;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{border-radius:0 3px 3px 0}.wp-core-ui .button-group>.button:last-child{border-radius:3px 0 0 3px}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,input#publish,input#save-post,a.preview{padding:10px 14px;line-height:1;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}.wp-core-ui .save-post-status.button{position:relative;margin:0 10px 0 14px}.wp-core-ui.wp-customizer .button,.press-this.wp-core-ui .button,.press-this input#publish,.press-this input#save-post,.press-this a.preview{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=button]::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;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{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:0;-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:#222}.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-ui .button:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.wp-core-ui .button-secondary:active,.wp-core-ui .button.active,.wp-core-ui .button.active:focus,.wp-core-ui .button.active:hover,.wp-core-ui .button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.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:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}.wp-core-ui .button-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.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:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.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),1px 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4)}.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:#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}.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}@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}.wp-core-ui .save-post-status.button{position:relative;margin:0 10px 0 14px}.press-this a.preview,.press-this input#publish,.press-this input#save-post,.press-this.wp-core-ui .button,.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 feeca1e2775cc15795b0270956184210b1ecd855..1642491f69e16979217877b99702928b248767b8 100644 (file)
@@ -1,5 +1,10 @@
 /* ----------------------------------------------------------------------------
 
+NOTE: If you edit this file, you should make sure that the CSS rules for
+buttons in the following files are updated.
+
+* jquery-ui-dialog.css
+* editor.css
 
 WordPress-style Buttons
 =======================
@@ -48,13 +53,13 @@ TABLE OF CONTENTS:
        cursor: pointer;
        border-width: 1px;
        border-style: solid;
-       -webkit-border-radius: 3px;
        -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;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
 }
 
 /* Remove the dotted border on :focus and the extra padding in Firefox */
@@ -107,7 +112,6 @@ TABLE OF CONTENTS:
 .wp-core-ui input[type="reset"]:focus {
        background: none;
        border: none;
-       -moz-box-shadow: none;
        -webkit-box-shadow: none;
        box-shadow: none;
        padding: 0 2px 1px;
@@ -123,7 +127,6 @@ TABLE OF CONTENTS:
        color: #555;
        border-color: #cccccc;
        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;
@@ -159,19 +162,22 @@ TABLE OF CONTENTS:
        background: #eee;
        border-color: #999;
        color: #333;
-       -webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
+       -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 );
 }
 
 .wp-core-ui .button[disabled],
 .wp-core-ui .button:disabled,
+.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 {
        color: #aaa !important;
        border-color: #ddd !important;
+       background: #f7f7f7 !important;
        -webkit-box-shadow: none !important;
-       box-shadow:         none !important;
+       box-shadow: none !important;
        text-shadow: 0 1px 0 #fff !important;
        cursor: default;
 }
@@ -182,8 +188,8 @@ TABLE OF CONTENTS:
 
 .wp-core-ui .button-primary {
        background: #2ea2cc;
-       border-color: #0074a2; 
-       -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
+       border-color: #0074a2;
+       -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
        box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
        color: #fff;
        text-decoration: none;
@@ -195,7 +201,7 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-primary:focus {
        background: #1e8cbe;
        border-color: #0074a2;
-       -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
+       -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
        box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
        color: #fff;
 }
@@ -211,22 +217,23 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-primary.active:hover,
 .wp-core-ui .button-primary.active:focus,
 .wp-core-ui .button-primary:active {
-       background: #1e8cbe;
+       background: #1b7aa6;
        border-color: #005684;
        color: rgba(255,255,255,0.95);
-       -webkit-box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
+       -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);
        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,
+.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;
+       box-shadow: none !important;
        text-shadow: 0 -1px 0 rgba(0,0,0,0.1) !important;
        cursor: default;
 }
@@ -245,6 +252,7 @@ TABLE OF CONTENTS:
 
 .wp-core-ui .button-group > .button {
        display: inline-block;
+       -webkit-border-radius: 0;
        border-radius: 0;
        margin-right: -1px;
        z-index: 10;
@@ -259,10 +267,12 @@ TABLE OF CONTENTS:
 }
 
 .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;
 }
 
@@ -278,14 +288,14 @@ TABLE OF CONTENTS:
        input#publish,
        input#save-post,
        a.preview {
-               padding: 10px 14px;
-               line-height: 1;
+               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;
@@ -298,7 +308,7 @@ TABLE OF CONTENTS:
                position: relative;
                margin: 0 14px 0 10px; /* 14px right margin to match all other buttons */
        }
-       
+
        /* Reset responsive styles in Press This, Customizer */
 
        .wp-core-ui.wp-customizer .button,
@@ -313,13 +323,13 @@ TABLE OF CONTENTS:
                margin: 0;
                vertical-align: inherit;
        }
-       
+
        /* Reset responsive styles on Log in button on iframed login form */
-       
+
        .interim-login .button.button-large {
                height: 30px;
                line-height: 28px;
                padding: 0 12px 2px;
        }
-       
+
 }
index 495a22767e2df37aa829fce4347aa1cc041af0a1..514460a78ebe0ceaff86cb8c890de6e58e8d68aa 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-border-radius:3px;-webkit-appearance:none;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:1px 0;border-style:solid none;border-color:transparent;padding:0}.wp-core-ui .button.button-large,.wp-core-ui .button-group.button-large .button{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button.button-small,.wp-core-ui .button-group.button-small .button{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.wp-core-ui .button.button-hero,.wp-core-ui .button-group.button-hero .button{font-size:14px;height:46px;line-height:44px;padding:0 36px}.wp-core-ui .button:active{outline:0}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:hover,.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus{background:0 0;border:0;-moz-box-shadow: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.hover,.wp-core-ui .button:hover,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button:focus,.wp-core-ui .button-secondary:focus{background:#fafafa;border-color:#999;color:#222}.wp-core-ui .button.focus,.wp-core-ui .button:focus,.wp-core-ui .button-secondary:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.wp-core-ui .button.active,.wp-core-ui .button.active:hover,.wp-core-ui .button.active:focus,.wp-core-ui .button:active,.wp-core-ui .button-secondary:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button[disabled],.wp-core-ui .button:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-disabled{color:#aaa!important;border-color:#ddd!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:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:hover,.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary:focus{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.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),1px 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary:active{background:#1e8cbe;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}.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;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{border-radius:3px 0 0 3px}.wp-core-ui .button-group>.button:last-child{border-radius:0 3px 3px 0}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,input#publish,input#save-post,a.preview{padding:10px 14px;line-height:1;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}.wp-core-ui .save-post-status.button{position:relative;margin:0 14px 0 10px}.wp-core-ui.wp-customizer .button,.press-this.wp-core-ui .button,.press-this input#publish,.press-this input#save-post,.press-this a.preview{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=button]::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;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{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:0;-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:#222}.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-ui .button:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.wp-core-ui .button-secondary:active,.wp-core-ui .button.active,.wp-core-ui .button.active:focus,.wp-core-ui .button.active:hover,.wp-core-ui .button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.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:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}.wp-core-ui .button-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.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:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.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),1px 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4)}.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:#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}.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}@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}.wp-core-ui .save-post-status.button{position:relative;margin:0 14px 0 10px}.press-this a.preview,.press-this input#publish,.press-this input#save-post,.press-this.wp-core-ui .button,.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 58c596b2c87959c12729f43d5dd41c3a19908140..4fe64f2daec6e83b6ed17518c58da09157dcebb8 100644 (file)
@@ -1,23 +1,22 @@
 @font-face {
        font-family: "dashicons";
-       src: url("../fonts/dashicons.eot");
+       src: url(../fonts/dashicons.eot);
 }
 
 @font-face {
        font-family: "dashicons";
-       src: url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAElcAA4AAAAAdPAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABRAAAABwAAAAcafGMFkdERUYAAAFgAAAAHgAAACAA7QAET1MvMgAAAYAAAABAAAAAYJYFaPZjbWFwAAABwAAAAQYAAAJSHHBJFWdhc3AAAALIAAAACAAAAAgAAAAQZ2x5ZgAAAtAAAD90AABi5MgFCx1oZWFkAABCRAAAAC4AAAA2BKJ+GmhoZWEAAEJ0AAAAGgAAACQPogeuaG10eAAAQpAAAADIAAABimdQUb1sb2NhAABDWAAAAYIAAAGCwp6pVm1heHAAAETcAAAAHwAAACABEwCdbmFtZQAARPwAAAFzAAADBkijZWBwb3N0AABGcAAAAuMAAAeK+aXB2XdlYmYAAElUAAAABgAAAAZne1K0AAAAAQAAAADMPaLPAAAAAM7Z0U4AAAAAztoX+HjaY2BkYGDgA2IJBhBgYmAEwv1AzALmMQAADH8A8gAAeNpjYGY/wTiBgZWBhVWEZQMDA8M0CM20h8GIKQLIB0phB6He4X4MDqp/vhSzXwDxgaQGkGJEUqLAwAgAOtgK8Xja3Y+9S8NQFMXva+tH4OVaEIeAQ0A6ZAuiYnCJijSFKmIHiYPEj6VOFUFwc/F/6+Smgzirk3rue+iixkcKDs5OHrjncuDwg0NEdRrdLCnnpLouqSo3VOx+RimN0WTrAx6mEWAOEWIsIcE6NpAhxwH6uMCVKPEkkEgSSWXNeCYwkUlMx3bsrs1tYfv2rCyJHInQxAxCtBxpHstIHamNHgoc4RSXQlKXpoQSVyRlmiY0sUltZrcr0qEdlOXdxFSDv/iT3/mNX/mFn/mJH/mB7/mWb/iah7zFm9zmVV7hRV7wz/2Bf+If+/u60Hs61z29o7uj1X8jNU4/OFVzVvtdoH+vb7THbaEAAAABAAH//wAPeNqdvQlgFEW+P97VPd09k3syV65JMneOyTUnEDIJEO5wGK4oghzDHTCKIEiCigFROeKFoiwqouIdFVmPLKvo6ngjG3F1WRdXZbPoc9d9PB8kM+X/+62eCQmib39/Jt1VXV1d3XV9v5/vUQUncvCPnOG7OIGTOA2XwqVzXJXWohV0Fp1JSyzJRKsjZ3qfoE9FnqA7yPQnIk/wXbF6chv3E+3+idDYJ9xPxE157ieOcAP+VXEcz4W5mPyK1Atl+jlOQ4IhYjTlE1O+EAhqiCzpC4hRL6fxsgSnfD5EgoFgiA8GPJDuCYoHYjW7stfdNazs4Wmlw+c0rhwWeyxW85zZvNxszh29xDjS5ptaKY9betVVPqs3tcGXZ54Gt6aZhY38G7vyUm3O/C3lWXmWVJISe4x/4zl2d7o5NzAuo8rmu+qqpePkyik+a7121ahcViZHiJuLSHWymsuENrF4jAatXiolRGuzOv1aX4CcEdob165tjNCUCISyem1jrL5xLU0hZ9Y28l2Na6HaAve/UMZn0nFoyzRWjknWEJeG+L0igWbFQ6rbvTy2PrZ+Of8D6YjEDvBNfVOFQtqi2rh7OX8zS6ctkftij8ee5GfQdHKGpkC5EW6X3CwP47I4JzccyjVmpJM04iK1JOBzOa3phDgDEC/UsGtJJpLeZAzIxCilE6nQ5cyoJSFiYqke6fuNG3c3/m05kRoaamtrn6+dRJ8xD22893qyKPotbywosDYVxL7FoJzszccbdM/1yiN0QV1d7fNSF6bc2zg0n4iTGqCAuroG+szyvzXu3tg3Cwq4rKCQz4+dZuHb5AF2Y+NGsngjPGKm82ufr6vlOBWMjzDUqZnTcblcMY4RovU5S4nLItusErS+0WvxBDiPUS9ZnT7RomVhwOsxaS3QoP2Xor66+LHNtGXzY8XV1cVCT3F1rO7oHXccvUM4RM5AcMdSUy7thjZV4kI731VcHYlUF8fq4QH+BUw+quo7tRSfEck5Ki+j+9gFx/ePCQF6lMPuEy0Gi9bLNwk9fQeFwmhWhJwR9b3fhSOiHvv/NHdK+lrq4dRQJzuOehcJ4KgXg0ROIzaLLFldTl8t1DSgUe7IRCygXa+S+pzLna7M6Fuzhc3Xer6dT1tb3a1ut7u1RpBIfTbey6FdUp6SVedyzn6vJbphumckZCptc7eS9nln6H64lQm3cuirMP8i3FtSTIpyBs4C3y6pXARbLEicmcGA3aThjRJONDZ+YDZK7Qvp99fFvppw7K4J/Dafb+FcolpL/0pySH7xkN49+dPN+fnm6flm4aeFPl/smgl3HRvP519HMhfOHeKmf6WnSMGan2IFZnM8IycQN3HLamk/zP9SbqzSuzbL+Z4lXuzaUmLAjqwhNuzNamwYmHqJKz9emRM5WZf7ZXV1ce932Neivrg6mhXGaNhcYu6PkDMXSetQdWK8byp2urm6sXqXwWw27III78QY3TcwLfY5xhh55Dq4ffIYuQl6lCPQjU4Jp55JhuZUQVMSV9AYwNml0h/iW387+cjoifU6329/oD0B+kngXT8x/QCJ9RNH66R9h2KbD/l0oyeOfn3KoR/oPwLvBkgZZPg3S6w/AuNND+OtC8ZbFlcJ77aWqyqIMyR4PTBO0kTBAaGZpKls1nK+AhonRLwq4+WXBNzZWkGQpNLaxaElW8vTiEqbVerfSDKu+WNbuv+R/X9btPjLZ253ua75+DqV11kzfnyNThdcsXBi2don5sjZY0dMHUr/fmjLsZXnxHRXfpbJYk1JPtfy4SaFhodlNXyPi6uA2tskGeotyQaL3+mSXUGny6b1BoKuoCkQ9FsMRlPQJBtNXs4T8Dmtkl5Wf54TvO/YfU1LaPeSpvu67wtmff6ZaSikzGgmbpYy1PRZ1HO2s/Nsp1C4YibcgSyfZwXhTtMSUrxoDqQEcuMpcxbREZ2Yl31XRLbKlwCNhV7hjJnARVQuQRQsLmV4Z3oCfvYNUu1ro0fPa6HvbH2VfrKLdoeF3LFVq+cRvmLV5MmrJsvlr1FKf5rX4q+jLxbQbRGB3EZqV88bHTs5eUgQcuC7SJHcDONYizOaeFQmuRzGpyR7NcQbyLTrrHZXMB/GaCBo0xBbmiD03Ee0C54MvbL8Nz9Ye+g+uu9o1hFS9vT99F/9qWQumXs0c8Ohf0r7N7a80TjvzbtpC+k4QDL39rbHE0gHbdn4lwfncEgrI1BfZS5lw2wu/vls4gpVJklVaHcFVKzeRg8BSuWHH5svW9l8WQfzJUgaiW/DBvo+fYa+v2ED/8ja/WvX7ofx6+7dStxCIZI2zBzNgrMwfu+OHXvhOImZ1sYOhMNh+J5ULgJzuxnGRTpQbxP0QQGMkFIYI0GumquF2T7xIvPdorXo4JO88SNB2YPwnQ64N+ga7qsGXMvNUAc7q8OJ4upeOyO5xK389a0sMcMMj2CD8U3IMKOxASldg3OQDiQbcRKi+gwS3BH2j6aYWa5wGHi6OxGHG/Eo1Bv5QVjazzBC/mCUYImjBFcQJgbMEpgKgBh64oiBdkNE2N/bG078IX6InkzgB6GwcW30mQG3kZdw0OdH4V0ytHIB8hKdTQdYws56N+ATHEaT02ZVyU67zSoHgkJPzFgeqbxL6BF6oiMaq4GKhfmylixfcRd9fc4c+npXkT+rReghJX2HVGuqsS3CrGqxP/z17hfll/fseVl+8W6F58mj5LWABrWIYACkIeOzAH5DdiZLu7ebzbSx76Cq9GD+tNjf+ewdsZ6xctN2wFj0kuhQ8cRBM4newWftiP29mwNcCf+gHkdhpNi4Jpi5y7kWSMrgy4m9UJVG+IzMfAIjN0RgDBszM3gcxk5IDTDM6JQlm9UVsHth4jklgx4QpNFkBKYBmCdEkPCyHE4glJKxgOg0JKRywX1eQ5y830d0+Lh8dNHLP9KP6Cv0ox9fXgRxUkXGkKofX+57i6wik37YseMH+gK9g76AMVJDP1qmT9MZbpxu0a0iCz68j5iafXNMxhxR8NQWFtIfDE61Wp+u12+abltms+shOr2FvEREQW3UyElzP+k9QTa++z9CyTdr2pYsEUYrr1p0wSeIswa9dBL7kL5iwa/mvRUkiTx6ZNVCeeIE84iiYrU4a8vwk42N/PdErRL4oI8kS7xA/EGipkdjefzLcnZj4w1Dn/jjn+k24Y6+noXk5m9foO/Fdpbkc2J8zDbDiJK5ZDZjOZyLBCj2oMMtruvdqmqIngRcww6+KXZAbj57VlwHc6L7/AE0cQbpkEU5DbBFKZTmc5UDX8wMutJUJqSEwYDj50nCzHGep8dnf/jQwwte3LvSk5Hz1RP3zF8gPHuxVP74pstrnRk7yYhLvq7YcvCDczf8MdrUtOtiiTi8xH4sqQLklcJlYB11gLctBAgJO6CCGmIBZhY70DeVuFWdfVNVnbEDsQNCIVIMublvauyAeAIq2IIEAENyBsvmB+BUJ/JAq2Q+LxV4GQnopwNaEk9XNTRecgvtRkmhkW9qXIsHUoLuMITiuh0TXqLdxL22kZzBdNoCRwoQg/40mDKMx+F7NUBvtdDS2ZyZK8R64dsc8BJR8OosNsFLEgdMUw0PgLW4+uzZavJyJAxkOhwJAx5KnJDIn1H6tbr43Gu8FCquDuNrzx+Aa3uiWUI7baEtDP8o9Q8jDSKOAMAxqGqhM4MhcVGbhlVWLnwB/lXV5KLqD+gXH3xw+/hJ0dbMSPvtLDpE2hORaksjfd/DNbF+YONXR6LtNzzF4kJ1kX+APJDOJIIRiZrqJVuCuEL9uAR384Vkb/89T76qAOa9J583fSml+caP9537N5zF/+3dyncpDG4fEZMM5vJhjZUKbyueNMxny5YkVcaQuqUtS0Z5k+Xm+GM+LOLcazgdhF7G+Gi3OqdxavOcuaNKGF8s5rvcY2fMGGs0phQvmTICUgyJsRJhfFHH0OIF3+8FPscVBjKchVKGeII43aGQ+9z7eCZOQMsd9A7ScPo0PXhaqgu5+xaW1deXqX7jDkV6vzut3MB3SPCOXf1ykw3mnxd4Lge0M5/Xp/FAO8t5X4jPjGMw1QVhgstK8VDIJfeRYe/c4PPd8A59iy6mbylxubWpqbWJzxkYxCQW/J7xFrl51OrHX/nbK4+vHpWIxGxNLMOAv9gmFrRU4zMgY3eQM4x/JivSVOIn7UceibwQqJA+EWOyryKDKc+Y8CmbH0UwEML8QYPNYPPb/F7AE9J+mFzRVlUDsGxg2mFRD3w93GsX2iPsOhJhbccBbjkKOOo8LYQytQlqCBGXn8EmRhHlo2crFfoHUgbtltU4Qc6elfbDuOhBwMB4KMMOLax8EcrPgvI7BtLagaU7LigZZxqQpHq+C4rtuKBYpdD/s0zXBWXKavjaWL2s/sUiYZwOLFMpDU5YgngimoWPQft3KPMfIaG4TlyHT2l4vAJCuY6upKs5wnfBvROqTuWeeAJTkazyTfF7+sRzoh5TAZ7dSbaze13iCRCZ2T2AaJCK+WMHfvWerOBgeRi0QQHDm16GOBk/01ri0qISGiwGhEk1BIe9OCDO+kFrg7NywEx0n3uNuGGgkg44RVsVwMd3KSHB1uiI8E34J9X1bgV2GGpqCoXZuRflxMGn3tVCe7Q1jIqyxIHtCLVfKDnEJ9goNBEbCZrEB7bE/r6FHtvyrfjE3JiJ3N6GcvufuD9JZ6WzChcDeeM8JvL7Mu3AY4SeB4n1WGvrMfoFfY1+cay1mywj98dekc6eT2o9RqwPfkKWHetrFtT0eo7pAyJMlktnMtOFWIsHaClriElDGGApOn799cfpnwCu/Aljwu9x7MMUA56GTCKiSPcDs5Ai9ljUi7cig7MP4qMarJeGiESAdxEH0YlE5xB1xCH00O7YAfKbq3CgtJA9sQO0+zT5mB6ZRd3UPYseIR/LzbEDE6kntgxL5e8hH04k62jpMLonFjt9GiBReBg3gGfhu9ibABWy8ombb6LhFuT7V9GFfNPPi8PvxHQ2/nDuWUgxIYCKspAiwRemwEiGPmXtibJxM5emyIXGDIY0cSCGiC4ufxr0JlQWGFE6JEbxzS2HD2+xOJYDj31Fc3DznJtueuWmXHrYtjlTkAufyyf1MIN/T88cVi/v+0o8cfv9sT+3Xz6nvX1OoAoyvZmp2gBZkAiSA+SAVCQVMzqqqBiDGtTv6f5Mn6B3fUia6ROfk1mk+QN6F7/2Q7KSPs4uP6R3kZmf08e5/3M8cIUhklFOCtNIhvFiA4KMIhmntmw5Rf8F54sOhL4VW0715wF5hnTEdWkmmLtl8N3ewdyR6X4KjQZByxpOS1whEm9Do0mGSdcvlRaHkR9GgC8Tt91VAXO2wmVXNcQ1esWo3yPuR0+ffhQHIcNX3bH6TzPHu3HCusdnfjoYMyKucnD13KTB31RDBmI8pDD92CMkeaGbAW0UYBRRB7Al9phBqnuztKamtPdMaQ2LiCmlNb3fqRr6DpIzjBWSQl5tLgwMnVQcbR3S6DQSQoTUTIur2loxsThP5F8L15RGb5DqlDJqSt9Uyqgp7ZuuaqARxldpd5J96RWrpw1FjA6VKihQpRc7yy0mBCKxShitN5TWgMCqGYCpTAwtuBjNRBmdC4JM7h8go2fGEQHK3vx/EGc4E0EknCMMEojr+g7+8KuxcHXx+aekOoYKqpEt/VpsYF+drwfnuFADkvg26Bp+QFxBuvhSfPW5vot81sCqSKLyXmRX0ZPn4xynyOT4HUdB/jdwWYMxDDJRGAcwUEz4UoDP3dGTqG8AotMFOBx10MCESYdQiFEMGehrYfdi9YB28C7HKbpxRWZOgjdlcXkod8BA9Fs5g02TeKnIAlSd8F1v7Ly3h/7reSJJ02kKMP12oRAoKRBimgJYvkc8ccvuY/Qff6FP81/1bqUpQg/golg9iCPAVX/hfRp4JWczeIwkXjsdCwSEa9VvkDoiPU//1XPvzt5iLA1LZUwhjG+jT5NpfyGmY7uJHG1F0qnqhDO0Q7Q10ZYq1pZHoU+Tma0EADQxKGwczw6LBhVYooXIR2k3lN6N8mnfKb6L7uO7kAnTfdBmc1UNERRWIyivRkhHbG24l8GWeJ2wrxAzKeXHeT5gR6iGTStoBOgoeI6V4MEnoVd6aAsiPOWFyBfwZSAY56AmD/V2jJ0Dj4lwx+Qk+H4Ts8fIDqD4Lif+bFroIw+qKaRXp0yhp4NB34L5be3bservv3Jo663CF6/Qpa+sad++Y1Pbgvn+ILzrCDlCj0+ZdOtWpey3oGx1vOxAEH5eLNMqS/gDpiI6M4gBch965X1ERtvbWxcs8AWD9PQU4Qt4waQppISGaIi4g/75C9o27djevuYVci+TUaD5I+I6oMMZbATrJVmLyhRtOWrbC40qplxyWsV1j98U9nhuehxpbewAmwjiuluPW2P3ucN5eUK59fitQGOz2QRhc0OZo+p+DaUFJ6FC3Zk6H+kooDNiScxOezzkm4T2BHGPYIS4i6tBDGiJtrYweiecUMSQLvwKGG4swPHbMkDUiMtGkQv0kraLy5FME4kmuXg4mAT0bkXVolCIqgIIBqtQcXpFW4XCsCI4tyhhHHcgKhJPMOkvH00b7J2+QBBPICOHGIfRix9sPvTB7dGs2z/o3CTdsbSq3PP7qx89LXyT9tbNKC9vflObk7f0Dt3CdacfrWRtGyFnWLlmoN2jIIUJvGkSMxCExExPSFVLyiVrmiqd5Iv2OJ8SNr3/9n23LRivzZSyGmd33BMZfPnlfXdds3RCMDVVzKypb7767sGXfBrTtYsngk0rVjTl5sU5zqCr6ItxKVhtntZw+cjyQVenmFofaPd5nKFj0mrdz3XDLpiUIhseNq3XgMf53uKYvGwsFEz5iq0Im3Nwj4RxivYFVTkF7jD8cxf0nSpwu4UmlKVh+D46KVgPYKE+iDOa6X7jT0LONkCotLsNshfg4zE+LoLzXauzwjUIHmrCWWzeED0hUpd0mHNzQ3DGZ8qKKjLxk9OILCkEIP6T7C5nRjBgVwmBDJezUJYyTMZC1eHbnMuEbLW1IqSqsVTZ7CajShhZWeXx+bxVFjdfVpiVpb+P3rvpwQeXk1ySa1u8eAn9YvGSJYuJVSq/ja5/QDBKuYWlqjJLFaLKssqRgmA0OG1VluFCbXlhvn6a78aHyDsPLp84MZazhFiWwD/61yVLkCYigZb2D5B/+zmYkAjbUbqLHYgogaoByQseijqQiWEwz0AWgvG4brAcrUhWXi0yCkBztn7N4hmhp/e7CNBoFJW7lVJg0gPJDicKxYN04FQChi/1213TgW4XMH5fqlAURbzzAsT2GEVLObQJsSSm9kCpTtWJRKT3OyQm2p0Hd9IbiTtjxoIZdB4CxWgrQkTgtvgHOKQ4DOhy5tVXzywdOpQ+HgeZgwU4df84xjpnxPVxFkCOHKIM+CyUoRWjtMkPk9zBGNn5Q1ajSgnVjtFW4sbJdRL1gshzEgfehHpDPj3Che5WnEGRyNpGVEcCIkLlJJfA7qwfJYWvoZCIygD9eQBvF3p2EuHVK6Hfuq58lcbo32js1SuvfJUIQo+SshPavH5nIhXIFeRmtGZAPZOV2iXaVVaz78A//EyEtdiLDBuBbO8WT0h1wGvzsFXgczxBhSf6Ecm7nBZBCyQQdfc22esx6GWpFKRi8tZH167z+lbPWLxmNY2t37rS5527dNeDf/J6VhwAcfu78MLnN05syNWk77rmqclTYjFiKbRMmDrmzw/NLi1FmkvehzGtgveiLGQjXtkS9BJb0CK+9Qnt6Q7F5oSOk6xPQvzD4rpoKwzCdhxfHWwe1LEa6phEYkN7qxM1B3q0OPG/FA8zdhNGFtB10aioV1ReAK0ujDD9Hbw7h/Ud6nV9QEuWcCuYXks2AaOXAfkYLILf5g8yvu9HRbpNYfwmxAGsAfEynRhYVmhYuK/cMzCDeiIPiKNOl8Ho7e8GyGPCOjSNvrGoPCWTJ3n4wRue8g5JM2iSMtKG28xGbbYhtyzLYMgypaRKckpyxUKyE3Pd6HDUTg4W5er0hmHuyoICb5ZJbyjJzc/O9dRPLSnNya4qyjbdqDQA6VjidSRlltD/joRjT49RVfp0OSZTngUOSUhJMQV0yUnJKVnp6Rna1KrwsDfC9LPy7Jyi4ZmiXF6QNTIlxVyYnq6WUycYLZbqoqwsidfk5dWHgQbbSYf0OfSbniGM80YGnv+54aE/TXixpvSukOHZW29b/upd47TGN26/Yfo0wXE+8U5IPIKJ/KNXTfJb0q4jmaPf8O55j8a2Hvx04oQbr5oUKLwwkfsFenqBVQVnO1MktyuheELRwiWO/6QMGLgnVQ2KbQbD/z9lSPsBsrQjn4yHF5Yh/qwMnULRSVwjaonrGxEcIyxGCwEc3WhTwC5H6UaxpCIlZyA8oa/L4PI5JzeMGw0ydhM3F7UlwDGDTmVcg3wPveSXlAHr9wUDxCvYBG/Qq9MOGrsYscn+/uEt2mCGQEFiIqWUMDWWVGm35Thtk2fPHDnCat3W3jSusMRpv7SsorIq+szSk8tPLhn2zbHPFg0Zkp83wpOXNyTQNnVGvbnAnFdDpz0TMGnS1RqyZWGdtbCwILSUpqHnVxhFOakrWa29xOVwjK2/4u69OdOTNOqhgZZlw4fHmEnlUfJ87EC5u3G4zZai0tgc3sl2+9lHdZml5Xr94j0jynw52dtMpnJvVlbsFRDBCsMooSE+ivvJiKzVDQw7yjqHrC0mWpeoY15HJodgKiZBQQxq+aa2L+ktbcDgOtroLV9G3+ab+g62kWu/bKMtqs62L8m1bdJ+vNOGvYDX0XNM/csei2fkgIMlsPJAHp7bz20TutXa+ChgWBl174OPi9+z+AU2XpRr1EpL+1HHCjB2wF/HBckgGKeEcYjjBVrqgDumKBJypP8fCLQwgJGrAWdu6k/tVkLEaWdQvgGsbORykCMgOmAyiFafL3hCgl/LplRk27Lld0eyRyx8IPLQwpE5MDtPxP6w8/492/ia2Is1126YM2zo7OuurYmhAkLV30f980sHlRz4Y/xw0LE/kvgk/CZyRvwH4zdJqGVCPqWzuCw6sfQwXQgTsGsF2VdKX78bJGVUFbnvI6fO+31AH4nAK2zoE6Rh1syEdUfxmDNBUnCAzxwRbMloD8wl8Kc6TiSQvdVvMEFNaK8uvi/QNzV4fwI7Y8uFw0dfi6DhJIw2jnAYpzcT+PoM6DVV+1/fh+KeU8J4pqhIATE8BUPFRjrwO9OB95cN+M64Cs/xM20fehEJzJbj1Q7+SH7z/edR+v1BwETRkzAEzn/bsBK8U1KCH1UybFiJ8pH/FbuJmTrOJPz2pE4YAy7mw2AmeplI1greWUN8QYJsFF0lKwjSIMJ8UT3i3atqamLLhj8z/EqI8PcMnzWzhvL8JrP5uLm0xBzbiJEZknjl8Fnds4bHltXUrGLRGn5XTU1fBDJOzz9uhnz50yEjtouW4Yw6Zrv65fk1Ku4vw0islpHaxGxCbbIcj4sXhL92T6pDmI20GVFZNCss9ITD6L0DIYDu/vPF0mR1ONxrD4fR6h9mzjBnWCTSf7pYGvrPMv6xinFmhSCnsU62IOkGAcgCEpBWD/QaK1pOFFIv9BxeFB5tWTkV5vrOO0ZOeORRAKpfPvLI+NBd9A6+afqq/FHhheLB5uYPXrs5tNAbiSzavPsQSb7//t/soWdfvHfT8kgkGA5t/t2HK5oRo4cH8DDUKiENyOesCj8U0Upm86M7rmMAa7TFQxjTLcgewxHE4hGhJ9qKRIYZc4DVFdJuqS4cVux9++i+BNlRJhCTW9TMKtL8S+9HHznixffbBr7f2++AAXwGyR3zU4qgDR6FDyR3kIxTAJl2mL3rFz4AcXg/H0+HMVbDPG3sNqtKAqHAqPJ67MSG7R5M8FOr7BoAKoEbC3FVBUuxSvu76OHD/VLCzsNkJB2zJ8s4skavz8vzNrXU3XTHunFjzbnTgxnpd+b6vBV5ubm584QS0kpGvXpe8HiVrCwdUuLylObl2B0G3dAbJgwbNn9kWVlNkcloo+/lVHg8OTmVFdm5im4+wh+U/iSauHpuMncpNwcwMowp+GaDAmptcXbvt5lsLptsC9r8ABdM3jg2SCdeRWnmMclOlwIzYNCBkE5krwuHnktyGLyJJoBiDKLLZlDAhlReZLUUjWm6aUy1Zm5mcOjCT7fPWVL99bClc+bcNGf55c8/tzoUzFXfqDbZQ3Wz5jQg0rBPq7RpiIN+prGV9Z3KXGLgk1UpfBp5/lpXdl5+/ih6xdP874TXlg4vLBBkWU6dnjNlVEthxdTyst7exx7rDZ8711tsn+SzaUKVY20O5yWpKcnV7lHhSSVDyPhAjWhNKU6qrn5YSNdVlOgy6VlCCH/AlOUpx7ZS5FLFjpEH1MXKBbih3HDGt9FLXJJdtbziJC64FB9x3oumNwcJmuS4b7gpXXEND4oaYE06DRGZk3hZ7SePJ3zEG/aPKChHH/HeJtQtR5jzOvMSOlk34VbFRfy2b0ffiw7itcI5VBcgsEQlulAofc88xssLRuxPOIw3PH681r17I9Ipxd+I4cfY26O/vU1xFr91Qt1ulnWKUgZMgA54abzOpIPx41TAS2i9KYdah7gxSEUDWh/vtBfCgDdkJGwCqgs0jpq4L3F/QiLsN/GsU53sPG/U4v+XMSb6pMJEZytXE8kl6Bsyll2pvlUSFbMF6fgzyX44YTR7mP5d+ISlb1cMCuyPZpC3YwdQxTTj04HJpxIq1YTvA6MnWpTEbYC1QiCpB4LaNFLOI2xyT+v+7CRdNe27v/70fkQ80WtHxUoeMZv53OhJm9paoFZoQgeTd+MyPWEuFMqh+H0lDqkuwjRikfj7+SZpP7Phi8jTtTA0MC2CeFf4htzJOg5dASBvByGM1yHWR3sij4a7fBEIfiAYEoOoA+BVhcYMdB5S3QYN+91D265SufRFZkfGZrN5c4bDXKR3qa7a9lDsVZL37rv063dl9UP0u4d3nFsgWDId5hLDM/PnP2MoMTsyLcKCczseJvorMNe7JK9fbyEd51JAOkTvTN0A+2HCuEUcWtEhah2iTtSvGT7+jqN3jB8eZLI7GUnG0azYHuZ68uTT/DN8o2XNmKV33LF0zBoLuZpJ8HTd5mjre++hDmF7zHlevkH+jrQe9UGlMBJRmmdWBqZhhi+w+JyYRCC0oQeCTWvvR0bEby0X4V5HBIBOpG8qun+RjjXRH8JCIYTT0Ec0LNz96Bq0d3YsenzdqlXrHl8Ut0Z30240rKg61zZOWwMzBCGZe9qatbGZGA3j03An1hex+Ovq/BaaktCRw5hKZtY09ClzMg8Km8GGYMzP/MgSuhBAaFq0Z6C7CdbgDCDnSO/WSETU900VjjPvqHDfwTB+TTSL74KotL/vYCSiGGaAd5IO5oAV80B9kJcBLklhUWYzYPO4jvnsFcKoiauFGY6F4UbkCxTFQmF1MU0prq5xkTPF/J1Mrqkujp5kSz8Ki6vFF9A0UDIMOTg0DLpt4K3YATgzHwRyRm4G2SAu3Q4uHEQtgi2J63qUNT2KerJL8d5jc5U00BC0ewh1cHFen85W+lxQlgO+vXltY+93+KSob1zbdxB9kxWP4GgWnA8hyVPsSBHpOIwhB/MiUOhS0CHZ4qtdHE7mz4JSjEs06mUxID7BFIMaOuHSdoi1bppNDmlQoQgxOkGjIYcuFQrZtdV2aiFEFp6yWdkjEKmHJEWH+Db3Dhu7BWytAdqBLER5FzBXE76axKFA0GAUtMSoaN+DLvwSIqu9xb255FEDzAyxo2wkQOzF1U2h7DyxeDv9LaaSh4sqs3Lpa9KDl0/U9n7JP+RwoQFeq6/1aPgb3RNCTUmaZG3vSNVlsReUW/I4cxIVFNudIpsiLUHazjkGzmZE7cDXAucTEoT+QoIvq0lZAMZfrZcu9NWFwqbjaWseXeMvo8clEyOzfbcpIke7YmxWvZ87O4BdVD0/K7bKWT9kt9Uxbc2aaYHLcmP/FE8wAh27ngU/KD5tOIY1MA7eZnZ17FBjGhlgBVBQVRxbAQzRWgLB/l/CdpBgO6ITF8n1/4IDsvoDQXgWbQyJX+IN0kybael6m8FqL3AUlZRcdnlpcZHDYrEas7QkJZl6SZJGKKnyDq8dMXbMPfeMGTuidri3ih5i655iJfDsdVblWXvlrCsq7fhsQXZOOjxLPqA/8nL84bpJ99wzqY49LG7zrR9j8hXYrYbsDJ2s12kyM7KNFqvFXsTz+SXEnaEKVXmLSnPzUwsLU/NzS4u8VbFDbFHWE77rxmTFn8xI0umSMvDJAnuxDZ+k3Xxa/NHcjMLCjFz2KJtrCr9PQTsDEIY0lZwJ/JCA4ItmC5VsAekwZebm+264JWQkC0g9ugJGeu3Cs/T7x+gxVScQhFI+zVnbPIGkkkoD8QCNejB2VNVQeS/OweVEKy+WDuPCRUBMMNKTiKSyFTqM3sIg4EVUUJWTGugbtJIGjSpTfGYEgpIckBdPbCYzO8/QJ96gR2mssoj7KXLtq3ZXfkXV9Y9NnTmxyXMrueXLpE/vfbB544rSa1dImS2T0wvvpJ/Rfx9tfUT8Db/jSjk15912VangfWhuePrj7yWXue759Jqc2vYxycyuSG6N20MKUEuNREbWZ5o8jNIwuuPXxmPAYw8+s4F8+yWfJPCama2tM2Mn8/kQixyR1RtmRa+RhI/pTxJpfWaDi1RseKb1w1mKb4PCP/8JcksucgSHxZdEODexaT0pJIeIFh/P2eFCZTJmiv3cyyh2E9/qj6AuD9H5nx0jt5LQP2+KnSS+A/Qbuv74LpKxYvlVsX80tbV1trVGjpN7yaXE9v5V9NiN39K36YaP/khuJKZH6LGWpUvpv++4btbMDRtmzroubl9XeKt9oCet1gtYny0NczJPbEDt/WsvLOJOh9froEuPFvzTM+aGket2PP7xxzHe4QMy4HX0tth9fPMP91VX/0nz2L3P/xC7y2cXOxxexTePi4j3wLv0WG+tV2dh79DG36H1CpOJ438c9FR14z1XtD729o8/RvjPSd6h0aO5n5L/8MIx+nXCRsuwmoatnFD0pTDjuX47N+0WT0RbIzRFUDPrKAp00Sxkla0KxT7LSUQDff2W9CJwxDyQpYdw47gmHJX5gtcT4pk1QBKlfOIJERfavzDuTVwIugDLYNKxFUkEIshIXIITR6vk8BhlAT22XboAkI6AYJNFe+WEYk9TpSk146pR9S20MdV66dWXWlPT5l09T1gKF0OGKldXjG9zhA7d/NGRoRu1bQ0T22LPrhjR4h81Yln6isr9ncXOZKGq85GqFenLRozyXzlqZWq6U8osmj1nYsW45esqx82evS+4dfHircGayZNr+mN9DeSZjc8v+Pwl2uivrxcq7+ymmwuGlpOVe16SkrUv7aF3lg8tIOs/vSMzXWJjYhJ3SL5WWsF80U0EV6BpUK1D2LpGh92UrzFJp7fTR3ZMD8yn3ti/zdPy15nNqvF/p51kz4/ZHpc3z6cLJg8TxKYd9MkdjTcujq2kJWbzelw6fPJ2oe2KpFxTqXGIblTqRAHozr1kiHSX9BRXwg1jFv00AchySBVEEG7KJzzSY1U59kpI1jF6naD5JqMwS89n2fOSzU5Tw4TZDVOzXbMXzimwZJRd8exVa2jsx790es2GDPfYWUtWXXPlM/nzZjfOE0hKzoLLp8+VeWmvnF9cGfQPMWmzPJPGjkozZmRMHjXuBI1Fe8ZOqMua89Tqkbtu33Xz9eHGktTYkvqUlHEzF1kLRhSap82dlKHYCMlOhq1QE8GRuG5JZ0FHEgvpUIQqEOTQ2RIdIgHY9U15B/VFNAVRpKK/J6WsjFSguxauAiTLUcxPbpCURRTMAENc7I+RgL2WpBFeWfB6Pt1xkdiFwlaXIgrRFCUkbzrImI6O/Dm/c9R21oaoUUnmmwaHpPQvJGsfKWYi16f7aI/QwrSEw4btjYf0uOPZ0aPrXqf3O2prQ88tiCeXXBAq+kzFtzOTreNF27OXuZzjkksPYqN8YkDNjQ/1rghMSgkAIALEAtKk/eFzr4W3nNq67Iorlm09taVvamQx39op9HS28otpdxiAft9BmPRwq6QEskUi+7d20q5Ia+fW/RHy6GXtkUg7J5IAN1W6T9Yy/0wHfEMVW09eAGJ7LYz8CiK7ZGJV+BC2o8uaAIqi7NIFvcQUFFw2cjgQeGfDqVMb3gkEIq2nvmkjCx87/e2jj5w+/Vjrs8+efa6TCDccjW3r7Xuv7ZO+bb3i+6e+aYWs77R+c6r1nWAgEks6/RhkfuTRb8PPtjEMuepkRezlE7zhS2/sdyc4GFsD7cVJcK0FKprQdDqBgrlx7agu7mMuBlngcAE+Nrlk5lRWDCmick8IukSTNp1YIorqDQSK/F20GxfpQISc2bWrdxdxR2L1Uh3TjWXRFNVGXNa5axeZy+4p7vR49O5SdNQQdhP3rl2eXSig4B2mwNy1i7bsgn/E3btL0ZvF10kl/FMNF6zewM4vzCeiwcJ4H/EPQKQG8UQ/sG9U/F5j9UzyIVmBkRCMDMD8GihaYO+zvoeEvqc/y1o4HHHm8IVZnzFZGnjACLb2D+cukyO9WmgjEMS04vrBExWaQlHENEVwHuN85gaWISllKM/GTfmozUSjBKpfIqrn3sGHFDIQSRAGhQczu0cdW/3OHERM8CG45P3ca3wXdENY1EezRH0EpbnzPmDop1nNTWa6R4VIoO6x0B4gdleAc6TxRpNUrkIaCb98lcyLgXLRFRJIvipNSCflKiChzTsTq+N27kysjouOoluemEBuI5ylPLPEZ6uv8jsr9U3lnudD4+bfPLkkhUi0hc+tqhlZXZWcpHWOFDYVVORnyCoxXa2WDaHqIWVJLqGKlbVzUPm9rsP/IkOSgzv27PaKRmdJvqgdfUnTEH2qtsI3frSHHn9q5pbptcWWIlOJd9xw8m7lwpmXj7nEOzI3K8t76fAhddZbBq//sSRQy/l163G3ZiVus5YTGE4ani/i/868Tfo1QKUbjq5ff1R4jy1LU0OCsth9wPL1Yn76+qM/Hl3fNxU1Yuy9q7j3ZFEWgU54GJ/KRPxqR1VnkDGqkFAOfF82EcEUInYVE+z8tlxCHEGnOOP2Dy833nWWnqSHb7/1Lc9+6wOrr/zxxO+uzhz3my8gHNpFta7nJ5wjFjKCnjCryPz5pIKG+FSpc8JZ+lf6e/rFB3OME8Z+vX3JujeHD9WO3QtPHb4awivn0/f5MbOheFP0gLlElSKQL2kBfb2bl4HGamBsvQ54CddyDOcmYHshcMkE5uq1oNoWLmXRElJVg1hsIjARPYGgLsBALruZzmMOYDFEyYR+2B30cH6pas/LdvVQC68aI+uq6Yt5ZTJ5CwaGpNPnpn5i8KTHHqqaJDmKguoDYlEu/Z0rl241uZOSxtKx2UWqB1K1qk/oBF6Tk21P/0ZvNaQL4okKRzSbP/mc3XrUNNqav1WVZs0xerL7Nk10u4QGm/POdKc5PW1Hrim2oPZyYQW7bTCbk7mBa+hVIL3gLNKQxAJ5VQOSsFi96gjToyDpQhIV15iwtT9xv9xMQIEzuMvRpxXmFAdziuMNelw46/XYOcdFF8qqfm2ZrBgSfGyZrJxJnJzWF4TuYM9nykcfoGfoDrqcbqdn9rK1sg+/R64mKX2f0SfXZGUYs26/3GFYT277+1MkeN2wFRp1VpJNFRxjs9GPs4rhCnJ0zHVd43JlGTOyLt8opKUkG2XNsu/f/d++I3+j/xxHppLvCb/51vXNeY8LZrILy36AvfO9h9ni2L0kxSHcqRaG+EkyeeVP17VoZjRmunIqMoZJ83aN7L38cmE0UatUfKiapEiCQIaHiJo+WV6YP3tKW/3rPf9Dr7iGvzvWsJIcItKbD0eXkAdjY8os08h/KT6aiXXVMy62BgHtMf9RGjqh+QetAmW+NxiT1WytAmX4AxeT/uIVLvZk16SDXaPuD+BPCT1eUl1dQkpKcKOSX74CLqLElFTgL8qYCTO9lInLAdw6hZulrFqVBYvgRR3CwFUNNp14oXOsH6qF2AboBkgKuEMJTDuQJpwhvhbwhitEgrLT5YWB5VQ13FM+K+cy+uU/H59AcnEFq8LbaO27YfIGxuIcT3DRN66hb9ygGemvu7lQFJNJ6KXGaV21RCVJAm/ZNsI7QvM/Ddkf50xQCaLeVUDSYvURXBWrlAHCu+P1gcyTpjR/9lnzyG1Dcuw5OeOMIzyeEWkupyU52ZEzZNuI18dsaB0t8MiPbuc65Fq5LuHPoiFGSSaijgsGjLjWiXcRMUImFxNH1Blr3Ck8XmnbRD+LTb2Ff4Km853tsSmynj7nXueM2nfyncJTVQ4V3RibdAv/cnQ7/wLcxnc8x62SC8QIcFkz2j45pj9DyTGdKBaGgZdcIadzSXB2yZn8skfX5I0Lu2caDHn8B+fjdDNfTt66rL2B3kTd9KaG9svEyJppvkp9kihW+hAm9Mf7ckk9UZd/Qf9FMr4op2cRx6CvwQnxRL+uf6An0QlcDaAcwLXPe/8o8raCeXUK2k0ME4hJqNOU6iK936G6EZW6jCM1oPdGZ6uqs7WzdyuaLM6vidJCWzArw+BSdAkmaATZlG2cgwViCAX+EF9v544MKBM9/HFhXd9BOA+wicD8NXNe5HUqrz6JpPEAG2TeDxJyUAfcwA8YQmvJFwqI0JNSdud9p1omtd59d6vLqSmYd/nGlasmV7V89fBNFis5w2i1fvRv77k7j6bktW69oaREVqtzR/tLT9Kr6X+dum2eTqdKD01sv+fP/01GPocrbKJnVJmTF7/SokovK6vNi9UrRcVtr2ek/Rdve/Sb6re0XND2A+p0sRr9ah3+r69l5Z8j58RPxU/xmzR8/4Ix8VO6lyzYTvfSB3aQ+exEFogT4Hrv9sT1/B30ATJfkQUVXb0A6LgKqCfaZefH9xKIKylrQRT0MxE47rIIv4KBGk0Pw/kudtPc7z6Nhlfc/QvNtsoiCpsYt9czm70aXWr6XtalpSWlqkRRInJyitXmNefmpGuTknjC87wK2Fdyakq6Tlcp/EhTYqdurfH788z6HHOxyzoy6PMMrfQE8jLsfKq6oNDnHyZsSTiw4OpOVSetTk7NyMxJTjVk8RIpKysF7p2Sqc/Kys10aJLT8oVMHYBBtcaJJodpTYUWny/YJqqlJFmWJUnUJMlCkopvC/r8FstHzCciwrZKAeR8Xj7CdvPH220Rt4zpmv4f2i7hw/D/0n5kUBtGzf9pG5YrzUOfGdSOQ7wXtiN/OLFzADovg6QL0sin/1lTEok10m9/vTFXsEzo+aM06Pn5X8xNh9HnciY05F625AYt3v0/5iwQ/xHmBJRQoCfu4DZKStOZZK0pqHUFoRT+cwFwhdGYb/H4apbUjzYaUwWSJKemGjLN2SWuivLikuzsLGNKmqwR7vaY5eH5q4IzVrUsWnTVZc3ultLa3PIRMyqen/LYqMUL6h/5+JJ54jpd0D+k0mN3GUzVw6fPmKNLclrsVujoHKNOZzDnOe0OV54l9tCMG8+pNLwWEFV6SkqKWqfOSdIln9tyyWq/OeexzbS7uZm4Nz/mq2HtcAjk1VygtRakg1yhKtOgR6KRRqCe8RWMPqerXOX3ZepgBCA8wQMoMsAWYQrxEOGekurhBkO2TQEktmx17hi/e1cL31RYmh2siJT7sksL5eZ7KN3ta18dNudblhcrO2oVL7cku1Yvv9m3m/C94Vmz/MPLA/6K4YP0tmq2ootomR1PjcKKYuZXNURwcZxQqCyE69e/rmP+Y0Cf4AlxHY4/zC+eQClXyc79rHyLYlYl6BvG/NJZxh7FlR6ddjB/fK0CKxuk4IElKvsFJXzYB5XtiPv0k4HF4RK3jgi6deETP//u8+UhG0YjbfTkRcomKIyjWI+LzzEHKxa4stJAMI8u8t0DSzzfPgN092y9hOmiq3nj9iUdiv4XWc3LV8QXW150JS99i91UVoDE10HiPgrn1wj0e4HGdxFIHFg9tqa7/4z7DQzYDwhXA00AueYqZQcLAh+dhpsBleO2QCES1x2kkEI7l5mRhNeD6iVaZVwUJDNNjKhsjAQxIiPn9/rKQUR0paG8YwkAIPilnXj4u+lG+uBPu3ZxP5F5ZBOZx0H8p5iHXEaqv96y5Wv6B/oo/QPG+D3Txq29P7hw05N09/onn/z3U0+SCu/IBRVmXrjB6Kjy+6scyX/p7q5fNRZopIAkdXpS3rCGKaMMv7gDkXfXT/TBn73fM/CtpJp9iaMs77W28CzjA0vXPxl+6t9PPrn+uidpcrXu0oVzCvIb2qaPtGerBdL48ccqZ/XESy4ZF9RmLN6/aKJVT+K+6nG6aYJ2r2A78lmUXfaczNjBcCrbaU/sX7nnC+h+Fi9lhmBGR1D7CenimFg9mm8f0DSFwqEmzQNwEU0ZoLDYPmBLsR8Ui/zKeN6VcMFWTJgNWITBjMso4vrf7gFh4jbzjEH97AfyEnkmSNQ5XDn6OnFOa3zTyyAJmAZe+HQEzS+4cxXb/hBVpDLx4Q56aeiiAjUPqOqaWt2xd93u8g2lfMD9T3dbaf9VaS3Z525qK6Vzn3O3NrnhNpz7nrBWVWm16e6Jk4YWhsZJtAkfb3W7CT6/2g1XpW1uN18Cz7fFttG5+BDZ9xwU5Ob9bnxbd9nqcFNOTsHCPwUuW3UpzIu9gJ090t+4qdxl3ALuau5Gbju3G+3JerRw6NMkuVz0K5Vg6wlRswPCmOInkNgpMR4qHaVkwH6FGElsiWdM7CBGJEM+weoHATNAh4o+pnSRJcWFQUwYF+Ha5MU45IG49HlT57kmqy6nwlljG65JnuSbWG61Np3rbFrcvFWd2b7Yf6dDi5IabrkGB0a19t1Vi9sz1Vsrl5qjdzlD2LNko9K9h3R8ni6sy+N16enhdKLRpWfQ7ox0ndlA3AYz3Ydns4F2w3l9GKN4Et7DF/pGXjOtoazKaJPUlfZLLruzyYefNqr2pa8q/Dd905g3TFq7f60Hn/EoZ7iUarIbv7nJX/HVS3kjMsk1w4uKGeVTTPtUm6PLzdUZjMm9JmDBWpBIvlHEkvg2cHG/D5Rx2EpMgkaBgNcQ8Grju1SaFX1fDZFsia0t46HVZYhr/xTrYkINBGzlpWtmr8StoRpx7Hur4h9U5cVN3DpbI3xFfM8dEItXvzxzJu1GtxtCU3EqfZ7JFs1GlHPm54o+IdzaicpuxUmBrTtK6LeTOANQgCpuFvNW8LnSCFuBgUtnElHmzRJ3ZkFfloFXIoCKeD2s8PW2eG3Zo6Z83hNCZRTHAiEIN5FW+7X5uBhHaA8XDccGh89TIrQFTS54kI7zscMPAhVQWzOsaggfPPyb/YW721vbdxc+vDcmbrzlHkf9onEl5lfp72g7/d2rjpFts2y7pf2XNxdd43bUDi9KRGJHyVz0FKL7mL/Q+XjNypf8PyI5IaWE0E8w9qP/pZWrnvUl1TmdI5K8z9IprlCSrmqkv4x2r3xpxYqXVhL3sPGTspNCnJqtLzjB1k9boBVHcKO58dwk7hJsS0ZUVGyzGcfAC8VPX2lCnHCOC65J0CA74BDjobDC7vVlZspZw8udM5+fyTcNuoy9Dv3MOrsYrV/9cVzehksiYgeUUNzpWj5vRnZOknX+pc2uBRMnLrjguu8n9Jka6D8Vj/M34i5KzLNbCVG2PQL8I002cHoujytCXUoaby0nLgKHzoiERgeMF2URlyQATXExO7NsVE0gb1Z2HTt6rKuSHBn6xa4f317gXbP4t6/RwJyx097es2jrnDt7Jy2Y1HvnrEtr7xVLou/O21ZXt22e4JmzXEXs2w9PXZxP/1ZOMx/PuOLQtNhfwjM7Zy4yrL6kH1NJD0BfME0AIH/cE9lGJIC9KFaZJNxwWpJ1WvT5DRG2jSqRtTqmxQq4ApLm0kmFddXvzKRnl9H/nfFxTV3h5EvrJ/Ia/QMr8oe9s/gFnX5c55nOcXrdC4s/qrWv3KfX8OPFK8oPHLls2hI1TSX/nbJ01mVHDpRZhVD1jT+GZrroTXwgr6e9/ett275ub+/Ji/2e3GCZX3NuU3UtP2DPlVTcY4FjO4gAZAoJGt4l6xyCK74Dz10HvnrvBX/g3Gv6sR90CWfpbWRN6d+yoneWv20ha+iBIv5afrusXnLnnV4fWhL19U+19z5F7CTLsYk866PDriigPfSrUnIvnc9dsPdO+s/33vm1fXd+bcMd3M9LaJfqVA0MEaIvaQfbWK8hgjy6k/uc+a6Wc8O4Mdzs+Ir4NB5tH36fHUiJF7mY5EQtKhpWLbLNGF83ALPGZQwwV23sQzJgpy/Gx1zlEvAqVHMbhd80jRm+8smlG49dT1QvpflSakzqPOme16/87ULy5qKOafrSG/yWKe82LU5P72jC8+2qqWxLsOi+p/aIqlRTptPgSxky5Ka3nhTqQ+0LQ6vnBGs3TLnhD6RmRGkpEY5sm/XA/PAsc+0lNy8s8TjyZrwt7F199T6Bv+/q1Y+SKcrmYn1PXL/CmJ2Rm6czp9nVmfz2eeHt2O5TyTj5Bmkrp2U+lh5Vpgl3jVX2j3UF7DprOe+yEWOmyabsIGuSVEL0aVJ2JOsouvj3WH/4zfJXQk8uINqrN/3z0IZMIGnV/xjWn0z/JW3dS78/gO6Od785r/GNlo29r8158C8bScco+uOoeBLMXQ/xSnulhy6mBxXietCVJN1K8qN/jXVfw591mZf9M/bxlXwJXcmXr4h9LLXRf9kWFES/uIYv5/uK8gX6duyjK3l/zMdXNseOKv6EpENuZutwlb3vgLgxzySfhjDvFBjbTpC8jSZyk1jW1dX7xy6hkd9nSNEbxmbH3oq9nT3WoE8xSHUvRA+98IIw4YXofr5YO9SSL+vpRrIJMIxlqHbge9LZnsQXOogiFYDqMUqAezSDjB/UEIUcaEhAbm4K9d6MJF9cH2q6KV1MTaLLyZYcvcapoROPf0InQkSfQ7bQ5UmpYnpRkG/hrwryTqEdn4m2wln4IN2WlUS30eX5hmReTda88Qa9Tc0nA5jaRa5JyrKlF1VQNTlbweb7Slkjz4VvtSjfKiOjhG8NQpvAHCzngVkWEJGDwGSUNWsb+6agglf13LQ1O2P7Y0vkFE2yxpKSzK8lX+Wl2LMtwtXCwksvsVCb5ZnLonsvm2ohf7E8LdRHZ5P3xXRzekYyru++zp6enGrCdfr9cqGR+cm7ma7gQqusTpIdIUJEp0uXTxKev6LDaBLKiSgEgiIQzYvu9TXh7vll9Db/YZWO3lY2/+4Nh6mKWbKiL5I17FpYCDnIGv/hi0mdqsmJp96O54odYJavN+LF/ne8lAtl3FzkPz/fscoOl1AvuCC4YxRJJl49UIiLbl+FFdA/9BD9jvmhP0Ra0jQ8OUI/nj+fqC6+nZX8ENEPfIi0JIl8N6lFkybJ4EuY/jeBDXCWGX++AyTbecRC0EX/PK/9JnaALfsZvKdF39T4Npwpim+CIrv9ermDNjlXrYlmMf/lC3cvUUg0K7e/Tc3nLdZKuWjxUvZaQPvX4LfEd9GgKYg5sgB6oEd2tVjTN5UtgMf3sa1clG0VIsqm/MpiKtzvoN+/BnhDYoXUxfZSxq32TWwPIIWxMHhMU5gbtmov8r0wU8t0o1e5tP/C/49BAS7/H2FidXd42mNgZGBgYGTsnFN2Pyie3+YrAzf7BaAIw7lb4r+QafYLYHEOBiYQDwB4tQx7AAB42mNgZGBgv/D/BohkYACTjAyogBUAdckEZAAAeNpFUCsOAjEQfVMEWb8HQCBXIbgFCYZkD7AKwUFQxREEGgkGhUKwIxBIzoDehOCYH8u8TDudvr43KXWwSDuApB4+0FCFN9j2F1jWTCUaA9sZkYvoBihr32MwShcHONV4qp4r0EEyxwn9yrgJ7+9SipZ6sSLVdBf1TGOqHNZvZGLWVKa5N/0dBzM786eLNqolrV1ZmAVm2MaraWjleLVCYRNqbHDq3RSfqM+u89MzwH6IsTdGR9eYOOOIOU1kjjYcO5/4C2ywYWYAAAAmACYAJgAuAIYAqADUAT4BkAGoAe4CLgKSAsgDEANcA5ID1AQcBJgEzgUKBTIF8gYcBmQGkgbOBxIHRgeoB9oIOAhSCHgIqAjSCPwJEgkgCS4JPAlKCVgJtgnKCfYKNgpsCooKngrcCv4LNgt+C/AMVAyYDMwNBA0+DW4Nng3MDfoOJg5oDqgO1A8yD5YP+BAcEEwQlhDcEQoRJhFiEXwRuhJYEqASwhLkEwYTMBPCE/4UahSUFLQU0BUkFWwVsBYmFmgWqBbqF0wX4hhcGNAY9BkQGSYZZhmgGfoaQBp4Gp4awhr+G0wbohxUHIQc1B0GHU4dhB2mHcoeWB6QHu4fEB+MH84gIiCGIMwg7iEQISghqCHkIj4isiLQI3oj6iRwJKIk6iUGJSglWiWoJcQl9CYWJrInWifeKCooRChaKHIoiCigKLYozijkKRwpOin2KlwqxiuaK/Ysmi0WLWAtuC30LiAuLi6wLvQvJi9aL7Av8DBWMKgw1DEAMTwxcgAAeNpjYGRgYDjAMItBkAEEmICYkQEk5gDmMwAAJwoBsQB42o1Sy07CQBQ9LWhCNC5cuDAuGt2oCVAgIMIWcSExRKO4LVBKI9JaKsVf8Mt05xf4DcYPMJ6ZDoS0GzOZzrlnzn3MvQWwhTdkoGVzAL64Y6xhl1aMdezgW+EM6vhVOItDrabwBhbag8Kb5D8VzuFU+1F4G/v6gcLv2NOXvh8w9Q4u0UUHBuawEWAGFx6mtMvcHhkDFu1XnhOiUKrS6ogoxJhoJJmQyMYCA359WkvdMTUhl48GilyRXAU4vH3hKTI65Cf0EL5T5rC5i2R9snnGt/BMpYjzROYIbZXxIpXvBC2qZ9SKaJ6MdkOFw1ziNQFKjGRy1dDEHa7QwzVR2iuf8EsrjITiPtGh9Uxd3JIR1jo7pjJU8eYrjwLO+G3yrRYeGVNoRmRFh/qcUgFVueuo0Dr/R+092eUhqwhkb0XtQ4lcOQdDTtlixkgp/ZVyOaEe7f7arONa27xzabV4O5D/kCnvTE67yrNBpqz4Eip/30N4OgB42m2T9ddUZRRGZ3+I2IhdiEEI1txz3huIheinoGCBgZioiIFJmCgWiIGK3WJhi6Ki4vI/U3T2/OasNetZd8179ntnr+f0Rnr/ff7e3ove/33+2vWlN8IIY9iNsezOOPZgT/Zib/ZhX/ZjPPszgQM4kIM4mEM4lMM4nCM4kqOYyNFM4hiO5TiOZzJTmMo0TmA6MziRkziZUziVPhVBUqhpaOmYyWnM4nTO4EzO4mxmcw5zOJfzGOV8LmAu87iQi5jPAi7mEi7lMi5nIYu4giu5iqtZzDUs4Vqu43pu4EZuYik3cwu3sozbWM7t3MGd3MUK7uYe7uU+7ucBVrKK1azhQR7iYR7hUR5jLY/zBOt4kqd4mmd4lvVs4Dk28jwv8CIvsYmXeYVX2cxrvM4bvMlbvM07vMt7vM8HfMhHfMwWPuFTPuNzvmArX/IVX/MN3/Id3/MD2/iRn9jOz/zCr+zgN37nD3by57iVK5ZHPTrn3xyt+n2zMsNMs5i12Zit2ZkzB1nJq+RV8ip5lZxKTiWnklPJCTkhJ+SEnJATckJOyAk5KSedT+fT/5VyUk46n84X54vvUeQUOcX54v3F+drfa++pPVd7T+35enje+xrva7yvkdPIaeQ0cho5jZxGTut86/u2clo5rZxWTiunldPK6XyfTl4nr5PXyesGvLBPYZ/CHoU9iv7wXGO2ZmcO7g17FPYo7FHYo6jk2aewT2Gfwj6FfQr7FPYp7FPYpwh59irsVdirsFdhr8JeRcqzX2G/wn6F/Qr7FSnPnoU9C3sW9iv1l/3hc5rFrM3GbM3OHHBTj6nH1GPqMfWYekw9ph5Tj6nH1GPqMfWYekw9ph5Tj6nH1GPqMfWYekw9ph5Tj6nH1GPqMfWYekw9pvuaQ5/uaxZ57m0Wee5vur9ZBrzicxk+132zMsNMs5i12ZitKcc9L43z7nlxz4t7Xtzz4p4X97y456WV474X9720+Q9k+OnYAAABUrRnegAA) format('woff'),
-               url("../fonts/dashicons.ttf") format("truetype"),
-               url("../fonts/dashicons.svg#dashicons") format("svg");
+       src: url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAFc4AA4AAAAAjggAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABRAAAABwAAAAcawcIzEdERUYAAAFgAAAAHgAAACABHAAET1MvMgAAAYAAAABAAAAAYJAJaUVjbWFwAAABwAAAAS4AAAKKV1hH9Wdhc3AAAALwAAAACAAAAAgAAAAQZ2x5ZgAAAvgAAEvGAAB3YGyqygJoZWFkAABOwAAAAC4AAAA2BbfszmhoZWEAAE7wAAAAGgAAACQPogiYaG10eAAATwwAAAEZAAADvOx/y5tsb2NhAABQKAAAAdgAAAHgTh5scG1heHAAAFIAAAAAHwAAACABQgC1bmFtZQAAUiAAAAF1AAADBki4ZWJwb3N0AABTmAAAA5gAAAlhlodeP3dlYmYAAFcwAAAABgAAAAYe1VM/AAAAAQAAAADMPaLPAAAAAM9klqgAAAAAz2TPVHjaY2BkYGDgA2IJBhBgYmAEwndAzALmMQAADoQBIQAAeNpjYGZvZpzAwMrAwirCsoGBgWEahGbaw2DEFAHkA6Wwg1DvcD8GBwWGr+zsF0B8IKkBpBiRlCgwMAIA9nYJQHja3ZA/SwNBFMTf5mIkyd67iH8gYLEgKVIZLMTrzoiYFIoQUaJFooIaRDCVpBACamFn67fwy9hoEVFQLGd3rzJyHolY2Ns48OYxMPyKISKHhjdNInYSl3ESg5wUR/HfpIBGaEpl1KxqFPpIYxx5zKCIEubhYwnLqKCOXbTQwZUWOq3zuqh9HeiySZu8KRrfVG3Vbtm6bdqW7dhrexsmw9EoIlL0zSXkMAmFQsydwwKCmLuCGprYRxtdTdrROa10acAVJmeUKZnAVuz6gLtnT23X3oQUpqLoyen1encPE96Yl/UyXtJz+JP7/MEhWzb8zi/8zI98zzu8zRu8xhUu86J74Z67Z27bPZYn8lAeyKZsyLqsydXsW/Z1uM9fSKToBy4SsSV+F+jf6wtwHn6WAAAAAQAB//8AD3jarb0HfBRl+jg+78zOzG76ZlvabnazLWVTt4WUTYDQQwstFpCy9IBRpEngFCOiUmLDhh0Re1TkLBxnO107chFPDz1sHKfeqXd8PUiyr7/neWc32SDe977/zz/JzPvOOzPvvPXpzxNO5OCHnOIPcgIncRouhUvnuEqtTSvobDqTltiSiVZHTvU+Qh+LPEJ3kOmPRB7hD0abyPXcz7TnZ0KjH3I/Ew/luZ85wiX8VHIcz4W5qPyC1At1+jlOQ4IhYjRZiMkiBIIaIkv6fGLUy2m8LMHJwodIMBAM8cFAFZRXBcV90fpd2eturil9YFpJ3eyWFTXRh6L1T5nNy8zm3FGLjSPsvikV8tgll1ziK/CmNvvyzNPg1jSzsIl/dVdeqt1l2VKWlWdLJSnRh/hXn2J3p5tzA2MzKu2+Sy5ZMlaumOwraNKuHJnL6uQI8XARqVFWc5kwJrYqo0Grl0oI0doLXH6tL0BOCZ0ta9a0RGhKBFJZvaYl2tSyhqaQU2ta+IMta6DbAvdvqONj6SiMZRqrxyRriFtD/F6RwLDiITXeviy6Prp+Gf8j6YpE9/GtfVMEK21Xbbp9GX8NK6ftkTuiD0cf5WfQdHKKpkC9EW6X3CbXcFmci6uDeo0Z6SSNuEkDCfjcroJ0QlwByFs17FqSiaQ3GQMyMUrpRLK6XRkNJERMrLRK+semTbe3fLGMSM3NDQ0NTzdMpE+Yh7Xc9huysP9b3pifX9CaH/0WkzJytwVv0N2/UV6h8xsbG56WDmLJbS3DLESc2AwVNDY20yeWfdFy+6a+WVDB+flW3hL9hqVvkHvYjU2byKJN8IqZzmt4urGB41SwPsLQpzZOx+VyRbhGiNbnKiFum2wvkGD0jV5bVYCrMuqlApdPtGlZGvBWmbQ2GNCBS1FfW/TQ1bT96oeKamuLhJNFtdHGwzfeePhG4QA5BcmNS0y5tAfGVMkLnfzBotpIpLYo2gQv8M9g8WFV34kl+I5IzlB5Kb2fXXD8wJoQYEY5nD7RZrBpvXyrcLJvv2Dtz4qQU6K+97twRNTj/H/DnZC+kk5yauiTA1e9mwRw1YtBIqcRu02WCtwuXwP0NKBR7shEzKcHXyRNORe63Jn9r18gXL226tt5tKPD0+HxeDrqBYk0ZeO9HHpQylMe1bldF7zd3r9hetUIeKhko6eDdM49RffArUy4lUNfhP0X4V6XolI/Z+Bs0HZJ5SY4YkHiygwGHCYNb5Rwo7H1A7tR6lxA/3F59MvxR24ez2/z+RbMIao19C8kh1iKqnt3W6abLRbzdItZ+HmBzxe9bPzNR8bxlstJ5oI51R76F3qC5K/+OZpvNsce5ATiIR5ZLe2B/V/CjVFm124bnFnixaktIQacyHpix9msxYGBrRe/8uOVOf4km3K/rK4t6v0O51rUF9X2Z4UxGzYXmwcy5NQ5yrpU3Zjvm4KTbq5tqd1lMJsNuyDDuzBH708si36COQYeuS7ufnm03AozyhGYRpeEW88kw3CqYCiJO2gM4O5S6Q/wHb+d9MqoCU06329/pCcD9MPAW35i+hEKmyaM0kn3H4hefcCnGzVh1MuTD/xI/xZ4K0BK4YF/ssKmV2C96WG9HYT1lsVVwLcLylTlxBUSvFWwTtJEwQmpmaSp7AVlfDkMToh4VcYLpwY82VpBkKSShkWhxVvL0ohKm1Xi30QyLvvjxnT/g3u+WLjo8yducLsv++BylddVP25cvU4XXL5gQumaR2bL2WOGTxlG/3pgy5EVZ8R0tyXLZCtIST7T/t5mBYaHZTW0x82VQ+/tkgz9lmSDze9yy+6gy23XegNBd9AUCPptBqMpaJKNJi9XFfC5CiS9rP4kJ3jHkTtaF9Oexa139NwRzPrkY9MwKJnRRjysZJjp4/6q093dp7sF6/KZcAce+SQrCHdaF5OihbOhJJAbK5m9kA7vxmdZuyJygTwVYCzMCmfMBCyicguiYHMryzuzKuBnbZAaXho1am47fXPri/TDXbQnLOSOqVw1l/DlKydNWjlJLnuJUvrz3HZ/I302n26LCOR60rBq7qjo8UnVQXgCv0UK5TZYx1rc0aRKZZLLYH1KsldDvIFMh67A4Q5aYI0GgnYNsacJwsk7iHb+o6EXlt31Y8FJej+9/3DWK6T08TvpDwOlZA6Zczhzw4HvpT2b2l9tmfvaLbSddO0jmXf3dsYKSBdt3/TpvbM5hJUR6K+yl7JhNxf9cjdxVpVJUlkd7oCK9dtYRQBS+eGX7ZetbL+sg/0SJC3Et2EDfYc+Qd/ZsIF/cM2eNWv2wPr19G4lHsGKoA0f7s+CszDu7h077objOD60JrovHA5De1K5COztNlgX6QC9TTAH+bBCSmCNBLlargF2+4Rz7Heb1qaDJnljRxyyB6GdTrg35BruqxKu5Tbog4P14VhRba+DgVziUf76VhSbYYdHcMD4VkSY/dGEkoNDnyBdCDZiIET1MRR4IuyHppjZU+Ew4HRPPA83YlnoN+KDsLSH0QiWoVSCLUYluIOwMWCXwFYAiuFkjGKgPZAR9vT2huN/SD/0H4/TD4K1ZU3/Ewm3EZdwMOeH4VsyjHI+4hKdXQe0hIPNbsAnOI0ml71AJbsc9gI5EBRORo1lkYqbhZPCyf7hLbUAxcJ8aXuWr+ggfXn2bPrywUJ/VrtwkhT3HVCtrsWxCLOuRf/wl1uelZ/fvft5+dlbFJwnj5TXADWoRQoGiDREfDag3xCdydLt281m2tK3X1Wy3zIt+lc+e0f05Bi5dTvQWHRq/zDx2H4z6b+Rz9oR/WsPB3Ql/EA/DsNKsXOtsHOXce1QlMGXEYdVlUb4jEwLgZUbIrCGjZkZPC5jF5QGGM3okiV7gTvg8MLGc0kGPVCQRpMRkAbQPCGCgJc94QJAKRnziU5DQio33Oc1xMX7fUSHr8uHFz7/E32fvkDf/+n5hZAnlWQ0qfzp+b7XyUoy8ccdO36kz9Ab6TOYI/X0/aX6NJ3hyuk23Uoy/707iKnNN9tkzBGFqgarlf5ocKnV+nS9fvN0+1K7Qw/Z6e3kOSIKaqNGTprzYe8xsumt/xGKv169cfFiYZTyqYVnNUGcNeSjE1lD+ooEv5r3lpMksveVlQvkCePNwwuL1OKsLXXHW1r4fxC1SuCDPpIs8QLxB4maHo7m8c/L2S0tVwx75I9/ptuEG/tOLiDXfPsMfTu6s9jCibE12wYrSuaS2Y7lcC8SgNhDDo+4rnerqrn/ONA17OBbo/vkttOnxXWwJ3oGD4CJM0iXLMppQFuUQG0+dxngxcygO01lQkgYDDh/WSTMHFv1+Ljs9+57YP6zd6+oysj58pFb580XnjxXKX9084UNroydZPjUr8q37H/3zBV/7G9t3XWuQlxe4gAtqQLKK4XLwD7qgN62EQAk7IAOaogNkFl0X98U4lF1901RdUf3RfcJVoQYclvflOg+8Rh0sB0BAKbkFNbNJ9CpLsSBBZJ5kCvwMhAwAAe0JFauam6Zei3tQU6hhW9tWYMHQoKeMKTiuh3jn6M9xLOmhZzCctoORwoAg4Ey2DIMx+F3NQBvtTDS2ZyZs2K/8GtO+IgoeHU2u+Al8QO2qYYHgrWo9vTpWvJ8JAxgOhwJAz0UPyGQP6XMa23RmZd4KVRUG8bPDh5A157szxI6aTttZ/SP0v8wwiDiDAA5Bl21ujIYJS5q07DLyoUvwL+omlRY+y797N13bxg3sb8jM9J5A8tWS7sjUkNJpO8fcE0K3rXzqyL9nVc8xvJCbaE/gR9IZxzB8HhP9ZI9Dlyhf1wcu/lCsnfgXpVFlQ/7vsrCmz6X0nzjxvnO/BPO4r97t/IHFQR3PxGTDOaympYKBbcVTazx2bMlSZVR3bikffFIb7LcFnvNh1WceQm3g9DLEB/tUee0TGmbPWdkMcOLRfxBz5gZM8YYjSlFiycPhxJDfK1EGF7UMWrxrPZ7Ac9x1kCGyypliMeIyxMKec68g2fiAmq5i95Imr/5hu7/RmoMefoWlDY1laru8oQivd99o9zAb0jwjV0DfJMd9p8XcC4HsNPC69N4gJ1lvC/EZ8ZoMNVZaRzLSrFUyCV3kJo3r/D5rniTvk4X0deVvNzR2trRyuckJlGJJb9nuEVuG7nq4Re+eOHhVSPjmai9lT2Q8BfdzJL2WnwHeOwucorhz2SFm4r/SnsQRyIuBCikj+cY76vwYMo7JnzL7kcWDJgwf9BgN9j9dr8X6AlpD2yu/g5VM6BsQNphUQ94PdzrEDoj7DoSYWPHAd1yGOioQVgIdWrj0BAybj8jmxhElA+frlDgH3AZtEdW4wY5fVraA+viJBIMDIcy2qGd1S9C/VlQf1cirE2s3XlWzbjTACQ18Qeh2q6zqlUq/V/rdJ9Vp6yG1kabZPWvVgnrNLFOpTY4YQ3isf4sfA3Gv0vZ/0gSiuvEdfiWhscrAJTr6Aq6iiP8Qbh3TNWt3BOPYSmCVb41dk8ff0/UYymQZzeR7ezeQfEYsMzsHpBoUIrPR/f9x3uyQgfLNTAG+Yze9DKKk+EzrS3GLSqpwWZAMqme4LIXE/JsHrR2OCsH7ETPmZeIBxYq6YJTf4dC8PEHlZTgaHRF+Fb8kxp7twI6DLW2hsLs3It84tBT7yqhs78jjIKy+IHjCL1fIDnFR9gqNBE7CZrEe7ZE/7qFHtnyrfjInKiJ3LAR+fY/cX+STkunFSwG/MYgTeT3ZToAxwgn7yUFRzo6jtDP6Ev0syMdPWQpuTP6gnR6sKjjCCm490Oy9Ehfm6Cmv+GYPCDCeLl0xjOdTWvxQFrKGmLSEEawFB79zW+O0j8BufInzAm/x7UPWwxwGiKJiMLdJz5CCtlr/V68FRn6+BA8qsF+aYhIBPgWcRKdSHROUUecwknaE91H7roEF0o72R3dR3u+IR/QV2ZRD/XMoq+QD+S26L4JtCq6FGvlbyXvTSDraEkN3R2NfvMNkEThGi4BZ+G32JeAKmT1Ew/fSsPtiPcvoQv41l9Wh+3Ecrb+cO/ZSBEhQBVlIUSCFqbASoY5ZeOJvHEbl6bwhcYMRmniQgwRXYz/NOhNKCwwIndIjOJrWw4d2mJzLgMc+4Jm/9Wzr7rqhaty6SH71ZmCbH3KQppgB/+enjqkXtb3pXjshjujf+68cHZn5+xAJTz0WqZqAzyCQJDsI/ukQqmIwVFFxBjUoHxP92f6CL35PdJGH/mEzCJt79Kb+TXvkRX0YXb5Hr2ZzPyEPsz9r+uBs4ZIRhmxppEM47kWBBlJMk5s2XKC/gDncy6EvuVbTgw8A/wM6YrJ0kywd0uh3d6h2JHJfqxGg6BlA6cl7hCJjaHRJMOmG+BKi8KIDyOAl4nH4S6HPVvudqiaYxK9IpTvEc/eb77Zi4uQ0Vc90aaPMsd5cMN6xmV+NJRmRLrKyTVxE4e2qZ4k0ngIYQZoj5DkhWkGaiMfs0h1AFpirxmkxtdK6utLek+V1LOMmFJS3/udqrlvPznFUCGx8mqzNTBsYlF/R3WLy0gIEVIzbe7agvIJRXki/1K4vqT/CqlRqaO+5DWljvqSvumqZhpheJX2JDmWXLRq2jCk0aFT+fmq9CJXmc2EhEi0AlbrFSX1wLBqEmgqE6MW3AxmIo/OBYEn9yfw6JkxigB5b/6/yDM6E4lIOEcYSSCu69v/43/MhWuLBt+SGhlVUIto6T/lEudqsB+c82wJSLxtMDV8Ql6hdPGj+OkzfedoVmJXJFH5LqKr/uODeY5TeHJsx2Hg/w1c1lAaBpEorANYKCb8KJDPPf3HUd4AQOcg0OEogwYkTLoEK2YxZURfO7sXbQJqB+9ynCIbV3jmJPhSFpeHfAcsRH8BZ7Br4h8VWYKiE/7gqztvO0l/eJpI0nSaAki/U7ACJAVATFOAlj8pHrv29iP0b5/Sx/kve7fSFOEk0EXRJmBHAKv+yvc08EnObqgykljvdCwRkFyrfZU0Eulp+sPJ23b2FmFtWCtDCmH8Gn2cTPuUmI7cTuT+DgSdqm44wzj0d8THUsXG8jDMaTLTlQABTQwKGsez06ZBAZZoI/Jh2gO19yB/2neCP0jv5w8iEqb3w5jNUTVHkFmNIL8aIV3RNeFeRrbE+oRzhTSTUn8M5wPtCN2wawWNABMF77EaqvBNmJWTtB0pPOWDiBfwY8AY56AkD+V2DJ0DjolwR+QkaL+J6WNkJ0B8twt/7VqYoyoUU0gvTp5MvwkGffPnbezcjl1/54UDW68TPnuBLnlhdef2HZs3zp/nD8K3XiGv0KOTJ163Van7dahbHas7EIRfL9ZZIEv4C0hFdGUQAzx94IV3kDLa3tkxf74vGKTfTBY+gw9MnEyKaYiGiCfonzd/4+Yd2ztXv0BuYzwKDH9EXAdwOIOtYL0ka1GYoi1DabvVqGLCJVeBuO7hq8JVVVc9jLA2uo9tBHHddUcLond4wnl5QlnB0esAxmazDcL2hrJH1QMSShtuQgW6M3E+wlGgzogtvjsdsZRvFTrjwD2CGeIpqgU2oL2/o53BO+GYwoYcxFbAcmMJrt/2BFYjxhtFzpJL2s/NRzJJJKrkYulQENC7FUWLghVFBZAMFaHi9urvEKxhhXFuV9IY3YFUkXiMcX8WVG2wb/oCQTwBjxxiGEYvvnv1gXdv6M+64d3uzdKNSyrLqn5/6d5vhK/TXr8G+eWrX9Pm5C25Ubdg3Td7K5SxJdcATfJHgOgmlLhwVs4kwckdEH245NLgU0hjcFZHsIyg+As4dL8vmEZkI/8K30y+uvxymhfdT/Muv1z4H1+h1lrZ1OwPTKA2cpLcuXTUD7tX/J0+/fcVu38YtVT8Iz1y+jQ9QspOn1Z7mlJ4XjXO629ujt76z4MbHi1afc9Df//7Q/esLnp0w0EFjw7SETrGjTb+Uvbrhk0nsum3a70GPAZng2P8sNEqmCyKLgiHa+iIh3EL9gVVOfmeMPx48vtO5Hs8QivyyrA8904MNgEx0BTEHctku7E34cmNQIHSno3weD6+HuVjLDZ/cFVWuB6Jg/pwFtsXRE+IdFA6xHm4atzRmbIiaoz/yjCYkrLBY7+Sw+3KCAYcKiGQ4XZZZSnDZLSqDl3vWipkqwvKQ6p6W6XdYTKqhBEVlVU+n7fS5uFLrVlZ+jvobZvvvXcZySW59kWLFtPPFi1evIgUSGXX0/X3CEYp11qiKrVVItVYWjFCEIwGl73SVic0lFkt+mm+K+8jb967bMKEaM5iYlsMP/QvixcjzEMALO1J4G8HMJQQTzuRe4vuiyiJqhnBBx6KuI+xWbCPgNeBdbxuKJ+scE5eLSICoNbsA5LDU8LJ3u8iAIORFe5RaoFNDSA5HK8UD9KFWwUQujSgV00HuJzP8HmJAjEU9s0LJHSVUbSVwZgQW3zrJnJtqm4EEr3fIbDQ7ty/k15JPBkz5s+gc5EQ7O9AEhCwKf4BnVEUBupx5qWXziwZNow+HCMihzJo6oF1jH3OiMnbbEAZckhFQLOQR1aUziY/bGInQ1SDh6xGkRGKFfs7iAcVVcdR7oc4JX7gTeg3PKdHcqCnAxVfkciaFhQ3AsWDwkcuTpuzeZQUvIVMIDL7+kEC3SGc3EmEFy+GeTt48Ys0Sr+g0RcvvvhFIggnlZKdMOZNO+OlAI7gaY7ZEgz2M1npXXxcZTVrB/5hM5FsxVlktA/w7h7xmNQIuDQPRwWaUxVUcJ4fKXW3yyZoAcQh8LHL3iqDXpZKgOslr7+/dp3Xt2rGotWraHT91hU+75wlu+79k7dq+T5gp78LL3h604TmXE36rssemzQ5GiU2q238lNF/vu+CEoR0hLwDa1oF30Vex068si3oJfagTXz9Q3qyJxSdHTpKsj4M8Q+I6/o7YBF24vrqYvugkfVQxzgOO+pTXSgZ0KNGif+1fJihkzCC+IPnzIp6RaQFpNPZGSafg2/nsLlDua0PYMlibjmTW8kmQOQyUDYGm+C3+4MMr/tRUG5XELsJ8TwbQLxMJwb2KAws3FfuGZjCPP4MsJsut8HoHZgGeMaEfWgddWVhWUomT/KwwRse81anGTRJGWl1drNRm23ILc0yGLJMKamSnJJcvoDsxKeudDobJgULc3V6Q42nIj/fm2XSG4pzLdm5VU1TiktysisLs01XKgNAuhZ7nUmZxfRfkXD08dGqCp8ux2TKs8EhCSkppoAuOSk5JSs9PUObWhmueTVMPy7LzimsyxTlsvysESkpZmt6ulpOHW+02WoLs7IkXpOX1xQGGOwgXdInMG96RkEMKhF4/peKhYEy4dn6kptDhievu37ZizeP1RpfveGK6dME52DhTVD4Chbyey+Z6LelXU4yR73q3f02jW7d/9GE8VdeMjFgPbuQ+xV4epbWBHc7ExR3Kql4TJGyxY//pg5YuMdVzYruBdP/L3VIe4Ak6UQ8GUvPrkP8RR06BaKTmMTTFpMnIvGLZC9qAODoQZ0BTjlyL4qmFCE5I7Lj8rgMzsK5uBpuFPDQrdwclIYAxgy6lHXNSJOgX1IWLFAlAeIV7II36NVph6xdzNhl/8DyFu2wQ6AiMV5SQpiYSqpw2HNc9kkXzBwxvKBgW2frWGuxy3FeaXlFZf8TS44vO7645usjHy+srrbkDa/Ky6sObJwyo8mcb86rp9OeCJg06WoN2bKgscBqzQ8toWlo2RVGVk06mKzWTnU7nWOaLrrl7pzpSRr1sED70rq6KFOZ7CVPR/eVeVrq7PYUlcbu9E5yOE7v1WWWlOn1i3YPL/XlZG8zmcq8WVnRF4DFsoaRA0P6KGYHI7JRNzDaUNY5ZW0R0bpFHbMqMjkFUxEJCmJQy7du/JxeuxEQXNdGeu3n/W/wrX37N5K1n2+k7arujZ+TtRulPXhnI84CXvefYeJd9lrsQQ4wWJwWTsThuQPYNi47bYitAkYLo2x96HHueza/wNaLco1SZ2kPylAj5FTCX9dZxcD4poRxieMFauIAO6YoHHBk4AcYVljAiNUAM7cOlPYoKdJpp5B/ARrbyOUgRkDqgPEYWr1FqAoJfi3bUpFtS5fdEskevuCeyH0LRuTA7jwW/cPOO3dv4+ujz9av3TC7ZtgFl6+tj6KAQTUwRwP7SwedTPxl+HDIsScSbxK2iZwS/8bwTRJKkRBP6Wxum04sOUQXwAY8uJzcX0JfvgU4YRQFee4gJwbtOmCORMAVdrT50TBtZVx7o1jEmaAomGATRwR7Mur7cgn8qY4SCXhr9auMERM6a4vuCPRNCd4Zp51x5MLhwy9FUDESRh1GOIzbmzF0fQa0imr4+z9CMcsoYRwTRKQAm52CqaIDTWxnOuD+0oR2xkR0zl9I89BKSGC6Gq92aCP5q+8cpNLvDAJN1H8clsBg22qK8U5xMTaquKamWGnk36NXMVXGqbhdntQNa8DNbBTMRC8TqaCcd9UTX5AgGkVTyHKCMIgwW9Mq8ZaV9fXRpXVP1F0MGf7Wulkz6ynPbzabj5pLis3RTZiZIYkX183qmVUXXVpfv5Jl6/ld9fV9EXhwuuWoGZ6zTIcHcVy0jM5oZLqpX99fI2P2MAzEahmoje8mlBbLsbx4Vvqf7kmNSGYjbEaqrD8rLJwMh9E6B1IgugfO5yqT1eFwryMcRq1+mBm7nGKZyMDpXGVoH8vwx0qGmRWAnMYm2YagGxggG3BAWj3Aa+wocKEM1AsnDy0Mj7KtmAJ7feeNI8Y/uBcI1c8ffHBc6GZ6I986faVlZHiBuL+t7d2Xrgkt8EYiC6++/QBJvvPOu3bT08/etnlZJBIMh67+3XvL25BGDyfgMJQaIQywcAUKPhRRC2b3o7mtMwE12mMprOl2RI/hCNLiEeFkfwcCGaasAVRnpT1SYzis6PPup/fHwY6ygRjfomZaj7Zf+z7awBEvft+e+H3vgIEF4BkEd8wOKYI6dmQ+ENxBMW4BRNph9q1faQDS4QN4PB3WWD2zpHHYC1QSMAVGlbfKQew47sE4Pi2Q3QlEJWBjISaKYCUF0p6D9NChAS5h5yEygo7enWUcUa/X5+V5W9sbr7px3dgx5tzpwYz0m3J93vK83NzcuUIx6SAjXxxkPF4kK0qqi91VJXk5DqdBN+yK8TU180aUltYXmox2+nZOeVVVTk5FeXZuTGbA75f+JJq4Jm4Sdx43G2hkWFPQZoNC1Npj6N5vN9nddtketPuBXDB5Y7RBOvEqQrEqk+xyK2QGLDpg0onsdePSc0tOgzc+BFCNQXTbDQqxIZUVFtgKR7deNbpWMyczOGzBR9tnL679qmbJ7NlXzV524dNPrQoFc9VXqk2OUOOs2c1IaTimVdg1xEk/1thL+05kLjbwyaoUPo08vdadnWexjKQXPc7/TnhpSZ01X5BlOXV6zuSR7dbyKWWlvb0PPdQbPnOmt8gx0WfXhCrG2J2uqakpybWekeGJxdVkXKBeLEgpSqqtfUBI15UX6zLpaUIIv8+UVVWGY6XwpYqeIg+gSwEX4IZxdQxvoxW4JLsbeMUIXHArNuC8F1VrThI0yTHbb1O6YvodFDWAmnQaIjIj8NKGDx+O24A37xmeX4Y24L2tKDuOMON0ZgV0vHH8dYoJ+PXfjroNDcAbhDMoLkDCEoXkglX6B7MIL8sfviduEN788NEGz+2bEE4p9kSMfoy+Merb6xVj8OvGN97OHp2s1AEboAs+Gusz6WL4OBXoJdTOlEGvQ9xohKIBrY93Oayw4A0ZcZm/6iyJoiZmKzxQEE8HVDjrVMe7B5VW/L8ZYqKPKkj0AuVqApmKth9j2JXqW6VQUUuQrj+T7AfiSrEH6F+FD1n5dkVhwP5oBnkjug9FTDM+Siw+EReZxm0bGDzRIiduB1orBJx6IKhNI2U8kk2eaT0fH6crp333l5/fiYjHeh0oWMkjZjOf23/cri7IVyswoYvxuzGenjATCeVQ7Lrih9QYYRKxSOz7fKu0h+noRcTpWlgaWBZBelf4mtzEJg5V/fBsFyEM1yGtj/pCHhVzFhEAfiAYEoMoA+BVVmMGGgeproeB/e6+bZeo3PpCszPjarP56gynuVDvVl2y7b7oiyTvrbfoV2/J6vvodw/sODNfsGU6zcWGJ+bNe8JQbHZm2oT5Z3Y8QPQX4VNvkbwBuYV0lEsB7hCtL3UJ+sG48oo4taJT1DpFnahfXTfuxsM3jqsLMt6djCBjaVZ0NzMtefRx/gm+xbZ69JIbb1wyerWNXMo4eLru6v6Ot99GGcL2qGuQv0H8jrAe5UElsBKRm2daBCZBhhbYfC4sIpDa0cLArnUMUEbEX1Amwr2uCBA6kb4paN5Fulb3/xgWrJBOQxvQsHDL3tWoz+xa+PC6lSvXPbwwpm3uoT2oOFF1r2mZthp2CJJknmmr10RnYjaMb8OdaF/E5m9s9NtoSlwGDmsqmWnL0GbMxSwk7AY7EmN+ZicWl4UAhaZFfQWak2APTgHlHOndGomI+r4pwlFm/RTu2x/G1vRn8QchK+3p2x+JKIoXwJ2kixlYRaugP4jLgC5JYVlFbo37uJHZ5Flh1cTEwoyOheVG5LMExYK1toimFNXWu8mpIv4mxtfUFvUfZ64d1qJa8RkU/RfXIAaHgUGzDLwV3QdnZmNATsltwBvEuNuhlQOrRXAk0W9H8dlRxJMHFes8tldJMw3BuIdQBhfD9enMk+esupzQ9rY1Lb3f4ZuivmVN3360PVYsfvuz4HwAQZ6iJ4pIR2ENOZmVgAKXgk7JHvNmcbqYvQpyMW7RqJfFgPgIEwxq6PjzOiHXsfkCckCDAkXI0fEaDTlwnmBl1wX2Ewsgs+CEvYC9ApkmKFJkiG9wb7K1m898CVDPYyPKtwC5mvDTJEYKBA1GQUuMivQ96MaWEFntLerNJXsNsDPErtIRQGIvqm0NZeeJRdvpb7GUPFBYkZVLX5LuvXCCtvdz/j6nGxXsWn1DlYa/0jM+1JqkSdb2jlCdH31GuSWPNSdRQdHNKbwpwhKE7ZwzcTcj1Q54LTBYEAf0ZwN8WU1KA7D+Grx0ga8xFDYdTVu9d7W/lB6VTAzM9l2vsBydijJZ9U7uBQGcotp5WdGVrqbq2wuc01avnhY4Pzf6vXiMAejob1jyo2KzhmtYA+vgDaY3xwk1ppEELYBCVcVoKyBDtLZAcOA3rjuIox3RhU5wA7/BhEf9gSC8izqG+G/8C9JMu2nJeruhwJHvLCwuPv/CkqJCp81WYMzSkpRk6iVJGqG40lvXMHzM6FtvHT1meEOdt5IeYH5N0WJ49/IC5V1HxayLKhz4bn52Tjq8S96lP/Fy7OXGibfeOrGRvSxu860fbfLlOwoM2Rk6Wa/TZGZkG20FNkchz1uKiSdDFar0FpbkWlKt1lRLbkmhtzJ6gDldPeK7fHRW7M2MJJ0uKQPfzHcU2fFN2sOnxV7NzbBaM3LZq2yvKfg+BfUMABjSVHIm4EMCjC+qLVSyDbjDlJlX33HFtSEjmU+a0NQv0usQnqT/eIgeUXUDQCjh01wNbeNJKqkwkCqAUfdGD6uaK27DPbiMaOVF0iF0TASKCVZ6EpFUdqvT6LUyhRmQhmWkHuYGtaBBo8oU2xmBoCQH5EUT2sjM7lP0kVfpYRqtKOR+jqx90eG2lFf+5qEpMye0Vl1Hrv086aPb7m3btLxk7XIps31SuvUm+jH95+GOB8W7+B0Xy6k5b3WqSgTvfXPC0x9+O7nUfetHl+U0dI5OZnpDcl1MH5KPUmoEMrI+01TFIA2DO35tLAc4dv8TG8i3n/NJAq+Z2dExM3rcwodY5hVZvWFW/2WS8AH9WSIdT2xwk/INT3S8N0uxXVDw5/fAt+QiRnDafEmE8xC7tiqF5BDR5uM5B1yoTMZMcQB7GcUe4lv1PvTlPjrv4yPkOhL6/qroceLbR7+m64/uIhnLl10S/Vvrxo3dGzsiR8lt5Dxif+cSeuTKb+kbdMP7fyRXEtOD9Ej7kiX0nzdePmvmhg0zZ10e058ruNWRaCmr9QKtz1y/XMzSGqj2Ad8Km7jT6fU66ZLD+d9Xjb5ixLodD3/wQZR3+gAMeJ297Q4f3/bjHbW1f9I8dNvTP0Zv9jnELqdXsb3jIuKt8C099lvr1dnYN7Sxb2i9wiTi/B8nPVHbcutFHQ+98dNPEf4Tkndg1Cju5+Q/PHOEfoXjB7hFkRFpmGeEIi+FHc8N6LFpj3isvyNCUwQ1c2pChq4/C1FlhwKxT3MS0cBcvy49CxgxD3jpam4s14qr0iJ4q0I80wZIomQhVSHiRv0X5r3xC0EXYA+YdMzjiEAGEYlbcOFqlZxVRllAi2y3LgCgIyDYZdFRMb6oqrXClJpxycimdtqSWnDepecVpKbNvXSusAQuqocpVxeN2+gMHbjm/VeGbdJubJ6wMfrk8uHt/pHDl6Yvr9jTXeRKFiq7H6xcnr50+Ej/xSNXpKa7pMzCC2ZPKB+7bF3F2AsuuD+4ddGircH6SZPqB3J9zeSJTU/P/+Q52uJvahIqbuqhV+cPKyMrdj8nJWuf201vKhuWT9Z/dGNmusTWxETugLxWWs5szU0EPcw0KNYhzG/R6TBZNCbpm+30wR3TA/OoN/pP8zTLOrNZNe6vtJvs/im7yu3N8+mCyTWC2LqDPrqj5cpF0RW02Gxej67Bx28QNl6UlGsqMVbrRqZOEADu3EaqpZulx7hiroZp7NMEAMshVRCJcJOF8AiPVWU4KyFZx+B1HOabjMIsPZ/lyEs2u0zN4y9onpLtvmDB7HxbRulFT16ymkZ/+rTbazZkeMbMWrzysoufsMy9oGWuQFJy5l84fY7MS3fLlqKKoL/apM2qmjhmZJoxI2PSyLHHaLT/5JjxjVmzH1s1YtcNu675TbilODW6uCklZezMhQX5w63maXMmZig6QrKT0VYoieBITLaks6GhiI10KUwVMHJoTIkGj0DY9U1+E+VFNAWpSEV+T0pYHakAd21cOXCWI5kd3BAuiyg0AyxxcSBHAo4GkkZ4xaF1sNx5jtzZzNZBhRWiKUpKXnOS0V1dltm/czZ0N4SoUSnmW4empORTknU/KWIs10f305NCO5MS1tTcHUvpUeeTo0Y1vkzvdDY0hJ6aHysuPitV5JmK7WYm89NF3bOXmZSjS2UV0kYWYkDJjQ/lrkiYlBAggAgACyiT9oTPvBTecmLr0osuWrr1xJa+KZFFfEe3cLK7g19Ee8JA6Pfth00Pt4qL4bFIZM/Wbnow0tG9dU+E7D2/MxLp5EQS4KZId8haZn/phDZUMn/xfGDbG2DllxPZLZMCBQ/hOLoL4oSiKLt1QS8xBQW3nRwKBN7ccOLEhjcDgUjHia83kgUPffPt3ge/+eahjiefPP1UNxGuOBzd1tv39sYP+7b1iu+c+LoDHn2z4+sTHW8GA5Fo0jcPwcMP7v02/ORGRkOuPF4eff4Yb/jcG/3dMQ7WVqK+OAmutQBF45JOF0AwD/qG6mI25GKQJU430Mcmt8yMxoqgRFTuCUG3aNKmE1tEEb0BQ2HZRXvQCQcy5NSuXb27iCcSbZIamWwsi6aoNqHb5q5dZA67p5jL49G7S5FRQ9pDPLt2Ve1CBgXvMAHmrl20fRf8EE/vLkVuFvODitufGs7yzsDJt1qIaLAx3Ef8CRSpQTw2QNi3KHat0SbG+ZCswAhIRgRgfyWyFjj7bO6hoO/xj7MW1CGdWbcg62PGSwMOGM58+3DvMj7Sq4UxAkZMK64fulFhKBRBTGsE9zHuZy6xDkmpQ3k3pspHaSYqJVD8ElE99Sa+pICBSBwwKDiY6T0amXc7MxAxQUPQpf3MS/xBmIawqO/PEvUR5OYGbbzQDrOWm8RkjwqQQNmj1REgDneAc6bxRpNUpkIYCb8WlcyLgTLRHRKIRZUmpJMyFYDQtp1x77edO+Peb/0j6ZZHxpPrCWcryyz22Zsq/a4KfWtZ1dOhsfOumVScQiTazudW1o+orUxO0rpGCJvzyy0ZskpMV6tlQ6i2ujTJLVSyunYOqb/XfegHUp0c3LH7dq9odBVbRO2oqa3V+lRtuW/cqCp69LGZW6Y3FNkKTcXesXXkrYoFMy8cPdU7Ijcry3teXXVjwbVD/Xtscapl0C89Zras5O0FZQSWk4bnC/m/MmuTAQlQyYbD69cfFt5mbmdqKFCc2RPc04v46esP/3R4fd8UlIix767k3pZFWQQ4UcXwVCbSrw4UdQYZogoJZYD3ZRMRTCHiUDHGzm/PJcQZdIkzbnjvQuPNp+lxeuiG616v2lNwz6qLfzr2u0szx971GaTDDlKt++nxZ4iNDKfHzCoybx4ppyE+Veoef5r+hf6efvbubOP4MV9tX7zutbph2jF3w1uHLoX04nn0HX70BVC9qX+fuViVIpDPaT59uYeXAcZqYG29DPQS+mrUceNxvJBwyQTk6rWh2BYuZdEWUtUCW2wisBGrAkFdgBG57GY6j08AiiHKQ2hn3UUPWUpUu593qIfZeNVoWVdLn80rlcnrsDAknT439UNDVXr0vsqJkrMwqN4nFubS37lz6VaTJylpDB2TXai6J1Wr+pCO5zU52Y70r/UFhnRBPFbu7M/mjz/lKDhsGlVg2apKK8gxVmX3bZ7gcQvNdtdN6S5zetqOXFN0fsOFwnJ222A2J3OJPvIq4F5wF2lI3AFe1YwgLNqkeoXJURB0IYiKSUyYb0/M7jYTqMAZ3IVoswp7ioM9xfEGPTrGeqscnPOcjrCq/+QGK4YEH3ODlTOJi9P6gjAd7P1M+fA99BTdQZfR7fTU3cwX9oG3yaUkpe9j+ujqrAxj1g0XOg3ryfV/fYwEL69ZrlFnJdlVwdF2O/0gqwiu4ImuOe7L3O4sY0bWhZuEtJRko6xZ+o+3/t33yhf0+7FkCvkH4a++bn1b3sOCmezCuu9h33z7Aeb8ejdJcQo3qYVqP0kmL/zp8nbNjJZMd055Ro00d9eI3gsvFEYRtUrFh2pJiiQIpC5E1PTRMqvlgskbm14++T/0osv4W6LNK8gBIr32QP9icm90dKltGvm7YoMZ95uecS4fA9TH/FdlaITmH+LlyWxvMCermS8CZfQHOov+6hU6c7Jr0sWuUfYH5E8xPVpcW1tMiosxEMmvXwEWUXJKKeAXZc2EmVzKxOUA3TqZm6V4pcqCTfCiDCHRa8GuE882fvVDt5C2AbgBnAJGIIFtB9yEK8Q3AL3hDpGg7HJ7YWG5VM23ls3KOZ9+/v3D40kueqgquI02vBUmr2IuhvEEN331MvrqFZoR/sZrrKKYTELPtUw72EBUkiTwtm3DvcM1/9Oc/UHOeJUg6t35JC3aFEGvV6UOYN6dLyciT5rS9vHHbSO2Vec4cnLGGodXVQ1Pc7tsycnOnOptw18evaFjlMAjPrqB65Ib5Ma4PYuGGCWZiDouGDCiLxPvJmKETCoizn5XtGWn8HCFfTP9ODrlWv4Rms53d0Yny3r6lGedq9+xk+8WHqt0quim6MRr+ef7t/PPwG38xlPcSjlfjACWNaPuk2PyM+Qc04miYUi85Kyczs1Mc+VMfune1Xljw56ZBkMe/+5gnl7Nl5HXz+9spldRD72qufN8MbJ6mq9CnySKFT4kEwbyfbmkiajLPqM/kIzPyuhppGPQ1uCYeGxA1p9oSXQMrf2VA7D2oPWPwm8rNK9OoXbjywRyEso0pcZI73cobkShLsNIzWi90d2h6u7o7t2KKotBnyctjAXTMgytRRdHgkbgTVlgHKwQU6jwx5g/nSeSUCda8KPjXN9+OCfoRGD/mjkv4jqVV59E0nggG2TeDxxyUAfYwA80hNZmEfKJcDKl9KY7TrRP7Ljllg63S5M/98JNK1ZOqmz/8oGrbAXkFIPV+lG/vfWWPJqS17H1iuJiWa3OHeUvOU4vpX8/cf1cnU6VHprQeeuf/0VGPIUeNP2nVJmTFr3QrkovLW3IizYpVcV0r6ekPecee7SbGtC0nDX2CX06V4/+Yx/+t9ay+s+QM+JH4kfYJg0/4BAmfkTvJvO307vpPTvIPHYi88XxcH339vj1vB30HjJP4QUVWb0A1HElQE/Uy86LxQqICSkbgBX0MxY4ZrIIv/mJEs0qRue72U3zgPk0Kl4xuheqbRUnCbsY09cznb0aTWr6ntelpSWlqkRRInJySoHda87NSdcmJfGE53kVoK/k1JR0na5C+ImmRE9cV+/355n1OeYid8GIoK9qWEVVIC/Dwaeq860+f42wJW7Agt6bqm5am5yakZmTnGrI4iVSWloC2DslU5+VlZvp1CSnWYRMHRCDao0LVQ7TWq02ny+4UVRLSbIsS5KoSZKFJBW/Mejz22zvM5uICAuFApTzIH+E4+aPjdtCbimTNf0fxi5uw/B/GT8yZAz7zf/tGJYpw0OfGDKO1d6zx5E/FI8MgMbLwOkCN/LRfzeURGKD9Nv/PJjL2UNo+aMM6OD+L+Kmw+pzu+ISci9zqUGN98AvMxaI/RJmBBQXoMfvYJgkZehMstYU1LqDUAv/iQB0hdFosVX56hc3jTIaUwWSJKemGjLN2cXu8rKi4uzsLGNKmqwRbqkyy3WWlcEZK9sXLrzk/DZPe0lDbtnwGeVPT35o5KL5TQ9+MHWuuE4X9FdXVDncBlNt3fQZs3VJLpujACY6x6jTGcx5LofTnWeL3jfjyjMqDa8Fiio9JSVFrVPnJOmSz2yZuspvznnoatrT1kY8Vz/kq2fjcAD41VyAtTaEg5xVlWnQI9BII9DPmIeiz+UuU/l9mTpYAUie4AEQGcgWYTKpIsKtxbV1BkO2XSFI7Nnq3NF+z652vtVakh0sj5T5skusctutlN7u61wVNltsy4qUiFlFy2zJ7lXLrvHdTvje8KxZ/rqygL+8LoFn3MOpmccWcxomshqZlbDCfLermplpwEFgIRUfcmY7vo7ZQCrwSVzHbIzwefEYsrnsaW4IrIT6nXYtgjKZDKkxguJ+Zr4f85cjA3psVj+8kVCpEhIoHHPDHtp+GDeEk24ypEqhk1k/NAGNEqt/aPvhjYRKER+TU+zxX7Qf8Cx6VAfJkCqHDtYv2w9vJFSaMFQJcnzmO2E6p+duTNekQzHAOTx3+fKYY+U5vXbp6+ym4g0S83nEmAmD/gIDFqGxiAHxA/3omf/2wBljCyTE/kHPoPHA41yiRKsg0Og0DPxThiGAQiQmR0ghVgeXmZGE10P6JRbI6CAkM6mMqARBghyRkQrw+sqAXXSnIe9jCwBx8GtRd/hb6CZ678+7dnE/k7lkM5nLQf7naBU5n9R+tWXLV/QPdC/9A+b43dPGrrkzuGDzo/T29Y8++s/HHiXl3hHzy828cIXRWen3VzqTP+3paVo5BuClgOB1elJeTfPkkYZfjTbk3fUzvfcX369K/CqpZS1xlua9tDE8y3jPkvWPhh/756OPrr/8UZpcqztvwex8S/PG6SMc2WqBtHzwgcpVO2Hq1LFBbcaiPQsnFOhJzG49tgZNMO7lLPqeTYmo52KKD0azsqh64oCXni+g+0W+hCmFGUxBSSiUi6OjTajKvUfTGgqHWjX3wEV/SoLwYntC+LAfFe38itizK+CCeU+YDViFwYwuFTFZcE9CGr/NrGRQVvuuvFieCdx1DleGdk+cqyAW4DJIAqbEC5+OoCoGo1SxUIcoLpWJD6PlpaG5CvQ8oGps7fBE3/J4yjaU8AHP956NJQNXJQ3kfk/rxhI65ylPR6sHbsO575GCykqtNt0zYeIwa2isRFvx9Q6Ph+D7qzxwVbLR4+GL4f2N0W10Dr5E7n8KKvLwfg9+rad0Vbg1Jyd/wZ8C5688D/bF3UBHV0lfcFO487n53KXcldx27nbULetR26FPk+Qy0a90gvkOopQHGDPFZiAeFTGWKhOlPIDzCjkSD39njEcLI5LBQrD7QaAfYEJFHxPAyJJiziDGFY1wbfJiHp6BvPRJa/eZ1gJdTrmr3l6nSZ7om1BWUNB6prt1UdtWdWbnIv9NTi1ybRheDQ7Mah23Vy7qzFRvrVhi7r/ZFcKZJZuU6T2g4/N0YV0er0tPD6cTjS49g/ZkpOvMBuIxmOn9eDYbaA+c14cxiyfhbfygb8Rl05pLK412SV3hmHr+Ta0+bNrIhue+LPdf9XVLXo20Zs+aKnynSjnDpVSf3fL1Vf7yL5/LG55JLqsrLGKQT1HzU22OLjdXZzAm95oAHWuBO/laYVFiId9iNiDI79RyI5mcFsUChoBXG4tIaVZkf/VEssfDWMbSArchJglUNI1xkZBgjTx32QUrMAxUC659b2WsQZVeDNjW3RHhy2PxdQBXrHp+5kzagyY4hKbiVvokkznIRpRz5ieKbCHc0Y2YSDFYYD5IcVl3EmcACFDJzWKWC74BR1HnYJZZtsQMW9CuJfEKvUtj/SiA1ttjvWWvmix8VQgFUxxLhCDcRFjt11rQMUfoDBfW4YBD85QMbUf1Cx6kazB36F6AAuqCjAI1pPceumuP9fbOjs7brQ/cHRU3XXurs2nh2GLzi/R3tJP+7kXniI2z7LdLey5sK7zM42yoK4xnoofJHLQaovcz26HBfP2K5/w/ITghJYTQDzH3k/+5FSuf9CU1ulzDk7xP0snuUJKucoS/lPaseG758udWEE/NuInZSSFOzXwNjjFfaRuM4nBuFDeOm8hNxbFkQEXFAss4Ey8Um31lCHHDOc+6JkGD7IRDjKXCcofXl5kpZ9WVuWY+PZNvHXIZfRnmmU12EWrCBvLo6obuEdF9SirudC+bOyM7J6lg3nlt7vkTJsw/67rvZ7SfSrSliuX5KzFiErPyVlLkc18B/JEmGzg9l8cVolwljS8oAzoJDp0RAY0OEC/yJW5JAJjiZjpn2agaT16rOHjk8JGDFeSVYZ/t+umN+d7Vi377Eg3MHjPtjd0Lt86+qXfi/Im9N806r+E2sbj/rbnbGhu3zRWqZi9TEcf2Q1MWWegXZTTz4YyLDkyLfhqe2T1zoWHV1Li/fUS6B+aCSQWAC8D4x3YiAQmMLJZJwuDSkqzTov1viLCQqUTW6phEK+AOSJrzJloba9+cSU8vpf+e8UF9o3XSeU0TeI3+nuWWmjcXPaPTj+0+1T1Wr3tm0fsNjhX36zX8OPGisn2vnD9tsZqmkn+lLJl1/iv7SguEUO2VP4VmuulVfCDvZGfnV9u2fdXZeTIv+ntyhW1e/ZnNtQ18QnyVVIynwLFoIUAyhQQgUGWdU3DHou3cvO/Lt5/xB868pB/z7kHhNL2erC75Iqv/prI3bGQ13VfIr+W3y+rFN93k9aFWUd/0WGfvY8RBspybyZM+WnNRPj1Jvywht9F53FlxdtJ/GWfnP8XY+U/BdTB2l9ApNaqaGUWIdqVdLIhecwRxdDf3CbNjLeNquNHcBTHv9zQe9SB+nwNAiRexmORCiSoqWW2y3RjzIYBd4zYGmNk2zqGYENWL4TF3mQS4CkXeRuGu1tF1Kx5dsunIb4jquTRfSr1JnSfd+vLFv11AXlvYNU1fcoXfNvmt1kXp6V2teL5BNYWF/+q//7HdoirVlOky+FKqq696/VGhKdS5ILRqdrBhw+Qr/kDqh5eUEOGVbbPumReeZW6Yes2C4ipn3ow3hLtXXXq/wN9x6aq9w5U4YtGa3yw3Zmfk5unMaQ51Jr99bng7G/cpZKx8hbSV0zJ7yypVpgkjxCqxYt0Bh66gjHfbiTHTZFeixZokldD/OCl9JeswmvufLPjxrmUvhB6dT7SXbv7+wIZMAGm1f6sZKKY/SFvvpv/Yh6aPt7w2t+XV9k29L82+99NNpGsk/WlkrAj2bhXxSndL951LJirEZKIrSHoBsfT/JdpzGX/abV76ffSDi/liuoIvWx79QNpIf7DPz+//7DK+jO8rtAj0jej7F/P+qI+vaIseVmwLgYtpYz65Spw7AG7MSsmnIcxSBda2C7hwo4lcJZYePNj7x4NCC3+/IUVvGJMdfT36RvYYgz7FIDU+03/gmWeE8c/07+GLtMNsFllPN5HNQMPYhmkTv5PO4g+fbSyKUAC6xyABxmMGfh94MwUcaEhAbmsN9V6DIF9cH2q9Kl1MTaLLyJYcvcaloROOfkgnQEafQ7bQZUmpYnphkG/nLwnyLqET3+nvgLPwbro9K4luo8sshmReTVa/+iq9Xs0nAzG1i1yWlGVPLyynanK6nO33FbJGngNttSltlRFRQluDMCawB8t4QJb5ROQgMRllzZqWvsko7FU9NW31zuie6GI5RZOssaUk82vIl3kpjmybcKmw4LypNmq3PXF+/93nT7GRT22PC039F5B3xHRzekYy+npf7khPTjWhz/4AX2hkNvMeJjc4W0Ork2RniBDR5dZZSNwKWHQaTUIZEYVAUASgec64XuNvmVdKr/cfUuno9aXzbtlwiKqYVqv/WbKaXQsL4Amy2n/oXFynalL8rTdiT0X3MS3Yq7Fq/xWr5WweNxfxzy+jUzngEvoFFwSjQ5Fk4tUDhDhnqCrsgP6+++h3zCb9PtKepuHJK/SDefOI6tyhq+T7iD7xJdKeJPI9pAHVmySDL2ay4DhtgLvM+MtojyzKiI2guf4grv06uo+5AA2Nb9E3JRZyM0WxU1B4t/9c75CA5qrV/VnMlvnsSCUKiGb1DoypeVB7rdSL2i8l7gLqwoZ+JRZRg6YgzZEFpAdaZ9eK9X1TmDM8fo+FbVFCLESUAPyKYxXGPhiwtQHcEPeWOlfcZAyrb2LxfhTEwshjmsJMslV3I94Lo/wRQzwCFtpz9v9eiBEuZECGrY5Z9KAtlNQY6duPzyL+6u+gPahVj8Wkiz8vxiXnKgAg6PmM8pl9KPZhJuixmIftzOGFb0XLc+Yfg/EKB2JZlDEuG4WP6AQHtJ6WudxgkK1gAP2WBq7jXs/isaixY8nSuvr6uqWLN5aY86fkW/BktuBpYaHFYsmX1XWhxYtPL15SVx99rBAD7BepuoE9MecXwtRbMBX1lrxiyA6BAQXcRdwKbj235Zy7J5AZhwsG1lhUrmcgukZiSUFPAWaErQugtVsaMQYDFmYNZ2C6LjkzyG4EHMQbsBB2Ax3LOBYOFtXR3ioxIW8URpOmuO0WPUg/YrutCn4Nb65d+yb9lr5Hv31z7eVFgSXk8Wt79y9fvr/32vf2TbrRr193weZPc8yXbixd5F7CJ6dWP5qZqs0EBKySkgHGD7uybKE7LAjJqcXXziEauljKyU0TUpPJwlreVbZ2erBJW5C+oq6FLzeuwwt7eltdS5Dt+sF2FLG29V6y9k1iGGzS7X95sb56qZgDTaH/gCZdomqur5ne3fGbx4rzyV/S0lXpWt6SR4hKayoLlAjkX7Oh/N3M1AxVcvqKDfQjojYVj6zgCa3cfOP79KbDW1smPNQ485slSrqZxSs62+9YibMSC1psOytFGT8CCqmRshCGsJqPY1ARdEVWfPMHz8D5hRnu3HNO/++BuDDxVHfW9+J+3hj5EO0WcC/K6r794f7jsho2UTsGEcPo6hF0q5T2DIQ5SRmIJKy0pScc+4nFMfIwfB6XJcIXdLFYpuhFHlaijmDX8FU0lsAX1UDTzpbflV/nsrkipmMZxtUzbgx9f0MEVyb7bzIEZT+K4MckkyBTHZThf5iRVIqJbkCU8X84DD1Ue7dV3bR8bbMpPV3aZjb3L7VMM/f/ZDYLt5mnzaoh39dkaQQpWVWxcFxp+XJSXFMzvaYm+sEYfuPo/p9G8x1j+n9i+X+PiefHyA9vk9LTTc1rl99Utc0MtS2B2pLM0yzCrWZaQ7U1E5aXl45bWKFKlgRNIdY3vWb46OhVY8j3Y6Kdo8n3A3l2vmqMYu8FwwN0fQrjgAY0rci06znZ4B0U3qH1NBc3HMQHlLyqe/Xe1Wtapl8G0/TlRxE0iWSOM0WRo/QL5Ma/fXDvN5hiVKBpq9dORfC7duqn9GnHB4p47gMHmfQpvoHRFZnLDbRrOrFIHdI7MKNuph1XHLF8jgaiYvYpFbpMWUIGuULm3czKwCE8osQx5Mn4Bx/kbz7efnHtBR7t5FktublznyrVql0lWi1tlN5p7TjvvA7aYXaJquTh5tEGPX0vGtXKi+68q7r6ZfpIRtqD0e9mzJjAxWxZFVkNysVxjdSzeBTc2fx4PPqYQk0a4qqURLoS9kP8vyg44p4bRmswjVhdqu5BHvzHmMs9BpicP4r+NGo+i/Pfgugr3LuVb2ViJDJOibL/5q3km1szvqDvfIGScoZUe+BMZiie+G78HwC2UfPnj7Ip/xlgDf8IYqAfBz0Haw2TJzdjoCcV7OU0+ffyAS6LaYfqOE6Hku8Q4UIwxFw6KVOL5/jXM2f/5xmd8a2L281hknri2w0ZFpp14mtVelXpqEBTcan4Pf3Ds6Q2+zynK7P/01ah7bLKr+bQa9aXrJtZsr6W/yF2K4f+Qbwi8/Rlq6CW9H/236vR0hte+r2gNmc5sy0p6uX0DwfgyUyX87w/rOi/ZWpl4/qSmes868i6OX+nj5PaHLjTmk1fg/lLicUDRFsoKzc+JhndxN3I3cbdw+3jnsJQxH6FqTAI0PQQARKWBJBtVMkSxupyCEYT/vMjCahrWHc6E3CVaBCVhlrWfCIrBW4UCIiBoK6MEB0qFpF/EHR6E2oM0ZauFmEiE6DatV5ZRL7TildOk6TUI6A1lp1ZU8k+rMepOCUH9Ygvg4BNc4neaIIH5MMLJ+0y542ZvLDXsmDSruoxkxYJrxTYr1+0m35YjemdxBO5ulGVVapJSteka6rHqwvT1GnD7K1ykqiSgLi9HQrktGq7oBvTTXdm+1VjS8lvj1TqVXJavu2mB3hSV1dZRCYcyVw2kpx5aRps76V55LGlGLSPj666OZmkZuqqJ11VpJHUmlpnulo32frohReTBx5LybPvn9eyUpZ9Aq1qu5iQutpy8QA9QfLGTpq0K4/QE3wOMeWN2X1LHsnvv6Xtzb3O4I47297a6wju4FdXbOA12Vl5DaHi3HELyW3JQp4qPdUhSJoUQa1+4DVyp1JC5EDe6XEBmjL2DXo9kYPDkrLPn3XhBlJBD6l4Q6aFPjChcSogi0J0ZCQVU25bdTtCFlXK3/1CFuHJHd+RLQJJTxOJ+cvm0bS49ImfQmZrXuu6T+bvLSchfY5OS3eRGvoBEQgGyuJ+R6yyTnqMRc0KAMeb6XahFAgXiSxlmoyccPIHsnTxPN30rq8XHBo//tCCr7um6xYsJEuJdSEZ9/vfkuaVz8rC5MbGyYL87Eq6/7e/p78FbHUfrE2TPB+40JHM3kqJBmfHX5sOVhvAEOA9BbtbYlpn1PbH9f641QR7zBcdWWNJMYwVAso/ssBr5aUQkU0jmvLXT8rIklKkjGjrZ4I21UCPGFK1Qvhy3tlin5pty8+dzAudepUmXZc/8ZEJzWu/5GvKZuZVXVGzuebyiopA7fpNnRbrCEdxiqU6pyG7Rp+Vk1QmbvrbR3OvNEk8H/0kMyMjQ6vlXbzKZpu0cuXKOQ6ez0tRSVKS2ugf2RSJ+tKql0QuXPbGxuqKDNtDu//U076W/1JKyhs7fY7HMTVVbcquuXDaeXZvon/sUBqDWYNnE5sWIyLoEqgMmxJp8cxLQD2zP6Sk8UBXWAw+poQWYnQDM09IUeLGYYgYoNhVAzGEVfC9XOW/orDgbETQxhUajMz2YmwyUSsbMIwO/oM1fD8MtDLtQRo6v5B4IFWCjrQDBdWIX8DALMrd2FN15BSKQzl1wneHxvpQvm9iZAyzHCcJdi0iiw+F3wcGggU2QaYIOxy30VJYNqUFYSWO5KAxxKCNiTRgd6WMczzqeYL1kVNE/0Mtsy1Bkp6ZjGid8QJGBOAQJVgrOdCbHA3LJU10X2ZyRn5o6rDq6mFTx1VXa8i/iosuHDbs0qlTLs3I6K9W5iBOZ+LxWjvQ4lnUnzasumVq9bCKSiBaLqZ7dMOq4ZVLp/BPZ2dkRh+O0aLyWe3PZTEzXGf14Gw+t5Sc3VjlP/zEgoV2MORJJtJnYJ20n92+SKKkO9oUi6ShmGP9/8L3ZQxZE+jfrGeRc63AWxdyHq6CxX6rw2iYmri6XGQktZ2R1/+XvLKIgKdmanXmns+iCf9X2cQVDoMQHgzscs4kFsMuYZ9lxmOcxPcaCwQse4MmrzsuQHLGWIfE7cai+ig106jiwtOFK3xwySubDgcZWQXiUUIoKEwDtiPpV/cd42HOsffMvI2FrHImbMVzb0H0kGL+FegpxfxGzr0RY1csG7dS4oeMz8C4JHY+sYsJsc9VwJdlxN9wB90aYtMA1JeVVwHcRNjXMK4QOhINTB563LOQkSzEMq5iYUgbShNnB7a5rPoFNPDDoLiYbAKvhsDFlCQtXZXnyPAMcxcWuocNz28knlnD3O7CJigYMlmUF7UpKfwYWS6lT8ru4kCwsDBnWJA0153IGeZuL3S7i8+aN/QZSmX/y8AI3JtLiXGltFQ0BE2yyZlwFqpQD1DOI5UX9x7z+xLbStv3r9u/n/YMnnc1XqThs5OT3yiVxTnmRo+n0ZPY5KpIuCocTjzT9nkjtFOs1pWvNtcu+b4031paas0HmPA+974MRLESD58o/1PO4Xbx+P/kVEP+W4nnrvb2u+6m59Pz72Y5spfspT+wEHkssrfkOesm5nrP4KzGH2L+pArvjysiG0fFbyM2vxcO0WaS3XYscAdNyPcjBELOOoJWQRiUeFX74gj2j6ZAjnSJa+mHsN1YBNaP9/8hOhIuIVVik8XjBcX+s6nWDSuP2HRa5lktY0hYeC16eDs/jy6JRDDiZwRhaf/xMPFFP9jOz8cIFJFok6oZTgn2UzhKOq0QBDQv2pwmrc0kaHVQn+y0iW6tTXJ/jpHoNpK1gO7XYu5zDFm3kV4LDb8WcmIpWdu7degtALZ4ayN7dYi/kQlw3i+k2f8dt3luX6N3/xsW9FzORKqT/yVb+v8AUeQdbgAAeNpjYGRgYGBk7JRy5JSM57f5ysDNfgEownA+5XwIMs1+ASzOwcAE4gEAF4EJ7wAAeNpjYGRgYL/w/waIZGAAk4wMqOA9AHazBU4AAHjabVIrDgIxEJ0uYoOGAyCQKAS3IEFAwgFWIeAeqOIIggSHBIMCg4AVJKzkCATdhIBi+tntdOgmL6+dz5vPVigwX7ICqD0B0sKztgn0i74FfJEl8syy8SkTm6WF6CC/ETm5v+zdnCVy0/oq5MQPjEcslkFIH09Ra6VFcgyhayRj5Ifvj/Ygto4l80HkrPMvTi+LaDVdX7nnEjpH3FzvGm0bQ1HF6xmV01HhrqrZs0hezjRlqMl3D1dmm2DOPOzZaNaR+4glq9VjfUlWa4qokx2WWCD2kdlKfJj9QHZIZub3Ur+6r4kG1hJntmPd7w4xwHPX7ePKZlT/O/77v/xtDp294Xo6ITb+nQX/hdhigDurlyVjgB9mnjO1AAAAeNpjYGBQIwD1GNoYVjBcYbRjnMC4gvEdkx7TJKYTzALMMcyTmK+wyLDMYDnHysVqxPqJTYYthW0S2zl2IXY39hXstzgsOII4KjhWcFzi+MMpxKnAqcdpw+nFGcG5jfMU5zcuM64cri6ueVx3uP5xm3HXcX/gCeGZwXOGl4XXjjePdx7vGd5ffGp8GXwr+K7wK/G38b8Q4BGwEWgTOCPwS1BMMEgwR3CVkIfQBKFNQleEvgkrCG8SficSJdIiskTkgKiIaIzoAjExsQixGWK3xG3EL0n4SByQeCLJICkmGSY5QfKVlIFUhlSf1Capd9I20pNkXGRKZI7IfJO1ky2RnSa7S85DrkHunjyDfI38PgUhhTKFPQr3FBkUJRRnKF5R0lNapHRAOUv5lkqCyiSVWyrfVCVUvVRnqG5RfaLGprZI3Uv9nIaUhomGl0aKRpXGFI1VGkc0bmkKaRpovtEK0tqjPUH7jc4EXR7dMN11uq/0xPRU9JbpvdKX0Q/QX6b/zMDHYJ7BKYNvhkaGGYYNhosMXxgdMHpnbGEcYnzNRMkkzeSOqZtZhtkUcwXzCPMp5lcsTCxqLOZZ8lgGWM6x3GJ5z0rHqs1qn9UnaynrAOsN1hsAt7aMyXjaY2BkYGB4z7CJQZABBJiAmJEBJOYA5jMAAC5XAfgAeNqNUstOwkAUPS1oQjQuXLgwLhrdqAkPFaHCykRxITFEo3VbBEoj0goV8Bf8Mt35BX6D8QOMZy5TQujG3Ezn3DPnPmZuAazgDSkY6QyAL64pNrBOb4pNrOFb4xRs/GqcxrZR0ngJE+Ne42XynxpnsG/8aLyKTXNL43dsmHHsBwpmHRdooA4LI7QxwBA+AvTpH3IFZCy49F+594giUSXVY6IIXaKOMBFRGxM88BvSi3W71ES0EBXkaWOxHDyevnBXFT3yPUao2D5rtLnyZEOyWeZ38UylyvNEZgc1XfE8UW8PZ1QPqVXZAsl2TYXHWuo2AxwwU4FWQhW3uISDK6JkVHYhLqmwFhR3Cy80X6mBGzLKm2e7VEY632gWkUOZ3yrv6uKROZWmQ1a9UJNTyuFYlo0jeif/6N2RV26xi4G8req9JciXOVgyZZcVx1oZzpTxhBz6zblZT3ut8cyndyoRFq0oZ2VOW92xwg5t+bfUzYt/4ZJ4UQAAAHjabZT1k1xVGAW3F0lwd3eHefe7z/AQ2ODuHiCQQFiChBAsuLu7u1twJ7i7u1vxJ0Bgen5jqra6Xu27fWdPnbN9/X3/ff6e3Jf6/u/z19Qf+vrpZxqmZTqmZwhDmYEZmYmZmYVZmY3ZmYM5mYu5mYd5mY/5WYAFWYiFWYRFWYzFWYIlWYqlWYZlWY7lWYEVWYmVWYVVWY0OBYkgU1JR09CyOmuwJmuxNuuwLsNYj+GszwYMMIIN2YiN2YRN2YzN2YIt2Yqt2YZt2Y7t2YEd2Ymd2YVd2Y3d2YM9Gcle7M0+jGJf9mM0Y9ifAxjLgQxyEOM4mEM4lMMYz+FM4AgmciRHcTTHcCyTOI7jOYETOYmTOYVTOY3TOYMzOYuzOYdzOY/zuYALuYiLuYRLuYzLuYIruYqruYZruY7ruYEbuYmbuYVbuY3buYM7uYu7uYd7uY/7eYAHeYjJPMwjPMpjPM4TPMlTPM0zPMtzPM8LTOFFXuJlXuFVXuN13uBN3uJt3uFd3uN9PuBDPuJjPuFTPuNzvuBLvuJrvuFbvuN7fuBHfuJnfuFXfuN3/uDPIeMHx6ROpyMLmWTILEtZyVo2spXDukwDXZZdlgPD/+VA0b1vKguZZMgsS1nJWjay7bLQV+gr9BX6Cj2FnkJPoafQk/QkPUlP0pP0JD1JT9KT9ISe8Hx4Pvy7Qk/oCc+H57Pns98j68l6suez92fPl/6+9J7S90rvKX2/7L3vfZX3Vd5X6an0VHoqPZWeSk+lp/Z87fet9dR6aj21nlpPrafW0/h9Gn2NvkZfo6/p+pJ9SvYp2aNkj1Kn914la9nI7r3JHiV7lOxRskep0Gefkn1K9inZp2Sfkn1K9inZp2SfUtJnr5K9SvYq2atkr5K9SqHPfiX7lexXsl/JfqXQZ8+SPUv2LNmvML/o9J5DZlnKStaykV1vmGOYY5hjmGOYY5hjmGOYY5hjmGOYY5hjmGOYY5hjmGOYY5hjmGOYY5hjmGOYY5hjmGOYY5hjmGOYY5hjmGO41+jl6V4j63O3kfW533C/kbu+7HPuPZcdWcgkQ2ZZykrWUo87z5Xn3Xl259mdZ3ee3Xl259md51qPe8/uPbv37N6ze8/uPbv37N6ze8/uPbv37N6ze8/uPbv33Ohr9DX6Gn2tvlZfq6/V1+pr9bX6Wn2tvrbrK/3/UrqP0n2U7qN0H6W7KDv10MFRE0aMnThu9D9zrnmnAAFTPx7UAAA=) format('woff'),
+               url(../fonts/dashicons.ttf) format("truetype"),
+               url(../fonts/dashicons.svg#dashicons) format("svg");
        font-weight: normal;
        font-style: normal;
 }
 
-
-.dashicons {
+.dashicons,
+.dashicons-before:before {
        display: inline-block;
        width: 20px;
        height: 20px;
-       -webkit-font-smoothing: antialiased;
        font-size: 20px;
        line-height: 1;
        font-family: "dashicons";
        font-weight: normal;
        font-style: normal;
        vertical-align: top;
-       -moz-transition: color .1s ease-in 0;
-       -webkit-transition: color .1s ease-in 0;
        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;
 }
 
-
 /* Admin Menu Icons */
 
 .dashicons-menu:before {
 }
 
 .dashicons-image-rotate-left:before {
-       content:"\f166";        
+       content:"\f166";
 }
 
 .dashicons-image-rotate-right:before {
 }
 
 
-/* Both Image Editing and TinyMCE */ 
+/* Both Image Editing and TinyMCE */
 
 .dashicons-undo:before {
        content:"\f171";
 /* TinyMCE Icons */
 
 .dashicons-editor-bold:before {
-       content:"\f200";        
+       content:"\f200";
 }
 
 .dashicons-editor-italic:before {
-       content:"\f201";        
+       content:"\f201";
 }
 
 .dashicons-editor-ul:before {
-       content:"\f203";        
+       content:"\f203";
 }
 
 .dashicons-editor-ol:before {
-       content:"\f204";        
+       content:"\f204";
 }
 
 .dashicons-editor-quote:before {
-       content:"\f205";        
+       content:"\f205";
 }
 
 .dashicons-editor-alignleft:before {
-       content:"\f206";        
+       content:"\f206";
 }
 
 .dashicons-editor-aligncenter:before {
-       content:"\f207";        
+       content:"\f207";
 }
 
 .dashicons-editor-alignright:before {
-       content:"\f208";        
+       content:"\f208";
 }
 
 .dashicons-editor-insertmore:before {
-       content:"\f209";        
+       content:"\f209";
 }
 
 .dashicons-editor-spellcheck:before {
-       content:"\f210";        
+       content:"\f210";
+}
+
+.dashicons-editor-distractionfree:before,
+.dashicons-editor-expand:before {
+       content: "\f211";
 }
 
-.dashicons-editor-distractionfree:before {
-       content:"\f211";        
+.dashicons-editor-contract:before {
+       content: "\f506";
 }
 
 .dashicons-editor-kitchensink:before {
-       content:"\f212";        
+       content:"\f212";
 }
 
 .dashicons-editor-underline:before {
-       content:"\f213";        
+       content:"\f213";
 }
 
 .dashicons-editor-justify:before {
-       content:"\f214";        
+       content:"\f214";
 }
 
 .dashicons-editor-textcolor:before {
-       content:"\f215";        
+       content:"\f215";
 }
 
 .dashicons-editor-paste-word:before {
-       content:"\f216";        
+       content:"\f216";
 }
 
 .dashicons-editor-paste-text:before {
-       content:"\f217";        
+       content:"\f217";
 }
 
 .dashicons-editor-removeformatting:before {
        content:"\f320";
 }
 
+.dashicons-editor-break:before {
+       content:"\f474";
+}
+
+.dashicons-editor-code:before {
+       content:"\f475";
+}
+
+.dashicons-editor-paragraph:before {
+       content:"\f476";
+}
 
 /* Post Icons */
 
        content:"\f173";
 }
 
-.dashicons-post-trash:before {
-       content:"\f182";
-}
-
 .dashicons-edit:before {
        content:"\f464";
 }
 
+.dashicons-post-trash:before,
 .dashicons-trash:before {
-       content:"\f458";
+       content:"\f182";
 }
 
 
 /* Sorting */
 
+.dashicons-external:before {
+       content: "\f504";
+}
+
 .dashicons-arrow-up:before {
        content:"\f142";
 }
        content:"\f156";
 }
 
+.dashicons-randomize:before {
+       content: "\f503"
+}
+
 .dashicons-list-view:before {
        content:"\f163";
 }
 }
 
 
-/* Social Icons */
+/* WPorg specific icons: Jobs, Profiles, WordCamps */
 
-.dashicons-share:before {
-       content:"\f237";
+.dashicons-hammer:before {
+       content: "\f308";
 }
 
-.dashicons-share1:before { 
-       content:"\f237";
+.dashicons-art:before {
+       content: "\f309";
 }
 
-.dashicons-share-alt:before { 
-       content:"\f240";
+.dashicons-migrate:before {
+       content: "\f310";
 }
 
-.dashicons-share-alt2:before { 
-       content:"\f242";
+.dashicons-performance:before {
+       content: "\f311";
 }
 
-.dashicons-twitter:before { 
-       content:"\f301";
+.dashicons-universal-access:before {
+       content: "\f483";
 }
 
-.dashicons-rss:before { 
-       content:"\f303";
+.dashicons-universal-access-alt:before {
+       content: "\f507";
 }
 
-.dashicons-email:before {
-       content:"\f465";        
+.dashicons-tickets:before {
+       content: "\f486";
 }
 
-.dashicons-email-alt:before {
-       content:"\f466";        
+.dashicons-nametag:before {
+       content: "\f484";
 }
 
-.dashicons-facebook:before { 
-       content:"\f304";
+.dashicons-clipboard:before {
+       content: "\f481";
 }
 
-.dashicons-facebook-alt:before { 
-       content:"\f305";
+.dashicons-heart:before {
+       content: "\f487";
 }
 
-.dashicons-networking:before { 
-       content:"\f325";
+.dashicons-megaphone:before {
+       content: "\f488";
 }
 
-.dashicons-googleplus:before { 
-       content:"\f462";
-}
-
-
-/* Jobs Icons */
-
-.dashicons-hammer:before { 
-       content:"\f308";
-}
-
-.dashicons-art:before { 
-       content:"\f309";
-}
-
-.dashicons-migrate:before { 
-       content:"\f310";
-}
-
-.dashicons-performance:before { 
-       content:"\f311";
+.dashicons-schedule:before {
+       content: "\f489";
 }
 
 
 }
 
 .dashicons-wordpress-alt:before {
-       content:"\f324";        
+       content:"\f324";
 }
 
 .dashicons-pressthis:before {
 
 /* Taxonomies */
 
-.dashicons-tag:before { 
+.dashicons-tag:before {
        content:"\f323";
 }
 
-.dashicons-category:before { 
+.dashicons-category:before {
        content:"\f318";
 }
 
 
+/* Widget icons */
+
+.dashicons-archive:before {
+       content:"\f480";
+}
+
+.dashicons-tagcloud:before {
+       content:"\f479";
+}
+
+.dashicons-text:before {
+       content:"\f478";
+}
+
+
+/* Media icons */
+
+.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"
+}
+
+
 /* Alerts/Notifications/Flags */
 
 .dashicons-yes:before {
        content:"\f132";
 }
 
+.dashicons-plus-alt:before {
+       content: "\f502"
+}
+
 .dashicons-minus:before {
        content:"\f460";
 }
 }
 
 
+/* Social Icons */
+
+.dashicons-share:before {
+       content:"\f237";
+}
+
+.dashicons-share1:before {
+       content:"\f237";
+}
+
+.dashicons-share-alt:before {
+       content:"\f240";
+}
+
+.dashicons-share-alt2:before {
+       content:"\f242";
+}
+
+.dashicons-twitter:before {
+       content:"\f301";
+}
+
+.dashicons-rss:before {
+       content:"\f303";
+}
+
+.dashicons-email:before {
+       content:"\f465";
+}
+
+.dashicons-email-alt:before {
+       content:"\f466";
+}
+
+.dashicons-facebook:before {
+       content:"\f304";
+}
+
+.dashicons-facebook-alt:before {
+       content:"\f305";
+}
+
+.dashicons-networking:before {
+       content:"\f325";
+}
+
+.dashicons-googleplus:before {
+       content:"\f462";
+}
+
+
 /* Misc/CPT */
 
 .dashicons-location:before {
        content:"\f231";
 }
 
-.dashicons-camera:before { 
+.dashicons-camera:before {
        content:"\f306";
 }
 
        content:"\f185";
 }
 
-.dashicons-chart-line:before { 
+.dashicons-chart-line:before {
        content:"\f238";
 }
 
-.dashicons-chart-area:before { 
+.dashicons-chart-area:before {
        content:"\f239";
 }
 
-.dashicons-groups:before { 
+.dashicons-groups:before {
        content:"\f307";
 }
 
-.dashicons-businessman:before { 
+.dashicons-businessman:before {
        content:"\f338";
 }
 
-.dashicons-id:before { 
+.dashicons-id:before {
        content:"\f336";
 }
 
-.dashicons-id-alt:before { 
+.dashicons-id-alt:before {
        content:"\f337";
 }
 
-.dashicons-products:before { 
+.dashicons-products:before {
        content:"\f312";
 }
 
-.dashicons-awards:before { 
+.dashicons-awards:before {
        content:"\f313";
 }
 
-.dashicons-forms:before { 
+.dashicons-forms:before {
        content:"\f314";
 }
 
-.dashicons-testimonial:before { 
+.dashicons-testimonial:before {
        content:"\f473";
 }
 
-.dashicons-portfolio:before { 
+.dashicons-portfolio:before {
        content:"\f322";
 }
 
-.dashicons-book:before { 
+.dashicons-book:before {
        content:"\f330";
 }
 
-.dashicons-book-alt:before { 
+.dashicons-book-alt:before {
        content:"\f331";
 }
 
-.dashicons-download:before { 
+.dashicons-download:before {
        content:"\f316";
 }
 
-.dashicons-upload:before { 
+.dashicons-upload:before {
        content:"\f317";
 }
 
        content:"\f339";
 }
 
+.dashicons-microphone:before {
+       content: "\f482";
+}
+
 .dashicons-desktop:before {
        content:"\f472";
 }
 
 .dashicons-smiley:before {
        content:"\f328";
-}
\ No newline at end of file
+}
index 6fa3ac94dfb7c96e977a764935915122cba146ae..51afaf0d01b043caa05dbabbedaa2af86deedc5d 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,d09GRgABAAAAAElcAA4AAAAAdPAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABRAAAABwAAAAcafGMFkdERUYAAAFgAAAAHgAAACAA7QAET1MvMgAAAYAAAABAAAAAYJYFaPZjbWFwAAABwAAAAQYAAAJSHHBJFWdhc3AAAALIAAAACAAAAAgAAAAQZ2x5ZgAAAtAAAD90AABi5MgFCx1oZWFkAABCRAAAAC4AAAA2BKJ+GmhoZWEAAEJ0AAAAGgAAACQPogeuaG10eAAAQpAAAADIAAABimdQUb1sb2NhAABDWAAAAYIAAAGCwp6pVm1heHAAAETcAAAAHwAAACABEwCdbmFtZQAARPwAAAFzAAADBkijZWBwb3N0AABGcAAAAuMAAAeK+aXB2XdlYmYAAElUAAAABgAAAAZne1K0AAAAAQAAAADMPaLPAAAAAM7Z0U4AAAAAztoX+HjaY2BkYGDgA2IJBhBgYmAEwv1AzALmMQAADH8A8gAAeNpjYGY/wTiBgZWBhVWEZQMDA8M0CM20h8GIKQLIB0phB6He4X4MDqp/vhSzXwDxgaQGkGJEUqLAwAgAOtgK8Xja3Y+9S8NQFMXva+tH4OVaEIeAQ0A6ZAuiYnCJijSFKmIHiYPEj6VOFUFwc/F/6+Smgzirk3rue+iixkcKDs5OHrjncuDwg0NEdRrdLCnnpLouqSo3VOx+RimN0WTrAx6mEWAOEWIsIcE6NpAhxwH6uMCVKPEkkEgSSWXNeCYwkUlMx3bsrs1tYfv2rCyJHInQxAxCtBxpHstIHamNHgoc4RSXQlKXpoQSVyRlmiY0sUltZrcr0qEdlOXdxFSDv/iT3/mNX/mFn/mJH/mB7/mWb/iah7zFm9zmVV7hRV7wz/2Bf+If+/u60Hs61z29o7uj1X8jNU4/OFVzVvtdoH+vb7THbaEAAAABAAH//wAPeNqdvQlgFEW+P97VPd09k3syV65JMneOyTUnEDIJEO5wGK4oghzDHTCKIEiCigFROeKFoiwqouIdFVmPLKvo6ngjG3F1WRdXZbPoc9d9PB8kM+X/+62eCQmib39/Jt1VXV1d3XV9v5/vUQUncvCPnOG7OIGTOA2XwqVzXJXWohV0Fp1JSyzJRKsjZ3qfoE9FnqA7yPQnIk/wXbF6chv3E+3+idDYJ9xPxE157ieOcAP+VXEcz4W5mPyK1Atl+jlOQ4IhYjTlE1O+EAhqiCzpC4hRL6fxsgSnfD5EgoFgiA8GPJDuCYoHYjW7stfdNazs4Wmlw+c0rhwWeyxW85zZvNxszh29xDjS5ptaKY9betVVPqs3tcGXZ54Gt6aZhY38G7vyUm3O/C3lWXmWVJISe4x/4zl2d7o5NzAuo8rmu+qqpePkyik+a7121ahcViZHiJuLSHWymsuENrF4jAatXiolRGuzOv1aX4CcEdob165tjNCUCISyem1jrL5xLU0hZ9Y28l2Na6HaAve/UMZn0nFoyzRWjknWEJeG+L0igWbFQ6rbvTy2PrZ+Of8D6YjEDvBNfVOFQtqi2rh7OX8zS6ctkftij8ee5GfQdHKGpkC5EW6X3CwP47I4JzccyjVmpJM04iK1JOBzOa3phDgDEC/UsGtJJpLeZAzIxCilE6nQ5cyoJSFiYqke6fuNG3c3/m05kRoaamtrn6+dRJ8xD22893qyKPotbywosDYVxL7FoJzszccbdM/1yiN0QV1d7fNSF6bc2zg0n4iTGqCAuroG+szyvzXu3tg3Cwq4rKCQz4+dZuHb5AF2Y+NGsngjPGKm82ufr6vlOBWMjzDUqZnTcblcMY4RovU5S4nLItusErS+0WvxBDiPUS9ZnT7RomVhwOsxaS3QoP2Xor66+LHNtGXzY8XV1cVCT3F1rO7oHXccvUM4RM5AcMdSUy7thjZV4kI731VcHYlUF8fq4QH+BUw+quo7tRSfEck5Ki+j+9gFx/ePCQF6lMPuEy0Gi9bLNwk9fQeFwmhWhJwR9b3fhSOiHvv/NHdK+lrq4dRQJzuOehcJ4KgXg0ROIzaLLFldTl8t1DSgUe7IRCygXa+S+pzLna7M6Fuzhc3Xer6dT1tb3a1ut7u1RpBIfTbey6FdUp6SVedyzn6vJbphumckZCptc7eS9nln6H64lQm3cuirMP8i3FtSTIpyBs4C3y6pXARbLEicmcGA3aThjRJONDZ+YDZK7Qvp99fFvppw7K4J/Dafb+FcolpL/0pySH7xkN49+dPN+fnm6flm4aeFPl/smgl3HRvP519HMhfOHeKmf6WnSMGan2IFZnM8IycQN3HLamk/zP9SbqzSuzbL+Z4lXuzaUmLAjqwhNuzNamwYmHqJKz9emRM5WZf7ZXV1ce932Neivrg6mhXGaNhcYu6PkDMXSetQdWK8byp2urm6sXqXwWw27III78QY3TcwLfY5xhh55Dq4ffIYuQl6lCPQjU4Jp55JhuZUQVMSV9AYwNml0h/iW387+cjoifU6329/oD0B+kngXT8x/QCJ9RNH66R9h2KbD/l0oyeOfn3KoR/oPwLvBkgZZPg3S6w/AuNND+OtC8ZbFlcJ77aWqyqIMyR4PTBO0kTBAaGZpKls1nK+AhonRLwq4+WXBNzZWkGQpNLaxaElW8vTiEqbVerfSDKu+WNbuv+R/X9btPjLZ253ua75+DqV11kzfnyNThdcsXBi2don5sjZY0dMHUr/fmjLsZXnxHRXfpbJYk1JPtfy4SaFhodlNXyPi6uA2tskGeotyQaL3+mSXUGny6b1BoKuoCkQ9FsMRlPQJBtNXs4T8Dmtkl5Wf54TvO/YfU1LaPeSpvu67wtmff6ZaSikzGgmbpYy1PRZ1HO2s/Nsp1C4YibcgSyfZwXhTtMSUrxoDqQEcuMpcxbREZ2Yl31XRLbKlwCNhV7hjJnARVQuQRQsLmV4Z3oCfvYNUu1ro0fPa6HvbH2VfrKLdoeF3LFVq+cRvmLV5MmrJsvlr1FKf5rX4q+jLxbQbRGB3EZqV88bHTs5eUgQcuC7SJHcDONYizOaeFQmuRzGpyR7NcQbyLTrrHZXMB/GaCBo0xBbmiD03Ee0C54MvbL8Nz9Ye+g+uu9o1hFS9vT99F/9qWQumXs0c8Ohf0r7N7a80TjvzbtpC+k4QDL39rbHE0gHbdn4lwfncEgrI1BfZS5lw2wu/vls4gpVJklVaHcFVKzeRg8BSuWHH5svW9l8WQfzJUgaiW/DBvo+fYa+v2ED/8ja/WvX7ofx6+7dStxCIZI2zBzNgrMwfu+OHXvhOImZ1sYOhMNh+J5ULgJzuxnGRTpQbxP0QQGMkFIYI0GumquF2T7xIvPdorXo4JO88SNB2YPwnQ64N+ga7qsGXMvNUAc7q8OJ4upeOyO5xK389a0sMcMMj2CD8U3IMKOxASldg3OQDiQbcRKi+gwS3BH2j6aYWa5wGHi6OxGHG/Eo1Bv5QVjazzBC/mCUYImjBFcQJgbMEpgKgBh64oiBdkNE2N/bG078IX6InkzgB6GwcW30mQG3kZdw0OdH4V0ytHIB8hKdTQdYws56N+ATHEaT02ZVyU67zSoHgkJPzFgeqbxL6BF6oiMaq4GKhfmylixfcRd9fc4c+npXkT+rReghJX2HVGuqsS3CrGqxP/z17hfll/fseVl+8W6F58mj5LWABrWIYACkIeOzAH5DdiZLu7ebzbSx76Cq9GD+tNjf+ewdsZ6xctN2wFj0kuhQ8cRBM4newWftiP29mwNcCf+gHkdhpNi4Jpi5y7kWSMrgy4m9UJVG+IzMfAIjN0RgDBszM3gcxk5IDTDM6JQlm9UVsHth4jklgx4QpNFkBKYBmCdEkPCyHE4glJKxgOg0JKRywX1eQ5y830d0+Lh8dNHLP9KP6Cv0ox9fXgRxUkXGkKofX+57i6wik37YseMH+gK9g76AMVJDP1qmT9MZbpxu0a0iCz68j5iafXNMxhxR8NQWFtIfDE61Wp+u12+abltms+shOr2FvEREQW3UyElzP+k9QTa++z9CyTdr2pYsEUYrr1p0wSeIswa9dBL7kL5iwa/mvRUkiTx6ZNVCeeIE84iiYrU4a8vwk42N/PdErRL4oI8kS7xA/EGipkdjefzLcnZj4w1Dn/jjn+k24Y6+noXk5m9foO/Fdpbkc2J8zDbDiJK5ZDZjOZyLBCj2oMMtruvdqmqIngRcww6+KXZAbj57VlwHc6L7/AE0cQbpkEU5DbBFKZTmc5UDX8wMutJUJqSEwYDj50nCzHGep8dnf/jQwwte3LvSk5Hz1RP3zF8gPHuxVP74pstrnRk7yYhLvq7YcvCDczf8MdrUtOtiiTi8xH4sqQLklcJlYB11gLctBAgJO6CCGmIBZhY70DeVuFWdfVNVnbEDsQNCIVIMublvauyAeAIq2IIEAENyBsvmB+BUJ/JAq2Q+LxV4GQnopwNaEk9XNTRecgvtRkmhkW9qXIsHUoLuMITiuh0TXqLdxL22kZzBdNoCRwoQg/40mDKMx+F7NUBvtdDS2ZyZK8R64dsc8BJR8OosNsFLEgdMUw0PgLW4+uzZavJyJAxkOhwJAx5KnJDIn1H6tbr43Gu8FCquDuNrzx+Aa3uiWUI7baEtDP8o9Q8jDSKOAMAxqGqhM4MhcVGbhlVWLnwB/lXV5KLqD+gXH3xw+/hJ0dbMSPvtLDpE2hORaksjfd/DNbF+YONXR6LtNzzF4kJ1kX+APJDOJIIRiZrqJVuCuEL9uAR384Vkb/89T76qAOa9J583fSml+caP9537N5zF/+3dyncpDG4fEZMM5vJhjZUKbyueNMxny5YkVcaQuqUtS0Z5k+Xm+GM+LOLcazgdhF7G+Gi3OqdxavOcuaNKGF8s5rvcY2fMGGs0phQvmTICUgyJsRJhfFHH0OIF3+8FPscVBjKchVKGeII43aGQ+9z7eCZOQMsd9A7ScPo0PXhaqgu5+xaW1deXqX7jDkV6vzut3MB3SPCOXf1ykw3mnxd4Lge0M5/Xp/FAO8t5X4jPjGMw1QVhgstK8VDIJfeRYe/c4PPd8A59iy6mbylxubWpqbWJzxkYxCQW/J7xFrl51OrHX/nbK4+vHpWIxGxNLMOAv9gmFrRU4zMgY3eQM4x/JivSVOIn7UceibwQqJA+EWOyryKDKc+Y8CmbH0UwEML8QYPNYPPb/F7AE9J+mFzRVlUDsGxg2mFRD3w93GsX2iPsOhJhbccBbjkKOOo8LYQytQlqCBGXn8EmRhHlo2crFfoHUgbtltU4Qc6elfbDuOhBwMB4KMMOLax8EcrPgvI7BtLagaU7LigZZxqQpHq+C4rtuKBYpdD/s0zXBWXKavjaWL2s/sUiYZwOLFMpDU5YgngimoWPQft3KPMfIaG4TlyHT2l4vAJCuY6upKs5wnfBvROqTuWeeAJTkazyTfF7+sRzoh5TAZ7dSbaze13iCRCZ2T2AaJCK+WMHfvWerOBgeRi0QQHDm16GOBk/01ri0qISGiwGhEk1BIe9OCDO+kFrg7NywEx0n3uNuGGgkg44RVsVwMd3KSHB1uiI8E34J9X1bgV2GGpqCoXZuRflxMGn3tVCe7Q1jIqyxIHtCLVfKDnEJ9goNBEbCZrEB7bE/r6FHtvyrfjE3JiJ3N6GcvufuD9JZ6WzChcDeeM8JvL7Mu3AY4SeB4n1WGvrMfoFfY1+cay1mywj98dekc6eT2o9RqwPfkKWHetrFtT0eo7pAyJMlktnMtOFWIsHaClriElDGGApOn799cfpnwCu/Aljwu9x7MMUA56GTCKiSPcDs5Ai9ljUi7cig7MP4qMarJeGiESAdxEH0YlE5xB1xCH00O7YAfKbq3CgtJA9sQO0+zT5mB6ZRd3UPYseIR/LzbEDE6kntgxL5e8hH04k62jpMLonFjt9GiBReBg3gGfhu9ibABWy8ombb6LhFuT7V9GFfNPPi8PvxHQ2/nDuWUgxIYCKspAiwRemwEiGPmXtibJxM5emyIXGDIY0cSCGiC4ufxr0JlQWGFE6JEbxzS2HD2+xOJYDj31Fc3DznJtueuWmXHrYtjlTkAufyyf1MIN/T88cVi/v+0o8cfv9sT+3Xz6nvX1OoAoyvZmp2gBZkAiSA+SAVCQVMzqqqBiDGtTv6f5Mn6B3fUia6ROfk1mk+QN6F7/2Q7KSPs4uP6R3kZmf08e5/3M8cIUhklFOCtNIhvFiA4KMIhmntmw5Rf8F54sOhL4VW0715wF5hnTEdWkmmLtl8N3ewdyR6X4KjQZByxpOS1whEm9Do0mGSdcvlRaHkR9GgC8Tt91VAXO2wmVXNcQ1esWo3yPuR0+ffhQHIcNX3bH6TzPHu3HCusdnfjoYMyKucnD13KTB31RDBmI8pDD92CMkeaGbAW0UYBRRB7Al9phBqnuztKamtPdMaQ2LiCmlNb3fqRr6DpIzjBWSQl5tLgwMnVQcbR3S6DQSQoTUTIur2loxsThP5F8L15RGb5DqlDJqSt9Uyqgp7ZuuaqARxldpd5J96RWrpw1FjA6VKihQpRc7yy0mBCKxShitN5TWgMCqGYCpTAwtuBjNRBmdC4JM7h8go2fGEQHK3vx/EGc4E0EknCMMEojr+g7+8KuxcHXx+aekOoYKqpEt/VpsYF+drwfnuFADkvg26Bp+QFxBuvhSfPW5vot81sCqSKLyXmRX0ZPn4xynyOT4HUdB/jdwWYMxDDJRGAcwUEz4UoDP3dGTqG8AotMFOBx10MCESYdQiFEMGehrYfdi9YB28C7HKbpxRWZOgjdlcXkod8BA9Fs5g02TeKnIAlSd8F1v7Ly3h/7reSJJ02kKMP12oRAoKRBimgJYvkc8ccvuY/Qff6FP81/1bqUpQg/golg9iCPAVX/hfRp4JWczeIwkXjsdCwSEa9VvkDoiPU//1XPvzt5iLA1LZUwhjG+jT5NpfyGmY7uJHG1F0qnqhDO0Q7Q10ZYq1pZHoU+Tma0EADQxKGwczw6LBhVYooXIR2k3lN6N8mnfKb6L7uO7kAnTfdBmc1UNERRWIyivRkhHbG24l8GWeJ2wrxAzKeXHeT5gR6iGTStoBOgoeI6V4MEnoVd6aAsiPOWFyBfwZSAY56AmD/V2jJ0Dj4lwx+Qk+H4Ts8fIDqD4Lif+bFroIw+qKaRXp0yhp4NB34L5be3bservv3Jo663CF6/Qpa+sad++Y1Pbgvn+ILzrCDlCj0+ZdOtWpey3oGx1vOxAEH5eLNMqS/gDpiI6M4gBch965X1ERtvbWxcs8AWD9PQU4Qt4waQppISGaIi4g/75C9o27djevuYVci+TUaD5I+I6oMMZbATrJVmLyhRtOWrbC40qplxyWsV1j98U9nhuehxpbewAmwjiuluPW2P3ucN5eUK59fitQGOz2QRhc0OZo+p+DaUFJ6FC3Zk6H+kooDNiScxOezzkm4T2BHGPYIS4i6tBDGiJtrYweiecUMSQLvwKGG4swPHbMkDUiMtGkQv0kraLy5FME4kmuXg4mAT0bkXVolCIqgIIBqtQcXpFW4XCsCI4tyhhHHcgKhJPMOkvH00b7J2+QBBPICOHGIfRix9sPvTB7dGs2z/o3CTdsbSq3PP7qx89LXyT9tbNKC9vflObk7f0Dt3CdacfrWRtGyFnWLlmoN2jIIUJvGkSMxCExExPSFVLyiVrmiqd5Iv2OJ8SNr3/9n23LRivzZSyGmd33BMZfPnlfXdds3RCMDVVzKypb7767sGXfBrTtYsngk0rVjTl5sU5zqCr6ItxKVhtntZw+cjyQVenmFofaPd5nKFj0mrdz3XDLpiUIhseNq3XgMf53uKYvGwsFEz5iq0Im3Nwj4RxivYFVTkF7jD8cxf0nSpwu4UmlKVh+D46KVgPYKE+iDOa6X7jT0LONkCotLsNshfg4zE+LoLzXauzwjUIHmrCWWzeED0hUpd0mHNzQ3DGZ8qKKjLxk9OILCkEIP6T7C5nRjBgVwmBDJezUJYyTMZC1eHbnMuEbLW1IqSqsVTZ7CajShhZWeXx+bxVFjdfVpiVpb+P3rvpwQeXk1ySa1u8eAn9YvGSJYuJVSq/ja5/QDBKuYWlqjJLFaLKssqRgmA0OG1VluFCbXlhvn6a78aHyDsPLp84MZazhFiWwD/61yVLkCYigZb2D5B/+zmYkAjbUbqLHYgogaoByQseijqQiWEwz0AWgvG4brAcrUhWXi0yCkBztn7N4hmhp/e7CNBoFJW7lVJg0gPJDicKxYN04FQChi/1213TgW4XMH5fqlAURbzzAsT2GEVLObQJsSSm9kCpTtWJRKT3OyQm2p0Hd9IbiTtjxoIZdB4CxWgrQkTgtvgHOKQ4DOhy5tVXzywdOpQ+HgeZgwU4df84xjpnxPVxFkCOHKIM+CyUoRWjtMkPk9zBGNn5Q1ajSgnVjtFW4sbJdRL1gshzEgfehHpDPj3Che5WnEGRyNpGVEcCIkLlJJfA7qwfJYWvoZCIygD9eQBvF3p2EuHVK6Hfuq58lcbo32js1SuvfJUIQo+SshPavH5nIhXIFeRmtGZAPZOV2iXaVVaz78A//EyEtdiLDBuBbO8WT0h1wGvzsFXgczxBhSf6Ecm7nBZBCyQQdfc22esx6GWpFKRi8tZH167z+lbPWLxmNY2t37rS5527dNeDf/J6VhwAcfu78MLnN05syNWk77rmqclTYjFiKbRMmDrmzw/NLi1FmkvehzGtgveiLGQjXtkS9BJb0CK+9Qnt6Q7F5oSOk6xPQvzD4rpoKwzCdhxfHWwe1LEa6phEYkN7qxM1B3q0OPG/FA8zdhNGFtB10aioV1ReAK0ujDD9Hbw7h/Ud6nV9QEuWcCuYXks2AaOXAfkYLILf5g8yvu9HRbpNYfwmxAGsAfEynRhYVmhYuK/cMzCDeiIPiKNOl8Ho7e8GyGPCOjSNvrGoPCWTJ3n4wRue8g5JM2iSMtKG28xGbbYhtyzLYMgypaRKckpyxUKyE3Pd6HDUTg4W5er0hmHuyoICb5ZJbyjJzc/O9dRPLSnNya4qyjbdqDQA6VjidSRlltD/joRjT49RVfp0OSZTngUOSUhJMQV0yUnJKVnp6Rna1KrwsDfC9LPy7Jyi4ZmiXF6QNTIlxVyYnq6WUycYLZbqoqwsidfk5dWHgQbbSYf0OfSbniGM80YGnv+54aE/TXixpvSukOHZW29b/upd47TGN26/Yfo0wXE+8U5IPIKJ/KNXTfJb0q4jmaPf8O55j8a2Hvx04oQbr5oUKLwwkfsFenqBVQVnO1MktyuheELRwiWO/6QMGLgnVQ2KbQbD/z9lSPsBsrQjn4yHF5Yh/qwMnULRSVwjaonrGxEcIyxGCwEc3WhTwC5H6UaxpCIlZyA8oa/L4PI5JzeMGw0ydhM3F7UlwDGDTmVcg3wPveSXlAHr9wUDxCvYBG/Qq9MOGrsYscn+/uEt2mCGQEFiIqWUMDWWVGm35Thtk2fPHDnCat3W3jSusMRpv7SsorIq+szSk8tPLhn2zbHPFg0Zkp83wpOXNyTQNnVGvbnAnFdDpz0TMGnS1RqyZWGdtbCwILSUpqHnVxhFOakrWa29xOVwjK2/4u69OdOTNOqhgZZlw4fHmEnlUfJ87EC5u3G4zZai0tgc3sl2+9lHdZml5Xr94j0jynw52dtMpnJvVlbsFRDBCsMooSE+ivvJiKzVDQw7yjqHrC0mWpeoY15HJodgKiZBQQxq+aa2L+ktbcDgOtroLV9G3+ab+g62kWu/bKMtqs62L8m1bdJ+vNOGvYDX0XNM/csei2fkgIMlsPJAHp7bz20TutXa+ChgWBl174OPi9+z+AU2XpRr1EpL+1HHCjB2wF/HBckgGKeEcYjjBVrqgDumKBJypP8fCLQwgJGrAWdu6k/tVkLEaWdQvgGsbORykCMgOmAyiFafL3hCgl/LplRk27Lld0eyRyx8IPLQwpE5MDtPxP6w8/492/ia2Is1126YM2zo7OuurYmhAkLV30f980sHlRz4Y/xw0LE/kvgk/CZyRvwH4zdJqGVCPqWzuCw6sfQwXQgTsGsF2VdKX78bJGVUFbnvI6fO+31AH4nAK2zoE6Rh1syEdUfxmDNBUnCAzxwRbMloD8wl8Kc6TiSQvdVvMEFNaK8uvi/QNzV4fwI7Y8uFw0dfi6DhJIw2jnAYpzcT+PoM6DVV+1/fh+KeU8J4pqhIATE8BUPFRjrwO9OB95cN+M64Cs/xM20fehEJzJbj1Q7+SH7z/edR+v1BwETRkzAEzn/bsBK8U1KCH1UybFiJ8pH/FbuJmTrOJPz2pE4YAy7mw2AmeplI1greWUN8QYJsFF0lKwjSIMJ8UT3i3atqamLLhj8z/EqI8PcMnzWzhvL8JrP5uLm0xBzbiJEZknjl8Fnds4bHltXUrGLRGn5XTU1fBDJOzz9uhnz50yEjtouW4Yw6Zrv65fk1Ku4vw0islpHaxGxCbbIcj4sXhL92T6pDmI20GVFZNCss9ITD6L0DIYDu/vPF0mR1ONxrD4fR6h9mzjBnWCTSf7pYGvrPMv6xinFmhSCnsU62IOkGAcgCEpBWD/QaK1pOFFIv9BxeFB5tWTkV5vrOO0ZOeORRAKpfPvLI+NBd9A6+afqq/FHhheLB5uYPXrs5tNAbiSzavPsQSb7//t/soWdfvHfT8kgkGA5t/t2HK5oRo4cH8DDUKiENyOesCj8U0Upm86M7rmMAa7TFQxjTLcgewxHE4hGhJ9qKRIYZc4DVFdJuqS4cVux9++i+BNlRJhCTW9TMKtL8S+9HHznixffbBr7f2++AAXwGyR3zU4qgDR6FDyR3kIxTAJl2mL3rFz4AcXg/H0+HMVbDPG3sNqtKAqHAqPJ67MSG7R5M8FOr7BoAKoEbC3FVBUuxSvu76OHD/VLCzsNkJB2zJ8s4skavz8vzNrXU3XTHunFjzbnTgxnpd+b6vBV5ubm584QS0kpGvXpe8HiVrCwdUuLylObl2B0G3dAbJgwbNn9kWVlNkcloo+/lVHg8OTmVFdm5im4+wh+U/iSauHpuMncpNwcwMowp+GaDAmptcXbvt5lsLptsC9r8ABdM3jg2SCdeRWnmMclOlwIzYNCBkE5krwuHnktyGLyJJoBiDKLLZlDAhlReZLUUjWm6aUy1Zm5mcOjCT7fPWVL99bClc+bcNGf55c8/tzoUzFXfqDbZQ3Wz5jQg0rBPq7RpiIN+prGV9Z3KXGLgk1UpfBp5/lpXdl5+/ih6xdP874TXlg4vLBBkWU6dnjNlVEthxdTyst7exx7rDZ8711tsn+SzaUKVY20O5yWpKcnV7lHhSSVDyPhAjWhNKU6qrn5YSNdVlOgy6VlCCH/AlOUpx7ZS5FLFjpEH1MXKBbih3HDGt9FLXJJdtbziJC64FB9x3oumNwcJmuS4b7gpXXEND4oaYE06DRGZk3hZ7SePJ3zEG/aPKChHH/HeJtQtR5jzOvMSOlk34VbFRfy2b0ffiw7itcI5VBcgsEQlulAofc88xssLRuxPOIw3PH681r17I9Ipxd+I4cfY26O/vU1xFr91Qt1ulnWKUgZMgA54abzOpIPx41TAS2i9KYdah7gxSEUDWh/vtBfCgDdkJGwCqgs0jpq4L3F/QiLsN/GsU53sPG/U4v+XMSb6pMJEZytXE8kl6Bsyll2pvlUSFbMF6fgzyX44YTR7mP5d+ISlb1cMCuyPZpC3YwdQxTTj04HJpxIq1YTvA6MnWpTEbYC1QiCpB4LaNFLOI2xyT+v+7CRdNe27v/70fkQ80WtHxUoeMZv53OhJm9paoFZoQgeTd+MyPWEuFMqh+H0lDqkuwjRikfj7+SZpP7Phi8jTtTA0MC2CeFf4htzJOg5dASBvByGM1yHWR3sij4a7fBEIfiAYEoOoA+BVhcYMdB5S3QYN+91D265SufRFZkfGZrN5c4bDXKR3qa7a9lDsVZL37rv063dl9UP0u4d3nFsgWDId5hLDM/PnP2MoMTsyLcKCczseJvorMNe7JK9fbyEd51JAOkTvTN0A+2HCuEUcWtEhah2iTtSvGT7+jqN3jB8eZLI7GUnG0azYHuZ68uTT/DN8o2XNmKV33LF0zBoLuZpJ8HTd5mjre++hDmF7zHlevkH+jrQe9UGlMBJRmmdWBqZhhi+w+JyYRCC0oQeCTWvvR0bEby0X4V5HBIBOpG8qun+RjjXRH8JCIYTT0Ec0LNz96Bq0d3YsenzdqlXrHl8Ut0Z30240rKg61zZOWwMzBCGZe9qatbGZGA3j03An1hex+Ovq/BaaktCRw5hKZtY09ClzMg8Km8GGYMzP/MgSuhBAaFq0Z6C7CdbgDCDnSO/WSETU900VjjPvqHDfwTB+TTSL74KotL/vYCSiGGaAd5IO5oAV80B9kJcBLklhUWYzYPO4jvnsFcKoiauFGY6F4UbkCxTFQmF1MU0prq5xkTPF/J1Mrqkujp5kSz8Ki6vFF9A0UDIMOTg0DLpt4K3YATgzHwRyRm4G2SAu3Q4uHEQtgi2J63qUNT2KerJL8d5jc5U00BC0ewh1cHFen85W+lxQlgO+vXltY+93+KSob1zbdxB9kxWP4GgWnA8hyVPsSBHpOIwhB/MiUOhS0CHZ4qtdHE7mz4JSjEs06mUxID7BFIMaOuHSdoi1bppNDmlQoQgxOkGjIYcuFQrZtdV2aiFEFp6yWdkjEKmHJEWH+Db3Dhu7BWytAdqBLER5FzBXE76axKFA0GAUtMSoaN+DLvwSIqu9xb255FEDzAyxo2wkQOzF1U2h7DyxeDv9LaaSh4sqs3Lpa9KDl0/U9n7JP+RwoQFeq6/1aPgb3RNCTUmaZG3vSNVlsReUW/I4cxIVFNudIpsiLUHazjkGzmZE7cDXAucTEoT+QoIvq0lZAMZfrZcu9NWFwqbjaWseXeMvo8clEyOzfbcpIke7YmxWvZ87O4BdVD0/K7bKWT9kt9Uxbc2aaYHLcmP/FE8wAh27ngU/KD5tOIY1MA7eZnZ17FBjGhlgBVBQVRxbAQzRWgLB/l/CdpBgO6ITF8n1/4IDsvoDQXgWbQyJX+IN0kybael6m8FqL3AUlZRcdnlpcZHDYrEas7QkJZl6SZJGKKnyDq8dMXbMPfeMGTuidri3ih5i655iJfDsdVblWXvlrCsq7fhsQXZOOjxLPqA/8nL84bpJ99wzqY49LG7zrR9j8hXYrYbsDJ2s12kyM7KNFqvFXsTz+SXEnaEKVXmLSnPzUwsLU/NzS4u8VbFDbFHWE77rxmTFn8xI0umSMvDJAnuxDZ+k3Xxa/NHcjMLCjFz2KJtrCr9PQTsDEIY0lZwJ/JCA4ItmC5VsAekwZebm+264JWQkC0g9ugJGeu3Cs/T7x+gxVScQhFI+zVnbPIGkkkoD8QCNejB2VNVQeS/OweVEKy+WDuPCRUBMMNKTiKSyFTqM3sIg4EVUUJWTGugbtJIGjSpTfGYEgpIckBdPbCYzO8/QJ96gR2mssoj7KXLtq3ZXfkXV9Y9NnTmxyXMrueXLpE/vfbB544rSa1dImS2T0wvvpJ/Rfx9tfUT8Db/jSjk15912VangfWhuePrj7yWXue759Jqc2vYxycyuSG6N20MKUEuNREbWZ5o8jNIwuuPXxmPAYw8+s4F8+yWfJPCama2tM2Mn8/kQixyR1RtmRa+RhI/pTxJpfWaDi1RseKb1w1mKb4PCP/8JcksucgSHxZdEODexaT0pJIeIFh/P2eFCZTJmiv3cyyh2E9/qj6AuD9H5nx0jt5LQP2+KnSS+A/Qbuv74LpKxYvlVsX80tbV1trVGjpN7yaXE9v5V9NiN39K36YaP/khuJKZH6LGWpUvpv++4btbMDRtmzroubl9XeKt9oCet1gtYny0NczJPbEDt/WsvLOJOh9froEuPFvzTM+aGket2PP7xxzHe4QMy4HX0tth9fPMP91VX/0nz2L3P/xC7y2cXOxxexTePi4j3wLv0WG+tV2dh79DG36H1CpOJ438c9FR14z1XtD729o8/RvjPSd6h0aO5n5L/8MIx+nXCRsuwmoatnFD0pTDjuX47N+0WT0RbIzRFUDPrKAp00Sxkla0KxT7LSUQDff2W9CJwxDyQpYdw47gmHJX5gtcT4pk1QBKlfOIJERfavzDuTVwIugDLYNKxFUkEIshIXIITR6vk8BhlAT22XboAkI6AYJNFe+WEYk9TpSk146pR9S20MdV66dWXWlPT5l09T1gKF0OGKldXjG9zhA7d/NGRoRu1bQ0T22LPrhjR4h81Yln6isr9ncXOZKGq85GqFenLRozyXzlqZWq6U8osmj1nYsW45esqx82evS+4dfHircGayZNr+mN9DeSZjc8v+Pwl2uivrxcq7+ymmwuGlpOVe16SkrUv7aF3lg8tIOs/vSMzXWJjYhJ3SL5WWsF80U0EV6BpUK1D2LpGh92UrzFJp7fTR3ZMD8yn3ti/zdPy15nNqvF/p51kz4/ZHpc3z6cLJg8TxKYd9MkdjTcujq2kJWbzelw6fPJ2oe2KpFxTqXGIblTqRAHozr1kiHSX9BRXwg1jFv00AchySBVEEG7KJzzSY1U59kpI1jF6naD5JqMwS89n2fOSzU5Tw4TZDVOzXbMXzimwZJRd8exVa2jsx790es2GDPfYWUtWXXPlM/nzZjfOE0hKzoLLp8+VeWmvnF9cGfQPMWmzPJPGjkozZmRMHjXuBI1Fe8ZOqMua89Tqkbtu33Xz9eHGktTYkvqUlHEzF1kLRhSap82dlKHYCMlOhq1QE8GRuG5JZ0FHEgvpUIQqEOTQ2RIdIgHY9U15B/VFNAVRpKK/J6WsjFSguxauAiTLUcxPbpCURRTMAENc7I+RgL2WpBFeWfB6Pt1xkdiFwlaXIgrRFCUkbzrImI6O/Dm/c9R21oaoUUnmmwaHpPQvJGsfKWYi16f7aI/QwrSEw4btjYf0uOPZ0aPrXqf3O2prQ88tiCeXXBAq+kzFtzOTreNF27OXuZzjkksPYqN8YkDNjQ/1rghMSgkAIALEAtKk/eFzr4W3nNq67Iorlm09taVvamQx39op9HS28otpdxiAft9BmPRwq6QEskUi+7d20q5Ia+fW/RHy6GXtkUg7J5IAN1W6T9Yy/0wHfEMVW09eAGJ7LYz8CiK7ZGJV+BC2o8uaAIqi7NIFvcQUFFw2cjgQeGfDqVMb3gkEIq2nvmkjCx87/e2jj5w+/Vjrs8+efa6TCDccjW3r7Xuv7ZO+bb3i+6e+aYWs77R+c6r1nWAgEks6/RhkfuTRb8PPtjEMuepkRezlE7zhS2/sdyc4GFsD7cVJcK0FKprQdDqBgrlx7agu7mMuBlngcAE+Nrlk5lRWDCmick8IukSTNp1YIorqDQSK/F20GxfpQISc2bWrdxdxR2L1Uh3TjWXRFNVGXNa5axeZy+4p7vR49O5SdNQQdhP3rl2eXSig4B2mwNy1i7bsgn/E3btL0ZvF10kl/FMNF6zewM4vzCeiwcJ4H/EPQKQG8UQ/sG9U/F5j9UzyIVmBkRCMDMD8GihaYO+zvoeEvqc/y1o4HHHm8IVZnzFZGnjACLb2D+cukyO9WmgjEMS04vrBExWaQlHENEVwHuN85gaWISllKM/GTfmozUSjBKpfIqrn3sGHFDIQSRAGhQczu0cdW/3OHERM8CG45P3ca3wXdENY1EezRH0EpbnzPmDop1nNTWa6R4VIoO6x0B4gdleAc6TxRpNUrkIaCb98lcyLgXLRFRJIvipNSCflKiChzTsTq+N27kysjouOoluemEBuI5ylPLPEZ6uv8jsr9U3lnudD4+bfPLkkhUi0hc+tqhlZXZWcpHWOFDYVVORnyCoxXa2WDaHqIWVJLqGKlbVzUPm9rsP/IkOSgzv27PaKRmdJvqgdfUnTEH2qtsI3frSHHn9q5pbptcWWIlOJd9xw8m7lwpmXj7nEOzI3K8t76fAhddZbBq//sSRQy/l163G3ZiVus5YTGE4ani/i/868Tfo1QKUbjq5ff1R4jy1LU0OCsth9wPL1Yn76+qM/Hl3fNxU1Yuy9q7j3ZFEWgU54GJ/KRPxqR1VnkDGqkFAOfF82EcEUInYVE+z8tlxCHEGnOOP2Dy833nWWnqSHb7/1Lc9+6wOrr/zxxO+uzhz3my8gHNpFta7nJ5wjFjKCnjCryPz5pIKG+FSpc8JZ+lf6e/rFB3OME8Z+vX3JujeHD9WO3QtPHb4awivn0/f5MbOheFP0gLlElSKQL2kBfb2bl4HGamBsvQ54CddyDOcmYHshcMkE5uq1oNoWLmXRElJVg1hsIjARPYGgLsBALruZzmMOYDFEyYR+2B30cH6pas/LdvVQC68aI+uq6Yt5ZTJ5CwaGpNPnpn5i8KTHHqqaJDmKguoDYlEu/Z0rl241uZOSxtKx2UWqB1K1qk/oBF6Tk21P/0ZvNaQL4okKRzSbP/mc3XrUNNqav1WVZs0xerL7Nk10u4QGm/POdKc5PW1Hrim2oPZyYQW7bTCbk7mBa+hVIL3gLNKQxAJ5VQOSsFi96gjToyDpQhIV15iwtT9xv9xMQIEzuMvRpxXmFAdziuMNelw46/XYOcdFF8qqfm2ZrBgSfGyZrJxJnJzWF4TuYM9nykcfoGfoDrqcbqdn9rK1sg+/R64mKX2f0SfXZGUYs26/3GFYT277+1MkeN2wFRp1VpJNFRxjs9GPs4rhCnJ0zHVd43JlGTOyLt8opKUkG2XNsu/f/d++I3+j/xxHppLvCb/51vXNeY8LZrILy36AvfO9h9ni2L0kxSHcqRaG+EkyeeVP17VoZjRmunIqMoZJ83aN7L38cmE0UatUfKiapEiCQIaHiJo+WV6YP3tKW/3rPf9Dr7iGvzvWsJIcItKbD0eXkAdjY8os08h/KT6aiXXVMy62BgHtMf9RGjqh+QetAmW+NxiT1WytAmX4AxeT/uIVLvZk16SDXaPuD+BPCT1eUl1dQkpKcKOSX74CLqLElFTgL8qYCTO9lInLAdw6hZulrFqVBYvgRR3CwFUNNp14oXOsH6qF2AboBkgKuEMJTDuQJpwhvhbwhitEgrLT5YWB5VQ13FM+K+cy+uU/H59AcnEFq8LbaO27YfIGxuIcT3DRN66hb9ygGemvu7lQFJNJ6KXGaV21RCVJAm/ZNsI7QvM/Ddkf50xQCaLeVUDSYvURXBWrlAHCu+P1gcyTpjR/9lnzyG1Dcuw5OeOMIzyeEWkupyU52ZEzZNuI18dsaB0t8MiPbuc65Fq5LuHPoiFGSSaijgsGjLjWiXcRMUImFxNH1Blr3Ck8XmnbRD+LTb2Ff4Km853tsSmynj7nXueM2nfyncJTVQ4V3RibdAv/cnQ7/wLcxnc8x62SC8QIcFkz2j45pj9DyTGdKBaGgZdcIadzSXB2yZn8skfX5I0Lu2caDHn8B+fjdDNfTt66rL2B3kTd9KaG9svEyJppvkp9kihW+hAm9Mf7ckk9UZd/Qf9FMr4op2cRx6CvwQnxRL+uf6An0QlcDaAcwLXPe/8o8raCeXUK2k0ME4hJqNOU6iK936G6EZW6jCM1oPdGZ6uqs7WzdyuaLM6vidJCWzArw+BSdAkmaATZlG2cgwViCAX+EF9v544MKBM9/HFhXd9BOA+wicD8NXNe5HUqrz6JpPEAG2TeDxJyUAfcwA8YQmvJFwqI0JNSdud9p1omtd59d6vLqSmYd/nGlasmV7V89fBNFis5w2i1fvRv77k7j6bktW69oaREVqtzR/tLT9Kr6X+dum2eTqdKD01sv+fP/01GPocrbKJnVJmTF7/SokovK6vNi9UrRcVtr2ek/Rdve/Sb6re0XND2A+p0sRr9ah3+r69l5Z8j58RPxU/xmzR8/4Ix8VO6lyzYTvfSB3aQ+exEFogT4Hrv9sT1/B30ATJfkQUVXb0A6LgKqCfaZefH9xKIKylrQRT0MxE47rIIv4KBGk0Pw/kudtPc7z6Nhlfc/QvNtsoiCpsYt9czm70aXWr6XtalpSWlqkRRInJyitXmNefmpGuTknjC87wK2Fdyakq6Tlcp/EhTYqdurfH788z6HHOxyzoy6PMMrfQE8jLsfKq6oNDnHyZsSTiw4OpOVSetTk7NyMxJTjVk8RIpKysF7p2Sqc/Kys10aJLT8oVMHYBBtcaJJodpTYUWny/YJqqlJFmWJUnUJMlCkopvC/r8FstHzCciwrZKAeR8Xj7CdvPH220Rt4zpmv4f2i7hw/D/0n5kUBtGzf9pG5YrzUOfGdSOQ7wXtiN/OLFzADovg6QL0sin/1lTEok10m9/vTFXsEzo+aM06Pn5X8xNh9HnciY05F625AYt3v0/5iwQ/xHmBJRQoCfu4DZKStOZZK0pqHUFoRT+cwFwhdGYb/H4apbUjzYaUwWSJKemGjLN2SWuivLikuzsLGNKmqwR7vaY5eH5q4IzVrUsWnTVZc3ultLa3PIRMyqen/LYqMUL6h/5+JJ54jpd0D+k0mN3GUzVw6fPmKNLclrsVujoHKNOZzDnOe0OV54l9tCMG8+pNLwWEFV6SkqKWqfOSdIln9tyyWq/OeexzbS7uZm4Nz/mq2HtcAjk1VygtRakg1yhKtOgR6KRRqCe8RWMPqerXOX3ZepgBCA8wQMoMsAWYQrxEOGekurhBkO2TQEktmx17hi/e1cL31RYmh2siJT7sksL5eZ7KN3ta18dNudblhcrO2oVL7cku1Yvv9m3m/C94Vmz/MPLA/6K4YP0tmq2ootomR1PjcKKYuZXNURwcZxQqCyE69e/rmP+Y0Cf4AlxHY4/zC+eQClXyc79rHyLYlYl6BvG/NJZxh7FlR6ddjB/fK0CKxuk4IElKvsFJXzYB5XtiPv0k4HF4RK3jgi6deETP//u8+UhG0YjbfTkRcomKIyjWI+LzzEHKxa4stJAMI8u8t0DSzzfPgN092y9hOmiq3nj9iUdiv4XWc3LV8QXW150JS99i91UVoDE10HiPgrn1wj0e4HGdxFIHFg9tqa7/4z7DQzYDwhXA00AueYqZQcLAh+dhpsBleO2QCES1x2kkEI7l5mRhNeD6iVaZVwUJDNNjKhsjAQxIiPn9/rKQUR0paG8YwkAIPilnXj4u+lG+uBPu3ZxP5F5ZBOZx0H8p5iHXEaqv96y5Wv6B/oo/QPG+D3Txq29P7hw05N09/onn/z3U0+SCu/IBRVmXrjB6Kjy+6scyX/p7q5fNRZopIAkdXpS3rCGKaMMv7gDkXfXT/TBn73fM/CtpJp9iaMs77W28CzjA0vXPxl+6t9PPrn+uidpcrXu0oVzCvIb2qaPtGerBdL48ccqZ/XESy4ZF9RmLN6/aKJVT+K+6nG6aYJ2r2A78lmUXfaczNjBcCrbaU/sX7nnC+h+Fi9lhmBGR1D7CenimFg9mm8f0DSFwqEmzQNwEU0ZoLDYPmBLsR8Ui/zKeN6VcMFWTJgNWITBjMso4vrf7gFh4jbzjEH97AfyEnkmSNQ5XDn6OnFOa3zTyyAJmAZe+HQEzS+4cxXb/hBVpDLx4Q56aeiiAjUPqOqaWt2xd93u8g2lfMD9T3dbaf9VaS3Z525qK6Vzn3O3NrnhNpz7nrBWVWm16e6Jk4YWhsZJtAkfb3W7CT6/2g1XpW1uN18Cz7fFttG5+BDZ9xwU5Ob9bnxbd9nqcFNOTsHCPwUuW3UpzIu9gJ090t+4qdxl3ALuau5Gbju3G+3JerRw6NMkuVz0K5Vg6wlRswPCmOInkNgpMR4qHaVkwH6FGElsiWdM7CBGJEM+weoHATNAh4o+pnSRJcWFQUwYF+Ha5MU45IG49HlT57kmqy6nwlljG65JnuSbWG61Np3rbFrcvFWd2b7Yf6dDi5IabrkGB0a19t1Vi9sz1Vsrl5qjdzlD2LNko9K9h3R8ni6sy+N16enhdKLRpWfQ7ox0ndlA3AYz3Ydns4F2w3l9GKN4Et7DF/pGXjOtoazKaJPUlfZLLruzyYefNqr2pa8q/Dd905g3TFq7f60Hn/EoZ7iUarIbv7nJX/HVS3kjMsk1w4uKGeVTTPtUm6PLzdUZjMm9JmDBWpBIvlHEkvg2cHG/D5Rx2EpMgkaBgNcQ8Grju1SaFX1fDZFsia0t46HVZYhr/xTrYkINBGzlpWtmr8StoRpx7Hur4h9U5cVN3DpbI3xFfM8dEItXvzxzJu1GtxtCU3EqfZ7JFs1GlHPm54o+IdzaicpuxUmBrTtK6LeTOANQgCpuFvNW8LnSCFuBgUtnElHmzRJ3ZkFfloFXIoCKeD2s8PW2eG3Zo6Z83hNCZRTHAiEIN5FW+7X5uBhHaA8XDccGh89TIrQFTS54kI7zscMPAhVQWzOsaggfPPyb/YW721vbdxc+vDcmbrzlHkf9onEl5lfp72g7/d2rjpFts2y7pf2XNxdd43bUDi9KRGJHyVz0FKL7mL/Q+XjNypf8PyI5IaWE0E8w9qP/pZWrnvUl1TmdI5K8z9IprlCSrmqkv4x2r3xpxYqXVhL3sPGTspNCnJqtLzjB1k9boBVHcKO58dwk7hJsS0ZUVGyzGcfAC8VPX2lCnHCOC65J0CA74BDjobDC7vVlZspZw8udM5+fyTcNuoy9Dv3MOrsYrV/9cVzehksiYgeUUNzpWj5vRnZOknX+pc2uBRMnLrjguu8n9Jka6D8Vj/M34i5KzLNbCVG2PQL8I002cHoujytCXUoaby0nLgKHzoiERgeMF2URlyQATXExO7NsVE0gb1Z2HTt6rKuSHBn6xa4f317gXbP4t6/RwJyx097es2jrnDt7Jy2Y1HvnrEtr7xVLou/O21ZXt22e4JmzXEXs2w9PXZxP/1ZOMx/PuOLQtNhfwjM7Zy4yrL6kH1NJD0BfME0AIH/cE9lGJIC9KFaZJNxwWpJ1WvT5DRG2jSqRtTqmxQq4ApLm0kmFddXvzKRnl9H/nfFxTV3h5EvrJ/Ia/QMr8oe9s/gFnX5c55nOcXrdC4s/qrWv3KfX8OPFK8oPHLls2hI1TSX/nbJ01mVHDpRZhVD1jT+GZrroTXwgr6e9/ett275ub+/Ji/2e3GCZX3NuU3UtP2DPlVTcY4FjO4gAZAoJGt4l6xyCK74Dz10HvnrvBX/g3Gv6sR90CWfpbWRN6d+yoneWv20ha+iBIv5afrusXnLnnV4fWhL19U+19z5F7CTLsYk866PDriigPfSrUnIvnc9dsPdO+s/33vm1fXd+bcMd3M9LaJfqVA0MEaIvaQfbWK8hgjy6k/uc+a6Wc8O4Mdzs+Ir4NB5tH36fHUiJF7mY5EQtKhpWLbLNGF83ALPGZQwwV23sQzJgpy/Gx1zlEvAqVHMbhd80jRm+8smlG49dT1QvpflSakzqPOme16/87ULy5qKOafrSG/yWKe82LU5P72jC8+2qqWxLsOi+p/aIqlRTptPgSxky5Ka3nhTqQ+0LQ6vnBGs3TLnhD6RmRGkpEY5sm/XA/PAsc+0lNy8s8TjyZrwt7F199T6Bv+/q1Y+SKcrmYn1PXL/CmJ2Rm6czp9nVmfz2eeHt2O5TyTj5Bmkrp2U+lh5Vpgl3jVX2j3UF7DprOe+yEWOmyabsIGuSVEL0aVJ2JOsouvj3WH/4zfJXQk8uINqrN/3z0IZMIGnV/xjWn0z/JW3dS78/gO6Od785r/GNlo29r8158C8bScco+uOoeBLMXQ/xSnulhy6mBxXietCVJN1K8qN/jXVfw591mZf9M/bxlXwJXcmXr4h9LLXRf9kWFES/uIYv5/uK8gX6duyjK3l/zMdXNseOKv6EpENuZutwlb3vgLgxzySfhjDvFBjbTpC8jSZyk1jW1dX7xy6hkd9nSNEbxmbH3oq9nT3WoE8xSHUvRA+98IIw4YXofr5YO9SSL+vpRrIJMIxlqHbge9LZnsQXOogiFYDqMUqAezSDjB/UEIUcaEhAbm4K9d6MJF9cH2q6KV1MTaLLyZYcvcapoROPf0InQkSfQ7bQ5UmpYnpRkG/hrwryTqEdn4m2wln4IN2WlUS30eX5hmReTda88Qa9Tc0nA5jaRa5JyrKlF1VQNTlbweb7Slkjz4VvtSjfKiOjhG8NQpvAHCzngVkWEJGDwGSUNWsb+6agglf13LQ1O2P7Y0vkFE2yxpKSzK8lX+Wl2LMtwtXCwksvsVCb5ZnLonsvm2ohf7E8LdRHZ5P3xXRzekYyru++zp6enGrCdfr9cqGR+cm7ma7gQqusTpIdIUJEp0uXTxKev6LDaBLKiSgEgiIQzYvu9TXh7vll9Db/YZWO3lY2/+4Nh6mKWbKiL5I17FpYCDnIGv/hi0mdqsmJp96O54odYJavN+LF/ne8lAtl3FzkPz/fscoOl1AvuCC4YxRJJl49UIiLbl+FFdA/9BD9jvmhP0Ra0jQ8OUI/nj+fqC6+nZX8ENEPfIi0JIl8N6lFkybJ4EuY/jeBDXCWGX++AyTbecRC0EX/PK/9JnaALfsZvKdF39T4Npwpim+CIrv9ermDNjlXrYlmMf/lC3cvUUg0K7e/Tc3nLdZKuWjxUvZaQPvX4LfEd9GgKYg5sgB6oEd2tVjTN5UtgMf3sa1clG0VIsqm/MpiKtzvoN+/BnhDYoXUxfZSxq32TWwPIIWxMHhMU5gbtmov8r0wU8t0o1e5tP/C/49BAS7/H2FidXd42mNgZGBgYGTsnFN2Pyie3+YrAzf7BaAIw7lb4r+QafYLYHEOBiYQDwB4tQx7AAB42mNgZGBgv/D/BohkYACTjAyogBUAdckEZAAAeNpFUCsOAjEQfVMEWb8HQCBXIbgFCYZkD7AKwUFQxREEGgkGhUKwIxBIzoDehOCYH8u8TDudvr43KXWwSDuApB4+0FCFN9j2F1jWTCUaA9sZkYvoBihr32MwShcHONV4qp4r0EEyxwn9yrgJ7+9SipZ6sSLVdBf1TGOqHNZvZGLWVKa5N/0dBzM786eLNqolrV1ZmAVm2MaraWjleLVCYRNqbHDq3RSfqM+u89MzwH6IsTdGR9eYOOOIOU1kjjYcO5/4C2ywYWYAAAAmACYAJgAuAIYAqADUAT4BkAGoAe4CLgKSAsgDEANcA5ID1AQcBJgEzgUKBTIF8gYcBmQGkgbOBxIHRgeoB9oIOAhSCHgIqAjSCPwJEgkgCS4JPAlKCVgJtgnKCfYKNgpsCooKngrcCv4LNgt+C/AMVAyYDMwNBA0+DW4Nng3MDfoOJg5oDqgO1A8yD5YP+BAcEEwQlhDcEQoRJhFiEXwRuhJYEqASwhLkEwYTMBPCE/4UahSUFLQU0BUkFWwVsBYmFmgWqBbqF0wX4hhcGNAY9BkQGSYZZhmgGfoaQBp4Gp4awhr+G0wbohxUHIQc1B0GHU4dhB2mHcoeWB6QHu4fEB+MH84gIiCGIMwg7iEQISghqCHkIj4isiLQI3oj6iRwJKIk6iUGJSglWiWoJcQl9CYWJrInWifeKCooRChaKHIoiCigKLYozijkKRwpOin2KlwqxiuaK/Ysmi0WLWAtuC30LiAuLi6wLvQvJi9aL7Av8DBWMKgw1DEAMTwxcgAAeNpjYGRgYDjAMItBkAEEmICYkQEk5gDmMwAAJwoBsQB42o1Sy07CQBQ9LWhCNC5cuDAuGt2oCVAgIMIWcSExRKO4LVBKI9JaKsVf8Mt05xf4DcYPMJ6ZDoS0GzOZzrlnzn3MvQWwhTdkoGVzAL64Y6xhl1aMdezgW+EM6vhVOItDrabwBhbag8Kb5D8VzuFU+1F4G/v6gcLv2NOXvh8w9Q4u0UUHBuawEWAGFx6mtMvcHhkDFu1XnhOiUKrS6ogoxJhoJJmQyMYCA359WkvdMTUhl48GilyRXAU4vH3hKTI65Cf0EL5T5rC5i2R9snnGt/BMpYjzROYIbZXxIpXvBC2qZ9SKaJ6MdkOFw1ziNQFKjGRy1dDEHa7QwzVR2iuf8EsrjITiPtGh9Uxd3JIR1jo7pjJU8eYrjwLO+G3yrRYeGVNoRmRFh/qcUgFVueuo0Dr/R+092eUhqwhkb0XtQ4lcOQdDTtlixkgp/ZVyOaEe7f7arONa27xzabV4O5D/kCnvTE67yrNBpqz4Eip/30N4OgB42m2T9ddUZRRGZ3+I2IhdiEEI1txz3huIheinoGCBgZioiIFJmCgWiIGK3WJhi6Ki4vI/U3T2/OasNetZd8179ntnr+f0Rnr/ff7e3ove/33+2vWlN8IIY9iNsezOOPZgT/Zib/ZhX/ZjPPszgQM4kIM4mEM4lMM4nCM4kqOYyNFM4hiO5TiOZzJTmMo0TmA6MziRkziZUziVPhVBUqhpaOmYyWnM4nTO4EzO4mxmcw5zOJfzGOV8LmAu87iQi5jPAi7mEi7lMi5nIYu4giu5iqtZzDUs4Vqu43pu4EZuYik3cwu3sozbWM7t3MGd3MUK7uYe7uU+7ucBVrKK1azhQR7iYR7hUR5jLY/zBOt4kqd4mmd4lvVs4Dk28jwv8CIvsYmXeYVX2cxrvM4bvMlbvM07vMt7vM8HfMhHfMwWPuFTPuNzvmArX/IVX/MN3/Id3/MD2/iRn9jOz/zCr+zgN37nD3by57iVK5ZHPTrn3xyt+n2zMsNMs5i12Zit2ZkzB1nJq+RV8ip5lZxKTiWnklPJCTkhJ+SEnJATckJOyAk5KSedT+fT/5VyUk46n84X54vvUeQUOcX54v3F+drfa++pPVd7T+35enje+xrva7yvkdPIaeQ0cho5jZxGTut86/u2clo5rZxWTiunldPK6XyfTl4nr5PXyesGvLBPYZ/CHoU9iv7wXGO2ZmcO7g17FPYo7FHYo6jk2aewT2Gfwj6FfQr7FPYp7FPYpwh59irsVdirsFdhr8JeRcqzX2G/wn6F/Qr7FSnPnoU9C3sW9iv1l/3hc5rFrM3GbM3OHHBTj6nH1GPqMfWYekw9ph5Tj6nH1GPqMfWYekw9ph5Tj6nH1GPqMfWYekw9ph5Tj6nH1GPqMfWYekw9pvuaQ5/uaxZ57m0Wee5vur9ZBrzicxk+132zMsNMs5i12ZitKcc9L43z7nlxz4t7Xtzz4p4X97y456WV474X9720+Q9k+OnYAAABUrRnegAA) format('woff'),url(../fonts/dashicons.ttf) format("truetype"),url(../fonts/dashicons.svg#dashicons) format("svg");font-weight:400;font-style:normal}.dashicons{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;-moz-transition:color .1s ease-in 0;-webkit-transition:color .1s ease-in 0;text-align:center}.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-write-blog:before,.dashicons-welcome-edit-page: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{content:"\f211"}.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-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-visibility:before{content:"\f177"}.dashicons-post-status:before{content:"\f173"}.dashicons-post-trash:before{content:"\f182"}.dashicons-edit:before{content:"\f464"}.dashicons-trash:before{content:"\f458"}.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-list-view:before{content:"\f163"}.dashicons-exerpt-view:before{content:"\f164"}.dashicons-share:before{content:"\f237"}.dashicons-share1:before{content:"\f237"}.dashicons-share-alt:before{content:"\f240"}.dashicons-share-alt2:before{content:"\f242"}.dashicons-twitter:before{content:"\f301"}.dashicons-rss:before{content:"\f303"}.dashicons-email:before{content:"\f465"}.dashicons-email-alt:before{content:"\f466"}.dashicons-facebook:before{content:"\f304"}.dashicons-facebook-alt:before{content:"\f305"}.dashicons-networking:before{content:"\f325"}.dashicons-googleplus:before{content:"\f462"}.dashicons-hammer:before{content:"\f308"}.dashicons-art:before{content:"\f309"}.dashicons-migrate:before{content:"\f310"}.dashicons-performance:before{content:"\f311"}.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-yes:before{content:"\f147"}.dashicons-no:before{content:"\f158"}.dashicons-no-alt:before{content:"\f335"}.dashicons-plus:before{content:"\f132"}.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-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-desktop:before{content:"\f472"}.dashicons-tablet:before{content:"\f471"}.dashicons-smartphone:before{content:"\f470"}.dashicons-smiley:before{content:"\f328"}
\ No newline at end of file
+@font-face{font-family:dashicons;src:url(../fonts/dashicons.eot)}@font-face{font-family:dashicons;src:url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAFc4AA4AAAAAjggAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABRAAAABwAAAAcawcIzEdERUYAAAFgAAAAHgAAACABHAAET1MvMgAAAYAAAABAAAAAYJAJaUVjbWFwAAABwAAAAS4AAAKKV1hH9Wdhc3AAAALwAAAACAAAAAgAAAAQZ2x5ZgAAAvgAAEvGAAB3YGyqygJoZWFkAABOwAAAAC4AAAA2BbfszmhoZWEAAE7wAAAAGgAAACQPogiYaG10eAAATwwAAAEZAAADvOx/y5tsb2NhAABQKAAAAdgAAAHgTh5scG1heHAAAFIAAAAAHwAAACABQgC1bmFtZQAAUiAAAAF1AAADBki4ZWJwb3N0AABTmAAAA5gAAAlhlodeP3dlYmYAAFcwAAAABgAAAAYe1VM/AAAAAQAAAADMPaLPAAAAAM9klqgAAAAAz2TPVHjaY2BkYGDgA2IJBhBgYmAEwndAzALmMQAADoQBIQAAeNpjYGZvZpzAwMrAwirCsoGBgWEahGbaw2DEFAHkA6Wwg1DvcD8GBwWGr+zsF0B8IKkBpBiRlCgwMAIA9nYJQHja3ZA/SwNBFMTf5mIkyd67iH8gYLEgKVIZLMTrzoiYFIoQUaJFooIaRDCVpBACamFn67fwy9hoEVFQLGd3rzJyHolY2Ns48OYxMPyKISKHhjdNInYSl3ESg5wUR/HfpIBGaEpl1KxqFPpIYxx5zKCIEubhYwnLqKCOXbTQwZUWOq3zuqh9HeiySZu8KRrfVG3Vbtm6bdqW7dhrexsmw9EoIlL0zSXkMAmFQsydwwKCmLuCGprYRxtdTdrROa10acAVJmeUKZnAVuz6gLtnT23X3oQUpqLoyen1encPE96Yl/UyXtJz+JP7/MEhWzb8zi/8zI98zzu8zRu8xhUu86J74Z67Z27bPZYn8lAeyKZsyLqsydXsW/Z1uM9fSKToBy4SsSV+F+jf6wtwHn6WAAAAAQAB//8AD3jarb0HfBRl+jg+78zOzG76ZlvabnazLWVTt4WUTYDQQwstFpCy9IBRpEngFCOiUmLDhh0Re1TkLBxnO107chFPDz1sHKfeqXd8PUiyr7/neWc32SDe977/zz/JzPvOOzPvvPXpzxNO5OCHnOIPcgIncRouhUvnuEqtTSvobDqTltiSiVZHTvU+Qh+LPEJ3kOmPRB7hD0abyPXcz7TnZ0KjH3I/Ew/luZ85wiX8VHIcz4W5qPyC1At1+jlOQ4IhYjRZiMkiBIIaIkv6fGLUy2m8LMHJwodIMBAM8cFAFZRXBcV90fpd2eturil9YFpJ3eyWFTXRh6L1T5nNy8zm3FGLjSPsvikV8tgll1ziK/CmNvvyzNPg1jSzsIl/dVdeqt1l2VKWlWdLJSnRh/hXn2J3p5tzA2MzKu2+Sy5ZMlaumOwraNKuHJnL6uQI8XARqVFWc5kwJrYqo0Grl0oI0doLXH6tL0BOCZ0ta9a0RGhKBFJZvaYl2tSyhqaQU2ta+IMta6DbAvdvqONj6SiMZRqrxyRriFtD/F6RwLDiITXeviy6Prp+Gf8j6YpE9/GtfVMEK21Xbbp9GX8NK6ftkTuiD0cf5WfQdHKKpkC9EW6X3CbXcFmci6uDeo0Z6SSNuEkDCfjcroJ0QlwByFs17FqSiaQ3GQMyMUrpRLK6XRkNJERMrLRK+semTbe3fLGMSM3NDQ0NTzdMpE+Yh7Xc9huysP9b3pifX9CaH/0WkzJytwVv0N2/UV6h8xsbG56WDmLJbS3DLESc2AwVNDY20yeWfdFy+6a+WVDB+flW3hL9hqVvkHvYjU2byKJN8IqZzmt4urGB41SwPsLQpzZOx+VyRbhGiNbnKiFum2wvkGD0jV5bVYCrMuqlApdPtGlZGvBWmbQ2GNCBS1FfW/TQ1bT96oeKamuLhJNFtdHGwzfeePhG4QA5BcmNS0y5tAfGVMkLnfzBotpIpLYo2gQv8M9g8WFV34kl+I5IzlB5Kb2fXXD8wJoQYEY5nD7RZrBpvXyrcLJvv2Dtz4qQU6K+97twRNTj/H/DnZC+kk5yauiTA1e9mwRw1YtBIqcRu02WCtwuXwP0NKBR7shEzKcHXyRNORe63Jn9r18gXL226tt5tKPD0+HxeDrqBYk0ZeO9HHpQylMe1bldF7zd3r9hetUIeKhko6eDdM49RffArUy4lUNfhP0X4V6XolI/Z+Bs0HZJ5SY4YkHiygwGHCYNb5Rwo7H1A7tR6lxA/3F59MvxR24ez2/z+RbMIao19C8kh1iKqnt3W6abLRbzdItZ+HmBzxe9bPzNR8bxlstJ5oI51R76F3qC5K/+OZpvNsce5ATiIR5ZLe2B/V/CjVFm124bnFnixaktIQacyHpix9msxYGBrRe/8uOVOf4km3K/rK4t6v0O51rUF9X2Z4UxGzYXmwcy5NQ5yrpU3Zjvm4KTbq5tqd1lMJsNuyDDuzBH708si36COQYeuS7ufnm03AozyhGYRpeEW88kw3CqYCiJO2gM4O5S6Q/wHb+d9MqoCU06329/pCcD9MPAW35i+hEKmyaM0kn3H4hefcCnGzVh1MuTD/xI/xZ4K0BK4YF/ssKmV2C96WG9HYT1lsVVwLcLylTlxBUSvFWwTtJEwQmpmaSp7AVlfDkMToh4VcYLpwY82VpBkKSShkWhxVvL0ohKm1Xi30QyLvvjxnT/g3u+WLjo8yducLsv++BylddVP25cvU4XXL5gQumaR2bL2WOGTxlG/3pgy5EVZ8R0tyXLZCtIST7T/t5mBYaHZTW0x82VQ+/tkgz9lmSDze9yy+6gy23XegNBd9AUCPptBqMpaJKNJi9XFfC5CiS9rP4kJ3jHkTtaF9Oexa139NwRzPrkY9MwKJnRRjysZJjp4/6q093dp7sF6/KZcAce+SQrCHdaF5OihbOhJJAbK5m9kA7vxmdZuyJygTwVYCzMCmfMBCyicguiYHMryzuzKuBnbZAaXho1am47fXPri/TDXbQnLOSOqVw1l/DlKydNWjlJLnuJUvrz3HZ/I302n26LCOR60rBq7qjo8UnVQXgCv0UK5TZYx1rc0aRKZZLLYH1KsldDvIFMh67A4Q5aYI0GgnYNsacJwsk7iHb+o6EXlt31Y8FJej+9/3DWK6T08TvpDwOlZA6Zczhzw4HvpT2b2l9tmfvaLbSddO0jmXf3dsYKSBdt3/TpvbM5hJUR6K+yl7JhNxf9cjdxVpVJUlkd7oCK9dtYRQBS+eGX7ZetbL+sg/0SJC3Et2EDfYc+Qd/ZsIF/cM2eNWv2wPr19G4lHsGKoA0f7s+CszDu7h077objOD60JrovHA5De1K5COztNlgX6QC9TTAH+bBCSmCNBLlargF2+4Rz7Heb1qaDJnljRxyyB6GdTrg35BruqxKu5Tbog4P14VhRba+DgVziUf76VhSbYYdHcMD4VkSY/dGEkoNDnyBdCDZiIET1MRR4IuyHppjZU+Ew4HRPPA83YlnoN+KDsLSH0QiWoVSCLUYluIOwMWCXwFYAiuFkjGKgPZAR9vT2huN/SD/0H4/TD4K1ZU3/Ewm3EZdwMOeH4VsyjHI+4hKdXQe0hIPNbsAnOI0ml71AJbsc9gI5EBRORo1lkYqbhZPCyf7hLbUAxcJ8aXuWr+ggfXn2bPrywUJ/VrtwkhT3HVCtrsWxCLOuRf/wl1uelZ/fvft5+dlbFJwnj5TXADWoRQoGiDREfDag3xCdydLt281m2tK3X1Wy3zIt+lc+e0f05Bi5dTvQWHRq/zDx2H4z6b+Rz9oR/WsPB3Ql/EA/DsNKsXOtsHOXce1QlMGXEYdVlUb4jEwLgZUbIrCGjZkZPC5jF5QGGM3okiV7gTvg8MLGc0kGPVCQRpMRkAbQPCGCgJc94QJAKRnziU5DQio33Oc1xMX7fUSHr8uHFz7/E32fvkDf/+n5hZAnlWQ0qfzp+b7XyUoy8ccdO36kz9Ab6TOYI/X0/aX6NJ3hyuk23Uoy/707iKnNN9tkzBGFqgarlf5ocKnV+nS9fvN0+1K7Qw/Z6e3kOSIKaqNGTprzYe8xsumt/xGKv169cfFiYZTyqYVnNUGcNeSjE1lD+ooEv5r3lpMksveVlQvkCePNwwuL1OKsLXXHW1r4fxC1SuCDPpIs8QLxB4maHo7m8c/L2S0tVwx75I9/ptuEG/tOLiDXfPsMfTu6s9jCibE12wYrSuaS2Y7lcC8SgNhDDo+4rnerqrn/ONA17OBbo/vkttOnxXWwJ3oGD4CJM0iXLMppQFuUQG0+dxngxcygO01lQkgYDDh/WSTMHFv1+Ljs9+57YP6zd6+oysj58pFb580XnjxXKX9084UNroydZPjUr8q37H/3zBV/7G9t3XWuQlxe4gAtqQLKK4XLwD7qgN62EQAk7IAOaogNkFl0X98U4lF1901RdUf3RfcJVoQYclvflOg+8Rh0sB0BAKbkFNbNJ9CpLsSBBZJ5kCvwMhAwAAe0JFauam6Zei3tQU6hhW9tWYMHQoKeMKTiuh3jn6M9xLOmhZzCctoORwoAg4Ey2DIMx+F3NQBvtTDS2ZyZs2K/8GtO+IgoeHU2u+Al8QO2qYYHgrWo9vTpWvJ8JAxgOhwJAz0UPyGQP6XMa23RmZd4KVRUG8bPDh5A157szxI6aTttZ/SP0v8wwiDiDAA5Bl21ujIYJS5q07DLyoUvwL+omlRY+y797N13bxg3sb8jM9J5A8tWS7sjUkNJpO8fcE0K3rXzqyL9nVc8xvJCbaE/gR9IZxzB8HhP9ZI9Dlyhf1wcu/lCsnfgXpVFlQ/7vsrCmz6X0nzjxvnO/BPO4r97t/IHFQR3PxGTDOaympYKBbcVTazx2bMlSZVR3bikffFIb7LcFnvNh1WceQm3g9DLEB/tUee0TGmbPWdkMcOLRfxBz5gZM8YYjSlFiycPhxJDfK1EGF7UMWrxrPZ7Ac9x1kCGyypliMeIyxMKec68g2fiAmq5i95Imr/5hu7/RmoMefoWlDY1laru8oQivd99o9zAb0jwjV0DfJMd9p8XcC4HsNPC69N4gJ1lvC/EZ8ZoMNVZaRzLSrFUyCV3kJo3r/D5rniTvk4X0deVvNzR2trRyuckJlGJJb9nuEVuG7nq4Re+eOHhVSPjmai9lT2Q8BfdzJL2WnwHeOwucorhz2SFm4r/SnsQRyIuBCikj+cY76vwYMo7JnzL7kcWDJgwf9BgN9j9dr8X6AlpD2yu/g5VM6BsQNphUQ94PdzrEDoj7DoSYWPHAd1yGOioQVgIdWrj0BAybj8jmxhElA+frlDgH3AZtEdW4wY5fVraA+viJBIMDIcy2qGd1S9C/VlQf1cirE2s3XlWzbjTACQ18Qeh2q6zqlUq/V/rdJ9Vp6yG1kabZPWvVgnrNLFOpTY4YQ3isf4sfA3Gv0vZ/0gSiuvEdfiWhscrAJTr6Aq6iiP8Qbh3TNWt3BOPYSmCVb41dk8ff0/UYymQZzeR7ezeQfEYsMzsHpBoUIrPR/f9x3uyQgfLNTAG+Yze9DKKk+EzrS3GLSqpwWZAMqme4LIXE/JsHrR2OCsH7ETPmZeIBxYq6YJTf4dC8PEHlZTgaHRF+Fb8kxp7twI6DLW2hsLs3It84tBT7yqhs78jjIKy+IHjCL1fIDnFR9gqNBE7CZrEe7ZE/7qFHtnyrfjInKiJ3LAR+fY/cX+STkunFSwG/MYgTeT3ZToAxwgn7yUFRzo6jtDP6Ev0syMdPWQpuTP6gnR6sKjjCCm490Oy9Ehfm6Cmv+GYPCDCeLl0xjOdTWvxQFrKGmLSEEawFB79zW+O0j8BufInzAm/x7UPWwxwGiKJiMLdJz5CCtlr/V68FRn6+BA8qsF+aYhIBPgWcRKdSHROUUecwknaE91H7roEF0o72R3dR3u+IR/QV2ZRD/XMoq+QD+S26L4JtCq6FGvlbyXvTSDraEkN3R2NfvMNkEThGi4BZ+G32JeAKmT1Ew/fSsPtiPcvoQv41l9Wh+3Ecrb+cO/ZSBEhQBVlIUSCFqbASoY5ZeOJvHEbl6bwhcYMRmniQgwRXYz/NOhNKCwwIndIjOJrWw4d2mJzLgMc+4Jm/9Wzr7rqhaty6SH71ZmCbH3KQppgB/+enjqkXtb3pXjshjujf+68cHZn5+xAJTz0WqZqAzyCQJDsI/ukQqmIwVFFxBjUoHxP92f6CL35PdJGH/mEzCJt79Kb+TXvkRX0YXb5Hr2ZzPyEPsz9r+uBs4ZIRhmxppEM47kWBBlJMk5s2XKC/gDncy6EvuVbTgw8A/wM6YrJ0kywd0uh3d6h2JHJfqxGg6BlA6cl7hCJjaHRJMOmG+BKi8KIDyOAl4nH4S6HPVvudqiaYxK9IpTvEc/eb77Zi4uQ0Vc90aaPMsd5cMN6xmV+NJRmRLrKyTVxE4e2qZ4k0ngIYQZoj5DkhWkGaiMfs0h1AFpirxmkxtdK6utLek+V1LOMmFJS3/udqrlvPznFUCGx8mqzNTBsYlF/R3WLy0gIEVIzbe7agvIJRXki/1K4vqT/CqlRqaO+5DWljvqSvumqZhpheJX2JDmWXLRq2jCk0aFT+fmq9CJXmc2EhEi0AlbrFSX1wLBqEmgqE6MW3AxmIo/OBYEn9yfw6JkxigB5b/6/yDM6E4lIOEcYSSCu69v/43/MhWuLBt+SGhlVUIto6T/lEudqsB+c82wJSLxtMDV8Ql6hdPGj+OkzfedoVmJXJFH5LqKr/uODeY5TeHJsx2Hg/w1c1lAaBpEorANYKCb8KJDPPf3HUd4AQOcg0OEogwYkTLoEK2YxZURfO7sXbQJqB+9ynCIbV3jmJPhSFpeHfAcsRH8BZ7Br4h8VWYKiE/7gqztvO0l/eJpI0nSaAki/U7ACJAVATFOAlj8pHrv29iP0b5/Sx/kve7fSFOEk0EXRJmBHAKv+yvc08EnObqgykljvdCwRkFyrfZU0Eulp+sPJ23b2FmFtWCtDCmH8Gn2cTPuUmI7cTuT+DgSdqm44wzj0d8THUsXG8jDMaTLTlQABTQwKGsez06ZBAZZoI/Jh2gO19yB/2neCP0jv5w8iEqb3w5jNUTVHkFmNIL8aIV3RNeFeRrbE+oRzhTSTUn8M5wPtCN2wawWNABMF77EaqvBNmJWTtB0pPOWDiBfwY8AY56AkD+V2DJ0DjolwR+QkaL+J6WNkJ0B8twt/7VqYoyoUU0gvTp5MvwkGffPnbezcjl1/54UDW68TPnuBLnlhdef2HZs3zp/nD8K3XiGv0KOTJ163Van7dahbHas7EIRfL9ZZIEv4C0hFdGUQAzx94IV3kDLa3tkxf74vGKTfTBY+gw9MnEyKaYiGiCfonzd/4+Yd2ztXv0BuYzwKDH9EXAdwOIOtYL0ka1GYoi1DabvVqGLCJVeBuO7hq8JVVVc9jLA2uo9tBHHddUcLond4wnl5QlnB0esAxmazDcL2hrJH1QMSShtuQgW6M3E+wlGgzogtvjsdsZRvFTrjwD2CGeIpqgU2oL2/o53BO+GYwoYcxFbAcmMJrt/2BFYjxhtFzpJL2s/NRzJJJKrkYulQENC7FUWLghVFBZAMFaHi9urvEKxhhXFuV9IY3YFUkXiMcX8WVG2wb/oCQTwBjxxiGEYvvnv1gXdv6M+64d3uzdKNSyrLqn5/6d5vhK/TXr8G+eWrX9Pm5C25Ubdg3Td7K5SxJdcATfJHgOgmlLhwVs4kwckdEH245NLgU0hjcFZHsIyg+As4dL8vmEZkI/8K30y+uvxymhfdT/Muv1z4H1+h1lrZ1OwPTKA2cpLcuXTUD7tX/J0+/fcVu38YtVT8Iz1y+jQ9QspOn1Z7mlJ4XjXO629ujt76z4MbHi1afc9Df//7Q/esLnp0w0EFjw7SETrGjTb+Uvbrhk0nsum3a70GPAZng2P8sNEqmCyKLgiHa+iIh3EL9gVVOfmeMPx48vtO5Hs8QivyyrA8904MNgEx0BTEHctku7E34cmNQIHSno3weD6+HuVjLDZ/cFVWuB6Jg/pwFtsXRE+IdFA6xHm4atzRmbIiaoz/yjCYkrLBY7+Sw+3KCAYcKiGQ4XZZZSnDZLSqDl3vWipkqwvKQ6p6W6XdYTKqhBEVlVU+n7fS5uFLrVlZ+jvobZvvvXcZySW59kWLFtPPFi1evIgUSGXX0/X3CEYp11qiKrVVItVYWjFCEIwGl73SVic0lFkt+mm+K+8jb967bMKEaM5iYlsMP/QvixcjzEMALO1J4G8HMJQQTzuRe4vuiyiJqhnBBx6KuI+xWbCPgNeBdbxuKJ+scE5eLSICoNbsA5LDU8LJ3u8iAIORFe5RaoFNDSA5HK8UD9KFWwUQujSgV00HuJzP8HmJAjEU9s0LJHSVUbSVwZgQW3zrJnJtqm4EEr3fIbDQ7ty/k15JPBkz5s+gc5EQ7O9AEhCwKf4BnVEUBupx5qWXziwZNow+HCMihzJo6oF1jH3OiMnbbEAZckhFQLOQR1aUziY/bGInQ1SDh6xGkRGKFfs7iAcVVcdR7oc4JX7gTeg3PKdHcqCnAxVfkciaFhQ3AsWDwkcuTpuzeZQUvIVMIDL7+kEC3SGc3EmEFy+GeTt48Ys0Sr+g0RcvvvhFIggnlZKdMOZNO+OlAI7gaY7ZEgz2M1npXXxcZTVrB/5hM5FsxVlktA/w7h7xmNQIuDQPRwWaUxVUcJ4fKXW3yyZoAcQh8LHL3iqDXpZKgOslr7+/dp3Xt2rGotWraHT91hU+75wlu+79k7dq+T5gp78LL3h604TmXE36rssemzQ5GiU2q238lNF/vu+CEoR0hLwDa1oF30Vex068si3oJfagTXz9Q3qyJxSdHTpKsj4M8Q+I6/o7YBF24vrqYvugkfVQxzgOO+pTXSgZ0KNGif+1fJihkzCC+IPnzIp6RaQFpNPZGSafg2/nsLlDua0PYMlibjmTW8kmQOQyUDYGm+C3+4MMr/tRUG5XELsJ8TwbQLxMJwb2KAws3FfuGZjCPP4MsJsut8HoHZgGeMaEfWgddWVhWUomT/KwwRse81anGTRJGWl1drNRm23ILc0yGLJMKamSnJJcvoDsxKeudDobJgULc3V6Q42nIj/fm2XSG4pzLdm5VU1TiktysisLs01XKgNAuhZ7nUmZxfRfkXD08dGqCp8ux2TKs8EhCSkppoAuOSk5JSs9PUObWhmueTVMPy7LzimsyxTlsvysESkpZmt6ulpOHW+02WoLs7IkXpOX1xQGGOwgXdInMG96RkEMKhF4/peKhYEy4dn6kptDhievu37ZizeP1RpfveGK6dME52DhTVD4Chbyey+Z6LelXU4yR73q3f02jW7d/9GE8VdeMjFgPbuQ+xV4epbWBHc7ExR3Kql4TJGyxY//pg5YuMdVzYruBdP/L3VIe4Ak6UQ8GUvPrkP8RR06BaKTmMTTFpMnIvGLZC9qAODoQZ0BTjlyL4qmFCE5I7Lj8rgMzsK5uBpuFPDQrdwclIYAxgy6lHXNSJOgX1IWLFAlAeIV7II36NVph6xdzNhl/8DyFu2wQ6AiMV5SQpiYSqpw2HNc9kkXzBwxvKBgW2frWGuxy3FeaXlFZf8TS44vO7645usjHy+srrbkDa/Ky6sObJwyo8mcb86rp9OeCJg06WoN2bKgscBqzQ8toWlo2RVGVk06mKzWTnU7nWOaLrrl7pzpSRr1sED70rq6KFOZ7CVPR/eVeVrq7PYUlcbu9E5yOE7v1WWWlOn1i3YPL/XlZG8zmcq8WVnRF4DFsoaRA0P6KGYHI7JRNzDaUNY5ZW0R0bpFHbMqMjkFUxEJCmJQy7du/JxeuxEQXNdGeu3n/W/wrX37N5K1n2+k7arujZ+TtRulPXhnI84CXvefYeJd9lrsQQ4wWJwWTsThuQPYNi47bYitAkYLo2x96HHueza/wNaLco1SZ2kPylAj5FTCX9dZxcD4poRxieMFauIAO6YoHHBk4AcYVljAiNUAM7cOlPYoKdJpp5B/ARrbyOUgRkDqgPEYWr1FqAoJfi3bUpFtS5fdEskevuCeyH0LRuTA7jwW/cPOO3dv4+ujz9av3TC7ZtgFl6+tj6KAQTUwRwP7SwedTPxl+HDIsScSbxK2iZwS/8bwTRJKkRBP6Wxum04sOUQXwAY8uJzcX0JfvgU4YRQFee4gJwbtOmCORMAVdrT50TBtZVx7o1jEmaAomGATRwR7Mur7cgn8qY4SCXhr9auMERM6a4vuCPRNCd4Zp51x5MLhwy9FUDESRh1GOIzbmzF0fQa0imr4+z9CMcsoYRwTRKQAm52CqaIDTWxnOuD+0oR2xkR0zl9I89BKSGC6Gq92aCP5q+8cpNLvDAJN1H8clsBg22qK8U5xMTaquKamWGnk36NXMVXGqbhdntQNa8DNbBTMRC8TqaCcd9UTX5AgGkVTyHKCMIgwW9Mq8ZaV9fXRpXVP1F0MGf7Wulkz6ynPbzabj5pLis3RTZiZIYkX183qmVUXXVpfv5Jl6/ld9fV9EXhwuuWoGZ6zTIcHcVy0jM5oZLqpX99fI2P2MAzEahmoje8mlBbLsbx4Vvqf7kmNSGYjbEaqrD8rLJwMh9E6B1IgugfO5yqT1eFwryMcRq1+mBm7nGKZyMDpXGVoH8vwx0qGmRWAnMYm2YagGxggG3BAWj3Aa+wocKEM1AsnDy0Mj7KtmAJ7feeNI8Y/uBcI1c8ffHBc6GZ6I986faVlZHiBuL+t7d2Xrgkt8EYiC6++/QBJvvPOu3bT08/etnlZJBIMh67+3XvL25BGDyfgMJQaIQywcAUKPhRRC2b3o7mtMwE12mMprOl2RI/hCNLiEeFkfwcCGaasAVRnpT1SYzis6PPup/fHwY6ygRjfomZaj7Zf+z7awBEvft+e+H3vgIEF4BkEd8wOKYI6dmQ+ENxBMW4BRNph9q1faQDS4QN4PB3WWD2zpHHYC1QSMAVGlbfKQew47sE4Pi2Q3QlEJWBjISaKYCUF0p6D9NChAS5h5yEygo7enWUcUa/X5+V5W9sbr7px3dgx5tzpwYz0m3J93vK83NzcuUIx6SAjXxxkPF4kK0qqi91VJXk5DqdBN+yK8TU180aUltYXmox2+nZOeVVVTk5FeXZuTGbA75f+JJq4Jm4Sdx43G2hkWFPQZoNC1Npj6N5vN9nddtketPuBXDB5Y7RBOvEqQrEqk+xyK2QGLDpg0onsdePSc0tOgzc+BFCNQXTbDQqxIZUVFtgKR7deNbpWMyczOGzBR9tnL679qmbJ7NlXzV524dNPrQoFc9VXqk2OUOOs2c1IaTimVdg1xEk/1thL+05kLjbwyaoUPo08vdadnWexjKQXPc7/TnhpSZ01X5BlOXV6zuSR7dbyKWWlvb0PPdQbPnOmt8gx0WfXhCrG2J2uqakpybWekeGJxdVkXKBeLEgpSqqtfUBI15UX6zLpaUIIv8+UVVWGY6XwpYqeIg+gSwEX4IZxdQxvoxW4JLsbeMUIXHArNuC8F1VrThI0yTHbb1O6YvodFDWAmnQaIjIj8NKGDx+O24A37xmeX4Y24L2tKDuOMON0ZgV0vHH8dYoJ+PXfjroNDcAbhDMoLkDCEoXkglX6B7MIL8sfviduEN788NEGz+2bEE4p9kSMfoy+Merb6xVj8OvGN97OHp2s1AEboAs+Gusz6WL4OBXoJdTOlEGvQ9xohKIBrY93Oayw4A0ZcZm/6iyJoiZmKzxQEE8HVDjrVMe7B5VW/L8ZYqKPKkj0AuVqApmKth9j2JXqW6VQUUuQrj+T7AfiSrEH6F+FD1n5dkVhwP5oBnkjug9FTDM+Siw+EReZxm0bGDzRIiduB1orBJx6IKhNI2U8kk2eaT0fH6crp333l5/fiYjHeh0oWMkjZjOf23/cri7IVyswoYvxuzGenjATCeVQ7Lrih9QYYRKxSOz7fKu0h+noRcTpWlgaWBZBelf4mtzEJg5V/fBsFyEM1yGtj/pCHhVzFhEAfiAYEoMoA+BVVmMGGgeproeB/e6+bZeo3PpCszPjarP56gynuVDvVl2y7b7oiyTvrbfoV2/J6vvodw/sODNfsGU6zcWGJ+bNe8JQbHZm2oT5Z3Y8QPQX4VNvkbwBuYV0lEsB7hCtL3UJ+sG48oo4taJT1DpFnahfXTfuxsM3jqsLMt6djCBjaVZ0NzMtefRx/gm+xbZ69JIbb1wyerWNXMo4eLru6v6Ot99GGcL2qGuQv0H8jrAe5UElsBKRm2daBCZBhhbYfC4sIpDa0cLArnUMUEbEX1Amwr2uCBA6kb4paN5Fulb3/xgWrJBOQxvQsHDL3tWoz+xa+PC6lSvXPbwwpm3uoT2oOFF1r2mZthp2CJJknmmr10RnYjaMb8OdaF/E5m9s9NtoSlwGDmsqmWnL0GbMxSwk7AY7EmN+ZicWl4UAhaZFfQWak2APTgHlHOndGomI+r4pwlFm/RTu2x/G1vRn8QchK+3p2x+JKIoXwJ2kixlYRaugP4jLgC5JYVlFbo37uJHZ5Flh1cTEwoyOheVG5LMExYK1toimFNXWu8mpIv4mxtfUFvUfZ64d1qJa8RkU/RfXIAaHgUGzDLwV3QdnZmNATsltwBvEuNuhlQOrRXAk0W9H8dlRxJMHFes8tldJMw3BuIdQBhfD9enMk+esupzQ9rY1Lb3f4ZuivmVN3360PVYsfvuz4HwAQZ6iJ4pIR2ENOZmVgAKXgk7JHvNmcbqYvQpyMW7RqJfFgPgIEwxq6PjzOiHXsfkCckCDAkXI0fEaDTlwnmBl1wX2Ewsgs+CEvYC9ApkmKFJkiG9wb7K1m898CVDPYyPKtwC5mvDTJEYKBA1GQUuMivQ96MaWEFntLerNJXsNsDPErtIRQGIvqm0NZeeJRdvpb7GUPFBYkZVLX5LuvXCCtvdz/j6nGxXsWn1DlYa/0jM+1JqkSdb2jlCdH31GuSWPNSdRQdHNKbwpwhKE7ZwzcTcj1Q54LTBYEAf0ZwN8WU1KA7D+Grx0ga8xFDYdTVu9d7W/lB6VTAzM9l2vsBydijJZ9U7uBQGcotp5WdGVrqbq2wuc01avnhY4Pzf6vXiMAejob1jyo2KzhmtYA+vgDaY3xwk1ppEELYBCVcVoKyBDtLZAcOA3rjuIox3RhU5wA7/BhEf9gSC8izqG+G/8C9JMu2nJeruhwJHvLCwuPv/CkqJCp81WYMzSkpRk6iVJGqG40lvXMHzM6FtvHT1meEOdt5IeYH5N0WJ49/IC5V1HxayLKhz4bn52Tjq8S96lP/Fy7OXGibfeOrGRvSxu860fbfLlOwoM2Rk6Wa/TZGZkG20FNkchz1uKiSdDFar0FpbkWlKt1lRLbkmhtzJ6gDldPeK7fHRW7M2MJJ0uKQPfzHcU2fFN2sOnxV7NzbBaM3LZq2yvKfg+BfUMABjSVHIm4EMCjC+qLVSyDbjDlJlX33HFtSEjmU+a0NQv0usQnqT/eIgeUXUDQCjh01wNbeNJKqkwkCqAUfdGD6uaK27DPbiMaOVF0iF0TASKCVZ6EpFUdqvT6LUyhRmQhmWkHuYGtaBBo8oU2xmBoCQH5EUT2sjM7lP0kVfpYRqtKOR+jqx90eG2lFf+5qEpMye0Vl1Hrv086aPb7m3btLxk7XIps31SuvUm+jH95+GOB8W7+B0Xy6k5b3WqSgTvfXPC0x9+O7nUfetHl+U0dI5OZnpDcl1MH5KPUmoEMrI+01TFIA2DO35tLAc4dv8TG8i3n/NJAq+Z2dExM3rcwodY5hVZvWFW/2WS8AH9WSIdT2xwk/INT3S8N0uxXVDw5/fAt+QiRnDafEmE8xC7tiqF5BDR5uM5B1yoTMZMcQB7GcUe4lv1PvTlPjrv4yPkOhL6/qroceLbR7+m64/uIhnLl10S/Vvrxo3dGzsiR8lt5Dxif+cSeuTKb+kbdMP7fyRXEtOD9Ej7kiX0nzdePmvmhg0zZ10e058ruNWRaCmr9QKtz1y/XMzSGqj2Ad8Km7jT6fU66ZLD+d9Xjb5ixLodD3/wQZR3+gAMeJ297Q4f3/bjHbW1f9I8dNvTP0Zv9jnELqdXsb3jIuKt8C099lvr1dnYN7Sxb2i9wiTi/B8nPVHbcutFHQ+98dNPEf4Tkndg1Cju5+Q/PHOEfoXjB7hFkRFpmGeEIi+FHc8N6LFpj3isvyNCUwQ1c2pChq4/C1FlhwKxT3MS0cBcvy49CxgxD3jpam4s14qr0iJ4q0I80wZIomQhVSHiRv0X5r3xC0EXYA+YdMzjiEAGEYlbcOFqlZxVRllAi2y3LgCgIyDYZdFRMb6oqrXClJpxycimdtqSWnDepecVpKbNvXSusAQuqocpVxeN2+gMHbjm/VeGbdJubJ6wMfrk8uHt/pHDl6Yvr9jTXeRKFiq7H6xcnr50+Ej/xSNXpKa7pMzCC2ZPKB+7bF3F2AsuuD+4ddGircH6SZPqB3J9zeSJTU/P/+Q52uJvahIqbuqhV+cPKyMrdj8nJWuf201vKhuWT9Z/dGNmusTWxETugLxWWs5szU0EPcw0KNYhzG/R6TBZNCbpm+30wR3TA/OoN/pP8zTLOrNZNe6vtJvs/im7yu3N8+mCyTWC2LqDPrqj5cpF0RW02Gxej67Bx28QNl6UlGsqMVbrRqZOEADu3EaqpZulx7hiroZp7NMEAMshVRCJcJOF8AiPVWU4KyFZx+B1HOabjMIsPZ/lyEs2u0zN4y9onpLtvmDB7HxbRulFT16ymkZ/+rTbazZkeMbMWrzysoufsMy9oGWuQFJy5l84fY7MS3fLlqKKoL/apM2qmjhmZJoxI2PSyLHHaLT/5JjxjVmzH1s1YtcNu675TbilODW6uCklZezMhQX5w63maXMmZig6QrKT0VYoieBITLaks6GhiI10KUwVMHJoTIkGj0DY9U1+E+VFNAWpSEV+T0pYHakAd21cOXCWI5kd3BAuiyg0AyxxcSBHAo4GkkZ4xaF1sNx5jtzZzNZBhRWiKUpKXnOS0V1dltm/czZ0N4SoUSnmW4empORTknU/KWIs10f305NCO5MS1tTcHUvpUeeTo0Y1vkzvdDY0hJ6aHysuPitV5JmK7WYm89NF3bOXmZSjS2UV0kYWYkDJjQ/lrkiYlBAggAgACyiT9oTPvBTecmLr0osuWrr1xJa+KZFFfEe3cLK7g19Ee8JA6Pfth00Pt4qL4bFIZM/Wbnow0tG9dU+E7D2/MxLp5EQS4KZId8haZn/phDZUMn/xfGDbG2DllxPZLZMCBQ/hOLoL4oSiKLt1QS8xBQW3nRwKBN7ccOLEhjcDgUjHia83kgUPffPt3ge/+eahjiefPP1UNxGuOBzd1tv39sYP+7b1iu+c+LoDHn2z4+sTHW8GA5Fo0jcPwcMP7v02/ORGRkOuPF4eff4Yb/jcG/3dMQ7WVqK+OAmutQBF45JOF0AwD/qG6mI25GKQJU430Mcmt8yMxoqgRFTuCUG3aNKmE1tEEb0BQ2HZRXvQCQcy5NSuXb27iCcSbZIamWwsi6aoNqHb5q5dZA67p5jL49G7S5FRQ9pDPLt2Ve1CBgXvMAHmrl20fRf8EE/vLkVuFvODitufGs7yzsDJt1qIaLAx3Ef8CRSpQTw2QNi3KHat0SbG+ZCswAhIRgRgfyWyFjj7bO6hoO/xj7MW1CGdWbcg62PGSwMOGM58+3DvMj7Sq4UxAkZMK64fulFhKBRBTGsE9zHuZy6xDkmpQ3k3pspHaSYqJVD8ElE99Sa+pICBSBwwKDiY6T0amXc7MxAxQUPQpf3MS/xBmIawqO/PEvUR5OYGbbzQDrOWm8RkjwqQQNmj1REgDneAc6bxRpNUpkIYCb8WlcyLgTLRHRKIRZUmpJMyFYDQtp1x77edO+Peb/0j6ZZHxpPrCWcryyz22Zsq/a4KfWtZ1dOhsfOumVScQiTazudW1o+orUxO0rpGCJvzyy0ZskpMV6tlQ6i2ujTJLVSyunYOqb/XfegHUp0c3LH7dq9odBVbRO2oqa3V+lRtuW/cqCp69LGZW6Y3FNkKTcXesXXkrYoFMy8cPdU7Ijcry3teXXVjwbVD/Xtscapl0C89Zras5O0FZQSWk4bnC/m/MmuTAQlQyYbD69cfFt5mbmdqKFCc2RPc04v46esP/3R4fd8UlIix767k3pZFWQQ4UcXwVCbSrw4UdQYZogoJZYD3ZRMRTCHiUDHGzm/PJcQZdIkzbnjvQuPNp+lxeuiG616v2lNwz6qLfzr2u0szx971GaTDDlKt++nxZ4iNDKfHzCoybx4ppyE+Veoef5r+hf6efvbubOP4MV9tX7zutbph2jF3w1uHLoX04nn0HX70BVC9qX+fuViVIpDPaT59uYeXAcZqYG29DPQS+mrUceNxvJBwyQTk6rWh2BYuZdEWUtUCW2wisBGrAkFdgBG57GY6j08AiiHKQ2hn3UUPWUpUu593qIfZeNVoWVdLn80rlcnrsDAknT439UNDVXr0vsqJkrMwqN4nFubS37lz6VaTJylpDB2TXai6J1Wr+pCO5zU52Y70r/UFhnRBPFbu7M/mjz/lKDhsGlVg2apKK8gxVmX3bZ7gcQvNdtdN6S5zetqOXFN0fsOFwnJ222A2J3OJPvIq4F5wF2lI3AFe1YwgLNqkeoXJURB0IYiKSUyYb0/M7jYTqMAZ3IVoswp7ioM9xfEGPTrGeqscnPOcjrCq/+QGK4YEH3ODlTOJi9P6gjAd7P1M+fA99BTdQZfR7fTU3cwX9oG3yaUkpe9j+ujqrAxj1g0XOg3ryfV/fYwEL69ZrlFnJdlVwdF2O/0gqwiu4ImuOe7L3O4sY0bWhZuEtJRko6xZ+o+3/t33yhf0+7FkCvkH4a++bn1b3sOCmezCuu9h33z7Aeb8ejdJcQo3qYVqP0kmL/zp8nbNjJZMd055Ro00d9eI3gsvFEYRtUrFh2pJiiQIpC5E1PTRMqvlgskbm14++T/0osv4W6LNK8gBIr32QP9icm90dKltGvm7YoMZ95uecS4fA9TH/FdlaITmH+LlyWxvMCermS8CZfQHOov+6hU6c7Jr0sWuUfYH5E8xPVpcW1tMiosxEMmvXwEWUXJKKeAXZc2EmVzKxOUA3TqZm6V4pcqCTfCiDCHRa8GuE882fvVDt5C2AbgBnAJGIIFtB9yEK8Q3AL3hDpGg7HJ7YWG5VM23ls3KOZ9+/v3D40kueqgquI02vBUmr2IuhvEEN331MvrqFZoR/sZrrKKYTELPtUw72EBUkiTwtm3DvcM1/9Oc/UHOeJUg6t35JC3aFEGvV6UOYN6dLyciT5rS9vHHbSO2Vec4cnLGGodXVQ1Pc7tsycnOnOptw18evaFjlMAjPrqB65Ib5Ma4PYuGGCWZiDouGDCiLxPvJmKETCoizn5XtGWn8HCFfTP9ODrlWv4Rms53d0Yny3r6lGedq9+xk+8WHqt0quim6MRr+ef7t/PPwG38xlPcSjlfjACWNaPuk2PyM+Qc04miYUi85Kyczs1Mc+VMfune1Xljw56ZBkMe/+5gnl7Nl5HXz+9spldRD72qufN8MbJ6mq9CnySKFT4kEwbyfbmkiajLPqM/kIzPyuhppGPQ1uCYeGxA1p9oSXQMrf2VA7D2oPWPwm8rNK9OoXbjywRyEso0pcZI73cobkShLsNIzWi90d2h6u7o7t2KKotBnyctjAXTMgytRRdHgkbgTVlgHKwQU6jwx5g/nSeSUCda8KPjXN9+OCfoRGD/mjkv4jqVV59E0nggG2TeDxxyUAfYwA80hNZmEfKJcDKl9KY7TrRP7Ljllg63S5M/98JNK1ZOqmz/8oGrbAXkFIPV+lG/vfWWPJqS17H1iuJiWa3OHeUvOU4vpX8/cf1cnU6VHprQeeuf/0VGPIUeNP2nVJmTFr3QrkovLW3IizYpVcV0r6ekPecee7SbGtC0nDX2CX06V4/+Yx/+t9ay+s+QM+JH4kfYJg0/4BAmfkTvJvO307vpPTvIPHYi88XxcH339vj1vB30HjJP4QUVWb0A1HElQE/Uy86LxQqICSkbgBX0MxY4ZrIIv/mJEs0qRue72U3zgPk0Kl4xuheqbRUnCbsY09cznb0aTWr6ntelpSWlqkRRInJySoHda87NSdcmJfGE53kVoK/k1JR0na5C+ImmRE9cV+/355n1OeYid8GIoK9qWEVVIC/Dwaeq860+f42wJW7Agt6bqm5am5yakZmTnGrI4iVSWloC2DslU5+VlZvp1CSnWYRMHRCDao0LVQ7TWq02ny+4UVRLSbIsS5KoSZKFJBW/Mejz22zvM5uICAuFApTzIH+E4+aPjdtCbimTNf0fxi5uw/B/GT8yZAz7zf/tGJYpw0OfGDKO1d6zx5E/FI8MgMbLwOkCN/LRfzeURGKD9Nv/PJjL2UNo+aMM6OD+L+Kmw+pzu+ISci9zqUGN98AvMxaI/RJmBBQXoMfvYJgkZehMstYU1LqDUAv/iQB0hdFosVX56hc3jTIaUwWSJKemGjLN2cXu8rKi4uzsLGNKmqwRbqkyy3WWlcEZK9sXLrzk/DZPe0lDbtnwGeVPT35o5KL5TQ9+MHWuuE4X9FdXVDncBlNt3fQZs3VJLpujACY6x6jTGcx5LofTnWeL3jfjyjMqDa8Fiio9JSVFrVPnJOmSz2yZuspvznnoatrT1kY8Vz/kq2fjcAD41VyAtTaEg5xVlWnQI9BII9DPmIeiz+UuU/l9mTpYAUie4AEQGcgWYTKpIsKtxbV1BkO2XSFI7Nnq3NF+z652vtVakh0sj5T5skusctutlN7u61wVNltsy4qUiFlFy2zJ7lXLrvHdTvje8KxZ/rqygL+8LoFn3MOpmccWcxomshqZlbDCfLermplpwEFgIRUfcmY7vo7ZQCrwSVzHbIzwefEYsrnsaW4IrIT6nXYtgjKZDKkxguJ+Zr4f85cjA3psVj+8kVCpEhIoHHPDHtp+GDeEk24ypEqhk1k/NAGNEqt/aPvhjYRKER+TU+zxX7Qf8Cx6VAfJkCqHDtYv2w9vJFSaMFQJcnzmO2E6p+duTNekQzHAOTx3+fKYY+U5vXbp6+ym4g0S83nEmAmD/gIDFqGxiAHxA/3omf/2wBljCyTE/kHPoPHA41yiRKsg0Og0DPxThiGAQiQmR0ghVgeXmZGE10P6JRbI6CAkM6mMqARBghyRkQrw+sqAXXSnIe9jCwBx8GtRd/hb6CZ678+7dnE/k7lkM5nLQf7naBU5n9R+tWXLV/QPdC/9A+b43dPGrrkzuGDzo/T29Y8++s/HHiXl3hHzy828cIXRWen3VzqTP+3paVo5BuClgOB1elJeTfPkkYZfjTbk3fUzvfcX369K/CqpZS1xlua9tDE8y3jPkvWPhh/756OPrr/8UZpcqztvwex8S/PG6SMc2WqBtHzwgcpVO2Hq1LFBbcaiPQsnFOhJzG49tgZNMO7lLPqeTYmo52KKD0azsqh64oCXni+g+0W+hCmFGUxBSSiUi6OjTajKvUfTGgqHWjX3wEV/SoLwYntC+LAfFe38itizK+CCeU+YDViFwYwuFTFZcE9CGr/NrGRQVvuuvFieCdx1DleGdk+cqyAW4DJIAqbEC5+OoCoGo1SxUIcoLpWJD6PlpaG5CvQ8oGps7fBE3/J4yjaU8AHP956NJQNXJQ3kfk/rxhI65ylPR6sHbsO575GCykqtNt0zYeIwa2isRFvx9Q6Ph+D7qzxwVbLR4+GL4f2N0W10Dr5E7n8KKvLwfg9+rad0Vbg1Jyd/wZ8C5688D/bF3UBHV0lfcFO487n53KXcldx27nbULetR26FPk+Qy0a90gvkOopQHGDPFZiAeFTGWKhOlPIDzCjkSD39njEcLI5LBQrD7QaAfYEJFHxPAyJJiziDGFY1wbfJiHp6BvPRJa/eZ1gJdTrmr3l6nSZ7om1BWUNB6prt1UdtWdWbnIv9NTi1ybRheDQ7Mah23Vy7qzFRvrVhi7r/ZFcKZJZuU6T2g4/N0YV0er0tPD6cTjS49g/ZkpOvMBuIxmOn9eDYbaA+c14cxiyfhbfygb8Rl05pLK412SV3hmHr+Ta0+bNrIhue+LPdf9XVLXo20Zs+aKnynSjnDpVSf3fL1Vf7yL5/LG55JLqsrLGKQT1HzU22OLjdXZzAm95oAHWuBO/laYVFiId9iNiDI79RyI5mcFsUChoBXG4tIaVZkf/VEssfDWMbSArchJglUNI1xkZBgjTx32QUrMAxUC659b2WsQZVeDNjW3RHhy2PxdQBXrHp+5kzagyY4hKbiVvokkznIRpRz5ieKbCHc0Y2YSDFYYD5IcVl3EmcACFDJzWKWC74BR1HnYJZZtsQMW9CuJfEKvUtj/SiA1ttjvWWvmix8VQgFUxxLhCDcRFjt11rQMUfoDBfW4YBD85QMbUf1Cx6kazB36F6AAuqCjAI1pPceumuP9fbOjs7brQ/cHRU3XXurs2nh2GLzi/R3tJP+7kXniI2z7LdLey5sK7zM42yoK4xnoofJHLQaovcz26HBfP2K5/w/ITghJYTQDzH3k/+5FSuf9CU1ulzDk7xP0snuUJKucoS/lPaseG758udWEE/NuInZSSFOzXwNjjFfaRuM4nBuFDeOm8hNxbFkQEXFAss4Ey8Um31lCHHDOc+6JkGD7IRDjKXCcofXl5kpZ9WVuWY+PZNvHXIZfRnmmU12EWrCBvLo6obuEdF9SirudC+bOyM7J6lg3nlt7vkTJsw/67rvZ7SfSrSliuX5KzFiErPyVlLkc18B/JEmGzg9l8cVolwljS8oAzoJDp0RAY0OEC/yJW5JAJjiZjpn2agaT16rOHjk8JGDFeSVYZ/t+umN+d7Vi377Eg3MHjPtjd0Lt86+qXfi/Im9N806r+E2sbj/rbnbGhu3zRWqZi9TEcf2Q1MWWegXZTTz4YyLDkyLfhqe2T1zoWHV1Li/fUS6B+aCSQWAC8D4x3YiAQmMLJZJwuDSkqzTov1viLCQqUTW6phEK+AOSJrzJloba9+cSU8vpf+e8UF9o3XSeU0TeI3+nuWWmjcXPaPTj+0+1T1Wr3tm0fsNjhX36zX8OPGisn2vnD9tsZqmkn+lLJl1/iv7SguEUO2VP4VmuulVfCDvZGfnV9u2fdXZeTIv+ntyhW1e/ZnNtQ18QnyVVIynwLFoIUAyhQQgUGWdU3DHou3cvO/Lt5/xB868pB/z7kHhNL2erC75Iqv/prI3bGQ13VfIr+W3y+rFN93k9aFWUd/0WGfvY8RBspybyZM+WnNRPj1Jvywht9F53FlxdtJ/GWfnP8XY+U/BdTB2l9ApNaqaGUWIdqVdLIhecwRxdDf3CbNjLeNquNHcBTHv9zQe9SB+nwNAiRexmORCiSoqWW2y3RjzIYBd4zYGmNk2zqGYENWL4TF3mQS4CkXeRuGu1tF1Kx5dsunIb4jquTRfSr1JnSfd+vLFv11AXlvYNU1fcoXfNvmt1kXp6V2teL5BNYWF/+q//7HdoirVlOky+FKqq696/VGhKdS5ILRqdrBhw+Qr/kDqh5eUEOGVbbPumReeZW6Yes2C4ipn3ow3hLtXXXq/wN9x6aq9w5U4YtGa3yw3Zmfk5unMaQ51Jr99bng7G/cpZKx8hbSV0zJ7yypVpgkjxCqxYt0Bh66gjHfbiTHTZFeixZokldD/OCl9JeswmvufLPjxrmUvhB6dT7SXbv7+wIZMAGm1f6sZKKY/SFvvpv/Yh6aPt7w2t+XV9k29L82+99NNpGsk/WlkrAj2bhXxSndL951LJirEZKIrSHoBsfT/JdpzGX/abV76ffSDi/liuoIvWx79QNpIf7DPz+//7DK+jO8rtAj0jej7F/P+qI+vaIseVmwLgYtpYz65Spw7AG7MSsmnIcxSBda2C7hwo4lcJZYePNj7x4NCC3+/IUVvGJMdfT36RvYYgz7FIDU+03/gmWeE8c/07+GLtMNsFllPN5HNQMPYhmkTv5PO4g+fbSyKUAC6xyABxmMGfh94MwUcaEhAbmsN9V6DIF9cH2q9Kl1MTaLLyJYcvcaloROOfkgnQEafQ7bQZUmpYnphkG/nLwnyLqET3+nvgLPwbro9K4luo8sshmReTVa/+iq9Xs0nAzG1i1yWlGVPLyynanK6nO33FbJGngNttSltlRFRQluDMCawB8t4QJb5ROQgMRllzZqWvsko7FU9NW31zuie6GI5RZOssaUk82vIl3kpjmybcKmw4LypNmq3PXF+/93nT7GRT22PC039F5B3xHRzekYy+npf7khPTjWhz/4AX2hkNvMeJjc4W0Ork2RniBDR5dZZSNwKWHQaTUIZEYVAUASgec64XuNvmVdKr/cfUuno9aXzbtlwiKqYVqv/WbKaXQsL4Amy2n/oXFynalL8rTdiT0X3MS3Yq7Fq/xWr5WweNxfxzy+jUzngEvoFFwSjQ5Fk4tUDhDhnqCrsgP6+++h3zCb9PtKepuHJK/SDefOI6tyhq+T7iD7xJdKeJPI9pAHVmySDL2ay4DhtgLvM+MtojyzKiI2guf4grv06uo+5AA2Nb9E3JRZyM0WxU1B4t/9c75CA5qrV/VnMlvnsSCUKiGb1DoypeVB7rdSL2i8l7gLqwoZ+JRZRg6YgzZEFpAdaZ9eK9X1TmDM8fo+FbVFCLESUAPyKYxXGPhiwtQHcEPeWOlfcZAyrb2LxfhTEwshjmsJMslV3I94Lo/wRQzwCFtpz9v9eiBEuZECGrY5Z9KAtlNQY6duPzyL+6u+gPahVj8Wkiz8vxiXnKgAg6PmM8pl9KPZhJuixmIftzOGFb0XLc+Yfg/EKB2JZlDEuG4WP6AQHtJ6WudxgkK1gAP2WBq7jXs/isaixY8nSuvr6uqWLN5aY86fkW/BktuBpYaHFYsmX1XWhxYtPL15SVx99rBAD7BepuoE9MecXwtRbMBX1lrxiyA6BAQXcRdwKbj235Zy7J5AZhwsG1lhUrmcgukZiSUFPAWaErQugtVsaMQYDFmYNZ2C6LjkzyG4EHMQbsBB2Ax3LOBYOFtXR3ioxIW8URpOmuO0WPUg/YrutCn4Nb65d+yb9lr5Hv31z7eVFgSXk8Wt79y9fvr/32vf2TbrRr193weZPc8yXbixd5F7CJ6dWP5qZqs0EBKySkgHGD7uybKE7LAjJqcXXziEauljKyU0TUpPJwlreVbZ2erBJW5C+oq6FLzeuwwt7eltdS5Dt+sF2FLG29V6y9k1iGGzS7X95sb56qZgDTaH/gCZdomqur5ne3fGbx4rzyV/S0lXpWt6SR4hKayoLlAjkX7Oh/N3M1AxVcvqKDfQjojYVj6zgCa3cfOP79KbDW1smPNQ485slSrqZxSs62+9YibMSC1psOytFGT8CCqmRshCGsJqPY1ARdEVWfPMHz8D5hRnu3HNO/++BuDDxVHfW9+J+3hj5EO0WcC/K6r794f7jsho2UTsGEcPo6hF0q5T2DIQ5SRmIJKy0pScc+4nFMfIwfB6XJcIXdLFYpuhFHlaijmDX8FU0lsAX1UDTzpbflV/nsrkipmMZxtUzbgx9f0MEVyb7bzIEZT+K4MckkyBTHZThf5iRVIqJbkCU8X84DD1Ue7dV3bR8bbMpPV3aZjb3L7VMM/f/ZDYLt5mnzaoh39dkaQQpWVWxcFxp+XJSXFMzvaYm+sEYfuPo/p9G8x1j+n9i+X+PiefHyA9vk9LTTc1rl99Utc0MtS2B2pLM0yzCrWZaQ7U1E5aXl45bWKFKlgRNIdY3vWb46OhVY8j3Y6Kdo8n3A3l2vmqMYu8FwwN0fQrjgAY0rci06znZ4B0U3qH1NBc3HMQHlLyqe/Xe1Wtapl8G0/TlRxE0iWSOM0WRo/QL5Ma/fXDvN5hiVKBpq9dORfC7duqn9GnHB4p47gMHmfQpvoHRFZnLDbRrOrFIHdI7MKNuph1XHLF8jgaiYvYpFbpMWUIGuULm3czKwCE8osQx5Mn4Bx/kbz7efnHtBR7t5FktublznyrVql0lWi1tlN5p7TjvvA7aYXaJquTh5tEGPX0vGtXKi+68q7r6ZfpIRtqD0e9mzJjAxWxZFVkNysVxjdSzeBTc2fx4PPqYQk0a4qqURLoS9kP8vyg44p4bRmswjVhdqu5BHvzHmMs9BpicP4r+NGo+i/Pfgugr3LuVb2ViJDJOibL/5q3km1szvqDvfIGScoZUe+BMZiie+G78HwC2UfPnj7Ip/xlgDf8IYqAfBz0Haw2TJzdjoCcV7OU0+ffyAS6LaYfqOE6Hku8Q4UIwxFw6KVOL5/jXM2f/5xmd8a2L281hknri2w0ZFpp14mtVelXpqEBTcan4Pf3Ds6Q2+zynK7P/01ah7bLKr+bQa9aXrJtZsr6W/yF2K4f+Qbwi8/Rlq6CW9H/236vR0hte+r2gNmc5sy0p6uX0DwfgyUyX87w/rOi/ZWpl4/qSmes868i6OX+nj5PaHLjTmk1fg/lLicUDRFsoKzc+JhndxN3I3cbdw+3jnsJQxH6FqTAI0PQQARKWBJBtVMkSxupyCEYT/vMjCahrWHc6E3CVaBCVhlrWfCIrBW4UCIiBoK6MEB0qFpF/EHR6E2oM0ZauFmEiE6DatV5ZRL7TildOk6TUI6A1lp1ZU8k+rMepOCUH9Ygvg4BNc4neaIIH5MMLJ+0y542ZvLDXsmDSruoxkxYJrxTYr1+0m35YjemdxBO5ulGVVapJSteka6rHqwvT1GnD7K1ykqiSgLi9HQrktGq7oBvTTXdm+1VjS8lvj1TqVXJavu2mB3hSV1dZRCYcyVw2kpx5aRps76V55LGlGLSPj666OZmkZuqqJ11VpJHUmlpnulo32frohReTBx5LybPvn9eyUpZ9Aq1qu5iQutpy8QA9QfLGTpq0K4/QE3wOMeWN2X1LHsnvv6Xtzb3O4I47297a6wju4FdXbOA12Vl5DaHi3HELyW3JQp4qPdUhSJoUQa1+4DVyp1JC5EDe6XEBmjL2DXo9kYPDkrLPn3XhBlJBD6l4Q6aFPjChcSogi0J0ZCQVU25bdTtCFlXK3/1CFuHJHd+RLQJJTxOJ+cvm0bS49ImfQmZrXuu6T+bvLSchfY5OS3eRGvoBEQgGyuJ+R6yyTnqMRc0KAMeb6XahFAgXiSxlmoyccPIHsnTxPN30rq8XHBo//tCCr7um6xYsJEuJdSEZ9/vfkuaVz8rC5MbGyYL87Eq6/7e/p78FbHUfrE2TPB+40JHM3kqJBmfHX5sOVhvAEOA9BbtbYlpn1PbH9f641QR7zBcdWWNJMYwVAso/ssBr5aUQkU0jmvLXT8rIklKkjGjrZ4I21UCPGFK1Qvhy3tlin5pty8+dzAudepUmXZc/8ZEJzWu/5GvKZuZVXVGzuebyiopA7fpNnRbrCEdxiqU6pyG7Rp+Vk1QmbvrbR3OvNEk8H/0kMyMjQ6vlXbzKZpu0cuXKOQ6ez0tRSVKS2ugf2RSJ+tKql0QuXPbGxuqKDNtDu//U076W/1JKyhs7fY7HMTVVbcquuXDaeXZvon/sUBqDWYNnE5sWIyLoEqgMmxJp8cxLQD2zP6Sk8UBXWAw+poQWYnQDM09IUeLGYYgYoNhVAzGEVfC9XOW/orDgbETQxhUajMz2YmwyUSsbMIwO/oM1fD8MtDLtQRo6v5B4IFWCjrQDBdWIX8DALMrd2FN15BSKQzl1wneHxvpQvm9iZAyzHCcJdi0iiw+F3wcGggU2QaYIOxy30VJYNqUFYSWO5KAxxKCNiTRgd6WMczzqeYL1kVNE/0Mtsy1Bkp6ZjGid8QJGBOAQJVgrOdCbHA3LJU10X2ZyRn5o6rDq6mFTx1VXa8i/iosuHDbs0qlTLs3I6K9W5iBOZ+LxWjvQ4lnUnzasumVq9bCKSiBaLqZ7dMOq4ZVLp/BPZ2dkRh+O0aLyWe3PZTEzXGf14Gw+t5Sc3VjlP/zEgoV2MORJJtJnYJ20n92+SKKkO9oUi6ShmGP9/8L3ZQxZE+jfrGeRc63AWxdyHq6CxX6rw2iYmri6XGQktZ2R1/+XvLKIgKdmanXmns+iCf9X2cQVDoMQHgzscs4kFsMuYZ9lxmOcxPcaCwQse4MmrzsuQHLGWIfE7cai+ig106jiwtOFK3xwySubDgcZWQXiUUIoKEwDtiPpV/cd42HOsffMvI2FrHImbMVzb0H0kGL+FegpxfxGzr0RY1csG7dS4oeMz8C4JHY+sYsJsc9VwJdlxN9wB90aYtMA1JeVVwHcRNjXMK4QOhINTB563LOQkSzEMq5iYUgbShNnB7a5rPoFNPDDoLiYbAKvhsDFlCQtXZXnyPAMcxcWuocNz28knlnD3O7CJigYMlmUF7UpKfwYWS6lT8ru4kCwsDBnWJA0153IGeZuL3S7i8+aN/QZSmX/y8AI3JtLiXGltFQ0BE2yyZlwFqpQD1DOI5UX9x7z+xLbStv3r9u/n/YMnnc1XqThs5OT3yiVxTnmRo+n0ZPY5KpIuCocTjzT9nkjtFOs1pWvNtcu+b4031paas0HmPA+974MRLESD58o/1PO4Xbx+P/kVEP+W4nnrvb2u+6m59Pz72Y5spfspT+wEHkssrfkOesm5nrP4KzGH2L+pArvjysiG0fFbyM2vxcO0WaS3XYscAdNyPcjBELOOoJWQRiUeFX74gj2j6ZAjnSJa+mHsN1YBNaP9/8hOhIuIVVik8XjBcX+s6nWDSuP2HRa5lktY0hYeC16eDs/jy6JRDDiZwRhaf/xMPFFP9jOz8cIFJFok6oZTgn2UzhKOq0QBDQv2pwmrc0kaHVQn+y0iW6tTXJ/jpHoNpK1gO7XYu5zDFm3kV4LDb8WcmIpWdu7degtALZ4ayN7dYi/kQlw3i+k2f8dt3luX6N3/xsW9FzORKqT/yVb+v8AUeQdbgAAeNpjYGRgYGBk7JRy5JSM57f5ysDNfgEownA+5XwIMs1+ASzOwcAE4gEAF4EJ7wAAeNpjYGRgYL/w/waIZGAAk4wMqOA9AHazBU4AAHjabVIrDgIxEJ0uYoOGAyCQKAS3IEFAwgFWIeAeqOIIggSHBIMCg4AVJKzkCATdhIBi+tntdOgmL6+dz5vPVigwX7ICqD0B0sKztgn0i74FfJEl8syy8SkTm6WF6CC/ETm5v+zdnCVy0/oq5MQPjEcslkFIH09Ra6VFcgyhayRj5Ifvj/Ygto4l80HkrPMvTi+LaDVdX7nnEjpH3FzvGm0bQ1HF6xmV01HhrqrZs0hezjRlqMl3D1dmm2DOPOzZaNaR+4glq9VjfUlWa4qokx2WWCD2kdlKfJj9QHZIZub3Ur+6r4kG1hJntmPd7w4xwHPX7ePKZlT/O/77v/xtDp294Xo6ITb+nQX/hdhigDurlyVjgB9mnjO1AAAAeNpjYGBQIwD1GNoYVjBcYbRjnMC4gvEdkx7TJKYTzALMMcyTmK+wyLDMYDnHysVqxPqJTYYthW0S2zl2IXY39hXstzgsOII4KjhWcFzi+MMpxKnAqcdpw+nFGcG5jfMU5zcuM64cri6ueVx3uP5xm3HXcX/gCeGZwXOGl4XXjjePdx7vGd5ffGp8GXwr+K7wK/G38b8Q4BGwEWgTOCPwS1BMMEgwR3CVkIfQBKFNQleEvgkrCG8SficSJdIiskTkgKiIaIzoAjExsQixGWK3xG3EL0n4SByQeCLJICkmGSY5QfKVlIFUhlSf1Capd9I20pNkXGRKZI7IfJO1ky2RnSa7S85DrkHunjyDfI38PgUhhTKFPQr3FBkUJRRnKF5R0lNapHRAOUv5lkqCyiSVWyrfVCVUvVRnqG5RfaLGprZI3Uv9nIaUhomGl0aKRpXGFI1VGkc0bmkKaRpovtEK0tqjPUH7jc4EXR7dMN11uq/0xPRU9JbpvdKX0Q/QX6b/zMDHYJ7BKYNvhkaGGYYNhosMXxgdMHpnbGEcYnzNRMkkzeSOqZtZhtkUcwXzCPMp5lcsTCxqLOZZ8lgGWM6x3GJ5z0rHqs1qn9UnaynrAOsN1hsAt7aMyXjaY2BkYGB4z7CJQZABBJiAmJEBJOYA5jMAAC5XAfgAeNqNUstOwkAUPS1oQjQuXLgwLhrdqAkPFaHCykRxITFEo3VbBEoj0goV8Bf8Mt35BX6D8QOMZy5TQujG3Ezn3DPnPmZuAazgDSkY6QyAL64pNrBOb4pNrOFb4xRs/GqcxrZR0ngJE+Ne42XynxpnsG/8aLyKTXNL43dsmHHsBwpmHRdooA4LI7QxwBA+AvTpH3IFZCy49F+594giUSXVY6IIXaKOMBFRGxM88BvSi3W71ES0EBXkaWOxHDyevnBXFT3yPUao2D5rtLnyZEOyWeZ38UylyvNEZgc1XfE8UW8PZ1QPqVXZAsl2TYXHWuo2AxwwU4FWQhW3uISDK6JkVHYhLqmwFhR3Cy80X6mBGzLKm2e7VEY632gWkUOZ3yrv6uKROZWmQ1a9UJNTyuFYlo0jeif/6N2RV26xi4G8req9JciXOVgyZZcVx1oZzpTxhBz6zblZT3ut8cyndyoRFq0oZ2VOW92xwg5t+bfUzYt/4ZJ4UQAAAHjabZT1k1xVGAW3F0lwd3eHefe7z/AQ2ODuHiCQQFiChBAsuLu7u1twJ7i7u1vxJ0Bgen5jqra6Xu27fWdPnbN9/X3/ff6e3Jf6/u/z19Qf+vrpZxqmZTqmZwhDmYEZmYmZmYVZmY3ZmYM5mYu5mYd5mY/5WYAFWYiFWYRFWYzFWYIlWYqlWYZlWY7lWYEVWYmVWYVVWY0OBYkgU1JR09CyOmuwJmuxNuuwLsNYj+GszwYMMIIN2YiN2YRN2YzN2YIt2Yqt2YZt2Y7t2YEd2Ymd2YVd2Y3d2YM9Gcle7M0+jGJf9mM0Y9ifAxjLgQxyEOM4mEM4lMMYz+FM4AgmciRHcTTHcCyTOI7jOYETOYmTOYVTOY3TOYMzOYuzOYdzOY/zuYALuYiLuYRLuYzLuYIruYqruYZruY7ruYEbuYmbuYVbuY3buYM7uYu7uYd7uY/7eYAHeYjJPMwjPMpjPM4TPMlTPM0zPMtzPM8LTOFFXuJlXuFVXuN13uBN3uJt3uFd3uN9PuBDPuJjPuFTPuNzvuBLvuJrvuFbvuN7fuBHfuJnfuFXfuN3/uDPIeMHx6ROpyMLmWTILEtZyVo2spXDukwDXZZdlgPD/+VA0b1vKguZZMgsS1nJWjay7bLQV+gr9BX6Cj2FnkJPoafQk/QkPUlP0pP0JD1JT9KT9ISe8Hx4Pvy7Qk/oCc+H57Pns98j68l6suez92fPl/6+9J7S90rvKX2/7L3vfZX3Vd5X6an0VHoqPZWeSk+lp/Z87fet9dR6aj21nlpPrafW0/h9Gn2NvkZfo6/p+pJ9SvYp2aNkj1Kn914la9nI7r3JHiV7lOxRskep0Gefkn1K9inZp2Sfkn1K9inZp2SfUtJnr5K9SvYq2atkr5K9SqHPfiX7lexXsl/JfqXQZ8+SPUv2LNmvML/o9J5DZlnKStaykV1vmGOYY5hjmGOYY5hjmGOYY5hjmGOYY5hjmGOYY5hjmGOYY5hjmGOYY5hjmGOYY5hjmGOYY5hjmGOYY5hjmGO41+jl6V4j63O3kfW533C/kbu+7HPuPZcdWcgkQ2ZZykrWUo87z5Xn3Xl259mdZ3ee3Xl259md51qPe8/uPbv37N6ze8/uPbv37N6ze8/uPbv37N6ze8/uPbv33Ohr9DX6Gn2tvlZfq6/V1+pr9bX6Wn2tvrbrK/3/UrqP0n2U7qN0H6W7KDv10MFRE0aMnThu9D9zrnmnAAFTPx7UAAA=) 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-visibility:before{content:"\f177"}.dashicons-post-status:before{content:"\f173"}.dashicons-edit:before{content:"\f464"}.dashicons-post-trash:before,.dashicons-trash:before{content:"\f182"}.dashicons-external:before{content:"\f504"}.dashicons-arrow-up:before{content:"\f142"}.dashicons-arrow-down:before{content:"\f140"}.dashicons-arrow-left:before{content:"\f141"}.dashicons-arrow-right:before{content:"\f139"}.dashicons-arrow-up-alt:before{content:"\f342"}.dashicons-arrow-down-alt:before{content:"\f346"}.dashicons-arrow-left-alt:before{content:"\f340"}.dashicons-arrow-right-alt:before{content:"\f344"}.dashicons-arrow-up-alt2:before{content:"\f343"}.dashicons-arrow-down-alt2:before{content:"\f347"}.dashicons-arrow-left-alt2:before{content:"\f341"}.dashicons-arrow-right-alt2:before{content:"\f345"}.dashicons-leftright:before{content:"\f229"}.dashicons-sort:before{content:"\f156"}.dashicons-randomize:before{content:"\f503"}.dashicons-list-view:before{content:"\f163"}.dashicons-exerpt-view:before{content:"\f164"}.dashicons-hammer:before{content:"\f308"}.dashicons-art:before{content:"\f309"}.dashicons-migrate:before{content:"\f310"}.dashicons-performance:before{content:"\f311"}.dashicons-universal-access:before{content:"\f483"}.dashicons-universal-access-alt:before{content:"\f507"}.dashicons-tickets:before{content:"\f486"}.dashicons-nametag:before{content:"\f484"}.dashicons-clipboard:before{content:"\f481"}.dashicons-heart:before{content:"\f487"}.dashicons-megaphone:before{content:"\f488"}.dashicons-schedule:before{content:"\f489"}.dashicons-wordpress:before{content:"\f120"}.dashicons-wordpress-alt:before{content:"\f324"}.dashicons-pressthis:before{content:"\f157"}.dashicons-update:before{content:"\f463"}.dashicons-screenoptions:before{content:"\f180"}.dashicons-info:before{content:"\f348"}.dashicons-cart:before{content:"\f174"}.dashicons-feedback:before{content:"\f175"}.dashicons-cloud:before{content:"\f176"}.dashicons-translation:before{content:"\f326"}.dashicons-tag:before{content:"\f323"}.dashicons-category:before{content:"\f318"}.dashicons-archive:before{content:"\f480"}.dashicons-tagcloud:before{content:"\f479"}.dashicons-text:before{content:"\f478"}.dashicons-media-archive:before{content:"\f501"}.dashicons-media-audio:before{content:"\f500"}.dashicons-media-code:before{content:"\f499"}.dashicons-media-default:before{content:"\f498"}.dashicons-media-document:before{content:"\f497"}.dashicons-media-interactive:before{content:"\f496"}.dashicons-media-spreadsheet:before{content:"\f495"}.dashicons-media-text:before{content:"\f491"}.dashicons-media-video:before{content:"\f490"}.dashicons-playlist-audio:before{content:"\f492"}.dashicons-playlist-video:before{content:"\f493"}.dashicons-yes:before{content:"\f147"}.dashicons-no:before{content:"\f158"}.dashicons-no-alt:before{content:"\f335"}.dashicons-plus:before{content:"\f132"}.dashicons-plus-alt:before{content:"\f502"}.dashicons-minus:before{content:"\f460"}.dashicons-dismiss:before{content:"\f153"}.dashicons-marker:before{content:"\f159"}.dashicons-star-filled:before{content:"\f155"}.dashicons-star-half:before{content:"\f459"}.dashicons-star-empty:before{content:"\f154"}.dashicons-flag:before{content:"\f227"}.dashicons-share1:before,.dashicons-share:before{content:"\f237"}.dashicons-share-alt:before{content:"\f240"}.dashicons-share-alt2:before{content:"\f242"}.dashicons-twitter:before{content:"\f301"}.dashicons-rss:before{content:"\f303"}.dashicons-email:before{content:"\f465"}.dashicons-email-alt:before{content:"\f466"}.dashicons-facebook:before{content:"\f304"}.dashicons-facebook-alt:before{content:"\f305"}.dashicons-networking:before{content:"\f325"}.dashicons-googleplus:before{content:"\f462"}.dashicons-location:before{content:"\f230"}.dashicons-location-alt:before{content:"\f231"}.dashicons-camera:before{content:"\f306"}.dashicons-images-alt:before{content:"\f232"}.dashicons-images-alt2:before{content:"\f233"}.dashicons-video-alt:before{content:"\f234"}.dashicons-video-alt2:before{content:"\f235"}.dashicons-video-alt3:before{content:"\f236"}.dashicons-vault:before{content:"\f178"}.dashicons-shield:before{content:"\f332"}.dashicons-shield-alt:before{content:"\f334"}.dashicons-sos:before{content:"\f468"}.dashicons-search:before{content:"\f179"}.dashicons-slides:before{content:"\f181"}.dashicons-analytics:before{content:"\f183"}.dashicons-chart-pie:before{content:"\f184"}.dashicons-chart-bar:before{content:"\f185"}.dashicons-chart-line:before{content:"\f238"}.dashicons-chart-area:before{content:"\f239"}.dashicons-groups:before{content:"\f307"}.dashicons-businessman:before{content:"\f338"}.dashicons-id:before{content:"\f336"}.dashicons-id-alt:before{content:"\f337"}.dashicons-products:before{content:"\f312"}.dashicons-awards:before{content:"\f313"}.dashicons-forms:before{content:"\f314"}.dashicons-testimonial:before{content:"\f473"}.dashicons-portfolio:before{content:"\f322"}.dashicons-book:before{content:"\f330"}.dashicons-book-alt:before{content:"\f331"}.dashicons-download:before{content:"\f316"}.dashicons-upload:before{content:"\f317"}.dashicons-backup:before{content:"\f321"}.dashicons-clock:before{content:"\f469"}.dashicons-lightbulb:before{content:"\f339"}.dashicons-microphone:before{content:"\f482"}.dashicons-desktop:before{content:"\f472"}.dashicons-tablet:before{content:"\f471"}.dashicons-smartphone:before{content:"\f470"}.dashicons-smiley:before{content:"\f328"}
\ No newline at end of file
index a465a38abf7d984ecd1cffb7a02b8d2e65e3a8b8..e5842e98f18f03cd2eaa4bbc62b9824d4b53dc1e 100644 (file)
-
 /*------------------------------------------------------------------------------
-
  TinyMCE and Quicklinks toolbars
 ------------------------------------------------------------------------------*/
 
-/* wp_theme/ui.css */
-.wp_themeSkin table,
-.wp_themeSkin tbody,
-.wp_themeSkin a,
-.wp_themeSkin img,
-.wp_themeSkin tr,
-.wp_themeSkin div,
-.wp_themeSkin td,
-.wp_themeSkin iframe,
-.wp_themeSkin span,
-.wp_themeSkin *,
-.wp_themeSkin .mceText {
-       border: 0;
-       margin: 0;
-       padding: 0;
-       white-space: nowrap;
-       text-decoration: none;
-       font-weight: normal;
-       cursor: default;
-       vertical-align: baseline;
-       width: auto;
-       border-collapse: separate;
-}
-
-.wp_themeSkin a:hover,
-.wp_themeSkin a:link,
-.wp_themeSkin a:visited,
-.wp_themeSkin a:active {
-       text-decoration: none;
-       font-weight: normal;
-       cursor: default;
-}
-
-.wp_themeSkin table td {
-       vertical-align: middle;
-}
-
-.wp_themeSkin *,
-.wp_themeSkin a:hover,
-.wp_themeSkin a:link,
-.wp_themeSkin a:visited,
-.wp_themeSkin a:active {
-       color: #555;
-}
-
-/* These are part of TinyMCE, used in TinyMCE Advanced, but not WordPress. These are not updated for 3.8's design. */
-.wp_themeSkin span.mce_sup,
-.wp_themeSkin span.mce_sub,
-.wp_themeSkin span.mce_media,
-.wp_themeSkin span.mce_styleprops,
-.wp_themeSkin span.mce_search,
-.wp_themeSkin span.mce_emotions,
-.wp_themeSkin span.mce_print,
-.wp_themeSkin span.mce_attribs,
-.wp_themeSkin span.mce_hr,
-.wp_themeSkin span.mce_cut,
-.wp_themeSkin span.mce_copy,
-.wp_themeSkin span.mce_paste,
-.wp_themeSkin span.mce_cite,
-.wp_themeSkin span.mce_visualchars,
-.wp_themeSkin span.mce_advhr,
-.wp_themeSkin span.mce_insertdate,
-.wp_themeSkin span.mce_anchor,
-.wp_themeSkin span.mce_visualaid,
-.wp_themeSkin span.mce_cleanup,
-.wp_themeSkin span.mce_table,
-.wp_themeSkin span.mce_row_props,
-.wp_themeSkin span.mce_cell_props,
-.wp_themeSkin span.mce_row_before,
-.wp_themeSkin span.mce_row_after,
-.wp_themeSkin span.mce_delete_row,
-.wp_themeSkin span.mce_col_before,
-.wp_themeSkin span.mce_col_after,
-.wp_themeSkin span.mce_delete_col,
-.wp_themeSkin span.mce_split_cells,
-.wp_themeSkin span.mce_merge_cells,
-.wp_themeSkin span.mce_delete_table,
-.wp_themeSkin span.mce_ins,
-.wp_themeSkin span.mce_abbr,
-.wp_themeSkin span.mce_acronym,
-.wp_themeSkin span.mce_del,
-.wp_themeSkin span.mce_replace,
-.wp_themeSkin span.mce_code,
-.wp_themeSkin span.mce_nonbreaking,
-.wp_themeSkin span.mce_inserttime,
-.wp_themeSkin span.mce_insertlayer,
-.wp_themeSkin span.mce_moveforward,
-.wp_themeSkin span.mce_movebackward,
-.wp_themeSkin span.mce_absolute {
-       -moz-transition: none;
-       -webkit-transition: none;
-       transition: none;
-       background: url("../js/tinymce/themes/advanced/img/icons.gif") no-repeat 20px 20px;
-}
-
-/* No @font-face support */
-.no-font-face .wp_themeSkin span.mce_undo,
-.no-font-face .wp_themeSkin span.mce_redo,
-.no-font-face .wp_themeSkin span.mce_bullist,
-.no-font-face .wp_themeSkin span.mce_numlist,
-.no-font-face .wp_themeSkin span.mce_blockquote,
-.no-font-face .wp_themeSkin span.mce_charmap,
-.no-font-face .wp_themeSkin span.mce_bold,
-.no-font-face .wp_themeSkin span.mce_italic,
-.no-font-face .wp_themeSkin span.mce_underline,
-.no-font-face .wp_themeSkin span.mce_justifyleft,
-.no-font-face .wp_themeSkin span.mce_justifyright,
-.no-font-face .wp_themeSkin span.mce_justifycenter,
-.no-font-face .wp_themeSkin span.mce_justifyfull,
-.no-font-face .wp_themeSkin span.mce_indent,
-.no-font-face .wp_themeSkin span.mce_outdent,
-.no-font-face .wp_themeSkin span.mce_link,
-.no-font-face .wp_themeSkin span.mce_unlink,
-.no-font-face .wp_themeSkin span.mce_help,
-.no-font-face .wp_themeSkin span.mce_removeformat,
-.no-font-face .wp_themeSkin span.mce_fullscreen,
-.no-font-face .wp_themeSkin span.mce_wp_fullscreen,
-.no-font-face .wp_themeSkin span.mce_media,
-.no-font-face .wp_themeSkin span.mce_pastetext,
-.no-font-face .wp_themeSkin span.mce_pasteword,
-.no-font-face .wp_themeSkin span.mce_wp_help,
-.no-font-face .wp_themeSkin span.mce_wp_adv,
-.no-font-face .wp_themeSkin span.mce_wp_more,
-.no-font-face .wp_themeSkin span.mce_strikethrough,
-.no-font-face .wp_themeSkin span.mce_spellchecker,
-.no-font-face .wp_themeSkin span.mce_forecolor,
-.no-font-face .wp_themeSkin .mce_forecolorpicker,
-.no-font-face .wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker,
-.no-font-face .wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor,
-.no-font-face .wp_themeSkin .mceSplitButton span.mce_numlist,
-.no-font-face .wp_themeSkin .mceSplitButton span.mce_bullist {
-       -moz-transition: none;
-       -webkit-transition: none;
-       transition: none;
-       background-image: url('../images/wpicons.png?ver=20120720');
-}
-
-/* Theme */
-.no-font-face .wp_themeSkin span.mce_undo {background-position:-500px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_undo,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_undo {background-position:-500px 0}
-
-.no-font-face .wp_themeSkin span.mce_redo {background-position:-480px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_redo,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_redo {background-position:-480px 0}
-
-.no-font-face .wp_themeSkin span.mce_bullist {background-position:-40px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_bullist,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_bullist,
-.no-font-face .wp_themeSkin .mceSplitButton:hover span.mce_bullist {background-position:-40px 0}
-
-.no-font-face .wp_themeSkin span.mce_numlist {background-position:-60px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_numlist,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_numlist,
-.no-font-face .wp_themeSkin .mceSplitButton:hover span.mce_numlist {background-position:-60px 0}
-
-.no-font-face .wp_themeSkin span.mce_blockquote {background-position:-80px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_blockquote,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_blockquote {background-position:-80px 0}
-
-.no-font-face .wp_themeSkin span.mce_charmap {background-position:-420px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_charmap,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_charmap {background-position:-420px 0}
-
-.no-font-face .wp_themeSkin span.mce_bold {background-position:0 -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_bold,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_bold {background-position:0 0}
-
-.no-font-face .wp_themeSkin span.mce_italic {background-position:-20px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_italic,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_italic {background-position:-20px 0}
-
-.no-font-face .wp_themeSkin span.mce_underline {background-position:-280px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_underline,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_underline {background-position:-280px 0}
-
-.no-font-face .wp_themeSkin span.mce_justifyleft {background-position:-100px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyleft,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifyleft {background-position:-100px 0}
-
-.no-font-face .wp_themeSkin span.mce_justifyright {background-position:-140px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyright,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifyright {background-position:-140px 0}
-
-.no-font-face .wp_themeSkin span.mce_justifycenter {background-position:-120px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifycenter,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifycenter {background-position:-120px 0}
-
-.no-font-face .wp_themeSkin span.mce_justifyfull {background-position:-300px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyfull,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifyfull {background-position:-300px 0}
-
-.no-font-face .wp_themeSkin span.mce_indent {background-position:-460px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_indent,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_indent {background-position:-460px 0}
-
-.no-font-face .wp_themeSkin span.mce_outdent {background-position:-440px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_outdent,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_outdent {background-position:-440px 0}
-
-.no-font-face .wp_themeSkin span.mce_link {background-position:-160px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_link,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_link {background-position:-160px 0}
-
-.no-font-face .wp_themeSkin span.mce_unlink {background-position:-180px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_unlink,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_unlink {background-position:-180px 0}
-
-.no-font-face .wp_themeSkin span.mce_help {background-position:-520px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_help,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_help {background-position:-520px 0}
-
-.no-font-face .wp_themeSkin span.mce_removeformat {background-position:-380px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_removeformat,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_removeformat {background-position:-380px 0}
-
-.no-font-face .wp_themeSkin span.mce_strikethrough {background-position:-540px -20px;}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_strikethrough,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_strikethrough {background-position:-540px 0}
-
-.no-font-face .wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor {background-position:-320px -20px}
-.no-font-face .wp_themeSkin .mceSplitButtonEnabled:hover span.mce_forecolor,
-.no-font-face .wp_themeSkin .mceSplitButtonSelected span.mce_forecolor {background-position:-320px 0}
-
-.no-font-face .wp_themeSkin .mce_forecolorpicker {background-position:-320px -20px}
-
-/* Plugins in WP */
-.no-font-face .wp_themeSkin span.mce_fullscreen {background-position:-240px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_fullscreen,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_fullscreen {background-position:-240px 0}
-
-.no-font-face .wp_themeSkin span.mce_wp_fullscreen {background-position:-240px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_fullscreen,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_fullscreen {background-position:-240px 0}
-
-.no-font-face .wp_themeSkin span.mce_media {background-position:-400px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_media,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_media {background-position:-400px 0}
-
-.no-font-face .wp_themeSkin span.mce_pastetext {background-position:-340px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_pastetext,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_pastetext {background-position:-340px 0}
-
-.no-font-face .wp_themeSkin span.mce_pasteword {background-position:-360px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_pasteword,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_pasteword {background-position:-360px 0}
-
-.no-font-face .wp_themeSkin span.mce_spellchecker {background-position:-220px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_spellchecker,
-.no-font-face .wp_themeSkin .mceSplitButtonEnabled:hover span.mce_spellchecker,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_spellchecker,
-.no-font-face .wp_themeSkin .mceSplitButtonSelected span.mce_spellchecker {background-position:-220px 0}
-
-.no-font-face .wp_themeSkin span.mce_wp_help {background-position:-520px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_help,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_help {background-position:-520px 0}
-
-.no-font-face .wp_themeSkin span.mce_wp_adv {background-position:-260px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_adv,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_adv {background-position:-260px 0}
-
-.no-font-face .wp_themeSkin span.mce_wp_more {background-position:-200px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_more,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_more {background-position:-200px 0}
-
-.no-font-face .mceIcon:before {
-       display: none !important;
-}
-/* End no @font-face */
-
-/* Containers */
-.wp_themeSkin table {}
-
-.wp_themeSkin iframe {
-       display: block;
-}
+/* TinyMCE widgets/containers */
 
-.wp_themeSkin #mce_fullscreen_ifr {
-       background-color: #fff;
+.mce-container,
+.mce-container *,
+.mce-widget,
+.mce-widget * {
+       color: inherit;
+       font-family: inherit;
 }
 
-.wp_themeSkin .mceToolbar {
-       padding: 1px;
+/* TinyMCE windows */
+#mce-modal-block.mce-in {
+       opacity: 0.7;
+       filter: alpha(opacity=70);
 }
 
-/* External */
-.wp_themeSkin .mceExternalToolbar {
-       position: absolute;
-       border-bottom: 0;
-       display: none;
+.mce-window {
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       -webkit-font-smoothing: subpixel-antialiased;
 }
 
-.wp_themeSkin .mceExternalToolbar td.mceToolbar {
-       padding-left: 13px;
+.mce-window .mce-container-body.mce-abs-layout {
+       overflow: visible;
 }
 
-.wp_themeSkin .mceExternalClose {
-       position: absolute;
-       top: 3px;
-       left: 3px;
-       width: 7px;
-       height: 7px;
-       background: url("../js/tinymce/themes/advanced/img/icons.gif") -820px 0;
+.mce-window .mce-window-head {
+       background: #fcfcfc;
+       border-bottom: 1px solid #dfdfdf;
+       padding: 0;
+       min-height: 36px;
 }
 
-/* Layout */
-.wp_themeSkin table.mceToolbar,
-.wp_themeSkin tr.mceFirst .mceToolbar tr td,
-.wp_themeSkin tr.mceLast .mceToolbar tr td {
-       border: 0;
+.mce-window .mce-window-head .mce-title {
+       color: #444;
+       font-size: 18px;
+       font-weight: 600;
+       line-height: 36px;
        margin: 0;
-       padding: 0;
+       padding: 0 16px 0 36px;
 }
 
-.wp_themeSkin table.mceLayout {
-       border: 0;
+.mce-window .mce-window-head .mce-close {
+       color: transparent;
+       top: 0;
+       left: 0;
+       width: 36px;
+       height: 36px;
+       line-height: 36px;
+       text-align: center;
 }
 
-.wp_themeSkin .mceStatusbar {
-       background: #fff;
-       border-top: 1px solid #eee;
-       color: #000;
+.mce-window .mce-window-head .mce-close:before {
+       font: normal 20px/36px 'dashicons';
+       text-align: center;
+       color: #666;
+       width: 36px;
+       height: 36px;
        display: block;
-       font-family: sans-serif;
-       font-size: 12px;
-       height: 20px;
-       line-height: 16px;
-       padding: 0 8px 0 0;
-       overflow: visible;
 }
 
-.wp_themeSkin .mceStatusbar * {
-       color: #555;
+.mce-window .mce-window-head .mce-close:hover:before {
+       color: #2ea2cc;
 }
 
-.wp_themeSkin .mceStatusbar div {
-       float: right;
-       padding: 2px;
+.mce-window .mce-window-head .mce-dragh {
+       width: -webkit-calc( 100% - 36px );
+       width: calc( 100% - 36px );
 }
 
-.wp_themeSkin .mceStatusbar a.mceResize {
-       display: block;
-       float: left;
-       background: url("../js/tinymce/themes/advanced/img/icons.gif") -800px 0;
-       width: 20px;
-       height: 20px;
-       cursor: sw-resize;
+.mce-wp-help .mce-window-head {
+       border-bottom: none;
 }
 
-.wp_themeSkin .mceStatusbar a:hover {
-       text-decoration: underline;
+.mce-textbox,
+.mce-checkbox i.mce-i-checkbox {
+       border: 1px solid #ddd;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
+       box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
+       -webkit-transition: .05s border-color ease-in-out;
+       transition: .05s border-color ease-in-out;
 }
 
-.wp_themeSkin table.mceToolbar {
-       margin: 0 6px 2px;
+.mce-textbox:focus,
+.mce-textbox.mce-focus,
+.mce-checkbox:focus i.mce-i-checkbox {
+       border-color: #5b9dd9;
+       -webkit-box-shadow: 0 0 2px rgba(30,140,190,0.8);
+       box-shadow: 0 0 2px rgba(30,140,190,0.8);
 }
 
-.wp_themeSkin table.mceToolbar :active,
-.wp_themeSkin table.mceToolbar :focus,
-.wp_themeSkin table.mceToolbar:focus,
-.wp_themeSkin span.mceSeparator:focus {
-       outline: none;
+/* TinyMCE menus */
+.mce-menu,
+.mce-floatpanel.mce-popover {
+       border-color: rgba(0,0,0,0.15);
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       -webkit-box-shadow: 0 3px 5px rgba( 0, 0, 0, 0.2 );
+       box-shadow: 0 3px 5px rgba( 0, 0, 0, 0.2 );
 }
 
-.wp_themeSkin #content_toolbar1 {
+.mce-floatpanel.mce-popover.mce-bottom {
        margin-top: 2px;
 }
 
-.wp_themeSkin .mceToolbar .mceToolbarEndListBox span {
+.mce-floatpanel .mce-arrow {
        display: none;
 }
 
-.wp_themeSkin span.mceIcon,
-.wp_themeSkin img.mceIcon {
-       display: block;
-       width: 20px;
-       height: 20px;
-}
-
-a .mceIcon, .mceAction {
-       text-align: center;
-       font: normal 20px/1 'dashicons' !important;
-       speak: none;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
+.mce-menu .mce-container-body {
+       min-width: 160px;
 }
 
-.mceAction {
-       line-height:16px;
+.mce-menu-item {
+       border: none;
+       margin-bottom: 2px;
 }
 
-/* Button */
-.wp_themeSkin .mceButton {
-       display: block;
-       width: 20px;
-       height: 20px;
-       cursor: default;
-       padding: 1px 2px;
-       margin: 1px;
-       -webkit-border-radius: 2px;
-       border-radius: 2px;
+.mce-menu-has-icons i.mce-ico {
+       line-height: 20px;
 }
 
-.wp_themeSkin a.mceButtonEnabled:hover {
-       background-image: inherit 0 -10px;
+/* TinyMCE panel */
+div.mce-panel {
+       border: 0;
+       background: #fff;
+       -webkit-filter: none;
+       filter: none;
 }
 
-.wp_themeSkin .mceOldBoxModel a.mceButton span, .wp_themeSkin .mceOldBoxModel a.mceButton img {
-       margin: 0 1px 0 0;
+.mce-panel.mce-menu {
+       border: 1px solid #ddd;
 }
 
-.wp_themeSkin .mceButtonDisabled .mceIcon {
-       opacity: 0.2;
-       filter: alpha(opacity=20);
+div.mce-tab {
+       line-height: 13px;
 }
 
-/* Separator */
-.wp_themeSkin .mceSeparator {
-       display: none;
+/* TinyMCE toolbars */
+div.mce-toolbar-grp {
+       border-bottom: 1px solid #dedede;
+       background: #f5f5f5;
+       padding: 3px;
+       position: relative;
 }
 
-/* ListBox */
-.wp_themeSkin .mceListBox,
-.wp_themeSkin .mceListBox a {
-       display: block;
+.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first {
+       padding-left: 32px;
 }
 
-.wp_themeSkin .mceListBox .mceText {
-       padding: 1px 5px 1px 4px;
-       width: 70px;
-       text-align: right;
-       text-decoration: none;
-       -webkit-border-bottom-right-radius: 2px;
-       -webkit-border-top-right-radius: 2px;
-       border-bottom-right-radius: 2px;
-       border-top-right-radius: 2px;
-       font-family: sans-serif;
-       font-size: 12px;
-       height: 20px;
-       line-height: 20px;
-       overflow: hidden;
+.mce-toolbar .mce-btn-group {
+       margin: 0;
 }
 
-.wp_themeSkin .mceListBox {
-       margin: 1px;
-       direction: rtl;
-       background-color: #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);
+div.mce-statusbar {
+       border-top: 1px solid #eee;
 }
 
-.wp_themeSkin .mceListBox .mceOpen {
-       width: 12px;
-       height: 20px;
-       border-collapse: separate;
-       padding: 1px;
-       -webkit-border-bottom-right-radius: 0;
-       -webkit-border-top-right-radius: 0;
-       border-bottom-right-radius: 0;
-       border-top-right-radius: 0;
+div.mce-path {
+       padding: 0 8px 2px;
+       margin: 0;
 }
 
-.wp_themeSkin .mceListBox .mceFirst a {
-       border-style: solid;
-       border-width: 1px;
-       border-bottom-left-radius: 2px;
-       border-top-left-radius: 2px;
+.mce-toolbar .mce-btn,
+.qt-fullscreen {
+       border-color: transparent;
+       background: transparent;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       text-shadow: none;
+       cursor: pointer;
 }
 
-.wp_themeSkin .mceListBoxMenu .mce_formatPreview {
-       line-height: normal;
+#wp-fullscreen-buttons .mce-btn,
+.mce-toolbar .mce-btn-group .mce-btn,
+.qt-fullscreen {
+       border: 1px solid transparent;
+       margin: 2px;
+       background-image: none;
+       -webkit-border-radius: 2px;
+       border-radius: 2px;
+       -webkit-filter: none;
+       filter: none;
 }
 
-.wp_themeSkin .mceListBox .mceOpen,
-.wp_themeSkin .mceListBoxHover .mceOpen,
-.wp_themeSkin .mceListBoxSelected .mceOpen,
-.wp_themeSkin table.mceListBoxEnabled .mceOpen {
-       background-image: url("../images/down_arrow.gif");
-       background-position: 3px 1px;
-       background-repeat: no-repeat;
+#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-fullscreen:hover,
+.qt-fullscreen:focus {
+       background: #fafafa;
+       border-color: #999;
+       color: #222;
+       -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 );
 }
 
-.wp_themeSkin .mceListBoxDisabled .mceText {
-       color: gray;
+.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 {
+       background: #ebebeb;
+       border-color: #999;
+       -webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.3 );
+       box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.3 );
 }
 
-.wp_themeSkin .mceListBoxMenu {
-       overflow: auto;
-       overflow-x: hidden;
+.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover {
+       border-color: #555;
 }
 
-.wp_themeSkin .mceOldBoxModel .mceListBox .mceText {
-       height: 22px;
+.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico {
+       color: #555;
 }
 
-.wp_themeSkin select.mceListBox {
-       font-family: sans-serif;
-       font-size: 12px;
-       border-color: #b2b2b2;
-       background-color: #fff;
+.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 {
+       color: #aaa;
+       background: none;
+       border-color: #ddd;
+       text-shadow: 0 1px 0 #fff;
+       -webkit-box-shadow: none;
+       box-shadow: none;
 }
 
-/* SplitButton */
-.wp_themeSkin .mceSplitButton a,
-.wp_themeSkin .mceSplitButton span {
-       display: block;
-       height: 20px;
+.mce-toolbar .mce-btn-group .mce-first,
+.mce-toolbar .mce-btn-group .mce-last {
+       border-color: transparent;
 }
 
-.wp_themeSkin .mceSplitButton {
-       display: block;
-       direction: rtl;
+.mce-toolbar .mce-btn button,
+.qt-fullscreen {
+       padding: 2px 3px;
+       line-height: normal;
 }
 
-.wp_themeSkin table.mceSplitButton td {
-       padding: 2px;
-       -webkit-border-radius: 2px;
-       border-radius: 2px;
+.mce-toolbar .mce-btn i {
+       text-shadow: none;
 }
 
-.wp_themeSkin table.mceSplitButton:hover td {
-       background-image: inherit 0 -10px;
+.mce-toolbar .mce-btn-group > div {
+       white-space: normal;
 }
 
-.wp_themeSkin .mceSplitButton a.mceAction {
-       height: 20px;
-       width: 20px;
-       padding: 1px 2px;
-       border-left: 0 none;
+.mce-toolbar .mce-colorbutton .mce-open {
+       border-left: 0;
 }
 
-.wp_themeSkin .mceSplitButton span.mceAction {
-       background-image: url("../js/tinymce/themes/advanced/img/icons.gif");
-       background-repeat: no-repeat;
-       background-color: transparent;
-       width: 20px;
+.mce-toolbar .mce-colorbutton .mce-preview {
+       margin-right: -17px;
+       padding: 0;
+       width: 18px;
 }
 
-.wp_themeSkin .mceSplitButton span.mceAction.mce_bullist,
-.wp_themeSkin .mceSplitButton span.mceAction.mce_numlist {
-       background-image: none;
+/* mce listbox */
+.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);
 }
 
-.wp_themeSkin .mceSplitButton a.mceOpen {
-       width: 11px;
-       height: 20px;
-       background-position: 0px 2px;
-       background-repeat: no-repeat;
-       padding: 1px 0;
+.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover {
+    background-image: none;
+    border-color: #bbb;
 }
 
-.wp_themeSkin .mceSplitButton span.mceOpen {
-       display: none;
+.mce-panel .mce-btn i.mce-caret {
+       border-top: 6px solid #777;
+       margin-right: 2px;
+       margin-left: 2px;
 }
 
-.wp_themeSkin .mceSplitButtonDisabled .mceAction {
-       opacity: 0.3;
-       filter: alpha(opacity=30);
+.mce-listbox i.mce-caret {
+       left: 6px;
 }
 
-.wp_themeSkin .mceListBox a.mceText,
-.wp_themeSkin .mceSplitButton a.mceAction {
-       -webkit-border-bottom-right-radius: 2px;
-       -webkit-border-top-right-radius: 2px;
-       border-bottom-right-radius: 2px;
-       border-top-right-radius: 2px;
+.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;
 }
 
-.wp_themeSkin .mceSplitButton a.mceOpen,
-.wp_themeSkin .mceListBox a.mceOpen {
-       -webkit-border-bottom-left-radius: 2px;
-       -webkit-border-top-left-radius: 2px;
-       border-bottom-left-radius: 2px;
-       border-top-left-radius: 2px;
+.mce-panel .mce-btn:hover i.mce-caret {
+       border-top-color: #333;
 }
 
-/* ColorSplitButton */
-.wp_themeSkin div.mceColorSplitMenu table {
-       background-color: #ebebeb;
-       border-color: #bbb;
+.mce-panel .mce-active i.mce-caret {
+       border-top: 0;
+       border-bottom: 6px solid #333;
+       margin-top: 7px;
 }
 
-.wp_themeSkin .mceColorSplitMenu td {
-       padding: 2px;
+.mce-listbox.mce-active i.mce-caret {
+       margin-top: -3px;
 }
 
-.wp_themeSkin .mceColorSplitMenu a {
-       display: block;
-       width: 9px;
-       height: 9px;
-       overflow: hidden;
-       border-color: #B2B2B2;
+.mce-toolbar .mce-splitbtn:hover .mce-open {
+       border-left-color: transparent;
 }
 
-.wp_themeSkin .mceColorSplitMenu td.mceMoreColors {
-       padding: 1px 1px 1px 3px;
+.mce-toolbar .mce-splitbtn .mce-open.mce-active{
+       -webkit-box-shadow: none;
+       box-shadow: none;
 }
 
-.wp_themeSkin .mceColorSplitMenu a.mceMoreColors {
-       width: 100%;
-       height: auto;
-       text-align: center;
-       font-family: "Open Sans", sans-serif;
-       font-size: 11px;
-       line-height: 20px;
-       border-color: #fff;
+.mce-menu .mce-menu-item-normal.mce-active {
+       background-color: #e5e5e5;
+       -webkit-filter: none;
+       filter: none;
 }
 
-.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover {}
-.wp_themeSkin a.mceMoreColors:hover {}
-.wp_themeSkin .mceColorPreview {
-       margin: -5px 2px 0 0;
-       width: 16px;
-       height: 4px;
-       overflow: hidden;
+.mce-menu .mce-menu-item:hover,
+.mce-menu .mce-menu-item.mce-selected,
+.mce-menu .mce-menu-item:focus {
+       color: #000;
+       background-color: #bbb;
+       background-image: none;
+       -webkit-filter: none;
+       filter: none;
 }
 
-/* Menu */
-.wp_themeSkin .mceMenu {
-       position: absolute;
-       right: 0;
-       top: 0;
-       z-index: 1000;
-       border-color: #ddd;
-       direction: rtl;
+.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;
 }
 
-.wp_themeSkin .mceNoIcons span.mceIcon {
-       width: 0;
+/* Menubar */
+.mce-menubar {
+       border-color: #e5e5e5;
 }
 
-.wp_themeSkin .mceNoIcons a .mceText {
-       padding-right: 10px;
+.mce-menubar .mce-btn:focus {
+       outline: 0;
 }
 
-.wp_themeSkin .mceMenu table {
-       background-color: #ebeaeb;
+div.mce-menu .mce-menu-item-sep,
+.mce-menu-item-sep:hover {
+       margin: 5px 0 4px;
 }
 
-.wp_themeSkin .mceMenu a,
-.wp_themeSkin .mceMenu span,
-.wp_themeSkin .mceMenu {
-       display: block;
+.mce-menubtn span {
+       margin-left: 0;
+       padding-right: 3px;
 }
 
-.wp_themeSkin .mceMenu td {
-       height: 20px;overflow: hidden;
+.mce-menu-has-icons i.mce-ico:before {
+       margin-right: -2px;
 }
 
-.wp_themeSkin .mceMenu a {
-       position: relative;
-       padding: 3px 0 4px 0;
-       text-decoration: none !important;
+/* Buttons in modals */
+.mce-primary button,
+.mce-primary button i {
+       text-align: center;
+       color: #fff;
+       text-shadow: none;
+       padding: 0;
+       line-height: 26px;
 }
 
-.wp_themeSkin .mceMenu .mceText {
-       position: relative;
-       display: block;
-       font-family: "Open Sans", sans-serif;
-       cursor: default;
+.mce-window .mce-btn {
+       color: #555;
+       background: #f7f7f7;
+       text-decoration: none;
+       font-size: 13px;
+       line-height: 26px;
+       height: 28px;
        margin: 0;
-       padding: 0 25px;
-       color: #000;
+       padding: 0;
+       cursor: pointer;
+       border: 1px solid #ccc;
+       -webkit-appearance: none;
+       -webkit-border-radius: 3px;
+       border-radius: 3px;
+       white-space: nowrap;
+       -webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+       box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+       background-image: none;
 }
 
-.wp_themeSkin .mceMenu span.mceText, .wp_themeSkin .mceMenu .mcePreview {
-       font-size: 12px;
+/* Remove the dotted border on :focus and the extra padding in Firefox */
+.mce-window .mce-btn::-moz-focus-inner {
+       border-width: 1px 0;
+       border-style: solid none;
+       border-color: transparent;
+       padding: 0;
 }
 
-.wp_themeSkin .mceMenu pre.mceText {
-       font-family: Monospace;
+.mce-window .mce-btn:hover {
+       background: #fafafa;
+       border-color: #999;
+       color: #222;
 }
 
-.wp_themeSkin .mceMenu .mceIcon {
-       position: absolute;
-       top: 0;
-       right: 0;
-       width: 22px;
+.mce-window .mce-btn:focus {
+       -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+       box-shadow: 1px 1px 1px rgba(0,0,0,.2);
 }
 
-.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,
-.wp_themeSkin .mceMenu .mceMenuItemActive {
-       background-color: #f5f5f5;
+.mce-window .mce-btn:active {
+       background: #eee;
+       border-color: #999;
+       color: #333;
+       -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 );
 }
 
-.wp_themeSkin td.mceMenuItemSeparator {
-       height: 1px;
-       background-color: #aaa;
+.mce-window .mce-btn.mce-disabled {
+       color: #aaa;
+       border-color: #ddd;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       text-shadow: 0 1px 0 #fff;
+       cursor: default;
 }
 
-.wp_themeSkin .mceMenuItemTitle a {
-       border-top: 0;
-       border-left: 0;
-       border-right: 0;
-       border-bottom: 1px solid #aaa;
-       text-decoration: none !important;
-       background-color: #ccc;
+.mce-window .mce-btn.mce-primary {
+       background: #2ea2cc;
+       border-color: #0074a2;
+       -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
+       box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
+       color: #fff;
+       text-decoration: none;
 }
 
-.wp_themeSkin .mceMenuItemTitle span.mceText {
-       font-weight: bold;
-       padding-right: 4px;
-       color: #000;
+.mce-window .mce-btn.mce-primary:hover {
+       background: #1e8cbe;
+       border-color: #0074a2;
+       -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
+       box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
+       color: #fff;
 }
 
-.wp_themeSkin .mceMenuItemSelected .mceIcon {
-       background: url("../js/tinymce/themes/advanced/skins/default/img/menu_check.gif");
-       color: #888;
+.mce-window .mce-btn.mce-primary:focus {
+       border-color: #0e3950;
+       -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6), 1px 1px 2px rgba(0,0,0,0.4);
+       box-shadow: inset 0 1px 0 rgba(120,200,230,0.6), 1px 1px 2px rgba(0,0,0,0.4);
 }
 
-.wp_themeSkin .mceNoIcons .mceMenuItemSelected a {
-       background: url("../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif") no-repeat -6px center;
+.mce-window .mce-btn.mce-primary:active {
+       background: #1b7aa6;
+       border-color: #005684;
+       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);
 }
 
-.wp_themeSkin .mceMenu span.mceMenuLine {
-       display: none;
+.mce-window .mce-btn.mce-primary.mce-disabled {
+       color: #94cde7;
+       background: #298cba;
+       border-color: #1b607f;
+       text-shadow: 0 -1px 0 rgba(0,0,0,0.1);
 }
 
-.wp_themeSkin .mceMenuItemSub a {
-       background: url("../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif") no-repeat top left;
+.mce-menubtn.mce-fixed-width button span {
+       max-width: 80px;
+       padding-left: 16px;
 }
 
-/* Progress,Resize */
-.wp_themeSkin .mceBlocker {
-       position: absolute;
-       right: 0;
-       top: 0;
-       z-index: 1000;
-       opacity: 0.5;
-       filter: alpha(opacity=50);
-       background: #FFF;
+/* Charmap modal */
+.mce-charmap {
+       margin: 3px;
 }
 
-.wp_themeSkin .mceProgress {
-       position: absolute;
-       right: 0;
-       top: 0;
-       z-index: 1001;
-       background: url("../js/tinymce/themes/advanced/skins/default/img/progress.gif") no-repeat;
-       width: 32px;
-       height: 32px;
-       margin: -16px -16px 0 0;
+.mce-charmap td {
+       padding: 0;
+       border-color: #dfdfdf;
+       cursor: pointer;
 }
 
-.wp_themeSkin .mcePlaceHolder {
-       border: 1px dotted gray;
+.mce-charmap td:hover {
+       background: #f3f3f3;
 }
 
-/* Rtl */
-.mceRtl .mceListBox .mceText {
-       text-align: left;
-       padding: 0 0 0 4px;
+.mce-charmap td div {
+       width: 18px;
+       height: 22px;
+       line-height: 22px;
 }
 
-.mceRtl .mceMenuItem .mceText {
-       text-align: left;
+/* TinyMCE tooltips */
+.mce-tooltip {
+       margin-top: 2px;
 }
 
-/* Formats */
-.wp_themeSkin .mce_p span.mceText {}
-.wp_themeSkin .mce_address span.mceText {
-       font-style: italic;
+.mce-tooltip-inner {
+       -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;
+       font-size: 12px;
 }
 
-.wp_themeSkin .mce_pre span.mceText {
-       font-family: monospace;
+/* TinyMCE icons */
+.mce-ico {
+       font-family: 'tinymce', Arial;
 }
 
-.wp_themeSkin .mce_h1 span.mceText {
-       font-weight: bolder;
-       font-size: 18px;
+.mce-btn-small .mce-ico {
+    font-family: 'tinymce-small', Arial;
 }
 
-.wp_themeSkin .mce_h2 span.mceText {
-       font-weight: bolder;
-       font-size: 14px;
+.mce-toolbar .mce-ico {
+       color: #777;
+       line-height: 20px;
+       width: 20px;
+       height: 20px;
+       text-align: center;
+       text-shadow: none;
+       margin: 0;
+       padding: 0;
 }
 
-.wp_themeSkin .mce_h3 span.mceText {
-       font-weight: bolder;
-       font-size: 12px;
+.qt-fullscreen {
+       color: #777;
+       line-height: 20px;
+       width: 28px;
+       height: 26px;
+       text-align: center;
+       text-shadow: none;
 }
 
-.wp_themeSkin .mce_h4 span.mceText {
-       font-weight: bolder;
-       font-size: 11px;
+.mce-toolbar .mce-btn .mce-open {
+       line-height: 20px;
 }
 
-.wp_themeSkin .mce_h5 span.mceText {
-       font-weight: bolder;
-       font-size: 11px;
+.mce-toolbar .mce-btn:hover .mce-open,
+.mce-toolbar .mce-btn:focus .mce-open,
+.mce-toolbar .mce-btn.mce-active .mce-open {
+       border-right-color: #999;
+}
+
+i.mce-i-bold,
+i.mce-i-italic,
+i.mce-i-bullist,
+i.mce-i-numlist,
+i.mce-i-blockquote,
+i.mce-i-alignleft,
+i.mce-i-aligncenter,
+i.mce-i-alignright,
+i.mce-i-link,
+i.mce-i-unlink,
+i.mce-i-wp_more,
+i.mce-i-strikethrough,
+i.mce-i-spellchecker,
+i.mce-i-fullscreen,
+i.mce-i-wp_fullscreen,
+i.mce-i-wp_adv,
+i.mce-i-underline,
+i.mce-i-alignjustify,
+i.mce-i-forecolor,
+i.mce-i-pastetext,
+i.mce-i-pasteword,
+i.mce-i-removeformat,
+i.mce-i-charmap,
+i.mce-i-outdent,
+i.mce-i-indent,
+i.mce-i-undo,
+i.mce-i-redo,
+i.mce-i-help,
+i.mce-i-wp_help,
+i.mce-i-wp-media-library,
+i.mce-i-ltr,
+i.mce-i-wp_page,
+i.mce-i-hr,
+.mce-close {
+       font: normal 20px/1 'dashicons';
+       padding: 0;
+       vertical-align: top;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       margin-right: -2px;
+       padding-left: 2px;
 }
 
-.wp_themeSkin .mce_h6 span.mceText {
-       font-weight: bolder;
-       font-size: 10px;
+.qt-fullscreen {
+       font: normal 20px/1 'dashicons';
+       vertical-align: top;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
 }
 
-span.mce_bold:before {
+i.mce-i-bold:before {
        content: '\f200';
 }
 
-span.mce_italic:before {
+i.mce-i-italic:before {
        content: '\f201';
 }
 
-span.mce_bullist:before {
+i.mce-i-bullist:before {
        content: '\f203';
 }
 
-span.mce_numlist:before {
+i.mce-i-numlist:before {
        content: '\f204';
 }
 
-span.mce_blockquote:before {
+i.mce-i-blockquote:before {
        content: '\f205';
 }
 
-span.mce_justifyleft:before {
+i.mce-i-alignleft:before {
        content: '\f206';
 }
 
-span.mce_justifycenter:before {
+i.mce-i-aligncenter:before {
        content: '\f207';
 }
 
-span.mce_justifyright:before {
+i.mce-i-alignright:before {
        content: '\f208';
 }
 
-span.mce_link:before {
+i.mce-i-link:before {
        content: '\f103';
 }
 
-span.mce_unlink:before {
+i.mce-i-unlink:before {
        content: '\f225';
 }
 
-span.mce_wp_more:before {
+i.mce-i-wp_more:before {
        content: '\f209';
 }
 
-span.mce_strikethrough:before {
+i.mce-i-strikethrough:before {
        content: '\f224';
 }
 
-span.mce_spellchecker {
-       font-size: 20px;
-       background: none !important;
-       margin-top: 2px;
-}
-
-span.mce_spellchecker:before {
+i.mce-i-spellchecker:before {
        content: '\f210';
 }
 
-span.mce_fullscreen:before,
-span.mce_wp_fullscreen:before {
+i.mce-i-fullscreen:before,
+i.mce-i-wp_fullscreen:before,
+.qt-fullscreen:before {
        content: '\f211';
 }
 
-span.mce_wp_adv:before {
+i.mce-i-wp_adv:before {
        content: '\f212';
 }
-span.mce_underline:before {
+
+i.mce-i-underline:before {
        content: '\f213';
 }
 
-span.mce_justifyfull:before {
+i.mce-i-alignjustify:before {
        content: '\f214';
 }
 
-span.mce_forecolor {
-       background: none !important;
-}
-
-span.mce_forecolor:before {
+i.mce-i-forecolor:before {
        content: '\f215';
 }
 
-span.mce_pastetext:before {
+i.mce-i-pastetext:before {
        content: '\f217';
 }
 
-span.mce_pasteword:before {
-       content: '\f216';
-}
-
-span.mce_removeformat:before {
+i.mce-i-removeformat:before {
        content: '\f218';
 }
 
-span.mce_charmap:before {
+i.mce-i-charmap:before {
        content: '\f220';
 }
 
-span.mce_outdent:before {
+i.mce-i-outdent:before {
        content: '\f221';
 }
 
-span.mce_indent:before {
+i.mce-i-indent:before {
        content: '\f222';
 }
 
-span.mce_undo:before {
+i.mce-i-undo:before {
        content: '\f171';
 }
 
-span.mce_redo:before {
+i.mce-i-redo:before {
        content: '\f172';
 }
 
-span.mce_help:before,
-span.mce_wp_help:before {
+i.mce-i-help:before,
+i.mce-i-wp_help:before {
        content: '\f223';
 }
 
-span.mce_image:before {
+i.mce-i-wp-media-library:before {
        content: '\f104';
 }
 
-span.mce_ltr:before {
+i.mce-i-ltr:before {
        content: '\f320';
 }
 
-/* Default icons */
-.wp_themeSkin span.mce_cleanup {background-position:-380px -20px}
-.wp_themeSkin span.mce_anchor {background-position:-200px 0}
-.wp_themeSkin span.mce_sub {background-position:-600px 0}
-.wp_themeSkin span.mce_sup {background-position:-620px 0}
-.wp_themeSkin span.mce_newdocument {background-position:-520px 0}
-.wp_themeSkin span.mce_image {background-position:-380px 0}
-.wp_themeSkin span.mce_code {background-position:-260px 0}
-.wp_themeSkin span.mce_hr {background-position:-360px 0}
-.wp_themeSkin span.mce_visualaid {background-position:-660px 0}
-.wp_themeSkin span.mce_paste {background-position:-560px 0}
-.wp_themeSkin span.mce_copy {background-position:-700px 0}
-.wp_themeSkin span.mce_cut {background-position:-680px 0}
-.wp_themeSkin .mce_backcolor span.mceAction {background-position:-760px 0}
-.wp_themeSkin .mce_backcolorpicker {background-position:-760px 0}
-
-/* Plugins */
-.wp_themeSkin span.mce_advhr {background-position:-0px -20px}
-.wp_themeSkin span.mce_ltr {background-position:-20px -20px}
-.wp_themeSkin span.mce_rtl {background-position:-40px -20px}
-.wp_themeSkin span.mce_emotions {background-position:-60px -20px}
-.wp_themeSkin span.mce_fullpage {background-position:-80px -20px}
-.wp_themeSkin span.mce_iespell {background-position:-120px -20px}
-.wp_themeSkin span.mce_insertdate {background-position:-140px -20px}
-.wp_themeSkin span.mce_inserttime {background-position:-160px -20px}
-.wp_themeSkin span.mce_absolute {background-position:-180px -20px}
-.wp_themeSkin span.mce_backward {background-position:-200px -20px}
-.wp_themeSkin span.mce_forward {background-position:-220px -20px}
-.wp_themeSkin span.mce_insert_layer {background-position:-240px -20px}
-.wp_themeSkin span.mce_insertlayer {background-position:-260px -20px}
-.wp_themeSkin span.mce_movebackward {background-position:-280px -20px}
-.wp_themeSkin span.mce_moveforward {background-position:-300px -20px}
-.wp_themeSkin span.mce_media {background-position:-320px -20px}
-.wp_themeSkin span.mce_nonbreaking {background-position:-340px -20px}
-.wp_themeSkin span.mce_selectall {background-position:-400px -20px}
-.wp_themeSkin span.mce_preview {background-position:-420px -20px}
-.wp_themeSkin span.mce_print {background-position:-440px -20px}
-.wp_themeSkin span.mce_cancel {background-position:-460px -20px}
-.wp_themeSkin span.mce_save {background-position:-480px -20px}
-.wp_themeSkin span.mce_replace {background-position:-500px -20px}
-.wp_themeSkin span.mce_search {background-position:-520px -20px}
-.wp_themeSkin span.mce_styleprops {background-position:-560px -20px}
-.wp_themeSkin span.mce_table {background-position:-580px -20px}
-.wp_themeSkin span.mce_cell_props {background-position:-600px -20px}
-.wp_themeSkin span.mce_delete_table {background-position:-620px -20px}
-.wp_themeSkin span.mce_delete_col {background-position:-640px -20px}
-.wp_themeSkin span.mce_delete_row {background-position:-660px -20px}
-.wp_themeSkin span.mce_col_after {background-position:-680px -20px}
-.wp_themeSkin span.mce_col_before {background-position:-700px -20px}
-.wp_themeSkin span.mce_row_after {background-position:-720px -20px}
-.wp_themeSkin span.mce_row_before {background-position:-740px -20px}
-.wp_themeSkin span.mce_merge_cells {background-position:-760px -20px}
-.wp_themeSkin span.mce_table_props {background-position:-980px -20px}
-.wp_themeSkin span.mce_row_props {background-position:-780px -20px}
-.wp_themeSkin span.mce_split_cells {background-position:-800px -20px}
-.wp_themeSkin span.mce_template {background-position:-820px -20px}
-.wp_themeSkin span.mce_visualchars {background-position:-840px -20px}
-.wp_themeSkin span.mce_abbr {background-position:-860px -20px}
-.wp_themeSkin span.mce_acronym {background-position:-880px -20px}
-.wp_themeSkin span.mce_attribs {background-position:-900px -20px}
-.wp_themeSkin span.mce_cite {background-position:-920px -20px}
-.wp_themeSkin span.mce_del {background-position:-940px -20px}
-.wp_themeSkin span.mce_ins {background-position:-960px -20px}
-.wp_themeSkin span.mce_pagebreak {background-position:0 -40px}
-.wp_themeSkin span.mce_restoredraft {background-position:-20px -40px}
-.wp_themeSkin span.mce_visualblocks {background-position: -40px -40px}
-
-/* border */
-.wp_themeSkin .mceExternalToolbar,
-.wp_themeSkin .mceButton,
-.wp_themeSkin a.mceButtonEnabled:hover,
-.wp_themeSkin a.mceButtonActive,
-.wp_themeSkin a.mceButtonSelected,
-.wp_themeSkin .mceListBox .mceText,
-.wp_themeSkin .mceListBox .mceOpen,
-.wp_themeSkin select.mceListBox,
-.wp_themeSkin .mceSplitButton a.mceAction,
-.wp_themeSkin .mceSplitButton a.mceOpen,
-.wp_themeSkin .mceSplitButton a.mceOpen:hover,
-.wp_themeSkin .mceSplitButtonSelected a.mceOpen,
-.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,
-.wp_themeSkin .mceSplitButton a.mceAction:hover,
-.wp_themeSkin div.mceColorSplitMenu table,
-.wp_themeSkin .mceColorSplitMenu a,
-.wp_themeSkin .mceColorSplitMenu a.mceMoreColors,
-.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover,
-.wp_themeSkin a.mceMoreColors:hover,
-.wp_themeSkin .mceMenu {
-       border-style: solid;
-       border-width: 1px;
-}
-
-.wp_themeSkin .mceListBox .mceText {
-       border-left: 0 none;
-}
-
-.wp_themeSkin iframe {
-       background: transparent;
-}
-
-.wp_themeSkin .mceButton {
-       border-color: transparent;
-}
-
-.wp_themeSkin .mceListBox .mceText,
-.wp_themeSkin .mceListBox .mceOpen {
-       border-color: transparent;
-}
-
-.wp_themeSkin a.mceButtonEnabled:hover,
-.wp_themeSkin table.mceSplitButton:hover {
-       border-color: #bbb;
-       background: #eee;
-       background-image: -webkit-gradient(linear, right bottom, right top, from(#e5e5e5), to(#fff));
-       background-image: -webkit-linear-gradient(bottom, #e5e5e5, #fff);
-       background-image:    -moz-linear-gradient(bottom, #e5e5e5, #fff);
-       background-image:      -o-linear-gradient(bottom, #e5e5e5, #fff);
-       background-image: linear-gradient(to top, #e5e5e5, #fff);
-}
-
-.wp_themeSkin a.mceButton:active,
-.wp_themeSkin a.mceButtonEnabled:active,
-.wp_themeSkin a.mceButtonSelected:active,
-.wp_themeSkin a.mceButtonActive,
-.wp_themeSkin a.mceButtonActive:active,
-.wp_themeSkin a.mceButtonActive:hover,
-.wp_themeSkin .mceSplitButtonSelected table,
-.wp_themeSkin .mceSplitButtonSelected table:hover {
-       outline: none;
-       border-color: #999 #999 #ccc #ccc;
-       background: #eee;
-       background-image: -webkit-gradient(linear, right bottom, right top, from(#f6f6f6), to(#e3e3e3));
-       background-image: -webkit-linear-gradient(bottom, #f6f6f6, #e3e3e3);
-       background-image:    -moz-linear-gradient(bottom, #f6f6f6, #e3e3e3);
-       background-image:      -o-linear-gradient(bottom, #f6f6f6, #e3e3e3);
-       background-image: linear-gradient(to top, #f6f6f6, #e3e3e3);
-}
-
-.wp_themeSkin .mceSplitButtonSelected table a.mceOpen,
-.wp_themeSkin .mceSplitButtonSelected table a.mceAction {
-       border-color: #999 #999 #ccc #ccc;
-}
-
-.wp_themeSkin .mceButtonDisabled {
-       border-color: transparent;
-}
-
-.wp_themeSkin .mceListBox .mceOpen {
-       border-right: 0;
-}
-
-.wp_themeSkin .mceListBoxEnabled:hover,
-.wp_themeSkin .mceListBoxEnabled:active,
-.wp_themeSkin .mceListBoxHover,
-.wp_themeSkin .mceListBoxHover:active,
-.wp_themeSkin .mceListBoxSelected {
-       -webkit-box-shadow: inset 0 1px 1px -1px rgba(0, 0, 0, .3);
-       box-shadow:         inset 0 1px 1px -1px rgba(0, 0, 0, .3);
-       border-color: #bbb;
-}
-
-/* SplitButton */
-.wp_themeSkin .mceSplitButton .mceLast span.mceOpen .mceIconOnly {
-       display: block;
-}
-
-.wp_themeSkin .mceSplitButton a.mceAction,
-.wp_themeSkin .mceSplitButton a.mceOpen {
-       border-color: transparent;
-}
-
-.wp_themeSkin .mceSplitButton:hover a {
-       border-color: #bbb;
-}
-
-.wp_themeSkin .mceSplitButtonEnabled a.mceOpen,
-.wp_themeSkin .mceSplitButtonSelected a.mceOpen,
-.wp_themeSkin .mceSplitButtonActive a.mceOpen,
-.wp_themeSkin .mceSplitButtonEnabled:hover a.mceOpen {
-       background-image: url("../images/down_arrow.gif");
-       background-position: 1px 2px;
-       background-repeat: no-repeat;
-       border-right: 0;
-}
-
-.wp_themeSkin .mceSplitButtonActive td {
-       -webkit-border-radius: 3px;
-       border-radius: 3px;
-}
-
-.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover {
-       border-color: #0A246A;
-       background-color: #B6BDD2;
+i.mce-i-wp_page:before {
+       content: '\f105';
 }
 
-.wp_themeSkin a.mceMoreColors:hover {
-       border-color: #0A246A;
+i.mce-i-hr:before {
+       content: '\f460';
 }
 
-.wp_themeSkin .mceMenuItemDisabled .mceText {
-       color: #888;
+.mce-close:before {
+       content: '\f158';
 }
 
-#mceModalBlocker {
-       background: #000;
-       opacity: 0.7;
-       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
-       filter: alpha(opacity=70);
+.mce-i-wp_code:before {
+       content: '\e017';
 }
 
-/* WP specific */
+/* Editors */
 .wp-editor-wrap {
        position: relative;
 }
@@ -1164,8 +754,8 @@ span.mce_ltr:before {
        outline: none;
        display: block;
        resize: vertical;
-       -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
        box-sizing: border-box;
 }
 
@@ -1180,12 +770,6 @@ span.mce_ltr:before {
        box-shadow: none;
 }
 
-.quicktags-toolbar,
-.wp_themeSkin tr.mceFirst td.mceToolbar {
-       border-bottom: 1px solid #dedede;
-       background: #f5f5f5;
-}
-
 .wp-editor-tabs {
        float: left;
 }
@@ -1285,43 +869,20 @@ span.mce_ltr:before {
        content: '\f104';
 }
 
+/* Quicktags */
 .quicktags-toolbar {
-       border-bottom-style: solid;
-       border-bottom-width: 1px;
-       -webkit-border-top-left-radius: 3px;
-       -webkit-border-top-right-radius: 3px;
-       border-top-left-radius: 3px;
-       border-top-right-radius: 3px;
-       padding: 2px 8px 0;
-       min-height: 29px;
+       padding: 3px;
+       position: relative;
+       border-bottom: 1px solid #dedede;
+       background: #f5f5f5;
 }
 
-.quicktags-toolbar > div {
-       padding: 2px 4px 0;
+.has-dfw .quicktags-toolbar {
+       padding-left: 35px;
 }
 
-.quicktags-toolbar input {
-       margin: 2px 1px 4px;
-       line-height: 18px;
-       display: inline-block;
-       min-width: 26px;
-       padding: 2px 4px;
-       font: 12px/18px "Open Sans", sans-serif;
-       color: #464646;
-       border: 1px solid #c3c3c3;
-       -webkit-border-radius: 3px;
-       border-radius: 3px;
-       background: #eee;
-       background-image: -webkit-gradient(linear, right bottom, right top, from(#e3e3e3), to(#fff));
-       background-image: -webkit-linear-gradient(bottom, #e3e3e3, #fff);
-       background-image:    -moz-linear-gradient(bottom, #e3e3e3, #fff);
-       background-image:      -o-linear-gradient(bottom, #e3e3e3, #fff);
-       background-image: linear-gradient(to top, #e3e3e3, #fff);
-}
-
-.quicktags-toolbar input:hover {
-       border-color: #aaa;
-       background: #ddd;
+.wp-core-ui .quicktags-toolbar input.button.button-small {
+       margin: 2px;
 }
 
 .quicktags-toolbar input[value="link"] {
@@ -1340,12 +901,55 @@ span.mce_ltr:before {
        font-weight: bold;
 }
 
+.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen,
+.qt-fullscreen {
+       position: absolute;
+       top: 0;
+       left: 0;
+       margin-top: 5px;
+       margin-left: 5px;
+}
+
+@media screen and ( max-width: 782px ) {
+       .mce-toolbar .mce-btn button,
+       .qt-fullscreen {
+               padding: 7px 8px;
+       }
+
+       .qt-fullscreen {
+               width: 38px;
+               height: 34px;
+       }
+
+       .mce-toolbar .mce-colorbutton .mce-preview {
+               margin-right: -21px;
+       }
+
+       .mce-window .mce-btn {
+               padding: 2px 0;
+       }
+
+       div.mce-toolbar-grp,
+       .quicktags-toolbar {
+               padding-left: 46px;
+       }
+}
+
+@media screen and ( min-width: 782px ) {
+       .wp-core-ui .quicktags-toolbar input.button.button-small {
+               /* .button-small is normaly 11px, but a bit too small for these buttons. */
+               font-size: 12px;
+               height: 26px;
+               line-height: 24px;
+       }
+}
+
 #wp_editbtns,
 #wp_gallerybtns {
        padding: 2px;
        position: absolute;
        display: none;
-       z-index: 155000;
+       z-index: 100020;
 }
 
 #wp_editimgbtn,
@@ -1374,10 +978,100 @@ span.mce_ltr:before {
  wp-link
 ------------------------------------------------------------------------------*/
 
+#wp-link-wrap {
+       display: none;
+       background-color: #fff;
+       -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       width: 500px;
+       height: 250px;
+       overflow: hidden;
+       margin-right: -250px;
+       margin-top: -125px;
+       position: fixed;
+       top: 50%;
+       right: 50%;
+       z-index: 100105;
+       -webkit-transition: height 0.2s, margin-top 0.2s;
+       transition: height 0.2s, margin-top 0.2s;
+}
+
+#wp-link-backdrop {
+       display: none;
+       position: fixed;
+       top: 0;
+       right: 0;
+       left: 0;
+       bottom: 0;
+       min-height: 360px;
+       background: #000;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
+       z-index: 100100;
+}
+
 #wp-link {
-       background-color: #F5F5F5;
-       line-height: 1.4em;
-       font-size: 12px;
+       position: relative;
+       height: 100%;
+}
+
+#wp-link-wrap.search-panel-visible {
+       height: 500px;
+       margin-top: -250px;
+}
+
+#link-modal-title {
+       background: #fcfcfc;
+       border-bottom: 1px solid #dfdfdf;
+       height: 36px;
+       font-size: 18px;
+       font-weight: 600;
+       line-height: 36px;
+       padding: 0 16px 0 36px;
+       top: 0;
+       left: 0;
+       right: 0;
+}
+
+#wp-link-close {
+       color: #666;
+       cursor: pointer;
+       padding: 0;
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 36px;
+       height: 36px;
+       text-align: center;
+}
+
+#wp-link-close:before {
+       font: normal 20px/36px 'dashicons';
+       vertical-align: top;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       width: 36px;
+       height: 36px;
+       content: '\f158';
+}
+
+#wp-link-close:hover,
+#wp-link-close:focus {
+       color: #2ea2cc;
+}
+
+#link-selector {
+       padding: 0 16px 50px;
+}
+
+#wp-link-wrap.search-panel-visible #link-selector {
+       padding: 0 16px;
+       position: absolute;
+       top: 36px;
+       right: 0;
+       left: 0;
+       bottom: 44px;
 }
 
 #wp-link ol,
@@ -1387,50 +1081,40 @@ span.mce_ltr:before {
        padding: 0;
 }
 
-#wp-link input[type="text"] {
-       -webkit-box-sizing: border-box;
+#wp-link-search-toggle::after {
+       font: normal 20px/1 'dashicons';
+       vertical-align: top;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       content: '\f140';
 }
 
-#wp-link input[type="text"],
-#wp-link textarea {
-       border-width: 1px;
-       border-style: solid;
-       -webkit-border-radius: 4px;
-       border-radius: 4px;
-       font-size: 12px;
-       margin: 1px;
-       padding: 3px;
+.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: 10px 0 14px;
-       border-bottom: 1px solid #dfdfdf;
-       margin: 0 6px 14px;
+       padding: 8px 0 12px;
 }
 
 #wp-link p.howto {
-       margin: 3px;
+       margin: 3px 0;
 }
 
-#wp-link #internal-toggle {
-       display: inline-block;
+#wp-link-search-toggle {
        cursor: pointer;
-       padding-right: 18px;
-}
-
-#wp-link .toggle-arrow {
-       background: transparent url("../images/toggle-arrow.png") top right no-repeat;
-       height: 23px;
-       line-height: 23px;
-}
-
-#wp-link .toggle-arrow-active {
-       background-position: center right;
 }
 
 #wp-link label input[type="text"] {
-       width: 360px;
        margin-top: 5px;
+       width: 70%;
 }
 
 #wp-link #link-options label span,
@@ -1439,15 +1123,17 @@ span.mce_ltr:before {
        width: 80px;
        text-align: left;
        padding-left: 5px;
+       max-width: 24%;
 }
 
 #wp-link .link-search-field {
        float: right;
-       width: 220px;
+       width: 250px;
+       max-width: 70%;
 }
 
 #wp-link .link-search-wrapper {
-       margin: 5px 6px 9px;
+       margin: 5px 0 9px;
        display: block;
        overflow: hidden;
 }
@@ -1463,19 +1149,26 @@ span.mce_ltr:before {
 }
 
 #wp-link .link-target {
-       width: auto;
        padding: 3px 0 0;
-       margin: 0 87px 0 0;
-       font-size: 11px;
+       white-space: nowrap;
+       overflow: hidden;
+       text-overflow: ellipsis;
+}
+
+#wp-link .link-target label {
+       max-width: 70%;
 }
 
 #wp-link .query-results {
        border: 1px #dfdfdf solid;
-       margin: 0 5px 5px;
+       margin: 0;
        background: #fff;
-       height: 185px;
        overflow: auto;
-       position: relative;
+       position: absolute;
+       right: 16px;
+       left: 16px;
+       bottom: 16px;
+       top: 205px;
 }
 
 #wp-link li,
@@ -1513,372 +1206,147 @@ span.mce_ltr:before {
        font-weight: bold;
 }
 
-#wp-link .item-title {
-       display: inline-block;
-       width: 80%;
-}
-
-#wp-link .item-info {
-       text-transform: uppercase;
-       color: #666;
-       font-size: 11px;
-       position: absolute;
-       left: 5px;
-       top: 4px;
-       bottom: 0;
-}
-
-#wp-link #search-results {
-       display: none;
-}
-
-#wp-link #search-panel {
-       float: right;
-       width: 100%;
-}
-
-#wp-link .river-waiting {
-       display: none;
-       padding: 10px 0;
-}
-
-#wp-link .river-waiting .spinner {
-       margin: 0 auto;
-       display: block;
-}
-
-#wp-link .submitbox {
-       padding: 5px 10px;
-       font-size: 11px;
-       overflow: auto;
-       height: 29px;
+#wp-link li:last-child {
+       border: none;
 }
 
-#wp-link-cancel {
-       line-height: 25px;
-       float: right;
-}
-
-#wp-link-update {
-       line-height: 23px;
-       float: left;
-}
-
-/*!
- * jQuery UI CSS Framework 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Theming/API
- */
-
-/* Layout helpers
-----------------------------------*/
-.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:before,
-.ui-helper-clearfix:after {
-       content: "";
-       display: table;
-       border-collapse: collapse;
-}
-.ui-helper-clearfix:after {
-       clear: both;
-}
-.ui-helper-clearfix {
-       min-height: 0; /* support: IE7 */
-}
-.ui-helper-zfix {
-       width: 100%;
-       height: 100%;
-       top: 0;
-       right: 0;
-       position: absolute;
-       opacity: 0;
-       filter:Alpha(Opacity=0);
-}
-
-.ui-front {
-       z-index: 100;
-}
-
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-disabled {
-       cursor: default !important;
-}
-
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon {
-       display: block;
-       text-indent: -99999px;
-       overflow: hidden;
-       background-repeat: no-repeat;
-}
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay {
-       position: fixed;
-       top: 0;
-       right: 0;
-       width: 100%;
-       height: 100%;
-}
-
-
-/*!
- * jQuery UI Resizable 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Resizable#theming
- */
-.ui-resizable {
-       position: relative;
-}
-.ui-resizable-handle {
-       position: absolute;
-       font-size: 0.1px;
-       display: block;
-}
-.ui-resizable-disabled .ui-resizable-handle,
-.ui-resizable-autohide .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: w-resize;
-       width: 7px;
-       left: -5px;
-       top: 0;
-       height: 100%;
-}
-.ui-resizable-w {
-       cursor: e-resize;
-       width: 7px;
-       right: -5px;
-       top: 0;
-       height: 100%;
-}
-.ui-resizable-se {
-       cursor: sw-resize;
-       width: 12px;
-       height: 12px;
-       left: 1px;
-       bottom: 1px;
-}
-.ui-resizable-sw {
-       cursor: se-resize;
-       width: 9px;
-       height: 9px;
-       right: -5px;
-       bottom: -5px;
-}
-.ui-resizable-nw {
-       cursor: ne-resize;
-       width: 9px;
-       height: 9px;
-       right: -5px;
-       top: -5px;
-}
-.ui-resizable-ne {
-       cursor: nw-resize;
-       width: 9px;
-       height: 9px;
-       left: -5px;
-       top: -5px;
-}
-
-/*!
- * jQuery UI Dialog 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Dialog#theming
- */
-.ui-dialog {
-       position: absolute;
-       top: 0;
-       /* @noflip */
-       left: 0;
-       padding: .2em;
-       outline: 0;
-}
-.ui-dialog .ui-dialog-titlebar {
-       padding: .4em 1em;
-       position: relative;
-}
-.ui-dialog .ui-dialog-title {
-       float: right;
-       margin: .1em 0;
-       white-space: nowrap;
-       width: 90%;
-       overflow: hidden;
-       text-overflow: ellipsis;
-}
-.ui-dialog .ui-dialog-titlebar-close {
-       position: absolute;
-       left: .3em;
-       top: 50%;
-       width: 21px;
-       margin: -10px 0 0 0;
-       padding: 1px;
-       height: 20px;
-}
-.ui-dialog .ui-dialog-content {
-       position: relative;
-       border: 0;
-       padding: .5em 1em;
-       background: none;
-       overflow: auto;
-}
-.ui-dialog .ui-dialog-buttonpane {
-       text-align: right;
-       border-width: 1px 0 0 0;
-       background-image: none;
-       margin-top: .5em;
-       padding: .3em .4em .5em 1em;
-}
-.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
-       float: left;
+#wp-link .item-title {
+       display: inline-block;
+       width: 80%;
+       width: -webkit-calc(100% - 68px);
+       width: calc(100% - 68px);
 }
-.ui-dialog .ui-dialog-buttonpane button {
-       margin: .5em 0 .5em .4em;
-       cursor: pointer;
+
+#wp-link .item-info {
+       text-transform: uppercase;
+       color: #666;
+       font-size: 11px;
+       position: absolute;
+       left: 5px;
+       top: 5px;
 }
-.ui-dialog .ui-resizable-se {
-       width: 12px;
-       height: 12px;
-       left: -5px;
-       bottom: -5px;
-       background-position: 16px 16px;
+
+#wp-link #search-results,
+#wp-link #search-panel {
+       display: none;
 }
-.ui-draggable .ui-dialog-titlebar {
-       cursor: move;
+
+#wp-link-wrap.search-panel-visible #search-panel {
+       display: block;
 }
 
-/* WP jQuery Dialog Theme */
-.wp-dialog {
-       padding: 0;
-       z-index: 300002;
-       border: 0;
-       -webkit-box-shadow: 0 5px 15px rgba(0,0,0,0.7);
-       box-shadow:         0 5px 15px rgba(0,0,0,0.7);
-       background-color: #f5f5f5;
+#wp-link .river-waiting {
+       display: none;
+       padding: 10px 0;
 }
 
-.wp-dialog .ui-dialog-title {
+#wp-link .river-waiting .spinner {
+       margin: 0 auto;
        display: block;
-       text-align: center;
-       padding: 0;
+       float: none;
 }
 
-.wp-dialog .ui-dialog-titlebar {
-       padding: 0 1em;
-       background-color: #444;
-       font-size: 13px;
-       line-height: 24px;
-       color: #fff;
+#wp-link .submitbox {
+       padding: 8px 16px;
+       background: #fcfcfc;
+       border-top: 1px solid #dfdfdf;
+       position: absolute;
+       bottom: 0;
+       right: 0;
+       left: 0;
 }
 
-.wp-dialog .ui-dialog-content {
-       padding: 0;
+#wp-link-cancel {
+       line-height: 25px;
 }
 
-.wp-dialog .ui-dialog-titlebar-close {
-       cursor: pointer;
-       -webkit-appearance: none;
-       border: 0;
-       width: 30px;
-       height: 20px;
-       top: 13px;
-       left: 6px;
-       background: none;
+#wp-link-update {
+       line-height: 23px;
+       float: left;
 }
 
-.wp-dialog .ui-dialog-titlebar-close:before {
-       content: '\f158';
-       font: normal 20px/1 'dashicons';
-       speak: none;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-       color: #999;
-       padding-right: 12px;
+#wp-link-submit {
+       float: left;
+       margin-bottom: 0;
 }
 
-.wp-dialog .ui-dialog-titlebar-close:hover:before {
-       color: #2ea2cc;
+@media screen and ( max-width: 782px ) {
+       #wp-link-wrap {
+               height: 280px;
+               margin-top: -140px;
+       }
+
+       #wp-link-wrap.search-panel-visible .query-results {
+               top: 235px;
+       }
+
+       #link-selector {
+               padding: 0 16px 60px;
+       }
+
+       #wp-link-wrap.search-panel-visible #link-selector {
+               bottom: 52px;
+       }
+
+       #wp-link-cancel {
+               line-height: 32px;
+       }
 }
 
-.wp-dialog .ui-dialog-titlebar-close .ui-button-text {
-       display: none;
+@media screen and ( max-width: 520px ) {
+       #wp-link-wrap {
+               width: auto;
+               margin-right: 0;
+               right: 10px;
+               left: 10px;
+               max-width: 500px;
+       }
 }
 
-.wp-dialog .ui-dialog-titlebar-close:hover,
-.wp-dialog .ui-dialog-titlebar-close:focus {
-       background-position: -87px -32px;
+@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;
+       }
 }
 
-.ui-widget-overlay {
-       z-index: 300001;
-       background-color: #000;
-       opacity: 0.6;
-       filter: alpha(opacity=60);
+@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;
+       }
 }
 
-/* TinyMCE modal */
+/* Old TinyMCE 3.x modal */
+/*
 .clearlooks2 .mceTop {
        border-bottom: 1px solid #ccc;
 }
@@ -1944,25 +1412,54 @@ span.mce_ltr:before {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        color: #999;
-       padding-right: 12px;
+       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: #222;
+}
+
+.clearlooks2 .mceClose:before {
+       color: #999;
 }
 
+.clearlooks2 .mceClose:hover:before {
+       color: #2ea2cc;
+}
+*/
 /* Distraction Free Writing mode
  * =Overlay Styles
 -------------------------------------------------------------- */
 .fullscreen-overlay {
-       z-index: 149999;
+       z-index: 100005;
        display: none;
        position: fixed;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
+       -webkit-filter: inherit;
        filter: inherit;
 }
 
-.fullscreen-active .fullscreen-overlay,
-.fullscreen-active #wp-fullscreen-body {
+.wp-fullscreen-active .fullscreen-overlay,
+.wp-fullscreen-active #wp-fullscreen-body {
        display: block;
 }
 
@@ -1970,123 +1467,153 @@ span.mce_ltr:before {
        z-index: 200000;
 }
 
-.fullscreen-active .fullscreen-fader {
+.wp-fullscreen-active .fullscreen-fader,
+.wp-core-ui.wp-fullscreen-active .postbox-container {
        display: none;
 }
 
 /* =Overlay Body
 -------------------------------------------------------------- */
+
+#wp-fullscreen-body,
+.mce-fullscreen {
+       z-index: 100010;
+}
+
 #wp-fullscreen-body {
-       width: 100%;
-       z-index: 150005;
        display: none;
+}
+
+.wp-fullscreen-wrap {
+       margin: 0;
+       padding: 0;
        position: absolute;
-       top: 0;
        right: 0;
-       font-size: 12px;
+       left: 0;
+       bottom: 30px;
+       top: 60px;
+       z-index: 100015;
 }
 
-#wp-fullscreen-wrap {
-       margin: 0 auto 50px;
-       position: relative;
-       padding-top: 60px;
+.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-title {
-       font-size: 1.7em;
-       line-height: 100%;
-       outline: medium none;
-       padding: 6px 7px;
-       width: 100%;
-       margin-bottom: 30px;
-       -webkit-box-shadow: none;
-       box-shadow: none;
+.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-container {
-       padding: 4px 10px 50px;
+#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-title,
-#wp-fullscreen-container {
+.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;
-       -moz-transition-property: border-color;
-       -moz-transition-duration: 0.6s;
-       -webkit-transition-property: border-color;
-       -webkit-transition-duration: 0.6s;
-       -o-transition-property: border-color;
-       -o-transition-duration: 0.6s;
-       transition-property: border-color;
-       transition-duration: 0.6s;
-}
-
-#wp_mce_fullscreen {
-       width: 100%;
-       min-height: 300px;
-       border: 0;
-       background: transparent;
-       font-family: Consolas, Monaco, monospace;
-       line-height: 1.6em;
-       padding: 0;
-       overflow-y: hidden;
-       outline: none;
-       resize: none;
        -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: #BBBBBB;
+       color: #888;
        font-size: 18px;
        float: left;
-       padding-top: 5px;
+       padding: 4px 0 0;
 }
 
 /* =Top bar
 -------------------------------------------------------------- */
 #fullscreen-topbar {
        background: #f5f5f5;
-       border-bottom: 1px solid #fff;
-       height: 40px;
-       right: 0;
-       min-width: 800px;
+       border-bottom: 1px solid #dedede;
+       height: 45px;
        position: fixed;
+       right: 0;
+       left: 0;
        top: 0;
        width: 100%;
-       z-index: 150050;
+       z-index: 100020;
+       -webkit-transition: opacity 0.4s;
+       transition: opacity 0.4s;
 }
 
 #wp-fullscreen-toolbar {
        padding: 6px 10px 0;
        clear: both;
        max-width: 1100px;
-       min-width: 820px;
        margin: 0 auto;
 }
 
 #wp-fullscreen-mode-bar,
 #wp-fullscreen-button-bar,
-#wp-fullscreen-close,
-#wp-fullscreen-count {
+#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 5px 0 2px;
+       padding: 2px 0 0;
+       min-width: 95px;
 }
 
 #wp-fullscreen-count,
 #wp-fullscreen-close {
-       padding-top: 5px;
+       padding: 5px 0 0;
 }
 
 #wp-fullscreen-central-toolbar {
        margin: auto;
        padding: 0;
+       min-width: 620px;
 }
 
 #wp-fullscreen-buttons > div {
@@ -2094,60 +1621,7 @@ span.mce_ltr:before {
 }
 
 #wp-fullscreen-mode-bar {
-       padding: 1px 0 0 14px;
-}
-
-#wp-fullscreen-modes a {
-       display: block;
-       font-size: 11px;
-       text-decoration: none;
-       float: right;
-       margin: 1px 0 0 0;
-       padding: 2px 6px 2px;
-       border-width: 1px 0 1px 1px;
-       border-style: solid;
-       border-color: #bbb;
-       color: #777;
-       text-shadow: 0 1px 0 #fff;
-       background-color: #f4f4f4;
-       background: #f4f4f4;
-       background-image: -webkit-gradient(linear, right bottom, right top, from(#e4e4e4), to(#f9f9f9));
-       background-image: -webkit-linear-gradient(bottom, #e4e4e4, #f9f9f9);
-       background-image:    -moz-linear-gradient(bottom, #e4e4e4, #f9f9f9);
-       background-image:      -o-linear-gradient(bottom, #e4e4e4, #f9f9f9);
-       background-image: linear-gradient(to top, #e4e4e4, #f9f9f9);
-}
-
-#wp-fullscreen-modes a:hover,
-.wp-html-mode #wp-fullscreen-modes a:last-child,
-.wp-tmce-mode #wp-fullscreen-modes a:first-child {
-       color: #333;
-       border-color: #999;
-       background: #eee;
-       background-image: -webkit-gradient(linear, right top, right bottom, from(#e4e4e4), to(#f9f9f9));
-       background-image: -webkit-linear-gradient(top, #e4e4e4, #f9f9f9);
-       background-image:    -moz-linear-gradient(top, #e4e4e4, #f9f9f9);
-       background-image:      -o-linear-gradient(top, #e4e4e4, #f9f9f9);
-       background-image: linear-gradient(to bottom, #e4e4e4, #f9f9f9);
-}
-
-#wp-fullscreen-modes a:first-child {
-       border-width: 1px;
-       -webkit-border-top-right-radius: 3px;
-       -webkit-border-bottom-right-radius: 3px;
-       border-top-right-radius: 3px;
-       border-bottom-right-radius: 3px;
-}
-
-#wp-fullscreen-modes a:last-child {
-       -webkit-border-top-left-radius: 3px;
-       -webkit-border-bottom-left-radius: 3px;
-       border-top-left-radius: 3px;
-       border-bottom-left-radius: 3px;
-}
-
-#wp-fullscreen-buttons .active a {
-       background: inherit;
+       padding: 3px 0 0 14px;
 }
 
 #wp-fullscreen-buttons .hidden {
@@ -2158,6 +1632,24 @@ span.mce_ltr:before {
        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: #333333;
+    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;
 }
@@ -2166,93 +1658,98 @@ span.mce_ltr:before {
        display: block;
 }
 
-#fullscreen-topbar.fullscreen-make-sticky {
-       display: block !important;
-}
-
 #wp-fullscreen-save img {
        vertical-align: middle;
 }
 
-#wp-fullscreen-save img,
 #wp-fullscreen-save span {
-       padding-left: 4px;
        display: none;
+       margin: 5px 6px 0;
+       float: right;
 }
 
 /* =Thickbox Adjustments
 -------------------------------------------------------------- */
-.fullscreen-active #TB_overlay {
-       z-index: 150100;
+.wp-fullscreen-active #TB_overlay {
+       z-index: 100050;
+}
+
+.wp-fullscreen-active #TB_window {
+       z-index: 100051;
 }
 
-.fullscreen-active #TB_window {
-       z-index: 150102;
+/* Colors */
+.fullscreen-overlay {
+       background: #fff;
 }
 
-/* =TinyMCE Adjustments
+/* =CSS 3 transitions
 -------------------------------------------------------------- */
-#wp_mce_fullscreen_ifr {
-       background: transparent;
+
+.wp-fullscreen-active #fullscreen-topbar {
+       -webkit-transition-duration: 0.8s;
+       transition-duration: 0.8s;
+       opacity: 0;
+       filter: alpha(opacity=0);
 }
 
-#wp_mce_fullscreen_parent #wp_mce_fullscreen_tbl tr.mceFirst {
-       display : none;
+.wp-fullscreen-active #wp-fullscreen-statusbar {
+       height: 0;
 }
 
-#wp-fullscreen-container .wp_themeSkin table td {
-       vertical-align: top;
+.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar {
+       -webkit-transition-duration: 0.4s;
+       transition-duration: 0.4s;
+       opacity: 1;
+       filter: alpha(opacity=100);
 }
 
-/* Colors */
-.fullscreen-overlay {
-       background: #fff;
+.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar {
+       height: 29px;
+       background: #f8f8f8;
+       border-top: 1px solid #eee;
 }
 
-.wp-fullscreen-focus #wp-fullscreen-title,
-.wp-fullscreen-focus #wp-fullscreen-container {
-       border-color: #ccc;
+.wp-fullscreen-active .wp-fullscreen-title,
+.wp-fullscreen-active .wp-editor-container {
+       -webkit-transition-duration: 0.8s;
+       transition-duration: 0.8s;
+       border-color: transparent;
 }
 
-/* =CSS 3 transitions
--------------------------------------------------------------- */
+.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;
-       -moz-transition-property: opacity;
        -webkit-transition-property: opacity;
-       -o-transition-property: opacity;
        transition-property: opacity;
 }
 
 .fade-1000 {
-       -moz-transition-duration: 1s;
        -webkit-transition-duration: 1s;
-       -o-transition-duration: 1s;
        transition-duration: 1s;
 }
 
 .fade-600 {
-       -moz-transition-duration: 0.6s;
        -webkit-transition-duration: 0.6s;
-       -o-transition-duration: 0.6s;
        transition-duration: 0.6s;
 }
 
 .fade-400 {
-       -moz-transition-duration: 0.4s;
        -webkit-transition-duration: 0.4s;
-       -o-transition-duration: 0.4s;
        transition-duration: 0.4s;
 }
 
 .fade-300 {
-       -moz-transition-duration: 0.3s;
        -webkit-transition-duration: 0.3s;
-       -o-transition-duration: 0.3s;
        transition-duration: 0.3s;
 }
 
@@ -2260,27 +1757,119 @@ span.mce_ltr:before {
        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_themeSkin .mceColorSplitMenu a.mceMoreColors,
-.rtl .wp_themeSkin .mceMenu .mceText,
 .rtl .wp-switch-editor,
-.rtl .quicktags-toolbar input,
-.rtl .clearlooks2 .mceTop span,
-.rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors {
+.rtl .quicktags-toolbar input {
        font-family: Tahoma, sans-serif;
 }
 
-html:lang(he-il) .rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors,
-html:lang(he-il) .rtl .wp_themeSkin .mceMenu .mceText,
+/* @noflip */
+.mce-rtl .mce-flow-layout .mce-flow-layout-item > div {
+       direction: rtl;
+}
+
+/* @noflip */
+.mce-rtl .mce-listbox i.mce-caret {
+       left: 6px;
+}
+
 html:lang(he-il) .rtl .wp-switch-editor,
-html:lang(he-il) .rtl .quicktags-toolbar input,
-html:lang(he-il) .rtl .clearlooks2 .mceTop span,
-html:lang(he-il) .rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors  {
+html:lang(he-il) .rtl .quicktags-toolbar input  {
        font-family: Arial, sans-serif;
 }
 
-
 /* HiDPI */
 @media print,
   (-o-min-device-pixel-ratio: 5/4),
@@ -2290,25 +1879,6 @@ html:lang(he-il) .rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors  {
        #wp-fullscreen-buttons #wp_fs_image span.mce_image {
                background: none;
        }
-
-       .wp_themeSkin .mceListBox .mceOpen,
-       .wp_themeSkin .mceListBoxHover .mceOpen,
-       .wp_themeSkin .mceListBoxSelected .mceOpen,
-       .wp_themeSkin table.mceListBoxEnabled .mceOpen {
-               background-image: url('../images/down_arrow-2x.gif');
-               background-size: 10px 20px;
-       }
-
-       .wp_themeSkin .mceSplitButtonEnabled a.mceOpen,
-       .wp_themeSkin .mceSplitButtonSelected a.mceOpen,
-       .wp_themeSkin .mceSplitButtonActive a.mceOpen,
-       .wp_themeSkin .mceSplitButtonEnabled:hover a.mceOpen {
-               background-image: url('../images/down_arrow-2x.gif');
-               background-size: 10px 20px;
-       }
-
-       #wp-link .toggle-arrow {
-               background: transparent url('../images/toggle-arrow-2x.png') top right no-repeat;
-               background-size: 19px 69px;
-       }
 }
+
+/* TODO: DFW responsive */
index 72db64c9f440dfe33bb8a6299ba74d2e68e0601d..0e34efa4f27646ac87b3310630c5ba9d94f37150 100644 (file)
@@ -1,28 +1 @@
-.wp_themeSkin table,.wp_themeSkin tbody,.wp_themeSkin a,.wp_themeSkin img,.wp_themeSkin tr,.wp_themeSkin div,.wp_themeSkin td,.wp_themeSkin iframe,.wp_themeSkin span,.wp_themeSkin *,.wp_themeSkin .mceText{border:0;margin:0;padding:0;white-space:nowrap;text-decoration:none;font-weight:400;cursor:default;vertical-align:baseline;width:auto;border-collapse:separate}.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{text-decoration:none;font-weight:400;cursor:default}.wp_themeSkin table td{vertical-align:middle}.wp_themeSkin *,.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{color:#555}.wp_themeSkin span.mce_sup,.wp_themeSkin span.mce_sub,.wp_themeSkin span.mce_media,.wp_themeSkin span.mce_styleprops,.wp_themeSkin span.mce_search,.wp_themeSkin span.mce_emotions,.wp_themeSkin span.mce_print,.wp_themeSkin span.mce_attribs,.wp_themeSkin span.mce_hr,.wp_themeSkin span.mce_cut,.wp_themeSkin span.mce_copy,.wp_themeSkin span.mce_paste,.wp_themeSkin span.mce_cite,.wp_themeSkin span.mce_visualchars,.wp_themeSkin span.mce_advhr,.wp_themeSkin span.mce_insertdate,.wp_themeSkin span.mce_anchor,.wp_themeSkin span.mce_visualaid,.wp_themeSkin span.mce_cleanup,.wp_themeSkin span.mce_table,.wp_themeSkin span.mce_row_props,.wp_themeSkin span.mce_cell_props,.wp_themeSkin span.mce_row_before,.wp_themeSkin span.mce_row_after,.wp_themeSkin span.mce_delete_row,.wp_themeSkin span.mce_col_before,.wp_themeSkin span.mce_col_after,.wp_themeSkin span.mce_delete_col,.wp_themeSkin span.mce_split_cells,.wp_themeSkin span.mce_merge_cells,.wp_themeSkin span.mce_delete_table,.wp_themeSkin span.mce_ins,.wp_themeSkin span.mce_abbr,.wp_themeSkin span.mce_acronym,.wp_themeSkin span.mce_del,.wp_themeSkin span.mce_replace,.wp_themeSkin span.mce_code,.wp_themeSkin span.mce_nonbreaking,.wp_themeSkin span.mce_inserttime,.wp_themeSkin span.mce_insertlayer,.wp_themeSkin span.mce_moveforward,.wp_themeSkin span.mce_movebackward,.wp_themeSkin span.mce_absolute{-moz-transition:none;-webkit-transition:none;transition:none;background:url(../js/tinymce/themes/advanced/img/icons.gif) no-repeat 20px 20px}.no-font-face .wp_themeSkin span.mce_undo,.no-font-face .wp_themeSkin span.mce_redo,.no-font-face .wp_themeSkin span.mce_bullist,.no-font-face .wp_themeSkin span.mce_numlist,.no-font-face .wp_themeSkin span.mce_blockquote,.no-font-face .wp_themeSkin span.mce_charmap,.no-font-face .wp_themeSkin span.mce_bold,.no-font-face .wp_themeSkin span.mce_italic,.no-font-face .wp_themeSkin span.mce_underline,.no-font-face .wp_themeSkin span.mce_justifyleft,.no-font-face .wp_themeSkin span.mce_justifyright,.no-font-face .wp_themeSkin span.mce_justifycenter,.no-font-face .wp_themeSkin span.mce_justifyfull,.no-font-face .wp_themeSkin span.mce_indent,.no-font-face .wp_themeSkin span.mce_outdent,.no-font-face .wp_themeSkin span.mce_link,.no-font-face .wp_themeSkin span.mce_unlink,.no-font-face .wp_themeSkin span.mce_help,.no-font-face .wp_themeSkin span.mce_removeformat,.no-font-face .wp_themeSkin span.mce_fullscreen,.no-font-face .wp_themeSkin span.mce_wp_fullscreen,.no-font-face .wp_themeSkin span.mce_media,.no-font-face .wp_themeSkin span.mce_pastetext,.no-font-face .wp_themeSkin span.mce_pasteword,.no-font-face .wp_themeSkin span.mce_wp_help,.no-font-face .wp_themeSkin span.mce_wp_adv,.no-font-face .wp_themeSkin span.mce_wp_more,.no-font-face .wp_themeSkin span.mce_strikethrough,.no-font-face .wp_themeSkin span.mce_spellchecker,.no-font-face .wp_themeSkin span.mce_forecolor,.no-font-face .wp_themeSkin .mce_forecolorpicker,.no-font-face .wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker,.no-font-face .wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor,.no-font-face .wp_themeSkin .mceSplitButton span.mce_numlist,.no-font-face .wp_themeSkin .mceSplitButton span.mce_bullist{-moz-transition:none;-webkit-transition:none;transition:none;background-image:url(../images/wpicons.png?ver=20120720)}.no-font-face .wp_themeSkin span.mce_undo{background-position:-500px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_undo,.no-font-face .wp_themeSkin .mceButtonActive span.mce_undo{background-position:-500px 0}.no-font-face .wp_themeSkin span.mce_redo{background-position:-480px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_redo,.no-font-face .wp_themeSkin .mceButtonActive span.mce_redo{background-position:-480px 0}.no-font-face .wp_themeSkin span.mce_bullist{background-position:-40px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_bullist,.no-font-face .wp_themeSkin .mceButtonActive span.mce_bullist,.no-font-face .wp_themeSkin .mceSplitButton:hover span.mce_bullist{background-position:-40px 0}.no-font-face .wp_themeSkin span.mce_numlist{background-position:-60px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_numlist,.no-font-face .wp_themeSkin .mceButtonActive span.mce_numlist,.no-font-face .wp_themeSkin .mceSplitButton:hover span.mce_numlist{background-position:-60px 0}.no-font-face .wp_themeSkin span.mce_blockquote{background-position:-80px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_blockquote,.no-font-face .wp_themeSkin .mceButtonActive span.mce_blockquote{background-position:-80px 0}.no-font-face .wp_themeSkin span.mce_charmap{background-position:-420px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_charmap,.no-font-face .wp_themeSkin .mceButtonActive span.mce_charmap{background-position:-420px 0}.no-font-face .wp_themeSkin span.mce_bold{background-position:0 -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_bold,.no-font-face .wp_themeSkin .mceButtonActive span.mce_bold{background-position:0 0}.no-font-face .wp_themeSkin span.mce_italic{background-position:-20px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_italic,.no-font-face .wp_themeSkin .mceButtonActive span.mce_italic{background-position:-20px 0}.no-font-face .wp_themeSkin span.mce_underline{background-position:-280px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_underline,.no-font-face .wp_themeSkin .mceButtonActive span.mce_underline{background-position:-280px 0}.no-font-face .wp_themeSkin span.mce_justifyleft{background-position:-100px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyleft,.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifyleft{background-position:-100px 0}.no-font-face .wp_themeSkin span.mce_justifyright{background-position:-140px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyright,.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifyright{background-position:-140px 0}.no-font-face .wp_themeSkin span.mce_justifycenter{background-position:-120px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifycenter,.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifycenter{background-position:-120px 0}.no-font-face .wp_themeSkin span.mce_justifyfull{background-position:-300px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyfull,.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifyfull{background-position:-300px 0}.no-font-face .wp_themeSkin span.mce_indent{background-position:-460px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_indent,.no-font-face .wp_themeSkin .mceButtonActive span.mce_indent{background-position:-460px 0}.no-font-face .wp_themeSkin span.mce_outdent{background-position:-440px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_outdent,.no-font-face .wp_themeSkin .mceButtonActive span.mce_outdent{background-position:-440px 0}.no-font-face .wp_themeSkin span.mce_link{background-position:-160px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_link,.no-font-face .wp_themeSkin .mceButtonActive span.mce_link{background-position:-160px 0}.no-font-face .wp_themeSkin span.mce_unlink{background-position:-180px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_unlink,.no-font-face .wp_themeSkin .mceButtonActive span.mce_unlink{background-position:-180px 0}.no-font-face .wp_themeSkin span.mce_help{background-position:-520px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_help,.no-font-face .wp_themeSkin .mceButtonActive span.mce_help{background-position:-520px 0}.no-font-face .wp_themeSkin span.mce_removeformat{background-position:-380px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_removeformat,.no-font-face .wp_themeSkin .mceButtonActive span.mce_removeformat{background-position:-380px 0}.no-font-face .wp_themeSkin span.mce_strikethrough{background-position:-540px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_strikethrough,.no-font-face .wp_themeSkin .mceButtonActive span.mce_strikethrough{background-position:-540px 0}.no-font-face .wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor{background-position:-320px -20px}.no-font-face .wp_themeSkin .mceSplitButtonEnabled:hover span.mce_forecolor,.no-font-face .wp_themeSkin .mceSplitButtonSelected span.mce_forecolor{background-position:-320px 0}.no-font-face .wp_themeSkin .mce_forecolorpicker{background-position:-320px -20px}.no-font-face .wp_themeSkin span.mce_fullscreen{background-position:-240px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_fullscreen,.no-font-face .wp_themeSkin .mceButtonActive span.mce_fullscreen{background-position:-240px 0}.no-font-face .wp_themeSkin span.mce_wp_fullscreen{background-position:-240px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_fullscreen,.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_fullscreen{background-position:-240px 0}.no-font-face .wp_themeSkin span.mce_media{background-position:-400px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_media,.no-font-face .wp_themeSkin .mceButtonActive span.mce_media{background-position:-400px 0}.no-font-face .wp_themeSkin span.mce_pastetext{background-position:-340px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_pastetext,.no-font-face .wp_themeSkin .mceButtonActive span.mce_pastetext{background-position:-340px 0}.no-font-face .wp_themeSkin span.mce_pasteword{background-position:-360px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_pasteword,.no-font-face .wp_themeSkin .mceButtonActive span.mce_pasteword{background-position:-360px 0}.no-font-face .wp_themeSkin span.mce_spellchecker{background-position:-220px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_spellchecker,.no-font-face .wp_themeSkin .mceSplitButtonEnabled:hover span.mce_spellchecker,.no-font-face .wp_themeSkin .mceButtonActive span.mce_spellchecker,.no-font-face .wp_themeSkin .mceSplitButtonSelected span.mce_spellchecker{background-position:-220px 0}.no-font-face .wp_themeSkin span.mce_wp_help{background-position:-520px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_help,.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_help{background-position:-520px 0}.no-font-face .wp_themeSkin span.mce_wp_adv{background-position:-260px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_adv,.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_adv{background-position:-260px 0}.no-font-face .wp_themeSkin span.mce_wp_more{background-position:-200px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_more,.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_more{background-position:-200px 0}.no-font-face .mceIcon:before{display:none!important}.wp_themeSkin table{}.wp_themeSkin iframe{display:block}.wp_themeSkin #mce_fullscreen_ifr{background-color:#fff}.wp_themeSkin .mceToolbar{padding:1px}.wp_themeSkin .mceExternalToolbar{position:absolute;border-bottom:0;display:none}.wp_themeSkin .mceExternalToolbar td.mceToolbar{padding-left:13px}.wp_themeSkin .mceExternalClose{position:absolute;top:3px;left:3px;width:7px;height:7px;background:url(../js/tinymce/themes/advanced/img/icons.gif) -820px 0}.wp_themeSkin table.mceToolbar,.wp_themeSkin tr.mceFirst .mceToolbar tr td,.wp_themeSkin tr.mceLast .mceToolbar tr td{border:0;margin:0;padding:0}.wp_themeSkin table.mceLayout{border:0}.wp_themeSkin .mceStatusbar{background:#fff;border-top:1px solid #eee;color:#000;display:block;font-family:sans-serif;font-size:12px;height:20px;line-height:16px;padding:0 8px 0 0;overflow:visible}.wp_themeSkin .mceStatusbar *{color:#555}.wp_themeSkin .mceStatusbar div{float:right;padding:2px}.wp_themeSkin .mceStatusbar a.mceResize{display:block;float:left;background:url(../js/tinymce/themes/advanced/img/icons.gif) -800px 0;width:20px;height:20px;cursor:sw-resize}.wp_themeSkin .mceStatusbar a:hover{text-decoration:underline}.wp_themeSkin table.mceToolbar{margin:0 6px 2px}.wp_themeSkin table.mceToolbar :active,.wp_themeSkin table.mceToolbar :focus,.wp_themeSkin table.mceToolbar:focus,.wp_themeSkin span.mceSeparator:focus{outline:0}.wp_themeSkin #content_toolbar1{margin-top:2px}.wp_themeSkin .mceToolbar .mceToolbarEndListBox span{display:none}.wp_themeSkin span.mceIcon,.wp_themeSkin img.mceIcon{display:block;width:20px;height:20px}a .mceIcon,.mceAction{text-align:center;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mceAction{line-height:16px}.wp_themeSkin .mceButton{display:block;width:20px;height:20px;cursor:default;padding:1px 2px;margin:1px;-webkit-border-radius:2px;border-radius:2px}.wp_themeSkin a.mceButtonEnabled:hover{background-image:inherit 0 -10px}.wp_themeSkin .mceOldBoxModel a.mceButton span,.wp_themeSkin .mceOldBoxModel a.mceButton img{margin:0 1px 0 0}.wp_themeSkin .mceButtonDisabled .mceIcon{opacity:.2;filter:alpha(opacity=20)}.wp_themeSkin .mceSeparator{display:none}.wp_themeSkin .mceListBox,.wp_themeSkin .mceListBox a{display:block}.wp_themeSkin .mceListBox .mceText{padding:1px 5px 1px 4px;width:70px;text-align:right;text-decoration:none;-webkit-border-bottom-right-radius:2px;-webkit-border-top-right-radius:2px;border-bottom-right-radius:2px;border-top-right-radius:2px;font-family:sans-serif;font-size:12px;height:20px;line-height:20px;overflow:hidden}.wp_themeSkin .mceListBox{margin:1px;direction:rtl;background-color:#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)}.wp_themeSkin .mceListBox .mceOpen{width:12px;height:20px;border-collapse:separate;padding:1px;-webkit-border-bottom-right-radius:0;-webkit-border-top-right-radius:0;border-bottom-right-radius:0;border-top-right-radius:0}.wp_themeSkin .mceListBox .mceFirst a{border-style:solid;border-width:1px;border-bottom-left-radius:2px;border-top-left-radius:2px}.wp_themeSkin .mceListBoxMenu .mce_formatPreview{line-height:normal}.wp_themeSkin .mceListBox .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin table.mceListBoxEnabled .mceOpen{background-image:url(../images/down_arrow.gif);background-position:3px 1px;background-repeat:no-repeat}.wp_themeSkin .mceListBoxDisabled .mceText{color:gray}.wp_themeSkin .mceListBoxMenu{overflow:auto;overflow-x:hidden}.wp_themeSkin .mceOldBoxModel .mceListBox .mceText{height:22px}.wp_themeSkin select.mceListBox{font-family:sans-serif;font-size:12px;border-color:#b2b2b2;background-color:#fff}.wp_themeSkin .mceSplitButton a,.wp_themeSkin .mceSplitButton span{display:block;height:20px}.wp_themeSkin .mceSplitButton{display:block;direction:rtl}.wp_themeSkin table.mceSplitButton td{padding:2px;-webkit-border-radius:2px;border-radius:2px}.wp_themeSkin table.mceSplitButton:hover td{background-image:inherit 0 -10px}.wp_themeSkin .mceSplitButton a.mceAction{height:20px;width:20px;padding:1px 2px;border-left:0 none}.wp_themeSkin .mceSplitButton span.mceAction{background-image:url(../js/tinymce/themes/advanced/img/icons.gif);background-repeat:no-repeat;background-color:transparent;width:20px}.wp_themeSkin .mceSplitButton span.mceAction.mce_bullist,.wp_themeSkin .mceSplitButton span.mceAction.mce_numlist{background-image:none}.wp_themeSkin .mceSplitButton a.mceOpen{width:11px;height:20px;background-position:0 2px;background-repeat:no-repeat;padding:1px 0}.wp_themeSkin .mceSplitButton span.mceOpen{display:none}.wp_themeSkin .mceSplitButtonDisabled .mceAction{opacity:.3;filter:alpha(opacity=30)}.wp_themeSkin .mceListBox a.mceText,.wp_themeSkin .mceSplitButton a.mceAction{-webkit-border-bottom-right-radius:2px;-webkit-border-top-right-radius:2px;border-bottom-right-radius:2px;border-top-right-radius:2px}.wp_themeSkin .mceSplitButton a.mceOpen,.wp_themeSkin .mceListBox a.mceOpen{-webkit-border-bottom-left-radius:2px;-webkit-border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-left-radius:2px}.wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#bbb}.wp_themeSkin .mceColorSplitMenu td{padding:2px}.wp_themeSkin .mceColorSplitMenu a{display:block;width:9px;height:9px;overflow:hidden;border-color:#B2B2B2}.wp_themeSkin .mceColorSplitMenu td.mceMoreColors{padding:1px 1px 1px 3px}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors{width:100%;height:auto;text-align:center;font-family:"Open Sans",sans-serif;font-size:11px;line-height:20px;border-color:#fff}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{}.wp_themeSkin a.mceMoreColors:hover{}.wp_themeSkin .mceColorPreview{margin:-5px 2px 0 0;width:16px;height:4px;overflow:hidden}.wp_themeSkin .mceMenu{position:absolute;right:0;top:0;z-index:1000;border-color:#ddd;direction:rtl}.wp_themeSkin .mceNoIcons span.mceIcon{width:0}.wp_themeSkin .mceNoIcons a .mceText{padding-right:10px}.wp_themeSkin .mceMenu table{background-color:#ebeaeb}.wp_themeSkin .mceMenu a,.wp_themeSkin .mceMenu span,.wp_themeSkin .mceMenu{display:block}.wp_themeSkin .mceMenu td{height:20px;overflow:hidden}.wp_themeSkin .mceMenu a{position:relative;padding:3px 0 4px;text-decoration:none!important}.wp_themeSkin .mceMenu .mceText{position:relative;display:block;font-family:"Open Sans",sans-serif;cursor:default;margin:0;padding:0 25px;color:#000}.wp_themeSkin .mceMenu span.mceText,.wp_themeSkin .mceMenu .mcePreview{font-size:12px}.wp_themeSkin .mceMenu pre.mceText{font-family:Monospace}.wp_themeSkin .mceMenu .mceIcon{position:absolute;top:0;right:0;width:22px}.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,.wp_themeSkin .mceMenu .mceMenuItemActive{background-color:#f5f5f5}.wp_themeSkin td.mceMenuItemSeparator{height:1px;background-color:#aaa}.wp_themeSkin .mceMenuItemTitle a{border-top:0;border-left:0;border-right:0;border-bottom:1px solid #aaa;text-decoration:none!important;background-color:#ccc}.wp_themeSkin .mceMenuItemTitle span.mceText{font-weight:700;padding-right:4px;color:#000}.wp_themeSkin .mceMenuItemSelected .mceIcon{background:url(../js/tinymce/themes/advanced/skins/default/img/menu_check.gif);color:#888}.wp_themeSkin .mceNoIcons .mceMenuItemSelected a{background:url(../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif) no-repeat -6px center}.wp_themeSkin .mceMenu span.mceMenuLine{display:none}.wp_themeSkin .mceMenuItemSub a{background:url(../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif) no-repeat top left}.wp_themeSkin .mceBlocker{position:absolute;right:0;top:0;z-index:1000;opacity:.5;filter:alpha(opacity=50);background:#FFF}.wp_themeSkin .mceProgress{position:absolute;right:0;top:0;z-index:1001;background:url(../js/tinymce/themes/advanced/skins/default/img/progress.gif) no-repeat;width:32px;height:32px;margin:-16px -16px 0 0}.wp_themeSkin .mcePlaceHolder{border:1px dotted gray}.mceRtl .mceListBox .mceText{text-align:left;padding:0 0 0 4px}.mceRtl .mceMenuItem .mceText{text-align:left}.wp_themeSkin .mce_p span.mceText{}.wp_themeSkin .mce_address span.mceText{font-style:italic}.wp_themeSkin .mce_pre span.mceText{font-family:monospace}.wp_themeSkin .mce_h1 span.mceText{font-weight:bolder;font-size:18px}.wp_themeSkin .mce_h2 span.mceText{font-weight:bolder;font-size:14px}.wp_themeSkin .mce_h3 span.mceText{font-weight:bolder;font-size:12px}.wp_themeSkin .mce_h4 span.mceText{font-weight:bolder;font-size:11px}.wp_themeSkin .mce_h5 span.mceText{font-weight:bolder;font-size:11px}.wp_themeSkin .mce_h6 span.mceText{font-weight:bolder;font-size:10px}span.mce_bold:before{content:'\f200'}span.mce_italic:before{content:'\f201'}span.mce_bullist:before{content:'\f203'}span.mce_numlist:before{content:'\f204'}span.mce_blockquote:before{content:'\f205'}span.mce_justifyleft:before{content:'\f206'}span.mce_justifycenter:before{content:'\f207'}span.mce_justifyright:before{content:'\f208'}span.mce_link:before{content:'\f103'}span.mce_unlink:before{content:'\f225'}span.mce_wp_more:before{content:'\f209'}span.mce_strikethrough:before{content:'\f224'}span.mce_spellchecker{font-size:20px;background:none!important;margin-top:2px}span.mce_spellchecker:before{content:'\f210'}span.mce_fullscreen:before,span.mce_wp_fullscreen:before{content:'\f211'}span.mce_wp_adv:before{content:'\f212'}span.mce_underline:before{content:'\f213'}span.mce_justifyfull:before{content:'\f214'}span.mce_forecolor{background:none!important}span.mce_forecolor:before{content:'\f215'}span.mce_pastetext:before{content:'\f217'}span.mce_pasteword:before{content:'\f216'}span.mce_removeformat:before{content:'\f218'}span.mce_charmap:before{content:'\f220'}span.mce_outdent:before{content:'\f221'}span.mce_indent:before{content:'\f222'}span.mce_undo:before{content:'\f171'}span.mce_redo:before{content:'\f172'}span.mce_help:before,span.mce_wp_help:before{content:'\f223'}span.mce_image:before{content:'\f104'}span.mce_ltr:before{content:'\f320'}.wp_themeSkin span.mce_cleanup{background-position:-380px -20px}.wp_themeSkin span.mce_anchor{background-position:-200px 0}.wp_themeSkin span.mce_sub{background-position:-600px 0}.wp_themeSkin span.mce_sup{background-position:-620px 0}.wp_themeSkin span.mce_newdocument{background-position:-520px 0}.wp_themeSkin span.mce_image{background-position:-380px 0}.wp_themeSkin span.mce_code{background-position:-260px 0}.wp_themeSkin span.mce_hr{background-position:-360px 0}.wp_themeSkin span.mce_visualaid{background-position:-660px 0}.wp_themeSkin span.mce_paste{background-position:-560px 0}.wp_themeSkin span.mce_copy{background-position:-700px 0}.wp_themeSkin span.mce_cut{background-position:-680px 0}.wp_themeSkin .mce_backcolor span.mceAction{background-position:-760px 0}.wp_themeSkin .mce_backcolorpicker{background-position:-760px 0}.wp_themeSkin span.mce_advhr{background-position:-0px -20px}.wp_themeSkin span.mce_ltr{background-position:-20px -20px}.wp_themeSkin span.mce_rtl{background-position:-40px -20px}.wp_themeSkin span.mce_emotions{background-position:-60px -20px}.wp_themeSkin span.mce_fullpage{background-position:-80px -20px}.wp_themeSkin span.mce_iespell{background-position:-120px -20px}.wp_themeSkin span.mce_insertdate{background-position:-140px -20px}.wp_themeSkin span.mce_inserttime{background-position:-160px -20px}.wp_themeSkin span.mce_absolute{background-position:-180px -20px}.wp_themeSkin span.mce_backward{background-position:-200px -20px}.wp_themeSkin span.mce_forward{background-position:-220px -20px}.wp_themeSkin span.mce_insert_layer{background-position:-240px -20px}.wp_themeSkin span.mce_insertlayer{background-position:-260px -20px}.wp_themeSkin span.mce_movebackward{background-position:-280px -20px}.wp_themeSkin span.mce_moveforward{background-position:-300px -20px}.wp_themeSkin span.mce_media{background-position:-320px -20px}.wp_themeSkin span.mce_nonbreaking{background-position:-340px -20px}.wp_themeSkin span.mce_selectall{background-position:-400px -20px}.wp_themeSkin span.mce_preview{background-position:-420px -20px}.wp_themeSkin span.mce_print{background-position:-440px -20px}.wp_themeSkin span.mce_cancel{background-position:-460px -20px}.wp_themeSkin span.mce_save{background-position:-480px -20px}.wp_themeSkin span.mce_replace{background-position:-500px -20px}.wp_themeSkin span.mce_search{background-position:-520px -20px}.wp_themeSkin span.mce_styleprops{background-position:-560px -20px}.wp_themeSkin span.mce_table{background-position:-580px -20px}.wp_themeSkin span.mce_cell_props{background-position:-600px -20px}.wp_themeSkin span.mce_delete_table{background-position:-620px -20px}.wp_themeSkin span.mce_delete_col{background-position:-640px -20px}.wp_themeSkin span.mce_delete_row{background-position:-660px -20px}.wp_themeSkin span.mce_col_after{background-position:-680px -20px}.wp_themeSkin span.mce_col_before{background-position:-700px -20px}.wp_themeSkin span.mce_row_after{background-position:-720px -20px}.wp_themeSkin span.mce_row_before{background-position:-740px -20px}.wp_themeSkin span.mce_merge_cells{background-position:-760px -20px}.wp_themeSkin span.mce_table_props{background-position:-980px -20px}.wp_themeSkin span.mce_row_props{background-position:-780px -20px}.wp_themeSkin span.mce_split_cells{background-position:-800px -20px}.wp_themeSkin span.mce_template{background-position:-820px -20px}.wp_themeSkin span.mce_visualchars{background-position:-840px -20px}.wp_themeSkin span.mce_abbr{background-position:-860px -20px}.wp_themeSkin span.mce_acronym{background-position:-880px -20px}.wp_themeSkin span.mce_attribs{background-position:-900px -20px}.wp_themeSkin span.mce_cite{background-position:-920px -20px}.wp_themeSkin span.mce_del{background-position:-940px -20px}.wp_themeSkin span.mce_ins{background-position:-960px -20px}.wp_themeSkin span.mce_pagebreak{background-position:0 -40px}.wp_themeSkin span.mce_restoredraft{background-position:-20px -40px}.wp_themeSkin span.mce_visualblocks{background-position:-40px -40px}.wp_themeSkin .mceExternalToolbar,.wp_themeSkin .mceButton,.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonSelected,.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen,.wp_themeSkin select.mceListBox,.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen,.wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp_themeSkin .mceSplitButton a.mceAction:hover,.wp_themeSkin div.mceColorSplitMenu table,.wp_themeSkin .mceColorSplitMenu a,.wp_themeSkin .mceColorSplitMenu a.mceMoreColors,.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover,.wp_themeSkin a.mceMoreColors:hover,.wp_themeSkin .mceMenu{border-style:solid;border-width:1px}.wp_themeSkin .mceListBox .mceText{border-left:0 none}.wp_themeSkin iframe{background:transparent}.wp_themeSkin .mceButton{border-color:transparent}.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen{border-color:transparent}.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin table.mceSplitButton:hover{border-color:#bbb;background:#eee;background-image:-webkit-gradient(linear,right bottom,right top,from(#e5e5e5),to(#fff));background-image:-webkit-linear-gradient(bottom,#e5e5e5,#fff);background-image:-moz-linear-gradient(bottom,#e5e5e5,#fff);background-image:-o-linear-gradient(bottom,#e5e5e5,#fff);background-image:linear-gradient(to top,#e5e5e5,#fff)}.wp_themeSkin a.mceButton:active,.wp_themeSkin a.mceButtonEnabled:active,.wp_themeSkin a.mceButtonSelected:active,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonActive:active,.wp_themeSkin a.mceButtonActive:hover,.wp_themeSkin .mceSplitButtonSelected table,.wp_themeSkin .mceSplitButtonSelected table:hover{outline:0;border-color:#999 #999 #ccc #ccc;background:#eee;background-image:-webkit-gradient(linear,right bottom,right top,from(#f6f6f6),to(#e3e3e3));background-image:-webkit-linear-gradient(bottom,#f6f6f6,#e3e3e3);background-image:-moz-linear-gradient(bottom,#f6f6f6,#e3e3e3);background-image:-o-linear-gradient(bottom,#f6f6f6,#e3e3e3);background-image:linear-gradient(to top,#f6f6f6,#e3e3e3)}.wp_themeSkin .mceSplitButtonSelected table a.mceOpen,.wp_themeSkin .mceSplitButtonSelected table a.mceAction{border-color:#999 #999 #ccc #ccc}.wp_themeSkin .mceButtonDisabled{border-color:transparent}.wp_themeSkin .mceListBox .mceOpen{border-right:0}.wp_themeSkin .mceListBoxEnabled:hover,.wp_themeSkin .mceListBoxEnabled:active,.wp_themeSkin .mceListBoxHover,.wp_themeSkin .mceListBoxHover:active,.wp_themeSkin .mceListBoxSelected{-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.3);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.3);border-color:#bbb}.wp_themeSkin .mceSplitButton .mceLast span.mceOpen .mceIconOnly{display:block}.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen{border-color:transparent}.wp_themeSkin .mceSplitButton:hover a{border-color:#bbb}.wp_themeSkin .mceSplitButtonEnabled a.mceOpen,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin .mceSplitButtonActive a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover a.mceOpen{background-image:url(../images/down_arrow.gif);background-position:1px 2px;background-repeat:no-repeat;border-right:0}.wp_themeSkin .mceSplitButtonActive td{-webkit-border-radius:3px;border-radius:3px}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{border-color:#0A246A;background-color:#B6BDD2}.wp_themeSkin a.mceMoreColors:hover{border-color:#0A246A}.wp_themeSkin .mceMenuItemDisabled .mceText{color:#888}#mceModalBlocker{background:#000;opacity:.7;-ms-filter:"alpha(Opacity=70)";filter:alpha(opacity=70)}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0 none;outline:0;display:block;resize:vertical;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.wp-editor-tools{padding:0}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.quicktags-toolbar,.wp_themeSkin tr.mceFirst td.mceToolbar{border-bottom:1px solid #dedede;background:#f5f5f5}.wp-editor-tabs{float:left}.wp-switch-editor{background:#ebebeb;border:1px solid #dedede;color:#777;cursor:pointer;float:left;font:13px/19px "Open Sans",sans-serif;height:19px;margin:5px 5px 0 0;padding:3px 8px 4px;position:relative;top:1px}.wp-switch-editor:active{background-color:#f1f1f1}.wp-switch-editor:hover{text-decoration:none!important;background:#fff}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.tmce-active .switch-tmce,.html-active .switch-html{background:#f5f5f5;color:#555;height:20px;border-bottom:0}.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}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{content:'\f104'}.quicktags-toolbar{border-bottom-style:solid;border-bottom-width:1px;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;padding:2px 8px 0;min-height:29px}.quicktags-toolbar>div{padding:2px 4px 0}.quicktags-toolbar input{margin:2px 1px 4px;line-height:18px;display:inline-block;min-width:26px;padding:2px 4px;font:12px/18px "Open Sans",sans-serif;color:#464646;border:1px solid #c3c3c3;-webkit-border-radius:3px;border-radius:3px;background:#eee;background-image:-webkit-gradient(linear,right bottom,right top,from(#e3e3e3),to(#fff));background-image:-webkit-linear-gradient(bottom,#e3e3e3,#fff);background-image:-moz-linear-gradient(bottom,#e3e3e3,#fff);background-image:-o-linear-gradient(bottom,#e3e3e3,#fff);background-image:linear-gradient(to top,#e3e3e3,#fff)}.quicktags-toolbar input:hover{border-color:#aaa;background:#ddd}.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}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:155000}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_editimgbtn:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_delgallery:hover{border-color:#555;background-color:#ccc}#wp-link{background-color:#F5F5F5;line-height:1.4em;font-size:12px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link input[type=text]{-webkit-box-sizing:border-box}#wp-link input[type=text],#wp-link textarea{border-width:1px;border-style:solid;-webkit-border-radius:4px;border-radius:4px;font-size:12px;margin:1px;padding:3px}#wp-link #link-options{padding:10px 0 14px;border-bottom:1px solid #dfdfdf;margin:0 6px 14px}#wp-link p.howto{margin:3px}#wp-link #internal-toggle{display:inline-block;cursor:pointer;padding-right:18px}#wp-link .toggle-arrow{background:transparent url(../images/toggle-arrow.png) top right no-repeat;height:23px;line-height:23px}#wp-link .toggle-arrow-active{background-position:center right}#wp-link label input[type=text]{width:360px;margin-top:5px}#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}#wp-link .link-search-field{float:right;width:220px}#wp-link .link-search-wrapper{margin:5px 6px 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:right;margin-top:4px}#wp-link .link-search-wrapper .spinner{display:none;vertical-align:text-bottom}#wp-link .link-target{width:auto;padding:3px 0 0;margin:0 87px 0 0;font-size:11px}#wp-link .query-results{border:1px #dfdfdf solid;margin:0 5px 5px;background:#fff;height:185px;overflow:auto;position:relative}#wp-link li,#wp-link .query-notice{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 6px;cursor:pointer;position:relative}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:700}#wp-link .item-title{display:inline-block;width:80%}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;left:5px;top:4px;bottom:0}#wp-link #search-results{display:none}#wp-link #search-panel{float:right;width:100%}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block}#wp-link .submitbox{padding:5px 10px;font-size:11px;overflow:auto;height:29px}#wp-link-cancel{line-height:25px;float:right}#wp-link-update{line-height:23px;float:left}/*!
- * jQuery UI CSS Framework 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Theming/API
- */.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:before,.ui-helper-clearfix:after{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{position:fixed;top:0;right:0;width:100%;height:100%}/*!
- * jQuery UI Resizable 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Resizable#theming
- */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .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:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-w{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-se{cursor:sw-resize;width:12px;height:12px;left:1px;bottom:1px}.ui-resizable-sw{cursor:se-resize;width:9px;height:9px;right:-5px;bottom:-5px}.ui-resizable-nw{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-resizable-ne{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}/*!
- * jQuery UI Dialog 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Dialog#theming
- */.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:right;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;left:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0 0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:right;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em .4em .5em 1em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:left}.ui-dialog .ui-dialog-buttonpane button{margin:.5em 0 .5em .4em;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;left:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.wp-dialog{padding:0;z-index:300002;border:0;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background-color:#f5f5f5}.wp-dialog .ui-dialog-title{display:block;text-align:center;padding:0}.wp-dialog .ui-dialog-titlebar{padding:0 1em;background-color:#444;font-size:13px;line-height:24px;color:#fff}.wp-dialog .ui-dialog-content{padding:0}.wp-dialog .ui-dialog-titlebar-close{cursor:pointer;-webkit-appearance:none;border:0;width:30px;height:20px;top:13px;left:6px;background:0 0}.wp-dialog .ui-dialog-titlebar-close:before{content:'\f158';font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#999;padding-right:12px}.wp-dialog .ui-dialog-titlebar-close:hover:before{color:#2ea2cc}.wp-dialog .ui-dialog-titlebar-close .ui-button-text{display:none}.wp-dialog .ui-dialog-titlebar-close:hover,.wp-dialog .ui-dialog-titlebar-close:focus{background-position:-87px -32px}.ui-widget-overlay{z-index:300001;background-color:#000;opacity:.6;filter:alpha(opacity=60)}.clearlooks2 .mceTop{border-bottom:1px solid #ccc}.clearlooks2 .mceTop span{font:13px/24px "Open Sans",sans-serif;color:#e5e5e5}.clearlooks2 .mceTop .mceLeft{background:#444;border-color:transparent}.clearlooks2 .mceTop .mceRight{background:#444;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:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#999;padding-right:12px}.fullscreen-overlay{z-index:149999;display:none;position:fixed;top:0;bottom:0;right:0;left:0;filter:inherit}.fullscreen-active .fullscreen-overlay,.fullscreen-active #wp-fullscreen-body{display:block}.fullscreen-fader{z-index:200000}.fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body{width:100%;z-index:150005;display:none;position:absolute;top:0;right:0;font-size:12px}#wp-fullscreen-wrap{margin:0 auto 50px;position:relative;padding-top:60px}#wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:medium none;padding:6px 7px;width:100%;margin-bottom:30px;-webkit-box-shadow:none;box-shadow:none}#wp-fullscreen-container{padding:4px 10px 50px}#wp-fullscreen-title,#wp-fullscreen-container{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:transparent;-moz-transition-property:border-color;-moz-transition-duration:.6s;-webkit-transition-property:border-color;-webkit-transition-duration:.6s;-o-transition-property:border-color;-o-transition-duration:.6s;transition-property:border-color;transition-duration:.6s}#wp_mce_fullscreen{width:100%;min-height:300px;border:0;background:transparent;font-family:Consolas,Monaco,monospace;line-height:1.6em;padding:0;overflow-y:hidden;outline:0;resize:none;-webkit-box-shadow:none;box-shadow:none}#wp-fullscreen-tagline{color:#BBB;font-size:18px;float:left;padding-top:5px}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #fff;height:40px;right:0;min-width:800px;position:fixed;top:0;width:100%;z-index:150050}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;min-width:820px;margin:0 auto}#wp-fullscreen-mode-bar,#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-count{float:right}#wp-fullscreen-save{float:left;padding:2px 5px 0 2px}#wp-fullscreen-count,#wp-fullscreen-close{padding-top:5px}#wp-fullscreen-central-toolbar{margin:auto;padding:0}#wp-fullscreen-buttons>div{float:right}#wp-fullscreen-mode-bar{padding:1px 0 0 14px}#wp-fullscreen-modes a{display:block;font-size:11px;text-decoration:none;float:right;margin:1px 0 0;padding:2px 6px;border-width:1px 0 1px 1px;border-style:solid;border-color:#bbb;color:#777;text-shadow:0 1px 0 #fff;background-color:#f4f4f4;background:#f4f4f4;background-image:-webkit-gradient(linear,right bottom,right top,from(#e4e4e4),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:-moz-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:-o-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:linear-gradient(to top,#e4e4e4,#f9f9f9)}#wp-fullscreen-modes a:hover,.wp-html-mode #wp-fullscreen-modes a:last-child,.wp-tmce-mode #wp-fullscreen-modes a:first-child{color:#333;border-color:#999;background:#eee;background-image:-webkit-gradient(linear,right top,right bottom,from(#e4e4e4),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#e4e4e4,#f9f9f9);background-image:-moz-linear-gradient(top,#e4e4e4,#f9f9f9);background-image:-o-linear-gradient(top,#e4e4e4,#f9f9f9);background-image:linear-gradient(to bottom,#e4e4e4,#f9f9f9)}#wp-fullscreen-modes a:first-child{border-width:1px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px}#wp-fullscreen-modes a:last-child{-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px}#wp-fullscreen-buttons .active a{background:inherit}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#fullscreen-topbar.fullscreen-make-sticky{display:block!important}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save img,#wp-fullscreen-save span{padding-left:4px;display:none}.fullscreen-active #TB_overlay{z-index:150100}.fullscreen-active #TB_window{z-index:150102}#wp_mce_fullscreen_ifr{background:transparent}#wp_mce_fullscreen_parent #wp_mce_fullscreen_tbl tr.mceFirst{display:none}#wp-fullscreen-container .wp_themeSkin table td{vertical-align:top}.fullscreen-overlay{background:#fff}.wp-fullscreen-focus #wp-fullscreen-title,.wp-fullscreen-focus #wp-fullscreen-container{border-color:#ccc}.fade-1000,.fade-600,.fade-400,.fade-300{opacity:0;-moz-transition-property:opacity;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.fade-1000{-moz-transition-duration:1s;-webkit-transition-duration:1s;-o-transition-duration:1s;transition-duration:1s}.fade-600{-moz-transition-duration:.6s;-webkit-transition-duration:.6s;-o-transition-duration:.6s;transition-duration:.6s}.fade-400{-moz-transition-duration:.4s;-webkit-transition-duration:.4s;-o-transition-duration:.4s;transition-duration:.4s}.fade-300{-moz-transition-duration:.3s;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors,.rtl .wp_themeSkin .mceMenu .mceText,.rtl .wp-switch-editor,.rtl .quicktags-toolbar input,.rtl .clearlooks2 .mceTop span,.rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors,html:lang(he-il) .rtl .wp_themeSkin .mceMenu .mceText,html:lang(he-il) .rtl .wp-switch-editor,html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .clearlooks2 .mceTop span,html:lang(he-il) .rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors{font-family:Arial,sans-serif}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-media-buttons .add_media span.wp-media-buttons-icon,#wp-fullscreen-buttons #wp_fs_image span.mce_image{background:0 0}.wp_themeSkin .mceListBox .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin table.mceListBoxEnabled .mceOpen{background-image:url(../images/down_arrow-2x.gif);background-size:10px 20px}.wp_themeSkin .mceSplitButtonEnabled a.mceOpen,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin .mceSplitButtonActive a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover a.mceOpen{background-image:url(../images/down_arrow-2x.gif);background-size:10px 20px}#wp-link .toggle-arrow{background:transparent url(../images/toggle-arrow-2x.png) top right no-repeat;background-size:19px 69px}}
\ No newline at end of file
+.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block.mce-in{opacity:.7;filter:alpha(opacity=70)}.mce-window{-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);-webkit-font-smoothing:subpixel-antialiased}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 16px 0 36px}.mce-window .mce-window-head .mce-close{color:transparent;top:0;left:0;width:36px;height:36px;line-height:36px;text-align:center}.mce-window .mce-window-head .mce-close:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window .mce-window-head .mce-close:hover:before{color:#2ea2cc}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-wp-help .mce-window-head{border-bottom:0}.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 border-color ease-in-out;transition:.05s border-color ease-in-out}.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:0;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:3px;position:relative}.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 #eee}div.mce-path{padding:0 8px 2px;margin:0}.mce-toolbar .mce-btn,.qt-fullscreen{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn,.qt-fullscreen{border:1px solid transparent;margin:2px;background-image:none;-webkit-border-radius:2px;border-radius:2px;-webkit-filter:none;filter:none}#wp-fullscreen-buttons .mce-btn:focus,#wp-fullscreen-buttons .mce-btn:hover,.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-fullscreen:focus,.qt-fullscreen:hover{background:#fafafa;border-color:#999;color:#222;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}#wp-fullscreen-buttons .mce-btn.mce-active,#wp-fullscreen-buttons .mce-btn:active,.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active{background:#ebebeb;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#555}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico{color:#555}#wp-fullscreen-buttons .mce-btn.mce-disabled:focus,#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#aaa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;-webkit-box-shadow:none;box-shadow:none}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-fullscreen{padding:2px 3px;line-height:normal}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-left:0}.mce-toolbar .mce-colorbutton .mce-preview{margin-right:-17px;padding:0;width:18px}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{-webkit-border-radius:0;border-radius:0;direction:rtl;background:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{background-image:none;border-color:#bbb}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-right:2px;margin-left:2px}.mce-listbox i.mce-caret{left:6px}.mce-panel .mce-btn button.mce-open i.mce-caret,.mce-panel .mce-btn.mce-listbox i.mce-caret{margin-right:0;margin-left:0}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#333}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #333;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-left-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:none;box-shadow:none}.mce-menu .mce-menu-item-normal.mce-active{background-color:#e5e5e5;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{color:#000;background-color:#bbb;background-image:none;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-active:hover .mce-text,.mce-menu .mce-menu-item.mce-selected .mce-ico,.mce-menu .mce-menu-item.mce-selected .mce-text,.mce-menu .mce-menu-item:focus .mce-ico,.mce-menu .mce-menu-item:hover .mce-ico,.mce-menu .mce-menu-item:hover .mce-text{color:#000}.mce-menubar{border-color:#e5e5e5}.mce-menubar .mce-btn:focus{outline:0}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{margin:5px 0 4px}.mce-menubtn span{margin-left:0;padding-right:3px}.mce-menu-has-icons i.mce-ico:before{margin-right:-2px}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);background-image:none}.mce-window .mce-btn::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#222}.mce-window .mce-btn:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.mce-window .mce-btn:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.mce-window .mce-btn.mce-disabled{color:#aaa;border-color:#ddd;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 1px 0 #fff;cursor:default}.mce-window .mce-btn.mce-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.mce-window .mce-btn.mce-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.mce-window .mce-btn.mce-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4)}.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)}.mce-window .mce-btn.mce-primary.mce-disabled{color:#94cde7;background:#298cba;border-color:#1b607f;text-shadow:0 -1px 0 rgba(0,0,0,.1)}.mce-menubtn.mce-fixed-width button span{max-width:80px;padding-left:16px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#777;line-height:20px;width:20px;height:20px;text-align:center;text-shadow:none;margin:0;padding:0}.qt-fullscreen{color:#777;line-height:20px;width:28px;height:26px;text-align:center;text-shadow:none}.mce-toolbar .mce-btn .mce-open{line-height:20px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-right-color:#999}.mce-close,i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-right:-2px;padding-left:2px}.qt-fullscreen{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:'\f200'}i.mce-i-italic:before{content:'\f201'}i.mce-i-bullist:before{content:'\f203'}i.mce-i-numlist:before{content:'\f204'}i.mce-i-blockquote:before{content:'\f205'}i.mce-i-alignleft:before{content:'\f206'}i.mce-i-aligncenter:before{content:'\f207'}i.mce-i-alignright:before{content:'\f208'}i.mce-i-link:before{content:'\f103'}i.mce-i-unlink:before{content:'\f225'}i.mce-i-wp_more:before{content:'\f209'}i.mce-i-strikethrough:before{content:'\f224'}i.mce-i-spellchecker:before{content:'\f210'}.qt-fullscreen:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:'\f211'}i.mce-i-wp_adv:before{content:'\f212'}i.mce-i-underline:before{content:'\f213'}i.mce-i-alignjustify:before{content:'\f214'}i.mce-i-forecolor:before{content:'\f215'}i.mce-i-pastetext:before{content:'\f217'}i.mce-i-removeformat:before{content:'\f218'}i.mce-i-charmap:before{content:'\f220'}i.mce-i-outdent:before{content:'\f221'}i.mce-i-indent:before{content:'\f222'}i.mce-i-undo:before{content:'\f171'}i.mce-i-redo:before{content:'\f172'}i.mce-i-help:before,i.mce-i-wp_help:before{content:'\f223'}i.mce-i-wp-media-library:before{content:'\f104'}i.mce-i-ltr:before{content:'\f320'}i.mce-i-wp_page:before{content:'\f105'}i.mce-i-hr:before{content:'\f460'}.mce-close:before{content:'\f158'}.mce-i-wp_code:before{content:'\e017'}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0 none;outline:0;display:block;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-editor-tools{padding:0}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.wp-editor-tabs{float:left}.wp-switch-editor{background:#ebebeb;border:1px solid #dedede;color:#777;cursor:pointer;float:left;font:13px/19px "Open Sans",sans-serif;height:19px;margin:5px 5px 0 0;padding:3px 8px 4px;position:relative;top:1px}.wp-switch-editor:active{background-color:#f1f1f1}.wp-switch-editor:hover{text-decoration:none!important;background:#fff}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;height:20px;border-bottom:0}.wp-media-buttons{float:right}.wp-media-buttons .button{margin-left:5px;margin-bottom:4px;padding-right:7px;padding-left:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-right:5px}.wp-media-buttons a{text-decoration:none;color:#464646;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f104'}.quicktags-toolbar{padding:3px;position:relative;border-bottom:1px solid #dedede;background:#f5f5f5}.has-dfw .quicktags-toolbar{padding-left:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:700}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen,.qt-fullscreen{position:absolute;top:0;left:0;margin-top:5px;margin-left:5px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-fullscreen{padding:7px 8px}.qt-fullscreen{width:38px;height:34px}.mce-toolbar .mce-colorbutton .mce-preview{margin-right:-21px}.mce-window .mce-btn{padding:2px 0}.quicktags-toolbar,div.mce-toolbar-grp{padding-left:46px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;height:250px;overflow:hidden;margin-right:-250px;margin-top:-125px;position:fixed;top:50%;right:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#wp-link-backdrop{display:none;position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap.search-panel-visible{height:500px;margin-top:-250px}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px;top:0;left:0;right:0}#wp-link-close{color:#666;cursor:pointer;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#2ea2cc}#link-selector{padding:0 16px 50px}#wp-link-wrap.search-panel-visible #link-selector{padding:0 16px;position:absolute;top:36px;right:0;left:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link-search-toggle::after{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-search-toggle{cursor:pointer}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:left;padding-left:5px;max-width:24%}#wp-link .link-search-field{float:right;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:right;margin-top:4px}#wp-link .link-search-wrapper .spinner{display:none;vertical-align:text-bottom}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px #dfdfdf solid;margin:0;background:#fff;overflow:auto;position:absolute;right:16px;left:16px;bottom:16px;top:205px}#wp-link .query-notice,#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 6px;cursor:pointer;position:relative}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:700}#wp-link li:last-child{border:0}#wp-link .item-title{display:inline-block;width:80%;width:-webkit-calc(100% - 68px);width:calc(100% - 68px)}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;left:5px;top:5px}#wp-link #search-panel,#wp-link #search-results{display:none}#wp-link-wrap.search-panel-visible #search-panel{display:block}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block;float:none}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;right:0;left:0}#wp-link-cancel{line-height:25px}#wp-link-update{line-height:23px;float:left}#wp-link-submit{float:left;margin-bottom:0}@media screen and (max-width:782px){#wp-link-wrap{height:280px;margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap.search-panel-visible #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-right:0;right:10px;left:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{-webkit-transition:none;transition:none}#wp-link-wrap.search-panel-visible{height:auto;margin-top:0;top:10px;bottom:10px}.search-panel-visible #link-selector{overflow:auto}.search-panel-visible #search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:-webkit-calc(100% - 92px);height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}.fullscreen-overlay{z-index:100005;display:none;position:fixed;top:0;bottom:0;right:0;left:0;-webkit-filter:inherit;filter:inherit}.wp-fullscreen-active #wp-fullscreen-body,.wp-fullscreen-active .fullscreen-overlay{display:block}.fullscreen-fader{z-index:200000}.wp-core-ui.wp-fullscreen-active .postbox-container,.wp-fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body,.mce-fullscreen{z-index:100010}#wp-fullscreen-body{display:none}.wp-fullscreen-wrap{margin:0;padding:0;position:absolute;right:0;left:0;bottom:30px;top:60px;z-index:100015}#wp-fullscreen-central-toolbar,.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%}.wp-fullscreen-active .mce-statusbar,.wp-fullscreen-active .mce-toolbar-grp,.wp-fullscreen-active .quicktags-toolbar,.wp-fullscreen-active .wp-editor-tools{display:none}#wp-fullscreen-statusbar{position:fixed;right:0;left:0;bottom:0;height:30px;z-index:100020;background:#fff;-webkit-transition:height .2s;transition:height .2s}#wp-fullscreen-status{margin:0 auto;padding:0}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title,.wp-fullscreen-active .wp-fullscreen-title:focus{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color .4s;transition:border-color .4s}.wp-fullscreen-active .wp-editor-container{margin:0 auto 40px}.wp-fullscreen-active .wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:medium none;padding:3px 7px;margin:10px auto 30px;display:block}#wp-fullscreen-tagline{color:#888;font-size:18px;float:left;padding:4px 0 0}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #dedede;height:45px;position:fixed;right:0;left:0;top:0;width:100%;z-index:100020;-webkit-transition:opacity .4s;transition:opacity .4s}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;margin:0 auto}#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-mode-bar{float:right}#wp-fullscreen-count,#wp-fullscreen-tagline{display:inline-block}#wp-fullscreen-button-bar{margin-top:2px}#wp-fullscreen-save{float:left;padding:2px 0 0;min-width:95px}#wp-fullscreen-close,#wp-fullscreen-count{padding:5px 0 0}#wp-fullscreen-central-toolbar{margin:auto;padding:0;min-width:620px}#wp-fullscreen-buttons>div{float:right}#wp-fullscreen-mode-bar{padding:3px 0 0 14px}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}#wp-fullscreen-buttons .mce-btn button{margin:0;outline:0 none;border:0 none;white-space:nowrap;width:auto;background:0 0;color:#333;cursor:pointer;font-size:18px;line-height:20px;overflow:visible;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save span{display:none;margin:5px 6px 0;float:right}.wp-fullscreen-active #TB_overlay{z-index:100050}.wp-fullscreen-active #TB_window{z-index:100051}.fullscreen-overlay{background:#fff}.wp-fullscreen-active #fullscreen-topbar{-webkit-transition-duration:.8s;transition-duration:.8s;opacity:0;filter:alpha(opacity=0)}.wp-fullscreen-active #wp-fullscreen-statusbar{height:0}.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar{-webkit-transition-duration:.4s;transition-duration:.4s;opacity:1;filter:alpha(opacity=100)}.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar{height:29px;background:#f8f8f8;border-top:1px solid #eee}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title{-webkit-transition-duration:.8s;transition-duration:.8s;border-color:transparent}.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container,.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title{-webkit-transition-duration:.4s;transition-duration:.4s;border-color:#ccc}.fade-1000,.fade-300,.fade-400,.fade-600{opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-1000{-webkit-transition-duration:1s;transition-duration:1s}.fade-600{-webkit-transition-duration:.6s;transition-duration:.6s}.fade-400{-webkit-transition-duration:.4s;transition-duration:.4s}.fade-300{-webkit-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.wp-dfw-touch #fullscreen-topbar{position:absolute;opacity:1}.wp-dfw-touch .wp-fullscreen-title,.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container{max-width:700px}.wp-fullscreen-active.wp-dfw-touch .wp-editor-container,.wp-fullscreen-active.wp-dfw-touch .wp-fullscreen-title{border-color:#ccc}.wp-dfw-touch #wp-fullscreen-statusbar{height:30px}@media screen and (max-width:782px){#wp-fullscreen-button-bar,#wp-fullscreen-central-toolbar,#wp-fullscreen-close,#wp-fullscreen-mode-bar,#wp-fullscreen-save{display:inline-block}#fullscreen-topbar{height:85px}#wp-fullscreen-central-toolbar{width:auto!important;min-width:0}#wp-fullscreen-close{line-height:30px;vertical-align:top;padding:0 12px}#wp-fullscreen-button-bar{position:absolute;top:45px;right:0}.wp-fullscreen-wrap{top:95px}#wp-fullscreen-save{position:absolute;left:10px}}@media screen and (max-width:480px){#wp_fs_help{display:none}.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{width:480px!important}body.wp-fullscreen-active{width:480px;overflow:auto}#fullscreen-topbar,.wp-fullscreen-wrap{width:480px}#fullscreen-topbar{position:absolute}#wp-fullscreen-status{width:auto!important;max-width:100%;padding:0 10px}}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wp-fullscreen-buttons #wp_fs_image span.mce_image,.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
index 1af385de768e2cf3368c1c37027c0f9d7eda1a18..ab5723525cb5794bbeab3a1843e0f8426b83b46a 100644 (file)
-
 /*------------------------------------------------------------------------------
-
  TinyMCE and Quicklinks toolbars
 ------------------------------------------------------------------------------*/
 
-/* wp_theme/ui.css */
-.wp_themeSkin table,
-.wp_themeSkin tbody,
-.wp_themeSkin a,
-.wp_themeSkin img,
-.wp_themeSkin tr,
-.wp_themeSkin div,
-.wp_themeSkin td,
-.wp_themeSkin iframe,
-.wp_themeSkin span,
-.wp_themeSkin *,
-.wp_themeSkin .mceText {
-       border: 0;
-       margin: 0;
-       padding: 0;
-       white-space: nowrap;
-       text-decoration: none;
-       font-weight: normal;
-       cursor: default;
-       vertical-align: baseline;
-       width: auto;
-       border-collapse: separate;
-}
+/* TinyMCE widgets/containers */
 
-.wp_themeSkin a:hover,
-.wp_themeSkin a:link,
-.wp_themeSkin a:visited,
-.wp_themeSkin a:active {
-       text-decoration: none;
-       font-weight: normal;
-       cursor: default;
+.mce-container,
+.mce-container *,
+.mce-widget,
+.mce-widget * {
+       color: inherit;
+       font-family: inherit;
 }
 
-.wp_themeSkin table td {
-       vertical-align: middle;
+/* TinyMCE windows */
+#mce-modal-block.mce-in {
+       opacity: 0.7;
+       filter: alpha(opacity=70);
 }
 
-.wp_themeSkin *,
-.wp_themeSkin a:hover,
-.wp_themeSkin a:link,
-.wp_themeSkin a:visited,
-.wp_themeSkin a:active {
-       color: #555;
+.mce-window {
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       -webkit-font-smoothing: subpixel-antialiased;
 }
 
-/* These are part of TinyMCE, used in TinyMCE Advanced, but not WordPress. These are not updated for 3.8's design. */
-.wp_themeSkin span.mce_sup,
-.wp_themeSkin span.mce_sub,
-.wp_themeSkin span.mce_media,
-.wp_themeSkin span.mce_styleprops,
-.wp_themeSkin span.mce_search,
-.wp_themeSkin span.mce_emotions,
-.wp_themeSkin span.mce_print,
-.wp_themeSkin span.mce_attribs,
-.wp_themeSkin span.mce_hr,
-.wp_themeSkin span.mce_cut,
-.wp_themeSkin span.mce_copy,
-.wp_themeSkin span.mce_paste,
-.wp_themeSkin span.mce_cite,
-.wp_themeSkin span.mce_visualchars,
-.wp_themeSkin span.mce_advhr,
-.wp_themeSkin span.mce_insertdate,
-.wp_themeSkin span.mce_anchor,
-.wp_themeSkin span.mce_visualaid,
-.wp_themeSkin span.mce_cleanup,
-.wp_themeSkin span.mce_table,
-.wp_themeSkin span.mce_row_props,
-.wp_themeSkin span.mce_cell_props,
-.wp_themeSkin span.mce_row_before,
-.wp_themeSkin span.mce_row_after,
-.wp_themeSkin span.mce_delete_row,
-.wp_themeSkin span.mce_col_before,
-.wp_themeSkin span.mce_col_after,
-.wp_themeSkin span.mce_delete_col,
-.wp_themeSkin span.mce_split_cells,
-.wp_themeSkin span.mce_merge_cells,
-.wp_themeSkin span.mce_delete_table,
-.wp_themeSkin span.mce_ins,
-.wp_themeSkin span.mce_abbr,
-.wp_themeSkin span.mce_acronym,
-.wp_themeSkin span.mce_del,
-.wp_themeSkin span.mce_replace,
-.wp_themeSkin span.mce_code,
-.wp_themeSkin span.mce_nonbreaking,
-.wp_themeSkin span.mce_inserttime,
-.wp_themeSkin span.mce_insertlayer,
-.wp_themeSkin span.mce_moveforward,
-.wp_themeSkin span.mce_movebackward,
-.wp_themeSkin span.mce_absolute {
-       -moz-transition: none;
-       -webkit-transition: none;
-       transition: none;
-       background: url("../js/tinymce/themes/advanced/img/icons.gif") no-repeat 20px 20px;
-}
-
-/* No @font-face support */
-.no-font-face .wp_themeSkin span.mce_undo,
-.no-font-face .wp_themeSkin span.mce_redo,
-.no-font-face .wp_themeSkin span.mce_bullist,
-.no-font-face .wp_themeSkin span.mce_numlist,
-.no-font-face .wp_themeSkin span.mce_blockquote,
-.no-font-face .wp_themeSkin span.mce_charmap,
-.no-font-face .wp_themeSkin span.mce_bold,
-.no-font-face .wp_themeSkin span.mce_italic,
-.no-font-face .wp_themeSkin span.mce_underline,
-.no-font-face .wp_themeSkin span.mce_justifyleft,
-.no-font-face .wp_themeSkin span.mce_justifyright,
-.no-font-face .wp_themeSkin span.mce_justifycenter,
-.no-font-face .wp_themeSkin span.mce_justifyfull,
-.no-font-face .wp_themeSkin span.mce_indent,
-.no-font-face .wp_themeSkin span.mce_outdent,
-.no-font-face .wp_themeSkin span.mce_link,
-.no-font-face .wp_themeSkin span.mce_unlink,
-.no-font-face .wp_themeSkin span.mce_help,
-.no-font-face .wp_themeSkin span.mce_removeformat,
-.no-font-face .wp_themeSkin span.mce_fullscreen,
-.no-font-face .wp_themeSkin span.mce_wp_fullscreen,
-.no-font-face .wp_themeSkin span.mce_media,
-.no-font-face .wp_themeSkin span.mce_pastetext,
-.no-font-face .wp_themeSkin span.mce_pasteword,
-.no-font-face .wp_themeSkin span.mce_wp_help,
-.no-font-face .wp_themeSkin span.mce_wp_adv,
-.no-font-face .wp_themeSkin span.mce_wp_more,
-.no-font-face .wp_themeSkin span.mce_strikethrough,
-.no-font-face .wp_themeSkin span.mce_spellchecker,
-.no-font-face .wp_themeSkin span.mce_forecolor,
-.no-font-face .wp_themeSkin .mce_forecolorpicker,
-.no-font-face .wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker,
-.no-font-face .wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor,
-.no-font-face .wp_themeSkin .mceSplitButton span.mce_numlist,
-.no-font-face .wp_themeSkin .mceSplitButton span.mce_bullist {
-       -moz-transition: none;
-       -webkit-transition: none;
-       transition: none;
-       background-image: url('../images/wpicons.png?ver=20120720');
-}
-
-/* Theme */
-.no-font-face .wp_themeSkin span.mce_undo {background-position:-500px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_undo,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_undo {background-position:-500px 0}
-
-.no-font-face .wp_themeSkin span.mce_redo {background-position:-480px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_redo,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_redo {background-position:-480px 0}
-
-.no-font-face .wp_themeSkin span.mce_bullist {background-position:-40px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_bullist,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_bullist,
-.no-font-face .wp_themeSkin .mceSplitButton:hover span.mce_bullist {background-position:-40px 0}
-
-.no-font-face .wp_themeSkin span.mce_numlist {background-position:-60px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_numlist,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_numlist,
-.no-font-face .wp_themeSkin .mceSplitButton:hover span.mce_numlist {background-position:-60px 0}
-
-.no-font-face .wp_themeSkin span.mce_blockquote {background-position:-80px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_blockquote,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_blockquote {background-position:-80px 0}
-
-.no-font-face .wp_themeSkin span.mce_charmap {background-position:-420px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_charmap,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_charmap {background-position:-420px 0}
-
-.no-font-face .wp_themeSkin span.mce_bold {background-position:0 -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_bold,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_bold {background-position:0 0}
-
-.no-font-face .wp_themeSkin span.mce_italic {background-position:-20px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_italic,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_italic {background-position:-20px 0}
-
-.no-font-face .wp_themeSkin span.mce_underline {background-position:-280px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_underline,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_underline {background-position:-280px 0}
-
-.no-font-face .wp_themeSkin span.mce_justifyleft {background-position:-100px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyleft,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifyleft {background-position:-100px 0}
-
-.no-font-face .wp_themeSkin span.mce_justifyright {background-position:-140px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyright,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifyright {background-position:-140px 0}
-
-.no-font-face .wp_themeSkin span.mce_justifycenter {background-position:-120px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifycenter,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifycenter {background-position:-120px 0}
-
-.no-font-face .wp_themeSkin span.mce_justifyfull {background-position:-300px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyfull,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifyfull {background-position:-300px 0}
-
-.no-font-face .wp_themeSkin span.mce_indent {background-position:-460px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_indent,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_indent {background-position:-460px 0}
-
-.no-font-face .wp_themeSkin span.mce_outdent {background-position:-440px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_outdent,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_outdent {background-position:-440px 0}
-
-.no-font-face .wp_themeSkin span.mce_link {background-position:-160px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_link,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_link {background-position:-160px 0}
-
-.no-font-face .wp_themeSkin span.mce_unlink {background-position:-180px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_unlink,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_unlink {background-position:-180px 0}
-
-.no-font-face .wp_themeSkin span.mce_help {background-position:-520px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_help,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_help {background-position:-520px 0}
-
-.no-font-face .wp_themeSkin span.mce_removeformat {background-position:-380px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_removeformat,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_removeformat {background-position:-380px 0}
-
-.no-font-face .wp_themeSkin span.mce_strikethrough {background-position:-540px -20px;}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_strikethrough,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_strikethrough {background-position:-540px 0}
-
-.no-font-face .wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor {background-position:-320px -20px}
-.no-font-face .wp_themeSkin .mceSplitButtonEnabled:hover span.mce_forecolor,
-.no-font-face .wp_themeSkin .mceSplitButtonSelected span.mce_forecolor {background-position:-320px 0}
-
-.no-font-face .wp_themeSkin .mce_forecolorpicker {background-position:-320px -20px}
-
-/* Plugins in WP */
-.no-font-face .wp_themeSkin span.mce_fullscreen {background-position:-240px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_fullscreen,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_fullscreen {background-position:-240px 0}
-
-.no-font-face .wp_themeSkin span.mce_wp_fullscreen {background-position:-240px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_fullscreen,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_fullscreen {background-position:-240px 0}
-
-.no-font-face .wp_themeSkin span.mce_media {background-position:-400px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_media,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_media {background-position:-400px 0}
-
-.no-font-face .wp_themeSkin span.mce_pastetext {background-position:-340px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_pastetext,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_pastetext {background-position:-340px 0}
-
-.no-font-face .wp_themeSkin span.mce_pasteword {background-position:-360px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_pasteword,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_pasteword {background-position:-360px 0}
-
-.no-font-face .wp_themeSkin span.mce_spellchecker {background-position:-220px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_spellchecker,
-.no-font-face .wp_themeSkin .mceSplitButtonEnabled:hover span.mce_spellchecker,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_spellchecker,
-.no-font-face .wp_themeSkin .mceSplitButtonSelected span.mce_spellchecker {background-position:-220px 0}
-
-.no-font-face .wp_themeSkin span.mce_wp_help {background-position:-520px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_help,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_help {background-position:-520px 0}
-
-.no-font-face .wp_themeSkin span.mce_wp_adv {background-position:-260px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_adv,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_adv {background-position:-260px 0}
+.mce-window .mce-container-body.mce-abs-layout {
+       overflow: visible;
+}
 
-.no-font-face .wp_themeSkin span.mce_wp_more {background-position:-200px -20px}
-.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_more,
-.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_more {background-position:-200px 0}
+.mce-window .mce-window-head {
+       background: #fcfcfc;
+       border-bottom: 1px solid #dfdfdf;
+       padding: 0;
+       min-height: 36px;
+}
 
-.no-font-face .mceIcon:before {
-       display: none !important;
+.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;
 }
-/* End no @font-face */
 
-/* Containers */
-.wp_themeSkin table {}
+.mce-window .mce-window-head .mce-close {
+       color: transparent;
+       top: 0;
+       right: 0;
+       width: 36px;
+       height: 36px;
+       line-height: 36px;
+       text-align: center;
+}
 
-.wp_themeSkin iframe {
+.mce-window .mce-window-head .mce-close:before {
+       font: normal 20px/36px 'dashicons';
+       text-align: center;
+       color: #666;
+       width: 36px;
+       height: 36px;
        display: block;
 }
 
-.wp_themeSkin #mce_fullscreen_ifr {
-       background-color: #fff;
+.mce-window .mce-window-head .mce-close:hover:before {
+       color: #2ea2cc;
 }
 
-.wp_themeSkin .mceToolbar {
-       padding: 1px;
+.mce-window .mce-window-head .mce-dragh {
+       width: -webkit-calc( 100% - 36px );
+       width: calc( 100% - 36px );
 }
 
-/* External */
-.wp_themeSkin .mceExternalToolbar {
-       position: absolute;
-       border-bottom: 0;
-       display: none;
+.mce-wp-help .mce-window-head {
+       border-bottom: none;
 }
 
-.wp_themeSkin .mceExternalToolbar td.mceToolbar {
-       padding-right: 13px;
+.mce-textbox,
+.mce-checkbox i.mce-i-checkbox {
+       border: 1px solid #ddd;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
+       box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
+       -webkit-transition: .05s border-color ease-in-out;
+       transition: .05s border-color ease-in-out;
 }
 
-.wp_themeSkin .mceExternalClose {
-       position: absolute;
-       top: 3px;
-       right: 3px;
-       width: 7px;
-       height: 7px;
-       background: url("../js/tinymce/themes/advanced/img/icons.gif") -820px 0;
+.mce-textbox:focus,
+.mce-textbox.mce-focus,
+.mce-checkbox:focus i.mce-i-checkbox {
+       border-color: #5b9dd9;
+       -webkit-box-shadow: 0 0 2px rgba(30,140,190,0.8);
+       box-shadow: 0 0 2px rgba(30,140,190,0.8);
 }
 
-/* Layout */
-.wp_themeSkin table.mceToolbar,
-.wp_themeSkin tr.mceFirst .mceToolbar tr td,
-.wp_themeSkin tr.mceLast .mceToolbar tr td {
-       border: 0;
-       margin: 0;
-       padding: 0;
+/* TinyMCE menus */
+.mce-menu,
+.mce-floatpanel.mce-popover {
+       border-color: rgba(0,0,0,0.15);
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       -webkit-box-shadow: 0 3px 5px rgba( 0, 0, 0, 0.2 );
+       box-shadow: 0 3px 5px rgba( 0, 0, 0, 0.2 );
 }
 
-.wp_themeSkin table.mceLayout {
-       border: 0;
+.mce-floatpanel.mce-popover.mce-bottom {
+       margin-top: 2px;
 }
 
-.wp_themeSkin .mceStatusbar {
-       background: #fff;
-       border-top: 1px solid #eee;
-       color: #000;
-       display: block;
-       font-family: sans-serif;
-       font-size: 12px;
-       height: 20px;
-       line-height: 16px;
-       padding: 0 0 0 8px;
-       overflow: visible;
+.mce-floatpanel .mce-arrow {
+       display: none;
 }
 
-.wp_themeSkin .mceStatusbar * {
-       color: #555;
+.mce-menu .mce-container-body {
+       min-width: 160px;
 }
 
-.wp_themeSkin .mceStatusbar div {
-       float: left;
-       padding: 2px;
+.mce-menu-item {
+       border: none;
+       margin-bottom: 2px;
 }
 
-.wp_themeSkin .mceStatusbar a.mceResize {
-       display: block;
-       float: right;
-       background: url("../js/tinymce/themes/advanced/img/icons.gif") -800px 0;
-       width: 20px;
-       height: 20px;
-       cursor: se-resize;
+.mce-menu-has-icons i.mce-ico {
+       line-height: 20px;
 }
 
-.wp_themeSkin .mceStatusbar a:hover {
-       text-decoration: underline;
+/* TinyMCE panel */
+div.mce-panel {
+       border: 0;
+       background: #fff;
+       -webkit-filter: none;
+       filter: none;
 }
 
-.wp_themeSkin table.mceToolbar {
-       margin: 0 6px 2px;
+.mce-panel.mce-menu {
+       border: 1px solid #ddd;
 }
 
-.wp_themeSkin table.mceToolbar :active,
-.wp_themeSkin table.mceToolbar :focus,
-.wp_themeSkin table.mceToolbar:focus,
-.wp_themeSkin span.mceSeparator:focus {
-       outline: none;
+div.mce-tab {
+       line-height: 13px;
 }
 
-.wp_themeSkin #content_toolbar1 {
-       margin-top: 2px;
+/* TinyMCE toolbars */
+div.mce-toolbar-grp {
+       border-bottom: 1px solid #dedede;
+       background: #f5f5f5;
+       padding: 3px;
+       position: relative;
 }
 
-.wp_themeSkin .mceToolbar .mceToolbarEndListBox span {
-       display: none;
+.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first {
+       padding-right: 32px;
 }
 
-.wp_themeSkin span.mceIcon,
-.wp_themeSkin img.mceIcon {
-       display: block;
-       width: 20px;
-       height: 20px;
+.mce-toolbar .mce-btn-group {
+       margin: 0;
 }
 
-a .mceIcon, .mceAction {
-       text-align: center;
-       font: normal 20px/1 'dashicons' !important;
-       speak: none;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
+div.mce-statusbar {
+       border-top: 1px solid #eee;
 }
 
-.mceAction {
-       line-height:16px;
+div.mce-path {
+       padding: 0 8px 2px;
+       margin: 0;
 }
 
-/* Button */
-.wp_themeSkin .mceButton {
-       display: block;
-       width: 20px;
-       height: 20px;
-       cursor: default;
-       padding: 1px 2px;
-       margin: 1px;
+.mce-toolbar .mce-btn,
+.qt-fullscreen {
+       border-color: transparent;
+       background: transparent;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       text-shadow: none;
+       cursor: pointer;
+}
+
+#wp-fullscreen-buttons .mce-btn,
+.mce-toolbar .mce-btn-group .mce-btn,
+.qt-fullscreen {
+       border: 1px solid transparent;
+       margin: 2px;
+       background-image: none;
        -webkit-border-radius: 2px;
        border-radius: 2px;
+       -webkit-filter: none;
+       filter: none;
 }
 
-.wp_themeSkin a.mceButtonEnabled:hover {
-       background-image: inherit 0 -10px;
+#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-fullscreen:hover,
+.qt-fullscreen:focus {
+       background: #fafafa;
+       border-color: #999;
+       color: #222;
+       -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 );
 }
 
-.wp_themeSkin .mceOldBoxModel a.mceButton span, .wp_themeSkin .mceOldBoxModel a.mceButton img {
-       margin: 0 0 0 1px;
+.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 {
+       background: #ebebeb;
+       border-color: #999;
+       -webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.3 );
+       box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.3 );
 }
 
-.wp_themeSkin .mceButtonDisabled .mceIcon {
-       opacity: 0.2;
-       filter: alpha(opacity=20);
+.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover {
+       border-color: #555;
 }
 
-/* Separator */
-.wp_themeSkin .mceSeparator {
-       display: none;
+.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico {
+       color: #555;
 }
 
-/* ListBox */
-.wp_themeSkin .mceListBox,
-.wp_themeSkin .mceListBox a {
-       display: block;
+.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 {
+       color: #aaa;
+       background: none;
+       border-color: #ddd;
+       text-shadow: 0 1px 0 #fff;
+       -webkit-box-shadow: none;
+       box-shadow: none;
 }
 
-.wp_themeSkin .mceListBox .mceText {
-       padding: 1px 4px 1px 5px;
-       width: 70px;
-       text-align: left;
-       text-decoration: none;
-       -webkit-border-bottom-left-radius: 2px;
-       -webkit-border-top-left-radius: 2px;
-       border-bottom-left-radius: 2px;
-       border-top-left-radius: 2px;
-       font-family: sans-serif;
-       font-size: 12px;
-       height: 20px;
-       line-height: 20px;
-       overflow: hidden;
+.mce-toolbar .mce-btn-group .mce-first,
+.mce-toolbar .mce-btn-group .mce-last {
+       border-color: transparent;
 }
 
-.wp_themeSkin .mceListBox {
-       margin: 1px;
-       direction: ltr;
-       background-color: #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 button,
+.qt-fullscreen {
+       padding: 2px 3px;
+       line-height: normal;
 }
 
-.wp_themeSkin .mceListBox .mceOpen {
-       width: 12px;
-       height: 20px;
-       border-collapse: separate;
-       padding: 1px;
-       -webkit-border-bottom-left-radius: 0;
-       -webkit-border-top-left-radius: 0;
-       border-bottom-left-radius: 0;
-       border-top-left-radius: 0;
+.mce-toolbar .mce-btn i {
+       text-shadow: none;
 }
 
-.wp_themeSkin .mceListBox .mceFirst a {
-       border-style: solid;
-       border-width: 1px;
-       border-bottom-right-radius: 2px;
-       border-top-right-radius: 2px;
+.mce-toolbar .mce-btn-group > div {
+       white-space: normal;
 }
 
-.wp_themeSkin .mceListBoxMenu .mce_formatPreview {
-       line-height: normal;
+.mce-toolbar .mce-colorbutton .mce-open {
+       border-right: 0;
 }
 
-.wp_themeSkin .mceListBox .mceOpen,
-.wp_themeSkin .mceListBoxHover .mceOpen,
-.wp_themeSkin .mceListBoxSelected .mceOpen,
-.wp_themeSkin table.mceListBoxEnabled .mceOpen {
-       background-image: url("../images/down_arrow.gif");
-       background-position: 3px 1px;
-       background-repeat: no-repeat;
+.mce-toolbar .mce-colorbutton .mce-preview {
+       margin-left: -17px;
+       padding: 0;
+       width: 18px;
 }
 
-.wp_themeSkin .mceListBoxDisabled .mceText {
-       color: gray;
+/* mce listbox */
+.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);
 }
 
-.wp_themeSkin .mceListBoxMenu {
-       overflow: auto;
-       overflow-x: hidden;
+.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover {
+    background-image: none;
+    border-color: #bbb;
 }
 
-.wp_themeSkin .mceOldBoxModel .mceListBox .mceText {
-       height: 22px;
+.mce-panel .mce-btn i.mce-caret {
+       border-top: 6px solid #777;
+       margin-left: 2px;
+       margin-right: 2px;
 }
 
-.wp_themeSkin select.mceListBox {
-       font-family: sans-serif;
-       font-size: 12px;
-       border-color: #b2b2b2;
-       background-color: #fff;
+.mce-listbox i.mce-caret {
+       right: 6px;
 }
 
-/* SplitButton */
-.wp_themeSkin .mceSplitButton a,
-.wp_themeSkin .mceSplitButton span {
-       display: block;
-       height: 20px;
+.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;
 }
 
-.wp_themeSkin .mceSplitButton {
-       display: block;
-       direction: ltr;
+.mce-panel .mce-btn:hover i.mce-caret {
+       border-top-color: #333;
 }
 
-.wp_themeSkin table.mceSplitButton td {
-       padding: 2px;
-       -webkit-border-radius: 2px;
-       border-radius: 2px;
+.mce-panel .mce-active i.mce-caret {
+       border-top: 0;
+       border-bottom: 6px solid #333;
+       margin-top: 7px;
 }
 
-.wp_themeSkin table.mceSplitButton:hover td {
-       background-image: inherit 0 -10px;
+.mce-listbox.mce-active i.mce-caret {
+       margin-top: -3px;
 }
 
-.wp_themeSkin .mceSplitButton a.mceAction {
-       height: 20px;
-       width: 20px;
-       padding: 1px 2px;
-       border-right: 0 none;
+.mce-toolbar .mce-splitbtn:hover .mce-open {
+       border-right-color: transparent;
 }
 
-.wp_themeSkin .mceSplitButton span.mceAction {
-       background-image: url("../js/tinymce/themes/advanced/img/icons.gif");
-       background-repeat: no-repeat;
-       background-color: transparent;
-       width: 20px;
+.mce-toolbar .mce-splitbtn .mce-open.mce-active{
+       -webkit-box-shadow: none;
+       box-shadow: none;
 }
 
-.wp_themeSkin .mceSplitButton span.mceAction.mce_bullist,
-.wp_themeSkin .mceSplitButton span.mceAction.mce_numlist {
-       background-image: none;
+.mce-menu .mce-menu-item-normal.mce-active {
+       background-color: #e5e5e5;
+       -webkit-filter: none;
+       filter: none;
 }
 
-.wp_themeSkin .mceSplitButton a.mceOpen {
-       width: 11px;
-       height: 20px;
-       background-position: 0px 2px;
-       background-repeat: no-repeat;
-       padding: 1px 0;
+.mce-menu .mce-menu-item:hover,
+.mce-menu .mce-menu-item.mce-selected,
+.mce-menu .mce-menu-item:focus {
+       color: #000;
+       background-color: #bbb;
+       background-image: none;
+       -webkit-filter: none;
+       filter: none;
 }
 
-.wp_themeSkin .mceSplitButton span.mceOpen {
-       display: 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;
 }
 
-.wp_themeSkin .mceSplitButtonDisabled .mceAction {
-       opacity: 0.3;
-       filter: alpha(opacity=30);
+/* Menubar */
+.mce-menubar {
+       border-color: #e5e5e5;
 }
 
-.wp_themeSkin .mceListBox a.mceText,
-.wp_themeSkin .mceSplitButton a.mceAction {
-       -webkit-border-bottom-left-radius: 2px;
-       -webkit-border-top-left-radius: 2px;
-       border-bottom-left-radius: 2px;
-       border-top-left-radius: 2px;
+.mce-menubar .mce-btn:focus {
+       outline: 0;
 }
 
-.wp_themeSkin .mceSplitButton a.mceOpen,
-.wp_themeSkin .mceListBox a.mceOpen {
-       -webkit-border-bottom-right-radius: 2px;
-       -webkit-border-top-right-radius: 2px;
-       border-bottom-right-radius: 2px;
-       border-top-right-radius: 2px;
+div.mce-menu .mce-menu-item-sep,
+.mce-menu-item-sep:hover {
+       margin: 5px 0 4px;
 }
 
-/* ColorSplitButton */
-.wp_themeSkin div.mceColorSplitMenu table {
-       background-color: #ebebeb;
-       border-color: #bbb;
+.mce-menubtn span {
+       margin-right: 0;
+       padding-left: 3px;
 }
 
-.wp_themeSkin .mceColorSplitMenu td {
-       padding: 2px;
+.mce-menu-has-icons i.mce-ico:before {
+       margin-left: -2px;
 }
 
-.wp_themeSkin .mceColorSplitMenu a {
-       display: block;
-       width: 9px;
-       height: 9px;
-       overflow: hidden;
-       border-color: #B2B2B2;
+/* Buttons in modals */
+.mce-primary button,
+.mce-primary button i {
+       text-align: center;
+       color: #fff;
+       text-shadow: none;
+       padding: 0;
+       line-height: 26px;
 }
 
-.wp_themeSkin .mceColorSplitMenu td.mceMoreColors {
-       padding: 1px 3px 1px 1px;
+.mce-window .mce-btn {
+       color: #555;
+       background: #f7f7f7;
+       text-decoration: none;
+       font-size: 13px;
+       line-height: 26px;
+       height: 28px;
+       margin: 0;
+       padding: 0;
+       cursor: pointer;
+       border: 1px solid #ccc;
+       -webkit-appearance: none;
+       -webkit-border-radius: 3px;
+       border-radius: 3px;
+       white-space: nowrap;
+       -webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+       box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba(0,0,0,.08);
+       background-image: none;
 }
 
-.wp_themeSkin .mceColorSplitMenu a.mceMoreColors {
-       width: 100%;
-       height: auto;
-       text-align: center;
-       font-family: "Open Sans", sans-serif;
-       font-size: 11px;
-       line-height: 20px;
-       border-color: #fff;
+/* Remove the dotted border on :focus and the extra padding in Firefox */
+.mce-window .mce-btn::-moz-focus-inner {
+       border-width: 1px 0;
+       border-style: solid none;
+       border-color: transparent;
+       padding: 0;
 }
 
-.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover {}
-.wp_themeSkin a.mceMoreColors:hover {}
-.wp_themeSkin .mceColorPreview {
-       margin: -5px 0 0 2px;
-       width: 16px;
-       height: 4px;
-       overflow: hidden;
+.mce-window .mce-btn:hover {
+       background: #fafafa;
+       border-color: #999;
+       color: #222;
 }
 
-/* Menu */
-.wp_themeSkin .mceMenu {
-       position: absolute;
-       left: 0;
-       top: 0;
-       z-index: 1000;
-       border-color: #ddd;
-       direction: ltr;
+.mce-window .mce-btn:focus {
+       -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+       box-shadow: 1px 1px 1px rgba(0,0,0,.2);
 }
 
-.wp_themeSkin .mceNoIcons span.mceIcon {
-       width: 0;
+.mce-window .mce-btn:active {
+       background: #eee;
+       border-color: #999;
+       color: #333;
+       -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 );
 }
 
-.wp_themeSkin .mceNoIcons a .mceText {
-       padding-left: 10px;
+.mce-window .mce-btn.mce-disabled {
+       color: #aaa;
+       border-color: #ddd;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       text-shadow: 0 1px 0 #fff;
+       cursor: default;
 }
 
-.wp_themeSkin .mceMenu table {
-       background-color: #ebeaeb;
+.mce-window .mce-btn.mce-primary {
+       background: #2ea2cc;
+       border-color: #0074a2;
+       -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
+       box-shadow: inset 0 1px 0 rgba(120,200,230,0.5), 0 1px 0 rgba(0,0,0,.15);
+       color: #fff;
+       text-decoration: none;
 }
 
-.wp_themeSkin .mceMenu a,
-.wp_themeSkin .mceMenu span,
-.wp_themeSkin .mceMenu {
-       display: block;
+.mce-window .mce-btn.mce-primary:hover {
+       background: #1e8cbe;
+       border-color: #0074a2;
+       -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
+       box-shadow: inset 0 1px 0 rgba(120,200,230,0.6);
+       color: #fff;
 }
 
-.wp_themeSkin .mceMenu td {
-       height: 20px;overflow: hidden;
+.mce-window .mce-btn.mce-primary:focus {
+       border-color: #0e3950;
+       -webkit-box-shadow: inset 0 1px 0 rgba(120,200,230,0.6), 1px 1px 2px rgba(0,0,0,0.4);
+       box-shadow: inset 0 1px 0 rgba(120,200,230,0.6), 1px 1px 2px rgba(0,0,0,0.4);
 }
 
-.wp_themeSkin .mceMenu a {
-       position: relative;
-       padding: 3px 0 4px 0;
-       text-decoration: none !important;
+.mce-window .mce-btn.mce-primary:active {
+       background: #1b7aa6;
+       border-color: #005684;
+       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);
 }
 
-.wp_themeSkin .mceMenu .mceText {
-       position: relative;
-       display: block;
-       font-family: "Open Sans", sans-serif;
-       cursor: default;
-       margin: 0;
-       padding: 0 25px;
-       color: #000;
+.mce-window .mce-btn.mce-primary.mce-disabled {
+       color: #94cde7;
+       background: #298cba;
+       border-color: #1b607f;
+       text-shadow: 0 -1px 0 rgba(0,0,0,0.1);
 }
 
-.wp_themeSkin .mceMenu span.mceText, .wp_themeSkin .mceMenu .mcePreview {
-       font-size: 12px;
+.mce-menubtn.mce-fixed-width button span {
+       max-width: 80px;
+       padding-right: 16px;
 }
 
-.wp_themeSkin .mceMenu pre.mceText {
-       font-family: Monospace;
+/* Charmap modal */
+.mce-charmap {
+       margin: 3px;
 }
 
-.wp_themeSkin .mceMenu .mceIcon {
-       position: absolute;
-       top: 0;
-       left: 0;
-       width: 22px;
+.mce-charmap td {
+       padding: 0;
+       border-color: #dfdfdf;
+       cursor: pointer;
 }
 
-.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,
-.wp_themeSkin .mceMenu .mceMenuItemActive {
-       background-color: #f5f5f5;
+.mce-charmap td:hover {
+       background: #f3f3f3;
 }
 
-.wp_themeSkin td.mceMenuItemSeparator {
-       height: 1px;
-       background-color: #aaa;
+.mce-charmap td div {
+       width: 18px;
+       height: 22px;
+       line-height: 22px;
 }
 
-.wp_themeSkin .mceMenuItemTitle a {
-       border-top: 0;
-       border-right: 0;
-       border-left: 0;
-       border-bottom: 1px solid #aaa;
-       text-decoration: none !important;
-       background-color: #ccc;
+/* TinyMCE tooltips */
+.mce-tooltip {
+       margin-top: 2px;
 }
 
-.wp_themeSkin .mceMenuItemTitle span.mceText {
-       font-weight: bold;
-       padding-left: 4px;
-       color: #000;
+.mce-tooltip-inner {
+       -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;
+       font-size: 12px;
 }
 
-.wp_themeSkin .mceMenuItemSelected .mceIcon {
-       background: url("../js/tinymce/themes/advanced/skins/default/img/menu_check.gif");
-       color: #888;
+/* TinyMCE icons */
+.mce-ico {
+       font-family: 'tinymce', Arial;
 }
 
-.wp_themeSkin .mceNoIcons .mceMenuItemSelected a {
-       background: url("../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif") no-repeat -6px center;
+.mce-btn-small .mce-ico {
+    font-family: 'tinymce-small', Arial;
 }
 
-.wp_themeSkin .mceMenu span.mceMenuLine {
-       display: none;
+.mce-toolbar .mce-ico {
+       color: #777;
+       line-height: 20px;
+       width: 20px;
+       height: 20px;
+       text-align: center;
+       text-shadow: none;
+       margin: 0;
+       padding: 0;
 }
 
-.wp_themeSkin .mceMenuItemSub a {
-       background: url("../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif") no-repeat top right;
+.qt-fullscreen {
+       color: #777;
+       line-height: 20px;
+       width: 28px;
+       height: 26px;
+       text-align: center;
+       text-shadow: none;
 }
 
-/* Progress,Resize */
-.wp_themeSkin .mceBlocker {
-       position: absolute;
-       left: 0;
-       top: 0;
-       z-index: 1000;
-       opacity: 0.5;
-       filter: alpha(opacity=50);
-       background: #FFF;
+.mce-toolbar .mce-btn .mce-open {
+       line-height: 20px;
 }
 
-.wp_themeSkin .mceProgress {
-       position: absolute;
-       left: 0;
-       top: 0;
-       z-index: 1001;
-       background: url("../js/tinymce/themes/advanced/skins/default/img/progress.gif") no-repeat;
-       width: 32px;
-       height: 32px;
-       margin: -16px 0 0 -16px;
+.mce-toolbar .mce-btn:hover .mce-open,
+.mce-toolbar .mce-btn:focus .mce-open,
+.mce-toolbar .mce-btn.mce-active .mce-open {
+       border-left-color: #999;
+}
+
+i.mce-i-bold,
+i.mce-i-italic,
+i.mce-i-bullist,
+i.mce-i-numlist,
+i.mce-i-blockquote,
+i.mce-i-alignleft,
+i.mce-i-aligncenter,
+i.mce-i-alignright,
+i.mce-i-link,
+i.mce-i-unlink,
+i.mce-i-wp_more,
+i.mce-i-strikethrough,
+i.mce-i-spellchecker,
+i.mce-i-fullscreen,
+i.mce-i-wp_fullscreen,
+i.mce-i-wp_adv,
+i.mce-i-underline,
+i.mce-i-alignjustify,
+i.mce-i-forecolor,
+i.mce-i-pastetext,
+i.mce-i-pasteword,
+i.mce-i-removeformat,
+i.mce-i-charmap,
+i.mce-i-outdent,
+i.mce-i-indent,
+i.mce-i-undo,
+i.mce-i-redo,
+i.mce-i-help,
+i.mce-i-wp_help,
+i.mce-i-wp-media-library,
+i.mce-i-ltr,
+i.mce-i-wp_page,
+i.mce-i-hr,
+.mce-close {
+       font: normal 20px/1 'dashicons';
+       padding: 0;
+       vertical-align: top;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       margin-left: -2px;
+       padding-right: 2px;
 }
 
-.wp_themeSkin .mcePlaceHolder {
-       border: 1px dotted gray;
+.qt-fullscreen {
+       font: normal 20px/1 'dashicons';
+       vertical-align: top;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
 }
 
-/* Rtl */
-.mceRtl .mceListBox .mceText {
-       text-align: right;
-       padding: 0 4px 0 0;
+i.mce-i-bold:before {
+       content: '\f200';
 }
 
-.mceRtl .mceMenuItem .mceText {
-       text-align: right;
+i.mce-i-italic:before {
+       content: '\f201';
 }
 
-/* Formats */
-.wp_themeSkin .mce_p span.mceText {}
-.wp_themeSkin .mce_address span.mceText {
-       font-style: italic;
-}
-
-.wp_themeSkin .mce_pre span.mceText {
-       font-family: monospace;
-}
-
-.wp_themeSkin .mce_h1 span.mceText {
-       font-weight: bolder;
-       font-size: 18px;
-}
-
-.wp_themeSkin .mce_h2 span.mceText {
-       font-weight: bolder;
-       font-size: 14px;
-}
-
-.wp_themeSkin .mce_h3 span.mceText {
-       font-weight: bolder;
-       font-size: 12px;
-}
-
-.wp_themeSkin .mce_h4 span.mceText {
-       font-weight: bolder;
-       font-size: 11px;
-}
-
-.wp_themeSkin .mce_h5 span.mceText {
-       font-weight: bolder;
-       font-size: 11px;
-}
-
-.wp_themeSkin .mce_h6 span.mceText {
-       font-weight: bolder;
-       font-size: 10px;
-}
-
-span.mce_bold:before {
-       content: '\f200';
-}
-
-span.mce_italic:before {
-       content: '\f201';
-}
-
-span.mce_bullist:before {
+i.mce-i-bullist:before {
        content: '\f203';
 }
 
-span.mce_numlist:before {
+i.mce-i-numlist:before {
        content: '\f204';
 }
 
-span.mce_blockquote:before {
+i.mce-i-blockquote:before {
        content: '\f205';
 }
 
-span.mce_justifyleft:before {
+i.mce-i-alignleft:before {
        content: '\f206';
 }
 
-span.mce_justifycenter:before {
+i.mce-i-aligncenter:before {
        content: '\f207';
 }
 
-span.mce_justifyright:before {
+i.mce-i-alignright:before {
        content: '\f208';
 }
 
-span.mce_link:before {
+i.mce-i-link:before {
        content: '\f103';
 }
 
-span.mce_unlink:before {
+i.mce-i-unlink:before {
        content: '\f225';
 }
 
-span.mce_wp_more:before {
+i.mce-i-wp_more:before {
        content: '\f209';
 }
 
-span.mce_strikethrough:before {
+i.mce-i-strikethrough:before {
        content: '\f224';
 }
 
-span.mce_spellchecker {
-       font-size: 20px;
-       background: none !important;
-       margin-top: 2px;
-}
-
-span.mce_spellchecker:before {
+i.mce-i-spellchecker:before {
        content: '\f210';
 }
 
-span.mce_fullscreen:before,
-span.mce_wp_fullscreen:before {
+i.mce-i-fullscreen:before,
+i.mce-i-wp_fullscreen:before,
+.qt-fullscreen:before {
        content: '\f211';
 }
 
-span.mce_wp_adv:before {
+i.mce-i-wp_adv:before {
        content: '\f212';
 }
-span.mce_underline:before {
+
+i.mce-i-underline:before {
        content: '\f213';
 }
 
-span.mce_justifyfull:before {
+i.mce-i-alignjustify:before {
        content: '\f214';
 }
 
-span.mce_forecolor {
-       background: none !important;
-}
-
-span.mce_forecolor:before {
+i.mce-i-forecolor:before {
        content: '\f215';
 }
 
-span.mce_pastetext:before {
+i.mce-i-pastetext:before {
        content: '\f217';
 }
 
-span.mce_pasteword:before {
-       content: '\f216';
-}
-
-span.mce_removeformat:before {
+i.mce-i-removeformat:before {
        content: '\f218';
 }
 
-span.mce_charmap:before {
+i.mce-i-charmap:before {
        content: '\f220';
 }
 
-span.mce_outdent:before {
+i.mce-i-outdent:before {
        content: '\f221';
 }
 
-span.mce_indent:before {
+i.mce-i-indent:before {
        content: '\f222';
 }
 
-span.mce_undo:before {
+i.mce-i-undo:before {
        content: '\f171';
 }
 
-span.mce_redo:before {
+i.mce-i-redo:before {
        content: '\f172';
 }
 
-span.mce_help:before,
-span.mce_wp_help:before {
+i.mce-i-help:before,
+i.mce-i-wp_help:before {
        content: '\f223';
 }
 
-span.mce_image:before {
+i.mce-i-wp-media-library:before {
        content: '\f104';
 }
 
-span.mce_ltr:before {
+i.mce-i-ltr:before {
        content: '\f320';
 }
 
-/* Default icons */
-.wp_themeSkin span.mce_cleanup {background-position:-380px -20px}
-.wp_themeSkin span.mce_anchor {background-position:-200px 0}
-.wp_themeSkin span.mce_sub {background-position:-600px 0}
-.wp_themeSkin span.mce_sup {background-position:-620px 0}
-.wp_themeSkin span.mce_newdocument {background-position:-520px 0}
-.wp_themeSkin span.mce_image {background-position:-380px 0}
-.wp_themeSkin span.mce_code {background-position:-260px 0}
-.wp_themeSkin span.mce_hr {background-position:-360px 0}
-.wp_themeSkin span.mce_visualaid {background-position:-660px 0}
-.wp_themeSkin span.mce_paste {background-position:-560px 0}
-.wp_themeSkin span.mce_copy {background-position:-700px 0}
-.wp_themeSkin span.mce_cut {background-position:-680px 0}
-.wp_themeSkin .mce_backcolor span.mceAction {background-position:-760px 0}
-.wp_themeSkin .mce_backcolorpicker {background-position:-760px 0}
-
-/* Plugins */
-.wp_themeSkin span.mce_advhr {background-position:-0px -20px}
-.wp_themeSkin span.mce_ltr {background-position:-20px -20px}
-.wp_themeSkin span.mce_rtl {background-position:-40px -20px}
-.wp_themeSkin span.mce_emotions {background-position:-60px -20px}
-.wp_themeSkin span.mce_fullpage {background-position:-80px -20px}
-.wp_themeSkin span.mce_iespell {background-position:-120px -20px}
-.wp_themeSkin span.mce_insertdate {background-position:-140px -20px}
-.wp_themeSkin span.mce_inserttime {background-position:-160px -20px}
-.wp_themeSkin span.mce_absolute {background-position:-180px -20px}
-.wp_themeSkin span.mce_backward {background-position:-200px -20px}
-.wp_themeSkin span.mce_forward {background-position:-220px -20px}
-.wp_themeSkin span.mce_insert_layer {background-position:-240px -20px}
-.wp_themeSkin span.mce_insertlayer {background-position:-260px -20px}
-.wp_themeSkin span.mce_movebackward {background-position:-280px -20px}
-.wp_themeSkin span.mce_moveforward {background-position:-300px -20px}
-.wp_themeSkin span.mce_media {background-position:-320px -20px}
-.wp_themeSkin span.mce_nonbreaking {background-position:-340px -20px}
-.wp_themeSkin span.mce_selectall {background-position:-400px -20px}
-.wp_themeSkin span.mce_preview {background-position:-420px -20px}
-.wp_themeSkin span.mce_print {background-position:-440px -20px}
-.wp_themeSkin span.mce_cancel {background-position:-460px -20px}
-.wp_themeSkin span.mce_save {background-position:-480px -20px}
-.wp_themeSkin span.mce_replace {background-position:-500px -20px}
-.wp_themeSkin span.mce_search {background-position:-520px -20px}
-.wp_themeSkin span.mce_styleprops {background-position:-560px -20px}
-.wp_themeSkin span.mce_table {background-position:-580px -20px}
-.wp_themeSkin span.mce_cell_props {background-position:-600px -20px}
-.wp_themeSkin span.mce_delete_table {background-position:-620px -20px}
-.wp_themeSkin span.mce_delete_col {background-position:-640px -20px}
-.wp_themeSkin span.mce_delete_row {background-position:-660px -20px}
-.wp_themeSkin span.mce_col_after {background-position:-680px -20px}
-.wp_themeSkin span.mce_col_before {background-position:-700px -20px}
-.wp_themeSkin span.mce_row_after {background-position:-720px -20px}
-.wp_themeSkin span.mce_row_before {background-position:-740px -20px}
-.wp_themeSkin span.mce_merge_cells {background-position:-760px -20px}
-.wp_themeSkin span.mce_table_props {background-position:-980px -20px}
-.wp_themeSkin span.mce_row_props {background-position:-780px -20px}
-.wp_themeSkin span.mce_split_cells {background-position:-800px -20px}
-.wp_themeSkin span.mce_template {background-position:-820px -20px}
-.wp_themeSkin span.mce_visualchars {background-position:-840px -20px}
-.wp_themeSkin span.mce_abbr {background-position:-860px -20px}
-.wp_themeSkin span.mce_acronym {background-position:-880px -20px}
-.wp_themeSkin span.mce_attribs {background-position:-900px -20px}
-.wp_themeSkin span.mce_cite {background-position:-920px -20px}
-.wp_themeSkin span.mce_del {background-position:-940px -20px}
-.wp_themeSkin span.mce_ins {background-position:-960px -20px}
-.wp_themeSkin span.mce_pagebreak {background-position:0 -40px}
-.wp_themeSkin span.mce_restoredraft {background-position:-20px -40px}
-.wp_themeSkin span.mce_visualblocks {background-position: -40px -40px}
-
-/* border */
-.wp_themeSkin .mceExternalToolbar,
-.wp_themeSkin .mceButton,
-.wp_themeSkin a.mceButtonEnabled:hover,
-.wp_themeSkin a.mceButtonActive,
-.wp_themeSkin a.mceButtonSelected,
-.wp_themeSkin .mceListBox .mceText,
-.wp_themeSkin .mceListBox .mceOpen,
-.wp_themeSkin select.mceListBox,
-.wp_themeSkin .mceSplitButton a.mceAction,
-.wp_themeSkin .mceSplitButton a.mceOpen,
-.wp_themeSkin .mceSplitButton a.mceOpen:hover,
-.wp_themeSkin .mceSplitButtonSelected a.mceOpen,
-.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,
-.wp_themeSkin .mceSplitButton a.mceAction:hover,
-.wp_themeSkin div.mceColorSplitMenu table,
-.wp_themeSkin .mceColorSplitMenu a,
-.wp_themeSkin .mceColorSplitMenu a.mceMoreColors,
-.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover,
-.wp_themeSkin a.mceMoreColors:hover,
-.wp_themeSkin .mceMenu {
-       border-style: solid;
-       border-width: 1px;
-}
-
-.wp_themeSkin .mceListBox .mceText {
-       border-right: 0 none;
-}
-
-.wp_themeSkin iframe {
-       background: transparent;
-}
-
-.wp_themeSkin .mceButton {
-       border-color: transparent;
-}
-
-.wp_themeSkin .mceListBox .mceText,
-.wp_themeSkin .mceListBox .mceOpen {
-       border-color: transparent;
-}
-
-.wp_themeSkin a.mceButtonEnabled:hover,
-.wp_themeSkin table.mceSplitButton:hover {
-       border-color: #bbb;
-       background: #eee;
-       background-image: -webkit-gradient(linear, left bottom, left top, from(#e5e5e5), to(#fff));
-       background-image: -webkit-linear-gradient(bottom, #e5e5e5, #fff);
-       background-image:    -moz-linear-gradient(bottom, #e5e5e5, #fff);
-       background-image:      -o-linear-gradient(bottom, #e5e5e5, #fff);
-       background-image: linear-gradient(to top, #e5e5e5, #fff);
-}
-
-.wp_themeSkin a.mceButton:active,
-.wp_themeSkin a.mceButtonEnabled:active,
-.wp_themeSkin a.mceButtonSelected:active,
-.wp_themeSkin a.mceButtonActive,
-.wp_themeSkin a.mceButtonActive:active,
-.wp_themeSkin a.mceButtonActive:hover,
-.wp_themeSkin .mceSplitButtonSelected table,
-.wp_themeSkin .mceSplitButtonSelected table:hover {
-       outline: none;
-       border-color: #999 #ccc #ccc #999;
-       background: #eee;
-       background-image: -webkit-gradient(linear, left bottom, left top, from(#f6f6f6), to(#e3e3e3));
-       background-image: -webkit-linear-gradient(bottom, #f6f6f6, #e3e3e3);
-       background-image:    -moz-linear-gradient(bottom, #f6f6f6, #e3e3e3);
-       background-image:      -o-linear-gradient(bottom, #f6f6f6, #e3e3e3);
-       background-image: linear-gradient(to top, #f6f6f6, #e3e3e3);
-}
-
-.wp_themeSkin .mceSplitButtonSelected table a.mceOpen,
-.wp_themeSkin .mceSplitButtonSelected table a.mceAction {
-       border-color: #999 #ccc #ccc #999;
-}
-
-.wp_themeSkin .mceButtonDisabled {
-       border-color: transparent;
-}
-
-.wp_themeSkin .mceListBox .mceOpen {
-       border-left: 0;
-}
-
-.wp_themeSkin .mceListBoxEnabled:hover,
-.wp_themeSkin .mceListBoxEnabled:active,
-.wp_themeSkin .mceListBoxHover,
-.wp_themeSkin .mceListBoxHover:active,
-.wp_themeSkin .mceListBoxSelected {
-       -webkit-box-shadow: inset 0 1px 1px -1px rgba(0, 0, 0, .3);
-       box-shadow:         inset 0 1px 1px -1px rgba(0, 0, 0, .3);
-       border-color: #bbb;
-}
-
-/* SplitButton */
-.wp_themeSkin .mceSplitButton .mceLast span.mceOpen .mceIconOnly {
-       display: block;
-}
-
-.wp_themeSkin .mceSplitButton a.mceAction,
-.wp_themeSkin .mceSplitButton a.mceOpen {
-       border-color: transparent;
-}
-
-.wp_themeSkin .mceSplitButton:hover a {
-       border-color: #bbb;
-}
-
-.wp_themeSkin .mceSplitButtonEnabled a.mceOpen,
-.wp_themeSkin .mceSplitButtonSelected a.mceOpen,
-.wp_themeSkin .mceSplitButtonActive a.mceOpen,
-.wp_themeSkin .mceSplitButtonEnabled:hover a.mceOpen {
-       background-image: url("../images/down_arrow.gif");
-       background-position: 1px 2px;
-       background-repeat: no-repeat;
-       border-left: 0;
-}
-
-.wp_themeSkin .mceSplitButtonActive td {
-       -webkit-border-radius: 3px;
-       border-radius: 3px;
-}
-
-.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover {
-       border-color: #0A246A;
-       background-color: #B6BDD2;
+i.mce-i-wp_page:before {
+       content: '\f105';
 }
 
-.wp_themeSkin a.mceMoreColors:hover {
-       border-color: #0A246A;
+i.mce-i-hr:before {
+       content: '\f460';
 }
 
-.wp_themeSkin .mceMenuItemDisabled .mceText {
-       color: #888;
+.mce-close:before {
+       content: '\f158';
 }
 
-#mceModalBlocker {
-       background: #000;
-       opacity: 0.7;
-       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
-       filter: alpha(opacity=70);
+.mce-i-wp_code:before {
+       content: '\e017';
 }
 
-/* WP specific */
+/* Editors */
 .wp-editor-wrap {
        position: relative;
 }
@@ -1164,8 +754,8 @@ span.mce_ltr:before {
        outline: none;
        display: block;
        resize: vertical;
-       -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
        box-sizing: border-box;
 }
 
@@ -1180,12 +770,6 @@ span.mce_ltr:before {
        box-shadow: none;
 }
 
-.quicktags-toolbar,
-.wp_themeSkin tr.mceFirst td.mceToolbar {
-       border-bottom: 1px solid #dedede;
-       background: #f5f5f5;
-}
-
 .wp-editor-tabs {
        float: right;
 }
@@ -1285,43 +869,20 @@ span.mce_ltr:before {
        content: '\f104';
 }
 
+/* Quicktags */
 .quicktags-toolbar {
-       border-bottom-style: solid;
-       border-bottom-width: 1px;
-       -webkit-border-top-right-radius: 3px;
-       -webkit-border-top-left-radius: 3px;
-       border-top-right-radius: 3px;
-       border-top-left-radius: 3px;
-       padding: 2px 8px 0;
-       min-height: 29px;
-}
-
-.quicktags-toolbar > div {
-       padding: 2px 4px 0;
+       padding: 3px;
+       position: relative;
+       border-bottom: 1px solid #dedede;
+       background: #f5f5f5;
 }
 
-.quicktags-toolbar input {
-       margin: 2px 1px 4px;
-       line-height: 18px;
-       display: inline-block;
-       min-width: 26px;
-       padding: 2px 4px;
-       font: 12px/18px "Open Sans", sans-serif;
-       color: #464646;
-       border: 1px solid #c3c3c3;
-       -webkit-border-radius: 3px;
-       border-radius: 3px;
-       background: #eee;
-       background-image: -webkit-gradient(linear, left bottom, left top, from(#e3e3e3), to(#fff));
-       background-image: -webkit-linear-gradient(bottom, #e3e3e3, #fff);
-       background-image:    -moz-linear-gradient(bottom, #e3e3e3, #fff);
-       background-image:      -o-linear-gradient(bottom, #e3e3e3, #fff);
-       background-image: linear-gradient(to top, #e3e3e3, #fff);
+.has-dfw .quicktags-toolbar {
+       padding-right: 35px;
 }
 
-.quicktags-toolbar input:hover {
-       border-color: #aaa;
-       background: #ddd;
+.wp-core-ui .quicktags-toolbar input.button.button-small {
+       margin: 2px;
 }
 
 .quicktags-toolbar input[value="link"] {
@@ -1340,12 +901,55 @@ span.mce_ltr:before {
        font-weight: bold;
 }
 
+.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen,
+.qt-fullscreen {
+       position: absolute;
+       top: 0;
+       right: 0;
+       margin-top: 5px;
+       margin-right: 5px;
+}
+
+@media screen and ( max-width: 782px ) {
+       .mce-toolbar .mce-btn button,
+       .qt-fullscreen {
+               padding: 7px 8px;
+       }
+
+       .qt-fullscreen {
+               width: 38px;
+               height: 34px;
+       }
+
+       .mce-toolbar .mce-colorbutton .mce-preview {
+               margin-left: -21px;
+       }
+
+       .mce-window .mce-btn {
+               padding: 2px 0;
+       }
+
+       div.mce-toolbar-grp,
+       .quicktags-toolbar {
+               padding-right: 46px;
+       }
+}
+
+@media screen and ( min-width: 782px ) {
+       .wp-core-ui .quicktags-toolbar input.button.button-small {
+               /* .button-small is normaly 11px, but a bit too small for these buttons. */
+               font-size: 12px;
+               height: 26px;
+               line-height: 24px;
+       }
+}
+
 #wp_editbtns,
 #wp_gallerybtns {
        padding: 2px;
        position: absolute;
        display: none;
-       z-index: 155000;
+       z-index: 100020;
 }
 
 #wp_editimgbtn,
@@ -1374,10 +978,100 @@ span.mce_ltr:before {
  wp-link
 ------------------------------------------------------------------------------*/
 
+#wp-link-wrap {
+       display: none;
+       background-color: #fff;
+       -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       width: 500px;
+       height: 250px;
+       overflow: hidden;
+       margin-left: -250px;
+       margin-top: -125px;
+       position: fixed;
+       top: 50%;
+       left: 50%;
+       z-index: 100105;
+       -webkit-transition: height 0.2s, margin-top 0.2s;
+       transition: height 0.2s, margin-top 0.2s;
+}
+
+#wp-link-backdrop {
+       display: none;
+       position: fixed;
+       top: 0;
+       left: 0;
+       right: 0;
+       bottom: 0;
+       min-height: 360px;
+       background: #000;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
+       z-index: 100100;
+}
+
 #wp-link {
-       background-color: #F5F5F5;
-       line-height: 1.4em;
-       font-size: 12px;
+       position: relative;
+       height: 100%;
+}
+
+#wp-link-wrap.search-panel-visible {
+       height: 500px;
+       margin-top: -250px;
+}
+
+#link-modal-title {
+       background: #fcfcfc;
+       border-bottom: 1px solid #dfdfdf;
+       height: 36px;
+       font-size: 18px;
+       font-weight: 600;
+       line-height: 36px;
+       padding: 0 36px 0 16px;
+       top: 0;
+       right: 0;
+       left: 0;
+}
+
+#wp-link-close {
+       color: #666;
+       cursor: pointer;
+       padding: 0;
+       position: absolute;
+       top: 0;
+       right: 0;
+       width: 36px;
+       height: 36px;
+       text-align: center;
+}
+
+#wp-link-close:before {
+       font: normal 20px/36px 'dashicons';
+       vertical-align: top;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       width: 36px;
+       height: 36px;
+       content: '\f158';
+}
+
+#wp-link-close:hover,
+#wp-link-close:focus {
+       color: #2ea2cc;
+}
+
+#link-selector {
+       padding: 0 16px 50px;
+}
+
+#wp-link-wrap.search-panel-visible #link-selector {
+       padding: 0 16px;
+       position: absolute;
+       top: 36px;
+       left: 0;
+       right: 0;
+       bottom: 44px;
 }
 
 #wp-link ol,
@@ -1387,50 +1081,40 @@ span.mce_ltr:before {
        padding: 0;
 }
 
-#wp-link input[type="text"] {
-       -webkit-box-sizing: border-box;
+#wp-link-search-toggle::after {
+       font: normal 20px/1 'dashicons';
+       vertical-align: top;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       content: '\f140';
 }
 
-#wp-link input[type="text"],
-#wp-link textarea {
-       border-width: 1px;
-       border-style: solid;
-       -webkit-border-radius: 4px;
-       border-radius: 4px;
-       font-size: 12px;
-       margin: 1px;
-       padding: 3px;
+.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: 10px 0 14px;
-       border-bottom: 1px solid #dfdfdf;
-       margin: 0 6px 14px;
+       padding: 8px 0 12px;
 }
 
 #wp-link p.howto {
-       margin: 3px;
+       margin: 3px 0;
 }
 
-#wp-link #internal-toggle {
-       display: inline-block;
+#wp-link-search-toggle {
        cursor: pointer;
-       padding-left: 18px;
-}
-
-#wp-link .toggle-arrow {
-       background: transparent url("../images/toggle-arrow.png") top left no-repeat;
-       height: 23px;
-       line-height: 23px;
-}
-
-#wp-link .toggle-arrow-active {
-       background-position: center left;
 }
 
 #wp-link label input[type="text"] {
-       width: 360px;
        margin-top: 5px;
+       width: 70%;
 }
 
 #wp-link #link-options label span,
@@ -1439,15 +1123,17 @@ span.mce_ltr:before {
        width: 80px;
        text-align: right;
        padding-right: 5px;
+       max-width: 24%;
 }
 
 #wp-link .link-search-field {
        float: left;
-       width: 220px;
+       width: 250px;
+       max-width: 70%;
 }
 
 #wp-link .link-search-wrapper {
-       margin: 5px 6px 9px;
+       margin: 5px 0 9px;
        display: block;
        overflow: hidden;
 }
@@ -1463,19 +1149,26 @@ span.mce_ltr:before {
 }
 
 #wp-link .link-target {
-       width: auto;
        padding: 3px 0 0;
-       margin: 0 0 0 87px;
-       font-size: 11px;
+       white-space: nowrap;
+       overflow: hidden;
+       text-overflow: ellipsis;
+}
+
+#wp-link .link-target label {
+       max-width: 70%;
 }
 
 #wp-link .query-results {
        border: 1px #dfdfdf solid;
-       margin: 0 5px 5px;
+       margin: 0;
        background: #fff;
-       height: 185px;
        overflow: auto;
-       position: relative;
+       position: absolute;
+       left: 16px;
+       right: 16px;
+       bottom: 16px;
+       top: 205px;
 }
 
 #wp-link li,
@@ -1513,372 +1206,147 @@ span.mce_ltr:before {
        font-weight: bold;
 }
 
-#wp-link .item-title {
-       display: inline-block;
-       width: 80%;
-}
-
-#wp-link .item-info {
-       text-transform: uppercase;
-       color: #666;
-       font-size: 11px;
-       position: absolute;
-       right: 5px;
-       top: 4px;
-       bottom: 0;
-}
-
-#wp-link #search-results {
-       display: none;
-}
-
-#wp-link #search-panel {
-       float: left;
-       width: 100%;
-}
-
-#wp-link .river-waiting {
-       display: none;
-       padding: 10px 0;
-}
-
-#wp-link .river-waiting .spinner {
-       margin: 0 auto;
-       display: block;
-}
-
-#wp-link .submitbox {
-       padding: 5px 10px;
-       font-size: 11px;
-       overflow: auto;
-       height: 29px;
-}
-
-#wp-link-cancel {
-       line-height: 25px;
-       float: left;
-}
-
-#wp-link-update {
-       line-height: 23px;
-       float: right;
+#wp-link li:last-child {
+       border: none;
 }
-
-/*!
- * jQuery UI CSS Framework 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Theming/API
- */
-
-/* Layout helpers
-----------------------------------*/
-.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:before,
-.ui-helper-clearfix:after {
-       content: "";
-       display: table;
-       border-collapse: collapse;
-}
-.ui-helper-clearfix:after {
-       clear: both;
-}
-.ui-helper-clearfix {
-       min-height: 0; /* support: IE7 */
-}
-.ui-helper-zfix {
-       width: 100%;
-       height: 100%;
-       top: 0;
-       left: 0;
-       position: absolute;
-       opacity: 0;
-       filter:Alpha(Opacity=0);
-}
-
-.ui-front {
-       z-index: 100;
-}
-
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-disabled {
-       cursor: default !important;
-}
-
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon {
-       display: block;
-       text-indent: -99999px;
-       overflow: hidden;
-       background-repeat: no-repeat;
-}
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay {
-       position: fixed;
-       top: 0;
-       left: 0;
-       width: 100%;
-       height: 100%;
-}
-
-
-/*!
- * jQuery UI Resizable 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Resizable#theming
- */
-.ui-resizable {
-       position: relative;
-}
-.ui-resizable-handle {
-       position: absolute;
-       font-size: 0.1px;
-       display: block;
-}
-.ui-resizable-disabled .ui-resizable-handle,
-.ui-resizable-autohide .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;
-}
-
-/*!
- * jQuery UI Dialog 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Dialog#theming
- */
-.ui-dialog {
-       position: absolute;
-       top: 0;
-       /* @noflip */
-       left: 0;
-       padding: .2em;
-       outline: 0;
-}
-.ui-dialog .ui-dialog-titlebar {
-       padding: .4em 1em;
-       position: relative;
-}
-.ui-dialog .ui-dialog-title {
-       float: left;
-       margin: .1em 0;
-       white-space: nowrap;
-       width: 90%;
-       overflow: hidden;
-       text-overflow: ellipsis;
-}
-.ui-dialog .ui-dialog-titlebar-close {
-       position: absolute;
-       right: .3em;
-       top: 50%;
-       width: 21px;
-       margin: -10px 0 0 0;
-       padding: 1px;
-       height: 20px;
-}
-.ui-dialog .ui-dialog-content {
-       position: relative;
-       border: 0;
-       padding: .5em 1em;
-       background: none;
-       overflow: auto;
-}
-.ui-dialog .ui-dialog-buttonpane {
-       text-align: left;
-       border-width: 1px 0 0 0;
-       background-image: none;
-       margin-top: .5em;
-       padding: .3em 1em .5em .4em;
-}
-.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
-       float: right;
+
+#wp-link .item-title {
+       display: inline-block;
+       width: 80%;
+       width: -webkit-calc(100% - 68px);
+       width: calc(100% - 68px);
 }
-.ui-dialog .ui-dialog-buttonpane button {
-       margin: .5em .4em .5em 0;
-       cursor: pointer;
+
+#wp-link .item-info {
+       text-transform: uppercase;
+       color: #666;
+       font-size: 11px;
+       position: absolute;
+       right: 5px;
+       top: 5px;
 }
-.ui-dialog .ui-resizable-se {
-       width: 12px;
-       height: 12px;
-       right: -5px;
-       bottom: -5px;
-       background-position: 16px 16px;
+
+#wp-link #search-results,
+#wp-link #search-panel {
+       display: none;
 }
-.ui-draggable .ui-dialog-titlebar {
-       cursor: move;
+
+#wp-link-wrap.search-panel-visible #search-panel {
+       display: block;
 }
 
-/* WP jQuery Dialog Theme */
-.wp-dialog {
-       padding: 0;
-       z-index: 300002;
-       border: 0;
-       -webkit-box-shadow: 0 5px 15px rgba(0,0,0,0.7);
-       box-shadow:         0 5px 15px rgba(0,0,0,0.7);
-       background-color: #f5f5f5;
+#wp-link .river-waiting {
+       display: none;
+       padding: 10px 0;
 }
 
-.wp-dialog .ui-dialog-title {
+#wp-link .river-waiting .spinner {
+       margin: 0 auto;
        display: block;
-       text-align: center;
-       padding: 0;
+       float: none;
 }
 
-.wp-dialog .ui-dialog-titlebar {
-       padding: 0 1em;
-       background-color: #444;
-       font-size: 13px;
-       line-height: 24px;
-       color: #fff;
+#wp-link .submitbox {
+       padding: 8px 16px;
+       background: #fcfcfc;
+       border-top: 1px solid #dfdfdf;
+       position: absolute;
+       bottom: 0;
+       left: 0;
+       right: 0;
 }
 
-.wp-dialog .ui-dialog-content {
-       padding: 0;
+#wp-link-cancel {
+       line-height: 25px;
 }
 
-.wp-dialog .ui-dialog-titlebar-close {
-       cursor: pointer;
-       -webkit-appearance: none;
-       border: 0;
-       width: 30px;
-       height: 20px;
-       top: 13px;
-       right: 6px;
-       background: none;
+#wp-link-update {
+       line-height: 23px;
+       float: right;
 }
 
-.wp-dialog .ui-dialog-titlebar-close:before {
-       content: '\f158';
-       font: normal 20px/1 'dashicons';
-       speak: none;
-       -webkit-font-smoothing: antialiased;
-       -moz-osx-font-smoothing: grayscale;
-       color: #999;
-       padding-left: 12px;
+#wp-link-submit {
+       float: right;
+       margin-bottom: 0;
 }
 
-.wp-dialog .ui-dialog-titlebar-close:hover:before {
-       color: #2ea2cc;
+@media screen and ( max-width: 782px ) {
+       #wp-link-wrap {
+               height: 280px;
+               margin-top: -140px;
+       }
+
+       #wp-link-wrap.search-panel-visible .query-results {
+               top: 235px;
+       }
+
+       #link-selector {
+               padding: 0 16px 60px;
+       }
+
+       #wp-link-wrap.search-panel-visible #link-selector {
+               bottom: 52px;
+       }
+
+       #wp-link-cancel {
+               line-height: 32px;
+       }
 }
 
-.wp-dialog .ui-dialog-titlebar-close .ui-button-text {
-       display: none;
+@media screen and ( max-width: 520px ) {
+       #wp-link-wrap {
+               width: auto;
+               margin-left: 0;
+               left: 10px;
+               right: 10px;
+               max-width: 500px;
+       }
 }
 
-.wp-dialog .ui-dialog-titlebar-close:hover,
-.wp-dialog .ui-dialog-titlebar-close:focus {
-       background-position: -87px -32px;
+@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;
+       }
 }
 
-.ui-widget-overlay {
-       z-index: 300001;
-       background-color: #000;
-       opacity: 0.6;
-       filter: alpha(opacity=60);
+@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;
+       }
 }
 
-/* TinyMCE modal */
+/* Old TinyMCE 3.x modal */
+/*
 .clearlooks2 .mceTop {
        border-bottom: 1px solid #ccc;
 }
@@ -1947,22 +1415,51 @@ span.mce_ltr:before {
        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: #222;
+}
+
+.clearlooks2 .mceClose:before {
+       color: #999;
+}
+
+.clearlooks2 .mceClose:hover:before {
+       color: #2ea2cc;
+}
+*/
 /* Distraction Free Writing mode
  * =Overlay Styles
 -------------------------------------------------------------- */
 .fullscreen-overlay {
-       z-index: 149999;
+       z-index: 100005;
        display: none;
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
+       -webkit-filter: inherit;
        filter: inherit;
 }
 
-.fullscreen-active .fullscreen-overlay,
-.fullscreen-active #wp-fullscreen-body {
+.wp-fullscreen-active .fullscreen-overlay,
+.wp-fullscreen-active #wp-fullscreen-body {
        display: block;
 }
 
@@ -1970,123 +1467,153 @@ span.mce_ltr:before {
        z-index: 200000;
 }
 
-.fullscreen-active .fullscreen-fader {
+.wp-fullscreen-active .fullscreen-fader,
+.wp-core-ui.wp-fullscreen-active .postbox-container {
        display: none;
 }
 
 /* =Overlay Body
 -------------------------------------------------------------- */
+
+#wp-fullscreen-body,
+.mce-fullscreen {
+       z-index: 100010;
+}
+
 #wp-fullscreen-body {
-       width: 100%;
-       z-index: 150005;
        display: none;
+}
+
+.wp-fullscreen-wrap {
+       margin: 0;
+       padding: 0;
        position: absolute;
-       top: 0;
        left: 0;
-       font-size: 12px;
+       right: 0;
+       bottom: 30px;
+       top: 60px;
+       z-index: 100015;
 }
 
-#wp-fullscreen-wrap {
-       margin: 0 auto 50px;
-       position: relative;
-       padding-top: 60px;
+.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-title {
-       font-size: 1.7em;
-       line-height: 100%;
-       outline: medium none;
-       padding: 6px 7px;
-       width: 100%;
-       margin-bottom: 30px;
-       -webkit-box-shadow: none;
-       box-shadow: none;
+.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-container {
-       padding: 4px 10px 50px;
+#wp-fullscreen-status {
+       margin: 0 auto;
+       padding: 0;
 }
 
-#wp-fullscreen-title,
-#wp-fullscreen-container {
+.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;
-       -moz-transition-property: border-color;
-       -moz-transition-duration: 0.6s;
-       -webkit-transition-property: border-color;
-       -webkit-transition-duration: 0.6s;
-       -o-transition-property: border-color;
-       -o-transition-duration: 0.6s;
-       transition-property: border-color;
-       transition-duration: 0.6s;
-}
-
-#wp_mce_fullscreen {
-       width: 100%;
-       min-height: 300px;
-       border: 0;
-       background: transparent;
-       font-family: Consolas, Monaco, monospace;
-       line-height: 1.6em;
-       padding: 0;
-       overflow-y: hidden;
-       outline: none;
-       resize: none;
        -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: #BBBBBB;
+       color: #888;
        font-size: 18px;
        float: right;
-       padding-top: 5px;
+       padding: 4px 0 0;
 }
 
 /* =Top bar
 -------------------------------------------------------------- */
 #fullscreen-topbar {
        background: #f5f5f5;
-       border-bottom: 1px solid #fff;
-       height: 40px;
-       left: 0;
-       min-width: 800px;
+       border-bottom: 1px solid #dedede;
+       height: 45px;
        position: fixed;
+       left: 0;
+       right: 0;
        top: 0;
        width: 100%;
-       z-index: 150050;
+       z-index: 100020;
+       -webkit-transition: opacity 0.4s;
+       transition: opacity 0.4s;
 }
 
 #wp-fullscreen-toolbar {
        padding: 6px 10px 0;
        clear: both;
        max-width: 1100px;
-       min-width: 820px;
        margin: 0 auto;
 }
 
 #wp-fullscreen-mode-bar,
 #wp-fullscreen-button-bar,
-#wp-fullscreen-close,
-#wp-fullscreen-count {
+#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 2px 0 5px;
+       padding: 2px 0 0;
+       min-width: 95px;
 }
 
 #wp-fullscreen-count,
 #wp-fullscreen-close {
-       padding-top: 5px;
+       padding: 5px 0 0;
 }
 
 #wp-fullscreen-central-toolbar {
        margin: auto;
        padding: 0;
+       min-width: 620px;
 }
 
 #wp-fullscreen-buttons > div {
@@ -2094,60 +1621,7 @@ span.mce_ltr:before {
 }
 
 #wp-fullscreen-mode-bar {
-       padding: 1px 14px 0 0;
-}
-
-#wp-fullscreen-modes a {
-       display: block;
-       font-size: 11px;
-       text-decoration: none;
-       float: left;
-       margin: 1px 0 0 0;
-       padding: 2px 6px 2px;
-       border-width: 1px 1px 1px 0;
-       border-style: solid;
-       border-color: #bbb;
-       color: #777;
-       text-shadow: 0 1px 0 #fff;
-       background-color: #f4f4f4;
-       background: #f4f4f4;
-       background-image: -webkit-gradient(linear, left bottom, left top, from(#e4e4e4), to(#f9f9f9));
-       background-image: -webkit-linear-gradient(bottom, #e4e4e4, #f9f9f9);
-       background-image:    -moz-linear-gradient(bottom, #e4e4e4, #f9f9f9);
-       background-image:      -o-linear-gradient(bottom, #e4e4e4, #f9f9f9);
-       background-image: linear-gradient(to top, #e4e4e4, #f9f9f9);
-}
-
-#wp-fullscreen-modes a:hover,
-.wp-html-mode #wp-fullscreen-modes a:last-child,
-.wp-tmce-mode #wp-fullscreen-modes a:first-child {
-       color: #333;
-       border-color: #999;
-       background: #eee;
-       background-image: -webkit-gradient(linear, left top, left bottom, from(#e4e4e4), to(#f9f9f9));
-       background-image: -webkit-linear-gradient(top, #e4e4e4, #f9f9f9);
-       background-image:    -moz-linear-gradient(top, #e4e4e4, #f9f9f9);
-       background-image:      -o-linear-gradient(top, #e4e4e4, #f9f9f9);
-       background-image: linear-gradient(to bottom, #e4e4e4, #f9f9f9);
-}
-
-#wp-fullscreen-modes a:first-child {
-       border-width: 1px;
-       -webkit-border-top-left-radius: 3px;
-       -webkit-border-bottom-left-radius: 3px;
-       border-top-left-radius: 3px;
-       border-bottom-left-radius: 3px;
-}
-
-#wp-fullscreen-modes a:last-child {
-       -webkit-border-top-right-radius: 3px;
-       -webkit-border-bottom-right-radius: 3px;
-       border-top-right-radius: 3px;
-       border-bottom-right-radius: 3px;
-}
-
-#wp-fullscreen-buttons .active a {
-       background: inherit;
+       padding: 3px 14px 0 0;
 }
 
 #wp-fullscreen-buttons .hidden {
@@ -2158,6 +1632,24 @@ span.mce_ltr:before {
        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: #333333;
+    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;
 }
@@ -2166,93 +1658,98 @@ span.mce_ltr:before {
        display: block;
 }
 
-#fullscreen-topbar.fullscreen-make-sticky {
-       display: block !important;
-}
-
 #wp-fullscreen-save img {
        vertical-align: middle;
 }
 
-#wp-fullscreen-save img,
 #wp-fullscreen-save span {
-       padding-right: 4px;
        display: none;
+       margin: 5px 6px 0;
+       float: left;
 }
 
 /* =Thickbox Adjustments
 -------------------------------------------------------------- */
-.fullscreen-active #TB_overlay {
-       z-index: 150100;
+.wp-fullscreen-active #TB_overlay {
+       z-index: 100050;
+}
+
+.wp-fullscreen-active #TB_window {
+       z-index: 100051;
 }
 
-.fullscreen-active #TB_window {
-       z-index: 150102;
+/* Colors */
+.fullscreen-overlay {
+       background: #fff;
 }
 
-/* =TinyMCE Adjustments
+/* =CSS 3 transitions
 -------------------------------------------------------------- */
-#wp_mce_fullscreen_ifr {
-       background: transparent;
+
+.wp-fullscreen-active #fullscreen-topbar {
+       -webkit-transition-duration: 0.8s;
+       transition-duration: 0.8s;
+       opacity: 0;
+       filter: alpha(opacity=0);
 }
 
-#wp_mce_fullscreen_parent #wp_mce_fullscreen_tbl tr.mceFirst {
-       display : none;
+.wp-fullscreen-active #wp-fullscreen-statusbar {
+       height: 0;
 }
 
-#wp-fullscreen-container .wp_themeSkin table td {
-       vertical-align: top;
+.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar {
+       -webkit-transition-duration: 0.4s;
+       transition-duration: 0.4s;
+       opacity: 1;
+       filter: alpha(opacity=100);
 }
 
-/* Colors */
-.fullscreen-overlay {
-       background: #fff;
+.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar {
+       height: 29px;
+       background: #f8f8f8;
+       border-top: 1px solid #eee;
 }
 
-.wp-fullscreen-focus #wp-fullscreen-title,
-.wp-fullscreen-focus #wp-fullscreen-container {
-       border-color: #ccc;
+.wp-fullscreen-active .wp-fullscreen-title,
+.wp-fullscreen-active .wp-editor-container {
+       -webkit-transition-duration: 0.8s;
+       transition-duration: 0.8s;
+       border-color: transparent;
 }
 
-/* =CSS 3 transitions
--------------------------------------------------------------- */
+.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;
-       -moz-transition-property: opacity;
        -webkit-transition-property: opacity;
-       -o-transition-property: opacity;
        transition-property: opacity;
 }
 
 .fade-1000 {
-       -moz-transition-duration: 1s;
        -webkit-transition-duration: 1s;
-       -o-transition-duration: 1s;
        transition-duration: 1s;
 }
 
 .fade-600 {
-       -moz-transition-duration: 0.6s;
        -webkit-transition-duration: 0.6s;
-       -o-transition-duration: 0.6s;
        transition-duration: 0.6s;
 }
 
 .fade-400 {
-       -moz-transition-duration: 0.4s;
        -webkit-transition-duration: 0.4s;
-       -o-transition-duration: 0.4s;
        transition-duration: 0.4s;
 }
 
 .fade-300 {
-       -moz-transition-duration: 0.3s;
        -webkit-transition-duration: 0.3s;
-       -o-transition-duration: 0.3s;
        transition-duration: 0.3s;
 }
 
@@ -2260,27 +1757,119 @@ span.mce_ltr:before {
        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_themeSkin .mceColorSplitMenu a.mceMoreColors,
-.rtl .wp_themeSkin .mceMenu .mceText,
 .rtl .wp-switch-editor,
-.rtl .quicktags-toolbar input,
-.rtl .clearlooks2 .mceTop span,
-.rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors {
+.rtl .quicktags-toolbar input {
        font-family: Tahoma, sans-serif;
 }
 
-html:lang(he-il) .rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors,
-html:lang(he-il) .rtl .wp_themeSkin .mceMenu .mceText,
+/* @noflip */
+.mce-rtl .mce-flow-layout .mce-flow-layout-item > div {
+       direction: rtl;
+}
+
+/* @noflip */
+.mce-rtl .mce-listbox i.mce-caret {
+       left: 6px;
+}
+
 html:lang(he-il) .rtl .wp-switch-editor,
-html:lang(he-il) .rtl .quicktags-toolbar input,
-html:lang(he-il) .rtl .clearlooks2 .mceTop span,
-html:lang(he-il) .rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors  {
+html:lang(he-il) .rtl .quicktags-toolbar input  {
        font-family: Arial, sans-serif;
 }
 
-
 /* HiDPI */
 @media print,
   (-o-min-device-pixel-ratio: 5/4),
@@ -2290,25 +1879,6 @@ html:lang(he-il) .rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors  {
        #wp-fullscreen-buttons #wp_fs_image span.mce_image {
                background: none;
        }
-
-       .wp_themeSkin .mceListBox .mceOpen,
-       .wp_themeSkin .mceListBoxHover .mceOpen,
-       .wp_themeSkin .mceListBoxSelected .mceOpen,
-       .wp_themeSkin table.mceListBoxEnabled .mceOpen {
-               background-image: url('../images/down_arrow-2x.gif');
-               background-size: 10px 20px;
-       }
-
-       .wp_themeSkin .mceSplitButtonEnabled a.mceOpen,
-       .wp_themeSkin .mceSplitButtonSelected a.mceOpen,
-       .wp_themeSkin .mceSplitButtonActive a.mceOpen,
-       .wp_themeSkin .mceSplitButtonEnabled:hover a.mceOpen {
-               background-image: url('../images/down_arrow-2x.gif');
-               background-size: 10px 20px;
-       }
-
-       #wp-link .toggle-arrow {
-               background: transparent url('../images/toggle-arrow-2x.png') top left no-repeat;
-               background-size: 19px 69px;
-       }
 }
+
+/* TODO: DFW responsive */
index 16e3fe4e684eb84d888a5156a7b28117345d1990..7485dfdffc8860bb037cfcf2865ac2d3098d3c8f 100644 (file)
@@ -1,28 +1 @@
-.wp_themeSkin table,.wp_themeSkin tbody,.wp_themeSkin a,.wp_themeSkin img,.wp_themeSkin tr,.wp_themeSkin div,.wp_themeSkin td,.wp_themeSkin iframe,.wp_themeSkin span,.wp_themeSkin *,.wp_themeSkin .mceText{border:0;margin:0;padding:0;white-space:nowrap;text-decoration:none;font-weight:400;cursor:default;vertical-align:baseline;width:auto;border-collapse:separate}.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{text-decoration:none;font-weight:400;cursor:default}.wp_themeSkin table td{vertical-align:middle}.wp_themeSkin *,.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{color:#555}.wp_themeSkin span.mce_sup,.wp_themeSkin span.mce_sub,.wp_themeSkin span.mce_media,.wp_themeSkin span.mce_styleprops,.wp_themeSkin span.mce_search,.wp_themeSkin span.mce_emotions,.wp_themeSkin span.mce_print,.wp_themeSkin span.mce_attribs,.wp_themeSkin span.mce_hr,.wp_themeSkin span.mce_cut,.wp_themeSkin span.mce_copy,.wp_themeSkin span.mce_paste,.wp_themeSkin span.mce_cite,.wp_themeSkin span.mce_visualchars,.wp_themeSkin span.mce_advhr,.wp_themeSkin span.mce_insertdate,.wp_themeSkin span.mce_anchor,.wp_themeSkin span.mce_visualaid,.wp_themeSkin span.mce_cleanup,.wp_themeSkin span.mce_table,.wp_themeSkin span.mce_row_props,.wp_themeSkin span.mce_cell_props,.wp_themeSkin span.mce_row_before,.wp_themeSkin span.mce_row_after,.wp_themeSkin span.mce_delete_row,.wp_themeSkin span.mce_col_before,.wp_themeSkin span.mce_col_after,.wp_themeSkin span.mce_delete_col,.wp_themeSkin span.mce_split_cells,.wp_themeSkin span.mce_merge_cells,.wp_themeSkin span.mce_delete_table,.wp_themeSkin span.mce_ins,.wp_themeSkin span.mce_abbr,.wp_themeSkin span.mce_acronym,.wp_themeSkin span.mce_del,.wp_themeSkin span.mce_replace,.wp_themeSkin span.mce_code,.wp_themeSkin span.mce_nonbreaking,.wp_themeSkin span.mce_inserttime,.wp_themeSkin span.mce_insertlayer,.wp_themeSkin span.mce_moveforward,.wp_themeSkin span.mce_movebackward,.wp_themeSkin span.mce_absolute{-moz-transition:none;-webkit-transition:none;transition:none;background:url(../js/tinymce/themes/advanced/img/icons.gif) no-repeat 20px 20px}.no-font-face .wp_themeSkin span.mce_undo,.no-font-face .wp_themeSkin span.mce_redo,.no-font-face .wp_themeSkin span.mce_bullist,.no-font-face .wp_themeSkin span.mce_numlist,.no-font-face .wp_themeSkin span.mce_blockquote,.no-font-face .wp_themeSkin span.mce_charmap,.no-font-face .wp_themeSkin span.mce_bold,.no-font-face .wp_themeSkin span.mce_italic,.no-font-face .wp_themeSkin span.mce_underline,.no-font-face .wp_themeSkin span.mce_justifyleft,.no-font-face .wp_themeSkin span.mce_justifyright,.no-font-face .wp_themeSkin span.mce_justifycenter,.no-font-face .wp_themeSkin span.mce_justifyfull,.no-font-face .wp_themeSkin span.mce_indent,.no-font-face .wp_themeSkin span.mce_outdent,.no-font-face .wp_themeSkin span.mce_link,.no-font-face .wp_themeSkin span.mce_unlink,.no-font-face .wp_themeSkin span.mce_help,.no-font-face .wp_themeSkin span.mce_removeformat,.no-font-face .wp_themeSkin span.mce_fullscreen,.no-font-face .wp_themeSkin span.mce_wp_fullscreen,.no-font-face .wp_themeSkin span.mce_media,.no-font-face .wp_themeSkin span.mce_pastetext,.no-font-face .wp_themeSkin span.mce_pasteword,.no-font-face .wp_themeSkin span.mce_wp_help,.no-font-face .wp_themeSkin span.mce_wp_adv,.no-font-face .wp_themeSkin span.mce_wp_more,.no-font-face .wp_themeSkin span.mce_strikethrough,.no-font-face .wp_themeSkin span.mce_spellchecker,.no-font-face .wp_themeSkin span.mce_forecolor,.no-font-face .wp_themeSkin .mce_forecolorpicker,.no-font-face .wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker,.no-font-face .wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor,.no-font-face .wp_themeSkin .mceSplitButton span.mce_numlist,.no-font-face .wp_themeSkin .mceSplitButton span.mce_bullist{-moz-transition:none;-webkit-transition:none;transition:none;background-image:url(../images/wpicons.png?ver=20120720)}.no-font-face .wp_themeSkin span.mce_undo{background-position:-500px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_undo,.no-font-face .wp_themeSkin .mceButtonActive span.mce_undo{background-position:-500px 0}.no-font-face .wp_themeSkin span.mce_redo{background-position:-480px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_redo,.no-font-face .wp_themeSkin .mceButtonActive span.mce_redo{background-position:-480px 0}.no-font-face .wp_themeSkin span.mce_bullist{background-position:-40px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_bullist,.no-font-face .wp_themeSkin .mceButtonActive span.mce_bullist,.no-font-face .wp_themeSkin .mceSplitButton:hover span.mce_bullist{background-position:-40px 0}.no-font-face .wp_themeSkin span.mce_numlist{background-position:-60px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_numlist,.no-font-face .wp_themeSkin .mceButtonActive span.mce_numlist,.no-font-face .wp_themeSkin .mceSplitButton:hover span.mce_numlist{background-position:-60px 0}.no-font-face .wp_themeSkin span.mce_blockquote{background-position:-80px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_blockquote,.no-font-face .wp_themeSkin .mceButtonActive span.mce_blockquote{background-position:-80px 0}.no-font-face .wp_themeSkin span.mce_charmap{background-position:-420px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_charmap,.no-font-face .wp_themeSkin .mceButtonActive span.mce_charmap{background-position:-420px 0}.no-font-face .wp_themeSkin span.mce_bold{background-position:0 -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_bold,.no-font-face .wp_themeSkin .mceButtonActive span.mce_bold{background-position:0 0}.no-font-face .wp_themeSkin span.mce_italic{background-position:-20px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_italic,.no-font-face .wp_themeSkin .mceButtonActive span.mce_italic{background-position:-20px 0}.no-font-face .wp_themeSkin span.mce_underline{background-position:-280px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_underline,.no-font-face .wp_themeSkin .mceButtonActive span.mce_underline{background-position:-280px 0}.no-font-face .wp_themeSkin span.mce_justifyleft{background-position:-100px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyleft,.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifyleft{background-position:-100px 0}.no-font-face .wp_themeSkin span.mce_justifyright{background-position:-140px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyright,.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifyright{background-position:-140px 0}.no-font-face .wp_themeSkin span.mce_justifycenter{background-position:-120px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifycenter,.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifycenter{background-position:-120px 0}.no-font-face .wp_themeSkin span.mce_justifyfull{background-position:-300px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_justifyfull,.no-font-face .wp_themeSkin .mceButtonActive span.mce_justifyfull{background-position:-300px 0}.no-font-face .wp_themeSkin span.mce_indent{background-position:-460px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_indent,.no-font-face .wp_themeSkin .mceButtonActive span.mce_indent{background-position:-460px 0}.no-font-face .wp_themeSkin span.mce_outdent{background-position:-440px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_outdent,.no-font-face .wp_themeSkin .mceButtonActive span.mce_outdent{background-position:-440px 0}.no-font-face .wp_themeSkin span.mce_link{background-position:-160px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_link,.no-font-face .wp_themeSkin .mceButtonActive span.mce_link{background-position:-160px 0}.no-font-face .wp_themeSkin span.mce_unlink{background-position:-180px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_unlink,.no-font-face .wp_themeSkin .mceButtonActive span.mce_unlink{background-position:-180px 0}.no-font-face .wp_themeSkin span.mce_help{background-position:-520px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_help,.no-font-face .wp_themeSkin .mceButtonActive span.mce_help{background-position:-520px 0}.no-font-face .wp_themeSkin span.mce_removeformat{background-position:-380px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_removeformat,.no-font-face .wp_themeSkin .mceButtonActive span.mce_removeformat{background-position:-380px 0}.no-font-face .wp_themeSkin span.mce_strikethrough{background-position:-540px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_strikethrough,.no-font-face .wp_themeSkin .mceButtonActive span.mce_strikethrough{background-position:-540px 0}.no-font-face .wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor{background-position:-320px -20px}.no-font-face .wp_themeSkin .mceSplitButtonEnabled:hover span.mce_forecolor,.no-font-face .wp_themeSkin .mceSplitButtonSelected span.mce_forecolor{background-position:-320px 0}.no-font-face .wp_themeSkin .mce_forecolorpicker{background-position:-320px -20px}.no-font-face .wp_themeSkin span.mce_fullscreen{background-position:-240px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_fullscreen,.no-font-face .wp_themeSkin .mceButtonActive span.mce_fullscreen{background-position:-240px 0}.no-font-face .wp_themeSkin span.mce_wp_fullscreen{background-position:-240px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_fullscreen,.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_fullscreen{background-position:-240px 0}.no-font-face .wp_themeSkin span.mce_media{background-position:-400px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_media,.no-font-face .wp_themeSkin .mceButtonActive span.mce_media{background-position:-400px 0}.no-font-face .wp_themeSkin span.mce_pastetext{background-position:-340px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_pastetext,.no-font-face .wp_themeSkin .mceButtonActive span.mce_pastetext{background-position:-340px 0}.no-font-face .wp_themeSkin span.mce_pasteword{background-position:-360px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_pasteword,.no-font-face .wp_themeSkin .mceButtonActive span.mce_pasteword{background-position:-360px 0}.no-font-face .wp_themeSkin span.mce_spellchecker{background-position:-220px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_spellchecker,.no-font-face .wp_themeSkin .mceSplitButtonEnabled:hover span.mce_spellchecker,.no-font-face .wp_themeSkin .mceButtonActive span.mce_spellchecker,.no-font-face .wp_themeSkin .mceSplitButtonSelected span.mce_spellchecker{background-position:-220px 0}.no-font-face .wp_themeSkin span.mce_wp_help{background-position:-520px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_help,.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_help{background-position:-520px 0}.no-font-face .wp_themeSkin span.mce_wp_adv{background-position:-260px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_adv,.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_adv{background-position:-260px 0}.no-font-face .wp_themeSkin span.mce_wp_more{background-position:-200px -20px}.no-font-face .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_more,.no-font-face .wp_themeSkin .mceButtonActive span.mce_wp_more{background-position:-200px 0}.no-font-face .mceIcon:before{display:none!important}.wp_themeSkin table{}.wp_themeSkin iframe{display:block}.wp_themeSkin #mce_fullscreen_ifr{background-color:#fff}.wp_themeSkin .mceToolbar{padding:1px}.wp_themeSkin .mceExternalToolbar{position:absolute;border-bottom:0;display:none}.wp_themeSkin .mceExternalToolbar td.mceToolbar{padding-right:13px}.wp_themeSkin .mceExternalClose{position:absolute;top:3px;right:3px;width:7px;height:7px;background:url(../js/tinymce/themes/advanced/img/icons.gif) -820px 0}.wp_themeSkin table.mceToolbar,.wp_themeSkin tr.mceFirst .mceToolbar tr td,.wp_themeSkin tr.mceLast .mceToolbar tr td{border:0;margin:0;padding:0}.wp_themeSkin table.mceLayout{border:0}.wp_themeSkin .mceStatusbar{background:#fff;border-top:1px solid #eee;color:#000;display:block;font-family:sans-serif;font-size:12px;height:20px;line-height:16px;padding:0 0 0 8px;overflow:visible}.wp_themeSkin .mceStatusbar *{color:#555}.wp_themeSkin .mceStatusbar div{float:left;padding:2px}.wp_themeSkin .mceStatusbar a.mceResize{display:block;float:right;background:url(../js/tinymce/themes/advanced/img/icons.gif) -800px 0;width:20px;height:20px;cursor:se-resize}.wp_themeSkin .mceStatusbar a:hover{text-decoration:underline}.wp_themeSkin table.mceToolbar{margin:0 6px 2px}.wp_themeSkin table.mceToolbar :active,.wp_themeSkin table.mceToolbar :focus,.wp_themeSkin table.mceToolbar:focus,.wp_themeSkin span.mceSeparator:focus{outline:0}.wp_themeSkin #content_toolbar1{margin-top:2px}.wp_themeSkin .mceToolbar .mceToolbarEndListBox span{display:none}.wp_themeSkin span.mceIcon,.wp_themeSkin img.mceIcon{display:block;width:20px;height:20px}a .mceIcon,.mceAction{text-align:center;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mceAction{line-height:16px}.wp_themeSkin .mceButton{display:block;width:20px;height:20px;cursor:default;padding:1px 2px;margin:1px;-webkit-border-radius:2px;border-radius:2px}.wp_themeSkin a.mceButtonEnabled:hover{background-image:inherit 0 -10px}.wp_themeSkin .mceOldBoxModel a.mceButton span,.wp_themeSkin .mceOldBoxModel a.mceButton img{margin:0 0 0 1px}.wp_themeSkin .mceButtonDisabled .mceIcon{opacity:.2;filter:alpha(opacity=20)}.wp_themeSkin .mceSeparator{display:none}.wp_themeSkin .mceListBox,.wp_themeSkin .mceListBox a{display:block}.wp_themeSkin .mceListBox .mceText{padding:1px 4px 1px 5px;width:70px;text-align:left;text-decoration:none;-webkit-border-bottom-left-radius:2px;-webkit-border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-left-radius:2px;font-family:sans-serif;font-size:12px;height:20px;line-height:20px;overflow:hidden}.wp_themeSkin .mceListBox{margin:1px;direction:ltr;background-color:#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)}.wp_themeSkin .mceListBox .mceOpen{width:12px;height:20px;border-collapse:separate;padding:1px;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;border-bottom-left-radius:0;border-top-left-radius:0}.wp_themeSkin .mceListBox .mceFirst a{border-style:solid;border-width:1px;border-bottom-right-radius:2px;border-top-right-radius:2px}.wp_themeSkin .mceListBoxMenu .mce_formatPreview{line-height:normal}.wp_themeSkin .mceListBox .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin table.mceListBoxEnabled .mceOpen{background-image:url(../images/down_arrow.gif);background-position:3px 1px;background-repeat:no-repeat}.wp_themeSkin .mceListBoxDisabled .mceText{color:gray}.wp_themeSkin .mceListBoxMenu{overflow:auto;overflow-x:hidden}.wp_themeSkin .mceOldBoxModel .mceListBox .mceText{height:22px}.wp_themeSkin select.mceListBox{font-family:sans-serif;font-size:12px;border-color:#b2b2b2;background-color:#fff}.wp_themeSkin .mceSplitButton a,.wp_themeSkin .mceSplitButton span{display:block;height:20px}.wp_themeSkin .mceSplitButton{display:block;direction:ltr}.wp_themeSkin table.mceSplitButton td{padding:2px;-webkit-border-radius:2px;border-radius:2px}.wp_themeSkin table.mceSplitButton:hover td{background-image:inherit 0 -10px}.wp_themeSkin .mceSplitButton a.mceAction{height:20px;width:20px;padding:1px 2px;border-right:0 none}.wp_themeSkin .mceSplitButton span.mceAction{background-image:url(../js/tinymce/themes/advanced/img/icons.gif);background-repeat:no-repeat;background-color:transparent;width:20px}.wp_themeSkin .mceSplitButton span.mceAction.mce_bullist,.wp_themeSkin .mceSplitButton span.mceAction.mce_numlist{background-image:none}.wp_themeSkin .mceSplitButton a.mceOpen{width:11px;height:20px;background-position:0 2px;background-repeat:no-repeat;padding:1px 0}.wp_themeSkin .mceSplitButton span.mceOpen{display:none}.wp_themeSkin .mceSplitButtonDisabled .mceAction{opacity:.3;filter:alpha(opacity=30)}.wp_themeSkin .mceListBox a.mceText,.wp_themeSkin .mceSplitButton a.mceAction{-webkit-border-bottom-left-radius:2px;-webkit-border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-left-radius:2px}.wp_themeSkin .mceSplitButton a.mceOpen,.wp_themeSkin .mceListBox a.mceOpen{-webkit-border-bottom-right-radius:2px;-webkit-border-top-right-radius:2px;border-bottom-right-radius:2px;border-top-right-radius:2px}.wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#bbb}.wp_themeSkin .mceColorSplitMenu td{padding:2px}.wp_themeSkin .mceColorSplitMenu a{display:block;width:9px;height:9px;overflow:hidden;border-color:#B2B2B2}.wp_themeSkin .mceColorSplitMenu td.mceMoreColors{padding:1px 3px 1px 1px}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors{width:100%;height:auto;text-align:center;font-family:"Open Sans",sans-serif;font-size:11px;line-height:20px;border-color:#fff}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{}.wp_themeSkin a.mceMoreColors:hover{}.wp_themeSkin .mceColorPreview{margin:-5px 0 0 2px;width:16px;height:4px;overflow:hidden}.wp_themeSkin .mceMenu{position:absolute;left:0;top:0;z-index:1000;border-color:#ddd;direction:ltr}.wp_themeSkin .mceNoIcons span.mceIcon{width:0}.wp_themeSkin .mceNoIcons a .mceText{padding-left:10px}.wp_themeSkin .mceMenu table{background-color:#ebeaeb}.wp_themeSkin .mceMenu a,.wp_themeSkin .mceMenu span,.wp_themeSkin .mceMenu{display:block}.wp_themeSkin .mceMenu td{height:20px;overflow:hidden}.wp_themeSkin .mceMenu a{position:relative;padding:3px 0 4px;text-decoration:none!important}.wp_themeSkin .mceMenu .mceText{position:relative;display:block;font-family:"Open Sans",sans-serif;cursor:default;margin:0;padding:0 25px;color:#000}.wp_themeSkin .mceMenu span.mceText,.wp_themeSkin .mceMenu .mcePreview{font-size:12px}.wp_themeSkin .mceMenu pre.mceText{font-family:Monospace}.wp_themeSkin .mceMenu .mceIcon{position:absolute;top:0;left:0;width:22px}.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,.wp_themeSkin .mceMenu .mceMenuItemActive{background-color:#f5f5f5}.wp_themeSkin td.mceMenuItemSeparator{height:1px;background-color:#aaa}.wp_themeSkin .mceMenuItemTitle a{border-top:0;border-right:0;border-left:0;border-bottom:1px solid #aaa;text-decoration:none!important;background-color:#ccc}.wp_themeSkin .mceMenuItemTitle span.mceText{font-weight:700;padding-left:4px;color:#000}.wp_themeSkin .mceMenuItemSelected .mceIcon{background:url(../js/tinymce/themes/advanced/skins/default/img/menu_check.gif);color:#888}.wp_themeSkin .mceNoIcons .mceMenuItemSelected a{background:url(../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif) no-repeat -6px center}.wp_themeSkin .mceMenu span.mceMenuLine{display:none}.wp_themeSkin .mceMenuItemSub a{background:url(../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif) no-repeat top right}.wp_themeSkin .mceBlocker{position:absolute;left:0;top:0;z-index:1000;opacity:.5;filter:alpha(opacity=50);background:#FFF}.wp_themeSkin .mceProgress{position:absolute;left:0;top:0;z-index:1001;background:url(../js/tinymce/themes/advanced/skins/default/img/progress.gif) no-repeat;width:32px;height:32px;margin:-16px 0 0 -16px}.wp_themeSkin .mcePlaceHolder{border:1px dotted gray}.mceRtl .mceListBox .mceText{text-align:right;padding:0 4px 0 0}.mceRtl .mceMenuItem .mceText{text-align:right}.wp_themeSkin .mce_p span.mceText{}.wp_themeSkin .mce_address span.mceText{font-style:italic}.wp_themeSkin .mce_pre span.mceText{font-family:monospace}.wp_themeSkin .mce_h1 span.mceText{font-weight:bolder;font-size:18px}.wp_themeSkin .mce_h2 span.mceText{font-weight:bolder;font-size:14px}.wp_themeSkin .mce_h3 span.mceText{font-weight:bolder;font-size:12px}.wp_themeSkin .mce_h4 span.mceText{font-weight:bolder;font-size:11px}.wp_themeSkin .mce_h5 span.mceText{font-weight:bolder;font-size:11px}.wp_themeSkin .mce_h6 span.mceText{font-weight:bolder;font-size:10px}span.mce_bold:before{content:'\f200'}span.mce_italic:before{content:'\f201'}span.mce_bullist:before{content:'\f203'}span.mce_numlist:before{content:'\f204'}span.mce_blockquote:before{content:'\f205'}span.mce_justifyleft:before{content:'\f206'}span.mce_justifycenter:before{content:'\f207'}span.mce_justifyright:before{content:'\f208'}span.mce_link:before{content:'\f103'}span.mce_unlink:before{content:'\f225'}span.mce_wp_more:before{content:'\f209'}span.mce_strikethrough:before{content:'\f224'}span.mce_spellchecker{font-size:20px;background:none!important;margin-top:2px}span.mce_spellchecker:before{content:'\f210'}span.mce_fullscreen:before,span.mce_wp_fullscreen:before{content:'\f211'}span.mce_wp_adv:before{content:'\f212'}span.mce_underline:before{content:'\f213'}span.mce_justifyfull:before{content:'\f214'}span.mce_forecolor{background:none!important}span.mce_forecolor:before{content:'\f215'}span.mce_pastetext:before{content:'\f217'}span.mce_pasteword:before{content:'\f216'}span.mce_removeformat:before{content:'\f218'}span.mce_charmap:before{content:'\f220'}span.mce_outdent:before{content:'\f221'}span.mce_indent:before{content:'\f222'}span.mce_undo:before{content:'\f171'}span.mce_redo:before{content:'\f172'}span.mce_help:before,span.mce_wp_help:before{content:'\f223'}span.mce_image:before{content:'\f104'}span.mce_ltr:before{content:'\f320'}.wp_themeSkin span.mce_cleanup{background-position:-380px -20px}.wp_themeSkin span.mce_anchor{background-position:-200px 0}.wp_themeSkin span.mce_sub{background-position:-600px 0}.wp_themeSkin span.mce_sup{background-position:-620px 0}.wp_themeSkin span.mce_newdocument{background-position:-520px 0}.wp_themeSkin span.mce_image{background-position:-380px 0}.wp_themeSkin span.mce_code{background-position:-260px 0}.wp_themeSkin span.mce_hr{background-position:-360px 0}.wp_themeSkin span.mce_visualaid{background-position:-660px 0}.wp_themeSkin span.mce_paste{background-position:-560px 0}.wp_themeSkin span.mce_copy{background-position:-700px 0}.wp_themeSkin span.mce_cut{background-position:-680px 0}.wp_themeSkin .mce_backcolor span.mceAction{background-position:-760px 0}.wp_themeSkin .mce_backcolorpicker{background-position:-760px 0}.wp_themeSkin span.mce_advhr{background-position:-0px -20px}.wp_themeSkin span.mce_ltr{background-position:-20px -20px}.wp_themeSkin span.mce_rtl{background-position:-40px -20px}.wp_themeSkin span.mce_emotions{background-position:-60px -20px}.wp_themeSkin span.mce_fullpage{background-position:-80px -20px}.wp_themeSkin span.mce_iespell{background-position:-120px -20px}.wp_themeSkin span.mce_insertdate{background-position:-140px -20px}.wp_themeSkin span.mce_inserttime{background-position:-160px -20px}.wp_themeSkin span.mce_absolute{background-position:-180px -20px}.wp_themeSkin span.mce_backward{background-position:-200px -20px}.wp_themeSkin span.mce_forward{background-position:-220px -20px}.wp_themeSkin span.mce_insert_layer{background-position:-240px -20px}.wp_themeSkin span.mce_insertlayer{background-position:-260px -20px}.wp_themeSkin span.mce_movebackward{background-position:-280px -20px}.wp_themeSkin span.mce_moveforward{background-position:-300px -20px}.wp_themeSkin span.mce_media{background-position:-320px -20px}.wp_themeSkin span.mce_nonbreaking{background-position:-340px -20px}.wp_themeSkin span.mce_selectall{background-position:-400px -20px}.wp_themeSkin span.mce_preview{background-position:-420px -20px}.wp_themeSkin span.mce_print{background-position:-440px -20px}.wp_themeSkin span.mce_cancel{background-position:-460px -20px}.wp_themeSkin span.mce_save{background-position:-480px -20px}.wp_themeSkin span.mce_replace{background-position:-500px -20px}.wp_themeSkin span.mce_search{background-position:-520px -20px}.wp_themeSkin span.mce_styleprops{background-position:-560px -20px}.wp_themeSkin span.mce_table{background-position:-580px -20px}.wp_themeSkin span.mce_cell_props{background-position:-600px -20px}.wp_themeSkin span.mce_delete_table{background-position:-620px -20px}.wp_themeSkin span.mce_delete_col{background-position:-640px -20px}.wp_themeSkin span.mce_delete_row{background-position:-660px -20px}.wp_themeSkin span.mce_col_after{background-position:-680px -20px}.wp_themeSkin span.mce_col_before{background-position:-700px -20px}.wp_themeSkin span.mce_row_after{background-position:-720px -20px}.wp_themeSkin span.mce_row_before{background-position:-740px -20px}.wp_themeSkin span.mce_merge_cells{background-position:-760px -20px}.wp_themeSkin span.mce_table_props{background-position:-980px -20px}.wp_themeSkin span.mce_row_props{background-position:-780px -20px}.wp_themeSkin span.mce_split_cells{background-position:-800px -20px}.wp_themeSkin span.mce_template{background-position:-820px -20px}.wp_themeSkin span.mce_visualchars{background-position:-840px -20px}.wp_themeSkin span.mce_abbr{background-position:-860px -20px}.wp_themeSkin span.mce_acronym{background-position:-880px -20px}.wp_themeSkin span.mce_attribs{background-position:-900px -20px}.wp_themeSkin span.mce_cite{background-position:-920px -20px}.wp_themeSkin span.mce_del{background-position:-940px -20px}.wp_themeSkin span.mce_ins{background-position:-960px -20px}.wp_themeSkin span.mce_pagebreak{background-position:0 -40px}.wp_themeSkin span.mce_restoredraft{background-position:-20px -40px}.wp_themeSkin span.mce_visualblocks{background-position:-40px -40px}.wp_themeSkin .mceExternalToolbar,.wp_themeSkin .mceButton,.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonSelected,.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen,.wp_themeSkin select.mceListBox,.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen,.wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp_themeSkin .mceSplitButton a.mceAction:hover,.wp_themeSkin div.mceColorSplitMenu table,.wp_themeSkin .mceColorSplitMenu a,.wp_themeSkin .mceColorSplitMenu a.mceMoreColors,.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover,.wp_themeSkin a.mceMoreColors:hover,.wp_themeSkin .mceMenu{border-style:solid;border-width:1px}.wp_themeSkin .mceListBox .mceText{border-right:0 none}.wp_themeSkin iframe{background:transparent}.wp_themeSkin .mceButton{border-color:transparent}.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen{border-color:transparent}.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin table.mceSplitButton:hover{border-color:#bbb;background:#eee;background-image:-webkit-gradient(linear,left bottom,left top,from(#e5e5e5),to(#fff));background-image:-webkit-linear-gradient(bottom,#e5e5e5,#fff);background-image:-moz-linear-gradient(bottom,#e5e5e5,#fff);background-image:-o-linear-gradient(bottom,#e5e5e5,#fff);background-image:linear-gradient(to top,#e5e5e5,#fff)}.wp_themeSkin a.mceButton:active,.wp_themeSkin a.mceButtonEnabled:active,.wp_themeSkin a.mceButtonSelected:active,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonActive:active,.wp_themeSkin a.mceButtonActive:hover,.wp_themeSkin .mceSplitButtonSelected table,.wp_themeSkin .mceSplitButtonSelected table:hover{outline:0;border-color:#999 #ccc #ccc #999;background:#eee;background-image:-webkit-gradient(linear,left bottom,left top,from(#f6f6f6),to(#e3e3e3));background-image:-webkit-linear-gradient(bottom,#f6f6f6,#e3e3e3);background-image:-moz-linear-gradient(bottom,#f6f6f6,#e3e3e3);background-image:-o-linear-gradient(bottom,#f6f6f6,#e3e3e3);background-image:linear-gradient(to top,#f6f6f6,#e3e3e3)}.wp_themeSkin .mceSplitButtonSelected table a.mceOpen,.wp_themeSkin .mceSplitButtonSelected table a.mceAction{border-color:#999 #ccc #ccc #999}.wp_themeSkin .mceButtonDisabled{border-color:transparent}.wp_themeSkin .mceListBox .mceOpen{border-left:0}.wp_themeSkin .mceListBoxEnabled:hover,.wp_themeSkin .mceListBoxEnabled:active,.wp_themeSkin .mceListBoxHover,.wp_themeSkin .mceListBoxHover:active,.wp_themeSkin .mceListBoxSelected{-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.3);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.3);border-color:#bbb}.wp_themeSkin .mceSplitButton .mceLast span.mceOpen .mceIconOnly{display:block}.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen{border-color:transparent}.wp_themeSkin .mceSplitButton:hover a{border-color:#bbb}.wp_themeSkin .mceSplitButtonEnabled a.mceOpen,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin .mceSplitButtonActive a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover a.mceOpen{background-image:url(../images/down_arrow.gif);background-position:1px 2px;background-repeat:no-repeat;border-left:0}.wp_themeSkin .mceSplitButtonActive td{-webkit-border-radius:3px;border-radius:3px}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{border-color:#0A246A;background-color:#B6BDD2}.wp_themeSkin a.mceMoreColors:hover{border-color:#0A246A}.wp_themeSkin .mceMenuItemDisabled .mceText{color:#888}#mceModalBlocker{background:#000;opacity:.7;-ms-filter:"alpha(Opacity=70)";filter:alpha(opacity=70)}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0 none;outline:0;display:block;resize:vertical;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.wp-editor-tools{padding:0}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.quicktags-toolbar,.wp_themeSkin tr.mceFirst td.mceToolbar{border-bottom:1px solid #dedede;background:#f5f5f5}.wp-editor-tabs{float:right}.wp-switch-editor{background:#ebebeb;border:1px solid #dedede;color:#777;cursor:pointer;float:right;font:13px/19px "Open Sans",sans-serif;height:19px;margin:5px 0 0 5px;padding:3px 8px 4px;position:relative;top:1px}.wp-switch-editor:active{background-color:#f1f1f1}.wp-switch-editor:hover{text-decoration:none!important;background:#fff}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.tmce-active .switch-tmce,.html-active .switch-html{background:#f5f5f5;color:#555;height:20px;border-bottom:0}.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}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{content:'\f104'}.quicktags-toolbar{border-bottom-style:solid;border-bottom-width:1px;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;padding:2px 8px 0;min-height:29px}.quicktags-toolbar>div{padding:2px 4px 0}.quicktags-toolbar input{margin:2px 1px 4px;line-height:18px;display:inline-block;min-width:26px;padding:2px 4px;font:12px/18px "Open Sans",sans-serif;color:#464646;border:1px solid #c3c3c3;-webkit-border-radius:3px;border-radius:3px;background:#eee;background-image:-webkit-gradient(linear,left bottom,left top,from(#e3e3e3),to(#fff));background-image:-webkit-linear-gradient(bottom,#e3e3e3,#fff);background-image:-moz-linear-gradient(bottom,#e3e3e3,#fff);background-image:-o-linear-gradient(bottom,#e3e3e3,#fff);background-image:linear-gradient(to top,#e3e3e3,#fff)}.quicktags-toolbar input:hover{border-color:#aaa;background:#ddd}.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}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:155000}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_editimgbtn:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_delgallery:hover{border-color:#555;background-color:#ccc}#wp-link{background-color:#F5F5F5;line-height:1.4em;font-size:12px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link input[type=text]{-webkit-box-sizing:border-box}#wp-link input[type=text],#wp-link textarea{border-width:1px;border-style:solid;-webkit-border-radius:4px;border-radius:4px;font-size:12px;margin:1px;padding:3px}#wp-link #link-options{padding:10px 0 14px;border-bottom:1px solid #dfdfdf;margin:0 6px 14px}#wp-link p.howto{margin:3px}#wp-link #internal-toggle{display:inline-block;cursor:pointer;padding-left:18px}#wp-link .toggle-arrow{background:transparent url(../images/toggle-arrow.png) top left no-repeat;height:23px;line-height:23px}#wp-link .toggle-arrow-active{background-position:center left}#wp-link label input[type=text]{width:360px;margin-top:5px}#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}#wp-link .link-search-field{float:left;width:220px}#wp-link .link-search-wrapper{margin:5px 6px 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:left;margin-top:4px}#wp-link .link-search-wrapper .spinner{display:none;vertical-align:text-bottom}#wp-link .link-target{width:auto;padding:3px 0 0;margin:0 0 0 87px;font-size:11px}#wp-link .query-results{border:1px #dfdfdf solid;margin:0 5px 5px;background:#fff;height:185px;overflow:auto;position:relative}#wp-link li,#wp-link .query-notice{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 6px;cursor:pointer;position:relative}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:700}#wp-link .item-title{display:inline-block;width:80%}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;right:5px;top:4px;bottom:0}#wp-link #search-results{display:none}#wp-link #search-panel{float:left;width:100%}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block}#wp-link .submitbox{padding:5px 10px;font-size:11px;overflow:auto;height:29px}#wp-link-cancel{line-height:25px;float:left}#wp-link-update{line-height:23px;float:right}/*!
- * jQuery UI CSS Framework 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Theming/API
- */.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:before,.ui-helper-clearfix:after{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{position:fixed;top:0;left:0;width:100%;height:100%}/*!
- * jQuery UI Resizable 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Resizable#theming
- */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .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}/*!
- * jQuery UI Dialog 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Dialog#theming
- */.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0 0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.wp-dialog{padding:0;z-index:300002;border:0;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background-color:#f5f5f5}.wp-dialog .ui-dialog-title{display:block;text-align:center;padding:0}.wp-dialog .ui-dialog-titlebar{padding:0 1em;background-color:#444;font-size:13px;line-height:24px;color:#fff}.wp-dialog .ui-dialog-content{padding:0}.wp-dialog .ui-dialog-titlebar-close{cursor:pointer;-webkit-appearance:none;border:0;width:30px;height:20px;top:13px;right:6px;background:0 0}.wp-dialog .ui-dialog-titlebar-close:before{content:'\f158';font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#999;padding-left:12px}.wp-dialog .ui-dialog-titlebar-close:hover:before{color:#2ea2cc}.wp-dialog .ui-dialog-titlebar-close .ui-button-text{display:none}.wp-dialog .ui-dialog-titlebar-close:hover,.wp-dialog .ui-dialog-titlebar-close:focus{background-position:-87px -32px}.ui-widget-overlay{z-index:300001;background-color:#000;opacity:.6;filter:alpha(opacity=60)}.clearlooks2 .mceTop{border-bottom:1px solid #ccc}.clearlooks2 .mceTop span{font:13px/24px "Open Sans",sans-serif;color:#e5e5e5}.clearlooks2 .mceTop .mceLeft{background:#444;border-color:transparent}.clearlooks2 .mceTop .mceRight{background:#444;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:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#999;padding-left:12px}.fullscreen-overlay{z-index:149999;display:none;position:fixed;top:0;bottom:0;left:0;right:0;filter:inherit}.fullscreen-active .fullscreen-overlay,.fullscreen-active #wp-fullscreen-body{display:block}.fullscreen-fader{z-index:200000}.fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body{width:100%;z-index:150005;display:none;position:absolute;top:0;left:0;font-size:12px}#wp-fullscreen-wrap{margin:0 auto 50px;position:relative;padding-top:60px}#wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:medium none;padding:6px 7px;width:100%;margin-bottom:30px;-webkit-box-shadow:none;box-shadow:none}#wp-fullscreen-container{padding:4px 10px 50px}#wp-fullscreen-title,#wp-fullscreen-container{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:transparent;-moz-transition-property:border-color;-moz-transition-duration:.6s;-webkit-transition-property:border-color;-webkit-transition-duration:.6s;-o-transition-property:border-color;-o-transition-duration:.6s;transition-property:border-color;transition-duration:.6s}#wp_mce_fullscreen{width:100%;min-height:300px;border:0;background:transparent;font-family:Consolas,Monaco,monospace;line-height:1.6em;padding:0;overflow-y:hidden;outline:0;resize:none;-webkit-box-shadow:none;box-shadow:none}#wp-fullscreen-tagline{color:#BBB;font-size:18px;float:right;padding-top:5px}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #fff;height:40px;left:0;min-width:800px;position:fixed;top:0;width:100%;z-index:150050}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;min-width:820px;margin:0 auto}#wp-fullscreen-mode-bar,#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-count{float:left}#wp-fullscreen-save{float:right;padding:2px 2px 0 5px}#wp-fullscreen-count,#wp-fullscreen-close{padding-top:5px}#wp-fullscreen-central-toolbar{margin:auto;padding:0}#wp-fullscreen-buttons>div{float:left}#wp-fullscreen-mode-bar{padding:1px 14px 0 0}#wp-fullscreen-modes a{display:block;font-size:11px;text-decoration:none;float:left;margin:1px 0 0;padding:2px 6px;border-width:1px 1px 1px 0;border-style:solid;border-color:#bbb;color:#777;text-shadow:0 1px 0 #fff;background-color:#f4f4f4;background:#f4f4f4;background-image:-webkit-gradient(linear,left bottom,left top,from(#e4e4e4),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:-moz-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:-o-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:linear-gradient(to top,#e4e4e4,#f9f9f9)}#wp-fullscreen-modes a:hover,.wp-html-mode #wp-fullscreen-modes a:last-child,.wp-tmce-mode #wp-fullscreen-modes a:first-child{color:#333;border-color:#999;background:#eee;background-image:-webkit-gradient(linear,left top,left bottom,from(#e4e4e4),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#e4e4e4,#f9f9f9);background-image:-moz-linear-gradient(top,#e4e4e4,#f9f9f9);background-image:-o-linear-gradient(top,#e4e4e4,#f9f9f9);background-image:linear-gradient(to bottom,#e4e4e4,#f9f9f9)}#wp-fullscreen-modes a:first-child{border-width:1px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px}#wp-fullscreen-modes a:last-child{-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px}#wp-fullscreen-buttons .active a{background:inherit}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#fullscreen-topbar.fullscreen-make-sticky{display:block!important}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save img,#wp-fullscreen-save span{padding-right:4px;display:none}.fullscreen-active #TB_overlay{z-index:150100}.fullscreen-active #TB_window{z-index:150102}#wp_mce_fullscreen_ifr{background:transparent}#wp_mce_fullscreen_parent #wp_mce_fullscreen_tbl tr.mceFirst{display:none}#wp-fullscreen-container .wp_themeSkin table td{vertical-align:top}.fullscreen-overlay{background:#fff}.wp-fullscreen-focus #wp-fullscreen-title,.wp-fullscreen-focus #wp-fullscreen-container{border-color:#ccc}.fade-1000,.fade-600,.fade-400,.fade-300{opacity:0;-moz-transition-property:opacity;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.fade-1000{-moz-transition-duration:1s;-webkit-transition-duration:1s;-o-transition-duration:1s;transition-duration:1s}.fade-600{-moz-transition-duration:.6s;-webkit-transition-duration:.6s;-o-transition-duration:.6s;transition-duration:.6s}.fade-400{-moz-transition-duration:.4s;-webkit-transition-duration:.4s;-o-transition-duration:.4s;transition-duration:.4s}.fade-300{-moz-transition-duration:.3s;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors,.rtl .wp_themeSkin .mceMenu .mceText,.rtl .wp-switch-editor,.rtl .quicktags-toolbar input,.rtl .clearlooks2 .mceTop span,.rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors,html:lang(he-il) .rtl .wp_themeSkin .mceMenu .mceText,html:lang(he-il) .rtl .wp-switch-editor,html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .clearlooks2 .mceTop span,html:lang(he-il) .rtl .wp_themeSkin .mceColorSplitMenu a.mceMoreColors{font-family:Arial,sans-serif}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-media-buttons .add_media span.wp-media-buttons-icon,#wp-fullscreen-buttons #wp_fs_image span.mce_image{background:0 0}.wp_themeSkin .mceListBox .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin table.mceListBoxEnabled .mceOpen{background-image:url(../images/down_arrow-2x.gif);background-size:10px 20px}.wp_themeSkin .mceSplitButtonEnabled a.mceOpen,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin .mceSplitButtonActive a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover a.mceOpen{background-image:url(../images/down_arrow-2x.gif);background-size:10px 20px}#wp-link .toggle-arrow{background:transparent url(../images/toggle-arrow-2x.png) top left no-repeat;background-size:19px 69px}}
\ No newline at end of file
+.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block.mce-in{opacity:.7;filter:alpha(opacity=70)}.mce-window{-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);-webkit-font-smoothing:subpixel-antialiased}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}.mce-window .mce-window-head .mce-close{color:transparent;top:0;right:0;width:36px;height:36px;line-height:36px;text-align:center}.mce-window .mce-window-head .mce-close:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window .mce-window-head .mce-close:hover:before{color:#2ea2cc}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-wp-help .mce-window-head{border-bottom:0}.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 border-color ease-in-out;transition:.05s border-color ease-in-out}.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:0;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:3px;position:relative}.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 #eee}div.mce-path{padding:0 8px 2px;margin:0}.mce-toolbar .mce-btn,.qt-fullscreen{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn,.qt-fullscreen{border:1px solid transparent;margin:2px;background-image:none;-webkit-border-radius:2px;border-radius:2px;-webkit-filter:none;filter:none}#wp-fullscreen-buttons .mce-btn:focus,#wp-fullscreen-buttons .mce-btn:hover,.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-fullscreen:focus,.qt-fullscreen:hover{background:#fafafa;border-color:#999;color:#222;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}#wp-fullscreen-buttons .mce-btn.mce-active,#wp-fullscreen-buttons .mce-btn:active,.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active{background:#ebebeb;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#555}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico{color:#555}#wp-fullscreen-buttons .mce-btn.mce-disabled:focus,#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#aaa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;-webkit-box-shadow:none;box-shadow:none}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-fullscreen{padding:2px 3px;line-height:normal}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-right:0}.mce-toolbar .mce-colorbutton .mce-preview{margin-left:-17px;padding:0;width:18px}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{-webkit-border-radius:0;border-radius:0;direction:ltr;background:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{background-image:none;border-color:#bbb}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-left:2px;margin-right:2px}.mce-listbox i.mce-caret{right:6px}.mce-panel .mce-btn button.mce-open i.mce-caret,.mce-panel .mce-btn.mce-listbox i.mce-caret{margin-left:0;margin-right:0}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#333}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #333;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-right-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:none;box-shadow:none}.mce-menu .mce-menu-item-normal.mce-active{background-color:#e5e5e5;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{color:#000;background-color:#bbb;background-image:none;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-active:hover .mce-text,.mce-menu .mce-menu-item.mce-selected .mce-ico,.mce-menu .mce-menu-item.mce-selected .mce-text,.mce-menu .mce-menu-item:focus .mce-ico,.mce-menu .mce-menu-item:hover .mce-ico,.mce-menu .mce-menu-item:hover .mce-text{color:#000}.mce-menubar{border-color:#e5e5e5}.mce-menubar .mce-btn:focus{outline:0}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{margin:5px 0 4px}.mce-menubtn span{margin-right:0;padding-left:3px}.mce-menu-has-icons i.mce-ico:before{margin-left:-2px}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);background-image:none}.mce-window .mce-btn::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#222}.mce-window .mce-btn:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.mce-window .mce-btn:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.mce-window .mce-btn.mce-disabled{color:#aaa;border-color:#ddd;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 1px 0 #fff;cursor:default}.mce-window .mce-btn.mce-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.mce-window .mce-btn.mce-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.mce-window .mce-btn.mce-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),1px 1px 2px rgba(0,0,0,.4)}.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)}.mce-window .mce-btn.mce-primary.mce-disabled{color:#94cde7;background:#298cba;border-color:#1b607f;text-shadow:0 -1px 0 rgba(0,0,0,.1)}.mce-menubtn.mce-fixed-width button span{max-width:80px;padding-right:16px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#777;line-height:20px;width:20px;height:20px;text-align:center;text-shadow:none;margin:0;padding:0}.qt-fullscreen{color:#777;line-height:20px;width:28px;height:26px;text-align:center;text-shadow:none}.mce-toolbar .mce-btn .mce-open{line-height:20px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-left-color:#999}.mce-close,i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:-2px;padding-right:2px}.qt-fullscreen{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:'\f200'}i.mce-i-italic:before{content:'\f201'}i.mce-i-bullist:before{content:'\f203'}i.mce-i-numlist:before{content:'\f204'}i.mce-i-blockquote:before{content:'\f205'}i.mce-i-alignleft:before{content:'\f206'}i.mce-i-aligncenter:before{content:'\f207'}i.mce-i-alignright:before{content:'\f208'}i.mce-i-link:before{content:'\f103'}i.mce-i-unlink:before{content:'\f225'}i.mce-i-wp_more:before{content:'\f209'}i.mce-i-strikethrough:before{content:'\f224'}i.mce-i-spellchecker:before{content:'\f210'}.qt-fullscreen:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:'\f211'}i.mce-i-wp_adv:before{content:'\f212'}i.mce-i-underline:before{content:'\f213'}i.mce-i-alignjustify:before{content:'\f214'}i.mce-i-forecolor:before{content:'\f215'}i.mce-i-pastetext:before{content:'\f217'}i.mce-i-removeformat:before{content:'\f218'}i.mce-i-charmap:before{content:'\f220'}i.mce-i-outdent:before{content:'\f221'}i.mce-i-indent:before{content:'\f222'}i.mce-i-undo:before{content:'\f171'}i.mce-i-redo:before{content:'\f172'}i.mce-i-help:before,i.mce-i-wp_help:before{content:'\f223'}i.mce-i-wp-media-library:before{content:'\f104'}i.mce-i-ltr:before{content:'\f320'}i.mce-i-wp_page:before{content:'\f105'}i.mce-i-hr:before{content:'\f460'}.mce-close:before{content:'\f158'}.mce-i-wp_code:before{content:'\e017'}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0 none;outline:0;display:block;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-editor-tools{padding:0}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.wp-editor-tabs{float:right}.wp-switch-editor{background:#ebebeb;border:1px solid #dedede;color:#777;cursor:pointer;float:right;font:13px/19px "Open Sans",sans-serif;height:19px;margin:5px 0 0 5px;padding:3px 8px 4px;position:relative;top:1px}.wp-switch-editor:active{background-color:#f1f1f1}.wp-switch-editor:hover{text-decoration:none!important;background:#fff}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;height:20px;border-bottom:0}.wp-media-buttons{float:left}.wp-media-buttons .button{margin-right:5px;margin-bottom:4px;padding-left:7px;padding-right:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-left:5px}.wp-media-buttons a{text-decoration:none;color:#464646;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f104'}.quicktags-toolbar{padding:3px;position:relative;border-bottom:1px solid #dedede;background:#f5f5f5}.has-dfw .quicktags-toolbar{padding-right:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:700}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen,.qt-fullscreen{position:absolute;top:0;right:0;margin-top:5px;margin-right:5px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-fullscreen{padding:7px 8px}.qt-fullscreen{width:38px;height:34px}.mce-toolbar .mce-colorbutton .mce-preview{margin-left:-21px}.mce-window .mce-btn{padding:2px 0}.quicktags-toolbar,div.mce-toolbar-grp{padding-right:46px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;height:250px;overflow:hidden;margin-left:-250px;margin-top:-125px;position:fixed;top:50%;left:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#wp-link-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap.search-panel-visible{height:500px;margin-top:-250px}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px;top:0;right:0;left:0}#wp-link-close{color:#666;cursor:pointer;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#2ea2cc}#link-selector{padding:0 16px 50px}#wp-link-wrap.search-panel-visible #link-selector{padding:0 16px;position:absolute;top:36px;left:0;right:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link-search-toggle::after{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-search-toggle{cursor:pointer}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:right;padding-right:5px;max-width:24%}#wp-link .link-search-field{float:left;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:left;margin-top:4px}#wp-link .link-search-wrapper .spinner{display:none;vertical-align:text-bottom}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px #dfdfdf solid;margin:0;background:#fff;overflow:auto;position:absolute;left:16px;right:16px;bottom:16px;top:205px}#wp-link .query-notice,#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 6px;cursor:pointer;position:relative}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:700}#wp-link li:last-child{border:0}#wp-link .item-title{display:inline-block;width:80%;width:-webkit-calc(100% - 68px);width:calc(100% - 68px)}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;right:5px;top:5px}#wp-link #search-panel,#wp-link #search-results{display:none}#wp-link-wrap.search-panel-visible #search-panel{display:block}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block;float:none}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;left:0;right:0}#wp-link-cancel{line-height:25px}#wp-link-update{line-height:23px;float:right}#wp-link-submit{float:right;margin-bottom:0}@media screen and (max-width:782px){#wp-link-wrap{height:280px;margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap.search-panel-visible #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-left:0;left:10px;right:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{-webkit-transition:none;transition:none}#wp-link-wrap.search-panel-visible{height:auto;margin-top:0;top:10px;bottom:10px}.search-panel-visible #link-selector{overflow:auto}.search-panel-visible #search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:-webkit-calc(100% - 92px);height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}.fullscreen-overlay{z-index:100005;display:none;position:fixed;top:0;bottom:0;left:0;right:0;-webkit-filter:inherit;filter:inherit}.wp-fullscreen-active #wp-fullscreen-body,.wp-fullscreen-active .fullscreen-overlay{display:block}.fullscreen-fader{z-index:200000}.wp-core-ui.wp-fullscreen-active .postbox-container,.wp-fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body,.mce-fullscreen{z-index:100010}#wp-fullscreen-body{display:none}.wp-fullscreen-wrap{margin:0;padding:0;position:absolute;left:0;right:0;bottom:30px;top:60px;z-index:100015}#wp-fullscreen-central-toolbar,.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%}.wp-fullscreen-active .mce-statusbar,.wp-fullscreen-active .mce-toolbar-grp,.wp-fullscreen-active .quicktags-toolbar,.wp-fullscreen-active .wp-editor-tools{display:none}#wp-fullscreen-statusbar{position:fixed;left:0;right:0;bottom:0;height:30px;z-index:100020;background:#fff;-webkit-transition:height .2s;transition:height .2s}#wp-fullscreen-status{margin:0 auto;padding:0}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title,.wp-fullscreen-active .wp-fullscreen-title:focus{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color .4s;transition:border-color .4s}.wp-fullscreen-active .wp-editor-container{margin:0 auto 40px}.wp-fullscreen-active .wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:medium none;padding:3px 7px;margin:10px auto 30px;display:block}#wp-fullscreen-tagline{color:#888;font-size:18px;float:right;padding:4px 0 0}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #dedede;height:45px;position:fixed;left:0;right:0;top:0;width:100%;z-index:100020;-webkit-transition:opacity .4s;transition:opacity .4s}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;margin:0 auto}#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-mode-bar{float:left}#wp-fullscreen-count,#wp-fullscreen-tagline{display:inline-block}#wp-fullscreen-button-bar{margin-top:2px}#wp-fullscreen-save{float:right;padding:2px 0 0;min-width:95px}#wp-fullscreen-close,#wp-fullscreen-count{padding:5px 0 0}#wp-fullscreen-central-toolbar{margin:auto;padding:0;min-width:620px}#wp-fullscreen-buttons>div{float:left}#wp-fullscreen-mode-bar{padding:3px 14px 0 0}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}#wp-fullscreen-buttons .mce-btn button{margin:0;outline:0 none;border:0 none;white-space:nowrap;width:auto;background:0 0;color:#333;cursor:pointer;font-size:18px;line-height:20px;overflow:visible;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save span{display:none;margin:5px 6px 0;float:left}.wp-fullscreen-active #TB_overlay{z-index:100050}.wp-fullscreen-active #TB_window{z-index:100051}.fullscreen-overlay{background:#fff}.wp-fullscreen-active #fullscreen-topbar{-webkit-transition-duration:.8s;transition-duration:.8s;opacity:0;filter:alpha(opacity=0)}.wp-fullscreen-active #wp-fullscreen-statusbar{height:0}.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar{-webkit-transition-duration:.4s;transition-duration:.4s;opacity:1;filter:alpha(opacity=100)}.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar{height:29px;background:#f8f8f8;border-top:1px solid #eee}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title{-webkit-transition-duration:.8s;transition-duration:.8s;border-color:transparent}.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container,.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title{-webkit-transition-duration:.4s;transition-duration:.4s;border-color:#ccc}.fade-1000,.fade-300,.fade-400,.fade-600{opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-1000{-webkit-transition-duration:1s;transition-duration:1s}.fade-600{-webkit-transition-duration:.6s;transition-duration:.6s}.fade-400{-webkit-transition-duration:.4s;transition-duration:.4s}.fade-300{-webkit-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.wp-dfw-touch #fullscreen-topbar{position:absolute;opacity:1}.wp-dfw-touch .wp-fullscreen-title,.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container{max-width:700px}.wp-fullscreen-active.wp-dfw-touch .wp-editor-container,.wp-fullscreen-active.wp-dfw-touch .wp-fullscreen-title{border-color:#ccc}.wp-dfw-touch #wp-fullscreen-statusbar{height:30px}@media screen and (max-width:782px){#wp-fullscreen-button-bar,#wp-fullscreen-central-toolbar,#wp-fullscreen-close,#wp-fullscreen-mode-bar,#wp-fullscreen-save{display:inline-block}#fullscreen-topbar{height:85px}#wp-fullscreen-central-toolbar{width:auto!important;min-width:0}#wp-fullscreen-close{line-height:30px;vertical-align:top;padding:0 12px}#wp-fullscreen-button-bar{position:absolute;top:45px;left:0}.wp-fullscreen-wrap{top:95px}#wp-fullscreen-save{position:absolute;right:10px}}@media screen and (max-width:480px){#wp_fs_help{display:none}.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{width:480px!important}body.wp-fullscreen-active{width:480px;overflow:auto}#fullscreen-topbar,.wp-fullscreen-wrap{width:480px}#fullscreen-topbar{position:absolute}#wp-fullscreen-status{width:auto!important;max-width:100%;padding:0 10px}}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wp-fullscreen-buttons #wp_fs_image span.mce_image,.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
index eda4df861c1a474ea6f646bef4f171f242e47501..24e2c8bec5826b7571e0d52f3c3cc61720b3bd62 100644 (file)
        filter:Alpha(Opacity=0);
 }
 
-.ui-front {
-       z-index: 100;
-}
-
-
 /* Interaction Cues
 ----------------------------------*/
 .ui-state-disabled {
        cursor: default !important;
 }
 
-
 /* Icons
 ----------------------------------*/
 
        background-repeat: no-repeat;
 }
 
-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay {
-       position: fixed;
-       top: 0;
-       right: 0;
-       width: 100%;
-       height: 100%;
-}
-
-
 /*!
  * jQuery UI Resizable 1.10.1
  * http://jqueryui.com
 /* @noflip */
 .ui-resizable-se {
        cursor: se-resize;
-       width: 12px;
-       height: 12px;
-       right: 1px;
-       bottom: 1px;
+       width: 9px;
+       height: 9px;
+       right: -5px;
+       bottom: -5px;
 }
 /* @noflip */
 .ui-resizable-sw {
        top: -5px;
 }
 
-/*!
- * jQuery UI Dialog 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Dialog#theming
- */
-.ui-dialog {
-       position: absolute;
-       top: 0;
-       /* @noflip */
-       left: 0;
-       padding: .2em;
-       outline: 0;
-}
-.ui-dialog .ui-dialog-titlebar {
-       padding: .4em 1em;
-       position: relative;
-}
-.ui-dialog .ui-dialog-title {
-       float: right;
-       margin: .1em 0;
+/* WP buttons: see buttons.css. */
+
+.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;
-       width: 90%;
-       overflow: hidden;
-       text-overflow: ellipsis;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       color: #555;
+       border-color: #cccccc;
+       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-dialog .ui-dialog-titlebar-close {
-       position: absolute;
-       left: .3em;
-       top: 50%;
-       width: 21px;
-       margin: -10px 0 0 0;
-       padding: 1px;
-       height: 20px;
-}
-.ui-dialog .ui-dialog-content {
-       position: relative;
-       border: 0;
-       padding: .5em 1em;
-       background: none;
-       overflow: auto;
-}
-.ui-dialog .ui-dialog-buttonpane {
-       text-align: right;
-       border-width: 1px 0 0 0;
-       background-image: none;
-       margin-top: .5em;
-       padding: .3em .4em .5em 1em;
-}
-.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
-       float: left;
+
+/* Remove the dotted border on :focus and the extra padding in Firefox */
+.ui-button::-moz-focus-inner {
+       border-width: 1px 0;
+       border-style: solid none;
+       border-color: transparent;
+       padding: 0;
 }
-.ui-dialog .ui-dialog-buttonpane button {
-       margin: .5em 0 .5em .4em;
-       cursor: pointer;
+
+.ui-button:hover {
+       background: #fafafa;
+       border-color: #999;
+       color: #222;
 }
-.ui-dialog .ui-resizable-se {
-       width: 12px;
-       height: 12px;
-       left: -5px;
-       bottom: -5px;
-       background-position: 16px 16px;
+
+.ui-button:focus {
+       -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+       box-shadow: 1px 1px 1px rgba(0,0,0,.2);
 }
-.ui-draggable .ui-dialog-titlebar {
-       cursor: move;
+
+.ui-button:active {
+       background: #eee;
+       border-color: #999;
+       color: #333;
+       -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 );
+       outline: none;
 }
 
-/* WP jQuery Dialog Theme */
-.wp-dialog {
-       padding: 0;
-       z-index: 300002;
-       border: 0;
-       -webkit-box-shadow: 0 5px 15px rgba(0,0,0,0.7);
-       box-shadow:         0 5px 15px rgba(0,0,0,0.7);
-       background-color: #f5f5f5;
+.ui-button[disabled],
+.ui-button:disabled {
+       color: #aaa !important;
+       border-color: #ddd !important;
+       background: #f7f7f7 !important;
+       -webkit-box-shadow: none !important;
+       box-shadow: none !important;
+       text-shadow: 0 1px 0 #fff !important;
+       cursor: default;
 }
 
-.wp-dialog .ui-dialog-title {
-       display: block;
-       text-align: center;
-       padding: 0;
+@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;
+       }
+
 }
 
-.wp-dialog .ui-dialog-titlebar {
-       padding: 0 1em;
-       background-color: #444;
-       font-size: 13px;
-       line-height: 24px;
-       color: #fff;
+/* WP Theme */
+
+.ui-dialog {
+       position: absolute;
+       top: 0;
+       right: 0;
+       z-index: 100102;
+       background-color: #fff;
+       -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
 }
 
-.wp-dialog .ui-dialog-content {
-       padding: 0;
+.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;
 }
 
-.wp-dialog .ui-dialog-titlebar-close {
-       cursor: pointer;
-       -webkit-appearance: none;
-       border: 0;
-       width: 30px;
-       height: 20px;
-       top: 13px;
-       left: 6px;
+.ui-button.ui-dialog-titlebar-close {
        background: none;
+       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;
 }
 
-.wp-dialog .ui-dialog-titlebar-close:before {
-       content: '\f158';
+.ui-dialog-titlebar-close:before {
        font: normal 20px/1 'dashicons';
+       vertical-align: top;
        speak: none;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
-       color: #999;
-       padding-right: 12px;
+       line-height: 36px;
+       width: 36px;
+       height: 36px;
+       content: '\f158';
 }
 
-.wp-dialog .ui-dialog-titlebar-close:hover:before {
+.ui-button.ui-dialog-titlebar-close:hover {
        color: #2ea2cc;
 }
 
-.wp-dialog .ui-dialog-titlebar-close .ui-button-text {
+.ui-dialog-titlebar-close .ui-button-text {
        display: none;
 }
 
-.wp-dialog .ui-dialog-titlebar-close:hover,
-.wp-dialog .ui-dialog-titlebar-close:focus {
-       background-position: -87px -32px;
+.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 {
-       z-index: 300001;
-       background-color: #000;
-       opacity: 0.6;
-       filter: alpha(opacity=60);
+       position: fixed;
+       top: 0;
+       right: 0;
+       left: 0;
+       bottom: 0;
+       min-height: 360px;
+       background: #000;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
+       z-index: 100101;
 }
index 97eade0cd3563beae54ba4b3bc35fd59d39b7b55..e7b482937f130bedb2ac4a362aa3d0a80d2bf618 100644 (file)
@@ -7,7 +7,7 @@
  * http://jquery.org/license
  *
  * http://docs.jquery.com/UI/Theming/API
- */.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:before,.ui-helper-clearfix:after{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{position:fixed;top:0;right:0;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-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-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}/*!
  * jQuery UI Resizable 1.10.1
  * http://jqueryui.com
  *
  * http://jquery.org/license
  *
  * http://docs.jquery.com/UI/Resizable#theming
- */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .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}/*!
- * jQuery UI Dialog 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Dialog#theming
- */.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:right;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;left:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0 0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:right;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em .4em .5em 1em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:left}.ui-dialog .ui-dialog-buttonpane button{margin:.5em 0 .5em .4em;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;left:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.wp-dialog{padding:0;z-index:300002;border:0;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background-color:#f5f5f5}.wp-dialog .ui-dialog-title{display:block;text-align:center;padding:0}.wp-dialog .ui-dialog-titlebar{padding:0 1em;background-color:#444;font-size:13px;line-height:24px;color:#fff}.wp-dialog .ui-dialog-content{padding:0}.wp-dialog .ui-dialog-titlebar-close{cursor:pointer;-webkit-appearance:none;border:0;width:30px;height:20px;top:13px;left:6px;background:0 0}.wp-dialog .ui-dialog-titlebar-close:before{content:'\f158';font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#999;padding-right:12px}.wp-dialog .ui-dialog-titlebar-close:hover:before{color:#2ea2cc}.wp-dialog .ui-dialog-titlebar-close .ui-button-text{display:none}.wp-dialog .ui-dialog-titlebar-close:hover,.wp-dialog .ui-dialog-titlebar-close:focus{background-position:-87px -32px}.ui-widget-overlay{z-index:300001;background-color:#000;opacity:.6;filter:alpha(opacity=60)}
\ No newline at end of file
+ */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;right:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;right:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:9px;height:9px;right:-5px;bottom:-5px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-button{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.ui-button::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.ui-button:hover{background:#fafafa;border-color:#999;color:#222}.ui-button:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.ui-button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);outline:0}.ui-button:disabled,.ui-button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}@media screen and (max-width:782px){.ui-button{padding:10px 14px;line-height:1;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.ui-dialog{position:absolute;top:0;right:0;z-index:100102;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}.ui-dialog-titlebar{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px}.ui-button.ui-dialog-titlebar-close{background:0 0;border:0;-webkit-box-shadow:none;box-shadow:none;color:#666;cursor:pointer;display:block;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center}.ui-dialog-titlebar-close:before{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:36px;width:36px;height:36px;content:'\f158'}.ui-button.ui-dialog-titlebar-close:hover{color:#2ea2cc}.ui-dialog-titlebar-close .ui-button-text{display:none}.ui-dialog-content{padding:16px;overflow:auto}.ui-dialog-buttonpane{background:#fcfcfc;border-top:1px solid #dfdfdf;padding:16px}.ui-dialog-buttonpane .ui-button{margin-right:16px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:left}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-widget-overlay{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100101}
\ No newline at end of file
index 6418ea361bbc84787124ef8888c4bf25557336bc..94c655ff329df5238094e1ff036e02bc9a692554 100644 (file)
        filter:Alpha(Opacity=0);
 }
 
-.ui-front {
-       z-index: 100;
-}
-
-
 /* Interaction Cues
 ----------------------------------*/
 .ui-state-disabled {
        cursor: default !important;
 }
 
-
 /* Icons
 ----------------------------------*/
 
        background-repeat: no-repeat;
 }
 
-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay {
-       position: fixed;
-       top: 0;
-       left: 0;
-       width: 100%;
-       height: 100%;
-}
-
-
 /*!
  * jQuery UI Resizable 1.10.1
  * http://jqueryui.com
 /* @noflip */
 .ui-resizable-se {
        cursor: se-resize;
-       width: 12px;
-       height: 12px;
-       right: 1px;
-       bottom: 1px;
+       width: 9px;
+       height: 9px;
+       right: -5px;
+       bottom: -5px;
 }
 /* @noflip */
 .ui-resizable-sw {
        top: -5px;
 }
 
-/*!
- * jQuery UI Dialog 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Dialog#theming
- */
-.ui-dialog {
-       position: absolute;
-       top: 0;
-       /* @noflip */
-       left: 0;
-       padding: .2em;
-       outline: 0;
-}
-.ui-dialog .ui-dialog-titlebar {
-       padding: .4em 1em;
-       position: relative;
-}
-.ui-dialog .ui-dialog-title {
-       float: left;
-       margin: .1em 0;
+/* WP buttons: see buttons.css. */
+
+.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;
-       width: 90%;
-       overflow: hidden;
-       text-overflow: ellipsis;
-}
-.ui-dialog .ui-dialog-titlebar-close {
-       position: absolute;
-       right: .3em;
-       top: 50%;
-       width: 21px;
-       margin: -10px 0 0 0;
-       padding: 1px;
-       height: 20px;
-}
-.ui-dialog .ui-dialog-content {
-       position: relative;
-       border: 0;
-       padding: .5em 1em;
-       background: none;
-       overflow: auto;
-}
-.ui-dialog .ui-dialog-buttonpane {
-       text-align: left;
-       border-width: 1px 0 0 0;
-       background-image: none;
-       margin-top: .5em;
-       padding: .3em 1em .5em .4em;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       color: #555;
+       border-color: #cccccc;
+       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-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
-       float: right;
+
+/* Remove the dotted border on :focus and the extra padding in Firefox */
+.ui-button::-moz-focus-inner {
+       border-width: 1px 0;
+       border-style: solid none;
+       border-color: transparent;
+       padding: 0;
 }
-.ui-dialog .ui-dialog-buttonpane button {
-       margin: .5em .4em .5em 0;
-       cursor: pointer;
+
+.ui-button:hover {
+       background: #fafafa;
+       border-color: #999;
+       color: #222;
 }
-.ui-dialog .ui-resizable-se {
-       width: 12px;
-       height: 12px;
-       right: -5px;
-       bottom: -5px;
-       background-position: 16px 16px;
+
+.ui-button:focus {
+       -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2);
+       box-shadow: 1px 1px 1px rgba(0,0,0,.2);
 }
-.ui-draggable .ui-dialog-titlebar {
-       cursor: move;
+
+.ui-button:active {
+       background: #eee;
+       border-color: #999;
+       color: #333;
+       -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 );
+       outline: none;
 }
 
-/* WP jQuery Dialog Theme */
-.wp-dialog {
-       padding: 0;
-       z-index: 300002;
-       border: 0;
-       -webkit-box-shadow: 0 5px 15px rgba(0,0,0,0.7);
-       box-shadow:         0 5px 15px rgba(0,0,0,0.7);
-       background-color: #f5f5f5;
+.ui-button[disabled],
+.ui-button:disabled {
+       color: #aaa !important;
+       border-color: #ddd !important;
+       background: #f7f7f7 !important;
+       -webkit-box-shadow: none !important;
+       box-shadow: none !important;
+       text-shadow: 0 1px 0 #fff !important;
+       cursor: default;
 }
 
-.wp-dialog .ui-dialog-title {
-       display: block;
-       text-align: center;
-       padding: 0;
+@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;
+       }
+
 }
 
-.wp-dialog .ui-dialog-titlebar {
-       padding: 0 1em;
-       background-color: #444;
-       font-size: 13px;
-       line-height: 24px;
-       color: #fff;
+/* WP Theme */
+
+.ui-dialog {
+       position: absolute;
+       top: 0;
+       left: 0;
+       z-index: 100102;
+       background-color: #fff;
+       -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
 }
 
-.wp-dialog .ui-dialog-content {
-       padding: 0;
+.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;
 }
 
-.wp-dialog .ui-dialog-titlebar-close {
-       cursor: pointer;
-       -webkit-appearance: none;
-       border: 0;
-       width: 30px;
-       height: 20px;
-       top: 13px;
-       right: 6px;
+.ui-button.ui-dialog-titlebar-close {
        background: none;
+       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;
 }
 
-.wp-dialog .ui-dialog-titlebar-close:before {
-       content: '\f158';
+.ui-dialog-titlebar-close:before {
        font: normal 20px/1 'dashicons';
+       vertical-align: top;
        speak: none;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
-       color: #999;
-       padding-left: 12px;
+       line-height: 36px;
+       width: 36px;
+       height: 36px;
+       content: '\f158';
 }
 
-.wp-dialog .ui-dialog-titlebar-close:hover:before {
+.ui-button.ui-dialog-titlebar-close:hover {
        color: #2ea2cc;
 }
 
-.wp-dialog .ui-dialog-titlebar-close .ui-button-text {
+.ui-dialog-titlebar-close .ui-button-text {
        display: none;
 }
 
-.wp-dialog .ui-dialog-titlebar-close:hover,
-.wp-dialog .ui-dialog-titlebar-close:focus {
-       background-position: -87px -32px;
+.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 {
-       z-index: 300001;
-       background-color: #000;
-       opacity: 0.6;
-       filter: alpha(opacity=60);
+       position: fixed;
+       top: 0;
+       left: 0;
+       right: 0;
+       bottom: 0;
+       min-height: 360px;
+       background: #000;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
+       z-index: 100101;
 }
index 4c10daca4d598d9e62fd90fae01a0569beea96dd..51f3922658f3e13acc8477c62ed60ef4e83f5d7d 100644 (file)
@@ -7,7 +7,7 @@
  * http://jquery.org/license
  *
  * http://docs.jquery.com/UI/Theming/API
- */.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:before,.ui-helper-clearfix:after{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{position:fixed;top:0;left:0;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-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-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}/*!
  * jQuery UI Resizable 1.10.1
  * http://jqueryui.com
  *
  * http://jquery.org/license
  *
  * http://docs.jquery.com/UI/Resizable#theming
- */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .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}/*!
- * jQuery UI Dialog 1.10.1
- * http://jqueryui.com
- *
- * Copyright 2013 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Dialog#theming
- */.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0 0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.wp-dialog{padding:0;z-index:300002;border:0;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background-color:#f5f5f5}.wp-dialog .ui-dialog-title{display:block;text-align:center;padding:0}.wp-dialog .ui-dialog-titlebar{padding:0 1em;background-color:#444;font-size:13px;line-height:24px;color:#fff}.wp-dialog .ui-dialog-content{padding:0}.wp-dialog .ui-dialog-titlebar-close{cursor:pointer;-webkit-appearance:none;border:0;width:30px;height:20px;top:13px;right:6px;background:0 0}.wp-dialog .ui-dialog-titlebar-close:before{content:'\f158';font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#999;padding-left:12px}.wp-dialog .ui-dialog-titlebar-close:hover:before{color:#2ea2cc}.wp-dialog .ui-dialog-titlebar-close .ui-button-text{display:none}.wp-dialog .ui-dialog-titlebar-close:hover,.wp-dialog .ui-dialog-titlebar-close:focus{background-position:-87px -32px}.ui-widget-overlay{z-index:300001;background-color:#000;opacity:.6;filter:alpha(opacity=60)}
\ No newline at end of file
+ */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:9px;height:9px;right:-5px;bottom:-5px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-button{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.ui-button::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.ui-button:hover{background:#fafafa;border-color:#999;color:#222}.ui-button:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.ui-button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);outline:0}.ui-button:disabled,.ui-button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}@media screen and (max-width:782px){.ui-button{padding:10px 14px;line-height:1;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.ui-dialog{position:absolute;top:0;left:0;z-index:100102;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}.ui-dialog-titlebar{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px}.ui-button.ui-dialog-titlebar-close{background:0 0;border:0;-webkit-box-shadow:none;box-shadow:none;color:#666;cursor:pointer;display:block;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center}.ui-dialog-titlebar-close:before{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:36px;width:36px;height:36px;content:'\f158'}.ui-button.ui-dialog-titlebar-close:hover{color:#2ea2cc}.ui-dialog-titlebar-close .ui-button-text{display:none}.ui-dialog-content{padding:16px;overflow:auto}.ui-dialog-buttonpane{background:#fcfcfc;border-top:1px solid #dfdfdf;padding:16px}.ui-dialog-buttonpane .ui-button{margin-left:16px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-widget-overlay{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100101}
\ No newline at end of file
index ec70970e7794043aeff9f80d121c47759734e6f0..34212a4ed20c6543fe6194818a0a1540ef96706b 100644 (file)
@@ -3,8 +3,8 @@
  */
 .media-modal * {
        -webkit-box-sizing: content-box;
-       -moz-box-sizing:    content-box;
-       box-sizing:         content-box;
+       -moz-box-sizing: content-box;
+       box-sizing: content-box;
 }
 
 .media-modal,
@@ -57,9 +57,8 @@
 .media-frame select {
        font-family: "Open Sans", sans-serif;
        font-size: 12px;
-       -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
-       -ms-box-sizing: border-box; /* ie8 only */
+       -moz-box-sizing: border-box;
        box-sizing: border-box;
        border-width: 1px;
        border-style: solid;
    color: #a9a9a9;
 }
 
+.media-frame .hidden {
+       display: none;
+}
+
 /* Enable draggable on IE10 touch events until it's rolled into jQuery UI core */
 .ui-sortable,
 .ui-draggable {
        -ms-touch-action: none;
-       touch-action:     none;
+       touch-action: none;
 }
 
 .meta-box-sortables.ui-sortable {
        -ms-touch-action: auto;
-       touch-action:     auto;
+       touch-action: auto;
 }
 
 .meta-box-sortables.ui-sortable .hndle {
        -ms-touch-action: none;
-       touch-action:     none;
+       touch-action: none;
 }
 
 /**
        bottom: 0;
        overflow: auto;
        min-height: 300px;
+       -webkit-box-shadow: 0 5px 15px rgba(0,0,0,0.7);
        box-shadow: 0 5px 15px rgba(0,0,0,0.7);
        background: #fcfcfc;
        -webkit-font-smoothing: subpixel-antialiased;
        width: 100%;
 }
 
-.media-sidebar h3 {
+.media-sidebar h3,
+.image-details h3 {
        position: relative;
        font-weight: bold;
        text-transform: uppercase;
        user-select: none;
 }
 
+.media-router a {
+       -webkit-transition: none;
+       transition: none;
+}
+
 .media-router > a {
        position: relative;
        float: right;
        top: 0;
        right: 0;
        bottom: 0;
-       width: 199px;
+       width: 200px;
        z-index: 150;
 }
 
 
 .media-frame.hide-router .media-frame-title {
        border-bottom: 1px solid #dfdfdf;
+       -webkit-box-shadow: 0 4px 4px -4px rgba( 0, 0, 0, 0.1 );
        box-shadow: 0 4px 4px -4px rgba( 0, 0, 0, 0.1 );
 }
 
-.media-frame .media-toolbar .add-to-gallery {
-       display: none;
-}
-
 .media-frame-title h1 {
        padding: 0 16px;
        font-size: 22px;
        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;
+}
+
 /**
  * Iframes
  */
 .attachment {
        position: relative;
        float: right;
-
        padding: 0;
        margin: 0 10px 20px;
        color: #464646;
        list-style: none;
        text-align: center;
-
        -webkit-user-select: none;
-       -moz-user-select:    none;
-       -ms-user-select:     none;
-       -o-user-select:      none;
-       user-select:         none;
+       -moz-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
 }
 
 .selected.attachment {
+       -webkit-box-shadow:
+               0 0 0 1px #fff,
+               0 0 0 3px #ccc;
        box-shadow:
                0 0 0 1px #fff,
                0 0 0 3px #ccc;
        position: relative;
        width: 199px;
        height: 199px;
+       -webkit-box-shadow:
+               inset 0 0 15px rgba( 0, 0, 0, 0.1 ),
+               inset 0 0 0 1px rgba( 0, 0, 0, 0.05 );
        box-shadow:
                inset 0 0 15px rgba( 0, 0, 0, 0.1 ),
                inset 0 0 0 1px rgba( 0, 0, 0, 0.05 );
        right: 0;
        left: 0;
        bottom: 0;
+       -webkit-box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.1 );
        box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.1 );
        overflow: hidden;
 }
        width: 100%;
        height: 100%;
        -webkit-transform: translate( 50%, 50% );
-       -moz-transform:    translate( 50%, 50% );
-       -ms-transform:     translate( 50%, 50% );
-       -o-transform:      translate( 50%, 50% );
-       transform:         translate( 50%, 50% );
+       -ms-transform: translate( 50%, 50% );
+       transform: translate( 50%, 50% );
 }
 
 .attachment .thumbnail .centered img {
        -webkit-transform: translate( -50%, -50% );
-       -moz-transform:    translate( -50%, -50% );
-       -ms-transform:     translate( -50%, -50% );
-       -o-transform:      translate( -50%, -50% );
-       transform:         translate( -50%, -50% );
+       -ms-transform: translate( -50%, -50% );
+       transform: translate( -50%, -50% );
 }
 
 .attachment .filename {
        text-align: center;
        font-weight: bold;
        background: rgba( 255, 255, 255, 0.8 );
+       -webkit-box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.15 );
        box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.15 );
 }
 
        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 );
 }
 
 .attachment .close:hover {
+       -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 );
 }
 
        left: -6px;
        outline: none;
        background: #eee;
+       -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.4 );
        box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.4 );
 }
 
 }
 
 .attachment.details {
+       -webkit-box-shadow: 0 0 0 1px #fff,
+                               0 0 0 5px #1e8cbe;
        box-shadow: 0 0 0 1px #fff,
                                0 0 0 5px #1e8cbe;
 }
 
 .attachment.details .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;
 }
        margin: -1px 0 0;
        padding: 8px;
        font-size: 12px;
+       -webkit-border-radius: 0;
        border-radius: 0;
 }
 
        line-height: 18px;
        font-size: 13px;
        color: #666;
+       margin-left: 0.5em;
 }
 
 /**
        height: 10px;
        width: 70%;
        margin: 10px auto;
+       -webkit-border-radius: 10px;
        border-radius: 10px;
        background: #dfdfdf;
        background: rgba( 0, 0, 0, 0.1 );
        min-width: 20px;
        width: 0;
        background: #1e8cbe;
+       -webkit-border-radius: 10px;
        border-radius: 10px;
-       -webkit-transition: width 300ms;
-       -moz-transition:    width 300ms;
-       -ms-transition:     width 300ms;
-       -o-transition:      width 300ms;
+       -webkit-transition:         width 300ms;
        transition:         width 300ms;
 }
 
 
 .media-sidebar .media-uploader-status {
        border-bottom: 1px solid #dfdfdf;
+       -webkit-box-shadow: 0 1px 0 #fff;
        box-shadow: 0 1px 0 #fff;
 }
 
        padding: 8px;
        border: 1px #c00 solid;
        background: #ffebe8;
+       -webkit-border-radius: 3px;
        border-radius: 3px;
 }
 
        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:    -moz-linear-gradient(top, #e00, #a00);
-       background-image:      -o-linear-gradient(top, #e00, #a00);
-       background-image:   linear-gradient(to bottom, #e00, #a00);
+       background-image: linear-gradient(to bottom, #e00, #a00);
+       -webkit-border-radius: 3px;
        border-radius: 3px;
 }
 
        left: 0;
        bottom: 0;
        background: rgba( 0, 86, 132, 0.9 );
-
        z-index: 250000;
        display: none;
        text-align: center;
        opacity: 0;
-
        -webkit-transition: opacity 250ms;
-       -moz-transition:    opacity 250ms;
-       -ms-transition:     opacity 250ms;
-       -o-transition:      opacity 250ms;
-       transition:         opacity 250ms;
+       transition: opacity 250ms;
 }
 
 .uploader-window-content {
        right: 0;
        left: 0;
        -webkit-transform: translateY( -50% );
-       -moz-transform:    translateY( -50% );
-       -ms-transform:     translateY( -50% );
-       -o-transform:      translateY( -50% );
-       transform:         translateY( -50% );
-
+       -ms-transform: translateY( -50% );
+       transform: translateY( -50% );
        font-size: 40px;
        color: #fff;
        padding: 0;
 }
 
 .attachment.selection.selected {
+       -webkit-box-shadow: none;
        box-shadow: none;
 }
 
 .attachment.selection.details {
+       -webkit-box-shadow:
+               0 0 0 1px #fff,
+               0 0 0 4px #1e8cbe;
        box-shadow:
                0 0 0 1px #fff,
                0 0 0 4px #1e8cbe;
 }
 
 .media-selection .attachment.selection.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;
        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:    -moz-linear-gradient(left, rgba( 255, 255, 255, 1 ) ,  rgba( 255, 255, 255, 0 ) );
-       background-image:      -o-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 ) );
+       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 {
  */
 
 .media-frame .spinner {
-       background: url('../images/spinner.gif') no-repeat;
+       background: url(../images/spinner.gif) no-repeat;
+       -webkit-background-size: 20px 20px;
        background-size: 20px 20px;
        display: none;
        opacity: 0.7;
        margin: 0;
 }
 
+.media-toolbar .spinner {
+       margin-top: 14px;
+}
+
 .media-sidebar .settings-save-status {
        background: #f5f5f5;
        float: left;
        margin-bottom: 16px;
        line-height: 18px;
        color: #666;
-       border-bottom: 1px solid #e5e5e5;
-       box-shadow: 0 1px 0 #fff;
+       border-bottom: 1px solid #ddd;
        padding-bottom: 11px;
 }
 
 .uploading .attachment-info .thumbnail {
        width: 120px;
        height: 80px;
+       -webkit-box-shadow: inset 0 0 15px rgba( 0, 0, 0, 0.1 );
        box-shadow: inset 0 0 15px rgba( 0, 0, 0, 0.1 );
 }
 
        right: 0;
        left: 0;
        bottom: 0;
+       -webkit-box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.15 );
        box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.15 );
        overflow: hidden;
 }
 
 .attachment-info .edit-attachment,
 .attachment-info .refresh-attachment,
-.attachment-info .delete-attachment {
+.attachment-info .delete-attachment,
+.attachment-info .trash-attachment {
        display: block;
        text-decoration: none;
        white-space: nowrap;
        display: block;
 }
 
-.attachment-info .delete-attachment {
+.attachment-info .delete-attachment,
+.attachment-info .trash-attachment {
        color: #bc0b0b;
 }
 
-.attachment-info .delete-attachment:hover {
+.attachment-info .delete-attachment:hover,
+.attachment-info .trash-attachment:hover {
        color: red;
 }
 
        margin: 1.4em 0 0.4em;
 }
 
-.gallery-settings {
+.collection-settings {
        overflow: hidden;
 }
 
+.collection-settings .setting input[type="checkbox"] {
+       float: right;
+       margin-left: 8px;
+}
+
+.collection-settings .setting span {
+       min-width: inherit;
+}
+
 /**
- * Embed from URL
+ * Image Editor
+ */
+
+.media-frame .imgedit-wrap {
+       position: static;
+}
+
+.media-frame .imgedit-wait {
+       height: auto !important;
+       left: 0;
+       bottom: 0;
+       right: 0;
+}
+
+.media-frame .imgedit-wrap .imgedit-panel-content {
+       padding: 16px;
+       position: absolute;
+       top: 0;
+       left: 282px;
+       bottom: 0;
+       right: 0;
+       overflow: auto;
+}
+
+.media-frame .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-frame .imgedit-group {
+       background: none;
+       border: none;
+       border-bottom: 1px solid #ddd;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       margin: 0;
+       margin-bottom: 16px;
+       padding: 0;
+       padding-bottom: 16px;
+}
+
+.media-frame .imgedit-group:last-of-type {
+       border: none;
+       margin: 0;
+       padding: 0;
+}
+
+.media-frame .imgedit-group-top h3 {
+       text-transform: uppercase;
+       font-size: 12px;
+       color: #666;
+       margin: 0;
+       margin-top: 24px;
+}
+
+.media-frame .imgedit-group-top h3 a {
+       text-decoration: none;
+       color: #666;
+}
+
+.media-frame .imgedit-help-toggle {
+       margin-top: -2px;
+       cursor: pointer;
+       color: #666;
+}
+
+.media-frame .imgedit-help-toggled span.dashicons:before {
+       content: '\f142';
+}
+
+.media-frame .imgedit-group img {
+       margin-top: 5px;
+}
+
+.media-frame .imgedit-wrap div.updated {
+       margin: 0;
+       margin-bottom: 16px;
+}
+
+
+/**
+ * Embed from URL and Image Details
  */
 .embed-url {
        display: block;
        padding: 12px 14px;
        width: 100%;
        min-width: 200px;
+       -webkit-box-shadow: inset 2px 2px 4px -2px rgba( 0, 0, 0, 0.1 );
        box-shadow: inset 2px 2px 4px -2px rgba( 0, 0, 0, 0.1 );
 }
 
 }
 
 .embed-link-settings,
-.embed-image-settings {
+.embed-media-settings {
        position: absolute;
        top: 60px;
        right: 0;
        overflow: auto;
 }
 
+.image-details .media-modal {
+       right: 140px;
+       left: 140px;
+}
+
+.image-details .media-frame-menu {
+       display: none;
+}
+
+.image-details .media-frame-title,
+.image-details .media-frame-content,
+.image-details .media-frame-router {
+       right: 0;
+}
+
+.image-details .embed-media-settings {
+       top: 0;
+       overflow: visible;
+       padding: 0;
+}
+
+.image-details .column-settings {
+       background: #f3f3f3;
+       border-left: 1px solid #ddd;
+       min-height: 100%;
+       width: 52%;
+       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: 48%;
+       position: absolute;
+       right: 52%;
+       top: 0;
+}
+
+.image-details .image {
+       margin: 20px;
+}
+
+.image-details .image img {
+       max-width: 100%;
+       max-height: 500px;
+}
+
+.image-details .advanced-toggle {
+       color: #666;
+       text-decoration: none;
+       display: block;
+}
+
+.image-details .advanced-toggle::after {
+       font: normal 20px/1 'dashicons';
+       speak: none;
+       vertical-align: top;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       content: '\f140';
+       display: inline-block;
+       margin-top: -2px;
+}
+
+.image-details .advanced-visible .advanced-toggle::after {
+       content: '\f142';
+       margin-top: 0;
+}
+
+.image-details .embed-media-settings .size {
+       margin-bottom: 4px;
+}
+
+.image-details .custom-size span {
+       display: block;
+}
+
+.image-details .custom-size label {
+       display: block;
+       float: right;
+}
+
+.image-details .custom-size span small {
+       color: #999;
+       font-size: inherit;
+}
+
+.image-details .custom-size input {
+       width: 5em;
+}
+
+.image-details .custom-size .sep {
+       float: right;
+       margin: 26px 6px 0 6px;
+}
+
+.image-details .custom-size::after {
+    content: '';
+       display: table;
+    clear: both;
+}
+
 .media-embed .thumbnail {
        max-width: 100%;
        max-height: 200px;
        right: 0;
        left: 0;
        bottom: 0;
+       -webkit-box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.1 );
        box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.1 );
        overflow: hidden;
 }
 
 .media-embed .setting {
        width: 100%;
-       margin-top: 10px;
+       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 .setting input.link-to-custom,
+.image-details .embed-media-settings .link-target,
+.image-details .embed-media-settings .custom-size {
+       margin-right: 27%;
+       width: 70%;
+}
+
+.image-details .embed-media-settings .link-target {
+       margin-top: 24px;
+}
+
+.media-embed .setting input.hidden {
+       display: none;
+}
+
 .media-embed .setting span {
        display: block;
        width: 200px;
        color: #666;
 }
 
+.image-details .embed-media-settings .setting span {
+       float: right;
+       width: 25%;
+       text-align: left;
+       margin: 8px 1% 0 1%;
+       line-height: 1.1;
+}
+
 .media-embed .setting .button-group {
        margin: 2px 0;
 }
 
-.media-embed .setting input,
-.media-embed .setting textarea {
-       display: block;
+.media-embed-sidebar {
+       position: absolute;
+       top: 0;
+       right: 440px;
+}
+
+.advanced-section,
+.link-settings {
+       margin-top: 10px;
+}
+
+/* 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;
+       top: 0;
+       right: 0;
        width: 100%;
-       max-width: 400px;
-       margin: 1px 0;
+       height: 100%;
+       z-index: 99998; /* under the toolbar */
+       display: none;
+       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;
+       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: bold;
+       color: #fff;
+       padding: 0;
+       margin: 0;
+       display: none;
+}
+
+.wp-editor-wrap .uploader-editor.droppable {
+       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;
 }
 
 /**
                top: 40%;
        }
 
+       .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;
+       }
+
        .media-selection {
                min-width: 120px;
        }
        .media-modal-close {
                left: 10px;
        }
-       
+
        /* Text inputs need to be 16px, or they force zooming on iOS */
        .media-frame input[type="text"],
        .media-frame input[type="password"],
        .media-frame-title {
                display: none;
        }
-       
+
+       .image-details .media-frame-title {
+               display: block;
+               top: 0;
+               font-size: 14px;
+       }
+
        .media-frame-toolbar {
                position: absolute;
                bottom: 0px;
        .attachment-details h3 {
                margin-top: 45px;
        }
-               
+
        /* Shorten right-side links so they don't overlap the close button */
        .media-menu a:nth-child(2),
        .media-menu a:last-child {
                top: 84px;
                right: 0;
        }
-       
+
        .media-frame-content {
                right: 0;
                top: 118px;
        }
 
+       .image-details .media-frame.hide-router .media-frame-content {
+               top: 40px;
+       }
+
        .media-frame .attachments-browser {
                padding-bottom: 300px;
        }
-       
+
        .media-sidebar {
                border-bottom: 1px solid #dddddd;
        }
-       
+
        .media-modal {
                width: auto;
        }
        }
 
        /* Full-bleed modal */
-       .media-modal {
+       .media-modal,
+       .image-details .media-modal {
                position: fixed;
                top: 0;
                right: 0;
 
        /* Image From Link */
        .embed-link-settings,
-       .embed-image-settings {
+       .embed-media-settings {
                padding-bottom: 52px;
        }
 
+       .image-details .column-settings,
+       .image-details .column-image {
+               position: relative;
+               padding: 10px 0 20px 0;
+               right: 0;
+               width: 100%;
+               min-height: inherit;
+       }
+
+
        /* Gallery */
        .media-frame.hide-router .media-frame-content {
                top: 73px;
                border-top: none;
        }
 
-       .gallery-settings h3 {
+       .collection-settings h3 {
                margin-top: 45px;
        }
 
        .media-frame-content {
                top: 78px;
        }
-       
+
        .attachments-browser .attachments {
                top: 2px;
        }
 
        .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');
+               background-image: url(../images/spinner-2x.gif);
        }
-}
\ No newline at end of file
+}
index f7356989ca4b109cdbab4d36c86a1c510bf6436e..7c6a46408a10b9b3861fe9d5023d6c7f47715e04 100644 (file)
@@ -1 +1 @@
-.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-modal,.media-frame{font-family:"Open Sans",sans-serif;font-size:12px}.media-frame input,.media-frame textarea{padding:6px 8px;line-height:16px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:0;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#333}.media-frame a.button:hover{color:#222}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=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 textarea,.media-frame select{font-family:"Open Sans",sans-serif;font-size:12px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame textarea:disabled,.media-frame input[readonly],.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.ui-sortable,.ui-draggable{-ms-touch-action:none;touch-action:none}.meta-box-sortables.ui-sortable{-ms-touch-action:auto;touch-action:auto}.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;right:30px;left:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:5px;left:10px;width:30px;height:30px;z-index:1000}.media-modal-close span.media-modal-icon{display:block;margin:8px auto 0;width:15px;height:15px;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:#2ea2cc}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;right:0;left:0;bottom:0;overflow:auto;min-height:300px;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;float:right;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%}.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.media-sidebar .setting{display:block;float:right;width:100%;margin:1px 0}.media-sidebar .setting label{display:block}.media-sidebar .setting .link-to-custom{margin:3px 0}.media-sidebar .setting span{min-width:30%;margin-left:4%;font-size:12px}.media-sidebar .setting select{max-width:65%}.media-sidebar .setting input[type=checkbox],.media-sidebar .field input[type=checkbox]{width:16px;float:none;margin:8px 3px 0;padding:0}.media-sidebar .setting span,.compat-item label span{float:right;min-height:22px;padding-top:8px;line-height:16px;text-align:left;font-weight:400;color:#666}.media-sidebar .setting input,.media-sidebar .setting textarea{margin:1px;width:65%;float:left}.media-sidebar .setting textarea,.compat-item .field textarea{height:62px;resize:vertical}.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 .label,.compat-item .field{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-left:4%;float:right;text-align:left}.compat-item .label span{display:block;width:100%}.compat-item .field{float:left;width:66%}.compat-item .field input{width:100%;margin:0}.media-menu{position:absolute;top:0;right:0;left:0;bottom:0;margin:0;padding:16px 0;background:#f3f3f3;border-left-width:1px;border-left-style:solid;border-left-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0074a2;text-decoration:none}.media-menu>a:hover{color:#21759B;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#222;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router>a{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,.media-router>a:focus{outline:0}.media-router .active,.media-router .active:hover{color:#333}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:0}.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:199px;z-index:150}.media-frame-title{position:absolute;top:0;right:200px;left:0;height:56px;z-index:200}.media-frame-router{position:absolute;top:56px;right:200px;left:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:90px;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-title,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-toolbar,.media-frame.hide-menu .media-frame-content{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:56px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame .media-toolbar .add-to-gallery{display:none}.media-frame-title h1{padding:0 16px;font-size:22px;line-height:60px;margin:0}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-left:10px}.media-frame .search{margin-top:11px;padding:4px;line-height:18px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-secondary .search{margin-left:16px}.attachments{margin:0;padding-left:16px;-webkit-overflow-scrolling:touch}.attachment{position:relative;float:right;padding:0;margin:0 10px 20px;color:#464646;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.selected.attachment{box-shadow:0 0 0 1px #fff,0 0 0 3px #ccc}.attachment-preview{position:relative;width:199px;height:199px;box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.attachment .icon{margin:0 auto;overflow:hidden;padding-top:20%}.attachment .thumbnail{display:block;position:absolute;top:0;right:0;margin:0 auto;overflow:hidden;max-width:100%;max-height:100%}.attachment-preview .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.attachment .thumbnail img{top:0;left:0}.attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-moz-transform:translate(50%,50%);-ms-transform:translate(50%,50%);-o-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.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);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.attachment .filename div{padding:5px 10px}.attachment-preview .thumbnail{width:199px;height:199px}.attachment .thumbnail img{position:absolute}.attachment .close{display:none;position:absolute;top:5px;left:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.3)}.attachment .close:hover{box-shadow:0 0 0 1px rgba(0,0,0,.6)}.attachment:hover .close{display:block}.attachment .check{display:none;height:24px;width:24px;position:absolute;top:-6px;left:-6px;outline:0;background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.attachment .check:hover div{background-position:-40px 0}.attachment.selected .check{display:block}.attachment.details{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.attachment.details .check div{background-position:-21px 0}.attachment.details .check:hover div{background-position:-60px 0}.media-frame .attachment .describe{position:relative;display:block;width:100%;margin:-1px 0 0;padding:8px;font-size:12px;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 .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-top:10px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;right:0;left:300px;bottom:0;overflow:auto}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#1e8cbe;border-radius:10px;-webkit-transition:width 300ms;-moz-transition:width 300ms;-ms-transition:width 300ms;-o-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 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;box-shadow:0 1px 0 #fff}.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 #c00 solid;background:#ffebe8;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-left:8px;font-weight:700;color:#fff;background:#e00;background-image:-webkit-gradient(linear,right top,right bottom,from(#e00),to(#a00));background-image:-webkit-linear-gradient(top,#e00,#a00);background-image:-moz-linear-gradient(top,#e00,#a00);background-image:-o-linear-gradient(top,#e00,#a00);background-image:linear-gradient(to bottom,#e00,#a00);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;-moz-transition:opacity 250ms;-ms-transition:opacity 250ms;-o-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%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-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:transparent;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:20px;padding:20px;text-align:center}.uploader-inline-content{position:absolute;top:30%;right:0;left:0}.uploader-inline-content .upload-ui{margin:4em 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-bottom:1.6em}.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}.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.empty,.media-selection.editing{display:none}.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:700}.media-selection .selection-info a{display:block;float:right;padding:1px 8px;margin:1px -8px 1px 8px;line-height:16px;text-decoration:none;border-left:1px solid #dfdfdf;color:#21759B}.media-selection .selection-info a:hover{background:#21759B;color:#fff;border-color:transparent}.media-selection .selection-info a:last-child{border-left:0;margin-left:0}.media-selection .selection-info .clear-selection{color:red}.media-selection .selection-info .clear-selection:hover{background:red}.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .attachments{display:inline-block;height:48px;margin-top:5px;overflow:hidden;vertical-align:top}.media-selection .attachment .icon{width:50%}.attachment.selection.selected{box-shadow:none}.attachment.selection.details{box-shadow:0 0 0 1px #fff,0 0 0 4px #1e8cbe}.media-selection .attachment.selection.details{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:-moz-linear-gradient(left,rgba(255,255,255,1),rgba(255,255,255,0));background-image:-o-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;background-size:20px 20px;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0}.media-sidebar .settings-save-status{background:#f5f5f5;float:left;text-transform:none;z-index:10}.media-sidebar .settings-save-status .spinner{margin:0 5px}.media-sidebar .settings-save-status .saved{float:left;display:none}.media-sidebar .save-waiting .settings-save-status .spinner,.media-sidebar .save-complete .settings-save-status .saved{display:block}.attachment-details{position:relative;overflow:auto}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #e5e5e5;box-shadow:0 1px 0 #fff;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;box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.uploading .attachment-info .media-progress-bar{margin-top:35px}.attachment-info .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;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 .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .delete-attachment{display:block;text-decoration:none;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}.attachment-info .delete-attachment{color:#bc0b0b}.attachment-info .delete-attachment:hover{color:red}.attachment-display-settings{width:100%;float:right;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.gallery-settings{overflow:hidden}.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;box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:16px;left:26px}.media-frame .embed-loading .embed-url .spinner{display:block}.embed-link-settings,.embed-image-settings{position:absolute;top:60px;right:0;left:0;bottom:0;padding:16px 16px 32px;overflow:auto}.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;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin-top:10px;float:right;display:block;clear:both}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}.media-embed .setting .button-group{margin:2px 0}.media-embed .setting input,.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.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,.ie7 .media-sidebar .setting textarea{width:55%}.ie7 .media-sidebar .setting .link-to-custom{float:right}.rtl .media-modal,.rtl .media-frame,.rtl .media-frame .search,.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 textarea,.rtl .media-frame select{font-family:Tahoma,sans-serif}:lang(he-il) .rtl .media-modal,: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 textarea,:lang(he-il) .rtl .media-frame select{font-family:Arial,sans-serif}@media only screen and (max-width:960px){.media-frame-content .media-toolbar-primary .search,.media-frame-content .media-toolbar-secondary .attachment-filters{max-width:120px}}@media only screen and (max-width:900px){.media-frame-menu{width:139px}.media-menu>a{padding:4px 5px}.media-frame-title,.media-frame-router,.media-frame-content,.media-frame-toolbar{right:140px}.media-sidebar{width:159px;padding:0 10px 24px}.attachments-browser .attachments,.attachments-browser .uploader-inline,.attachments-browser .media-toolbar{left:180px}.media-sidebar .setting input,.media-sidebar .setting textarea,.media-sidebar .setting span,.compat-item label span{float:none}.media-sidebar .setting span,.compat-item label span{text-align:inherit;display:block;min-height:16px;margin:0;padding:8px 2px 0}.media-sidebar .setting input,.media-sidebar .setting textarea,.media-sidebar .setting select{width:98%;max-width:none}.media-sidebar .setting select.columns{width:auto}.media-frame input,.media-frame textarea,.media-frame .search{padding:3px 6px}.media-frame-content .attachment .icon{top:40%}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-menu .separator{margin:12px 10px}.media-modal-close{left:10px}.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 textarea,.media-frame select{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.media-frame-content .media-toolbar .instructions{display:none}.media-frame-menu{width:auto;bottom:auto;left:0;height:60px}.media-menu{border-left:0;position:relative;border-bottom:1px solid #ddd;overflow:hidden;padding:10px 10px 10px 0}.media-menu a{float:right;width:42%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.media-frame-title{display:none}.media-frame-toolbar{position:absolute;bottom:0;right:0;left:0;background:#FFF;border-top:1px solid #DEDEDE}.media-toolbar{position:relative}.media-frame{overflow:hidden}.attachments-browser .attachments{top:42px}.attachment-details h3{margin-top:45px}.media-menu a:nth-child(2),.media-menu a:last-child{width:40%}.media-menu .separator{display:none}.media-frame-title{top:72px;right:auto;height:auto}.media-frame-title h1{line-height:3;font-size:18px}.media-frame-router{top:84px;right:0}.media-frame-content{right:0;top:118px}.media-frame .attachments-browser{padding-bottom:300px}.media-sidebar{border-bottom:1px solid #ddd}.media-modal{width:auto}.media-toolbar-primary,.media-toolbar-secondary{height:auto}.uploader-inline h3{margin:0 0 .8em}.uploader-inline-content{top:auto}.uploader-inline-content .upload-ui{margin:0}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:relative;margin-left:180px}.media-modal{position:fixed;top:0;right:0;left:0;bottom:0}.media-modal-backdrop{position:fixed}.attachments-browser .attachment,.attachments-browser .attachment-preview{max-width:100%}.attachments-browser .media-toolbar-primary input.search{max-width:150px}.uploader-inline-content{position:relative}.media-sidebar .setting input[type=checkbox],.media-sidebar .field input[type=checkbox]{width:25px}.embed-link-settings,.embed-image-settings{padding-bottom:52px}.media-frame.hide-router .media-frame-content{top:73px;border-top:0}.gallery-settings h3{margin-top:45px}}@media screen and (max-height:400px){.media-menu{padding:0 10px 0 0}.media-menu a{float:right;width:21%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding:10px inherit}.media-menu a:nth-child(2),.media-menu a:last-child{width:21%}.media-modal-close{top:2px}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:2px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:680px){.media-frame-content .media-toolbar .search,.media-frame-content .media-toolbar .attachment-filters{max-width:85px}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}
\ No newline at end of file
+.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-frame,.media-modal{font-family:"Open Sans",sans-serif;font-size:12px}.media-frame input,.media-frame textarea{padding:6px 8px;line-height:16px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:0;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#333}.media-frame a.button:hover{color:#222}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-family:"Open Sans",sans-serif;font-size:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame input[readonly],.media-frame textarea:disabled,.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.media-frame .hidden{display:none}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.meta-box-sortables.ui-sortable{-ms-touch-action:auto;touch-action:auto}.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;right:30px;left:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:5px;left:10px;width:30px;height:30px;z-index:1000}.media-modal-close span.media-modal-icon{display:block;margin:8px auto 0;width:15px;height:15px;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:#2ea2cc}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;right:0;left:0;bottom:0;overflow:auto;min-height:300px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc;-webkit-font-smoothing:subpixel-antialiased}.media-modal-icon{background-image:url(../images/uploader-icons.png);background-repeat:no-repeat}.media-toolbar{position:absolute;top:0;right:0;left:0;z-index:100;height:60px;padding:0 16px;border:0 solid #dfdfdf;overflow:hidden}.media-toolbar-primary{float:left;height:100%}.media-toolbar-secondary{float:right;height:100%}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-right:10px;float:right;margin-top:15px}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-left:10px;float:right;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}.media-sidebar .setting{display:block;float:right;width:100%;margin:1px 0}.media-sidebar .setting label{display:block}.media-sidebar .setting .link-to-custom{margin:3px 0}.media-sidebar .setting span{min-width:30%;margin-left:4%;font-size:12px}.media-sidebar .setting select{max-width:65%}.media-sidebar .field input[type=checkbox],.media-sidebar .setting input[type=checkbox]{width:16px;float:none;margin:8px 3px 0;padding:0}.compat-item label span,.media-sidebar .setting span{float:right;min-height:22px;padding-top:8px;line-height:16px;text-align:left;font-weight:400;color:#666}.media-sidebar .setting input,.media-sidebar .setting textarea{margin:1px;width:65%;float:left}.compat-item .field textarea,.media-sidebar .setting textarea{height:62px;resize:vertical}.media-sidebar select{margin-top:3px}.compat-item{float:right;width:100%;overflow:hidden}.compat-item table{width:100%;table-layout:fixed;border-spacing:0;border:0}.compat-item tr{padding:2px 0;display:block;overflow:hidden}.compat-item .field,.compat-item .label{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-left:4%;float:right;text-align:left}.compat-item .label span{display:block;width:100%}.compat-item .field{float:left;width:66%}.compat-item .field input{width:100%;margin:0}.media-menu{position:absolute;top:0;right:0;left:0;bottom:0;margin:0;padding:16px 0;background:#f3f3f3;border-left-width:1px;border-left-style:solid;border-left-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0074a2;text-decoration:none}.media-menu>a:hover{color:#21759B;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#222;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router a{-webkit-transition:none;transition:none}.media-router>a{position:relative;float:right;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none}.media-router>a:last-child{border-left:0}.media-router>a:active,.media-router>a:focus{outline:0}.media-router .active,.media-router .active:hover{color:#333}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:0}.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:56px;z-index:200}.media-frame-router{position:absolute;top:56px;right:200px;left:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:90px;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:56px}.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 h1{padding:0 16px;font-size:22px;line-height:60px;margin:0}.media-frame-title .suggested-dimensions{font-size:14px;float:left;margin-left:20px}.media-frame-content .crop-content{height:100%}.media-frame-content .crop-content .crop-image{display:block;margin:auto;max-width:100%;max-height:100%}.media-frame-content .crop-content .upload-errors{position:absolute;width:300px;top:50%;right:50%;margin-right:-150px;margin-left:-150px;z-index:600000}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-left:10px}.media-frame .search{margin-top:11px;padding:4px;line-height:18px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-secondary .search{margin-left:16px}.attachments{margin:0;padding-left:16px;-webkit-overflow-scrolling:touch}.attachment{position:relative;float:right;padding:0;margin:0 10px 20px;color:#464646;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.selected.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #ccc;box-shadow:0 0 0 1px #fff,0 0 0 3px #ccc}.attachment-preview{position:relative;width:199px;height:199px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.attachment .icon{margin:0 auto;overflow:hidden;padding-top:20%}.attachment .thumbnail{display:block;position:absolute;top:0;right:0;margin:0 auto;overflow:hidden;max-width:100%;max-height:100%}.attachment-preview .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.attachment .thumbnail img{top:0;left:0}.attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.attachment .filename{position:absolute;right:0;left:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:700;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.attachment .filename div{padding:5px 10px}.attachment-preview .thumbnail{width:199px;height:199px}.attachment .thumbnail img{position:absolute}.attachment .close{display:none;position:absolute;top:5px;left:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.attachment .close:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(0,0,0,.6)}.attachment:hover .close{display:block}.attachment .check{display:none;height:24px;width:24px;position:absolute;top:-6px;left:-6px;outline:0;background:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.attachment .check:hover div{background-position:-40px 0}.attachment.selected .check{display:block}.attachment.details{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment.details .check{background-color:#1e8cbe;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.attachment.details .check div{background-position:-21px 0}.attachment.details .check:hover div{background-position:-60px 0}.media-frame .attachment .describe{position:relative;display:block;width:100%;margin:-1px 0 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 .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-top:10px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;right:0;left:300px;bottom:0;overflow:auto}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-left:.5em}.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 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;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.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 #c00 solid;background:#ffebe8;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-left:8px;font-weight:700;color:#fff;background:#e00;background-image:-webkit-gradient(linear,right top,right bottom,from(#e00),to(#a00));background-image:-webkit-linear-gradient(top,#e00,#a00);background-image:linear-gradient(to bottom,#e00,#a00);-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-message{display:block;padding-top:8px;color:#b44;word-wrap:break-word}.uploader-window{position:fixed;top:0;right:0;left:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}.uploader-window-content{position:absolute;top:10px;right:10px;left:10px;bottom:10px;border:1px dashed #fff}.uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}.uploader-window .media-progress-bar div{background:#fff}.uploading .uploader-window .media-progress-bar{display:block}.media-frame .uploader-inline{margin:20px;padding:20px;text-align:center}.uploader-inline-content{position:absolute;top:30%;right:0;left:0}.uploader-inline-content .upload-ui{margin:4em 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-bottom:1.6em}.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}.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-top:5px;overflow:hidden;vertical-align:top}.media-selection .attachment .icon{width:50%}.attachment.selection.selected{-webkit-box-shadow:none;box-shadow:none}.attachment.selection.details{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 4px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 4px #1e8cbe}.media-selection .attachment.selection.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;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0}.media-toolbar .spinner{margin-top:14px}.media-sidebar .settings-save-status{background:#f5f5f5;float:left;text-transform:none;z-index:10}.media-sidebar .settings-save-status .spinner{margin:0 5px}.media-sidebar .settings-save-status .saved{float:left;display:none}.media-sidebar .save-complete .settings-save-status .saved,.media-sidebar .save-waiting .settings-save-status .spinner{display:block}.attachment-details{position:relative;overflow:auto}.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: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{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}.attachment-info .delete-attachment,.attachment-info .trash-attachment{color:#bc0b0b}.attachment-info .delete-attachment:hover,.attachment-info .trash-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-frame .imgedit-wrap{position:static}.media-frame .imgedit-wait{height:auto!important;left:0;bottom:0;right:0}.media-frame .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;left:282px;bottom:0;right:0;overflow:auto}.media-frame .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-frame .imgedit-group{background:0 0;border:0;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0;margin-bottom:16px;padding:0;padding-bottom:16px}.media-frame .imgedit-group:last-of-type{border:0;margin:0;padding:0}.media-frame .imgedit-group-top h3{text-transform:uppercase;font-size:12px;color:#666;margin:0;margin-top:24px}.media-frame .imgedit-group-top h3 a{text-decoration:none;color:#666}.media-frame .imgedit-help-toggle{margin-top:-2px;cursor:pointer;color:#666}.media-frame .imgedit-help-toggled span.dashicons:before{content:'\f142'}.media-frame .imgedit-group img{margin-top:5px}.media-frame .imgedit-wrap div.updated{margin:0;margin-bottom:16px}.embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:16px;left:26px}.media-frame .embed-loading .embed-url .spinner{display:block}.embed-link-settings,.embed-media-settings{position:absolute;top:60px;right:0;left:0;bottom:0;padding:16px 16px 32px;overflow:auto}.image-details .media-modal{right:140px;left:140px}.image-details .media-frame-menu{display:none}.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 .column-settings{background:#f3f3f3;border-left:1px solid #ddd;min-height:100%;width:52%;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:48%;position:absolute;right:52%;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';margin-top:0}.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{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,.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=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:960px){.media-frame-content .media-toolbar-primary .search,.media-frame-content .media-toolbar-secondary .attachment-filters{max-width:120px}}@media only screen and (max-width:900px){.media-frame-menu{width:139px}.media-menu>a{padding:4px 5px}.media-frame-content,.media-frame-router,.media-frame-title,.media-frame-toolbar{right:140px}.media-sidebar{width:159px;padding:0 10px 24px}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{left:180px}.compat-item label span,.media-sidebar .setting input,.media-sidebar .setting span,.media-sidebar .setting textarea{float:none}.compat-item label span,.media-sidebar .setting span{text-align:inherit;display:block;min-height:16px;margin:0;padding:8px 2px 0}.media-sidebar .setting input,.media-sidebar .setting select,.media-sidebar .setting textarea{width:98%;max-width:none}.media-sidebar .setting select.columns{width:auto}.media-frame .search,.media-frame input,.media-frame textarea{padding:3px 6px}.media-frame-content .attachment .icon{top:40%}.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}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-menu .separator{margin:12px 10px}.media-modal-close{left:10px}.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){.media-frame-content .media-toolbar .instructions{display:none}.media-frame-menu{width:auto;bottom:auto;left:0;height:60px}.media-menu{border-left:0;position:relative;border-bottom:1px solid #ddd;overflow:hidden;padding:10px 10px 10px 0}.media-menu a{float:right;width:42%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.media-frame-title{display:none}.image-details .media-frame-title{display:block;top:0;font-size:14px}.media-frame-toolbar{position:absolute;bottom:0;right:0;left:0;background:#FFF;border-top:1px solid #DEDEDE}.media-toolbar{position:relative}.media-frame{overflow:hidden}.attachments-browser .attachments{top:42px}.attachment-details h3{margin-top:45px}.media-menu a:last-child,.media-menu a:nth-child(2){width:40%}.media-menu .separator{display:none}.media-frame-title{top:72px;right:auto;height:auto}.media-frame-title h1{line-height:3;font-size:18px}.media-frame-router{top:84px;right:0}.media-frame-content{right:0;top:118px}.image-details .media-frame.hide-router .media-frame-content{top:40px}.media-frame .attachments-browser{padding-bottom:300px}.media-sidebar{border-bottom:1px solid #ddd}.media-modal{width:auto}.media-toolbar-primary,.media-toolbar-secondary{height:auto}.uploader-inline h3{margin:0 0 .8em}.uploader-inline-content{top:auto}.uploader-inline-content .upload-ui{margin:0}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:relative;margin-left:180px}.image-details .media-modal,.media-modal{position:fixed;top:0;right:0;left:0;bottom:0}.media-modal-backdrop{position:fixed}.attachments-browser .attachment,.attachments-browser .attachment-preview{max-width:100%}.attachments-browser .media-toolbar-primary input.search{max-width:150px}.uploader-inline-content{position:relative}.media-sidebar .field input[type=checkbox],.media-sidebar .setting input[type=checkbox]{width:25px}.embed-link-settings,.embed-media-settings{padding-bottom:52px}.image-details .column-image,.image-details .column-settings{position:relative;padding:10px 0 20px;right:0;width:100%;min-height:inherit}.media-frame.hide-router .media-frame-content{top:73px;border-top:0}.collection-settings h3{margin-top:45px}}@media screen and (max-height:400px){.media-menu{padding:0 10px 0 0}.media-menu a{float:right;width:21%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding:10px inherit}.media-menu a:last-child,.media-menu a:nth-child(2){width:21%}.media-modal-close{top:2px}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:2px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:680px){.media-frame-content .media-toolbar .attachment-filters,.media-frame-content .media-toolbar .search{max-width:85px}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);-webkit-background-size:134px 15px;background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}
\ No newline at end of file
index 7fb7ffaf06d810bbde3238d52866ddd60c88bbca..4319b3eed9c8be24cdb4c18735df39f6ae59749a 100644 (file)
@@ -3,8 +3,8 @@
  */
 .media-modal * {
        -webkit-box-sizing: content-box;
-       -moz-box-sizing:    content-box;
-       box-sizing:         content-box;
+       -moz-box-sizing: content-box;
+       box-sizing: content-box;
 }
 
 .media-modal,
@@ -57,9 +57,8 @@
 .media-frame select {
        font-family: "Open Sans", sans-serif;
        font-size: 12px;
-       -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
-       -ms-box-sizing: border-box; /* ie8 only */
+       -moz-box-sizing: border-box;
        box-sizing: border-box;
        border-width: 1px;
        border-style: solid;
    color: #a9a9a9;
 }
 
+.media-frame .hidden {
+       display: none;
+}
+
 /* Enable draggable on IE10 touch events until it's rolled into jQuery UI core */
 .ui-sortable,
 .ui-draggable {
        -ms-touch-action: none;
-       touch-action:     none;
+       touch-action: none;
 }
 
 .meta-box-sortables.ui-sortable {
        -ms-touch-action: auto;
-       touch-action:     auto;
+       touch-action: auto;
 }
 
 .meta-box-sortables.ui-sortable .hndle {
        -ms-touch-action: none;
-       touch-action:     none;
+       touch-action: none;
 }
 
 /**
        bottom: 0;
        overflow: auto;
        min-height: 300px;
+       -webkit-box-shadow: 0 5px 15px rgba(0,0,0,0.7);
        box-shadow: 0 5px 15px rgba(0,0,0,0.7);
        background: #fcfcfc;
        -webkit-font-smoothing: subpixel-antialiased;
        width: 100%;
 }
 
-.media-sidebar h3 {
+.media-sidebar h3,
+.image-details h3 {
        position: relative;
        font-weight: bold;
        text-transform: uppercase;
        user-select: none;
 }
 
+.media-router a {
+       -webkit-transition: none;
+       transition: none;
+}
+
 .media-router > a {
        position: relative;
        float: left;
        top: 0;
        left: 0;
        bottom: 0;
-       width: 199px;
+       width: 200px;
        z-index: 150;
 }
 
 
 .media-frame.hide-router .media-frame-title {
        border-bottom: 1px solid #dfdfdf;
+       -webkit-box-shadow: 0 4px 4px -4px rgba( 0, 0, 0, 0.1 );
        box-shadow: 0 4px 4px -4px rgba( 0, 0, 0, 0.1 );
 }
 
-.media-frame .media-toolbar .add-to-gallery {
-       display: none;
-}
-
 .media-frame-title h1 {
        padding: 0 16px;
        font-size: 22px;
        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;
+}
+
 /**
  * Iframes
  */
 .attachment {
        position: relative;
        float: left;
-
        padding: 0;
        margin: 0 10px 20px;
        color: #464646;
        list-style: none;
        text-align: center;
-
        -webkit-user-select: none;
-       -moz-user-select:    none;
-       -ms-user-select:     none;
-       -o-user-select:      none;
-       user-select:         none;
+       -moz-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
 }
 
 .selected.attachment {
+       -webkit-box-shadow:
+               0 0 0 1px #fff,
+               0 0 0 3px #ccc;
        box-shadow:
                0 0 0 1px #fff,
                0 0 0 3px #ccc;
        position: relative;
        width: 199px;
        height: 199px;
+       -webkit-box-shadow:
+               inset 0 0 15px rgba( 0, 0, 0, 0.1 ),
+               inset 0 0 0 1px rgba( 0, 0, 0, 0.05 );
        box-shadow:
                inset 0 0 15px rgba( 0, 0, 0, 0.1 ),
                inset 0 0 0 1px rgba( 0, 0, 0, 0.05 );
        left: 0;
        right: 0;
        bottom: 0;
+       -webkit-box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.1 );
        box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.1 );
        overflow: hidden;
 }
        width: 100%;
        height: 100%;
        -webkit-transform: translate( 50%, 50% );
-       -moz-transform:    translate( 50%, 50% );
-       -ms-transform:     translate( 50%, 50% );
-       -o-transform:      translate( 50%, 50% );
-       transform:         translate( 50%, 50% );
+       -ms-transform: translate( 50%, 50% );
+       transform: translate( 50%, 50% );
 }
 
 .attachment .thumbnail .centered img {
        -webkit-transform: translate( -50%, -50% );
-       -moz-transform:    translate( -50%, -50% );
-       -ms-transform:     translate( -50%, -50% );
-       -o-transform:      translate( -50%, -50% );
-       transform:         translate( -50%, -50% );
+       -ms-transform: translate( -50%, -50% );
+       transform: translate( -50%, -50% );
 }
 
 .attachment .filename {
        text-align: center;
        font-weight: bold;
        background: rgba( 255, 255, 255, 0.8 );
+       -webkit-box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.15 );
        box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.15 );
 }
 
        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 );
 }
 
 .attachment .close:hover {
+       -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 );
 }
 
        right: -6px;
        outline: none;
        background: #eee;
+       -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.4 );
        box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.4 );
 }
 
 }
 
 .attachment.details {
+       -webkit-box-shadow: 0 0 0 1px #fff,
+                               0 0 0 5px #1e8cbe;
        box-shadow: 0 0 0 1px #fff,
                                0 0 0 5px #1e8cbe;
 }
 
 .attachment.details .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;
 }
        margin: -1px 0 0;
        padding: 8px;
        font-size: 12px;
+       -webkit-border-radius: 0;
        border-radius: 0;
 }
 
        line-height: 18px;
        font-size: 13px;
        color: #666;
+       margin-right: 0.5em;
 }
 
 /**
        height: 10px;
        width: 70%;
        margin: 10px auto;
+       -webkit-border-radius: 10px;
        border-radius: 10px;
        background: #dfdfdf;
        background: rgba( 0, 0, 0, 0.1 );
        min-width: 20px;
        width: 0;
        background: #1e8cbe;
+       -webkit-border-radius: 10px;
        border-radius: 10px;
-       -webkit-transition: width 300ms;
-       -moz-transition:    width 300ms;
-       -ms-transition:     width 300ms;
-       -o-transition:      width 300ms;
+       -webkit-transition:         width 300ms;
        transition:         width 300ms;
 }
 
 
 .media-sidebar .media-uploader-status {
        border-bottom: 1px solid #dfdfdf;
+       -webkit-box-shadow: 0 1px 0 #fff;
        box-shadow: 0 1px 0 #fff;
 }
 
        padding: 8px;
        border: 1px #c00 solid;
        background: #ffebe8;
+       -webkit-border-radius: 3px;
        border-radius: 3px;
 }
 
        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:    -moz-linear-gradient(top, #e00, #a00);
-       background-image:      -o-linear-gradient(top, #e00, #a00);
-       background-image:   linear-gradient(to bottom, #e00, #a00);
+       background-image: linear-gradient(to bottom, #e00, #a00);
+       -webkit-border-radius: 3px;
        border-radius: 3px;
 }
 
        right: 0;
        bottom: 0;
        background: rgba( 0, 86, 132, 0.9 );
-
        z-index: 250000;
        display: none;
        text-align: center;
        opacity: 0;
-
        -webkit-transition: opacity 250ms;
-       -moz-transition:    opacity 250ms;
-       -ms-transition:     opacity 250ms;
-       -o-transition:      opacity 250ms;
-       transition:         opacity 250ms;
+       transition: opacity 250ms;
 }
 
 .uploader-window-content {
        left: 0;
        right: 0;
        -webkit-transform: translateY( -50% );
-       -moz-transform:    translateY( -50% );
-       -ms-transform:     translateY( -50% );
-       -o-transform:      translateY( -50% );
-       transform:         translateY( -50% );
-
+       -ms-transform: translateY( -50% );
+       transform: translateY( -50% );
        font-size: 40px;
        color: #fff;
        padding: 0;
 }
 
 .attachment.selection.selected {
+       -webkit-box-shadow: none;
        box-shadow: none;
 }
 
 .attachment.selection.details {
+       -webkit-box-shadow:
+               0 0 0 1px #fff,
+               0 0 0 4px #1e8cbe;
        box-shadow:
                0 0 0 1px #fff,
                0 0 0 4px #1e8cbe;
 }
 
 .media-selection .attachment.selection.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;
        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:    -moz-linear-gradient(right, rgba( 255, 255, 255, 1 ) ,  rgba( 255, 255, 255, 0 ) );
-       background-image:      -o-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 ) );
+       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 {
  */
 
 .media-frame .spinner {
-       background: url('../images/spinner.gif') no-repeat;
+       background: url(../images/spinner.gif) no-repeat;
+       -webkit-background-size: 20px 20px;
        background-size: 20px 20px;
        display: none;
        opacity: 0.7;
        margin: 0;
 }
 
+.media-toolbar .spinner {
+       margin-top: 14px;
+}
+
 .media-sidebar .settings-save-status {
        background: #f5f5f5;
        float: right;
        margin-bottom: 16px;
        line-height: 18px;
        color: #666;
-       border-bottom: 1px solid #e5e5e5;
-       box-shadow: 0 1px 0 #fff;
+       border-bottom: 1px solid #ddd;
        padding-bottom: 11px;
 }
 
 .uploading .attachment-info .thumbnail {
        width: 120px;
        height: 80px;
+       -webkit-box-shadow: inset 0 0 15px rgba( 0, 0, 0, 0.1 );
        box-shadow: inset 0 0 15px rgba( 0, 0, 0, 0.1 );
 }
 
        left: 0;
        right: 0;
        bottom: 0;
+       -webkit-box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.15 );
        box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.15 );
        overflow: hidden;
 }
 
 .attachment-info .edit-attachment,
 .attachment-info .refresh-attachment,
-.attachment-info .delete-attachment {
+.attachment-info .delete-attachment,
+.attachment-info .trash-attachment {
        display: block;
        text-decoration: none;
        white-space: nowrap;
        display: block;
 }
 
-.attachment-info .delete-attachment {
+.attachment-info .delete-attachment,
+.attachment-info .trash-attachment {
        color: #bc0b0b;
 }
 
-.attachment-info .delete-attachment:hover {
+.attachment-info .delete-attachment:hover,
+.attachment-info .trash-attachment:hover {
        color: red;
 }
 
        margin: 1.4em 0 0.4em;
 }
 
-.gallery-settings {
+.collection-settings {
        overflow: hidden;
 }
 
+.collection-settings .setting input[type="checkbox"] {
+       float: left;
+       margin-right: 8px;
+}
+
+.collection-settings .setting span {
+       min-width: inherit;
+}
+
 /**
- * Embed from URL
+ * Image Editor
+ */
+
+.media-frame .imgedit-wrap {
+       position: static;
+}
+
+.media-frame .imgedit-wait {
+       height: auto !important;
+       right: 0;
+       bottom: 0;
+       left: 0;
+}
+
+.media-frame .imgedit-wrap .imgedit-panel-content {
+       padding: 16px;
+       position: absolute;
+       top: 0;
+       right: 282px;
+       bottom: 0;
+       left: 0;
+       overflow: auto;
+}
+
+.media-frame .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-frame .imgedit-group {
+       background: none;
+       border: none;
+       border-bottom: 1px solid #ddd;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       margin: 0;
+       margin-bottom: 16px;
+       padding: 0;
+       padding-bottom: 16px;
+}
+
+.media-frame .imgedit-group:last-of-type {
+       border: none;
+       margin: 0;
+       padding: 0;
+}
+
+.media-frame .imgedit-group-top h3 {
+       text-transform: uppercase;
+       font-size: 12px;
+       color: #666;
+       margin: 0;
+       margin-top: 24px;
+}
+
+.media-frame .imgedit-group-top h3 a {
+       text-decoration: none;
+       color: #666;
+}
+
+.media-frame .imgedit-help-toggle {
+       margin-top: -2px;
+       cursor: pointer;
+       color: #666;
+}
+
+.media-frame .imgedit-help-toggled span.dashicons:before {
+       content: '\f142';
+}
+
+.media-frame .imgedit-group img {
+       margin-top: 5px;
+}
+
+.media-frame .imgedit-wrap div.updated {
+       margin: 0;
+       margin-bottom: 16px;
+}
+
+
+/**
+ * Embed from URL and Image Details
  */
 .embed-url {
        display: block;
        padding: 12px 14px;
        width: 100%;
        min-width: 200px;
+       -webkit-box-shadow: inset 2px 2px 4px -2px rgba( 0, 0, 0, 0.1 );
        box-shadow: inset 2px 2px 4px -2px rgba( 0, 0, 0, 0.1 );
 }
 
 }
 
 .embed-link-settings,
-.embed-image-settings {
+.embed-media-settings {
        position: absolute;
        top: 60px;
        left: 0;
        overflow: auto;
 }
 
+.image-details .media-modal {
+       left: 140px;
+       right: 140px;
+}
+
+.image-details .media-frame-menu {
+       display: none;
+}
+
+.image-details .media-frame-title,
+.image-details .media-frame-content,
+.image-details .media-frame-router {
+       left: 0;
+}
+
+.image-details .embed-media-settings {
+       top: 0;
+       overflow: visible;
+       padding: 0;
+}
+
+.image-details .column-settings {
+       background: #f3f3f3;
+       border-right: 1px solid #ddd;
+       min-height: 100%;
+       width: 52%;
+       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: 48%;
+       position: absolute;
+       left: 52%;
+       top: 0;
+}
+
+.image-details .image {
+       margin: 20px;
+}
+
+.image-details .image img {
+       max-width: 100%;
+       max-height: 500px;
+}
+
+.image-details .advanced-toggle {
+       color: #666;
+       text-decoration: none;
+       display: block;
+}
+
+.image-details .advanced-toggle::after {
+       font: normal 20px/1 'dashicons';
+       speak: none;
+       vertical-align: top;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       content: '\f140';
+       display: inline-block;
+       margin-top: -2px;
+}
+
+.image-details .advanced-visible .advanced-toggle::after {
+       content: '\f142';
+       margin-top: 0;
+}
+
+.image-details .embed-media-settings .size {
+       margin-bottom: 4px;
+}
+
+.image-details .custom-size span {
+       display: block;
+}
+
+.image-details .custom-size label {
+       display: block;
+       float: left;
+}
+
+.image-details .custom-size span small {
+       color: #999;
+       font-size: inherit;
+}
+
+.image-details .custom-size input {
+       width: 5em;
+}
+
+.image-details .custom-size .sep {
+       float: left;
+       margin: 26px 6px 0 6px;
+}
+
+.image-details .custom-size::after {
+    content: '';
+       display: table;
+    clear: both;
+}
+
 .media-embed .thumbnail {
        max-width: 100%;
        max-height: 200px;
        left: 0;
        right: 0;
        bottom: 0;
+       -webkit-box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.1 );
        box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.1 );
        overflow: hidden;
 }
 
 .media-embed .setting {
        width: 100%;
-       margin-top: 10px;
+       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 .setting input.link-to-custom,
+.image-details .embed-media-settings .link-target,
+.image-details .embed-media-settings .custom-size {
+       margin-left: 27%;
+       width: 70%;
+}
+
+.image-details .embed-media-settings .link-target {
+       margin-top: 24px;
+}
+
+.media-embed .setting input.hidden {
+       display: none;
+}
+
 .media-embed .setting span {
        display: block;
        width: 200px;
        color: #666;
 }
 
+.image-details .embed-media-settings .setting span {
+       float: left;
+       width: 25%;
+       text-align: right;
+       margin: 8px 1% 0 1%;
+       line-height: 1.1;
+}
+
 .media-embed .setting .button-group {
        margin: 2px 0;
 }
 
-.media-embed .setting input,
-.media-embed .setting textarea {
-       display: block;
+.media-embed-sidebar {
+       position: absolute;
+       top: 0;
+       left: 440px;
+}
+
+.advanced-section,
+.link-settings {
+       margin-top: 10px;
+}
+
+/* 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;
+       top: 0;
+       left: 0;
        width: 100%;
-       max-width: 400px;
-       margin: 1px 0;
+       height: 100%;
+       z-index: 99998; /* under the toolbar */
+       display: none;
+       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;
+       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: bold;
+       color: #fff;
+       padding: 0;
+       margin: 0;
+       display: none;
+}
+
+.wp-editor-wrap .uploader-editor.droppable {
+       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;
 }
 
 /**
                top: 40%;
        }
 
+       .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;
+       }
+
        .media-selection {
                min-width: 120px;
        }
        .media-modal-close {
                right: 10px;
        }
-       
+
        /* Text inputs need to be 16px, or they force zooming on iOS */
        .media-frame input[type="text"],
        .media-frame input[type="password"],
        .media-frame-title {
                display: none;
        }
-       
+
+       .image-details .media-frame-title {
+               display: block;
+               top: 0;
+               font-size: 14px;
+       }
+
        .media-frame-toolbar {
                position: absolute;
                bottom: 0px;
        .attachment-details h3 {
                margin-top: 45px;
        }
-               
+
        /* Shorten right-side links so they don't overlap the close button */
        .media-menu a:nth-child(2),
        .media-menu a:last-child {
                top: 84px;
                left: 0;
        }
-       
+
        .media-frame-content {
                left: 0;
                top: 118px;
        }
 
+       .image-details .media-frame.hide-router .media-frame-content {
+               top: 40px;
+       }
+
        .media-frame .attachments-browser {
                padding-bottom: 300px;
        }
-       
+
        .media-sidebar {
                border-bottom: 1px solid #dddddd;
        }
-       
+
        .media-modal {
                width: auto;
        }
        }
 
        /* Full-bleed modal */
-       .media-modal {
+       .media-modal,
+       .image-details .media-modal {
                position: fixed;
                top: 0;
                left: 0;
 
        /* Image From Link */
        .embed-link-settings,
-       .embed-image-settings {
+       .embed-media-settings {
                padding-bottom: 52px;
        }
 
+       .image-details .column-settings,
+       .image-details .column-image {
+               position: relative;
+               padding: 10px 0 20px 0;
+               left: 0;
+               width: 100%;
+               min-height: inherit;
+       }
+
+
        /* Gallery */
        .media-frame.hide-router .media-frame-content {
                top: 73px;
                border-top: none;
        }
 
-       .gallery-settings h3 {
+       .collection-settings h3 {
                margin-top: 45px;
        }
 
        .media-frame-content {
                top: 78px;
        }
-       
+
        .attachments-browser .attachments {
                top: 2px;
        }
 
        .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');
+               background-image: url(../images/spinner-2x.gif);
        }
-}
\ No newline at end of file
+}
index 2eef06187408aef213b001ee7974e3cd9793a44a..1c2202290aeefa6fc5632ced4b17d089fa0f4a3a 100644 (file)
@@ -1 +1 @@
-.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-modal,.media-frame{font-family:"Open Sans",sans-serif;font-size:12px}.media-frame input,.media-frame textarea{padding:6px 8px;line-height:16px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:0;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#333}.media-frame a.button:hover{color:#222}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=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 textarea,.media-frame select{font-family:"Open Sans",sans-serif;font-size:12px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame textarea:disabled,.media-frame input[readonly],.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.ui-sortable,.ui-draggable{-ms-touch-action:none;touch-action:none}.meta-box-sortables.ui-sortable{-ms-touch-action:auto;touch-action:auto}.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:5px;right:10px;width:30px;height:30px;z-index:1000}.media-modal-close span.media-modal-icon{display:block;margin:8px auto 0;width:15px;height:15px;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:#2ea2cc}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;min-height:300px;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;float:left;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%}.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.media-sidebar .setting{display:block;float:left;width:100%;margin:1px 0}.media-sidebar .setting label{display:block}.media-sidebar .setting .link-to-custom{margin:3px 0}.media-sidebar .setting span{min-width:30%;margin-right:4%;font-size:12px}.media-sidebar .setting select{max-width:65%}.media-sidebar .setting input[type=checkbox],.media-sidebar .field input[type=checkbox]{width:16px;float:none;margin:8px 3px 0;padding:0}.media-sidebar .setting span,.compat-item label span{float:left;min-height:22px;padding-top:8px;line-height:16px;text-align:right;font-weight:400;color:#666}.media-sidebar .setting input,.media-sidebar .setting textarea{margin:1px;width:65%;float:right}.media-sidebar .setting textarea,.compat-item .field textarea{height:62px;resize:vertical}.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 .label,.compat-item .field{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-right:4%;float:left;text-align:right}.compat-item .label span{display:block;width:100%}.compat-item .field{float:right;width:66%}.compat-item .field input{width:100%;margin:0}.media-menu{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:16px 0;background:#f3f3f3;border-right-width:1px;border-right-style:solid;border-right-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0074a2;text-decoration:none}.media-menu>a:hover{color:#21759B;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#222;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router>a{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,.media-router>a:focus{outline:0}.media-router .active,.media-router .active:hover{color:#333}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:0}.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:199px;z-index:150}.media-frame-title{position:absolute;top:0;left:200px;right:0;height:56px;z-index:200}.media-frame-router{position:absolute;top:56px;left:200px;right:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:90px;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-title,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-toolbar,.media-frame.hide-menu .media-frame-content{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:56px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame .media-toolbar .add-to-gallery{display:none}.media-frame-title h1{padding:0 16px;font-size:22px;line-height:60px;margin:0}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-right:10px}.media-frame .search{margin-top:11px;padding:4px;line-height:18px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-secondary .search{margin-right:16px}.attachments{margin:0;padding-right:16px;-webkit-overflow-scrolling:touch}.attachment{position:relative;float:left;padding:0;margin:0 10px 20px;color:#464646;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.selected.attachment{box-shadow:0 0 0 1px #fff,0 0 0 3px #ccc}.attachment-preview{position:relative;width:199px;height:199px;box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.attachment .icon{margin:0 auto;overflow:hidden;padding-top:20%}.attachment .thumbnail{display:block;position:absolute;top:0;left:0;margin:0 auto;overflow:hidden;max-width:100%;max-height:100%}.attachment-preview .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.attachment .thumbnail img{top:0;left:0}.attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-moz-transform:translate(50%,50%);-ms-transform:translate(50%,50%);-o-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.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);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.attachment .filename div{padding:5px 10px}.attachment-preview .thumbnail{width:199px;height:199px}.attachment .thumbnail img{position:absolute}.attachment .close{display:none;position:absolute;top:5px;right:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.3)}.attachment .close:hover{box-shadow:0 0 0 1px rgba(0,0,0,.6)}.attachment:hover .close{display:block}.attachment .check{display:none;height:24px;width:24px;position:absolute;top:-6px;right:-6px;outline:0;background:#eee;box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.attachment .check:hover div{background-position:-40px 0}.attachment.selected .check{display:block}.attachment.details{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment.details .check{background-color:#1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.attachment.details .check div{background-position:-21px 0}.attachment.details .check:hover div{background-position:-60px 0}.media-frame .attachment .describe{position:relative;display:block;width:100%;margin:-1px 0 0;padding:8px;font-size:12px;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 .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-top:10px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;left:0;right:300px;bottom:0;overflow:auto}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#1e8cbe;border-radius:10px;-webkit-transition:width 300ms;-moz-transition:width 300ms;-ms-transition:width 300ms;-o-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 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;box-shadow:0 1px 0 #fff}.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 #c00 solid;background:#ffebe8;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-right:8px;font-weight:700;color:#fff;background:#e00;background-image:-webkit-gradient(linear,left top,left bottom,from(#e00),to(#a00));background-image:-webkit-linear-gradient(top,#e00,#a00);background-image:-moz-linear-gradient(top,#e00,#a00);background-image:-o-linear-gradient(top,#e00,#a00);background-image:linear-gradient(to bottom,#e00,#a00);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;-moz-transition:opacity 250ms;-ms-transition:opacity 250ms;-o-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%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-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:transparent;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:20px;padding:20px;text-align:center}.uploader-inline-content{position:absolute;top:30%;left:0;right:0}.uploader-inline-content .upload-ui{margin:4em 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-bottom:1.6em}.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}.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.empty,.media-selection.editing{display:none}.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:700}.media-selection .selection-info a{display:block;float:left;padding:1px 8px;margin:1px 8px 1px -8px;line-height:16px;text-decoration:none;border-right:1px solid #dfdfdf;color:#21759B}.media-selection .selection-info a:hover{background:#21759B;color:#fff;border-color:transparent}.media-selection .selection-info a:last-child{border-right:0;margin-right:0}.media-selection .selection-info .clear-selection{color:red}.media-selection .selection-info .clear-selection:hover{background:red}.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .attachments{display:inline-block;height:48px;margin-top:5px;overflow:hidden;vertical-align:top}.media-selection .attachment .icon{width:50%}.attachment.selection.selected{box-shadow:none}.attachment.selection.details{box-shadow:0 0 0 1px #fff,0 0 0 4px #1e8cbe}.media-selection .attachment.selection.details{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:-moz-linear-gradient(right,rgba(255,255,255,1),rgba(255,255,255,0));background-image:-o-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;background-size:20px 20px;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0}.media-sidebar .settings-save-status{background:#f5f5f5;float:right;text-transform:none;z-index:10}.media-sidebar .settings-save-status .spinner{margin:0 5px}.media-sidebar .settings-save-status .saved{float:right;display:none}.media-sidebar .save-waiting .settings-save-status .spinner,.media-sidebar .save-complete .settings-save-status .saved{display:block}.attachment-details{position:relative;overflow:auto}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #e5e5e5;box-shadow:0 1px 0 #fff;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;box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.uploading .attachment-info .media-progress-bar{margin-top:35px}.attachment-info .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;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 .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .delete-attachment{display:block;text-decoration:none;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}.attachment-info .delete-attachment{color:#bc0b0b}.attachment-info .delete-attachment:hover{color:red}.attachment-display-settings{width:100%;float:left;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.gallery-settings{overflow:hidden}.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;box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:16px;right:26px}.media-frame .embed-loading .embed-url .spinner{display:block}.embed-link-settings,.embed-image-settings{position:absolute;top:60px;left:0;right:0;bottom:0;padding:16px 16px 32px;overflow:auto}.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;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin-top:10px;float:left;display:block;clear:both}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}.media-embed .setting .button-group{margin:2px 0}.media-embed .setting input,.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.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,.ie7 .media-sidebar .setting textarea{width:55%}.ie7 .media-sidebar .setting .link-to-custom{float:left}.rtl .media-modal,.rtl .media-frame,.rtl .media-frame .search,.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 textarea,.rtl .media-frame select{font-family:Tahoma,sans-serif}:lang(he-il) .rtl .media-modal,: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 textarea,:lang(he-il) .rtl .media-frame select{font-family:Arial,sans-serif}@media only screen and (max-width:960px){.media-frame-content .media-toolbar-primary .search,.media-frame-content .media-toolbar-secondary .attachment-filters{max-width:120px}}@media only screen and (max-width:900px){.media-frame-menu{width:139px}.media-menu>a{padding:4px 5px}.media-frame-title,.media-frame-router,.media-frame-content,.media-frame-toolbar{left:140px}.media-sidebar{width:159px;padding:0 10px 24px}.attachments-browser .attachments,.attachments-browser .uploader-inline,.attachments-browser .media-toolbar{right:180px}.media-sidebar .setting input,.media-sidebar .setting textarea,.media-sidebar .setting span,.compat-item label span{float:none}.media-sidebar .setting span,.compat-item label span{text-align:inherit;display:block;min-height:16px;margin:0;padding:8px 2px 0}.media-sidebar .setting input,.media-sidebar .setting textarea,.media-sidebar .setting select{width:98%;max-width:none}.media-sidebar .setting select.columns{width:auto}.media-frame input,.media-frame textarea,.media-frame .search{padding:3px 6px}.media-frame-content .attachment .icon{top:40%}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-menu .separator{margin:12px 10px}.media-modal-close{right:10px}.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 textarea,.media-frame select{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.media-frame-content .media-toolbar .instructions{display:none}.media-frame-menu{width:auto;bottom:auto;right:0;height:60px}.media-menu{border-right:0;position:relative;border-bottom:1px solid #ddd;overflow:hidden;padding:10px 0 10px 10px}.media-menu a{float:left;width:42%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.media-frame-title{display:none}.media-frame-toolbar{position:absolute;bottom:0;left:0;right:0;background:#FFF;border-top:1px solid #DEDEDE}.media-toolbar{position:relative}.media-frame{overflow:hidden}.attachments-browser .attachments{top:42px}.attachment-details h3{margin-top:45px}.media-menu a:nth-child(2),.media-menu a:last-child{width:40%}.media-menu .separator{display:none}.media-frame-title{top:72px;left:auto;height:auto}.media-frame-title h1{line-height:3;font-size:18px}.media-frame-router{top:84px;left:0}.media-frame-content{left:0;top:118px}.media-frame .attachments-browser{padding-bottom:300px}.media-sidebar{border-bottom:1px solid #ddd}.media-modal{width:auto}.media-toolbar-primary,.media-toolbar-secondary{height:auto}.uploader-inline h3{margin:0 0 .8em}.uploader-inline-content{top:auto}.uploader-inline-content .upload-ui{margin:0}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:relative;margin-right:180px}.media-modal{position:fixed;top:0;left:0;right:0;bottom:0}.media-modal-backdrop{position:fixed}.attachments-browser .attachment,.attachments-browser .attachment-preview{max-width:100%}.attachments-browser .media-toolbar-primary input.search{max-width:150px}.uploader-inline-content{position:relative}.media-sidebar .setting input[type=checkbox],.media-sidebar .field input[type=checkbox]{width:25px}.embed-link-settings,.embed-image-settings{padding-bottom:52px}.media-frame.hide-router .media-frame-content{top:73px;border-top:0}.gallery-settings h3{margin-top:45px}}@media screen and (max-height:400px){.media-menu{padding:0 0 0 10px}.media-menu a{float:left;width:21%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding:10px inherit}.media-menu a:nth-child(2),.media-menu a:last-child{width:21%}.media-modal-close{top:2px}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:2px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:680px){.media-frame-content .media-toolbar .search,.media-frame-content .media-toolbar .attachment-filters{max-width:85px}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}
\ No newline at end of file
+.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-frame,.media-modal{font-family:"Open Sans",sans-serif;font-size:12px}.media-frame input,.media-frame textarea{padding:6px 8px;line-height:16px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:0;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#333}.media-frame a.button:hover{color:#222}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-family:"Open Sans",sans-serif;font-size:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame input[readonly],.media-frame textarea:disabled,.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.media-frame .hidden{display:none}.ui-draggable,.ui-sortable{-ms-touch-action:none;touch-action:none}.meta-box-sortables.ui-sortable{-ms-touch-action:auto;touch-action:auto}.meta-box-sortables.ui-sortable .hndle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:5px;right:10px;width:30px;height:30px;z-index:1000}.media-modal-close span.media-modal-icon{display:block;margin:8px auto 0;width:15px;height:15px;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:#2ea2cc}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;min-height:300px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc;-webkit-font-smoothing:subpixel-antialiased}.media-modal-icon{background-image:url(../images/uploader-icons.png);background-repeat:no-repeat}.media-toolbar{position:absolute;top:0;left:0;right:0;z-index:100;height:60px;padding:0 16px;border:0 solid #dfdfdf;overflow:hidden}.media-toolbar-primary{float:right;height:100%}.media-toolbar-secondary{float:left;height:100%}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-left:10px;float:left;margin-top:15px}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-right:10px;float:left;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}.media-sidebar .setting{display:block;float:left;width:100%;margin:1px 0}.media-sidebar .setting label{display:block}.media-sidebar .setting .link-to-custom{margin:3px 0}.media-sidebar .setting span{min-width:30%;margin-right:4%;font-size:12px}.media-sidebar .setting select{max-width:65%}.media-sidebar .field input[type=checkbox],.media-sidebar .setting input[type=checkbox]{width:16px;float:none;margin:8px 3px 0;padding:0}.compat-item label span,.media-sidebar .setting span{float:left;min-height:22px;padding-top:8px;line-height:16px;text-align:right;font-weight:400;color:#666}.media-sidebar .setting input,.media-sidebar .setting textarea{margin:1px;width:65%;float:right}.compat-item .field textarea,.media-sidebar .setting textarea{height:62px;resize:vertical}.media-sidebar select{margin-top:3px}.compat-item{float:left;width:100%;overflow:hidden}.compat-item table{width:100%;table-layout:fixed;border-spacing:0;border:0}.compat-item tr{padding:2px 0;display:block;overflow:hidden}.compat-item .field,.compat-item .label{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-right:4%;float:left;text-align:right}.compat-item .label span{display:block;width:100%}.compat-item .field{float:right;width:66%}.compat-item .field input{width:100%;margin:0}.media-menu{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:16px 0;background:#f3f3f3;border-right-width:1px;border-right-style:solid;border-right-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0074a2;text-decoration:none}.media-menu>a:hover{color:#21759B;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#222;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router a{-webkit-transition:none;transition:none}.media-router>a{position:relative;float:left;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none}.media-router>a:last-child{border-right:0}.media-router>a:active,.media-router>a:focus{outline:0}.media-router .active,.media-router .active:hover{color:#333}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:0}.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:56px;z-index:200}.media-frame-router{position:absolute;top:56px;left:200px;right:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:90px;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:56px}.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 h1{padding:0 16px;font-size:22px;line-height:60px;margin:0}.media-frame-title .suggested-dimensions{font-size:14px;float:right;margin-right:20px}.media-frame-content .crop-content{height:100%}.media-frame-content .crop-content .crop-image{display:block;margin:auto;max-width:100%;max-height:100%}.media-frame-content .crop-content .upload-errors{position:absolute;width:300px;top:50%;left:50%;margin-left:-150px;margin-right:-150px;z-index:600000}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-right:10px}.media-frame .search{margin-top:11px;padding:4px;line-height:18px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-secondary .search{margin-right:16px}.attachments{margin:0;padding-right:16px;-webkit-overflow-scrolling:touch}.attachment{position:relative;float:left;padding:0;margin:0 10px 20px;color:#464646;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.selected.attachment{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #ccc;box-shadow:0 0 0 1px #fff,0 0 0 3px #ccc}.attachment-preview{position:relative;width:199px;height:199px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.attachment .icon{margin:0 auto;overflow:hidden;padding-top:20%}.attachment .thumbnail{display:block;position:absolute;top:0;left:0;margin:0 auto;overflow:hidden;max-width:100%;max-height:100%}.attachment-preview .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.attachment .thumbnail img{top:0;left:0}.attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.attachment .filename{position:absolute;left:0;right:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:700;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.attachment .filename div{padding:5px 10px}.attachment-preview .thumbnail{width:199px;height:199px}.attachment .thumbnail img{position:absolute}.attachment .close{display:none;position:absolute;top:5px;right:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3)}.attachment .close:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(0,0,0,.6)}.attachment:hover .close{display:block}.attachment .check{display:none;height:24px;width:24px;position:absolute;top:-6px;right:-6px;outline:0;background:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.4)}.attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.attachment .check:hover div{background-position:-40px 0}.attachment.selected .check{display:block}.attachment.details{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment.details .check{background-color:#1e8cbe;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.attachment.details .check div{background-position:-21px 0}.attachment.details .check:hover div{background-position:-60px 0}.media-frame .attachment .describe{position:relative;display:block;width:100%;margin:-1px 0 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 .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-top:10px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;left:0;right:300px;bottom:0;overflow:auto}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-right:.5em}.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 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;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.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 #c00 solid;background:#ffebe8;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-right:8px;font-weight:700;color:#fff;background:#e00;background-image:-webkit-gradient(linear,left top,left bottom,from(#e00),to(#a00));background-image:-webkit-linear-gradient(top,#e00,#a00);background-image:linear-gradient(to bottom,#e00,#a00);-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-message{display:block;padding-top:8px;color:#b44;word-wrap:break-word}.uploader-window{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}.uploader-window-content{position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:1px dashed #fff}.uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}.uploader-window .media-progress-bar div{background:#fff}.uploading .uploader-window .media-progress-bar{display:block}.media-frame .uploader-inline{margin:20px;padding:20px;text-align:center}.uploader-inline-content{position:absolute;top:30%;left:0;right:0}.uploader-inline-content .upload-ui{margin:4em 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-bottom:1.6em}.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}.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-top:5px;overflow:hidden;vertical-align:top}.media-selection .attachment .icon{width:50%}.attachment.selection.selected{-webkit-box-shadow:none;box-shadow:none}.attachment.selection.details{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 4px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 4px #1e8cbe}.media-selection .attachment.selection.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;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0}.media-toolbar .spinner{margin-top:14px}.media-sidebar .settings-save-status{background:#f5f5f5;float:right;text-transform:none;z-index:10}.media-sidebar .settings-save-status .spinner{margin:0 5px}.media-sidebar .settings-save-status .saved{float:right;display:none}.media-sidebar .save-complete .settings-save-status .saved,.media-sidebar .save-waiting .settings-save-status .spinner{display:block}.attachment-details{position:relative;overflow:auto}.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: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{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}.attachment-info .delete-attachment,.attachment-info .trash-attachment{color:#bc0b0b}.attachment-info .delete-attachment:hover,.attachment-info .trash-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-frame .imgedit-wrap{position:static}.media-frame .imgedit-wait{height:auto!important;right:0;bottom:0;left:0}.media-frame .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;right:282px;bottom:0;left:0;overflow:auto}.media-frame .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-frame .imgedit-group{background:0 0;border:0;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0;margin-bottom:16px;padding:0;padding-bottom:16px}.media-frame .imgedit-group:last-of-type{border:0;margin:0;padding:0}.media-frame .imgedit-group-top h3{text-transform:uppercase;font-size:12px;color:#666;margin:0;margin-top:24px}.media-frame .imgedit-group-top h3 a{text-decoration:none;color:#666}.media-frame .imgedit-help-toggle{margin-top:-2px;cursor:pointer;color:#666}.media-frame .imgedit-help-toggled span.dashicons:before{content:'\f142'}.media-frame .imgedit-group img{margin-top:5px}.media-frame .imgedit-wrap div.updated{margin:0;margin-bottom:16px}.embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:16px;right:26px}.media-frame .embed-loading .embed-url .spinner{display:block}.embed-link-settings,.embed-media-settings{position:absolute;top:60px;left:0;right:0;bottom:0;padding:16px 16px 32px;overflow:auto}.image-details .media-modal{left:140px;right:140px}.image-details .media-frame-menu{display:none}.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 .column-settings{background:#f3f3f3;border-right:1px solid #ddd;min-height:100%;width:52%;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:48%;position:absolute;left:52%;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';margin-top:0}.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{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,.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=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:960px){.media-frame-content .media-toolbar-primary .search,.media-frame-content .media-toolbar-secondary .attachment-filters{max-width:120px}}@media only screen and (max-width:900px){.media-frame-menu{width:139px}.media-menu>a{padding:4px 5px}.media-frame-content,.media-frame-router,.media-frame-title,.media-frame-toolbar{left:140px}.media-sidebar{width:159px;padding:0 10px 24px}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{right:180px}.compat-item label span,.media-sidebar .setting input,.media-sidebar .setting span,.media-sidebar .setting textarea{float:none}.compat-item label span,.media-sidebar .setting span{text-align:inherit;display:block;min-height:16px;margin:0;padding:8px 2px 0}.media-sidebar .setting input,.media-sidebar .setting select,.media-sidebar .setting textarea{width:98%;max-width:none}.media-sidebar .setting select.columns{width:auto}.media-frame .search,.media-frame input,.media-frame textarea{padding:3px 6px}.media-frame-content .attachment .icon{top:40%}.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}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-menu .separator{margin:12px 10px}.media-modal-close{right:10px}.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){.media-frame-content .media-toolbar .instructions{display:none}.media-frame-menu{width:auto;bottom:auto;right:0;height:60px}.media-menu{border-right:0;position:relative;border-bottom:1px solid #ddd;overflow:hidden;padding:10px 0 10px 10px}.media-menu a{float:left;width:42%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.media-frame-title{display:none}.image-details .media-frame-title{display:block;top:0;font-size:14px}.media-frame-toolbar{position:absolute;bottom:0;left:0;right:0;background:#FFF;border-top:1px solid #DEDEDE}.media-toolbar{position:relative}.media-frame{overflow:hidden}.attachments-browser .attachments{top:42px}.attachment-details h3{margin-top:45px}.media-menu a:last-child,.media-menu a:nth-child(2){width:40%}.media-menu .separator{display:none}.media-frame-title{top:72px;left:auto;height:auto}.media-frame-title h1{line-height:3;font-size:18px}.media-frame-router{top:84px;left:0}.media-frame-content{left:0;top:118px}.image-details .media-frame.hide-router .media-frame-content{top:40px}.media-frame .attachments-browser{padding-bottom:300px}.media-sidebar{border-bottom:1px solid #ddd}.media-modal{width:auto}.media-toolbar-primary,.media-toolbar-secondary{height:auto}.uploader-inline h3{margin:0 0 .8em}.uploader-inline-content{top:auto}.uploader-inline-content .upload-ui{margin:0}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:relative;margin-right:180px}.image-details .media-modal,.media-modal{position:fixed;top:0;left:0;right:0;bottom:0}.media-modal-backdrop{position:fixed}.attachments-browser .attachment,.attachments-browser .attachment-preview{max-width:100%}.attachments-browser .media-toolbar-primary input.search{max-width:150px}.uploader-inline-content{position:relative}.media-sidebar .field input[type=checkbox],.media-sidebar .setting input[type=checkbox]{width:25px}.embed-link-settings,.embed-media-settings{padding-bottom:52px}.image-details .column-image,.image-details .column-settings{position:relative;padding:10px 0 20px;left:0;width:100%;min-height:inherit}.media-frame.hide-router .media-frame-content{top:73px;border-top:0}.collection-settings h3{margin-top:45px}}@media screen and (max-height:400px){.media-menu{padding:0 0 0 10px}.media-menu a{float:left;width:21%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding:10px inherit}.media-menu a:last-child,.media-menu a:nth-child(2){width:21%}.media-modal-close{top:2px}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:2px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:680px){.media-frame-content .media-toolbar .attachment-filters,.media-frame-content .media-toolbar .search{max-width:85px}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);-webkit-background-size:134px 15px;background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}
\ No newline at end of file
index dbb5fc8ea24abaa4d33f0922390ef9611506be18..568fa74b92bee99da27e375126500b3d7a288c4a 100644 (file)
@@ -13,9 +13,9 @@
        right: 0;
        left: 0;
        background: #000;
-       opacity: 0.5;
-       filter: alpha(opacity=50);
-       z-index: 1000000;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
+       z-index: 1000010; /* needs to appear above .notification-dialog */
 }
 
 #wp-auth-check-wrap #wp-auth-check {
@@ -29,9 +29,9 @@
        margin: 0 -190px 0 0;
        padding: 30px 0 0;
        background-color: #eee;
-       z-index: 1000001;
-       -webkit-box-shadow: 0 3px 6px rgba(0,0,0,0.3);
-       box-shadow:         0 3px 6px rgba(0,0,0,0.3);
+       z-index: 1000011; /* needs to appear above #wp-auth-check-bg */
+       -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
 }
 
 #wp-auth-check-wrap.fallback #wp-auth-check {
@@ -41,6 +41,7 @@
 
 #wp-auth-check-wrap #wp-auth-check-form {
        background: url(../images/wpspin-2x.gif) no-repeat center center;
+       -webkit-background-size: 16px 16px;
        background-size: 16px 16px;
        height: 100%;
 }
@@ -71,6 +72,7 @@
        width: 22px;
        color: #777;
        -webkit-font-smoothing: antialiased !important;
+       -moz-osx-font-smoothing: grayscale;
 }
 
 #wp-auth-check-wrap .wp-auth-check-close:hover:before {
@@ -95,4 +97,4 @@
 #wp-auth-check-wrap.fallback .wp-auth-fallback,
 #wp-auth-check-wrap.fallback .wp-auth-check-close {
        display: block;
-}
\ No newline at end of file
+}
index 5c310028558956a50dafb061aeecdf2512e57a0a..fc2e393635537403a1ab0e0329ec0b49b3e8a0c9 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:.5;filter:alpha(opacity=50);z-index:1000000}#wp-auth-check-wrap #wp-auth-check{position:fixed;right:50%;overflow:hidden;top:40px;bottom:20px;max-height:415px;width:380px;margin:0 -190px 0 0;padding:30px 0 0;background-color:#eee;z-index:1000001;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/wpspin-2x.gif) no-repeat center center;background-size:16px 16px;height:100%}#wp-auth-check-wrap #wp-auth-check-form iframe{height:100%;width:100%;overflow:auto}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;left:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:400 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0074a2}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:1px dotted #888}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-fallback,#wp-auth-check-wrap.fallback .wp-auth-check-close{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:#eee;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/wpspin-2x.gif) no-repeat center center;-webkit-background-size:16px 16px;background-size:16px 16px;height:100%}#wp-auth-check-wrap #wp-auth-check-form iframe{height:100%;width:100%;overflow:auto}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;left:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:400 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0074a2}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:1px dotted #888}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-check-close,#wp-auth-check-wrap.fallback .wp-auth-fallback{display:block}
\ No newline at end of file
index 0421df2612aa898c581bdc6372397bcf16514f00..cd42ed9882be91f2cf613a7287079973d0262a61 100644 (file)
@@ -13,9 +13,9 @@
        left: 0;
        right: 0;
        background: #000;
-       opacity: 0.5;
-       filter: alpha(opacity=50);
-       z-index: 1000000;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
+       z-index: 1000010; /* needs to appear above .notification-dialog */
 }
 
 #wp-auth-check-wrap #wp-auth-check {
@@ -29,9 +29,9 @@
        margin: 0 0 0 -190px;
        padding: 30px 0 0;
        background-color: #eee;
-       z-index: 1000001;
-       -webkit-box-shadow: 0 3px 6px rgba(0,0,0,0.3);
-       box-shadow:         0 3px 6px rgba(0,0,0,0.3);
+       z-index: 1000011; /* needs to appear above #wp-auth-check-bg */
+       -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
 }
 
 #wp-auth-check-wrap.fallback #wp-auth-check {
@@ -41,6 +41,7 @@
 
 #wp-auth-check-wrap #wp-auth-check-form {
        background: url(../images/wpspin-2x.gif) no-repeat center center;
+       -webkit-background-size: 16px 16px;
        background-size: 16px 16px;
        height: 100%;
 }
@@ -71,6 +72,7 @@
        width: 22px;
        color: #777;
        -webkit-font-smoothing: antialiased !important;
+       -moz-osx-font-smoothing: grayscale;
 }
 
 #wp-auth-check-wrap .wp-auth-check-close:hover:before {
@@ -95,4 +97,4 @@
 #wp-auth-check-wrap.fallback .wp-auth-fallback,
 #wp-auth-check-wrap.fallback .wp-auth-check-close {
        display: block;
-}
\ No newline at end of file
+}
index 22f624c74e192ea7b388efec4f75f423da216fd0..2b01fbba6f56c87d661d5fab28db6dd9303aaedc 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:.5;filter:alpha(opacity=50);z-index:1000000}#wp-auth-check-wrap #wp-auth-check{position:fixed;left:50%;overflow:hidden;top:40px;bottom:20px;max-height:415px;width:380px;margin:0 0 0 -190px;padding:30px 0 0;background-color:#eee;z-index:1000001;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/wpspin-2x.gif) no-repeat center center;background-size:16px 16px;height:100%}#wp-auth-check-wrap #wp-auth-check-form iframe{height:100%;width:100%;overflow:auto}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;right:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:400 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0074a2}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:1px dotted #888}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-fallback,#wp-auth-check-wrap.fallback .wp-auth-check-close{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:#eee;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/wpspin-2x.gif) no-repeat center center;-webkit-background-size:16px 16px;background-size:16px 16px;height:100%}#wp-auth-check-wrap #wp-auth-check-form iframe{height:100%;width:100%;overflow:auto}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;right:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:400 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0074a2}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:1px dotted #888}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-check-close,#wp-auth-check-wrap.fallback .wp-auth-fallback{display:block}
\ No newline at end of file
index 552041bf356f4092b23893328e39706084df6ae3..10cf6a247a412c9f163a9342585e9436e0a15545 100644 (file)
@@ -5,7 +5,7 @@
        background: #fff;
        border: 1px solid #dfdfdf;
        -webkit-box-shadow: 0 3px 6px rgba(0,0,0,0.075);
-       box-shadow:         0 3px 6px rgba(0,0,0,0.075);
+       box-shadow: 0 3px 6px rgba(0,0,0,0.075);
 }
 
 .wp-pointer-content h3 {
@@ -22,6 +22,7 @@
 
 .wp-pointer-content h3:before {
        background: #fff;
+       -webkit-border-radius: 50%;
        border-radius: 50%;
        color: #2ea2cc;
        content: '\f227';
 }
 
 .wp-pointer-buttons a.close:before {
+       background: none;
+       color: #bbb;
        content: '\f153';
        display: block !important;
        font: normal 13px/1 'dashicons';
        speak: none;
-       margin: 2px 0;
+       margin: 1px 0;
        text-align: center;
        -webkit-font-smoothing: antialiased !important;
        width: 10px;
        top: 1px;
 }
 
+.wp-pointer-buttons a.close:hover:before {
+       color: #c00;
+}
+
 /* The arrow base class must take up no space, even with transparent borders. */
 .wp-pointer-arrow,
 .wp-pointer-arrow-inner {
 }
 
 .wp-pointer-right .wp-pointer-arrow:before {
-       margin-right: -14px;
+       margin-right: -12px;
        margin-top: -13px;
        border: 13px solid transparent;
        border-right-color: #fff;
        content: ' ';
 }
 
+.rtl .wp-pointer-arrow:before {
+       -webkit-transform: rotateY(180deg);
+       -ms-transform:     rotateY(180deg);
+       transform:         rotateY(180deg);
+}
+
 /* Disable pointers at responsive sizes */
 @media screen and ( max-width: 782px ) {
        .wp-pointer {
index 2256279fca392e511ef4eef9d43deac1d5e8fcbf..b5fbcdb92588620b8cdced3fa53de6d3bf2aa8b0 100644 (file)
@@ -1 +1 @@
-.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #dfdfdf;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 60px 14px 18px;border:1px solid #3592b6;border-bottom:0;line-height:1.4em;font-size:14px;color:#fff;background:#2ea2cc}.wp-pointer-content h3:before{background:#fff;border-radius:50%;color:#2ea2cc;content:'\f227';font:400 20px/1.6 dashicons;position:absolute;top:8px;right:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:left;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-right:3px;position:relative}.wp-pointer-buttons a.close:before{content:'\f153';display:block!important;font:400 13px/1 dashicons;speak:none;margin:2px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;right:-12px;top:1px}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{padding-right:13px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{right:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow:before,.wp-pointer-undefined .wp-pointer-arrow:before{margin-right:-13px;margin-top:-11px;border:13px solid transparent;border-bottom-color:#2ea2cc;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow:before{margin-right:-13px;margin-top:-14px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow:before{margin-right:-12px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow:before{margin-right:-14px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
+.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #dfdfdf;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 60px 14px 18px;border:1px solid #3592b6;border-bottom:0;line-height:1.4em;font-size:14px;color:#fff;background:#2ea2cc}.wp-pointer-content h3:before{background:#fff;-webkit-border-radius:50%;border-radius:50%;color:#2ea2cc;content:'\f227';font:400 20px/1.6 dashicons;position:absolute;top:8px;right:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:left;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-right:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 13px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;right:-12px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{right:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow:before,.wp-pointer-undefined .wp-pointer-arrow:before{margin-right:-13px;margin-top:-11px;border:13px solid transparent;border-bottom-color:#2ea2cc;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow:before{margin-right:-13px;margin-top:-14px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow:before{margin-right:-12px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow:before{margin-right:-12px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.rtl .wp-pointer-arrow:before{-webkit-transform:rotateY(180deg);-ms-transform:rotateY(180deg);transform:rotateY(180deg)}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
index b1fb5a9732b4bbcc919029fb9ae92ad1ccf71a88..dbf09b6a44dfb101202ba072ef3d934973acd30d 100644 (file)
@@ -5,7 +5,7 @@
        background: #fff;
        border: 1px solid #dfdfdf;
        -webkit-box-shadow: 0 3px 6px rgba(0,0,0,0.075);
-       box-shadow:         0 3px 6px rgba(0,0,0,0.075);
+       box-shadow: 0 3px 6px rgba(0,0,0,0.075);
 }
 
 .wp-pointer-content h3 {
@@ -22,6 +22,7 @@
 
 .wp-pointer-content h3:before {
        background: #fff;
+       -webkit-border-radius: 50%;
        border-radius: 50%;
        color: #2ea2cc;
        content: '\f227';
 }
 
 .wp-pointer-buttons a.close:before {
+       background: none;
+       color: #bbb;
        content: '\f153';
        display: block !important;
        font: normal 13px/1 'dashicons';
        speak: none;
-       margin: 2px 0;
+       margin: 1px 0;
        text-align: center;
        -webkit-font-smoothing: antialiased !important;
        width: 10px;
        top: 1px;
 }
 
+.wp-pointer-buttons a.close:hover:before {
+       color: #c00;
+}
+
 /* The arrow base class must take up no space, even with transparent borders. */
 .wp-pointer-arrow,
 .wp-pointer-arrow-inner {
 }
 
 .wp-pointer-right .wp-pointer-arrow:before {
-       margin-left: -14px;
+       margin-left: -12px;
        margin-top: -13px;
        border: 13px solid transparent;
        border-left-color: #fff;
        content: ' ';
 }
 
+.rtl .wp-pointer-arrow:before {
+       -webkit-transform: rotateY(180deg);
+       -ms-transform:     rotateY(180deg);
+       transform:         rotateY(180deg);
+}
+
 /* Disable pointers at responsive sizes */
 @media screen and ( max-width: 782px ) {
        .wp-pointer {
index 1f405e13d43d68d2f6a6179707c8c9ba4f0b7738..5e0797521f4044e077bfdd334c9ccd98750d2dc9 100644 (file)
@@ -1 +1 @@
-.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #dfdfdf;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 18px 14px 60px;border:1px solid #3592b6;border-bottom:0;line-height:1.4em;font-size:14px;color:#fff;background:#2ea2cc}.wp-pointer-content h3:before{background:#fff;border-radius:50%;color:#2ea2cc;content:'\f227';font:400 20px/1.6 dashicons;position:absolute;top:8px;left:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:right;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-left:3px;position:relative}.wp-pointer-buttons a.close:before{content:'\f153';display:block!important;font:400 13px/1 dashicons;speak:none;margin:2px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;left:-12px;top:1px}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{padding-right:13px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{left:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow:before,.wp-pointer-undefined .wp-pointer-arrow:before{margin-left:-13px;margin-top:-11px;border:13px solid transparent;border-bottom-color:#2ea2cc;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow:before{margin-left:-13px;margin-top:-14px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow:before{margin-left:-12px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow:before{margin-left:-14px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
+.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #dfdfdf;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 18px 14px 60px;border:1px solid #3592b6;border-bottom:0;line-height:1.4em;font-size:14px;color:#fff;background:#2ea2cc}.wp-pointer-content h3:before{background:#fff;-webkit-border-radius:50%;border-radius:50%;color:#2ea2cc;content:'\f227';font:400 20px/1.6 dashicons;position:absolute;top:8px;left:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:right;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-left:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 13px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;left:-12px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{left:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow:before,.wp-pointer-undefined .wp-pointer-arrow:before{margin-left:-13px;margin-top:-11px;border:13px solid transparent;border-bottom-color:#2ea2cc;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow:before{margin-left:-13px;margin-top:-14px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow:before{margin-left:-12px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow:before{margin-left:-12px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}.rtl .wp-pointer-arrow:before{-webkit-transform:rotateY(180deg);-ms-transform:rotateY(180deg);transform:rotateY(180deg)}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
index 0c42766e55ec4190eda2ee81e26265a910768c65..99bbb4e0123eaf5b02e372e0d35acfcb76424b25 100644 (file)
@@ -71,7 +71,7 @@ class WP_Date_Query {
         *                 @type string $day   Optional when passing array.The day of the month.
         *                                     Default (string:empty)|(array:1). Accepts numbers 1-31.
         *             }
-        *             @type string|array $after Optional. Date to retrieve posts before. Accepts strtotime()-compatible
+        *             @type string|array $after Optional. Date to retrieve posts after. Accepts strtotime()-compatible
         *                                       string, or array of 'year', 'month', 'day' values. {
         *
         *                 @type string $year  The four-digit year. Default empty. Accepts any four-digit year.
index 4f135c82ebce21769946ac2b12222914799e7ed3..6be5dd0904d79715692034ad20ed48a43635be3e 100644 (file)
@@ -160,7 +160,8 @@ function wp_plugin_directory_constants() {
 function wp_cookie_constants() {
        /**
         * Used to guarantee unique hash cookies
-        * @since 1.5
+        *
+        * @since 1.5.0
         */
        if ( !defined( 'COOKIEHASH' ) ) {
                $siteurl = get_site_option( 'siteurl' );
index b6c7527553b1de3dca9bd77e32c99cc3c5e22ab7..a027155002ec348f7b8a7b8afc61d65f44cf16f9 100644 (file)
@@ -293,12 +293,14 @@ add_filter( 'default_option_embed_autourls', '__return_true' );
 add_filter( 'heartbeat_settings', 'wp_heartbeat_settings' );
 
 // Check if the user is logged out
-add_action( 'admin_enqueue_scripts',     'wp_auth_check_load'   );
-add_filter( 'heartbeat_received',        'wp_auth_check', 10, 2 );
-add_filter( 'heartbeat_nopriv_received', 'wp_auth_check', 10, 2 );
+add_action( 'admin_enqueue_scripts', 'wp_auth_check_load' );
+add_filter( 'heartbeat_send',        'wp_auth_check' );
+add_filter( 'heartbeat_nopriv_send', 'wp_auth_check' );
 
 // Default authentication filters
 add_filter( 'authenticate', 'wp_authenticate_username_password',  20, 3 );
 add_filter( 'authenticate', 'wp_authenticate_spam_check',         99    );
+add_filter( 'determine_current_user', 'wp_validate_auth_cookie'          );
+add_filter( 'determine_current_user', 'wp_validate_logged_in_cookie', 20 );
 
 unset($filter, $action);
index 6c6e321f54c27bb81b6d28d31758da9c881ab019..8a803a47709f6d592d9c1ec0aa01637f528eec0d 100644 (file)
@@ -21,14 +21,38 @@ class WP_Widget_Pages extends WP_Widget {
        function widget( $args, $instance ) {
                extract( $args );
 
-               $title = apply_filters('widget_title', empty( $instance['title'] ) ? __( 'Pages' ) : $instance['title'], $instance, $this->id_base);
+               /**
+                * Filter the widget title.
+                *
+                * @since 2.6.0
+                *
+                * @param string $title    The widget title. Default 'Pages'.
+                * @param array  $instance An array of the widget's settings.
+                * @param mixed  $id_base  The widget ID.
+                */
+               $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Pages' ) : $instance['title'], $instance, $this->id_base );
+
                $sortby = empty( $instance['sortby'] ) ? 'menu_order' : $instance['sortby'];
                $exclude = empty( $instance['exclude'] ) ? '' : $instance['exclude'];
 
                if ( $sortby == 'menu_order' )
                        $sortby = 'menu_order, post_title';
 
-               $out = wp_list_pages( apply_filters('widget_pages_args', array('title_li' => '', 'echo' => 0, 'sort_column' => $sortby, 'exclude' => $exclude) ) );
+               /**
+                * Filter the arguments for the Pages widget.
+                *
+                * @since 2.8.0
+                *
+                * @see wp_list_pages()
+                *
+                * @param array $args An array of arguments to retrieve the pages list.
+                */
+               $out = wp_list_pages( apply_filters( 'widget_pages_args', array(
+                       'title_li'    => '',
+                       'echo'        => 0,
+                       'sort_column' => $sortby,
+                       'exclude'     => $exclude
+               ) ) );
 
                if ( !empty( $out ) ) {
                        echo $before_widget;
@@ -107,7 +131,17 @@ class WP_Widget_Links extends WP_Widget {
                $limit = isset( $instance['limit'] ) ? $instance['limit'] : -1;
 
                $before_widget = preg_replace('/id="[^"]*"/','id="%id"', $before_widget);
-               wp_list_bookmarks(apply_filters('widget_links_args', array(
+
+               /**
+                * Filter the arguments for the Links widget.
+                *
+                * @since 2.6.0
+                *
+                * @see wp_list_bookmarks()
+                *
+                * @param array $args An array of arguments to retrieve the links list.
+                */
+               wp_list_bookmarks( apply_filters( 'widget_links_args', array(
                        'title_before' => $before_title, 'title_after' => $after_title,
                        'category_before' => $before_widget, 'category_after' => $after_widget,
                        'show_images' => $show_images, 'show_description' => $show_description,
@@ -115,7 +149,7 @@ class WP_Widget_Links extends WP_Widget {
                        'category' => $category, 'class' => 'linkcat widget',
                        'orderby' => $orderby, 'order' => $order,
                        'limit' => $limit,
-               )));
+               ) ) );
        }
 
        function update( $new_instance, $old_instance ) {
@@ -191,11 +225,13 @@ class WP_Widget_Search extends WP_Widget {
 
        function __construct() {
                $widget_ops = array('classname' => 'widget_search', 'description' => __( "A search form for your site.") );
-               parent::__construct('search', __('Search'), $widget_ops);
+               parent::__construct( 'search', _x( 'Search', 'Search widget' ), $widget_ops );
        }
 
        function widget( $args, $instance ) {
                extract($args);
+
+               /** This filter is documented in wp-includes/default-widgets.php */
                $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
 
                echo $before_widget;
@@ -241,7 +277,9 @@ class WP_Widget_Archives extends WP_Widget {
                extract($args);
                $c = ! empty( $instance['count'] ) ? '1' : '0';
                $d = ! empty( $instance['dropdown'] ) ? '1' : '0';
-               $title = apply_filters('widget_title', empty($instance['title']) ? __('Archives') : $instance['title'], $instance, $this->id_base);
+
+               /** This filter is documented in wp-includes/default-widgets.php */
+               $title = apply_filters( 'widget_title', empty($instance['title'] ) ? __( 'Archives' ) : $instance['title'], $instance, $this->id_base );
 
                echo $before_widget;
                if ( $title )
@@ -249,12 +287,45 @@ class WP_Widget_Archives extends WP_Widget {
 
                if ( $d ) {
 ?>
-               <select name="archive-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'> <option value=""><?php echo esc_attr(__('Select Month')); ?></option> <?php wp_get_archives(apply_filters('widget_archives_dropdown_args', array('type' => 'monthly', 'format' => 'option', 'show_post_count' => $c))); ?> </select>
+               <select name="archive-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'>
+                       <option value=""><?php echo esc_attr( __( 'Select Month' ) ); ?></option>
+
+                       <?php
+                       /**
+                        * Filter the arguments for the Archives widget drop-down.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @see wp_get_archives()
+                        *
+                        * @param array $args An array of Archives widget drop-down arguments.
+                        */
+                       wp_get_archives( apply_filters( 'widget_archives_dropdown_args', array(
+                               'type'            => 'monthly',
+                               'format'          => 'option',
+                               'show_post_count' => $c
+                       ) ) );
+?>
+               </select>
 <?php
                } else {
 ?>
                <ul>
-               <?php wp_get_archives(apply_filters('widget_archives_args', array('type' => 'monthly', 'show_post_count' => $c))); ?>
+<?php
+               /**
+                * Filter the arguments for the Archives widget.
+                *
+                * @since 2.8.0
+                *
+                * @see wp_get_archives()
+                *
+                * @param array $args An array of Archives option arguments.
+                */
+               wp_get_archives( apply_filters( 'widget_archives_args', array(
+                       'type'            => 'monthly',
+                       'show_post_count' => $c
+               ) ) );
+?>
                </ul>
 <?php
                }
@@ -304,7 +375,9 @@ class WP_Widget_Meta extends WP_Widget {
 
        function widget( $args, $instance ) {
                extract($args);
-               $title = apply_filters('widget_title', empty($instance['title']) ? __('Meta') : $instance['title'], $instance, $this->id_base);
+
+               /** 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 );
 
                echo $before_widget;
                if ( $title )
@@ -315,12 +388,22 @@ class WP_Widget_Meta extends WP_Widget {
                        <li><?php wp_loginout(); ?></li>
                        <li><a href="<?php bloginfo('rss2_url'); ?>" title="<?php echo esc_attr(__('Syndicate this site using RSS 2.0')); ?>"><?php _e('Entries <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
                        <li><a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php echo esc_attr(__('The latest comments to all posts in RSS')); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
-                       <?php echo apply_filters( 'widget_meta_poweredby', sprintf( '<li><a href="%s" title="%s">%s</a></li>',
-                               esc_url( __( 'http://wordpress.org/' ) ),
+<?php
+                       /**
+                        * Filter the "Powered by WordPress" text in the Meta widget.
+                        *
+                        * @since 3.6.0
+                        *
+                        * @param string $title_text Default title text for the WordPress.org link.
+                        */
+                       echo apply_filters( 'widget_meta_poweredby', sprintf( '<li><a href="%s" title="%s">%s</a></li>',
+                               esc_url( __( 'https://wordpress.org/' ) ),
                                esc_attr__( 'Powered by WordPress, state-of-the-art semantic personal publishing platform.' ),
                                _x( 'WordPress.org', 'meta widget link text' )
-                       ) ); ?>
-                       <?php wp_meta(); ?>
+                       ) );
+
+                       wp_meta();
+?>
                        </ul>
 <?php
                echo $after_widget;
@@ -356,7 +439,10 @@ class WP_Widget_Calendar extends WP_Widget {
 
        function widget( $args, $instance ) {
                extract($args);
-               $title = apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title'], $instance, $this->id_base);
+
+               /** This filter is documented in wp-includes/default-widgets.php */
+               $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
+
                echo $before_widget;
                if ( $title )
                        echo $before_title . $title . $after_title;
@@ -398,7 +484,18 @@ class WP_Widget_Text extends WP_Widget {
 
        function widget( $args, $instance ) {
                extract($args);
+
+               /** This filter is documented in wp-includes/default-widgets.php */
                $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
+
+               /**
+                * Filter the content of the Text widget.
+                *
+                * @since 2.3.0
+                *
+                * @param string    $widget_text The widget content.
+                * @param WP_Widget $instance    WP_Widget instance.
+                */
                $text = apply_filters( 'widget_text', empty( $instance['text'] ) ? '' : $instance['text'], $instance );
                echo $before_widget;
                if ( !empty( $title ) ) { echo $before_title . $title . $after_title; } ?>
@@ -448,7 +545,9 @@ class WP_Widget_Categories extends WP_Widget {
        function widget( $args, $instance ) {
                extract( $args );
 
-               $title = apply_filters('widget_title', empty( $instance['title'] ) ? __( 'Categories' ) : $instance['title'], $instance, $this->id_base);
+               /** 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 );
+
                $c = ! empty( $instance['count'] ) ? '1' : '0';
                $h = ! empty( $instance['hierarchical'] ) ? '1' : '0';
                $d = ! empty( $instance['dropdown'] ) ? '1' : '0';
@@ -461,7 +560,17 @@ class WP_Widget_Categories extends WP_Widget {
 
                if ( $d ) {
                        $cat_args['show_option_none'] = __('Select Category');
-                       wp_dropdown_categories(apply_filters('widget_categories_dropdown_args', $cat_args));
+
+                       /**
+                        * Filter the arguments for the Categories widget drop-down.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @see wp_dropdown_categories()
+                        *
+                        * @param array $cat_args An array of Categories widget drop-down arguments.
+                        */
+                       wp_dropdown_categories( apply_filters( 'widget_categories_dropdown_args', $cat_args ) );
 ?>
 
 <script type='text/javascript'>
@@ -482,7 +591,15 @@ class WP_Widget_Categories extends WP_Widget {
                <ul>
 <?php
                $cat_args['title_li'] = '';
-               wp_list_categories(apply_filters('widget_categories_args', $cat_args));
+
+               /**
+                * Filter the arguments for the Categories widget.
+                *
+                * @since 2.8.0
+                *
+                * @param array $cat_args An array of Categories widget options.
+                */
+               wp_list_categories( apply_filters( 'widget_categories_args', $cat_args ) );
 ?>
                </ul>
 <?php
@@ -543,13 +660,18 @@ class WP_Widget_Recent_Posts extends WP_Widget {
        }
 
        function widget($args, $instance) {
-               $cache = wp_cache_get('widget_recent_posts', 'widget');
+               $cache = array();
+               if ( ! $this->is_preview() ) {
+                       $cache = wp_cache_get( 'widget_recent_posts', 'widget' );
+               }
 
-               if ( !is_array($cache) )
+               if ( ! is_array( $cache ) ) {
                        $cache = array();
+               }
 
-               if ( ! isset( $args['widget_id'] ) )
+               if ( ! isset( $args['widget_id'] ) ) {
                        $args['widget_id'] = $this->id;
+               }
 
                if ( isset( $cache[ $args['widget_id'] ] ) ) {
                        echo $cache[ $args['widget_id'] ];
@@ -560,13 +682,31 @@ class WP_Widget_Recent_Posts extends WP_Widget {
                extract($args);
 
                $title = ( ! empty( $instance['title'] ) ) ? $instance['title'] : __( 'Recent Posts' );
+
+               /** This filter is documented in wp-includes/default-widgets.php */
                $title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
-               $number = ( ! empty( $instance['number'] ) ) ? absint( $instance['number'] ) : 10;
+
+               $number = ( ! empty( $instance['number'] ) ) ? absint( $instance['number'] ) : 5;
                if ( ! $number )
-                       $number = 10;
+                       $number = 5;
                $show_date = isset( $instance['show_date'] ) ? $instance['show_date'] : false;
 
-               $r = new WP_Query( apply_filters( 'widget_posts_args', array( 'posts_per_page' => $number, 'no_found_rows' => true, 'post_status' => 'publish', 'ignore_sticky_posts' => true ) ) );
+               /**
+                * Filter the arguments for the Recent Posts widget.
+                *
+                * @since 3.4.0
+                *
+                * @see WP_Query::get_posts()
+                *
+                * @param array $args An array of arguments used to retrieve the recent posts.
+                */
+               $r = new WP_Query( apply_filters( 'widget_posts_args', array(
+                       'posts_per_page'      => $number,
+                       'no_found_rows'       => true,
+                       'post_status'         => 'publish',
+                       'ignore_sticky_posts' => true
+               ) ) );
+
                if ($r->have_posts()) :
 ?>
                <?php echo $before_widget; ?>
@@ -588,8 +728,12 @@ class WP_Widget_Recent_Posts extends WP_Widget {
 
                endif;
 
-               $cache[$args['widget_id']] = ob_get_flush();
-               wp_cache_set('widget_recent_posts', $cache, 'widget');
+               if ( ! $this->is_preview() ) {
+                       $cache[ $args['widget_id'] ] = ob_get_flush();
+                       wp_cache_set( 'widget_recent_posts', $cache, 'widget' );
+               } else {
+                       ob_flush();
+               }
        }
 
        function update( $new_instance, $old_instance ) {
@@ -648,6 +792,15 @@ class WP_Widget_Recent_Comments extends WP_Widget {
        }
 
        function recent_comments_style() {
+
+               /**
+                * Filter the Recent Comments default widget styles.
+                *
+                * @since 3.1.0
+                *
+                * @param bool   $active  Whether the widget is active. Default true.
+                * @param string $id_base The widget ID.
+                */
                if ( ! current_theme_supports( 'widgets' ) // Temp hack #14876
                        || ! apply_filters( 'show_recent_comments_widget_style', true, $this->id_base ) )
                        return;
@@ -663,10 +816,13 @@ class WP_Widget_Recent_Comments extends WP_Widget {
        function widget( $args, $instance ) {
                global $comments, $comment;
 
-               $cache = wp_cache_get('widget_recent_comments', 'widget');
-
-               if ( ! is_array( $cache ) )
+               $cache = array();
+               if ( ! $this->is_preview() ) {
+                       $cache = wp_cache_get('widget_recent_comments', 'widget');
+               }
+               if ( ! is_array( $cache ) ) {
                        $cache = array();
+               }
 
                if ( ! isset( $args['widget_id'] ) )
                        $args['widget_id'] = $this->id;
@@ -676,16 +832,33 @@ class WP_Widget_Recent_Comments extends WP_Widget {
                        return;
                }
 
-               extract($args, EXTR_SKIP);
-               $output = '';
+               extract($args, EXTR_SKIP);
+               $output = '';
 
                $title = ( ! empty( $instance['title'] ) ) ? $instance['title'] : __( 'Recent Comments' );
+
+               /** This filter is documented in wp-includes/default-widgets.php */
                $title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
+
                $number = ( ! empty( $instance['number'] ) ) ? absint( $instance['number'] ) : 5;
                if ( ! $number )
-                       $number = 5;
+                       $number = 5;
+
+               /**
+                * Filter the arguments for the Recent Comments widget.
+                *
+                * @since 3.4.0
+                *
+                * @see get_comments()
+                *
+                * @param array $comment_args An array of arguments used to retrieve the recent comments.
+                */
+               $comments = get_comments( apply_filters( 'widget_comments_args', array(
+                       'number'      => $number,
+                       'status'      => 'approve',
+                       'post_status' => 'publish'
+               ) ) );
 
-               $comments = get_comments( apply_filters( 'widget_comments_args', array( 'number' => $number, 'status' => 'approve', 'post_status' => 'publish' ) ) );
                $output .= $before_widget;
                if ( $title )
                        $output .= $before_title . $title . $after_title;
@@ -699,13 +872,16 @@ class WP_Widget_Recent_Comments extends WP_Widget {
                        foreach ( (array) $comments as $comment) {
                                $output .=  '<li class="recentcomments">' . /* translators: comments widget: 1: comment author, 2: post link */ sprintf(_x('%1$s on %2$s', 'widgets'), get_comment_author_link(), '<a href="' . esc_url( get_comment_link($comment->comment_ID) ) . '">' . get_the_title($comment->comment_post_ID) . '</a>') . '</li>';
                        }
-               }
+               }
                $output .= '</ul>';
                $output .= $after_widget;
 
                echo $output;
-               $cache[$args['widget_id']] = $output;
-               wp_cache_set('widget_recent_comments', $cache, 'widget');
+
+               if ( ! $this->is_preview() ) {
+                       $cache[ $args['widget_id'] ] = $output;
+                       wp_cache_set( 'widget_recent_comments', $cache, 'widget' );
+               }
        }
 
        function update( $new_instance, $old_instance ) {
@@ -782,7 +958,9 @@ class WP_Widget_RSS extends WP_Widget {
                if ( empty($title) )
                        $title = empty($desc) ? __('Unknown Feed') : $desc;
 
-               $title = apply_filters('widget_title', $title, $instance, $this->id_base);
+               /** This filter is documented in wp-includes/default-widgets.php */
+               $title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
+
                $url = esc_url(strip_tags($url));
                $icon = includes_url('images/rss.png');
                if ( $title )
@@ -866,21 +1044,23 @@ function wp_widget_rss_output( $rss, $args = array() ) {
                if ( empty($title) )
                        $title = __('Untitled');
 
-               $desc = str_replace( array("\n", "\r"), ' ', esc_attr( strip_tags( @html_entity_decode( $item->get_description(), ENT_QUOTES, get_option('blog_charset') ) ) ) );
-               $excerpt = wp_html_excerpt( $desc, 360 );
+               $desc = @html_entity_decode( $item->get_description(), ENT_QUOTES, get_option( 'blog_charset' ) );
+               $desc = esc_attr( strip_tags( $desc ) );
+               $desc = trim( str_replace( array( "\n", "\r" ), ' ', $desc ) );
+               $desc = wp_html_excerpt( $desc, 360 );
 
-               // Append ellipsis. Change existing [...] to [&hellip;].
-               if ( '[...]' == substr( $excerpt, -5 ) )
-                       $excerpt = substr( $excerpt, 0, -5 ) . '[&hellip;]';
-               elseif ( '[&hellip;]' != substr( $excerpt, -10 ) && $desc != $excerpt )
-                       $excerpt .= ' [&hellip;]';
+               $summary = '';
+               if ( $show_summary ) {
+                       $summary = $desc;
 
-               $excerpt = esc_html( $excerpt );
+                       // Append ellipsis. Change existing [...] to [&hellip;].
+                       if ( '[...]' == substr( $summary, -5 ) ) {
+                               $summary = substr( $summary, 0, -5 ) . '[&hellip;]';
+                       } elseif ( '[&hellip;]' != substr( $summary, -10 ) && $desc !== $summary ) {
+                               $summary .= ' [&hellip;]';
+                       }
 
-               if ( $show_summary ) {
-                       $summary = "<div class='rssSummary'>$excerpt</div>";
-               } else {
-                       $summary = '';
+                       $summary = '<div class="rssSummary">' . esc_html( $summary ) . '</div>';
                }
 
                $date = '';
@@ -903,8 +1083,10 @@ function wp_widget_rss_output( $rss, $args = array() ) {
 
                if ( $link == '' ) {
                        echo "<li>$title{$date}{$summary}{$author}</li>";
+               } elseif ( $show_summary ) {
+                       echo "<li><a class='rsswidget' href='$link'>$title</a>{$date}{$summary}{$author}</li>";
                } else {
-                       echo "<li><a class='rsswidget' href='$link' title='$desc'>$title</a>{$date}{$summary}{$author}</li>";
+                       echo "<li><a class='rsswidget' href='$link' title='$desc'>$title</a>{$date}{$author}</li>";
                }
        }
        echo '</ul>';
@@ -1050,13 +1232,29 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
                                $title = $tax->labels->name;
                        }
                }
-               $title = apply_filters('widget_title', $title, $instance, $this->id_base);
+
+               /** This filter is documented in wp-includes/default-widgets.php */
+               $title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
 
                echo $before_widget;
                if ( $title )
                        echo $before_title . $title . $after_title;
                echo '<div class="tagcloud">';
-               wp_tag_cloud( apply_filters('widget_tag_cloud_args', array('taxonomy' => $current_taxonomy) ) );
+
+               /**
+                * Filter the taxonomy used in the Tag Cloud widget.
+                *
+                * @since 2.8.0
+                * @since 3.0.0 Added taxonomy drop-down.
+                *
+                * @see wp_tag_cloud()
+                *
+                * @param array $current_taxonomy The taxonomy to use in the tag cloud. Default 'tags'.
+                */
+               wp_tag_cloud( apply_filters( 'widget_tag_cloud_args', array(
+                       'taxonomy' => $current_taxonomy
+               ) ) );
+
                echo "</div>\n";
                echo $after_widget;
        }
@@ -1111,6 +1309,7 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
                if ( !$nav_menu )
                        return;
 
+               /** This filter is documented in wp-includes/default-widgets.php */
                $instance['title'] = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
 
                echo $args['before_widget'];
@@ -1201,7 +1400,12 @@ function wp_widgets_init() {
 
        register_widget('WP_Nav_Menu_Widget');
 
-       do_action('widgets_init');
+       /**
+        * Fires after all default WordPress widgets have been registered.
+        *
+        * @since 2.2.0
+        */
+       do_action( 'widgets_init' );
 }
 
 add_action('init', 'wp_widgets_init', 1);
index 44bd316fc355a7c0338f858d04d6b2f4d3c414a4..43cf743b77e4047c547f3c7c797a1af23875f863 100644 (file)
@@ -53,7 +53,7 @@ function get_postdata($postid) {
  * Sets up the WordPress Loop.
  *
  * @since 1.0.1
- * @deprecated 1.5
+ * @deprecated 1.5.0
  * @deprecated Use The Loop - {@link http://codex.wordpress.org/The_Loop Use new WordPress Loop}
  */
 function start_wp() {
@@ -121,8 +121,8 @@ function the_category_head($before='', $after='') {
 /**
  * Prints link to the previous post.
  *
- * @since 1.5
- * @deprecated 2.0
+ * @since 1.5.0
+ * @deprecated 2.0.0
  * @deprecated Use previous_post_link()
  * @see previous_post_link()
  *
@@ -159,7 +159,7 @@ function previous_post($format='%', $previous='previous post: ', $title='yes', $
  * Prints link to the next post.
  *
  * @since 0.71
- * @deprecated 2.0
+ * @deprecated 2.0.0
  * @deprecated Use next_post_link()
  * @see next_post_link()
  *
@@ -194,8 +194,8 @@ function next_post($format='%', $next='next post: ', $title='yes', $in_same_cat=
 /**
  * Whether user can create a post.
  *
- * @since 1.5
- * @deprecated 2.0
+ * @since 1.5.0
+ * @deprecated 2.0.0
  * @deprecated Use current_user_can()
  * @see current_user_can()
  *
@@ -214,8 +214,8 @@ function user_can_create_post($user_id, $blog_id = 1, $category_id = 'None') {
 /**
  * Whether user can create a post.
  *
- * @since 1.5
- * @deprecated 2.0
+ * @since 1.5.0
+ * @deprecated 2.0.0
  * @deprecated Use current_user_can()
  * @see current_user_can()
  *
@@ -234,8 +234,8 @@ function user_can_create_draft($user_id, $blog_id = 1, $category_id = 'None') {
 /**
  * Whether user can edit a post.
  *
- * @since 1.5
- * @deprecated 2.0
+ * @since 1.5.0
+ * @deprecated 2.0.0
  * @deprecated Use current_user_can()
  * @see current_user_can()
  *
@@ -263,8 +263,8 @@ function user_can_edit_post($user_id, $post_id, $blog_id = 1) {
 /**
  * Whether user can delete a post.
  *
- * @since 1.5
- * @deprecated 2.0
+ * @since 1.5.0
+ * @deprecated 2.0.0
  * @deprecated Use current_user_can()
  * @see current_user_can()
  *
@@ -283,8 +283,8 @@ function user_can_delete_post($user_id, $post_id, $blog_id = 1) {
 /**
  * Whether user can set new posts' dates.
  *
- * @since 1.5
- * @deprecated 2.0
+ * @since 1.5.0
+ * @deprecated 2.0.0
  * @deprecated Use current_user_can()
  * @see current_user_can()
  *
@@ -303,8 +303,8 @@ function user_can_set_post_date($user_id, $blog_id = 1, $category_id = 'None') {
 /**
  * Whether user can delete a post.
  *
- * @since 1.5
- * @deprecated 2.0
+ * @since 1.5.0
+ * @deprecated 2.0.0
  * @deprecated Use current_user_can()
  * @see current_user_can()
  *
@@ -323,8 +323,8 @@ function user_can_edit_post_date($user_id, $post_id, $blog_id = 1) {
 /**
  * Whether user can delete a post.
  *
- * @since 1.5
- * @deprecated 2.0
+ * @since 1.5.0
+ * @deprecated 2.0.0
  * @deprecated Use current_user_can()
  * @see current_user_can()
  *
@@ -343,8 +343,8 @@ function user_can_edit_post_comments($user_id, $post_id, $blog_id = 1) {
 /**
  * Whether user can delete a post.
  *
- * @since 1.5
- * @deprecated 2.0
+ * @since 1.5.0
+ * @deprecated 2.0.0
  * @deprecated Use current_user_can()
  * @see current_user_can()
  *
@@ -363,8 +363,8 @@ function user_can_delete_post_comments($user_id, $post_id, $blog_id = 1) {
 /**
  * Can user can edit other user.
  *
- * @since 1.5
- * @deprecated 2.0
+ * @since 1.5.0
+ * @deprecated 2.0.0
  * @deprecated Use current_user_can()
  * @see current_user_can()
  *
@@ -387,7 +387,7 @@ function user_can_edit_user($user_id, $other_user) {
  * Gets the links associated with category $cat_name.
  *
  * @since 0.71
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use get_bookmarks()
  * @see get_bookmarks()
  *
@@ -421,7 +421,7 @@ function get_linksbyname($cat_name = "noname", $before = '', $after = '<br />',
  * Gets the links associated with the named category.
  *
  * @since 1.0.1
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use wp_list_bookmarks()
  * @see wp_list_bookmarks()
  *
@@ -459,7 +459,7 @@ function wp_get_linksbyname($category, $args = '') {
  * </code>
  *
  * @since 1.0.1
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use get_bookmarks()
  * @see get_bookmarks()
  *
@@ -512,7 +512,7 @@ function get_linkobjectsbyname($cat_name = "noname" , $orderby = 'name', $limit
  * </ol>
  *
  * @since 1.0.1
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use get_bookmarks()
  * @see get_bookmarks()
  *
@@ -540,7 +540,7 @@ function get_linkobjects($category = 0, $orderby = 'name', $limit = 0) {
  * Gets the links associated with category 'cat_name' and display rating stars/chars.
  *
  * @since 0.71
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use get_bookmarks()
  * @see get_bookmarks()
  *
@@ -568,7 +568,7 @@ function get_linksbyname_withrating($cat_name = "noname", $before = '', $after =
  * Gets the links associated with category n and display rating stars/chars.
  *
  * @since 0.71
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use get_bookmarks()
  * @see get_bookmarks()
  *
@@ -596,7 +596,7 @@ function get_links_withrating($category = -1, $before = '', $after = '<br />', $
  * Gets the auto_toggle setting.
  *
  * @since 0.71
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated No alternative function available
  *
  * @param int $id The category to get. If no category supplied uses 0
@@ -609,7 +609,7 @@ function get_autotoggle($id = 0) {
 
 /**
  * @since 0.71
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use wp_list_categories()
  * @see wp_list_categories()
  *
@@ -644,8 +644,8 @@ function list_cats($optionall = 1, $all = 'All', $sort_column = 'ID', $sort_orde
 }
 
 /**
- * @since 1.2
- * @deprecated 2.1
+ * @since 1.2.0
+ * @deprecated 2.1.0
  * @deprecated Use wp_list_categories()
  * @see wp_list_categories()
  *
@@ -677,7 +677,7 @@ function wp_list_cats($args = '') {
 
 /**
  * @since 0.71
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use wp_dropdown_categories()
  * @see wp_dropdown_categories()
  *
@@ -713,8 +713,10 @@ function dropdown_cats($optionall = 1, $all = 'All', $orderby = 'ID', $order = '
 }
 
 /**
- * @since 1.2
- * @deprecated 2.1
+ * List authors.
+ *
+ * @since 1.2.0
+ * @deprecated 2.1.0
  * @deprecated Use wp_list_authors()
  * @see wp_list_authors()
  *
@@ -735,7 +737,7 @@ function list_authors($optioncount = false, $exclude_admin = true, $show_fullnam
 
 /**
  * @since 1.0.1
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use wp_get_post_categories()
  * @see wp_get_post_categories()
  *
@@ -752,7 +754,7 @@ function wp_get_post_cats($blogid = '1', $post_ID = 0) {
  * Sets the categories that the post id belongs to.
  *
  * @since 1.0.1
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use wp_set_post_categories()
  * @see wp_set_post_categories()
  *
@@ -768,7 +770,7 @@ function wp_set_post_cats($blogid = '1', $post_ID = 0, $post_categories = array(
 
 /**
  * @since 0.71
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use wp_get_archives()
  * @see wp_get_archives()
  *
@@ -789,8 +791,8 @@ function get_archives($type='', $limit='', $format='html', $before = '', $after
 /**
  * Returns or Prints link to the author's posts.
  *
- * @since 1.2
- * @deprecated 2.1
+ * @since 1.2.0
+ * @deprecated 2.1.0
  * @deprecated Use get_author_posts_url()
  * @see get_author_posts_url()
  *
@@ -813,7 +815,7 @@ function get_author_link($echo, $author_id, $author_nicename = '') {
  * Print list of pages based on arguments.
  *
  * @since 0.71
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use wp_link_pages()
  * @see wp_link_pages()
  *
@@ -838,7 +840,7 @@ function link_pages($before='<br />', $after='<br />', $next_or_number='number',
  * Get value based on option.
  *
  * @since 0.71
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use get_option()
  * @see get_option()
  *
@@ -855,7 +857,7 @@ function get_settings($option) {
  * Print the permalink of the current post in the loop.
  *
  * @since 0.71
- * @deprecated 1.2
+ * @deprecated 1.2.0
  * @deprecated Use the_permalink()
  * @see the_permalink()
  */
@@ -868,7 +870,7 @@ function permalink_link() {
  * Print the permalink to the RSS feed.
  *
  * @since 0.71
- * @deprecated 2.3
+ * @deprecated 2.3.0
  * @deprecated Use the_permalink_rss()
  * @see the_permalink_rss()
  *
@@ -884,7 +886,7 @@ function permalink_single_rss($deprecated = '') {
  *
  * @see get_links() for argument information that can be used in $args
  * @since 1.0.1
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use wp_list_bookmarks()
  * @see wp_list_bookmarks()
  *
@@ -924,7 +926,7 @@ function wp_get_links($args = '') {
  * Gets the links associated with category by id.
  *
  * @since 0.71
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use get_bookmarks()
  * @see get_bookmarks()
  *
@@ -1033,7 +1035,7 @@ function get_links($category = -1, $before = '', $after = '<br />', $between = '
  * $wpdb->linkcategories and output it as a nested HTML unordered list.
  *
  * @since 1.0.1
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use wp_list_bookmarks()
  * @see wp_list_bookmarks()
  *
@@ -1076,7 +1078,7 @@ function get_links_list($order = 'name') {
  * Show the link to the links popup and the number of links.
  *
  * @since 0.71
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated {@internal Use function instead is unknown}}
  *
  * @param string $text the text of the link
@@ -1091,7 +1093,7 @@ function links_popup_script($text = 'Links', $width=400, $height=400, $file='lin
 
 /**
  * @since 1.0.1
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use sanitize_bookmark_field()
  * @see sanitize_bookmark_field()
  *
@@ -1107,7 +1109,7 @@ function get_linkrating($link) {
  * Gets the name of category by id.
  *
  * @since 0.71
- * @deprecated 2.1
+ * @deprecated 2.1.0
  * @deprecated Use get_category()
  * @see get_category()
  *
@@ -1137,7 +1139,7 @@ function get_linkcatname($id = 0) {
  * Print RSS comment feed link.
  *
  * @since 1.0.1
- * @deprecated 2.5
+ * @deprecated 2.5.0
  * @deprecated Use post_comments_feed_link()
  * @see post_comments_feed_link()
  *
@@ -1151,8 +1153,8 @@ function comments_rss_link($link_text = 'Comments RSS') {
 /**
  * Print/Return link to category RSS2 feed.
  *
- * @since 1.2
- * @deprecated 2.5
+ * @since 1.2.0
+ * @deprecated 2.5.0
  * @deprecated Use get_category_feed_link()
  * @see get_category_feed_link()
  *
@@ -1173,8 +1175,8 @@ function get_category_rss_link($echo = false, $cat_ID = 1) {
 /**
  * Print/Return link to author RSS feed.
  *
- * @since 1.2
- * @deprecated 2.5
+ * @since 1.2.0
+ * @deprecated 2.5.0
  * @deprecated Use get_author_feed_link()
  * @see get_author_feed_link()
  *
@@ -1194,8 +1196,8 @@ function get_author_rss_link($echo = false, $author_id = 1) {
 /**
  * Return link to the post RSS feed.
  *
- * @since 1.5
- * @deprecated 2.2
+ * @since 1.5.0
+ * @deprecated 2.2.0
  * @deprecated Use get_post_comments_feed_link()
  * @see get_post_comments_feed_link()
  *
@@ -1209,8 +1211,8 @@ function comments_rss() {
 /**
  * An alias of wp_create_user().
  *
- * @since 2.0
- * @deprecated 2.0
+ * @since 2.0.0
+ * @deprecated 2.0.0
  * @deprecated Use wp_create_user()
  * @see wp_create_user()
  *
@@ -1227,7 +1229,7 @@ function create_user($username, $password, $email) {
 /**
  * Unused function.
  *
- * @deprecated 2.5
+ * @deprecated 2.5.0
 */
 function gzip_compression() {
        _deprecated_function( __FUNCTION__, '2.5' );
@@ -1238,7 +1240,7 @@ function gzip_compression() {
  * Retrieve an array of comment data about comment $comment_ID.
  *
  * @since 0.71
- * @deprecated 2.7
+ * @deprecated 2.7.0
  * @deprecated Use get_comment()
  * @see get_comment()
  *
@@ -1256,7 +1258,7 @@ function get_commentdata( $comment_ID, $no_cache = 0, $include_unapproved = fals
  * Retrieve the category name by the category ID.
  *
  * @since 0.71
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use get_cat_name()
  * @see get_cat_name()
  *
@@ -1272,7 +1274,7 @@ function get_catname( $cat_ID ) {
  * Retrieve category children list separated before and after the term IDs.
  *
  * @since 1.2.0
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use get_term_children()
  * @see get_term_children()
  *
@@ -1309,8 +1311,8 @@ function get_category_children( $id, $before = '/', $after = '', $visited = arra
 /**
  * Retrieve the description of the author of the current post.
  *
- * @since 1.5
- * @deprecated 2.8
+ * @since 1.5.0
+ * @deprecated 2.8.0
  * @deprecated Use get_the_author_meta('description')
  * @see get_the_author_meta()
  *
@@ -1325,7 +1327,7 @@ function get_the_author_description() {
  * Display the description of the author of the current post.
  *
  * @since 1.0.0
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use the_author_meta('description')
  * @see the_author_meta()
  */
@@ -1337,8 +1339,8 @@ function the_author_description() {
 /**
  * Retrieve the login name of the author of the current post.
  *
- * @since 1.5
- * @deprecated 2.8
+ * @since 1.5.0
+ * @deprecated 2.8.0
  * @deprecated Use get_the_author_meta('login')
  * @see get_the_author_meta()
  *
@@ -1353,7 +1355,7 @@ function get_the_author_login() {
  * Display the login name of the author of the current post.
  *
  * @since 0.71
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use the_author_meta('login')
  * @see the_author_meta()
  */
@@ -1365,8 +1367,8 @@ function the_author_login() {
 /**
  * Retrieve the first name of the author of the current post.
  *
- * @since 1.5
- * @deprecated 2.8
+ * @since 1.5.0
+ * @deprecated 2.8.0
  * @deprecated Use get_the_author_meta('first_name')
  * @see get_the_author_meta()
  *
@@ -1381,7 +1383,7 @@ function get_the_author_firstname() {
  * Display the first name of the author of the current post.
  *
  * @since 0.71
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use the_author_meta('first_name')
  * @see the_author_meta()
  */
@@ -1393,8 +1395,8 @@ function the_author_firstname() {
 /**
  * Retrieve the last name of the author of the current post.
  *
- * @since 1.5
- * @deprecated 2.8
+ * @since 1.5.0
+ * @deprecated 2.8.0
  * @deprecated Use get_the_author_meta('last_name')
  * @see get_the_author_meta()
  *
@@ -1409,7 +1411,7 @@ function get_the_author_lastname() {
  * Display the last name of the author of the current post.
  *
  * @since 0.71
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use the_author_meta('last_name')
  * @see the_author_meta()
  */
@@ -1421,8 +1423,8 @@ function the_author_lastname() {
 /**
  * Retrieve the nickname of the author of the current post.
  *
- * @since 1.5
- * @deprecated 2.8
+ * @since 1.5.0
+ * @deprecated 2.8.0
  * @deprecated Use get_the_author_meta('nickname')
  * @see get_the_author_meta()
  *
@@ -1437,7 +1439,7 @@ function get_the_author_nickname() {
  * Display the nickname of the author of the current post.
  *
  * @since 0.71
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use the_author_meta('nickname')
  * @see the_author_meta()
  */
@@ -1449,8 +1451,8 @@ function the_author_nickname() {
 /**
  * Retrieve the email of the author of the current post.
  *
- * @since 1.5
- * @deprecated 2.8
+ * @since 1.5.0
+ * @deprecated 2.8.0
  * @deprecated Use get_the_author_meta('email')
  * @see get_the_author_meta()
  *
@@ -1465,7 +1467,7 @@ function get_the_author_email() {
  * Display the email of the author of the current post.
  *
  * @since 0.71
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use the_author_meta('email')
  * @see the_author_meta()
  */
@@ -1477,8 +1479,8 @@ function the_author_email() {
 /**
  * Retrieve the ICQ number of the author of the current post.
  *
- * @since 1.5
- * @deprecated 2.8
+ * @since 1.5.0
+ * @deprecated 2.8.0
  * @deprecated Use get_the_author_meta('icq')
  * @see get_the_author_meta()
  *
@@ -1493,7 +1495,7 @@ function get_the_author_icq() {
  * Display the ICQ number of the author of the current post.
  *
  * @since 0.71
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use the_author_meta('icq')
  * @see the_author_meta()
  */
@@ -1505,8 +1507,8 @@ function the_author_icq() {
 /**
  * Retrieve the Yahoo! IM name of the author of the current post.
  *
- * @since 1.5
- * @deprecated 2.8
+ * @since 1.5.0
+ * @deprecated 2.8.0
  * @deprecated Use get_the_author_meta('yim')
  * @see get_the_author_meta()
  *
@@ -1521,7 +1523,7 @@ function get_the_author_yim() {
  * Display the Yahoo! IM name of the author of the current post.
  *
  * @since 0.71
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use the_author_meta('yim')
  * @see the_author_meta()
  */
@@ -1533,8 +1535,8 @@ function the_author_yim() {
 /**
  * Retrieve the MSN address of the author of the current post.
  *
- * @since 1.5
- * @deprecated 2.8
+ * @since 1.5.0
+ * @deprecated 2.8.0
  * @deprecated Use get_the_author_meta('msn')
  * @see get_the_author_meta()
  *
@@ -1549,7 +1551,7 @@ function get_the_author_msn() {
  * Display the MSN address of the author of the current post.
  *
  * @since 0.71
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use the_author_meta('msn')
  * @see the_author_meta()
  */
@@ -1561,8 +1563,8 @@ function the_author_msn() {
 /**
  * Retrieve the AIM address of the author of the current post.
  *
- * @since 1.5
- * @deprecated 2.8
+ * @since 1.5.0
+ * @deprecated 2.8.0
  * @deprecated Use get_the_author_meta('aim')
  * @see get_the_author_meta()
  *
@@ -1578,7 +1580,7 @@ function get_the_author_aim() {
  *
  * @since 0.71
  * @see the_author_meta()
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use the_author_meta('aim')
  */
 function the_author_aim() {
@@ -1590,7 +1592,7 @@ function the_author_aim() {
  * Retrieve the specified author's preferred display name.
  *
  * @since 1.0.0
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use get_the_author_meta('display_name')
  * @see get_the_author_meta()
  *
@@ -1605,8 +1607,8 @@ function get_author_name( $auth_id = false ) {
 /**
  * Retrieve the URL to the home page of the author of the current post.
  *
- * @since 1.5
- * @deprecated 2.8
+ * @since 1.5.0
+ * @deprecated 2.8.0
  * @deprecated Use get_the_author_meta('url')
  * @see get_the_author_meta()
  *
@@ -1621,7 +1623,7 @@ function get_the_author_url() {
  * Display the URL to the home page of the author of the current post.
  *
  * @since 0.71
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use the_author_meta('url')
  * @see the_author_meta()
  */
@@ -1633,8 +1635,8 @@ function the_author_url() {
 /**
  * Retrieve the ID of the author of the current post.
  *
- * @since 1.5
- * @deprecated 2.8
+ * @since 1.5.0
+ * @deprecated 2.8.0
  * @deprecated Use get_the_author_meta('ID')
  * @see get_the_author_meta()
  *
@@ -1649,7 +1651,7 @@ function get_the_author_ID() {
  * Display the ID of the author of the current post.
  *
  * @since 0.71
- * @deprecated 2.8
+ * @deprecated 2.8.0
  * @deprecated Use the_author_meta('ID')
  * @see the_author_meta()
 */
@@ -1675,8 +1677,6 @@ function the_author_ID() {
  * dots added to the end. If there is content left over, then dots will be added
  * and the rest of the content will be removed.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 0.71
  * @uses apply_filters() Calls 'the_content_rss' on the content before processing.
  *
@@ -1785,7 +1785,7 @@ function _c( $text, $domain = 'default' ) {
  * Translates $text like translate(), but assumes that the text
  * contains a context after its last vertical bar.
  *
- * @since 2.5
+ * @since 2.5.0
  * @uses translate()
  * @deprecated 3.0.0
  * @deprecated Use _x()
@@ -1834,7 +1834,7 @@ function __ngettext() {
 /**
  * Register plural strings in POT file, but don't translate them.
  *
- * @since 2.5
+ * @since 2.5.0
  * @deprecated 2.8.0
  * @deprecated Use _n_noop()
  * @see _n_noop()
@@ -3390,3 +3390,51 @@ function _search_terms_tidy( $t ) {
        _deprecated_function( __FUNCTION__, '3.7' );
        return trim( $t, "\"'\n\r " );
 }
+
+/**
+ * Determine if TinyMCE is available.
+ *
+ * Checks to see if the user has deleted the tinymce files to slim down
+ * their WordPress install.
+ *
+ * @since 2.1.0
+ * @deprecated 3.9.0
+ *
+ * @return bool Whether TinyMCE exists.
+ */
+function rich_edit_exists() {
+       global $wp_rich_edit_exists;
+       _deprecated_function( __FUNCTION__, '3.9' );
+
+       if ( ! isset( $wp_rich_edit_exists ) )
+               $wp_rich_edit_exists = file_exists( ABSPATH . WPINC . '/js/tinymce/tinymce.js' );
+
+       return $wp_rich_edit_exists;
+}
+
+/**
+ * Old callback for tag link tooltips.
+ *
+ * @since 2.7.0
+ * @deprecated 3.9.0
+ * @access private
+ */
+function default_topic_count_text( $count ) {
+       return $count;
+}
+
+/**
+ * Formerly used to escape strings before inserting into the DB.
+ *
+ * Has not performed this function for many, many years. Use wpdb::prepare() instead.
+ *
+ * @since 0.71
+ * @deprecated 3.9.0
+ *
+ * @param string $content The text to format.
+ * @return string The very same text.
+ */
+function format_to_post( $content ) {
+       _deprecated_function( __FUNCTION__, '3.9' );
+       return $content;
+}
index a7777f198a9a226b752311bfffca480bced0f663..13a55a206a599f691c9a7d5d1fde240b8717d202 100644 (file)
@@ -12,7 +12,17 @@ echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '" ?' . '>'
        xmlns="http://www.w3.org/2005/Atom"
        xml:lang="<?php bloginfo_rss( 'language' ); ?>"
        xmlns:thr="http://purl.org/syndication/thread/1.0"
-       <?php do_action('atom_ns'); do_action('atom_comments_ns'); ?>
+       <?php 
+               /** This action is documented in wp-includes/feed-atom.php */
+               do_action( 'atom_ns' ); 
+               
+               /**
+                * Fires inside the feed tag in the Atom comment feed.
+                *
+                * @since 2.8.0
+                */
+               do_action( 'atom_comments_ns' );
+       ?>
 >
        <title type="text"><?php
                if ( is_singular() )
@@ -39,7 +49,14 @@ echo '<?xml version="1.0" encoding="' . get_option('blog_charset') . '" ?' . '>'
        <link rel="self" type="application/atom+xml" href="<?php bloginfo_rss('comments_atom_url'); ?>" />
        <id><?php bloginfo_rss('comments_atom_url'); ?></id>
 <?php } ?>
-<?php do_action('comments_atom_head'); ?>
+<?php 
+       /**
+        * Fires at the end of the Atom comment feed header.
+        *
+        * @since 2.8.0
+        */
+       do_action( 'comments_atom_head' );
+?>
 <?php
 if ( have_comments() ) : while ( have_comments() ) : the_comment();
        $comment_post = $GLOBALS['post'] = get_post( $comment->comment_post_ID );
@@ -80,7 +97,15 @@ if ( have_comments() ) : while ( have_comments() ) : the_comment();
 ?>
                <thr:in-reply-to ref="<?php comment_guid($parent_comment) ?>" href="<?php echo get_comment_link($parent_comment) ?>" type="<?php bloginfo_rss('html_type'); ?>" />
 <?php endif;
-       do_action('comment_atom_entry', $comment->comment_ID, $comment_post->ID);
+       /**
+        * Fires at the end of each Atom comment feed item.
+        *
+        * @since 2.2.0
+        *
+        * @param int $comment_id      ID of the current comment.
+        * @param int $comment_post_id ID of the post the current comment is connected to.
+        */
+       do_action( 'comment_atom_entry', $comment->comment_ID, $comment_post->ID );
 ?>
        </entry>
 <?php endwhile; endif; ?>
index 99e2286ce17482f6df81df8431f18dac9ac0b458..c77abd529ab00b68e644795f26e15e800d023500 100644 (file)
  * Everything will be stripped of tags and characters converted, when the values
  * are retrieved for use in the feeds.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 1.5.1
- * @uses apply_filters() Calls 'get_bloginfo_rss' hook with two parameters.
  * @see get_bloginfo() For the list of possible values to display.
  *
  * @param string $show See get_bloginfo() for possible values.
  */
 function get_bloginfo_rss($show = '') {
        $info = strip_tags(get_bloginfo($show));
-       return apply_filters('get_bloginfo_rss', convert_chars($info), $show);
+       /**
+        * Filter the bloginfo for use in RSS feeds.
+        *
+        * @since 2.2.0
+        *
+        * @see convert_chars()
+        * @see get_bloginfo()
+        *
+        * @param string $info Converted string value of the blog information.
+        * @param string $show The type of blog information to retrieve.
+        */
+       return apply_filters( 'get_bloginfo_rss', convert_chars( $info ), $show );
 }
 
 /**
@@ -37,16 +45,23 @@ function get_bloginfo_rss($show = '') {
  * Everything will be stripped of tags and characters converted, when the values
  * are retrieved for use in the feeds.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 0.71
- * @uses apply_filters() Calls 'bloginfo_rss' hook with two parameters.
  * @see get_bloginfo() For the list of possible values to display.
  *
  * @param string $show See get_bloginfo() for possible values.
  */
 function bloginfo_rss($show = '') {
-       echo apply_filters('bloginfo_rss', get_bloginfo_rss($show), $show);
+       /**
+        * Filter the bloginfo for display in RSS feeds.
+        *
+        * @since 2.1.0
+        *
+        * @see get_bloginfo()
+        *
+        * @param string $rss_container RSS container for the blog information.
+        * @param string $show          The type of blog information to retrieve.
+        */
+       echo apply_filters( 'bloginfo_rss', get_bloginfo_rss( $show ), $show );
 }
 
 /**
@@ -55,26 +70,28 @@ function bloginfo_rss($show = '') {
  * The default feed is 'rss2', unless a plugin changes it through the
  * 'default_feed' filter.
  *
- * @package WordPress
- * @subpackage Feed
- * @since 2.5
+ * @since 2.5.0
  * @uses apply_filters() Calls 'default_feed' hook on the default feed string.
  *
  * @return string Default feed, or for example 'rss2', 'atom', etc.
  */
 function get_default_feed() {
-       $default_feed = apply_filters('default_feed', 'rss2');
+       /**
+        * Filter the default feed type.
+        *
+        * @since 2.5.0
+        *
+        * @param string $feed_type Type of default feed. Possible values include 'rss2', 'atom'.
+        *                          Default 'rss2'.
+        */
+       $default_feed = apply_filters( 'default_feed', 'rss2' );
        return 'rss' == $default_feed ? 'rss2' : $default_feed;
 }
 
 /**
  * Retrieve the blog title for the feed title.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.2.0
- * @uses apply_filters() Calls 'get_wp_title_rss' hook on title.
- * @uses wp_title() See function for $sep parameter usage.
  *
  * @param string $sep Optional.How to separate the title. See wp_title() for more info.
  * @return string Error message on failure or blog title on success.
@@ -83,6 +100,14 @@ function get_wp_title_rss($sep = '&#187;') {
        $title = wp_title($sep, false);
        if ( is_wp_error( $title ) )
                return $title->get_error_message();
+       /**
+        * Filter the blog title for use as the feed title.
+        *
+        * @since 2.2.0
+        *
+        * @param string $title The current blog title.
+        * @param string $sep   Separator used by wp_title().
+        */
        $title = apply_filters( 'get_wp_title_rss', $title, $sep );
        return $title;
 }
@@ -90,39 +115,48 @@ function get_wp_title_rss($sep = '&#187;') {
 /**
  * Display the blog title for display of the feed title.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.2.0
- * @uses apply_filters() Calls 'wp_title_rss' on the blog title.
  * @see wp_title() $sep parameter usage.
  *
  * @param string $sep Optional.
  */
 function wp_title_rss( $sep = '&#187;' ) {
+       /**
+        * Filter the blog title for display of the feed title.
+        *
+        * @since 2.2.0
+        *
+        * @see get_wp_title_rss()
+        *
+        * @param string $wp_title The current blog title.
+        * @param string $sep      Separator used by wp_title().
+        */
        echo apply_filters( 'wp_title_rss', get_wp_title_rss( $sep ), $sep );
 }
 
 /**
  * Retrieve the current post title for the feed.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.0.0
- * @uses apply_filters() Calls 'the_title_rss' on the post title.
  *
  * @return string Current post title.
  */
 function get_the_title_rss() {
        $title = get_the_title();
-       $title = apply_filters('the_title_rss', $title);
+       /**
+        * Filter the post title for use in a feed.
+        *
+        * @since 1.2.0
+        *
+        * @param string $title The current post title.
+        */
+       $title = apply_filters( 'the_title_rss', $title );
        return $title;
 }
 
 /**
  * Display the post title in the feed.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 0.71
  * @uses get_the_title_rss() Used to retrieve current post title.
  */
@@ -133,10 +167,7 @@ function the_title_rss() {
 /**
  * Retrieve the post content for feeds.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.9.0
- * @uses apply_filters() Calls 'the_content_feed' on the content before processing.
  * @see get_the_content()
  *
  * @param string $feed_type The type of feed. rss2 | atom | rss | rdf
@@ -146,16 +177,24 @@ function get_the_content_feed($feed_type = null) {
        if ( !$feed_type )
                $feed_type = get_default_feed();
 
-       $content = apply_filters('the_content', get_the_content());
+       /** This filter is documented in wp-admin/post-template.php */
+       $content = apply_filters( 'the_content', get_the_content() );
        $content = str_replace(']]>', ']]&gt;', $content);
-       return apply_filters('the_content_feed', $content, $feed_type);
+       /**
+        * Filter the post content for use in feeds.
+        *
+        * @since 2.9.0
+        *
+        * @param string $content   The current post content.
+        * @param string $feed_type Type of feed. Possible values include 'rss2', 'atom'.
+        *                          Default 'rss2'.
+        */
+       return apply_filters( 'the_content_feed', $content, $feed_type );
 }
 
 /**
  * Display the post content for feeds.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.9.0
  * @uses apply_filters() Calls 'the_content_feed' on the content before processing.
  * @see get_the_content()
@@ -169,26 +208,34 @@ function the_content_feed($feed_type = null) {
 /**
  * Display the post excerpt for the feed.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 0.71
- * @uses apply_filters() Calls 'the_excerpt_rss' hook on the excerpt.
  */
 function the_excerpt_rss() {
        $output = get_the_excerpt();
-       echo apply_filters('the_excerpt_rss', $output);
+       /**
+        * Filter the post excerpt for a feed.
+        *
+        * @since 1.2.0
+        *
+        * @param string $output The current post excerpt.
+        */
+       echo apply_filters( 'the_excerpt_rss', $output );
 }
 
 /**
  * Display the permalink to the post for use in feeds.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.3.0
- * @uses apply_filters() Call 'the_permalink_rss' on the post permalink
  */
 function the_permalink_rss() {
-       echo esc_url( apply_filters('the_permalink_rss', get_permalink() ));
+       /**
+        * Filter the permalink to the post for use in feeds.
+        *
+        * @since 2.3.0
+        *
+        * @param string $post_permalink The current post permalink.
+        */
+       echo esc_url( apply_filters( 'the_permalink_rss', get_permalink() ) );
 }
 
 /**
@@ -198,14 +245,20 @@ function the_permalink_rss() {
  * @return none
  */
 function comments_link_feed() {
+       /**
+        * Filter the comments permalink for the current post.
+        *
+        * @since 3.6.0
+        *
+        * @param string $comment_permalink The current comment permalink with
+        *                                  '#comments' appended.
+        */
        echo esc_url( apply_filters( 'comments_link_feed', get_comments_link() ) );
 }
 
 /**
  * Display the feed GUID for the current comment.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.5.0
  *
  * @param int|object $comment_id Optional comment object or id. Defaults to global comment object.
@@ -217,8 +270,6 @@ function comment_guid($comment_id = null) {
 /**
  * Retrieve the feed GUID for the current comment.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.5.0
  *
  * @param int|object $comment_id Optional comment object or id. Defaults to global comment object.
@@ -239,29 +290,42 @@ function get_comment_guid($comment_id = null) {
  * @since 1.5.0
  */
 function comment_link() {
+       /**
+        * Filter the current comment's permalink.
+        *
+        * @since 3.6.0
+        *
+        * @see get_comment_link()
+        *
+        * @param string $comment_permalink The current comment permalink.
+        */
        echo esc_url( apply_filters( 'comment_link', get_comment_link() ) );
 }
 
 /**
  * Retrieve the current comment author for use in the feeds.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.0.0
- * @uses apply_filters() Calls 'comment_author_rss' hook on comment author.
  * @uses get_comment_author()
  *
  * @return string Comment Author
  */
 function get_comment_author_rss() {
-       return apply_filters('comment_author_rss', get_comment_author() );
+       /**
+        * Filter the current comment author for use in a feed.
+        *
+        * @since 1.5.0
+        *
+        * @see get_comment_author()
+        *
+        * @param string $comment_author The current comment author.
+        */
+       return apply_filters( 'comment_author_rss', get_comment_author() );
 }
 
 /**
  * Display the current comment author in the feed.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 1.0.0
  */
 function comment_author_rss() {
@@ -271,15 +335,19 @@ function comment_author_rss() {
 /**
  * Display the current comment content for use in the feeds.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 1.0.0
- * @uses apply_filters() Calls 'comment_text_rss' filter on comment content.
  * @uses get_comment_text()
  */
 function comment_text_rss() {
        $comment_text = get_comment_text();
-       $comment_text = apply_filters('comment_text_rss', $comment_text);
+       /**
+        * Filter the current comment content for use in a feed.
+        *
+        * @since 1.5.0
+        *
+        * @param string $comment_text The content of the current comment.
+        */
+       $comment_text = apply_filters( 'comment_text_rss', $comment_text );
        echo $comment_text;
 }
 
@@ -290,10 +358,7 @@ function comment_text_rss() {
  * retrieved and have feed markup added, so that they can easily be added to the
  * RSS2, Atom, or RSS1 and RSS0.91 RDF feeds.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.1.0
- * @uses apply_filters()
  *
  * @param string $type Optional, default is the type returned by get_default_feed().
  * @return string All of the post categories for displaying in the feed.
@@ -324,19 +389,27 @@ function get_the_category_rss($type = null) {
                if ( 'rdf' == $type )
                        $the_list .= "\t\t<dc:subject><![CDATA[$cat_name]]></dc:subject>\n";
                elseif ( 'atom' == $type )
+                       /** This filter is documented in wp-includes/feed.php */
                        $the_list .= sprintf( '<category scheme="%1$s" term="%2$s" />', esc_attr( apply_filters( 'get_bloginfo_rss', get_bloginfo( 'url' ) ) ), esc_attr( $cat_name ) );
                else
                        $the_list .= "\t\t<category><![CDATA[" . @html_entity_decode( $cat_name, ENT_COMPAT, get_option('blog_charset') ) . "]]></category>\n";
        }
 
-       return apply_filters('the_category_rss', $the_list, $type);
+       /**
+        * Filter all of the post categories for display in a feed.
+        *
+        * @since 1.2.0
+        *
+        * @param string $the_list All of the RSS post categories.
+        * @param string $type     Type of feed. Possible values include 'rss2', 'atom'.
+        *                         Default 'rss2'.
+        */
+       return apply_filters( 'the_category_rss', $the_list, $type );
 }
 
 /**
  * Display the post categories in the feed.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 0.71
  * @see get_the_category_rss() For better explanation.
  *
@@ -351,8 +424,6 @@ function the_category_rss($type = null) {
  *
  * The two possible values are either 'xhtml' or 'html'.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.2.0
  */
 function html_type_rss() {
@@ -376,10 +447,7 @@ function html_type_rss() {
  * enclosure(s) consist of enclosure HTML tag(s) with a URI and other
  * attributes.
  *
- * @package WordPress
- * @subpackage Template
  * @since 1.5.0
- * @uses apply_filters() Calls 'rss_enclosure' hook on rss enclosure.
  * @uses get_post_custom() To get the current post enclosure metadata.
  */
 function rss_enclosure() {
@@ -395,7 +463,14 @@ function rss_enclosure() {
                                $t = preg_split('/[ \t]/', trim($enclosure[2]) );
                                $type = $t[0];
 
-                               echo apply_filters('rss_enclosure', '<enclosure url="' . trim(htmlspecialchars($enclosure[0])) . '" length="' . trim($enclosure[1]) . '" type="' . $type . '" />' . "\n");
+                               /**
+                                * Filter the RSS enclosure HTML link tag for the current post.
+                                *
+                                * @since 2.2.0
+                                *
+                                * @param string $html_link_tag The HTML link tag with a URI and other attributes.
+                                */
+                               echo apply_filters( 'rss_enclosure', '<enclosure url="' . trim( htmlspecialchars( $enclosure[0] ) ) . '" length="' . trim( $enclosure[1] ) . '" type="' . $type . '" />' . "\n" );
                        }
                }
        }
@@ -412,10 +487,7 @@ function rss_enclosure() {
  * metadata field and parses the value to display the enclosure(s). The
  * enclosure(s) consist of link HTML tag(s) with a URI and other attributes.
  *
- * @package WordPress
- * @subpackage Template
  * @since 2.2.0
- * @uses apply_filters() Calls 'atom_enclosure' hook on atom enclosure.
  * @uses get_post_custom() To get the current post enclosure metadata.
  */
 function atom_enclosure() {
@@ -426,7 +498,14 @@ function atom_enclosure() {
                if ($key == 'enclosure') {
                        foreach ( (array) $val as $enc ) {
                                $enclosure = explode("\n", $enc);
-                               echo apply_filters('atom_enclosure', '<link href="' . trim(htmlspecialchars($enclosure[0])) . '" rel="enclosure" length="' . trim($enclosure[1]) . '" type="' . trim($enclosure[2]) . '" />' . "\n");
+                               /**
+                                * Filter the atom enclosure HTML link tag for the current post.
+                                *
+                                * @since 2.2.0
+                                *
+                                * @param string $html_link_tag The HTML link tag with a URI and other attributes.
+                                */
+                               echo apply_filters( 'atom_enclosure', '<link href="' . trim( htmlspecialchars( $enclosure[0] ) ) . '" rel="enclosure" length="' . trim( $enclosure[1] ) . '" type="' . trim( $enclosure[2] ) . '" />' . "\n" );
                        }
                }
        }
@@ -444,9 +523,7 @@ function atom_enclosure() {
  *
  * @link http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.3.1
  *
- * @package WordPress
- * @subpackage Feed
- * @since 2.5
+ * @since 2.5.0
  *
  * @param string $data Input string
  * @return array array(type, value)
@@ -482,20 +559,26 @@ function prep_atom_text_construct($data) {
  *
  * Generate a correct link for the atom:self element.
  *
- * @package WordPress
- * @subpackage Feed
- * @since 2.5
+ * @since 2.5.0
  */
 function self_link() {
        $host = @parse_url(home_url());
+       /**
+        * Filter the current feed URL.
+        *
+        * @since 3.6.0
+        *
+        * @see set_url_scheme()
+        * @see wp_unslash()
+        *
+        * @param string $feed_link The link for the feed with set URL scheme.
+        */
        echo esc_url( apply_filters( 'self_link', set_url_scheme( 'http://' . $host['host'] . wp_unslash( $_SERVER['REQUEST_URI'] ) ) ) );
 }
 
 /**
  * Return the content type for specified feed type.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.8.0
  */
 function feed_content_type( $type = '' ) {
@@ -512,13 +595,22 @@ function feed_content_type( $type = '' ) {
 
        $content_type = ( !empty($types[$type]) ) ? $types[$type] : 'application/octet-stream';
 
+       /**
+        * Filter the content type for a specific feed type.
+        *
+        * @since 2.8.0
+        *
+        * @param string $content_type Content type indicating the type of data that a feed contains.
+        * @param string $type         Type of feed. Possible values include 'rss2', 'atom'.
+        *                             Default 'rss2'.
+        */
        return apply_filters( 'feed_content_type', $content_type, $type );
 }
 
 /**
  * Build SimplePie object based on RSS or Atom feed from URL.
  *
- * @since 2.8
+ * @since 2.8.0
  *
  * @param mixed $url URL of feed to retrieve. If an array of URLs, the feeds are merged
  * using SimplePie's multifeed feature.
@@ -540,7 +632,16 @@ function fetch_feed( $url ) {
        $feed->set_file_class( 'WP_SimplePie_File' );
 
        $feed->set_feed_url( $url );
+       /** This filter is documented in wp-includes/class-feed.php */
        $feed->set_cache_duration( apply_filters( 'wp_feed_cache_transient_lifetime', 12 * HOUR_IN_SECONDS, $url ) );
+       /**
+        * Fires just before processing the SimplePie feed object.
+        *
+        * @since 3.0.0
+        *
+        * @param object &$feed SimplePie feed object, passed by reference.
+        * @param mixed  $url   URL of feed to retrieve. If an array of URLs, the feeds are merged.
+        */
        do_action_ref_array( 'wp_feed_options', array( &$feed, $url ) );
        $feed->init();
        $feed->handle_content_type();
index e3e9c345ad2b517ce76d2bc1175749933bbd5f63..69a8a5e26ac0a3fb658f7bf1eedde9dc494edfe7 100644 (file)
Binary files a/wp-includes/fonts/dashicons.eot and b/wp-includes/fonts/dashicons.eot differ
index b9bf073dc9701efffd8a7fdf1e4de127be47268b..369d0c67e7bc3c6adb9cf9546a389d658296c651 100644 (file)
@@ -6,6 +6,19 @@
 <font id="dashiconsregular" horiz-adv-x="2000" >
 <font-face units-per-em="2000" ascent="2000" descent="0" />
 <missing-glyph horiz-adv-x="500" />
+<glyph unicode="&#x2000;" horiz-adv-x="1000" />
+<glyph unicode="&#x2001;" />
+<glyph unicode="&#x2002;" horiz-adv-x="1000" />
+<glyph unicode="&#x2003;" />
+<glyph unicode="&#x2004;" horiz-adv-x="666" />
+<glyph unicode="&#x2005;" horiz-adv-x="500" />
+<glyph unicode="&#x2006;" horiz-adv-x="333" />
+<glyph unicode="&#x2007;" horiz-adv-x="333" />
+<glyph unicode="&#x2008;" horiz-adv-x="250" />
+<glyph unicode="&#x2009;" horiz-adv-x="400" />
+<glyph unicode="&#x200a;" horiz-adv-x="111" />
+<glyph unicode="&#x202f;" horiz-adv-x="400" />
+<glyph unicode="&#x205f;" horiz-adv-x="500" />
 <glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
 <glyph unicode="&#xf100;" d="M1448 894l-707 707l150 150q25 28 85 34.5t134 -11t132 -55.5q45 -30 126.5 -97t164.5 -113q43 -24 73 -38t76.5 -30.5t87.5 -23t95.5 -6t112.5 12.5zM1377 823l-707 707l-177 -177q-29 -29 -29 -70.5t29 -70.5l106 -106q29 -29 29 -71t-29 -71q-27 -27 -61.5 -54 t-86 -63t-73.5 -52q-66 -49 -101 -84q-52 -52 -92 -108.5t-64 -113t-20.5 -108.5t39.5 -88t88 -39.5t108.5 20.5t113 63.5t108.5 91.5q34 34 85 102q13 17 51 72t64 88.5t54 60.5q29 29 70.5 29t70.5 -29l106 -106q29 -29 70.5 -29t70.5 29z" />
 <glyph unicode="&#xf101;" d="M500 1800h900q82 0 141 -59t59 -141v-700q0 -82 -59 -141t-141 -59h-200l-500 -500v500h-200q-82 0 -141 59t-59 141v700q0 82 59 141t141 59z" />
@@ -72,7 +85,7 @@
 <glyph unicode="&#xf174;" d="M600 700h900q41 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.5v1000h-200q-41 0 -70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-200h1300l-400 -700h-900v-100zM550 400q62 0 106 -44t44 -106 t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1450 400q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
 <glyph unicode="&#xf175;" d="M200 1800h1600q41 0 70.5 -29.5t29.5 -70.5v-1400q0 -41 -29.5 -70.5t-70.5 -29.5h-1600q-41 0 -70.5 29.5t-29.5 70.5v1400q0 41 29.5 70.5t70.5 29.5zM1700 400v900h-1400v-900h1400zM400 1200v-100h300v100h-300zM800 1200v-300h800v300h-800zM400 800v-100h300v100 h-300zM800 800v-300h800v300h-800z" />
 <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 1500q102 0 201.5 -27.5t176.5 -71.5t146.5 -97.5t118.5 -107t85.5 -97.5t53.5 -71l18 -28q-6 -10 -18 -28t-53 -70t-86.5 -99.5t-117.5 -105t-147.5 -99t-175.5 -70t-202 -28.5t-201.5 27.5t-176.5 71.5t-146.5 97.5t-118.5 107t-85.5 97.5t-53.5 71l-18 28 q6 10 18 28t53 70t86.5 99.5t117.5 105t147.5 99t175.5 70t202 28.5zM1000 600q77 0 151 22t132 57.5t110 78t89 85t64.5 78t40.5 57.5l13 22q-5 8 -14 22.5t-39.5 56t-64.5 79.5t-88 84t-111 79t-131.5 56t-151.5 23t-151 -22t-132 -57.5t-110 -78t-89 -85t-64.5 -78 t-40.5 -57.5l-13 -22q5 -8 14 -22.5t39.5 -56t64.5 -79.5t88 -84t111 -79t131.5 -56t151.5 -23zM1300 1000q0 124 -88 212t-212 88t-212 -88t-88 -212t88 -212t212 -88t212 88t88 212z" />
+<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="&#xf180;" d="M900 1100v600h-600v-600h600zM1700 1100v600h-600v-600h600zM900 300v600h-600v-600h600zM1700 300v600h-600v-600h600z" />
 <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="&#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 -400v-300l-800 800l800 800v-300l-400 -400h1200z" />
-<glyph unicode="&#xf341;" d="M1400 1500l-500 -500l500 -500v-300l-800 800l800 800v-300z" />
-<glyph unicode="&#xf342;" d="M1800 1000h-300l-400 400v-1200h-200v1200l-400 -400h-300l800 800z" />
-<glyph unicode="&#xf343;" d="M1500 600l-500 500l-500 -500h-300l800 800l800 -800h-300z" />
-<glyph unicode="&#xf344;" d="M1000 200v300l400 400h-1200v200h1200l-400 400v300l800 -800z" />
-<glyph unicode="&#xf345;" d="M600 500l500 500l-500 500v300l800 -800l-800 -800v300z" />
-<glyph unicode="&#xf346;" d="M1500 1000h300l-800 -800l-800 800h300l400 -400v1200h200v-1200z" />
-<glyph unicode="&#xf347;" d="M500 1400l500 -500l500 500h300l-800 -800l-800 800h300z" />
+<glyph unicode="&#xf340;" d="M1800 1100v-200h-1200l400 -400l-100 -200l-700 700l700 700l100 -200l-400 -400h1200z" />
+<glyph unicode="&#xf341;" d="M1400 1500l-500 -500l500 -500l-100 -200l-700 700l700 700z" />
+<glyph unicode="&#xf342;" d="M1100 200h-200v1200l-400 -400l-200 100l700 700l700 -700l-200 -100l-400 400v-1200z" />
+<glyph unicode="&#xf343;" d="M1500 600l-500 500l-500 -500l-200 100l700 700l700 -700z" />
+<glyph unicode="&#xf344;" d="M200 900v200h1200l-400 400l100 200l700 -700l-700 -700l-100 200l400 400h-1200z" />
+<glyph unicode="&#xf345;" d="M600 500l500 500l-500 500l100 200l700 -700l-700 -700z" />
+<glyph unicode="&#xf346;" d="M900 1800h200v-1200l400 400l200 -100l-700 -700l-700 700l200 100l400 -400v1200z" />
+<glyph unicode="&#xf347;" d="M500 1400l500 -500l500 500l200 -100l-700 -700l-700 700z" />
 <glyph unicode="&#xf348;" 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.5zM1100 1400q0 41 -29.5 70.5t-70.5 29.5t-70.5 -29.5t-29.5 -70.5 t29.5 -70.5t70.5 -29.5t70.5 29.5t29.5 70.5zM1100 500v600h-200v-600h200z" />
 <glyph unicode="&#xf349;" d="M2000 1500v300h-2000v-300h2000zM2000 900v300h-2000v-300h2000zM2000 300v300h-2000v-300h2000z" />
 <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="&#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 1400v-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="&#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="&#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="&#xf471;" d="M400 1800h1200q41 0 70.5 -29.5t29.5 -70.5v-1400q0 -41 -29.5 -70.5t-70.5 -29.5h-1200q-41 0 -70.5 29.5t-29.5 70.5v1400q0 41 29.5 70.5t70.5 29.5zM1500 400v1200h-1000v-1200h1000zM600 1500h600l-600 -500v500z" />
 <glyph unicode="&#xf472;" d="M300 1800h1400q41 0 70.5 -29.5t29.5 -70.5v-1000q0 -41 -29.5 -70.5t-70.5 -29.5h-500v-200h200q41 0 70.5 -29.5t29.5 -70.5v-100h-1000v100q0 41 29.5 70.5t70.5 29.5h200v200h-500q-41 0 -70.5 29.5t-29.5 70.5v1000q0 41 29.5 70.5t70.5 29.5zM1600 900v700h-1200 v-700h1200zM500 1500h900l-900 -400v400z" />
 <glyph unicode="&#xf473;" d="M400 1700h1200q82 0 141 -59t59 -141v-700q0 -82 -59 -141t-141 -59h-100l-500 -500v500h-600q-82 0 -141 59t-59 141v700q0 82 59 141t141 59zM1500 1500h-1100v-100h1100v100zM1600 1200h-1200v-100h1200v100zM1300 900h-900v-100h900v100z" />
+<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="&#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="&#xf481;" d="M1190 1961l140 -140q50 -6 123.5 1.5t127 15t113 -4t97.5 -49.5t49.5 -97.5t4 -113t-15 -127t-1.5 -123.5l140 -140q29 -29 29 -70.5t-29 -70.5l-919 -920q-30 -29 -71.5 -29t-70.5 29l-778 778q-29 29 -29 70.5t29 71.5l920 919q29 29 70.5 29t70.5 -29zM1248 1736 l-58 -58l495 -495l58 58q-24 75 -15 182q3 47 9 92q11 73 9 123.5t-26 74.5t-74.5 26t-123.5 -9q-45 -6 -92 -9q-107 -9 -182 15zM1650 1643q29 -29 29 -71t-29 -71t-71 -29t-71 29t-29 71t29 71t71 29t71 -29zM978 1607l-71 -70l637 -637l70 71zM836 1466l-70 -71l636 -636 l71 70zM695 1324l-71 -70l637 -637l70 71zM554 1183l-71 -71l636 -636l71 71zM412 1042l-71 -71l637 -637l71 71z" />
+<glyph unicode="&#xf482;" d="M1200 1100v600q0 83 -58.5 141.5t-141.5 58.5t-141.5 -59.5t-58.5 -140.5v-600q0 -82 59 -141t141 -59q84 0 142 59.5t58 140.5zM1600 1100q0 -221 -142.5 -388t-357.5 -203v-209h200q42 0 71 -29.5t29 -70.5t-29 -70.5t-71 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5 t29.5 70.5t70.5 29.5h200v209q-214 36 -357 203t-143 388q0 41 29.5 70.5t70.5 29.5q42 0 71 -29.5t29 -70.5q0 -166 117.5 -283t282.5 -117q166 0 283 117t117 283q0 41 29.5 70.5t70.5 29.5q42 0 71 -29.5t29 -70.5z" />
+<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="&#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="&#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="&#xf492;" d="M1700 1700v200h-1500v-200h1500zM1700 1300v200h-1500v-200h1500zM1000 900v200h-800v-200h800zM1745 1096l-600 -112q-18 -2 -29 -13q-16 -13 -16 -37v-459q-31 14 -93 14q-81 0 -138 -57q-56 -56 -56 -138q0 -81 56 -137q57 -57 138 -57q73 0 129 48q56 49 65 119v495 l499 111v-348q-42 19 -83 19q-92 0 -149 -57q-57 -56 -57 -137q0 -80 57 -137t138 -57q80 0 137 57t57 137v690q0 25 -16 41q-16 18 -39 15zM800 500v200h-600v-200h600zM600 100v200h-400v-200h400z" />
+<glyph unicode="&#xf493;" d="M1700 1700v200h-1500v-200h1500zM1700 1300v200h-1500v-200h1500zM600 900v200h-400v-200h400zM800 1100h900q41 0 70.5 -29.5t29.5 -70.5v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5zM1100 400l333 200 l-333 200v-400zM600 500v200h-400v-200h400zM600 100v200h-400v-200h400z" />
+<glyph unicode="&#xf494;" d="M900 1400l-400 -400l400 -400l-100 -200l-600 600l600 600zM1100 600l400 400l-400 400l100 200l600 -600l-600 -600z" />
+<glyph unicode="&#xf495;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM1100 1400v300h-600v-300h600zM800 1200v100h-300v-100h300zM1100 1200v100h-200v-100h200zM1500 1200v100h-300v-100h300zM800 1000v100h-300v-100h300zM1100 1000v100h-200v-100h200zM1500 1000v100h-300v-100h300zM800 800 v100h-300v-100h300zM1100 800v100h-200v-100h200zM1500 800v100h-300v-100h300zM800 600v100h-300v-100h300zM1100 600v100h-200v-100h200zM1500 600v100h-300v-100h300zM800 400v100h-300v-100h300zM1100 400v100h-200v-100h200z" />
+<glyph unicode="&#xf496;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM1200 1400h300l-300 300v-300zM1400 600v600h-800v-600h300l-100 -200h100l100 200l100 -200h100l-100 200h300zM800 900q-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.5z M1300 1100v-200h-300v200h300zM1300 800v-100h-600v100h600z" />
+<glyph unicode="&#xf497;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM500 1700v-100h600v100h-600zM1200 1400h300l-300 300v-300zM500 1500v-100h600v100h-600zM1500 1200v100h-1000v-100h1000zM500 1100v-100h400v100h-400zM1500 800v300h-500v-300h500zM500 900v-100h400v100h-400zM1500 600 v100h-1000v-100h1000zM1200 400v100h-700v-100h700z" />
+<glyph unicode="&#xf498;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM1200 1400h300l-300 300v-300z" />
+<glyph unicode="&#xf499;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM900 700l-200 200l200 200l-100 100l-300 -300l300 -300zM1200 600l300 300l-300 300l-100 -100l200 -200l-200 -200z" />
+<glyph unicode="&#xf500;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM1200 1400h300l-300 300v-300zM1300 674v517q0 17 -12 29q-10 12 -27 10q-397 -71 -425 -78q-36 -7 -36 -52v-337q-16 7 -60 7q-57 0 -96 -39q-40 -42 -40 -96q0 -55 40 -95q39 -40 96 -40q65 0 96 26q64 57 64 112v332l300 60 v-230q-87 26 -144 -31q-39 -39 -39 -95t39 -96q40 -39 108 -39q57 0 96 39q40 42 40 96z" />
+<glyph unicode="&#xf501;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM1200 1400h300l-300 300v-300zM800 1650v-200l180 100zM1100 1500l-180 -100l180 -100v200zM800 1350v-200l180 100zM1100 1200l-180 -100l180 -100v200zM800 1050v-200l180 100zM1100 900l-180 -100l180 -100v200zM950 300 q64 0 111.5 48.5t38.5 114.5q-2 17 -14.5 57t-23.5 72l-11 32l-199 110q-45 -195 -52 -271q-5 -59 42 -111t108 -52zM950 539q32 0 54 -22.5t22 -53.5q0 -32 -22 -54.5t-54 -22.5t-54 22.5t-22 54.5q0 31 22 53.5t54 22.5z" />
+<glyph unicode="&#xf502;" d="M1580 1580q157 -158 213 -369t0 -422t-213 -369q-158 -157 -369 -213t-422 0t-369 213q-157 158 -213 369t0 422t213 369q158 157 369 213t422 0t369 -213zM1150 450v400h400v300h-400v400h-300v-400h-400v-300h400v-400h300z" />
+<glyph unicode="&#xf503;" d="M1800 1399l-400 -299v200h-400l-500 -800h-300v200h200l500 800h500v200zM200 1500h300l115 -217l-112 -180l-103 197h-200v200zM1800 599l-400 -299v200h-500l-115 217l112 180l103 -197h400v200z" />
+<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 horiz-adv-x="600" />
 </font>
 </defs></svg> 
\ No newline at end of file
index ccc5f1b877e0a5fef31ec9e2b31c1edaa88070d8..515e640a871fdb668bad5923e8806fa86dbb77a0 100644 (file)
Binary files a/wp-includes/fonts/dashicons.ttf and b/wp-includes/fonts/dashicons.ttf differ
index 5c8d33604c45dad3048980f8b4d89d8ea49533bb..6aeca7939ac735b4abc6a79dc2eae0d9e5f03fc6 100644 (file)
Binary files a/wp-includes/fonts/dashicons.woff and b/wp-includes/fonts/dashicons.woff differ
index c56d82017effc12308156f1d8665f1f64f29932d..5efe0cdadb43e3bd5635e19cf4c83d39831ad79c 100644 (file)
@@ -73,27 +73,58 @@ function wptexturize($text) {
                $static_characters = array_merge( array( '---', ' -- ', '--', ' - ', 'xn&#8211;', '...', '``', '\'\'', ' (tm)' ), $cockney );
                $static_replacements = array_merge( array( $em_dash, ' ' . $em_dash . ' ', $en_dash, ' ' . $en_dash . ' ', 'xn--', '&#8230;', $opening_quote, $closing_quote, ' &#8482;' ), $cockneyreplace );
 
+               /*
+                * Regex for common whitespace characters.
+                *
+                * By default, spaces include new lines, tabs, nbsp entities, and the UTF-8 nbsp.
+                * This is designed to replace the PCRE \s sequence.  In #WP22692, that sequence
+                * was found to be unreliable due to random inclusion of the A0 byte.
+                */
+               $spaces = '[\r\n\t ]|\xC2\xA0|&nbsp;';
+
+
+               // Pattern-based replacements of characters.
                $dynamic = array();
-               if ( "'" != $apos ) {
-                       $dynamic[ '/\'(\d\d(?:&#8217;|\')?s)/' ] = $apos . '$1'; // '99's
-                       $dynamic[ '/\'(\d)/'                   ] = $apos . '$1'; // '99
+
+               // '99 '99s '99's (apostrophe)
+               if ( "'" !== $apos ) {
+                       $dynamic[ '/\'(?=\d)/' ] = $apos;
+               }
+
+               // Single quote at start, or preceded by (, {, <, [, ", or spaces.
+               if ( "'" !== $opening_single_quote ) {
+                       $dynamic[ '/(?<=\A|[([{<"]|' . $spaces . ')\'/' ] = $opening_single_quote;
+               }
+
+               // 9" (double prime)
+               if ( '"' !== $double_prime ) {
+                       $dynamic[ '/(?<=\d)"/' ] = $double_prime;
+               }
+
+               // 9' (prime)
+               if ( "'" !== $prime ) {
+                       $dynamic[ '/(?<=\d)\'/' ] = $prime;
+               }
+
+               // Apostrophe in a word.  No spaces or double primes.
+               if ( "'" !== $apos ) {
+                       $dynamic[ '/(?<!' . $spaces . ')\'(?!\'|' . $spaces . ')/' ] = $apos;
+               }
+
+               // Double quote at start, or preceded by (, {, <, [, or spaces, and not followed by spaces.
+               if ( '"' !== $opening_quote ) {
+                       $dynamic[ '/(?<=\A|[([{<]|' . $spaces . ')"(?!' . $spaces . ')/' ] = $opening_quote;
+               }
+
+               // Any remaining double quotes.
+               if ( '"' !== $closing_quote ) {
+                       $dynamic[ '/"/' ] = $closing_quote;
+               }
+
+               // Single quotes followed by spaces or a period.
+               if ( "'" !== $closing_single_quote ) {
+                       $dynamic[ '/\'(?=\Z|\.|' . $spaces . ')/' ] = $closing_single_quote;
                }
-               if ( "'" != $opening_single_quote )
-                       $dynamic[ '/(\s|\A|[([{<]|")\'/'       ] = '$1' . $opening_single_quote; // opening single quote, even after (, {, <, [
-               if ( '"' != $double_prime )
-                       $dynamic[ '/(\d)"/'                    ] = '$1' . $double_prime; // 9" (double prime)
-               if ( "'" != $prime )
-                       $dynamic[ '/(\d)\'/'                   ] = '$1' . $prime; // 9' (prime)
-               if ( "'" != $apos )
-                       $dynamic[ '/(\S)\'([^\'\s])/'          ] = '$1' . $apos . '$2'; // apostrophe in a word
-               if ( '"' != $opening_quote )
-                       $dynamic[ '/(\s|\A|[([{<])"(?!\s)/'    ] = '$1' . $opening_quote . '$2'; // opening double quote, even after (, {, <, [
-               if ( '"' != $closing_quote )
-                       $dynamic[ '/"(\s|\S|\Z)/'              ] = $closing_quote . '$1'; // closing double quote
-               if ( "'" != $closing_single_quote )
-                       $dynamic[ '/\'([\s.]|\Z)/'             ] = $closing_single_quote . '$1'; // closing single quote
-
-               $dynamic[ '/\b(\d+)x(\d+)\b/'              ] = '$1&#215;$2'; // 9x9 (times)
 
                $dynamic_characters = array_keys( $dynamic );
                $dynamic_replacements = array_values( $dynamic );
@@ -124,8 +155,9 @@ function wptexturize($text) {
        $textarr = preg_split('/(<.*>|\[.*\])/Us', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
 
        foreach ( $textarr as &$curl ) {
-               if ( empty( $curl ) )
+               if ( empty( $curl ) ) {
                        continue;
+               }
 
                // Only call _wptexturize_pushpop_element if first char is correct tag opening
                $first = $curl[0];
@@ -134,11 +166,21 @@ function wptexturize($text) {
                } elseif ( '[' === $first ) {
                        _wptexturize_pushpop_element($curl, $no_texturize_shortcodes_stack, $no_texturize_shortcodes, '[', ']');
                } elseif ( empty($no_texturize_shortcodes_stack) && empty($no_texturize_tags_stack) ) {
+
                        // This is not a tag, nor is the texturization disabled static strings
                        $curl = str_replace($static_characters, $static_replacements, $curl);
+
                        // regular expressions
                        $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
+
+                       // 9x9 (times)
+                       if ( 1 === preg_match( '/(?<=\d)x\d/', $text ) ) {
+                               // Searching for a digit is 10 times more expensive than for the x, so we avoid doing this one!
+                               $curl = preg_replace( '/\b(\d+)x(\d+)\b/', '$1&#215;$2', $curl );
+                       }
                }
+
+               // Replace each & with &#038; unless it already looks like an entity.
                $curl = preg_replace('/&([^#])(?![a-zA-Z1-4]{1,8};)/', '&#038;$1', $curl);
        }
        return implode( '', $textarr );
@@ -179,8 +221,9 @@ function _wptexturize_pushpop_element($text, &$stack, $disabled_elements, $openi
                        $last = array_pop($stack);
 
                        // Make sure it matches the opening tag
-                       if ($last != $matches[1])
-                               array_push($stack, $last);
+                       if ( $last != $matches[1] ) {
+                               array_push( $stack, $last );
+                       }
                }
        }
 }
@@ -234,20 +277,34 @@ function wpautop($pee, $br = true) {
 
        $pee = preg_replace('|<br />\s*<br />|', "\n\n", $pee);
        // Space things out a little
-       $allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|option|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)';
+       $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|noscript|legend|section|article|aside|hgroup|header|footer|nav|figure|details|menu|summary)';
        $pee = preg_replace('!(<' . $allblocks . '[^>]*>)!', "\n$1", $pee);
        $pee = preg_replace('!(</' . $allblocks . '>)!', "$1\n\n", $pee);
        $pee = str_replace(array("\r\n", "\r"), "\n", $pee); // cross-platform newlines
-       if ( strpos($pee, '<object') !== false ) {
-               $pee = preg_replace('|\s*<param([^>]*)>\s*|', "<param$1>", $pee); // no pee inside object/embed
-               $pee = preg_replace('|\s*</embed>\s*|', '</embed>', $pee);
+
+       if ( strpos( $pee, '</object>' ) !== false ) {
+               // no P/BR around param and embed
+               $pee = preg_replace( '|(<object[^>]*>)\s*|', '$1', $pee );
+               $pee = preg_replace( '|\s*</object>|', '</object>', $pee );
+               $pee = preg_replace( '%\s*(</?(?:param|embed)[^>]*>)\s*%', '$1', $pee );
        }
+
+       if ( strpos( $pee, '<source' ) !== false || strpos( $pee, '<track' ) !== false ) {
+               // no P/BR around source and track
+               $pee = preg_replace( '%([<\[](?:audio|video)[^>\]]*[>\]])\s*%', '$1', $pee );
+               $pee = preg_replace( '%\s*([<\[]/(?:audio|video)[>\]])%', '$1', $pee );
+               $pee = preg_replace( '%\s*(<(?:source|track)[^>]*>)\s*%', '$1', $pee );
+       }
+
        $pee = preg_replace("/\n\n+/", "\n\n", $pee); // take care of duplicates
        // make paragraphs, including one at the end
        $pees = preg_split('/\n\s*\n/', $pee, -1, PREG_SPLIT_NO_EMPTY);
        $pee = '';
-       foreach ( $pees as $tinkle )
+
+       foreach ( $pees as $tinkle ) {
                $pee .= '<p>' . trim($tinkle, "\n") . "</p>\n";
+       }
+
        $pee = preg_replace('|<p>\s*</p>|', '', $pee); // under certain strange conditions it could create a P of entirely whitespace
        $pee = preg_replace('!<p>([^<]+)</(div|address|form)>!', "<p>$1</p></$2>", $pee);
        $pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee); // don't pee all over a tag
@@ -256,11 +313,13 @@ function wpautop($pee, $br = true) {
        $pee = str_replace('</blockquote></p>', '</p></blockquote>', $pee);
        $pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)!', "$1", $pee);
        $pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee);
+
        if ( $br ) {
                $pee = preg_replace_callback('/<(script|style).*?<\/\\1>/s', '_autop_newline_preservation_helper', $pee);
                $pee = preg_replace('|(?<!<br />)\s*\n|', "<br />\n", $pee); // optionally make line breaks
                $pee = str_replace('<WPPreserveNewline />', "\n", $pee);
        }
+
        $pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*<br />!', "$1", $pee);
        $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 );
@@ -872,6 +931,7 @@ function sanitize_file_name( $filename ) {
         * @param string $filename_raw  Filename as it was passed into sanitize_file_name().
         */
        $special_chars = apply_filters( 'sanitize_file_name_chars', $special_chars, $filename_raw );
+       $filename = preg_replace( "#\x{00a0}#siu", ' ', $filename );
        $filename = str_replace($special_chars, '', $filename);
        $filename = preg_replace('/[\s-]+/', '-', $filename);
        $filename = trim($filename, '.-_');
@@ -1408,26 +1468,6 @@ function format_to_edit( $content, $richedit = false ) {
        return $content;
 }
 
-/**
- * Holder for the 'format_to_post' filter.
- *
- * @since 0.71
- *
- * @param string $content The text to pass through the filter.
- * @return string Text returned from the 'format_to_post' filter.
- */
-function format_to_post($content) {
-       /**
-        * Filter the string returned by format_to_post().
-        *
-        * @since 1.2.0
-        *
-        * @param string $content The string to format.
-        */
-       $content = apply_filters( 'format_to_post', $content );
-       return $content;
-}
-
 /**
  * Add leading zeros when necessary.
  *
@@ -1466,35 +1506,34 @@ function backslashit($string) {
 /**
  * Appends a trailing slash.
  *
- * Will remove trailing slash if it exists already before adding a trailing
- * slash. This prevents double slashing a string or path.
+ * Will remove trailing forward and backslashes if it exists already before adding
+ * a trailing forward slash. This prevents double slashing a string or path.
  *
  * The primary use of this is for paths and thus should be used for paths. It is
  * not restricted to paths and offers no specific path support.
  *
  * @since 1.2.0
- * @uses untrailingslashit() Unslashes string if it was slashed already.
  *
  * @param string $string What to add the trailing slash to.
  * @return string String with trailing slash added.
  */
-function trailingslashit($string) {
-       return untrailingslashit($string) . '/';
+function trailingslashit( $string ) {
+       return untrailingslashit( $string ) . '/';
 }
 
 /**
- * Removes trailing slash if it exists.
+ * Removes trailing forward slashes and backslashes if they exist.
  *
  * The primary use of this is for paths and thus should be used for paths. It is
  * not restricted to paths and offers no specific path support.
  *
  * @since 2.2.0
  *
- * @param string $string What to remove the trailing slash from.
- * @return string String without the trailing slash.
+ * @param string $string What to remove the trailing slashes from.
+ * @return string String without the trailing slashes.
  */
-function untrailingslashit($string) {
-       return rtrim($string, '/');
+function untrailingslashit( $string ) {
+       return rtrim( $string, '/\\' );
 }
 
 /**
@@ -1742,7 +1781,7 @@ function make_clickable( $text ) {
        }
 
        // Cleanup of accidental links within links
-       $r = preg_replace( '#(<a( [^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i', "$1$3</a>", $r );
+       $r = preg_replace( '#(<a([ \r\n\t]+[^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i', "$1$3</a>", $r );
        return $r;
 }
 
@@ -3415,6 +3454,8 @@ function wp_sprintf_l($pattern, $args) {
 
        /**
         * Filter the translated delimiters used by wp_sprintf_l().
+        * Placeholders (%s) are included to assist translators and then
+        * removed before the array of strings reaches the filter.
         *
         * Please note: Ampersands and entities should be avoided here.
         *
@@ -3423,12 +3464,12 @@ function wp_sprintf_l($pattern, $args) {
         * @param array $delimiters An array of translated delimiters.
         */
        $l = apply_filters( 'wp_sprintf_l', array(
-               /* translators: used between list items, there is a space after the comma */
-               'between'          => __(', '),
-               /* translators: used between list items, there is a space after the and */
-               'between_last_two' => __(', and '),
-               /* translators: used between only two list items, there is a space after the and */
-               'between_only_two' => __(' and '),
+               /* translators: used to join items in a list with more than 2 items */
+               'between'          => sprintf( __('%s, %s'), '', '' ),
+               /* translators: used to join last two items in a list with more than 2 times */
+               'between_last_two' => sprintf( __('%s, and %s'), '', '' ),
+               /* translators: used to join items in a list with only 2 items */
+               'between_only_two' => sprintf( __('%s and %s'), '', '' ),
        ) );
 
        $args = (array) $args;
@@ -3569,6 +3610,10 @@ function normalize_whitespace( $str ) {
 /**
  * Properly strip all HTML tags including script and style
  *
+ * This differs from strip_tags() because it removes the contents of
+ * the <script> and <style> tags. E.g. strip_tags( '<script>something</script>' )
+ * will return 'something'. wp_strip_all_tags will return ''
+ *
  * @since 2.9.0
  *
  * @param string $string String containing HTML tags
@@ -3770,11 +3815,13 @@ function wp_unslash( $value ) {
  * @return string The found URL.
  */
 function get_url_in_content( $content ) {
-       if ( empty( $content ) )
-               return '';
+       if ( empty( $content ) ) {
+               return false;
+       }
 
-       if ( preg_match( '/<a\s[^>]*?href=([\'"])(.+?)\1/is', $content, $matches ) )
+       if ( preg_match( '/<a\s[^>]*?href=([\'"])(.+?)\1/is', $content, $matches ) ) {
                return esc_url_raw( $matches[2] );
+       }
 
        return false;
 }
index 9b0335b684cf2b27b76964168cc536de20cd6929..88e59fb1ac884486a0eebe68ebef2821ecf81eee 100644 (file)
@@ -46,13 +46,14 @@ function mysql2date( $format, $date, $translate = true ) {
  *
  * The 'mysql' type will return the time in the format for MySQL DATETIME field.
  * The 'timestamp' type will return the current timestamp.
+ * Other strings will be interpreted as PHP date formats (e.g. 'Y-m-d').
  *
  * If $gmt is set to either '1' or 'true', then both types will use GMT time.
  * if $gmt is false, the output is adjusted with the GMT offset in the WordPress option.
  *
  * @since 1.0.0
  *
- * @param string $type Either 'mysql' or 'timestamp'.
+ * @param string $type 'mysql', 'timestamp', or PHP date format string (e.g. 'Y-m-d').
  * @param int|bool $gmt Optional. Whether to use GMT timezone. Default is false.
  * @return int|string String if $type is 'gmt', int if $type is 'timestamp'.
  */
@@ -64,6 +65,9 @@ function current_time( $type, $gmt = 0 ) {
                case 'timestamp':
                        return ( $gmt ) ? time() : time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
                        break;
+               default:
+                       return ( $gmt ) ? date( $type ) : date( $type, time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) );
+                       break;
        }
 }
 
@@ -136,8 +140,18 @@ function date_i18n( $dateformatstring, $unixtimestamp = false, $gmt = false ) {
                }
        }
        $j = @$datefunc( $dateformatstring, $i );
-       // allow plugins to redo this entirely for languages with untypical grammars
-       $j = apply_filters('date_i18n', $j, $req_format, $i, $gmt);
+
+       /**
+        * Filter the date formatted based on the locale.
+        *
+        * @since 2.8.0
+        * 
+        * @param string $j          Formatted date string.
+        * @param string $req_format Format to display the date.
+        * @param int    $i          Unix timestamp.
+        * @param bool   $gmt        Whether to convert to GMT for time. Default false.
+        */
+       $j = apply_filters( 'date_i18n', $j, $req_format, $i, $gmt );
        return $j;
 }
 
@@ -153,6 +167,14 @@ function date_i18n( $dateformatstring, $unixtimestamp = false, $gmt = false ) {
 function number_format_i18n( $number, $decimals = 0 ) {
        global $wp_locale;
        $formatted = number_format( $number, absint( $decimals ), $wp_locale->number_format['decimal_point'], $wp_locale->number_format['thousands_sep'] );
+
+       /**
+        * Filter the number formatted based on the locale.
+        *
+        * @since  2.8.0
+        *
+        * @param string $formatted Converted number in string format.
+        */
        return apply_filters( 'number_format_i18n', $formatted );
 }
 
@@ -247,20 +269,24 @@ function maybe_unserialize( $original ) {
  */
 function is_serialized( $data, $strict = true ) {
        // if it isn't a string, it isn't serialized
-       if ( ! is_string( $data ) )
+       if ( ! is_string( $data ) ) {
                return false;
+       }
        $data = trim( $data );
-       if ( 'N;' == $data )
+       if ( 'N;' == $data ) {
                return true;
-       $length = strlen( $data );
-       if ( $length < 4 )
+       }
+       if ( strlen( $data ) < 4 ) {
                return false;
-       if ( ':' !== $data[1] )
+       }
+       if ( ':' !== $data[1] ) {
                return false;
+       }
        if ( $strict ) {
-               $lastc = $data[ $length - 1 ];
-               if ( ';' !== $lastc && '}' !== $lastc )
+               $lastc = substr( $data, -1 );
+               if ( ';' !== $lastc && '}' !== $lastc ) {
                        return false;
+               }
        } else {
                $semicolon = strpos( $data, ';' );
                $brace     = strpos( $data, '}' );
@@ -277,8 +303,9 @@ function is_serialized( $data, $strict = true ) {
        switch ( $token ) {
                case 's' :
                        if ( $strict ) {
-                               if ( '"' !== $data[ $length - 2 ] )
+                               if ( '"' !== substr( $data, -2, 1 ) ) {
                                        return false;
+                               }
                        } elseif ( false === strpos( $data, '"' ) ) {
                                return false;
                        }
@@ -305,22 +332,23 @@ function is_serialized( $data, $strict = true ) {
  */
 function is_serialized_string( $data ) {
        // if it isn't a string, it isn't a serialized string
-       if ( !is_string( $data ) )
+       if ( ! is_string( $data ) ) {
                return false;
+       }
        $data = trim( $data );
-       $length = strlen( $data );
-       if ( $length < 4 )
+       if ( strlen( $data ) < 4 ) {
                return false;
-       elseif ( ':' !== $data[1] )
+       } elseif ( ':' !== $data[1] ) {
                return false;
-       elseif ( ';' !== $data[$length-1] )
+       } elseif ( ';' !== substr( $data, -1 ) ) {
                return false;
-       elseif ( $data[0] !== 's' )
+       } elseif ( $data[0] !== 's' ) {
                return false;
-       elseif ( '"' !== $data[$length-2] )
+       } elseif ( '"' !== substr( $data, -2, 1 ) ) {
                return false;
-       else
+       } else {
                return true;
+       }
 }
 
 /**
@@ -349,8 +377,6 @@ function maybe_serialize( $data ) {
  * If the title element is not part of the XML, then the default post title from
  * the $post_default_title will be used instead.
  *
- * @package WordPress
- * @subpackage XMLRPC
  * @since 0.71
  *
  * @global string $post_default_title Default XMLRPC post title.
@@ -375,8 +401,6 @@ function xmlrpc_getposttitle( $content ) {
  * used. The return type then would be what $post_default_category. If the
  * category is found, then it will always be an array.
  *
- * @package WordPress
- * @subpackage XMLRPC
  * @since 0.71
  *
  * @global string $post_default_category Default XMLRPC post category.
@@ -398,8 +422,6 @@ function xmlrpc_getpostcategory( $content ) {
 /**
  * XMLRPC XML content without title and category elements.
  *
- * @package WordPress
- * @subpackage XMLRPC
  * @since 0.71
  *
  * @param string $content XMLRPC XML Request content
@@ -439,7 +461,6 @@ function wp_extract_urls( $content ) {
  * remove enclosures that are no longer in the post. This is called as
  * pingbacks and trackbacks.
  *
- * @package WordPress
  * @since 1.5.0
  *
  * @uses $wpdb
@@ -867,10 +888,14 @@ function get_status_header_desc( $code ) {
                        415 => 'Unsupported Media Type',
                        416 => 'Requested Range Not Satisfiable',
                        417 => 'Expectation Failed',
+                       418 => 'I\'m a teapot',
                        422 => 'Unprocessable Entity',
                        423 => 'Locked',
                        424 => 'Failed Dependency',
                        426 => 'Upgrade Required',
+                       428 => 'Precondition Required',
+                       429 => 'Too Many Requests',
+                       431 => 'Request Header Fields Too Large',
 
                        500 => 'Internal Server Error',
                        501 => 'Not Implemented',
@@ -880,7 +905,8 @@ function get_status_header_desc( $code ) {
                        505 => 'HTTP Version Not Supported',
                        506 => 'Variant Also Negotiates',
                        507 => 'Insufficient Storage',
-                       510 => 'Not Extended'
+                       510 => 'Not Extended',
+                       511 => 'Network Authentication Required',
                );
        }
 
@@ -909,6 +935,17 @@ function status_header( $code ) {
                $protocol = 'HTTP/1.0';
        $status_header = "$protocol $code $description";
        if ( function_exists( 'apply_filters' ) )
+
+               /**
+                * Filter an HTTP status header.
+                *
+                * @since 2.2.0
+                *
+                * @param string $status_header HTTP status header.
+                * @param int    $code          HTTP status code.
+                * @param string $description   Description for the status code.
+                * @param string $protocol      Server protocol.
+                */
                $status_header = apply_filters( 'status_header', $status_header, $code, $description, $protocol );
 
        @header( $status_header, true, $code );
@@ -932,7 +969,20 @@ function wp_get_nocache_headers() {
        );
 
        if ( function_exists('apply_filters') ) {
-               $headers = (array) apply_filters('nocache_headers', $headers);
+               /**
+                * Filter the cache-controlling headers.
+                *
+                * @since 2.8.0
+                *
+                * @param array $headers {
+                *     Header names and field values.
+                *
+                *     @type string $Expires       Expires header.
+                *     @type string $Cache-Control Cache-Control header.
+                *     @type string $Pragma        Pragma header.
+                * }
+                */
+               $headers = (array) apply_filters( 'nocache_headers', $headers );
        }
        $headers['Last-Modified'] = false;
        return $headers;
@@ -1015,8 +1065,8 @@ function bool_from_yn( $yn ) {
  * It is better to only have one hook for each feed.
  *
  * @since 2.1.0
+ *
  * @uses $wp_query Used to tell if the use a comment feed.
- * @uses do_action() Calls 'do_feed_$feed' hook, if a hook exists for the feed.
  */
 function do_feed() {
        global $wp_query;
@@ -1033,6 +1083,15 @@ function do_feed() {
        if ( ! has_action( $hook ) )
                wp_die( __( 'ERROR: This is not a valid feed template.' ), '', array( 'response' => 404 ) );
 
+       /**
+        * Fires once the given feed is loaded.
+        *
+        * The dynamic hook name, $hook, refers to the feed name.
+        *
+        * @since 2.1.0
+        *
+        * @param bool $is_comment_feed Whether the feed is a comment feed.
+        */
        do_action( $hook, $wp_query->is_comment_feed );
 }
 
@@ -1089,11 +1148,15 @@ function do_feed_atom( $for_comments ) {
  * robots.txt file.
  *
  * @since 2.1.0
- * @uses do_action() Calls 'do_robotstxt' hook for displaying robots.txt rules.
  */
 function do_robots() {
        header( 'Content-Type: text/plain; charset=utf-8' );
 
+       /**
+        * Fires when displaying the robots.txt file.
+        *
+        * @since 2.1.0
+        */
        do_action( 'do_robotstxt' );
 
        $output = "User-agent: *\n";
@@ -1107,7 +1170,15 @@ function do_robots() {
                $output .= "Disallow: $path/wp-includes/\n";
        }
 
-       echo apply_filters('robots_txt', $output, $public);
+       /**
+        * Filter the robots.txt output.
+        *
+        * @since 3.0.0
+        *
+        * @param string $output Robots.txt output.
+        * @param bool   $public Whether the site is considered "public".
+        */
+       echo apply_filters( 'robots_txt', $output, $public );
 }
 
 /**
@@ -1187,14 +1258,12 @@ function is_blog_installed() {
 /**
  * Retrieve URL with nonce added to URL query.
  *
- * @package WordPress
- * @subpackage Security
  * @since 2.0.4
  *
  * @param string $actionurl URL to add nonce action.
  * @param string $action Optional. Nonce action name.
  * @param string $name Optional. Nonce name.
- * @return string URL with nonce action added.
+ * @return string Escaped URL with nonce action added.
  */
 function wp_nonce_url( $actionurl, $action = -1, $name = '_wpnonce' ) {
        $actionurl = str_replace( '&amp;', '&', $actionurl );
@@ -1219,8 +1288,6 @@ function wp_nonce_url( $actionurl, $action = -1, $name = '_wpnonce' ) {
  * The input name will be whatever $name value you gave. The input value will be
  * the nonce creation value.
  *
- * @package WordPress
- * @subpackage Security
  * @since 2.0.4
  *
  * @param string $action Optional. Action name.
@@ -1248,8 +1315,6 @@ function wp_nonce_field( $action = -1, $name = "_wpnonce", $referer = true , $ec
  * The referer link is the current Request URI from the server super global. The
  * input name is '_wp_http_referer', in case you wanted to check manually.
  *
- * @package WordPress
- * @subpackage Security
  * @since 2.0.4
  *
  * @param bool $echo Whether to echo or return the referer field.
@@ -1270,8 +1335,6 @@ function wp_referer_field( $echo = true ) {
  * value of {@link wp_referer_field()}, if that was posted already or it will
  * be the current page, if it doesn't exist.
  *
- * @package WordPress
- * @subpackage Security
  * @since 2.0.4
  *
  * @param bool $echo Whether to echo the original http referer
@@ -1292,8 +1355,6 @@ function wp_original_referer_field( $echo = true, $jump_back_to = 'current' ) {
  * Retrieve referer from '_wp_http_referer' or HTTP referer. If it's the same
  * as the current request URL, will return false.
  *
- * @package WordPress
- * @subpackage Security
  * @since 2.0.4
  *
  * @return string|bool False on failure. Referer URL on success.
@@ -1315,8 +1376,6 @@ function wp_get_referer() {
 /**
  * Retrieve original referer that was posted, if it exists.
  *
- * @package WordPress
- * @subpackage Security
  * @since 2.0.4
  *
  * @return string|bool False if no original referer or original referer if set.
@@ -1433,6 +1492,23 @@ function path_join( $base, $path ) {
        return rtrim($base, '/') . '/' . ltrim($path, '/');
 }
 
+/**
+ * Normalize a filesystem path.
+ *
+ * Replaces backslashes with forward slashes for Windows systems,
+ * and ensures no duplicate slashes exist.
+ *
+ * @since 3.9.0
+ *
+ * @param string $path Path to normalize.
+ * @return string Normalized path.
+ */
+function wp_normalize_path( $path ) {
+       $path = str_replace( '\\', '/', $path );
+       $path = preg_replace( '|/+|','/', $path );
+       return $path;
+}
+
 /**
  * Determines a writable directory for temporary files.
  * Function's preference is the return value of <code>sys_get_temp_dir()</code>,
@@ -1453,17 +1529,17 @@ function get_temp_dir() {
                return trailingslashit(WP_TEMP_DIR);
 
        if ( $temp )
-               return trailingslashit( rtrim( $temp, '\\' ) );
+               return trailingslashit( $temp );
 
        if ( function_exists('sys_get_temp_dir') ) {
                $temp = sys_get_temp_dir();
                if ( @is_dir( $temp ) && wp_is_writable( $temp ) )
-                       return trailingslashit( rtrim( $temp, '\\' ) );
+                       return trailingslashit( $temp );
        }
 
        $temp = ini_get('upload_tmp_dir');
        if ( @is_dir( $temp ) && wp_is_writable( $temp ) )
-               return trailingslashit( rtrim( $temp, '\\' ) );
+               return trailingslashit( $temp );
 
        $temp = WP_CONTENT_DIR . '/';
        if ( is_dir( $temp ) && wp_is_writable( $temp ) )
@@ -1555,7 +1631,6 @@ function win_is_writable( $path ) {
  * 'error' - set to false.
  *
  * @since 2.0.0
- * @uses apply_filters() Calls 'upload_dir' on returned array.
  *
  * @param string $time Optional. Time formatted in 'yyyy/mm'.
  * @return array See above for description.
@@ -1642,6 +1717,14 @@ function wp_upload_dir( $time = null ) {
        $dir .= $subdir;
        $url .= $subdir;
 
+       /**
+        * Filter the uploads directory data.
+        *
+        * @since 2.0.0
+        *
+        * @param array $uploads Array of upload directory data with keys of 'path',
+        *                       'url', 'subdir, 'basedir', and 'error'.
+        */
        $uploads = apply_filters( 'upload_dir',
                array(
                        'path'    => $dir,
@@ -1767,6 +1850,16 @@ function wp_upload_bits( $name, $deprecated, $bits, $time = null ) {
        if ( $upload['error'] !== false )
                return $upload;
 
+       /**
+        * Filter whether to treat the upload bits as an error.
+        *
+        * Passing a non-array to the filter will effectively short-circuit preparing
+        * the upload bits, returning that value instead.
+        *
+        * @since 3.0.0
+        *
+        * @param mixed $upload_bits_error An array of upload bits data, or a non-array error to return.
+        */
        $upload_bits_error = apply_filters( 'wp_upload_bits', array( 'name' => $name, 'bits' => $bits, 'time' => $time ) );
        if ( !is_array( $upload_bits_error ) ) {
                $upload[ 'error' ] = $upload_bits_error;
@@ -1810,15 +1903,25 @@ function wp_upload_bits( $name, $deprecated, $bits, $time = null ) {
 /**
  * Retrieve the file type based on the extension name.
  *
- * @package WordPress
  * @since 2.5.0
- * @uses apply_filters() Calls 'ext2type' hook on default supported types.
  *
  * @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|null The file type, example: audio, video, document, spreadsheet, etc.
+ *                     Null if not found.
  */
 function wp_ext2type( $ext ) {
        $ext = strtolower( $ext );
+
+       /**
+        * Filter file type based on the extension name.
+        *
+        * @since 2.5.0
+        *
+        * @see wp_ext2type()
+        *
+        * @param array $ext2type Multi-dimensional array with extensions for a default set
+        *                        of file types.
+        */
        $ext2type = apply_filters( 'ext2type', array(
                'image'       => array( 'jpg', 'jpeg', 'jpe',  'gif',  'png',  'bmp',   'tif',  'tiff', 'ico' ),
                'audio'       => array( 'aac', 'ac3',  'aif',  'aiff', 'm3a',  'm4a',   'm4b',  'mka',  'mp1',  'mp2',  'mp3', 'ogg', 'oga', 'ram', 'wav', 'wma' ),
@@ -1903,8 +2006,13 @@ function wp_check_filetype_and_ext( $file, $filename, $mimes = null ) {
 
                // If getimagesize() knows what kind of image it really is and if the real MIME doesn't match the claimed MIME
                if ( !empty($imgstats['mime']) && $imgstats['mime'] != $type ) {
-                       // This is a simplified array of MIMEs that getimagesize() can detect and their extensions
-                       // You shouldn't need to use this filter, but it's here just in case
+                       /**
+                        * Filter the list mapping image mime types to their respective extensions.
+                        *
+                        * @since 3.0.0
+                        *
+                        * @param  array $mime_to_ext Array of image mime types and their matching extensions.
+                        */
                        $mime_to_ext = apply_filters( 'getimagesize_mimes_to_exts', array(
                                'image/jpeg' => 'jpg',
                                'image/png'  => 'png',
@@ -1930,8 +2038,18 @@ function wp_check_filetype_and_ext( $file, $filename, $mimes = null ) {
                }
        }
 
-       // Let plugins try and validate other types of files
-       // Should return an array in the style of array( 'ext' => $ext, 'type' => $type, 'proper_filename' => $proper_filename )
+       /**
+        * Filter the "real" file type of the given file.
+        *
+        * @since 3.0.0
+        *
+        * @param array  $wp_check_filetype_and_ext File data array containing 'ext', 'type', and
+        *                                          'proper_filename' keys.
+        * @param string $file                      Full path to the file.
+        * @param string $filename                  The name of the file (may differ from $file due to
+        *                                          $file being in a tmp directory).
+        * @param array  $mimes                     Key is the file extension with value as the mime type.
+        */
        return apply_filters( 'wp_check_filetype_and_ext', compact( 'ext', 'type', 'proper_filename' ), $file, $filename, $mimes );
 }
 
@@ -1940,13 +2058,20 @@ function wp_check_filetype_and_ext( $file, $filename, $mimes = null ) {
  *
  * @since 3.5.0
  *
- * @uses apply_filters() Calls 'mime_types' on returned array. This filter should
- * be used to add types, not remove them. To remove types use the upload_mimes filter.
- *
  * @return array Array of mime types keyed by the file extension regex corresponding to those types.
  */
 function wp_get_mime_types() {
-       // Accepted MIME types are set here as PCRE unless provided.
+       /**
+        * Filter the list of mime types and file extensions.
+        *
+        * This filter should be used to add, not remove, mime types. To remove
+        * mime types, use the 'upload_mimes' filter.
+        *
+        * @since 3.5.0
+        *
+        * @param array $wp_get_mime_types Mime types keyed by the file extension regex
+        *                                 corresponding to those types.
+        */
        return apply_filters( 'mime_types', array(
        // Image formats
        'jpg|jpeg|jpe' => 'image/jpeg',
@@ -1977,6 +2102,7 @@ function wp_get_mime_types() {
        'rtx' => 'text/richtext',
        'css' => 'text/css',
        'htm|html' => 'text/html',
+       'vtt' => 'text/vtt',
        // Audio formats
        'mp3|m4a|m4b' => 'audio/mpeg',
        'ra|ram' => 'audio/x-realaudio',
@@ -2046,7 +2172,6 @@ function wp_get_mime_types() {
  *
  * @since 2.8.6
  *
- * @uses apply_filters() Calls 'upload_mimes' on returned array
  * @uses wp_get_upload_mime_types() to fetch the list of mime types
  *
  * @param int|WP_User $user Optional. User to check. Defaults to current user.
@@ -2062,6 +2187,16 @@ function get_allowed_mime_types( $user = null ) {
        if ( empty( $unfiltered ) )
                unset( $t['htm|html'] );
 
+       /**
+        * Filter list of allowed mime types and file extensions.
+        *
+        * @since 2.0.0
+        *
+        * @param array            $t    Mime types keyed by the file extension regex corresponding to
+        *                               those types. 'swf' and 'exe' removed from full list. 'htm|html' also
+        *                               removed depending on '$user' capabilities.
+        * @param int|WP_User|null $user User ID, User object or null if not provided (indicates current user).
+        */
        return apply_filters( 'upload_mimes', $t, $user );
 }
 
@@ -2071,8 +2206,6 @@ function get_allowed_mime_types( $user = null ) {
  * If the action has the nonce explain message, then it will be displayed along
  * with the "Are you sure?" message.
  *
- * @package WordPress
- * @subpackage Security
  * @since 2.0.4
  *
  * @param string $action The nonce action.
@@ -2081,7 +2214,8 @@ function wp_nonce_ays( $action ) {
        $title = __( 'WordPress Failure Notice' );
        if ( 'log-out' == $action ) {
                $html = sprintf( __( 'You are attempting to log out of %s' ), get_bloginfo( 'name' ) ) . '</p><p>';
-               $html .= sprintf( __( "Do you really want to <a href='%s'>log out</a>?"), wp_logout_url() );
+               $redirect_to = isset( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
+               $html .= sprintf( __( "Do you really want to <a href='%s'>log out</a>?"), wp_logout_url( $redirect_to ) );
        } else {
                $html = __( 'Are you sure you want to do this?' );
                if ( wp_get_referer() )
@@ -2107,12 +2241,34 @@ function wp_nonce_ays( $action ) {
  * @param string|array $args Optional arguments to control behavior.
  */
 function wp_die( $message = '', $title = '', $args = array() ) {
-       if ( defined( 'DOING_AJAX' ) && DOING_AJAX )
+       if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
+               /**
+                * Filter callback for killing WordPress execution for AJAX requests.
+                *
+                * @since 3.4.0
+                *
+                * @param callback $function Callback function name.
+                */
                $function = apply_filters( 'wp_die_ajax_handler', '_ajax_wp_die_handler' );
-       elseif ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST )
+       } elseif ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST ) {
+               /**
+                * Filter callback for killing WordPress execution for XML-RPC requests.
+                *
+                * @since 3.4.0
+                *
+                * @param callback $function Callback function name.
+                */
                $function = apply_filters( 'wp_die_xmlrpc_handler', '_xmlrpc_wp_die_handler' );
-       else
+       } else {
+               /**
+                * Filter callback for killing WordPress execution for all non-AJAX, non-XML-RPC requests.
+                *
+                * @since 3.0.0
+                *
+                * @param callback $function Callback function name.
+                */
                $function = apply_filters( 'wp_die_handler', '_default_wp_die_handler' );
+       }
 
        call_user_func( $function, $message, $title, $args );
 }
@@ -2188,11 +2344,11 @@ function _default_wp_die_handler( $message, $title = '', $args = array() ) {
        <title><?php echo $title ?></title>
        <style type="text/css">
                html {
-                       background: #eee;
+                       background: #f1f1f1;
                }
                body {
                        background: #fff;
-                       color: #333;
+                       color: #444;
                        font-family: "Open Sans", sans-serif;
                        margin: 2em auto;
                        padding: 1em 2em;
@@ -2409,7 +2565,6 @@ function wp_send_json_error( $data = null ) {
  * development environment.
  *
  * @access private
- * @package WordPress
  * @since 2.2.0
  *
  * @param string $url URL for the home location
@@ -2429,7 +2584,6 @@ function _config_wp_home( $url = '' ) {
  * your localhost while not having to change the database to your URL.
  *
  * @access private
- * @package WordPress
  * @since 2.2.0
  *
  * @param string $url URL to set the WordPress site location.
@@ -2447,22 +2601,21 @@ function _config_wp_siteurl( $url = '' ) {
  * Will only set the direction to 'rtl', if the WordPress locale has the text
  * direction set to 'rtl'.
  *
- * Fills in the 'directionality', 'plugins', and 'theme_advanced_button1' array
- * keys. These keys are then returned in the $input array.
+ * Fills in the 'directionality' setting, enables the 'directionality' plugin,
+ * and adds the 'ltr' button to 'toolbar1', formerly 'theme_advanced_buttons1' array
+ * keys. These keys are then returned in the $input (TinyMCE settings) array.
  *
  * @access private
- * @package WordPress
- * @subpackage MCE
  * @since 2.1.0
  *
- * @param array $input MCE plugin array.
+ * @param array $input MCE settings array.
  * @return array Direction set for 'rtl', if needed by locale.
  */
 function _mce_set_direction( $input ) {
        if ( is_rtl() ) {
                $input['directionality'] = 'rtl';
                $input['plugins'] .= ',directionality';
-               $input['theme_advanced_buttons1'] .= ',ltr';
+               $input['toolbar1'] .= ',ltr';
        }
 
        return $input;
@@ -2738,8 +2891,17 @@ function wp_list_pluck( $list, $field ) {
  * @uses add_action() Calls '_admin_menu' hook with 'wp_widgets_add_menu' value.
  */
 function wp_maybe_load_widgets() {
-       if ( ! apply_filters('load_default_widgets', true) )
+       /**
+        * Filter whether to load the Widgets library.
+        *
+        * @since 2.8.0
+        *
+        * @param bool $wp_maybe_load_widgets Whether to load the Widgets library.
+        *                                    Default true.
+        */
+       if ( ! apply_filters( 'load_default_widgets', true ) ) {
                return;
+       }
        require_once( ABSPATH . WPINC . '/default-widgets.php' );
        add_action( '_admin_menu', 'wp_widgets_add_menu' );
 }
@@ -2793,6 +2955,8 @@ function wp_ob_end_flush_all() {
 function dead_db() {
        global $wpdb;
 
+       wp_load_translations_early();
+
        // Load custom DB error template, if present.
        if ( file_exists( WP_CONTENT_DIR . '/db-error.php' ) ) {
                require_once( WP_CONTENT_DIR . '/db-error.php' );
@@ -2807,8 +2971,6 @@ function dead_db() {
        status_header( 500 );
        nocache_headers();
        header( 'Content-Type: text/html; charset=utf-8' );
-
-       wp_load_translations_early();
 ?>
 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml"<?php if ( is_rtl() ) echo ' dir="rtl"'; ?>>
@@ -2883,25 +3045,33 @@ function url_is_accessable_via_ssl($url)
  *
  * This function is to be used in every function that is deprecated.
  *
- * @package WordPress
- * @subpackage Debug
  * @since 2.5.0
  * @access private
  *
- * @uses do_action() Calls 'deprecated_function_run' and passes the function name, what to use instead,
- *   and the version the function was deprecated in.
- * @uses apply_filters() Calls 'deprecated_function_trigger_error' and expects boolean value of true to do
- *   trigger or false to not trigger error.
- *
  * @param string $function The function that was called
  * @param string $version The version of WordPress that deprecated the function
  * @param string $replacement Optional. The function that should have been called
  */
 function _deprecated_function( $function, $version, $replacement = null ) {
 
+       /**
+        * Fires when a deprecated function is called.
+        *
+        * @since 2.5.0
+        *
+        * @param string $function    The function that was called.
+        * @param string $replacement The function that should have been called.
+        * @param string $version     The version of WordPress that deprecated the function.
+        */
        do_action( 'deprecated_function_run', $function, $replacement, $version );
 
-       // Allow plugin to filter the output error trigger
+       /**
+        * Filter whether to trigger an error for deprecated functions.
+        *
+        * @since 2.5.0
+        *
+        * @param bool $trigger Whether to trigger the error for deprecated functions. Default true.
+        */
        if ( WP_DEBUG && apply_filters( 'deprecated_function_trigger_error', true ) ) {
                if ( function_exists( '__' ) ) {
                        if ( ! is_null( $replacement ) )
@@ -2928,16 +3098,9 @@ function _deprecated_function( $function, $version, $replacement = null ) {
  *
  * This function is to be used in every file that is deprecated.
  *
- * @package WordPress
- * @subpackage Debug
  * @since 2.5.0
  * @access private
  *
- * @uses do_action() Calls 'deprecated_file_included' and passes the file name, what to use instead,
- *   the version in which the file was deprecated, and any message regarding the change.
- * @uses apply_filters() Calls 'deprecated_file_trigger_error' and expects boolean value of true to do
- *   trigger or false to not trigger error.
- *
  * @param string $file The file that was included
  * @param string $version The version of WordPress that deprecated the file
  * @param string $replacement Optional. The file that should have been included based on ABSPATH
@@ -2945,9 +3108,25 @@ function _deprecated_function( $function, $version, $replacement = null ) {
  */
 function _deprecated_file( $file, $version, $replacement = null, $message = '' ) {
 
+       /**
+        * Fires when a deprecated file is called.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file        The file that was called.
+        * @param string $replacement The file that should have been included based on ABSPATH.
+        * @param string $version     The version of WordPress that deprecated the file.
+        * @param string $message     A message regarding the change.
+        */
        do_action( 'deprecated_file_included', $file, $replacement, $version, $message );
 
-       // Allow plugin to filter the output error trigger
+       /**
+        * Filter whether to trigger an error for deprecated files.
+        *
+        * @since 2.5.0
+        *
+        * @param bool $trigger Whether to trigger the error for deprecated files. Default true.
+        */
        if ( WP_DEBUG && apply_filters( 'deprecated_file_trigger_error', true ) ) {
                $message = empty( $message ) ? '' : ' ' . $message;
                if ( function_exists( '__' ) ) {
@@ -2981,25 +3160,33 @@ function _deprecated_file( $file, $version, $replacement = null, $message = '' )
  *
  * The current behavior is to trigger a user error if WP_DEBUG is true.
  *
- * @package WordPress
- * @subpackage Debug
  * @since 3.0.0
  * @access private
  *
- * @uses do_action() Calls 'deprecated_argument_run' and passes the function name, a message on the change,
- *   and the version in which the argument was deprecated.
- * @uses apply_filters() Calls 'deprecated_argument_trigger_error' and expects boolean value of true to do
- *   trigger or false to not trigger error.
- *
  * @param string $function The function that was called
  * @param string $version The version of WordPress that deprecated the argument used
  * @param string $message Optional. A message regarding the change.
  */
 function _deprecated_argument( $function, $version, $message = null ) {
 
+       /**
+        * Fires when a deprecated argument is called.
+        *
+        * @since 3.0.0
+        *
+        * @param string $function The function that was called.
+        * @param string $message  A message regarding the change.
+        * @param string $version  The version of WordPress that deprecated the argument used.
+        */
        do_action( 'deprecated_argument_run', $function, $message, $version );
 
-       // Allow plugin to filter the output error trigger
+       /**
+        * Filter whether to trigger an error for deprecated arguments.
+        *
+        * @since 3.0.0
+        *
+        * @param bool $trigger Whether to trigger the error for deprecated arguments. Default true.
+        */
        if ( WP_DEBUG && apply_filters( 'deprecated_argument_trigger_error', true ) ) {
                if ( function_exists( '__' ) ) {
                        if ( ! is_null( $message ) )
@@ -3024,24 +3211,33 @@ function _deprecated_argument( $function, $version, $message = null ) {
  *
  * The current behavior is to trigger a user error if WP_DEBUG is true.
  *
- * @package WordPress
- * @subpackage Debug
  * @since 3.1.0
  * @access private
  *
- * @uses do_action() Calls 'doing_it_wrong_run' and passes the function arguments.
- * @uses apply_filters() Calls 'doing_it_wrong_trigger_error' and expects boolean value of true to do
- *   trigger or false to not trigger error.
- *
  * @param string $function The function that was called.
  * @param string $message A message explaining what has been done incorrectly.
  * @param string $version The version of WordPress where the message was added.
  */
 function _doing_it_wrong( $function, $message, $version ) {
 
+       /**
+        * Fires when the given function is being used incorrectly.
+        *
+        * @since 3.1.0
+        *
+        * @param string $function The function that was called.
+        * @param string $message  A message explaining what has been done incorrectly.
+        * @param string $version  The version of WordPress where the message was added.
+        */
        do_action( 'doing_it_wrong_run', $function, $message, $version );
 
-       // Allow plugin to filter the output error trigger
+       /**
+        * Filter whether to trigger an error for _doing_it_wrong() calls.
+        *
+        * @since 3.1.0
+        *
+        * @param bool $trigger Whether to trigger the error for _doing_it_wrong() calls. Default true.
+        */
        if ( WP_DEBUG && apply_filters( 'doing_it_wrong_trigger_error', true ) ) {
                if ( function_exists( '__' ) ) {
                        $version = is_null( $version ) ? '' : sprintf( __( '(This message was added in version %s.)' ), $version );
@@ -3121,7 +3317,14 @@ function iis7_supports_permalinks() {
                $supports_permalinks = class_exists('DOMDocument') && isset($_SERVER['IIS_UrlRewriteModule']) && ( php_sapi_name() == 'cgi-fcgi' );
        }
 
-       return apply_filters('iis7_supports_permalinks', $supports_permalinks);
+       /**
+        * Filter whether IIS 7+ supports pretty permalinks.
+        *
+        * @since 2.8.0
+        *
+        * @param bool $supports_permalinks Whether IIS7 supports permalinks. Default false.
+        */
+       return apply_filters( 'iis7_supports_permalinks', $supports_permalinks );
 }
 
 /**
@@ -3369,7 +3572,6 @@ function is_main_network( $network_id = null ) {
  *
  *
  * @since 3.0.0
- * @package WordPress
  *
  * @return bool True if multisite and global terms enabled
  */
@@ -3379,6 +3581,17 @@ function global_terms_enabled() {
 
        static $global_terms = null;
        if ( is_null( $global_terms ) ) {
+
+               /**
+                * Filter whether global terms are enabled.
+                *
+                * Passing a non-null value to the filter will effectively short-circuit the function,
+                * returning the value of the 'global_terms_enabled' site option instead.
+                *
+                * @since 3.0.0
+                *
+                * @param null $anbled Whether global terms are enabled.
+                */
                $filter = apply_filters( 'global_terms_enabled', null );
                if ( ! is_null( $filter ) )
                        $global_terms = (bool) $filter;
@@ -3674,6 +3887,16 @@ function get_file_data( $file, $default_headers, $context = '' ) {
        // Make sure we catch CR-only line endings.
        $file_data = str_replace( "\r", "\n", $file_data );
 
+       /**
+        * Filter extra file headers by context.
+        *
+        * The dynamic portion of the hook name, $context, refers to the context
+        * where extra headers might be loaded.
+        *
+        * @since 2.9.0
+        *
+        * @param array $extra_context_headers Empty array by default.
+        */
        if ( $context && $extra_headers = apply_filters( "extra_{$context}_headers", array() ) ) {
                $extra_headers = array_combine( $extra_headers, $extra_headers ); // keys equal values
                $all_headers = array_merge( $extra_headers, (array) $default_headers );
@@ -3895,6 +4118,14 @@ function wp_allowed_protocols() {
 
        if ( empty( $protocols ) ) {
                $protocols = array( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn', 'tel', 'fax', 'xmpp' );
+
+               /**
+                * Filter the list of protocols allowed in HTML attributes.
+                * 
+                * @since 3.0.0 
+                *
+                * @param array $protocols Array of allowed protocols e.g. 'http', 'ftp', 'tel', and more.
+                */
                $protocols = apply_filters( 'kses_allowed_protocols', $protocols );
        }
 
@@ -4012,6 +4243,14 @@ function wp_is_stream( $path ) {
  * @return bool true|false
  */
 function wp_checkdate( $month, $day, $year, $source_date ) {
+       /**
+        * Filter whether the given date is valid for the Gregorian calendar.
+        *
+        * @since 3.5.0
+        *
+        * @param bool   $checkdate   Whether the given date is valid.
+        * @param string $source_date Date to check.
+        */
        return apply_filters( 'wp_checkdate', checkdate( $month, $day, $year ), $source_date );
 }
 
@@ -4037,6 +4276,14 @@ function wp_auth_check_load() {
        $hidden = array( 'update', 'update-network', 'update-core', 'update-core-network', 'upgrade', 'upgrade-network', 'network' );
        $show = ! in_array( $screen->id, $hidden );
 
+       /**
+        * Filter whether to load the authentication check.
+        *
+        * @since 3.6.0
+        *
+        * @param bool      $show   Whether to load the authentication check.
+        * @param WP_Screen $screen The current screen object.
+        */
        if ( apply_filters( 'wp_auth_check_load', $show, $screen ) ) {
                wp_enqueue_style( 'wp-auth-check' );
                wp_enqueue_script( 'wp-auth-check' );
@@ -4059,7 +4306,13 @@ function wp_auth_check_html() {
        if ( $same_domain && force_ssl_login() && ! force_ssl_admin() )
                $same_domain = false;
 
-       // Let plugins change this if they know better.
+       /**
+        * Filter whether the authentication check originated at the same domain.
+        *
+        * @since 3.6.0
+        *
+        * @param bool $same_domain Whether the authentication check originated at the same domain.
+        */
        $same_domain = apply_filters( 'wp_auth_check_same_domain', $same_domain );
        $wrap_class = $same_domain ? 'hidden' : 'hidden fallback';
 
@@ -4095,7 +4348,7 @@ function wp_auth_check_html() {
  *
  * @since 3.6.0
  */
-function wp_auth_check( $response, $data ) {
+function wp_auth_check( $response ) {
        $response['wp-auth-check'] = is_user_logged_in() && empty( $GLOBALS['login_grace_period'] );
        return $response;
 }
index 7a83579c97f79b0e325356d294c02d2e9a601f40..f4d6f37d66bb94f6b271591d3b7e0b5e4d9484b1 100644 (file)
  * For the parameter, if the file is called "header-special.php" then specify
  * "special".
  *
- * @uses locate_template()
  * @since 1.5.0
- * @uses do_action() Calls 'get_header' action.
+ *
+ * @uses locate_template()
  *
  * @param string $name The name of the specialised header.
  */
 function get_header( $name = null ) {
+       /**
+        * Fires before the header template file is loaded.
+        *
+        * The hook allows a specific header template file to be used in place of the
+        * default header template file. If your file is called header-new.php,
+        * you would specify the filename in the hook as get_header( 'new' ).
+        *
+        * @since 2.1.0
+        * @since 2.8.0 $name parameter added.
+        *
+        * @param string $name Name of the specific header file to use.
+        */
        do_action( 'get_header', $name );
 
        $templates = array();
@@ -45,13 +57,25 @@ function get_header( $name = null ) {
  * For the parameter, if the file is called "footer-special.php" then specify
  * "special".
  *
- * @uses locate_template()
  * @since 1.5.0
- * @uses do_action() Calls 'get_footer' action.
+ *
+ * @uses locate_template()
  *
  * @param string $name The name of the specialised footer.
  */
 function get_footer( $name = null ) {
+       /**
+        * Fires before the footer template file is loaded.
+        *
+        * The hook allows a specific footer template file to be used in place of the
+        * default footer template file. If your file is called footer-new.php,
+        * you would specify the filename in the hook as get_footer( 'new' ).
+        *
+        * @since 2.1.0
+        * @since 2.8.0 $name parameter added.
+        *
+        * @param string $name Name of the specific footer file to use.
+        */
        do_action( 'get_footer', $name );
 
        $templates = array();
@@ -75,13 +99,25 @@ function get_footer( $name = null ) {
  * For the parameter, if the file is called "sidebar-special.php" then specify
  * "special".
  *
- * @uses locate_template()
  * @since 1.5.0
- * @uses do_action() Calls 'get_sidebar' action.
+ *
+ * @uses locate_template()
  *
  * @param string $name The name of the specialised sidebar.
  */
 function get_sidebar( $name = null ) {
+       /**
+        * Fires before the sidebar template file is loaded.
+        *
+        * The hook allows a specific sidebar template file to be used in place of the
+        * default sidebar template file. If your file is called sidebar-new.php,
+        * you would specify the filename in the hook as get_sidebar( 'new' ).
+        *
+        * @since 2.2.0
+        * @since 2.8.0 $name parameter added.
+        *
+        * @param string $name Name of the specific sidebar file to use.
+        */
        do_action( 'get_sidebar', $name );
 
        $templates = array();
@@ -112,14 +148,25 @@ function get_sidebar( $name = null ) {
  * For the $name parameter, if the file is called "{slug}-special.php" then specify
  * "special".
  *
- * @uses locate_template()
  * @since 3.0.0
- * @uses do_action() Calls 'get_template_part_{$slug}' action.
+ *
+ * @uses locate_template()
  *
  * @param string $slug The slug name for the generic template.
  * @param string $name The name of the specialised template.
  */
 function get_template_part( $slug, $name = null ) {
+       /**
+        * Fires before the specified template part file is loaded.
+        *
+        * The dynamic portion of the hook name, $slug, refers to the slug name
+        * for the generic template part.
+        *
+        * @since 3.0.0
+        *
+        * @param string $slug The slug name for the generic template.
+        * @param string $name The name of the specialized template.
+        */
        do_action( "get_template_part_{$slug}", $slug, $name );
 
        $templates = array();
@@ -150,16 +197,31 @@ function get_template_part( $slug, $name = null ) {
  * search. To give a few examples of what it can be used for.
  *
  * @since 2.7.0
- * @uses apply_filters() Calls 'search_form_format' filter to determine which type to use for the search field.
- *  If set to 'html5', it changes to search input type and adds placeholder text.
  *
  * @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.
  */
 function get_search_form( $echo = true ) {
+       /**
+        * Fires before the search form is retrieved, at the start of get_search_form().
+        *
+        * @since 2.7.0 as 'get_search_form' action.
+        * @since 3.6.0
+        *
+        * @link https://core.trac.wordpress.org/ticket/19321
+        */
        do_action( 'pre_get_search_form' );
 
        $format = current_theme_supports( 'html5', 'search-form' ) ? 'html5' : 'xhtml';
+
+       /**
+        * Filter the HTML format of the search form.
+        *
+        * @since 3.6.0
+        *
+        * @param string $format The type of markup to use in the search form.
+        *                       Accepts 'html5', 'xhtml'.
+        */
        $format = apply_filters( 'search_form_format', $format );
 
        $search_form_template = locate_template( 'searchform.php' );
@@ -187,7 +249,15 @@ function get_search_form( $echo = true ) {
                }
        }
 
+       /**
+        * Filter the HTML output of the search form.
+        *
+        * @since 2.7.0
+        *
+        * @param string $form The search form HTML output.
+        */
        $result = apply_filters( 'get_search_form', $form );
+
        if ( null === $result )
                $result = $form;
 
@@ -204,7 +274,6 @@ function get_search_form( $echo = true ) {
  * or log out depending on whether they are currently logged in.
  *
  * @since 1.5.0
- * @uses apply_filters() Calls 'loginout' hook on HTML link content.
  *
  * @param string $redirect Optional path to redirect to on login/logout.
  * @param boolean $echo Default to echo and not return the link.
@@ -216,10 +285,19 @@ function wp_loginout($redirect = '', $echo = true) {
        else
                $link = '<a href="' . esc_url( wp_logout_url($redirect) ) . '">' . __('Log out') . '</a>';
 
-       if ( $echo )
-               echo apply_filters('loginout', $link);
-       else
-               return apply_filters('loginout', $link);
+       if ( $echo ) {
+               /**
+                * Filter the HTML output for the Log In/Log Out link.
+                *
+                * @since 1.5.0
+                *
+                * @param string $link The HTML link content.
+                */
+               echo apply_filters( 'loginout', $link );
+       } else {
+               /** This filter is documented in wp-includes/general-template.php */
+               return apply_filters( 'loginout', $link );
+       }
 }
 
 /**
@@ -228,9 +306,9 @@ function wp_loginout($redirect = '', $echo = true) {
  * Returns the URL that allows the user to log out of the site.
  *
  * @since 2.7.0
+ *
  * @uses wp_nonce_url() To protect against CSRF.
  * @uses site_url() To generate the log out URL.
- * @uses apply_filters() calls 'logout_url' hook on final logout URL.
  *
  * @param string $redirect Path to redirect to on logout.
  * @return string A log out URL.
@@ -244,7 +322,15 @@ function wp_logout_url($redirect = '') {
        $logout_url = add_query_arg($args, site_url('wp-login.php', 'login'));
        $logout_url = wp_nonce_url( $logout_url, 'log-out' );
 
-       return apply_filters('logout_url', $logout_url, $redirect);
+       /**
+        * Filter the logout URL.
+        *
+        * @since 2.8.0
+        *
+        * @param string $logout_url The Log Out URL.
+        * @param string $redirect   Path to redirect to on logout.
+        */
+       return apply_filters( 'logout_url', $logout_url, $redirect );
 }
 
 /**
@@ -253,8 +339,8 @@ function wp_logout_url($redirect = '') {
  * Returns the URL that allows the user to log in to the site.
  *
  * @since 2.7.0
+ *
  * @uses site_url() To generate the log in URL.
- * @uses apply_filters() calls 'login_url' hook on final login URL.
  *
  * @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.
@@ -269,7 +355,15 @@ function wp_login_url($redirect = '', $force_reauth = false) {
        if ( $force_reauth )
                $login_url = add_query_arg('reauth', '1', $login_url);
 
-       return apply_filters('login_url', $login_url, $redirect);
+       /**
+        * Filter the login URL.
+        *
+        * @since 2.8.0
+        *
+        * @param string $login_url The login URL.
+        * @param string $redirect  The path to redirect to on login, if supplied.
+        */
+       return apply_filters( 'login_url', $login_url, $redirect );
 }
 
 /**
@@ -278,12 +372,19 @@ function wp_login_url($redirect = '', $force_reauth = false) {
  * Returns the URL that allows the user to register on the site.
  *
  * @since 3.6.0
+ *
  * @uses site_url() To generate the registration URL.
- * @uses apply_filters() calls 'register_url' hook on final URL.
  *
- * @return string
+ * @return string User registration URL.
  */
 function wp_registration_url() {
+       /**
+        * Filter the user registration URL.
+        *
+        * @since 3.6.0
+        *
+        * @param string $register The user registration URL.
+        */
        return apply_filters( 'register_url', site_url( 'wp-login.php?action=register', 'login' ) );
 }
 
@@ -292,6 +393,7 @@ function wp_registration_url() {
  * the HTML immediately. Pass array('echo'=>false) to return the string instead.
  *
  * @since 3.0.0
+ *
  * @param array $args Configuration options to modify the form output.
  * @return string|null String when retrieving, null when displaying.
  */
@@ -312,11 +414,58 @@ function wp_login_form( $args = array() ) {
                'value_username' => '',
                'value_remember' => false, // Set this to true to default the "Remember me" checkbox to checked
        );
+
+       /**
+        * Filter the default login form output arguments.
+        *
+        * @since 3.0.0
+        *
+        * @see wp_login_form()
+        *
+        * @param array $defaults An array of default login form arguments.
+        */
        $args = wp_parse_args( $args, apply_filters( 'login_form_defaults', $defaults ) );
 
+       /**
+        * Filter content to display at the top of the login form.
+        *
+        * The filter evaluates just following the opening form tag element.
+        *
+        * @since 3.0.0
+        *
+        * @param string $content Content to display. Default empty.
+        * @param array  $args    Array of login form arguments.
+        */
+       $login_form_top = apply_filters( 'login_form_top', '', $args );
+
+       /**
+        * Filter content to display in the middle of the login form.
+        *
+        * The filter evaluates just following the location where the 'login-password'
+        * field is displayed.
+        *
+        * @since 3.0.0
+        *
+        * @param string $content Content to display. Default empty.
+        * @param array  $args    Array of login form arguments.
+        */
+       $login_form_middle = apply_filters( 'login_form_middle', '', $args );
+
+       /**
+        * Filter content to display at the bottom of the login form.
+        *
+        * The filter evaluates just preceding the closing form tag element.
+        *
+        * @since 3.0.0
+        *
+        * @param string $content Content to display. Default empty.
+        * @param array  $args    Array of login form arguments.
+        */
+       $login_form_bottom = apply_filters( 'login_form_bottom', '', $args );
+
        $form = '
                <form name="' . $args['form_id'] . '" id="' . $args['form_id'] . '" action="' . esc_url( site_url( 'wp-login.php', 'login_post' ) ) . '" method="post">
-                       ' . apply_filters( 'login_form_top', '', $args ) . '
+                       ' . $login_form_top . '
                        <p class="login-username">
                                <label for="' . esc_attr( $args['id_username'] ) . '">' . esc_html( $args['label_username'] ) . '</label>
                                <input type="text" name="log" id="' . esc_attr( $args['id_username'] ) . '" class="input" value="' . esc_attr( $args['value_username'] ) . '" size="20" />
@@ -325,13 +474,13 @@ function wp_login_form( $args = array() ) {
                                <label for="' . esc_attr( $args['id_password'] ) . '">' . esc_html( $args['label_password'] ) . '</label>
                                <input type="password" name="pwd" id="' . esc_attr( $args['id_password'] ) . '" class="input" value="" size="20" />
                        </p>
-                       ' . apply_filters( 'login_form_middle', '', $args ) . '
+                       ' . $login_form_middle . '
                        ' . ( $args['remember'] ? '<p class="login-remember"><label><input name="rememberme" type="checkbox" id="' . esc_attr( $args['id_remember'] ) . '" value="forever"' . ( $args['value_remember'] ? ' checked="checked"' : '' ) . ' /> ' . esc_html( $args['label_remember'] ) . '</label></p>' : '' ) . '
                        <p class="login-submit">
                                <input type="submit" name="wp-submit" id="' . esc_attr( $args['id_submit'] ) . '" class="button-primary" value="' . esc_attr( $args['label_log_in'] ) . '" />
                                <input type="hidden" name="redirect_to" value="' . esc_url( $args['redirect'] ) . '" />
                        </p>
-                       ' . apply_filters( 'login_form_bottom', '', $args ) . '
+                       ' . $login_form_bottom . '
                </form>';
 
        if ( $args['echo'] )
@@ -346,8 +495,8 @@ function wp_login_form( $args = array() ) {
  * Returns the URL that allows the user to retrieve the lost password
  *
  * @since 2.8.0
+ *
  * @uses site_url() To generate the lost password URL
- * @uses apply_filters() calls 'lostpassword_url' hook on the lostpassword url
  *
  * @param string $redirect Path to redirect to on login.
  * @return string Lost password URL.
@@ -359,6 +508,15 @@ function wp_lostpassword_url( $redirect = '' ) {
        }
 
        $lostpassword_url = add_query_arg( $args, network_site_url('wp-login.php', 'login') );
+
+       /**
+        * Filter the Lost Password URL.
+        *
+        * @since 2.8.0
+        *
+        * @param string $lostpassword_url The lost password page URL.
+        * @param string $redirect         The path to redirect to on login.
+        */
        return apply_filters( 'lostpassword_url', $lostpassword_url, $redirect );
 }
 
@@ -369,7 +527,6 @@ function wp_lostpassword_url( $redirect = '' ) {
  * not logged in and registration is enabled or to the dashboard if logged in.
  *
  * @since 1.5.0
- * @uses apply_filters() Calls 'register' hook on register / admin link content.
  *
  * @param string $before Text to output before the link (defaults to <li>).
  * @param string $after Text to output after the link (defaults to </li>).
@@ -387,10 +544,22 @@ function wp_register( $before = '<li>', $after = '</li>', $echo = true ) {
                $link = $before . '<a href="' . admin_url() . '">' . __('Site Admin') . '</a>' . $after;
        }
 
-       if ( $echo )
-               echo apply_filters('register', $link);
-       else
-               return apply_filters('register', $link);
+       if ( $echo ) {
+               /**
+                * Filter the HTML link to the Registration or Admin page.
+                *
+                * Users are sent to the admin page if logged-in, or the registration page
+                * if enabled and logged-out.
+                *
+                * @since 1.5.0
+                *
+                * @param string $link The HTML code for the link to the Registration or Admin page.
+                */
+               echo apply_filters( 'register', $link );
+       } else {
+               /** This filter is documented in wp-includes/general-template.php */
+               return apply_filters( 'register', $link );
+       }
 }
 
 /**
@@ -400,11 +569,16 @@ function wp_register( $before = '<li>', $after = '</li>', $echo = true ) {
  * but one purpose might have been to allow for theme switching.
  *
  * @since 1.5.0
+ *
  * @link http://trac.wordpress.org/ticket/1458 Explanation of 'wp_meta' action.
- * @uses do_action() Calls 'wp_meta' hook.
  */
 function wp_meta() {
-       do_action('wp_meta');
+       /**
+        * Fires before displaying echoed content in the sidebar.
+        *
+        * @since 1.5.0
+        */
+       do_action( 'wp_meta' );
 }
 
 /**
@@ -529,10 +703,27 @@ function get_bloginfo( $show = '', $filter = 'raw' ) {
                $url = false;
 
        if ( 'display' == $filter ) {
-               if ( $url )
-                       $output = apply_filters('bloginfo_url', $output, $show);
-               else
-                       $output = apply_filters('bloginfo', $output, $show);
+               if ( $url ) {
+                       /**
+                        * Filter the URL returned by get_bloginfo().
+                        *
+                        * @since 2.0.5
+                        *
+                        * @param mixed $output The URL returned by bloginfo().
+                        * @param mixed $show   Type of information requested.
+                        */
+                       $output = apply_filters( 'bloginfo_url', $output, $show );
+               } else {
+                       /**
+                        * Filter the site information returned by get_bloginfo().
+                        *
+                        * @since 0.71
+                        *
+                        * @param mixed $output The requested non-URL site information.
+                        * @param mixed $show   Type of information requested.
+                        */
+                       $output = apply_filters( 'bloginfo', $output, $show );
+               }
        }
 
        return $output;
@@ -654,7 +845,16 @@ function wp_title($sep = '&raquo;', $display = true, $seplocation = '') {
                $title = $prefix . implode( " $sep ", $title_array );
        }
 
-       $title = apply_filters('wp_title', $title, $sep, $seplocation);
+       /**
+        * Filter the text of the page title.
+        *
+        * @since 2.0.0
+        *
+        * @param string $title       Page title.
+        * @param string $sep         Title separator.
+        * @param string $seplocation Location of the separator (left or right).
+        */
+       $title = apply_filters( 'wp_title', $title, $sep, $seplocation );
 
        // Send it out
        if ( $display )
@@ -686,7 +886,15 @@ function single_post_title($prefix = '', $display = true) {
        if ( !isset($_post->post_title) )
                return;
 
-       $title = apply_filters('single_post_title', $_post->post_title, $_post);
+       /**
+        * Filter the page title for a single post.
+        *
+        * @since 0.71
+        *
+        * @param string $_post_title The single post page title.
+        * @param object $_post       The current queried object as returned by get_queried_object().
+        */
+       $title = apply_filters( 'single_post_title', $_post->post_title, $_post );
        if ( $display )
                echo $prefix . $title;
        else
@@ -714,6 +922,7 @@ function post_type_archive_title( $prefix = '', $display = true ) {
                $post_type = reset( $post_type );
 
        $post_type_obj = get_post_type_object( $post_type );
+
        /**
         * Filter the post type archive title.
         *
@@ -795,14 +1004,36 @@ function single_term_title( $prefix = '', $display = true ) {
        if ( !$term )
                return;
 
-       if ( is_category() )
+       if ( is_category() ) {
+               /**
+                * Filter the category archive page title.
+                *
+                * @since 2.0.10
+                *
+                * @param string $term_name Category name for archive being displayed.
+                */
                $term_name = apply_filters( 'single_cat_title', $term->name );
-       elseif ( is_tag() )
+       } elseif ( is_tag() ) {
+               /**
+                * Filter the tag archive page title.
+                *
+                * @since 2.3.0
+                *
+                * @param string $term_name Tag name for archive being displayed.
+                */
                $term_name = apply_filters( 'single_tag_title', $term->name );
-       elseif ( is_tax() )
+       } elseif ( is_tax() ) {
+               /**
+                * Filter the custom taxonomy archive page title.
+                *
+                * @since 3.1.0
+                *
+                * @param string $term_name Term name for archive being displayed.
+                */
                $term_name = apply_filters( 'single_term_title', $term->name );
-       else
+       } else {
                return;
+       }
 
        if ( empty( $term_name ) )
                return;
@@ -902,6 +1133,13 @@ function get_archives_link($url, $text, $format = 'html', $before = '', $after =
        else // custom
                $link_html = "\t$before<a href='$url'>$text</a>$after\n";
 
+       /**
+        * Filter the archive link content.
+        *
+        * @since 2.6.0
+        *
+        * @param string $link_html The archive HTML link content.
+        */
        $link_html = apply_filters( 'get_archives_link', $link_html );
 
        return $link_html;
@@ -978,7 +1216,24 @@ function wp_get_archives($args = '') {
                $archive_week_end_date_format = get_option('date_format');
        }
 
+       /**
+        * Filter the SQL WHERE clause for retrieving archives.
+        *
+        * @since 2.2.0
+        *
+        * @param string $sql_where Portion of SQL query containing the WHERE clause.
+        * @param array  $r         An array of default arguments.
+        */
        $where = apply_filters( 'getarchives_where', "WHERE post_type = 'post' AND post_status = 'publish'", $r );
+
+       /**
+        * Filter the SQL JOIN clause for retrieving archives.
+        *
+        * @since 2.2.0
+        *
+        * @param string $sql_join Portion of SQL query containing JOIN clause.
+        * @param array  $r        An array of default arguments.
+        */
        $join = apply_filters( 'getarchives_join', '', $r );
 
        $output = '';
@@ -1137,10 +1392,12 @@ function get_calendar($initial = true, $echo = true) {
        if ( $cache = wp_cache_get( 'get_calendar', 'calendar' ) ) {
                if ( is_array($cache) && isset( $cache[ $key ] ) ) {
                        if ( $echo ) {
-                               echo apply_filters( 'get_calendar',  $cache[$key] );
+                               /** This filter is documented in wp-includes/general-template.php */
+                               echo apply_filters( 'get_calendar', $cache[$key] );
                                return;
                        } else {
-                               return apply_filters( 'get_calendar',  $cache[$key] );
+                               /** This filter is documented in wp-includes/general-template.php */
+                               return apply_filters( 'get_calendar', $cache[$key] );
                        }
                }
        }
@@ -1323,10 +1580,19 @@ function get_calendar($initial = true, $echo = true) {
        $cache[ $key ] = $calendar_output;
        wp_cache_set( 'get_calendar', $cache, 'calendar' );
 
-       if ( $echo )
-               echo apply_filters( 'get_calendar',  $calendar_output );
-       else
-               return apply_filters( 'get_calendar',  $calendar_output );
+       if ( $echo ) {
+               /**
+                * Filter the HTML calendar output.
+                *
+                * @since 3.0.0
+                *
+                * @param string $calendar_output HTML output of the calendar.
+                */
+               echo apply_filters( 'get_calendar', $calendar_output );
+       } else {
+               /** This filter is documented in wp-includes/general-template.php */
+               return apply_filters( 'get_calendar', $calendar_output );
+       }
 
 }
 
@@ -1382,7 +1648,7 @@ function the_date_xml() {
 }
 
 /**
- * Display or Retrieve the date the current $post was written (once per date)
+ * Display or Retrieve the date the current post was written (once per date)
  *
  * Will only output the date if the current post's date is different from the
  * previous one output.
@@ -1394,6 +1660,7 @@ function the_date_xml() {
  * Date string output can be filtered with 'get_the_date'.
  *
  * @since 0.71
+ *
  * @uses get_the_date()
  * @param string $d Optional. PHP date format defaults to the date_format option if not specified.
  * @param string $before Optional. Output before the date.
@@ -1403,14 +1670,23 @@ function the_date_xml() {
  */
 function the_date( $d = '', $before = '', $after = '', $echo = true ) {
        global $currentday, $previousday;
-       $the_date = '';
+
        if ( $currentday != $previousday ) {
-               $the_date .= $before;
-               $the_date .= get_the_date( $d );
-               $the_date .= $after;
+               $the_date = $before . get_the_date( $d ) . $after;
                $previousday = $currentday;
 
-               $the_date = apply_filters('the_date', $the_date, $d, $before, $after);
+               /**
+                * Filter the date a post was published for display.
+                *
+                * @since 0.71
+                *
+                * @param string $the_date The formatted date string.
+                * @param string $d        PHP date format. Defaults to 'date_format' option
+                *                         if not specified.
+                * @param string $before   HTML output before the date.
+                * @param string $after    HTML output after the date.
+                */
+               $the_date = apply_filters( 'the_date', $the_date, $d, $before, $after );
 
                if ( $echo )
                        echo $the_date;
@@ -1422,26 +1698,37 @@ function the_date( $d = '', $before = '', $after = '', $echo = true ) {
 }
 
 /**
- * Retrieve the date the current $post was written.
+ * Retrieve the date on which the post was written.
  *
  * Unlike the_date() this function will always return the date.
  * Modify output with 'get_the_date' filter.
  *
  * @since 3.0.0
  *
- * @param string $d Optional. PHP date format defaults to the date_format option if not specified.
- * @return string|null Null if displaying, string if retrieving.
+ * @param  string      $d    Optional. PHP date format defaults to the date_format option if not specified.
+ * @param  int|WP_Post $post Optional. Post ID or WP_Post object. Default current post.
+ * @return string Date the current post was written.
  */
-function get_the_date( $d = '' ) {
-       $post = get_post();
-       $the_date = '';
+function get_the_date( $d = '', $post = null ) {
+       $post = get_post( $post );
 
-       if ( '' == $d )
-               $the_date .= mysql2date(get_option('date_format'), $post->post_date);
-       else
-               $the_date .= mysql2date($d, $post->post_date);
+       if ( '' == $d ) {
+               $the_date = mysql2date( get_option( 'date_format' ), $post->post_date );
+       } else {
+               $the_date = mysql2date( $d, $post->post_date );
+       }
 
-       return apply_filters('get_the_date', $the_date, $d);
+       /**
+        * Filter the date a post was published.
+        *
+        * @since 3.0.0
+        *
+        * @param string      $the_date The formatted date.
+        * @param string      $d        PHP date format. Defaults to 'date_format' option
+        *                              if not specified.
+        * @param int|WP_Post $post     The post object or ID.
+        */
+       return apply_filters( 'get_the_date', $the_date, $d, $post );
 }
 
 /**
@@ -1458,7 +1745,19 @@ function get_the_date( $d = '' ) {
 function the_modified_date($d = '', $before='', $after='', $echo = true) {
 
        $the_modified_date = $before . get_the_modified_date($d) . $after;
-       $the_modified_date = apply_filters('the_modified_date', $the_modified_date, $d, $before, $after);
+
+       /**
+        * Filter the date a post was last modified for display.
+        *
+        * @since 2.1.0
+        *
+        * @param string $the_modified_date The last modified date.
+        * @param string $d                 PHP date format. Defaults to 'date_format' option
+        *                                  if not specified.
+        * @param string $before            HTML output before the date.
+        * @param string $after             HTML output after the date.
+        */
+       $the_modified_date = apply_filters( 'the_modified_date', $the_modified_date, $d, $before, $after );
 
        if ( $echo )
                echo $the_modified_date;
@@ -1480,7 +1779,17 @@ function get_the_modified_date($d = '') {
                $the_time = get_post_modified_time(get_option('date_format'), null, null, true);
        else
                $the_time = get_post_modified_time($d, null, null, true);
-       return apply_filters('get_the_modified_date', $the_time, $d);
+
+       /**
+        * Filter the date a post was last modified.
+        *
+        * @since 2.1.0
+        *
+        * @param string $the_time The formatted date.
+        * @param string $d        PHP date format. Defaults to value specified in
+        *                         'date_format' option.
+        */
+       return apply_filters( 'get_the_modified_date', $the_time, $d );
 }
 
 /**
@@ -1491,7 +1800,16 @@ function get_the_modified_date($d = '') {
  * @param string $d Either 'G', 'U', or php date format.
  */
 function the_time( $d = '' ) {
-       echo apply_filters('the_time', get_the_time( $d ), $d);
+       /**
+        * Filter the time a post was written for display.
+        *
+        * @since 0.71
+        *
+        * @param string $get_the_time The formatted time.
+        * @param string $d            The time format. Accepts 'G', 'U',
+        *                             or php date format.
+        */
+       echo apply_filters( 'the_time', get_the_time( $d ), $d );
 }
 
 /**
@@ -1499,9 +1817,11 @@ function the_time( $d = '' ) {
  *
  * @since 1.5.0
  *
- * @param string $d Optional Either 'G', 'U', or php date format defaults to the value specified in the time_format option.
- * @param int|object $post Optional post ID or object. Default is global $post object.
- * @return string
+ * @param string      $d    Optional. Format to use for retrieving the time the post
+ *                          was written. Either 'G', 'U', or php date format defaults
+ *                          to the value specified in the time_format option. Default empty.
+ * @param int|WP_Post $post WP_Post object or ID. Default is global $post object.
+ * @return string|int Formatted date string, or Unix timestamp.
  */
 function get_the_time( $d = '', $post = null ) {
        $post = get_post($post);
@@ -1510,7 +1830,19 @@ function get_the_time( $d = '', $post = null ) {
                $the_time = get_post_time(get_option('time_format'), false, $post, true);
        else
                $the_time = get_post_time($d, false, $post, true);
-       return apply_filters('get_the_time', $the_time, $d, $post);
+
+       /**
+        * Filter the time a post was written.
+        *
+        * @since 1.5.0
+        *
+        * @param string      $the_time The formatted time.
+        * @param string      $d        Format to use for retrieving the time the post was written.
+        *                              Accepts 'G', 'U', or php date format value specified
+        *                              in 'time_format' option. Default empty.
+        * @param int|WP_Post $post     WP_Post object or ID.
+        */
+       return apply_filters( 'get_the_time', $the_time, $d, $post );
 }
 
 /**
@@ -1518,13 +1850,14 @@ function get_the_time( $d = '', $post = null ) {
  *
  * @since 2.0.0
  *
- * @param string $d Optional Either 'G', 'U', or php date format.
- * @param bool $gmt Optional, default is false. Whether to return the gmt time.
- * @param int|object $post Optional post ID or object. Default is global $post object.
- * @param bool $translate Whether to translate the time string
- * @return string
+ * @param string      $d         Optional. Format to use for retrieving the time the post
+ *                               was written. Either 'G', 'U', or php date format. Default 'U'.
+ * @param bool        $gmt       Optional. Whether to retrieve the GMT time. Default false.
+ * @param int|WP_Post $post      WP_Post object or ID. Default is global $post object.
+ * @param bool        $translate Whether to translate the time string. Default false.
+ * @return string|int Formatted date string, or Unix timestamp.
  */
-function get_post_time( $d = 'U', $gmt = false, $post = null, $translate = false ) { // returns timestamp
+function get_post_time( $d = 'U', $gmt = false, $post = null, $translate = false ) {
        $post = get_post($post);
 
        if ( $gmt )
@@ -1533,7 +1866,18 @@ function get_post_time( $d = 'U', $gmt = false, $post = null, $translate = false
                $time = $post->post_date;
 
        $time = mysql2date($d, $time, $translate);
-       return apply_filters('get_post_time', $time, $d, $gmt);
+
+       /**
+        * Filter the localized time a post was written.
+        *
+        * @since 2.6.0
+        *
+        * @param string $time The formatted time.
+        * @param string $d    Format to use for retrieving the time the post was written.
+        *                     Accepts 'G', 'U', or php date format. Default 'U'.
+        * @param bool   $gmt  Whether to retrieve the GMT time. Default false.
+        */
+       return apply_filters( 'get_post_time', $time, $d, $gmt );
 }
 
 /**
@@ -1544,7 +1888,17 @@ function get_post_time( $d = 'U', $gmt = false, $post = null, $translate = false
  * @param string $d Optional Either 'G', 'U', or php date format defaults to the value specified in the time_format option.
  */
 function the_modified_time($d = '') {
-       echo apply_filters('the_modified_time', get_the_modified_time($d), $d);
+       /**
+        * Filter the localized time a post was last modified, for display.
+        *
+        * @since 2.0.0
+        *
+        * @param string $get_the_modified_time The formatted time.
+        * @param string $d                     The time format. Accepts 'G', 'U',
+        *                                      or php date format. Defaults to value
+        *                                      specified in 'time_format' option.
+        */
+       echo apply_filters( 'the_modified_time', get_the_modified_time($d), $d );
 }
 
 /**
@@ -1560,7 +1914,18 @@ function get_the_modified_time($d = '') {
                $the_time = get_post_modified_time(get_option('time_format'), null, null, true);
        else
                $the_time = get_post_modified_time($d, null, null, true);
-       return apply_filters('get_the_modified_time', $the_time, $d);
+
+       /**
+        * Filter the localized time a post was last modified.
+        *
+        * @since 2.0.0
+        *
+        * @param string $the_time The formatted time.
+        * @param string $d        Format to use for retrieving the time the post was
+        *                         written. Accepts 'G', 'U', or php date format. Defaults
+        *                         to value specified in 'time_format' option.
+        */
+       return apply_filters( 'get_the_modified_time', $the_time, $d );
 }
 
 /**
@@ -1583,7 +1948,16 @@ function get_post_modified_time( $d = 'U', $gmt = false, $post = null, $translat
                $time = $post->post_modified;
        $time = mysql2date($d, $time, $translate);
 
-       return apply_filters('get_post_modified_time', $time, $d, $gmt);
+       /**
+        * Filter the localized time a post was last modified.
+        *
+        * @since 2.8.0
+        *
+        * @param string $time The formatted time.
+        * @param string $d    The date format. Accepts 'G', 'U', or php date format. Default 'U'.
+        * @param bool   $gmt  Whether to return the GMT time. Default false.
+        */
+       return apply_filters( 'get_post_modified_time', $time, $d, $gmt );
 }
 
 /**
@@ -1596,7 +1970,15 @@ function get_post_modified_time( $d = 'U', $gmt = false, $post = null, $translat
 function the_weekday() {
        global $wp_locale;
        $the_weekday = $wp_locale->get_weekday( mysql2date( 'w', get_post()->post_date, false ) );
-       $the_weekday = apply_filters('the_weekday', $the_weekday);
+
+       /**
+        * Filter the weekday on which the post was written, for display.
+        *
+        * @since 0.71
+        *
+        * @param string $the_weekday 
+        */
+       $the_weekday = apply_filters( 'the_weekday', $the_weekday );
        echo $the_weekday;
 }
 
@@ -1620,7 +2002,17 @@ function the_weekday_date($before='',$after='') {
                $the_weekday_date .= $after;
                $previousweekday = $currentday;
        }
-       $the_weekday_date = apply_filters('the_weekday_date', $the_weekday_date, $before, $after);
+
+       /**
+        * Filter the localized date on which the post was written, for display.
+        *
+        * @since 0.71
+        *
+        * @param string $the_weekday_date 
+        * @param string $before           The HTML to output before the date.
+        * @param string $after            The HTML to output after the date.
+        */
+       $the_weekday_date = apply_filters( 'the_weekday_date', $the_weekday_date, $before, $after );
        echo $the_weekday_date;
 }
 
@@ -1628,20 +2020,28 @@ function the_weekday_date($before='',$after='') {
  * Fire the wp_head action
  *
  * @since 1.2.0
- * @uses do_action() Calls 'wp_head' hook.
  */
 function wp_head() {
-       do_action('wp_head');
+       /**
+        * Print scripts or data in the head tag on the front end.
+        *
+        * @since 1.5.0
+        */
+       do_action( 'wp_head' );
 }
 
 /**
  * Fire the wp_footer action
  *
  * @since 1.5.1
- * @uses do_action() Calls 'wp_footer' hook.
  */
 function wp_footer() {
-       do_action('wp_footer');
+       /**
+        * Print scripts or data before the closing body tag on the front end.
+        *
+        * @since 1.5.1
+        */
+       do_action( 'wp_footer' );
 }
 
 /**
@@ -1702,7 +2102,7 @@ function feed_links_extra( $args = array() ) {
                $post = get_post( $id );
 
                if ( comments_open() || pings_open() || $post->comment_count > 0 ) {
-                       $title = sprintf( $args['singletitle'], get_bloginfo('name'), $args['separator'], esc_html( get_the_title() ) );
+                       $title = sprintf( $args['singletitle'], get_bloginfo('name'), $args['separator'], the_title_attribute( array( 'echo' => false ) ) );
                        $href = get_post_comments_feed_link( $post->ID );
                }
        } elseif ( is_post_type_archive() ) {
@@ -1796,22 +2196,6 @@ function wp_no_robots() {
        echo "<meta name='robots' content='noindex,follow' />\n";
 }
 
-/**
- * Determine if TinyMCE is available.
- *
- * Checks to see if the user has deleted the tinymce files to slim down there WordPress install.
- *
- * @since 2.1.0
- *
- * @return bool Whether TinyMCE exists.
- */
-function rich_edit_exists() {
-       global $wp_rich_edit_exists;
-       if ( !isset($wp_rich_edit_exists) )
-               $wp_rich_edit_exists = file_exists(ABSPATH . WPINC . '/js/tinymce/tiny_mce.js');
-       return $wp_rich_edit_exists;
-}
-
 /**
  * Whether the user should have a WYSIWIG editor.
  *
@@ -1837,7 +2221,14 @@ function user_can_richedit() {
                }
        }
 
-       return apply_filters('user_can_richedit', $wp_rich_edit);
+       /**
+        * Filter whether the user can access the rich (Visual) editor.
+        *
+        * @since 2.1.0
+        *
+        * @param bool $wp_rich_edit Whether the user can access to the rich (Visual) editor.
+        */
+       return apply_filters( 'user_can_richedit', $wp_rich_edit );
 }
 
 /**
@@ -1856,7 +2247,15 @@ function wp_default_editor() {
                $ed = get_user_setting('editor', 'tinymce');
                $r = ( in_array($ed, array('tinymce', 'html', 'test') ) ) ? $ed : $r;
        }
-       return apply_filters( 'wp_default_editor', $r ); // filter
+
+       /**
+        * Filter which editor should be displayed by default.
+        *
+        * @since 2.5.0
+        *
+        * @param array $r An array of editors. Accepts 'tinymce', 'html', 'test'.
+        */
+       return apply_filters( 'wp_default_editor', $r );
 }
 
 /**
@@ -1899,7 +2298,15 @@ function wp_editor( $content, $editor_id, $settings = array() ) {
  * @return string
  */
 function get_search_query( $escaped = true ) {
+       /**
+        * Filter the contents of the search query variable.
+        *
+        * @since 2.3.0
+        *
+        * @param mixed $search Contents of the search query variable.
+        */
        $query = apply_filters( 'get_search_query', get_query_var( 's' ) );
+
        if ( $escaped )
                $query = esc_attr( $query );
        return $query;
@@ -1915,6 +2322,13 @@ function get_search_query( $escaped = true ) {
  * @since 2.1.0
  */
 function the_search_query() {
+       /**
+        * Filter the contents of the search query variable for display.
+        *
+        * @since 2.3.0
+        *
+        * @param mixed $search Contents of the search query variable.
+        */
        echo esc_attr( apply_filters( 'the_search_query', get_search_query( false ) ) );
 }
 
@@ -1944,8 +2358,15 @@ function language_attributes($doctype = 'html') {
        }
 
        $output = implode(' ', $attributes);
-       $output = apply_filters('language_attributes', $output);
-       echo $output;
+
+       /**
+        * Filter the language attributes for display in the html tag.
+        *
+        * @since 2.5.0
+        *
+        * @param string $output A space-separated list of language attributes.
+        */
+       echo apply_filters( 'language_attributes', $output );
 }
 
 /**
@@ -1988,6 +2409,12 @@ function language_attributes($doctype = 'html') {
  * It is possible to add query vars to the link by using the 'add_args' argument
  * and see {@link add_query_arg()} for more information.
  *
+ * The 'before_page_number' and 'after_page_number' arguments allow users to 
+ * augment the links themselves. Typically this might be to add context to the
+ * numbered links so that screen reader users understand what the links are for.
+ * The text strings are added before and after the page number - within the 
+ * anchor tag.
+ *
  * @since 2.1.0
  *
  * @param string|array $args Optional. Override defaults.
@@ -2007,7 +2434,9 @@ function paginate_links( $args = '' ) {
                'mid_size' => 2,
                'type' => 'plain',
                'add_args' => false, // array of query args to add
-               'add_fragment' => ''
+               'add_fragment' => '',
+               'before_page_number' => '',
+               'after_page_number' => ''
        );
 
        $args = wp_parse_args( $args, $defaults );
@@ -2032,12 +2461,19 @@ function paginate_links( $args = '' ) {
                if ( $add_args )
                        $link = add_query_arg( $add_args, $link );
                $link .= $add_fragment;
+
+               /**
+                * Filter the paginated links for the given archive pages.
+                *
+                * @since 3.0.0
+                *
+                * @param string $link The paginated link URL.
+                */
                $page_links[] = '<a class="prev page-numbers" href="' . esc_url( apply_filters( 'paginate_links', $link ) ) . '">' . $prev_text . '</a>';
        endif;
        for ( $n = 1; $n <= $total; $n++ ) :
-               $n_display = number_format_i18n($n);
                if ( $n == $current ) :
-                       $page_links[] = "<span class='page-numbers current'>$n_display</span>";
+                       $page_links[] = "<span class='page-numbers current'>" . $before_page_number . number_format_i18n( $n ) . $after_page_number . "</span>";
                        $dots = true;
                else :
                        if ( $show_all || ( $n <= $end_size || ( $current && $n >= $current - $mid_size && $n <= $current + $mid_size ) || $n > $total - $end_size ) ) :
@@ -2046,7 +2482,9 @@ function paginate_links( $args = '' ) {
                                if ( $add_args )
                                        $link = add_query_arg( $add_args, $link );
                                $link .= $add_fragment;
-                               $page_links[] = "<a class='page-numbers' href='" . esc_url( apply_filters( 'paginate_links', $link ) ) . "'>$n_display</a>";
+
+                               /** This filter is documented in wp-includes/general-template.php */
+                               $page_links[] = "<a class='page-numbers' href='" . esc_url( apply_filters( 'paginate_links', $link ) ) . "'>" . $before_page_number . number_format_i18n( $n ) . $after_page_number . "</a>";
                                $dots = true;
                        elseif ( $dots && !$show_all ) :
                                $page_links[] = '<span class="page-numbers dots">' . __( '&hellip;' ) . '</span>';
@@ -2060,6 +2498,8 @@ function paginate_links( $args = '' ) {
                if ( $add_args )
                        $link = add_query_arg( $add_args, $link );
                $link .= $add_fragment;
+
+               /** This filter is documented in wp-includes/general-template.php */
                $page_links[] = '<a class="next page-numbers" href="' . esc_url( apply_filters( 'paginate_links', $link ) ) . '">' . $next_text . '</a>';
        endif;
        switch ( $type ) :
@@ -2119,7 +2559,7 @@ function register_admin_color_schemes() {
        $suffix .= defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
 
        wp_admin_css_color( 'fresh', _x( 'Default', 'admin color scheme' ),
-               admin_url( "css/colors$suffix.css" ),
+               false,
                array( '#222', '#333', '#0074a2', '#2ea2cc' ),
                array( 'base' => '#999', 'focus' => '#2ea2cc', 'current' => '#fff' )
        );
@@ -2189,6 +2629,14 @@ function wp_admin_css_uri( $file = 'wp-admin' ) {
        }
        $_file = add_query_arg( 'version', get_bloginfo( 'version' ),  $_file );
 
+       /**
+        * Filter the URI of a WordPress admin CSS file.
+        *
+        * @since 2.3.0
+        *
+        * @param string $_file Relative path to the file with query arguments attached.
+        * @param string $file  Relative path to the file, minus its ".css" extension.
+        */
        return apply_filters( 'wp_admin_css_uri', $_file, $file );
 }
 
@@ -2206,7 +2654,6 @@ function wp_admin_css_uri( $file = 'wp-admin' ) {
  * $file is a file relative to wp-admin/ without its ".css" extension. A
  * stylesheet link to that generated URL is printed.
  *
- * @package WordPress
  * @since 2.3.0
  * @uses $wp_styles WordPress Styles Object
  *
@@ -2230,9 +2677,23 @@ function wp_admin_css( $file = 'wp-admin', $force_echo = false ) {
                return;
        }
 
+       /**
+        * Filter the stylesheet link to the specified CSS file.
+        *
+        * If the site is set to display right-to-left, the RTL stylesheet link
+        * will be used instead.
+        *
+        * @since 2.3.0
+        *
+        * @param string $file Style handle name or filename (without ".css" extension)
+        *                     relative to wp-admin/. Defaults to 'wp-admin'.
+        */
        echo apply_filters( 'wp_admin_css', "<link rel='stylesheet' href='" . esc_url( wp_admin_css_uri( $file ) ) . "' type='text/css' />\n", $file );
-       if ( function_exists( 'is_rtl' ) && is_rtl() )
+
+       if ( function_exists( 'is_rtl' ) && is_rtl() ) {
+               /** This filter is documented in wp-includes/general-template.php */
                echo apply_filters( 'wp_admin_css', "<link rel='stylesheet' href='" . esc_url( wp_admin_css_uri( "$file-rtl" ) ) . "' type='text/css' />\n", "$file-rtl" );
+       }
 }
 
 /**
@@ -2258,6 +2719,13 @@ function add_thickbox() {
  * @since 2.5.0
  */
 function wp_generator() {
+       /**
+        * Filter the output of the XHTML generator tag.
+        *
+        * @since 2.5.0
+        *
+        * @param string $generator_type The XHTML generator.
+        */
        the_generator( apply_filters( 'wp_generator_type', 'xhtml' ) );
 }
 
@@ -2268,12 +2736,20 @@ function wp_generator() {
  * for a plugin to filter generators overall the the_generator filter.
  *
  * @since 2.5.0
- * @uses apply_filters() Calls 'the_generator' hook.
  *
  * @param string $type The type of generator to output - (html|xhtml|atom|rss2|rdf|comment|export).
  */
 function the_generator( $type ) {
-       echo apply_filters('the_generator', get_the_generator($type), $type) . "\n";
+       /**
+        * Filter the output of the XHTML generator tag for display.
+        *
+        * @since 2.5.0
+        *
+        * @param string $generator_type The generator output.
+        * @param string $type           The type of generator to output. Accepts 'html',
+        *                               'xhtml', 'atom', 'rss2', 'rdf', 'comment', 'export'.
+        */
+       echo apply_filters( 'the_generator', get_the_generator($type), $type ) . "\n";
 }
 
 /**
@@ -2284,7 +2760,6 @@ function the_generator( $type ) {
  * 'get_the_generator_{$type}' filter.
  *
  * @since 2.5.0
- * @uses apply_filters() Calls 'get_the_generator_$type' hook.
  *
  * @param string $type The type of generator to return - (html|xhtml|atom|rss2|rdf|comment|export).
  * @return string The HTML content for the generator.
@@ -2339,6 +2814,18 @@ function get_the_generator( $type = '' ) {
                        $gen = '<!-- generator="WordPress/' . get_bloginfo_rss('version') . '" created="'. date('Y-m-d H:i') . '" -->';
                        break;
        }
+
+       /**
+        * Filter the HTML for the retrieved generator type.
+        *
+        * The dynamic portion of the hook name, $type, refers to the generator type.
+        *
+        * @since 2.5.0
+        *
+        * @param string $gen  The HTML markup output to 'wp_head()'.
+        * @param string $type The type of generator. Accepts 'html', 'xhtml', 'atom',
+        *                     'rss2', 'rdf', 'comment', 'export'.
+        */
        return apply_filters( "get_the_generator_{$type}", $gen, $type );
 }
 
index 0b4b109d9f56b452362ddf059cb04dde81f33d5c..57746ff8020e7d04f85510c9e372900949a01cf7 100644 (file)
@@ -510,7 +510,7 @@ function wp_http_validate_url( $url ) {
        if ( 80 === $port || 443 === $port || 8080 === $port )
                return $url;
 
-       if ( $parsed_home && $same_host && $parsed_home['port'] === $port )
+       if ( $parsed_home && $same_host && isset( $parsed_home['port'] ) && $parsed_home['port'] === $port )
                return $url;
 
        return false;
index 9accbee7d315d1325e9157190e370c58f7700a72..a85065139c55c49ee25121090956315edadcb1d1 100644 (file)
Binary files a/wp-includes/images/admin-bar-sprite-2x.png and b/wp-includes/images/admin-bar-sprite-2x.png differ
index 744c65a441d918c69b3157584147e38ab6f653fb..ad2d02cb5bd9e06a5491430dcb38ee3d41921a7c 100644 (file)
Binary files a/wp-includes/images/admin-bar-sprite.png and b/wp-includes/images/admin-bar-sprite.png differ
index ec1f7770bc70955670f96f0584cfdefa45628e58..d84755b497e604d4eb7b392b550f9f53a4082c6e 100644 (file)
Binary files a/wp-includes/images/arrow-pointer-blue-2x.png and b/wp-includes/images/arrow-pointer-blue-2x.png differ
index e565824aafafe632011b281cba976baf8b3ba89a..ef1e9ec93dfbb6b87289df460fa144c0d3a857a3 100644 (file)
Binary files a/wp-includes/images/blank.gif and b/wp-includes/images/blank.gif differ
index 83d80ee7fdd4d8259c35ce75f3caa4d1be15ca19..a3ca7c617dc0e6419de30d63b1d052fa73634220 100644 (file)
Binary files a/wp-includes/images/crystal/default.png and b/wp-includes/images/crystal/default.png differ
index cdabd2fd4156d46b6db0f724bce9e1281dc3d17f..d53f9bf65f5c28144e0d5d57a6746859129b7635 100644 (file)
@@ -6,4 +6,4 @@ Released under LGPL
 \r
 Modified February 2008\r
 for WordPress\r
-http://wordpress.org
\ No newline at end of file
+https://wordpress.org
\ No newline at end of file
index 3ef6672bf3510a6523fc8b5652e844116bea28d7..51d464e4a4eb8841428ab52cf1f928890815fdf6 100644 (file)
Binary files a/wp-includes/images/crystal/text.png and b/wp-includes/images/crystal/text.png differ
index 2408bd5fe2f820f96ba296c331e4062415425b74..d4b0ae3f607bb2497a96828a04c7774a05115bbc 100644 (file)
Binary files a/wp-includes/images/down_arrow-2x.gif and b/wp-includes/images/down_arrow-2x.gif differ
index 687b241eec371858a6b084712623ee9e1f89e2c7..f339a21d07a1e949d2b1b79704cb7ca966d2195b 100644 (file)
Binary files a/wp-includes/images/down_arrow.gif and b/wp-includes/images/down_arrow.gif differ
diff --git a/wp-includes/images/media/archive.png b/wp-includes/images/media/archive.png
new file mode 100644 (file)
index 0000000..2864901
Binary files /dev/null and b/wp-includes/images/media/archive.png differ
diff --git a/wp-includes/images/media/audio.png b/wp-includes/images/media/audio.png
new file mode 100644 (file)
index 0000000..455d9f2
Binary files /dev/null and b/wp-includes/images/media/audio.png differ
diff --git a/wp-includes/images/media/code.png b/wp-includes/images/media/code.png
new file mode 100644 (file)
index 0000000..2b1b919
Binary files /dev/null and b/wp-includes/images/media/code.png differ
diff --git a/wp-includes/images/media/default.png b/wp-includes/images/media/default.png
new file mode 100644 (file)
index 0000000..fd80a9e
Binary files /dev/null and b/wp-includes/images/media/default.png differ
diff --git a/wp-includes/images/media/document.png b/wp-includes/images/media/document.png
new file mode 100644 (file)
index 0000000..4f04cca
Binary files /dev/null and b/wp-includes/images/media/document.png differ
diff --git a/wp-includes/images/media/interactive.png b/wp-includes/images/media/interactive.png
new file mode 100644 (file)
index 0000000..a09b413
Binary files /dev/null and b/wp-includes/images/media/interactive.png differ
diff --git a/wp-includes/images/media/spreadsheet.png b/wp-includes/images/media/spreadsheet.png
new file mode 100644 (file)
index 0000000..db60df2
Binary files /dev/null and b/wp-includes/images/media/spreadsheet.png differ
diff --git a/wp-includes/images/media/text.png b/wp-includes/images/media/text.png
new file mode 100644 (file)
index 0000000..d1bc265
Binary files /dev/null and b/wp-includes/images/media/text.png differ
diff --git a/wp-includes/images/media/video.png b/wp-includes/images/media/video.png
new file mode 100644 (file)
index 0000000..01441cc
Binary files /dev/null and b/wp-includes/images/media/video.png differ
index 2880055cc0f11c60f5688ade044df280856df9a7..cca76aa06a7a3f07d8fd1d8716952d08494906bb 100644 (file)
Binary files a/wp-includes/images/smilies/icon_arrow.gif and b/wp-includes/images/smilies/icon_arrow.gif differ
index d3527723c6d8a0ddfa7ca0bfe1ab8fce0055918c..c0d95fbff7e9dd597e96e2e428458c6ccc7e00f4 100644 (file)
Binary files a/wp-includes/images/smilies/icon_biggrin.gif and b/wp-includes/images/smilies/icon_biggrin.gif differ
index 0c49e06983f1fff4bc0834b4d86ce39b8a36a914..1ffd05ad72148b4a99e64a67a55b5c3af7f70c94 100644 (file)
Binary files a/wp-includes/images/smilies/icon_confused.gif and b/wp-includes/images/smilies/icon_confused.gif differ
index cead0306c0e38e57bdb0cc85a407b995dcbdc656..83aa60ba698a5bf53ff819772d8b1c4bb1431dd0 100644 (file)
Binary files a/wp-includes/images/smilies/icon_cool.gif and b/wp-includes/images/smilies/icon_cool.gif differ
index 7d54b1f994bb20c2a17c6e9e53edb39e0444b380..0163d6d1a6dd6e20f9c3189f6a790c4c0ed7de7d 100644 (file)
Binary files a/wp-includes/images/smilies/icon_cry.gif and b/wp-includes/images/smilies/icon_cry.gif differ
index 5d3978106a2da37441ed17c9d05383b367570d46..63c4284e52b17651469d916c6ca29945183aa992 100644 (file)
Binary files a/wp-includes/images/smilies/icon_eek.gif and b/wp-includes/images/smilies/icon_eek.gif differ
index ab1aa8e123fe263608d06126ce08c560ad419f97..2c48528502430d25b9ca06a5cbdb72d60347707b 100644 (file)
Binary files a/wp-includes/images/smilies/icon_evil.gif and b/wp-includes/images/smilies/icon_evil.gif differ
index 6e50e2eecdb54d2ee3a14c39547a6b454524f98d..7ff8e756cf2f051527cf19e1ba7d4806f5955ca4 100644 (file)
Binary files a/wp-includes/images/smilies/icon_exclaim.gif and b/wp-includes/images/smilies/icon_exclaim.gif differ
index a40ae0d7e8c870d3675c8975e3a6bb0a059f11ff..df37e049be08bd69c5fe464ffada091d66f402eb 100644 (file)
Binary files a/wp-includes/images/smilies/icon_idea.gif and b/wp-includes/images/smilies/icon_idea.gif differ
index 374ba150fb238d6a33605bb26e86d4449625a46c..accd41cfbd8059bad48644f2047a931e7a68a231 100644 (file)
Binary files a/wp-includes/images/smilies/icon_lol.gif and b/wp-includes/images/smilies/icon_lol.gif differ
index 1f6c3c2fb401596ec44f4a1189bde2cbc45364aa..23d416275397ef84ec856b19ce3a3b12acd6915e 100644 (file)
Binary files a/wp-includes/images/smilies/icon_mad.gif and b/wp-includes/images/smilies/icon_mad.gif differ
index b54cd0f9469ae025d7b709f03432eebc30a615b8..59f106465d3c0df5a29ced9de1f29e77e31c687b 100644 (file)
Binary files a/wp-includes/images/smilies/icon_mrgreen.gif and b/wp-includes/images/smilies/icon_mrgreen.gif differ
index 4f311567ed0bde877c5a1291a5853fd84b3fe951..f5e530212ebd0f270faed8ceae0f1bbe8badf9a5 100644 (file)
Binary files a/wp-includes/images/smilies/icon_neutral.gif and b/wp-includes/images/smilies/icon_neutral.gif differ
index 9d072265bb9d7d5d4eeaaa9aadb44a49a60e5fe3..7f6e3aad91421bf6aa240ffe4e3e2de19156148e 100644 (file)
Binary files a/wp-includes/images/smilies/icon_question.gif and b/wp-includes/images/smilies/icon_question.gif differ
index 29da2a2fccc79981bc54db7513ca6d2374592f9d..1af73556af99fe1e49b7adc1ef1a5080251393d4 100644 (file)
Binary files a/wp-includes/images/smilies/icon_razz.gif and b/wp-includes/images/smilies/icon_razz.gif differ
index ad7628320c3d15756c84794c8c0523f1072da640..fd79d9fe4a4f95b1e89f43e15d3cd54e574efe9f 100644 (file)
Binary files a/wp-includes/images/smilies/icon_redface.gif and b/wp-includes/images/smilies/icon_redface.gif differ
index d7f5f2f4b18f8a141c7a5dd1e09ff106a2f9fa1e..a4c11bdd2fe494d65474141abda22ee29dafeef4 100644 (file)
Binary files a/wp-includes/images/smilies/icon_rolleyes.gif and b/wp-includes/images/smilies/icon_rolleyes.gif differ
index d2ac78c04bd1f50059ce9c1fa9534dcee2195579..c5935362a82182b1513aeff1783d45babb2d5a40 100644 (file)
Binary files a/wp-includes/images/smilies/icon_sad.gif and b/wp-includes/images/smilies/icon_sad.gif differ
index 7b1f6d30449c976f49a4ff4f55558156a7084732..650e35e02492f2eea8fac13e6615e615c12b38f1 100644 (file)
Binary files a/wp-includes/images/smilies/icon_smile.gif and b/wp-includes/images/smilies/icon_smile.gif differ
index cb21424319829487d477e5f17262891c1be03e8c..b6d2be3cb4ccb3dc1094baa2a9fbeee487addb05 100644 (file)
Binary files a/wp-includes/images/smilies/icon_surprised.gif and b/wp-includes/images/smilies/icon_surprised.gif differ
index 502fe247e811741d6fa2cd4f45d1db7deff32501..fcdba35cebf7ac7fc19567759ef1ea3e24c0018d 100644 (file)
Binary files a/wp-includes/images/smilies/icon_twisted.gif and b/wp-includes/images/smilies/icon_twisted.gif differ
index d1482880421dde677d3302940aa875ff22a11b06..d830848992d09bd05804924cb9cca3d4f3455d24 100644 (file)
Binary files a/wp-includes/images/smilies/icon_wink.gif and b/wp-includes/images/smilies/icon_wink.gif differ
index 1f65928b6f7556db424a6df489fd9fd36453dec0..9593f3d57fdc007a4ecfaca3784a03c1acb41441 100644 (file)
Binary files a/wp-includes/images/spinner-2x.gif and b/wp-includes/images/spinner-2x.gif differ
index e31945163ba43cfaad9c5d85ea3788b73016b7aa..c15632f7dc5045d1ac772052e5f7ebdf27207042 100644 (file)
Binary files a/wp-includes/images/spinner.gif and b/wp-includes/images/spinner.gif differ
index d40389c7639683d37cdc5eb2b0461933d515b573..077dd9de8adf74f555f5376f8a00d9153c3ee1d2 100644 (file)
Binary files a/wp-includes/images/uploader-icons-2x.png and b/wp-includes/images/uploader-icons-2x.png differ
index b72a074b08cb52bc860946ca71085ed2e42ae729..f9e999d736e1c9d76ab8aa174a82cef5569b7ac6 100644 (file)
Binary files a/wp-includes/images/uploader-icons.png and b/wp-includes/images/uploader-icons.png differ
index c9741fa02fa697b78b6a7f25ef1f4f547dc5a0d4..79607edcbafc08525f5cc676b974743d3037a657 100644 (file)
Binary files a/wp-includes/images/wlw/wp-watermark.png and b/wp-includes/images/wlw/wp-watermark.png differ
index 07390dcb1ec4b877be64fc4eff4f514ed514eb55..28a19af5525178bc82f6743578d4774f0262abb8 100644 (file)
Binary files a/wp-includes/images/wpicons-2x.png and b/wp-includes/images/wpicons-2x.png differ
index 8eef01eed85624e002ce3d2f6213d5319029afcb..05607e1589f9c943c30f76dbc0f98b644af8bd44 100644 (file)
Binary files a/wp-includes/images/wpicons.png and b/wp-includes/images/wpicons.png differ
index e10b97ff9d84d7ff8d7efe5c4c09783dd390e338..7f7172727e46bc58a6c8c31bc2e244b8870acf02 100644 (file)
Binary files a/wp-includes/images/wpspin.gif and b/wp-includes/images/wpspin.gif differ
index 64ab2ce789b4553820bcb932f5688ea2ea0376ed..b5ce86b77e48ed199f7835929c3164e4cbb5c385 100644 (file)
Binary files a/wp-includes/images/xit-2x.gif and b/wp-includes/images/xit-2x.gif differ
index 80c251fdd75c5a9a960b87e4120509a1100e131b..64cb8546cc2f2de09d377937fcc5abc5d947ae0d 100644 (file)
Binary files a/wp-includes/images/xit.gif and b/wp-includes/images/xit.gif differ
index 3ad733e9ff3f2d9702fba4117a963e08e194945a..1d43a7ccbd3205ff38d0724074c020383e4c8c8c 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:7,timeout:0};e="object"==typeof b?a.extend(e,b):a.isFunction(c)?a.extend(e,{over:b,out:c,selector:d}):a.extend(e,{over:b,out:b,selector:c});var f,g,h,i,j=function(a){f=a.pageX,g=a.pageY},k=function(b,c){return c.hoverIntent_t=clearTimeout(c.hoverIntent_t),Math.abs(h-f)+Math.abs(i-g)<e.sensitivity?(a(c).off("mousemove.hoverIntent",j),c.hoverIntent_s=1,e.over.apply(c,[b])):(h=f,i=g,c.hoverIntent_t=setTimeout(function(){k(b,c)},e.interval),void 0)},l=function(a,b){return b.hoverIntent_t=clearTimeout(b.hoverIntent_t),b.hoverIntent_s=0,e.out.apply(b,[a])},m=function(b){var c=jQuery.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),1!=d.hoverIntent_s&&(d.hoverIntent_t=setTimeout(function(){k(c,d)},e.interval))):(a(d).off("mousemove.hoverIntent",j),1==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");c.stopPropagation(),c.preventDefault(),e.length||(e=a("#wpadminbar .quicklinks")),e.find(".menupop").removeClass("hover"),d.parent().toggleClass("hover"),d.siblings(".ab-sub-wrapper").find(".ab-item").each(b)}}).each(b),a("#wpadminbar .ab-item").bind("keydown.adminbar",function(c){if(27==c.which){var d=a(c.target);c.stopPropagation(),c.preventDefault(),d.closest(".hover").removeClass("hover").children(".ab-item").focus(),d.siblings(".ab-sub-wrapper").find(".ab-item").each(b)}}),a("#wpadminbar").click(function(b){("wpadminbar"==b.target.id||"wp-admin-bar-top-secondary"==b.target.id)&&(b.preventDefault(),a("html, body").animate({scrollTop:0},"fast"))}),a(".screen-reader-shortcut").keydown(function(b){var c,d;13==b.which&&(c=a(this).attr("href"),d=navigator.userAgent.toLowerCase(),-1!=d.indexOf("applewebkit")&&c&&"#"==c.charAt(0)&&setTimeout(function(){a(c).focus()},100))}),"sessionStorage"in window&&a("#wp-admin-bar-logout a").click(function(){try{for(var a in sessionStorage)-1!=a.indexOf("wp-autosave-")&&sessionStorage.removeItem(a)}catch(b){}}),navigator.userAgent&&-1===document.body.className.indexOf("no-font-face")&&/Android (1.0|1.1|1.5|1.6|2.0|2.1)|Nokia|Opera Mini|w(eb)?OSBrowser|webOS|UCWEB|Windows Phone OS 7|XBLWP7|ZuneWP7|MSIE 7/.test(navigator.userAgent)&&(document.body.className+=" no-font-face")})):!function(a,b){var c,d=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,function(){return c.call(a,window.event)})},e=new RegExp("\\bhover\\b","g"),f=[],g=new RegExp("\\bselected\\b","g"),h=function(a){for(var b=f.length;b--;)if(f[b]&&a==f[b][1])return f[b][0];return!1},i=function(b){for(var d,i,j,k,l,m,n=[],o=0;b&&b!=c&&b!=a;)"LI"==b.nodeName.toUpperCase()&&(n[n.length]=b,i=h(b),i&&clearTimeout(i),b.className=b.className?b.className.replace(e,"")+" hover":"hover",k=b),b=b.parentNode;if(k&&k.parentNode&&(l=k.parentNode,l&&"UL"==l.nodeName.toUpperCase()))for(d=l.childNodes.length;d--;)m=l.childNodes[d],m!=k&&(m.className=m.className?m.className.replace(g,""):"");for(d=f.length;d--;){for(j=!1,o=n.length;o--;)n[o]==f[d][1]&&(j=!0);j||(f[d][1].className=f[d][1].className?f[d][1].className.replace(e,""):"")}},j=function(b){for(;b&&b!=c&&b!=a;)"LI"==b.nodeName.toUpperCase()&&!function(a){var b=setTimeout(function(){a.className=a.className?a.className.replace(e,""):""},500);f[f.length]=[b,a]}(b),b=b.parentNode},k=function(b){for(var d,e,f,h=b.target||b.srcElement;;){if(!h||h==a||h==c)return;if(h.id&&"wp-admin-bar-get-shortlink"==h.id)break;h=h.parentNode}for(b.preventDefault&&b.preventDefault(),b.returnValue=!1,-1==h.className.indexOf("selected")&&(h.className+=" selected"),d=0,e=h.childNodes.length;e>d;d++)if(f=h.childNodes[d],f.className&&-1!=f.className.indexOf("shortlink-input")){f.focus(),f.select(),f.onblur=function(){h.className=h.className?h.className.replace(g,""):""};break}return!1},l=function(a){var b,c,d,e,f,g;if(!("wpadminbar"!=a.id&&"wp-admin-bar-top-secondary"!=a.id||(b=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,1>b)))for(g=b>800?130:100,c=Math.min(12,Math.round(b/g)),d=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
+"undefined"!=typeof jQuery?("undefined"==typeof jQuery.fn.hoverIntent&&!function(a){a.fn.hoverIntent=function(b,c,d){var e={interval:100,sensitivity:7,timeout:0};e="object"==typeof b?a.extend(e,b):a.isFunction(c)?a.extend(e,{over:b,out:c,selector:d}):a.extend(e,{over:b,out:b,selector:c});var f,g,h,i,j=function(a){f=a.pageX,g=a.pageY},k=function(b,c){return c.hoverIntent_t=clearTimeout(c.hoverIntent_t),Math.abs(h-f)+Math.abs(i-g)<e.sensitivity?(a(c).off("mousemove.hoverIntent",j),c.hoverIntent_s=1,e.over.apply(c,[b])):(h=f,i=g,c.hoverIntent_t=setTimeout(function(){k(b,c)},e.interval),void 0)},l=function(a,b){return b.hoverIntent_t=clearTimeout(b.hoverIntent_t),b.hoverIntent_s=0,e.out.apply(b,[a])},m=function(b){var c=jQuery.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),1!=d.hoverIntent_s&&(d.hoverIntent_t=setTimeout(function(){k(c,d)},e.interval))):(a(d).off("mousemove.hoverIntent",j),1==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");c.stopPropagation(),c.preventDefault(),e.length||(e=a("#wpadminbar .quicklinks")),e.find(".menupop").removeClass("hover"),d.parent().toggleClass("hover"),d.siblings(".ab-sub-wrapper").find(".ab-item").each(b)}}).each(b),a("#wpadminbar .ab-item").bind("keydown.adminbar",function(c){if(27==c.which){var d=a(c.target);c.stopPropagation(),c.preventDefault(),d.closest(".hover").removeClass("hover").children(".ab-item").focus(),d.siblings(".ab-sub-wrapper").find(".ab-item").each(b)}}),a("#wpadminbar").click(function(b){("wpadminbar"==b.target.id||"wp-admin-bar-top-secondary"==b.target.id)&&(b.preventDefault(),a("html, body").animate({scrollTop:0},"fast"))}),a(".screen-reader-shortcut").keydown(function(b){var c,d;13==b.which&&(c=a(this).attr("href"),d=navigator.userAgent.toLowerCase(),-1!=d.indexOf("applewebkit")&&c&&"#"==c.charAt(0)&&setTimeout(function(){a(c).focus()},100))}),"sessionStorage"in window&&a("#wp-admin-bar-logout a").click(function(){try{for(var a in sessionStorage)-1!=a.indexOf("wp-autosave-")&&sessionStorage.removeItem(a)}catch(b){}}),navigator.userAgent&&-1===document.body.className.indexOf("no-font-face")&&/Android (1.0|1.1|1.5|1.6|2.0|2.1)|Nokia|Opera Mini|w(eb)?OSBrowser|webOS|UCWEB|Windows Phone OS 7|XBLWP7|ZuneWP7|MSIE 7/.test(navigator.userAgent)&&(document.body.className+=" no-font-face")})):!function(a,b){var c,d=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,function(){return c.call(a,window.event)})},e=new RegExp("\\bhover\\b","g"),f=[],g=new RegExp("\\bselected\\b","g"),h=function(a){for(var b=f.length;b--;)if(f[b]&&a==f[b][1])return f[b][0];return!1},i=function(b){for(var d,i,j,k,l,m,n=[],o=0;b&&b!=c&&b!=a;)"LI"==b.nodeName.toUpperCase()&&(n[n.length]=b,i=h(b),i&&clearTimeout(i),b.className=b.className?b.className.replace(e,"")+" hover":"hover",k=b),b=b.parentNode;if(k&&k.parentNode&&(l=k.parentNode,l&&"UL"==l.nodeName.toUpperCase()))for(d=l.childNodes.length;d--;)m=l.childNodes[d],m!=k&&(m.className=m.className?m.className.replace(g,""):"");for(d=f.length;d--;){for(j=!1,o=n.length;o--;)n[o]==f[d][1]&&(j=!0);j||(f[d][1].className=f[d][1].className?f[d][1].className.replace(e,""):"")}},j=function(b){for(;b&&b!=c&&b!=a;)"LI"==b.nodeName.toUpperCase()&&!function(a){var b=setTimeout(function(){a.className=a.className?a.className.replace(e,""):""},500);f[f.length]=[b,a]}(b),b=b.parentNode},k=function(b){for(var d,e,f,h=b.target||b.srcElement;;){if(!h||h==a||h==c)return;if(h.id&&"wp-admin-bar-get-shortlink"==h.id)break;h=h.parentNode}for(b.preventDefault&&b.preventDefault(),b.returnValue=!1,-1==h.className.indexOf("selected")&&(h.className+=" selected"),d=0,e=h.childNodes.length;e>d;d++)if(f=h.childNodes[d],f.className&&-1!=f.className.indexOf("shortlink-input")){f.focus(),f.select(),f.onblur=function(){h.className=h.className?h.className.replace(g,""):""};break}return!1},l=function(a){var b,c,d,e,f,g;if(!("wpadminbar"!=a.id&&"wp-admin-bar-top-secondary"!=a.id||(b=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,1>b)))for(g=b>800?130:100,c=Math.min(12,Math.round(b/g)),d=Math.round(b>800?b/30:b/20),e=[],f=0;b;)b-=d,0>b&&(b=0),e.push(b),setTimeout(function(){window.scrollTo(0,e.shift())},f*c),f++};d(b,"load",function(){c=a.getElementById("wpadminbar"),a.body&&c&&(a.body.appendChild(c),c.className&&(c.className=c.className.replace(/nojs/,"")),d(c,"mouseover",function(a){i(a.target||a.srcElement)}),d(c,"mouseout",function(a){j(a.target||a.srcElement)}),d(c,"click",k),d(c,"click",function(a){l(a.target||a.srcElement)}),d(document.getElementById("wp-admin-bar-logout"),"click",function(){if("sessionStorage"in window)try{for(var a in sessionStorage)-1!=a.indexOf("wp-autosave-")&&sessionStorage.removeItem(a)}catch(b){}})),b.location.hash&&b.scrollBy(0,-32),navigator.userAgent&&-1===document.body.className.indexOf("no-font-face")&&/Android (1.0|1.1|1.5|1.6|2.0|2.1)|Nokia|Opera Mini|w(eb)?OSBrowser|webOS|UCWEB|Windows Phone OS 7|XBLWP7|ZuneWP7|MSIE 7/.test(navigator.userAgent)&&(document.body.className+=" no-font-face")})}(document,window);
\ No newline at end of file
index 6345d36c0ef048e9b14016d5d736e5a4bfe13b7f..def54298ebc05d03b997a3821b0c9f5f8d573ca9 100644 (file)
-/* global switchEditors, autosaveL10n, tinymce, ajaxurl, wpAjax, makeSlugeditClickable, wpCookies */
-var autosave, autosavePeriodical, fullscreen, doPreview,
-       autosaveLast = '',
-       autosaveDelayPreview = false,
-       notSaved = true,
-       blockSave = false,
-       autosaveLockRelease = true;
-
-jQuery(document).ready( function($) {
-
-       if ( $('#wp-content-wrap').hasClass('tmce-active') && typeof switchEditors != 'undefined' ) {
-               autosaveLast = wp.autosave.getCompareString({
-                       post_title : $('#title').val() || '',
-                       content : switchEditors.pre_wpautop( $('#content').val() ) || '',
-                       excerpt : $('#excerpt').val() || ''
-               });
-       } else {
-               autosaveLast = wp.autosave.getCompareString();
-       }
+/* global tinymce, wpCookies, autosaveL10n, switchEditors */
+// Back-compat
+window.autosave = function() {
+       return true;
+};
 
-       autosavePeriodical = $.schedule({time: autosaveL10n.autosaveInterval * 1000, func: function() { autosave(); }, repeat: true, protect: true});
-
-       //Disable autosave after the form has been submitted
-       $('#post').submit(function() {
-               $.cancel(autosavePeriodical);
-               autosaveLockRelease = false;
-       });
-
-       $('input[type="submit"], a.submitdelete', '#submitpost').click(function(){
-               blockSave = true;
-               window.onbeforeunload = null;
-               $(':button, :submit', '#submitpost').each(function(){
-                       var t = $(this);
-                       if ( t.hasClass('button-primary') )
-                               t.addClass('button-primary-disabled');
-                       else
-                               t.addClass('button-disabled');
-               });
-               if ( $(this).attr('id') == 'publish' )
-                       $('#major-publishing-actions .spinner').show();
-               else
-                       $('#minor-publishing .spinner').show();
-       });
-
-       window.onbeforeunload = function(){
-               var editor = typeof(tinymce) != 'undefined' ? tinymce.activeEditor : false, compareString;
-
-               if ( editor && ! editor.isHidden() ) {
-                       if ( editor.isDirty() )
-                               return autosaveL10n.saveAlert;
-               } else {
-                       if ( fullscreen && fullscreen.settings.visible ) {
-                               compareString = wp.autosave.getCompareString({
-                                       post_title: $('#wp-fullscreen-title').val() || '',
-                                       content: $('#wp_mce_fullscreen').val() || '',
-                                       excerpt: $('#excerpt').val() || ''
-                               });
-                       } else {
-                               compareString = wp.autosave.getCompareString();
-                       }
+( function( $, window ) {
+       function autosave() {
+               var initialCompareString,
+               lastTriggerSave = 0,
+               $document = $(document);
 
-                       if ( compareString != autosaveLast )
-                               return autosaveL10n.saveAlert;
-               }
-       };
-
-       $(window).unload( function(e) {
-               if ( ! autosaveLockRelease )
-                       return;
-
-               // unload fires (twice) on removing the Thickbox iframe. Make sure we process only the main document unload.
-               if ( e.target && e.target.nodeName != '#document' )
-                       return;
-
-               $.ajax({
-                       type: 'POST',
-                       url: ajaxurl,
-                       async: false,
-                       data: {
-                               action: 'wp-remove-post-lock',
-                               _wpnonce: $('#_wpnonce').val(),
-                               post_ID: $('#post_ID').val(),
-                               active_post_lock: $('#active_post_lock').val()
+               /**
+                * Returns the data saved in both local and remote autosave
+                *
+                * @return object Object containing the post data
+                */
+               function getPostData( type ) {
+                       var post_name, parent_id, data,
+                               time = ( new Date() ).getTime(),
+                               cats = [],
+                               editor = typeof tinymce !== 'undefined' && tinymce.get('content');
+
+                       // Don't run editor.save() more often than every 3 sec.
+                       // It is resource intensive and might slow down typing in long posts on slow devices.
+                       if ( editor && ! editor.isHidden() && time - 3000 > lastTriggerSave ) {
+                               editor.save();
+                               lastTriggerSave = time;
                        }
-               });
-       } );
-
-       // preview
-       $('#post-preview').click(function(){
-               if ( $('#auto_draft').val() == '1' && notSaved ) {
-                       autosaveDelayPreview = true;
-                       autosave();
-                       return false;
-               }
-               doPreview();
-               return false;
-       });
 
-       doPreview = function() {
-               $('input#wp-preview').val('dopreview');
-               $('form#post').attr('target', 'wp-preview').submit().attr('target', '');
+                       data = {
+                               post_id: $( '#post_ID' ).val() || 0,
+                               post_type: $( '#post_type' ).val() || '',
+                               post_author: $( '#post_author' ).val() || '',
+                               post_title: $( '#title' ).val() || '',
+                               content: $( '#content' ).val() || '',
+                               excerpt: $( '#excerpt' ).val() || ''
+                       };
+
+                       if ( type === 'local' ) {
+                               return data;
+                       }
 
-               /*
-                * Workaround for WebKit bug preventing a form submitting twice to the same action.
-                * https://bugs.webkit.org/show_bug.cgi?id=28633
-                */
-               var ua = navigator.userAgent.toLowerCase();
-               if ( ua.indexOf('safari') != -1 && ua.indexOf('chrome') == -1 ) {
-                       $('form#post').attr('action', function(index, value) {
-                               return value + '?t=' + new Date().getTime();
+                       $( 'input[id^="in-category-"]:checked' ).each( function() {
+                               cats.push( this.value );
                        });
-               }
+                       data.catslist = cats.join(',');
 
-               $('input#wp-preview').val('');
-       };
+                       if ( post_name = $( '#post_name' ).val() ) {
+                               data.post_name = post_name;
+                       }
 
-       // This code is meant to allow tabbing from Title to Post content.
-       $('#title').on('keydown.editor-focus', function(e) {
-               var ed;
+                       if ( parent_id = $( '#parent_id' ).val() ) {
+                               data.parent_id = parent_id;
+                       }
 
-               if ( e.which != 9 )
-                       return;
+                       if ( $( '#comment_status' ).prop( 'checked' ) ) {
+                               data.comment_status = 'open';
+                       }
 
-               if ( !e.ctrlKey && !e.altKey && !e.shiftKey ) {
-                       if ( typeof(tinymce) != 'undefined' )
-                               ed = tinymce.get('content');
+                       if ( $( '#ping_status' ).prop( 'checked' ) ) {
+                               data.ping_status = 'open';
+                       }
 
-                       if ( ed && !ed.isHidden() ) {
-                               $(this).one('keyup', function(){
-                                       $('#content_tbl td.mceToolbar > a').focus();
-                               });
-                       } else {
-                               $('#content').focus();
+                       if ( $( '#auto_draft' ).val() === '1' ) {
+                               data.auto_draft = '1';
                        }
 
-                       e.preventDefault();
+                       return data;
                }
-       });
 
-       // autosave new posts after a title is typed but not if Publish or Save Draft is clicked
-       if ( '1' == $('#auto_draft').val() ) {
-               $('#title').blur( function() {
-                       if ( !this.value || $('#auto_draft').val() != '1' )
-                               return;
-                       delayed_autosave();
-               });
-       }
-
-       // When connection is lost, keep user from submitting changes.
-       $(document).on('heartbeat-connection-lost.autosave', function( e, error, status ) {
-               if ( 'timeout' === error || 503 == status ) {
-                       var notice = $('#lost-connection-notice');
-                       if ( ! wp.autosave.local.hasStorage ) {
-                               notice.find('.hide-if-no-sessionstorage').hide();
+               // Concatenate title, content and excerpt. Used to track changes when auto-saving.
+               function getCompareString( postData ) {
+                       if ( typeof postData === 'object' ) {
+                               return ( postData.post_title || '' ) + '::' + ( postData.content || '' ) + '::' + ( postData.excerpt || '' );
                        }
-                       notice.show();
-                       autosave_disable_buttons();
-               }
-       }).on('heartbeat-connection-restored.autosave', function() {
-               $('#lost-connection-notice').hide();
-               autosave_enable_buttons();
-       });
-});
-
-function autosave_parse_response( response ) {
-       var res = wpAjax.parseAjaxResponse(response, 'autosave'), post_id, sup;
-
-       if ( res && res.responses && res.responses.length ) {
-               if ( res.responses[0].supplemental ) {
-                       sup = res.responses[0].supplemental;
-
-                       jQuery.each( sup, function( selector, value ) {
-                               if ( selector.match(/^replace-/) )
-                                       jQuery( '#' + selector.replace('replace-', '') ).val( value );
-                       });
+
+                       return ( $('#title').val() || '' ) + '::' + ( $('#content').val() || '' ) + '::' + ( $('#excerpt').val() || '' );
                }
 
-               // if no errors: add slug UI and update autosave-message
-               if ( !res.errors ) {
-                       if ( post_id = parseInt( res.responses[0].id, 10 ) )
-                               autosave_update_slug( post_id );
+               function disableButtons() {
+                       $document.trigger('autosave-disable-buttons');
+                       // Re-enable 5 sec later. Just gives autosave a head start to avoid collisions.
+                       setTimeout( enableButtons, 5000 );
+               }
 
-                       if ( res.responses[0].data ) // update autosave message
-                               jQuery('.autosave-message').text( res.responses[0].data );
+               function enableButtons() {
+                       $document.trigger( 'autosave-enable-buttons' );
                }
-       }
 
-       return res;
-}
+               // Autosave in localStorage
+               function autosaveLocal() {
+                       var restorePostData, undoPostData, blog_id, post_id, hasStorage, intervalTimer,
+                               lastCompareString,
+                               isSuspended = false;
+
+                       // Check if the browser supports sessionStorage and it's not disabled
+                       function checkStorage() {
+                               var test = Math.random().toString(),
+                                       result = false;
+
+                               try {
+                                       window.sessionStorage.setItem( 'wp-test', test );
+                                       result = window.sessionStorage.getItem( 'wp-test' ) === test;
+                                       window.sessionStorage.removeItem( 'wp-test' );
+                               } catch(e) {}
+
+                               hasStorage = result;
+                               return result;
+                       }
 
-// called when autosaving pre-existing post
-function autosave_saved(response) {
-       blockSave = false;
-       autosave_parse_response(response); // parse the ajax response
-       autosave_enable_buttons(); // re-enable disabled form buttons
-}
+                       /**
+                        * Initialize the local storage
+                        *
+                        * @return mixed False if no sessionStorage in the browser or an Object containing all postData for this blog
+                        */
+                       function getStorage() {
+                               var stored_obj = false;
+                               // Separate local storage containers for each blog_id
+                               if ( hasStorage && blog_id ) {
+                                       stored_obj = sessionStorage.getItem( 'wp-autosave-' + blog_id );
+
+                                       if ( stored_obj ) {
+                                               stored_obj = JSON.parse( stored_obj );
+                                       } else {
+                                               stored_obj = {};
+                                       }
+                               }
 
-// called when autosaving new post
-function autosave_saved_new(response) {
-       blockSave = false;
-       var res = autosave_parse_response(response), post_id;
+                               return stored_obj;
+                       }
 
-       if ( res && res.responses.length && !res.errors ) {
-               // An ID is sent only for real auto-saves, not for autosave=0 "keepalive" saves
-               post_id = parseInt( res.responses[0].id, 10 );
+                       /**
+                        * Set the storage for this blog
+                        *
+                        * Confirms that the data was saved successfully.
+                        *
+                        * @return bool
+                        */
+                       function setStorage( stored_obj ) {
+                               var key;
+
+                               if ( hasStorage && blog_id ) {
+                                       key = 'wp-autosave-' + blog_id;
+                                       sessionStorage.setItem( key, JSON.stringify( stored_obj ) );
+                                       return sessionStorage.getItem( key ) !== null;
+                               }
 
-               if ( post_id ) {
-                       notSaved = false;
-                       jQuery('#auto_draft').val('0'); // No longer an auto-draft
-               }
+                               return false;
+                       }
 
-               autosave_enable_buttons();
+                       /**
+                        * Get the saved post data for the current post
+                        *
+                        * @return mixed False if no storage or no data or the postData as an Object
+                        */
+                       function getSavedPostData() {
+                               var stored = getStorage();
 
-               if ( autosaveDelayPreview ) {
-                       autosaveDelayPreview = false;
-                       doPreview();
-               }
-       } else {
-               autosave_enable_buttons(); // re-enable disabled form buttons
-       }
-}
-
-function autosave_update_slug(post_id) {
-       // create slug area only if not already there
-       if ( 'undefined' != makeSlugeditClickable && jQuery.isFunction(makeSlugeditClickable) && !jQuery('#edit-slug-box > *').size() ) {
-               jQuery.post( ajaxurl, {
-                               action: 'sample-permalink',
-                               post_id: post_id,
-                               new_title: fullscreen && fullscreen.settings.visible ? jQuery('#wp-fullscreen-title').val() : jQuery('#title').val(),
-                               samplepermalinknonce: jQuery('#samplepermalinknonce').val()
-                       },
-                       function(data) {
-                               if ( data !== '-1' ) {
-                                       var box = jQuery('#edit-slug-box');
-                                       box.html(data);
-                                       if (box.hasClass('hidden')) {
-                                               box.fadeIn('fast', function () {
-                                                       box.removeClass('hidden');
-                                               });
-                                       }
-                                       makeSlugeditClickable();
+                               if ( ! stored || ! post_id ) {
+                                       return false;
                                }
+
+                               return stored[ 'post_' + post_id ] || false;
                        }
-               );
-       }
-}
-
-function autosave_loading() {
-       jQuery('.autosave-message').html(autosaveL10n.savingText);
-}
-
-function autosave_enable_buttons() {
-       jQuery(document).trigger('autosave-enable-buttons');
-       if ( ! wp.heartbeat || ! wp.heartbeat.hasConnectionError() ) {
-               // delay that a bit to avoid some rare collisions while the DOM is being updated.
-               setTimeout(function(){
-                       var parent = jQuery('#submitpost');
-                       parent.find(':button, :submit').removeAttr('disabled');
-                       parent.find('.spinner').hide();
-               }, 500);
-       }
-}
-
-function autosave_disable_buttons() {
-       jQuery(document).trigger('autosave-disable-buttons');
-       jQuery('#submitpost').find(':button, :submit').prop('disabled', true);
-       // Re-enable 5 sec later. Just gives autosave a head start to avoid collisions.
-       setTimeout( autosave_enable_buttons, 5000 );
-}
-
-function delayed_autosave() {
-       setTimeout(function(){
-               if ( blockSave )
-                       return;
-               autosave();
-       }, 200);
-}
-
-autosave = function() {
-       var post_data = wp.autosave.getPostData(),
-               compareString,
-               successCallback;
-
-       blockSave = true;
-
-       // post_data.content cannot be retrieved at the moment
-       if ( ! post_data.autosave )
-               return false;
-
-       // No autosave while thickbox is open (media buttons)
-       if ( jQuery('#TB_window').css('display') == 'block' )
-               return false;
-
-       compareString = wp.autosave.getCompareString( post_data );
-
-       // Nothing to save or no change.
-       if ( compareString == autosaveLast )
-               return false;
-
-       autosaveLast = compareString;
-       jQuery(document).triggerHandler('wpcountwords', [ post_data.content ]);
-
-       // Disable buttons until we know the save completed.
-       autosave_disable_buttons();
-
-       if ( post_data.auto_draft == '1' ) {
-               successCallback = autosave_saved_new; // new post
-       } else {
-               successCallback = autosave_saved; // pre-existing post
-       }
 
-       jQuery.ajax({
-               data: post_data,
-               beforeSend: autosave_loading,
-               type: 'POST',
-               url: ajaxurl,
-               success: successCallback
-       });
+                       /**
+                        * Set (save or delete) post data in the storage.
+                        *
+                        * If stored_data evaluates to 'false' the storage key for the current post will be removed
+                        *
+                        * $param stored_data The post data to store or null/false/empty to delete the key
+                        * @return bool
+                        */
+                       function setData( stored_data ) {
+                               var stored = getStorage();
+
+                               if ( ! stored || ! post_id ) {
+                                       return false;
+                               }
 
-       return true;
-};
+                               if ( stored_data ) {
+                                       stored[ 'post_' + post_id ] = stored_data;
+                               } else if ( stored.hasOwnProperty( 'post_' + post_id ) ) {
+                                       delete stored[ 'post_' + post_id ];
+                               } else {
+                                       return false;
+                               }
 
-// Autosave in localStorage
-// set as simple object/mixin for now
-window.wp = window.wp || {};
-wp.autosave = wp.autosave || {};
-
-(function($){
-// Returns the data for saving in both localStorage and autosaves to the server
-wp.autosave.getPostData = function() {
-       var ed = typeof tinymce != 'undefined' ? tinymce.activeEditor : null, post_name, parent_id, cats = [],
-               data = {
-                       action: 'autosave',
-                       autosave: true,
-                       post_id: $('#post_ID').val() || 0,
-                       autosavenonce: $('#autosavenonce').val() || '',
-                       post_type: $('#post_type').val() || '',
-                       post_author: $('#post_author').val() || '',
-                       excerpt: $('#excerpt').val() || ''
-               };
+                               return setStorage( stored );
+                       }
 
-       if ( ed && !ed.isHidden() ) {
-               // Don't run while the tinymce spellcheck is on. It resets all found words.
-               if ( ed.plugins.spellchecker && ed.plugins.spellchecker.active ) {
-                       data.autosave = false;
-                       return data;
-               } else {
-                       if ( 'mce_fullscreen' == ed.id )
-                               tinymce.get('content').setContent(ed.getContent({format : 'raw'}), {format : 'raw'});
+                       function suspend() {
+                               isSuspended = true;
+                       }
 
-                       tinymce.triggerSave();
-               }
-       }
+                       function resume() {
+                               isSuspended = false;
+                       }
 
-       if ( typeof fullscreen != 'undefined' && fullscreen.settings.visible ) {
-               data.post_title = $('#wp-fullscreen-title').val() || '';
-               data.content = $('#wp_mce_fullscreen').val() || '';
-       } else {
-               data.post_title = $('#title').val() || '';
-               data.content = $('#content').val() || '';
-       }
+                       /**
+                        * Save post data for the current post
+                        *
+                        * Runs on a 15 sec. interval, saves when there are differences in the post title or content.
+                        * When the optional data is provided, updates the last saved post data.
+                        *
+                        * $param data optional Object The post data for saving, minimum 'post_title' and 'content'
+                        * @return bool
+                        */
+                       function save( data ) {
+                               var postData, compareString,
+                                       result = false;
+
+                               if ( isSuspended ) {
+                                       return false;
+                               }
 
-       /*
-       // We haven't been saving tags with autosave since 2.8... Start again?
-       $('.the-tags').each( function() {
-               data[this.name] = this.value;
-       });
-       */
+                               if ( data ) {
+                                       postData = getSavedPostData() || {};
+                                       $.extend( postData, data );
+                               } else {
+                                       postData = getPostData('local');
+                               }
 
-       $('input[id^="in-category-"]:checked').each( function() {
-               cats.push(this.value);
-       });
-       data.catslist = cats.join(',');
+                               compareString = getCompareString( postData );
 
-       if ( post_name = $('#post_name').val() )
-               data.post_name = post_name;
+                               if ( typeof lastCompareString === 'undefined' ) {
+                                       lastCompareString = initialCompareString;
+                               }
 
-       if ( parent_id = $('#parent_id').val() )
-               data.parent_id = parent_id;
+                               // If the content, title and excerpt did not change since the last save, don't save again
+                               if ( compareString === lastCompareString ) {
+                                       return false;
+                               }
 
-       if ( $('#comment_status').prop('checked') )
-               data.comment_status = 'open';
+                               postData.save_time = ( new Date() ).getTime();
+                               postData.status = $( '#post_status' ).val() || '';
+                               result = setData( postData );
 
-       if ( $('#ping_status').prop('checked') )
-               data.ping_status = 'open';
+                               if ( result ) {
+                                       lastCompareString = compareString;
+                               }
 
-       if ( $('#auto_draft').val() == '1' )
-               data.auto_draft = '1';
+                               return result;
+                       }
 
-       return data;
-};
+                       // Run on DOM ready
+                       function run() {
+                               post_id = $('#post_ID').val() || 0;
+
+                               // Check if the local post data is different than the loaded post data.
+                               if ( $( '#wp-content-wrap' ).hasClass( 'tmce-active' ) ) {
+                                       // If TinyMCE loads first, check the post 1.5 sec. after it is ready.
+                                       // By this time the content has been loaded in the editor and 'saved' to the textarea.
+                                       // This prevents false positives.
+                                       $document.on( 'tinymce-editor-init.autosave', function() {
+                                               window.setTimeout( function() {
+                                                       checkPost();
+                                               }, 1500 );
+                                       });
+                               } else {
+                                       checkPost();
+                               }
 
-// Concatenate title, content and excerpt. Used to track changes when auto-saving.
-wp.autosave.getCompareString = function( post_data ) {
-       if ( typeof post_data === 'object' ) {
-               return ( post_data.post_title || '' ) + '::' + ( post_data.content || '' ) + '::' + ( post_data.excerpt || '' );
-       }
+                               // Save every 15 sec.
+                               intervalTimer = window.setInterval( save, 15000 );
+
+                               $( 'form#post' ).on( 'submit.autosave-local', function() {
+                                       var editor = typeof tinymce !== 'undefined' && tinymce.get('content'),
+                                               post_id = $('#post_ID').val() || 0;
+
+                                       if ( editor && ! editor.isHidden() ) {
+                                               // Last onSubmit event in the editor, needs to run after the content has been moved to the textarea.
+                                               editor.on( 'submit', function() {
+                                                       save({
+                                                               post_title: $( '#title' ).val() || '',
+                                                               content: $( '#content' ).val() || '',
+                                                               excerpt: $( '#excerpt' ).val() || ''
+                                                       });
+                                               });
+                                       } else {
+                                               save({
+                                                       post_title: $( '#title' ).val() || '',
+                                                       content: $( '#content' ).val() || '',
+                                                       excerpt: $( '#excerpt' ).val() || ''
+                                               });
+                                       }
 
-       return ( $('#title').val() || '' ) + '::' + ( $('#content').val() || '' ) + '::' + ( $('#excerpt').val() || '' );
-};
+                                       wpCookies.set( 'wp-saving-post-' + post_id, 'check' );
+                               });
+                       }
 
-wp.autosave.local = {
-
-       lastSavedData: '',
-       blog_id: 0,
-       hasStorage: false,
-
-       // Check if the browser supports sessionStorage and it's not disabled
-       checkStorage: function() {
-               var test = Math.random(), result = false;
-
-               try {
-                       sessionStorage.setItem('wp-test', test);
-                       result = sessionStorage.getItem('wp-test') == test;
-                       sessionStorage.removeItem('wp-test');
-               } catch(e) {}
-
-               this.hasStorage = result;
-               return result;
-    },
-
-       /**
-        * Initialize the local storage
-        *
-        * @return mixed False if no sessionStorage in the browser or an Object containing all post_data for this blog
-        */
-       getStorage: function() {
-               var stored_obj = false;
-               // Separate local storage containers for each blog_id
-               if ( this.hasStorage && this.blog_id ) {
-                       stored_obj = sessionStorage.getItem( 'wp-autosave-' + this.blog_id );
-
-                       if ( stored_obj )
-                               stored_obj = JSON.parse( stored_obj );
-                       else
-                               stored_obj = {};
-               }
+                       // Strip whitespace and compare two strings
+                       function compare( str1, str2 ) {
+                               function removeSpaces( string ) {
+                                       return string.toString().replace(/[\x20\t\r\n\f]+/g, '');
+                               }
 
-               return stored_obj;
-       },
-
-       /**
-        * Set the storage for this blog
-        *
-        * Confirms that the data was saved successfully.
-        *
-        * @return bool
-        */
-       setStorage: function( stored_obj ) {
-               var key;
-
-               if ( this.hasStorage && this.blog_id ) {
-                       key = 'wp-autosave-' + this.blog_id;
-                       sessionStorage.setItem( key, JSON.stringify( stored_obj ) );
-                       return sessionStorage.getItem( key ) !== null;
-               }
+                               return ( removeSpaces( str1 || '' ) === removeSpaces( str2 || '' ) );
+                       }
 
-               return false;
-       },
-
-       /**
-        * Get the saved post data for the current post
-        *
-        * @return mixed False if no storage or no data or the post_data as an Object
-        */
-       getData: function() {
-               var stored = this.getStorage(), post_id = $('#post_ID').val();
-
-               if ( !stored || !post_id )
-                       return false;
-
-               return stored[ 'post_' + post_id ] || false;
-       },
-
-       /**
-        * Set (save or delete) post data in the storage.
-        *
-        * If stored_data evaluates to 'false' the storage key for the current post will be removed
-        *
-        * $param stored_data The post data to store or null/false/empty to delete the key
-        * @return bool
-        */
-       setData: function( stored_data ) {
-               var stored = this.getStorage(), post_id = $('#post_ID').val();
-
-               if ( !stored || !post_id )
-                       return false;
-
-               if ( stored_data )
-                       stored[ 'post_' + post_id ] = stored_data;
-               else if ( stored.hasOwnProperty( 'post_' + post_id ) )
-                       delete stored[ 'post_' + post_id ];
-               else
-                       return false;
-
-               return this.setStorage(stored);
-       },
-
-       /**
-        * Save post data for the current post
-        *
-        * Runs on a 15 sec. schedule, saves when there are differences in the post title or content.
-        * When the optional data is provided, updates the last saved post data.
-        *
-        * $param data optional Object The post data for saving, minimum 'post_title' and 'content'
-        * @return bool
-        */
-       save: function( data ) {
-               var result = false, post_data, compareString;
-
-               if ( ! data ) {
-                       post_data = wp.autosave.getPostData();
-               } else {
-                       post_data = this.getData() || {};
-                       $.extend( post_data, data );
-                       post_data.autosave = true;
-               }
+                       /**
+                        * Check if the saved data for the current post (if any) is different than the loaded post data on the screen
+                        *
+                        * Shows a standard message letting the user restore the post data if different.
+                        *
+                        * @return void
+                        */
+                       function checkPost() {
+                               var content, post_title, excerpt, $notice,
+                                       postData = getSavedPostData(),
+                                       cookie = wpCookies.get( 'wp-saving-post-' + post_id );
+
+                               if ( ! postData ) {
+                                       return;
+                               }
 
-               // Cannot get the post data at the moment
-               if ( ! post_data.autosave )
-                       return false;
+                               if ( cookie ) {
+                                       wpCookies.remove( 'wp-saving-post-' + post_id );
 
-               compareString = wp.autosave.getCompareString( post_data );
+                                       if ( cookie === 'saved' ) {
+                                               // The post was saved properly, remove old data and bail
+                                               setData( false );
+                                               return;
+                                       }
+                               }
 
-               // If the content, title and excerpt did not change since the last save, don't save again
-               if ( compareString == this.lastSavedData )
-                       return false;
+                               // There is a newer autosave. Don't show two "restore" notices at the same time.
+                               if ( $( '#has-newer-autosave' ).length ) {
+                                       return;
+                               }
 
-               post_data.save_time = (new Date()).getTime();
-               post_data.status = $('#post_status').val() || '';
-               result = this.setData( post_data );
+                               content = $( '#content' ).val() || '';
+                               post_title = $( '#title' ).val() || '';
+                               excerpt = $( '#excerpt' ).val() || '';
 
-               if ( result )
-                       this.lastSavedData = compareString;
+                               // cookie == 'check' means the post was not saved properly, always show #local-storage-notice
+                               if ( cookie !== 'check' && compare( content, postData.content ) &&
+                                       compare( post_title, postData.post_title ) && compare( excerpt, postData.excerpt ) ) {
 
-               return result;
-       },
+                                       return;
+                               }
 
-       // Initialize and run checkPost() on loading the script (before TinyMCE init)
-       init: function( settings ) {
-               var self = this;
+                               restorePostData = postData;
+                               undoPostData = {
+                                       content: content,
+                                       post_title: post_title,
+                                       excerpt: excerpt
+                               };
+
+                               $notice = $( '#local-storage-notice' );
+                               $('.wrap h2').first().after( $notice.addClass( 'updated' ).show() );
+
+                               $notice.on( 'click.autosave-local', function( event ) {
+                                       var $target = $( event.target );
+
+                                       if ( $target.hasClass( 'restore-backup' ) ) {
+                                               restorePost( restorePostData );
+                                               $target.parent().hide();
+                                               $(this).find( 'p.undo-restore' ).show();
+                                       } else if ( $target.hasClass( 'undo-restore-backup' ) ) {
+                                               restorePost( undoPostData );
+                                               $target.parent().hide();
+                                               $(this).find( 'p.local-restore' ).show();
+                                       }
 
-               // Check if the browser supports sessionStorage and it's not disabled
-               if ( ! this.checkStorage() )
-                       return;
+                                       event.preventDefault();
+                               });
+                       }
 
-               // Don't run if the post type supports neither 'editor' (textarea#content) nor 'excerpt'.
-               if ( ! $('#content').length && ! $('#excerpt').length )
-                       return;
+                       // Restore the current title, content and excerpt from postData.
+                       function restorePost( postData ) {
+                               var editor;
 
-               if ( settings )
-                       $.extend( this, settings );
+                               if ( postData ) {
+                                       // Set the last saved data
+                                       lastCompareString = getCompareString( postData );
 
-               if ( !this.blog_id )
-                       this.blog_id = typeof window.autosaveL10n != 'undefined' ? window.autosaveL10n.blog_id : 0;
+                                       if ( $( '#title' ).val() !== postData.post_title ) {
+                                               $( '#title' ).focus().val( postData.post_title || '' );
+                                       }
 
-               $(document).ready( function(){ self.run(); } );
-       },
+                                       $( '#excerpt' ).val( postData.excerpt || '' );
+                                       editor = typeof tinymce !== 'undefined' && tinymce.get('content');
+
+                                       if ( editor && ! editor.isHidden() && typeof switchEditors !== 'undefined' ) {
+                                               // Make sure there's an undo level in the editor
+                                               editor.undoManager.add();
+                                               editor.setContent( postData.content ? switchEditors.wpautop( postData.content ) : '' );
+                                       } else {
+                                               // Make sure the Text editor is selected
+                                               $( '#content-html' ).click();
+                                               $( '#content' ).val( postData.content );
+                                       }
 
-       // Run on DOM ready
-       run: function() {
-               var self = this;
+                                       return true;
+                               }
 
-               // Check if the local post data is different than the loaded post data.
-               this.checkPost();
+                               return false;
+                       }
 
-               // Set the schedule
-               this.schedule = $.schedule({
-                       time: 15 * 1000,
-                       func: function() { wp.autosave.local.save(); },
-                       repeat: true,
-                       protect: true
-               });
+                       // Initialize and run checkPost() on loading the script (before TinyMCE init)
+                       blog_id = typeof window.autosaveL10n !== 'undefined' && window.autosaveL10n.blog_id;
 
-               $('form#post').on('submit.autosave-local', function() {
-                       var editor = typeof tinymce != 'undefined' && tinymce.get('content'), post_id = $('#post_ID').val() || 0;
+                       // Check if the browser supports sessionStorage and it's not disabled
+                       if ( ! checkStorage() ) {
+                               return;
+                       }
 
-                       if ( editor && ! editor.isHidden() ) {
-                               // Last onSubmit event in the editor, needs to run after the content has been moved to the textarea.
-                               editor.onSubmit.add( function() {
-                                       wp.autosave.local.save({
-                                               post_title: $('#title').val() || '',
-                                               content: $('#content').val() || '',
-                                               excerpt: $('#excerpt').val() || ''
-                                       });
-                               });
-                       } else {
-                               self.save({
-                                       post_title: $('#title').val() || '',
-                                       content: $('#content').val() || '',
-                                       excerpt: $('#excerpt').val() || ''
-                               });
+                       // Don't run if the post type supports neither 'editor' (textarea#content) nor 'excerpt'.
+                       if ( ! blog_id || ( ! $('#content').length && ! $('#excerpt').length ) ) {
+                               return;
                        }
 
-                       wpCookies.set( 'wp-saving-post-' + post_id, 'check' );
-               });
-       },
+                       $document.ready( run );
 
-       // Strip whitespace and compare two strings
-       compare: function( str1, str2 ) {
-               function remove( string ) {
-                       return string.toString().replace(/[\x20\t\r\n\f]+/g, '');
+                       return {
+                               hasStorage: hasStorage,
+                               getSavedPostData: getSavedPostData,
+                               save: save,
+                               suspend: suspend,
+                               resume: resume
+                       };
                }
 
-               return ( remove( str1 || '' ) == remove( str2 || '' ) );
-       },
-
-       /**
-        * Check if the saved data for the current post (if any) is different than the loaded post data on the screen
-        *
-        * Shows a standard message letting the user restore the post data if different.
-        *
-        * @return void
-        */
-       checkPost: function() {
-               var self = this, post_data = this.getData(), content, post_title, excerpt, notice,
-                       post_id = $('#post_ID').val() || 0, cookie = wpCookies.get( 'wp-saving-post-' + post_id );
-
-               if ( ! post_data )
-                       return;
-
-               if ( cookie ) {
-                       wpCookies.remove( 'wp-saving-post-' + post_id );
-
-                       if ( cookie == 'saved' ) {
-                               // The post was saved properly, remove old data and bail
-                               this.setData( false );
-                               return;
+               // Autosave on the server
+               function autosaveServer() {
+                       var _blockSave, _blockSaveTimer, previousCompareString, lastCompareString,
+                               nextRun = 0,
+                               isSuspended = false;
+
+                       // Block saving for the next 10 sec.
+                       function tempBlockSave() {
+                               _blockSave = true;
+                               window.clearTimeout( _blockSaveTimer );
+
+                               _blockSaveTimer = window.setTimeout( function() {
+                                       _blockSave = false;
+                               }, 10000 );
+                       }
+
+                       function suspend() {
+                               isSuspended = true;
                        }
-               }
 
-               // There is a newer autosave. Don't show two "restore" notices at the same time.
-               if ( $('#has-newer-autosave').length )
-                       return;
+                       function resume() {
+                               isSuspended = false;
+                       }
 
-               content = $('#content').val() || '';
-               post_title = $('#title').val() || '';
-               excerpt = $('#excerpt').val() || '';
+                       // Runs on heartbeat-response
+                       function response( data ) {
+                               _schedule();
+                               _blockSave = false;
+                               lastCompareString = previousCompareString;
+                               previousCompareString = '';
 
-               if ( $('#wp-content-wrap').hasClass('tmce-active') && typeof switchEditors != 'undefined' )
-                       content = switchEditors.pre_wpautop( content );
+                               $document.trigger( 'after-autosave', [data] );
+                               enableButtons();
 
-               // cookie == 'check' means the post was not saved properly, always show #local-storage-notice
-               if ( cookie != 'check' && this.compare( content, post_data.content ) && this.compare( post_title, post_data.post_title ) && this.compare( excerpt, post_data.excerpt ) ) {
-                       return;
-               }
+                               if ( data.success ) {
+                                       // No longer an auto-draft
+                                       $( '#auto_draft' ).val('');
+                               }
+                       }
 
-               this.restore_post_data = post_data;
-               this.undo_post_data = {
-                       content: content,
-                       post_title: post_title,
-                       excerpt: excerpt
-               };
+                       /**
+                        * Save immediately
+                        *
+                        * Resets the timing and tells heartbeat to connect now
+                        *
+                        * @return void
+                        */
+                       function triggerSave() {
+                               nextRun = 0;
+                               wp.heartbeat.connectNow();
+                       }
+
+                       /**
+                        * Checks if the post content in the textarea has changed since page load.
+                        *
+                        * This also happens when TinyMCE is active and editor.save() is triggered by
+                        * wp.autosave.getPostData().
+                        *
+                        * @return bool
+                        */
+                       function postChanged() {
+                               return getCompareString() !== initialCompareString;
+                       }
+
+                       // Runs on 'heartbeat-send'
+                       function save() {
+                               var postData, compareString;
+
+                               // window.autosave() used for back-compat
+                               if ( isSuspended || _blockSave || ! window.autosave() ) {
+                                       return false;
+                               }
+
+                               if ( ( new Date() ).getTime() < nextRun ) {
+                                       return false;
+                               }
+
+                               postData = getPostData();
+                               compareString = getCompareString( postData );
+
+                               // First check
+                               if ( typeof lastCompareString === 'undefined' ) {
+                                       lastCompareString = initialCompareString;
+                               }
+
+                               // No change
+                               if ( compareString === lastCompareString ) {
+                                       return false;
+                               }
+
+                               previousCompareString = compareString;
+                               tempBlockSave();
+                               disableButtons();
 
-               notice = $('#local-storage-notice');
-               $('.wrap h2').first().after( notice.addClass('updated').show() );
+                               $document.trigger( 'wpcountwords', [ postData.content ] )
+                                       .trigger( 'before-autosave', [ postData ] );
 
-               notice.on( 'click', function(e) {
-                       var target = $( e.target );
+                               postData._wpnonce = $( '#_wpnonce' ).val() || '';
 
-                       if ( target.hasClass('restore-backup') ) {
-                               self.restorePost( self.restore_post_data );
-                               target.parent().hide();
-                               $(this).find('p.undo-restore').show();
-                       } else if ( target.hasClass('undo-restore-backup') ) {
-                               self.restorePost( self.undo_post_data );
-                               target.parent().hide();
-                               $(this).find('p.local-restore').show();
+                               return postData;
                        }
 
-                       e.preventDefault();
-               });
-       },
-
-       // Restore the current title, content and excerpt from post_data.
-       restorePost: function( post_data ) {
-               var editor;
-
-               if ( post_data ) {
-                       // Set the last saved data
-                       this.lastSavedData = wp.autosave.getCompareString( post_data );
-
-                       if ( $('#title').val() != post_data.post_title )
-                               $('#title').focus().val( post_data.post_title || '' );
-
-                       $('#excerpt').val( post_data.excerpt || '' );
-                       editor = typeof tinymce != 'undefined' && tinymce.get('content');
-
-                       if ( editor && ! editor.isHidden() && typeof switchEditors != 'undefined' ) {
-                               // Make sure there's an undo level in the editor
-                               editor.undoManager.add();
-                               editor.setContent( post_data.content ? switchEditors.wpautop( post_data.content ) : '' );
-                       } else {
-                               // Make sure the Text editor is selected
-                               $('#content-html').click();
-                               $('#content').val( post_data.content );
+                       function _schedule() {
+                               nextRun = ( new Date() ).getTime() + ( autosaveL10n.autosaveInterval * 1000 ) || 60000;
                        }
 
-                       return true;
+                       $document.on( 'heartbeat-send.autosave', function( event, data ) {
+                               var autosaveData = save();
+
+                               if ( autosaveData ) {
+                                       data.wp_autosave = autosaveData;
+                               }
+                       }).on( 'heartbeat-tick.autosave', function( event, data ) {
+                               if ( data.wp_autosave ) {
+                                       response( data.wp_autosave );
+                               }
+                       }).on( 'heartbeat-connection-lost.autosave', function( event, error, status ) {
+                               // When connection is lost, keep user from submitting changes.
+                               if ( 'timeout' === error || 603 === status ) {
+                                       var $notice = $('#lost-connection-notice');
+
+                                       if ( ! wp.autosave.local.hasStorage ) {
+                                               $notice.find('.hide-if-no-sessionstorage').hide();
+                                       }
+
+                                       $notice.show();
+                                       disableButtons();
+                               }
+                       }).on( 'heartbeat-connection-restored.autosave', function() {
+                               $('#lost-connection-notice').hide();
+                               enableButtons();
+                       }).ready( function() {
+                               _schedule();
+                       });
+
+                       return {
+                               tempBlockSave: tempBlockSave,
+                               triggerSave: triggerSave,
+                               postChanged: postChanged,
+                               suspend: suspend,
+                               resume: resume
+                       };
                }
 
-               return false;
+               // Wait for TinyMCE to initialize plus 1 sec. for any external css to finish loading,
+               // then 'save' to the textarea before setting initialCompareString.
+               // This avoids any insignificant differences between the initial textarea content and the content
+               // extracted from the editor.
+               $document.on( 'tinymce-editor-init.autosave', function( event, editor ) {
+                       if ( editor.id === 'content' ) {
+                               window.setTimeout( function() {
+                                       editor.save();
+                                       initialCompareString = getCompareString();
+                               }, 1000 );
+                       }
+               }).ready( function() {
+                       // Set the initial compare string in case TinyMCE is not used or not loaded first
+                       initialCompareString = getCompareString();
+               });
+
+               return {
+                       getPostData: getPostData,
+                       getCompareString: getCompareString,
+                       disableButtons: disableButtons,
+                       enableButtons: enableButtons,
+                       local: autosaveLocal(),
+                       server: autosaveServer()
+               };
        }
-};
 
-wp.autosave.local.init();
+       window.wp = window.wp || {};
+       window.wp.autosave = autosave();
 
-}(jQuery));
+}( jQuery, window ));
index 492ef044f9580d0535e118a0d36f51e30f7145e6..45d24f9a9bf7a6bf22f907566885567b83787eec 100644 (file)
@@ -1 +1 @@
-function autosave_parse_response(a){var b,c,d=wpAjax.parseAjaxResponse(a,"autosave");return d&&d.responses&&d.responses.length&&(d.responses[0].supplemental&&(c=d.responses[0].supplemental,jQuery.each(c,function(a,b){a.match(/^replace-/)&&jQuery("#"+a.replace("replace-","")).val(b)})),d.errors||((b=parseInt(d.responses[0].id,10))&&autosave_update_slug(b),d.responses[0].data&&jQuery(".autosave-message").text(d.responses[0].data))),d}function autosave_saved(a){blockSave=!1,autosave_parse_response(a),autosave_enable_buttons()}function autosave_saved_new(a){blockSave=!1;var b,c=autosave_parse_response(a);c&&c.responses.length&&!c.errors?(b=parseInt(c.responses[0].id,10),b&&(notSaved=!1,jQuery("#auto_draft").val("0")),autosave_enable_buttons(),autosaveDelayPreview&&(autosaveDelayPreview=!1,doPreview())):autosave_enable_buttons()}function autosave_update_slug(a){"undefined"!=makeSlugeditClickable&&jQuery.isFunction(makeSlugeditClickable)&&!jQuery("#edit-slug-box > *").size()&&jQuery.post(ajaxurl,{action:"sample-permalink",post_id:a,new_title:fullscreen&&fullscreen.settings.visible?jQuery("#wp-fullscreen-title").val():jQuery("#title").val(),samplepermalinknonce:jQuery("#samplepermalinknonce").val()},function(a){if("-1"!==a){var b=jQuery("#edit-slug-box");b.html(a),b.hasClass("hidden")&&b.fadeIn("fast",function(){b.removeClass("hidden")}),makeSlugeditClickable()}})}function autosave_loading(){jQuery(".autosave-message").html(autosaveL10n.savingText)}function autosave_enable_buttons(){jQuery(document).trigger("autosave-enable-buttons"),wp.heartbeat&&wp.heartbeat.hasConnectionError()||setTimeout(function(){var a=jQuery("#submitpost");a.find(":button, :submit").removeAttr("disabled"),a.find(".spinner").hide()},500)}function autosave_disable_buttons(){jQuery(document).trigger("autosave-disable-buttons"),jQuery("#submitpost").find(":button, :submit").prop("disabled",!0),setTimeout(autosave_enable_buttons,5e3)}function delayed_autosave(){setTimeout(function(){blockSave||autosave()},200)}var autosave,autosavePeriodical,fullscreen,doPreview,autosaveLast="",autosaveDelayPreview=!1,notSaved=!0,blockSave=!1,autosaveLockRelease=!0;jQuery(document).ready(function(a){autosaveLast=a("#wp-content-wrap").hasClass("tmce-active")&&"undefined"!=typeof switchEditors?wp.autosave.getCompareString({post_title:a("#title").val()||"",content:switchEditors.pre_wpautop(a("#content").val())||"",excerpt:a("#excerpt").val()||""}):wp.autosave.getCompareString(),autosavePeriodical=a.schedule({time:1e3*autosaveL10n.autosaveInterval,func:function(){autosave()},repeat:!0,protect:!0}),a("#post").submit(function(){a.cancel(autosavePeriodical),autosaveLockRelease=!1}),a('input[type="submit"], a.submitdelete',"#submitpost").click(function(){blockSave=!0,window.onbeforeunload=null,a(":button, :submit","#submitpost").each(function(){var b=a(this);b.hasClass("button-primary")?b.addClass("button-primary-disabled"):b.addClass("button-disabled")}),"publish"==a(this).attr("id")?a("#major-publishing-actions .spinner").show():a("#minor-publishing .spinner").show()}),window.onbeforeunload=function(){var b,c="undefined"!=typeof tinymce?tinymce.activeEditor:!1;if(c&&!c.isHidden()){if(c.isDirty())return autosaveL10n.saveAlert}else if(b=fullscreen&&fullscreen.settings.visible?wp.autosave.getCompareString({post_title:a("#wp-fullscreen-title").val()||"",content:a("#wp_mce_fullscreen").val()||"",excerpt:a("#excerpt").val()||""}):wp.autosave.getCompareString(),b!=autosaveLast)return autosaveL10n.saveAlert},a(window).unload(function(b){autosaveLockRelease&&(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("#post-preview").click(function(){return"1"==a("#auto_draft").val()&&notSaved?(autosaveDelayPreview=!0,autosave(),!1):(doPreview(),!1)}),doPreview=function(){a("input#wp-preview").val("dopreview"),a("form#post").attr("target","wp-preview").submit().attr("target","");var b=navigator.userAgent.toLowerCase();-1!=b.indexOf("safari")&&-1==b.indexOf("chrome")&&a("form#post").attr("action",function(a,b){return b+"?t="+(new Date).getTime()}),a("input#wp-preview").val("")},a("#title").on("keydown.editor-focus",function(b){var c;9==b.which&&(b.ctrlKey||b.altKey||b.shiftKey||("undefined"!=typeof tinymce&&(c=tinymce.get("content")),c&&!c.isHidden()?a(this).one("keyup",function(){a("#content_tbl td.mceToolbar > a").focus()}):a("#content").focus(),b.preventDefault()))}),"1"==a("#auto_draft").val()&&a("#title").blur(function(){this.value&&"1"==a("#auto_draft").val()&&delayed_autosave()}),a(document).on("heartbeat-connection-lost.autosave",function(b,c,d){if("timeout"===c||503==d){var e=a("#lost-connection-notice");wp.autosave.local.hasStorage||e.find(".hide-if-no-sessionstorage").hide(),e.show(),autosave_disable_buttons()}}).on("heartbeat-connection-restored.autosave",function(){a("#lost-connection-notice").hide(),autosave_enable_buttons()})}),autosave=function(){var a,b,c=wp.autosave.getPostData();return blockSave=!0,c.autosave?"block"==jQuery("#TB_window").css("display")?!1:(a=wp.autosave.getCompareString(c),a==autosaveLast?!1:(autosaveLast=a,jQuery(document).triggerHandler("wpcountwords",[c.content]),autosave_disable_buttons(),b="1"==c.auto_draft?autosave_saved_new:autosave_saved,jQuery.ajax({data:c,beforeSend:autosave_loading,type:"POST",url:ajaxurl,success:b}),!0)):!1},window.wp=window.wp||{},wp.autosave=wp.autosave||{},function(a){wp.autosave.getPostData=function(){var b,c,d="undefined"!=typeof tinymce?tinymce.activeEditor:null,e=[],f={action:"autosave",autosave:!0,post_id:a("#post_ID").val()||0,autosavenonce:a("#autosavenonce").val()||"",post_type:a("#post_type").val()||"",post_author:a("#post_author").val()||"",excerpt:a("#excerpt").val()||""};if(d&&!d.isHidden()){if(d.plugins.spellchecker&&d.plugins.spellchecker.active)return f.autosave=!1,f;"mce_fullscreen"==d.id&&tinymce.get("content").setContent(d.getContent({format:"raw"}),{format:"raw"}),tinymce.triggerSave()}return"undefined"!=typeof fullscreen&&fullscreen.settings.visible?(f.post_title=a("#wp-fullscreen-title").val()||"",f.content=a("#wp_mce_fullscreen").val()||""):(f.post_title=a("#title").val()||"",f.content=a("#content").val()||""),a('input[id^="in-category-"]:checked').each(function(){e.push(this.value)}),f.catslist=e.join(","),(b=a("#post_name").val())&&(f.post_name=b),(c=a("#parent_id").val())&&(f.parent_id=c),a("#comment_status").prop("checked")&&(f.comment_status="open"),a("#ping_status").prop("checked")&&(f.ping_status="open"),"1"==a("#auto_draft").val()&&(f.auto_draft="1"),f},wp.autosave.getCompareString=function(b){return"object"==typeof b?(b.post_title||"")+"::"+(b.content||"")+"::"+(b.excerpt||""):(a("#title").val()||"")+"::"+(a("#content").val()||"")+"::"+(a("#excerpt").val()||"")},wp.autosave.local={lastSavedData:"",blog_id:0,hasStorage:!1,checkStorage:function(){var a=Math.random(),b=!1;try{sessionStorage.setItem("wp-test",a),b=sessionStorage.getItem("wp-test")==a,sessionStorage.removeItem("wp-test")}catch(c){}return this.hasStorage=b,b},getStorage:function(){var a=!1;return this.hasStorage&&this.blog_id&&(a=sessionStorage.getItem("wp-autosave-"+this.blog_id),a=a?JSON.parse(a):{}),a},setStorage:function(a){var b;return this.hasStorage&&this.blog_id?(b="wp-autosave-"+this.blog_id,sessionStorage.setItem(b,JSON.stringify(a)),null!==sessionStorage.getItem(b)):!1},getData:function(){var b=this.getStorage(),c=a("#post_ID").val();return b&&c?b["post_"+c]||!1:!1},setData:function(b){var c=this.getStorage(),d=a("#post_ID").val();if(!c||!d)return!1;if(b)c["post_"+d]=b;else{if(!c.hasOwnProperty("post_"+d))return!1;delete c["post_"+d]}return this.setStorage(c)},save:function(b){var c,d,e=!1;return b?(c=this.getData()||{},a.extend(c,b),c.autosave=!0):c=wp.autosave.getPostData(),c.autosave?(d=wp.autosave.getCompareString(c),d==this.lastSavedData?!1:(c.save_time=(new Date).getTime(),c.status=a("#post_status").val()||"",e=this.setData(c),e&&(this.lastSavedData=d),e)):!1},init:function(b){var c=this;this.checkStorage()&&(a("#content").length||a("#excerpt").length)&&(b&&a.extend(this,b),this.blog_id||(this.blog_id="undefined"!=typeof window.autosaveL10n?window.autosaveL10n.blog_id:0),a(document).ready(function(){c.run()}))},run:function(){var b=this;this.checkPost(),this.schedule=a.schedule({time:15e3,func:function(){wp.autosave.local.save()},repeat:!0,protect:!0}),a("form#post").on("submit.autosave-local",function(){var c="undefined"!=typeof tinymce&&tinymce.get("content"),d=a("#post_ID").val()||0;c&&!c.isHidden()?c.onSubmit.add(function(){wp.autosave.local.save({post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""})}):b.save({post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""}),wpCookies.set("wp-saving-post-"+d,"check")})},compare:function(a,b){function c(a){return a.toString().replace(/[\x20\t\r\n\f]+/g,"")}return c(a||"")==c(b||"")},checkPost:function(){var b,c,d,e,f=this,g=this.getData(),h=a("#post_ID").val()||0,i=wpCookies.get("wp-saving-post-"+h);if(g)return i&&(wpCookies.remove("wp-saving-post-"+h),"saved"==i)?(this.setData(!1),void 0):(a("#has-newer-autosave").length||(b=a("#content").val()||"",c=a("#title").val()||"",d=a("#excerpt").val()||"",a("#wp-content-wrap").hasClass("tmce-active")&&"undefined"!=typeof switchEditors&&(b=switchEditors.pre_wpautop(b)),"check"!=i&&this.compare(b,g.content)&&this.compare(c,g.post_title)&&this.compare(d,g.excerpt)||(this.restore_post_data=g,this.undo_post_data={content:b,post_title:c,excerpt:d},e=a("#local-storage-notice"),a(".wrap h2").first().after(e.addClass("updated").show()),e.on("click",function(b){var c=a(b.target);c.hasClass("restore-backup")?(f.restorePost(f.restore_post_data),c.parent().hide(),a(this).find("p.undo-restore").show()):c.hasClass("undo-restore-backup")&&(f.restorePost(f.undo_post_data),c.parent().hide(),a(this).find("p.local-restore").show()),b.preventDefault()}))),void 0)},restorePost:function(b){var c;return b?(this.lastSavedData=wp.autosave.getCompareString(b),a("#title").val()!=b.post_title&&a("#title").focus().val(b.post_title||""),a("#excerpt").val(b.excerpt||""),c="undefined"!=typeof tinymce&&tinymce.get("content"),c&&!c.isHidden()&&"undefined"!=typeof switchEditors?(c.undoManager.add(),c.setContent(b.content?switchEditors.wpautop(b.content):"")):(a("#content-html").click(),a("#content").val(b.content)),!0):!1}},wp.autosave.local.init()}(jQuery);
\ No newline at end of file
+window.autosave=function(){return!0},function(a,b){function c(){function c(b){var c,d,e,f=(new Date).getTime(),g=[],h="undefined"!=typeof tinymce&&tinymce.get("content");return h&&!h.isHidden()&&f-3e3>j&&(h.save(),j=f),e={post_id:a("#post_ID").val()||0,post_type:a("#post_type").val()||"",post_author:a("#post_author").val()||"",post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""},"local"===b?e:(a('input[id^="in-category-"]:checked').each(function(){g.push(this.value)}),e.catslist=g.join(","),(c=a("#post_name").val())&&(e.post_name=c),(d=a("#parent_id").val())&&(e.parent_id=d),a("#comment_status").prop("checked")&&(e.comment_status="open"),a("#ping_status").prop("checked")&&(e.ping_status="open"),"1"===a("#auto_draft").val()&&(e.auto_draft="1"),e)}function d(b){return"object"==typeof b?(b.post_title||"")+"::"+(b.content||"")+"::"+(b.excerpt||""):(a("#title").val()||"")+"::"+(a("#content").val()||"")+"::"+(a("#excerpt").val()||"")}function e(){k.trigger("autosave-disable-buttons"),setTimeout(f,5e3)}function f(){k.trigger("autosave-enable-buttons")}function g(){function e(){var a=Math.random().toString(),c=!1;try{b.sessionStorage.setItem("wp-test",a),c=b.sessionStorage.getItem("wp-test")===a,b.sessionStorage.removeItem("wp-test")}catch(d){}return w=c,c}function f(){var a=!1;return w&&u&&(a=sessionStorage.getItem("wp-autosave-"+u),a=a?JSON.parse(a):{}),a}function g(a){var b;return w&&u?(b="wp-autosave-"+u,sessionStorage.setItem(b,JSON.stringify(a)),null!==sessionStorage.getItem(b)):!1}function h(){var a=f();return a&&v?a["post_"+v]||!1:!1}function j(a){var b=f();if(!b||!v)return!1;if(a)b["post_"+v]=a;else{if(!b.hasOwnProperty("post_"+v))return!1;delete b["post_"+v]}return g(b)}function l(){z=!0}function m(){z=!1}function n(b){var e,f,g=!1;return z?!1:(b?(e=h()||{},a.extend(e,b)):e=c("local"),f=d(e),"undefined"==typeof y&&(y=i),f===y?!1:(e.save_time=(new Date).getTime(),e.status=a("#post_status").val()||"",g=j(e),g&&(y=f),g))}function o(){v=a("#post_ID").val()||0,a("#wp-content-wrap").hasClass("tmce-active")?k.on("tinymce-editor-init.autosave",function(){b.setTimeout(function(){q()},1500)}):q(),x=b.setInterval(n,15e3),a("form#post").on("submit.autosave-local",function(){var b="undefined"!=typeof tinymce&&tinymce.get("content"),c=a("#post_ID").val()||0;b&&!b.isHidden()?b.on("submit",function(){n({post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""})}):n({post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""}),wpCookies.set("wp-saving-post-"+c,"check")})}function p(a,b){function c(a){return a.toString().replace(/[\x20\t\r\n\f]+/g,"")}return c(a||"")===c(b||"")}function q(){var b,c,d,e,f=h(),g=wpCookies.get("wp-saving-post-"+v);if(f)return g&&(wpCookies.remove("wp-saving-post-"+v),"saved"===g)?void j(!1):void(a("#has-newer-autosave").length||(b=a("#content").val()||"",c=a("#title").val()||"",d=a("#excerpt").val()||"","check"!==g&&p(b,f.content)&&p(c,f.post_title)&&p(d,f.excerpt)||(s=f,t={content:b,post_title:c,excerpt:d},e=a("#local-storage-notice"),a(".wrap h2").first().after(e.addClass("updated").show()),e.on("click.autosave-local",function(b){var c=a(b.target);c.hasClass("restore-backup")?(r(s),c.parent().hide(),a(this).find("p.undo-restore").show()):c.hasClass("undo-restore-backup")&&(r(t),c.parent().hide(),a(this).find("p.local-restore").show()),b.preventDefault()}))))}function r(b){var c;return b?(y=d(b),a("#title").val()!==b.post_title&&a("#title").focus().val(b.post_title||""),a("#excerpt").val(b.excerpt||""),c="undefined"!=typeof tinymce&&tinymce.get("content"),c&&!c.isHidden()&&"undefined"!=typeof switchEditors?(c.undoManager.add(),c.setContent(b.content?switchEditors.wpautop(b.content):"")):(a("#content-html").click(),a("#content").val(b.content)),!0):!1}var s,t,u,v,w,x,y,z=!1;return u="undefined"!=typeof b.autosaveL10n&&b.autosaveL10n.blog_id,e()&&u&&(a("#content").length||a("#excerpt").length)?(k.ready(o),{hasStorage:w,getSavedPostData:h,save:n,suspend:l,resume:m}):void 0}function h(){function g(){q=!0,b.clearTimeout(r),r=b.setTimeout(function(){q=!1},1e4)}function h(){v=!0}function j(){v=!1}function l(b){p(),q=!1,t=s,s="",k.trigger("after-autosave",[b]),f(),b.success&&a("#auto_draft").val("")}function m(){u=0,wp.heartbeat.connectNow()}function n(){return d()!==i}function o(){var f,h;return v||q||!b.autosave()?!1:(new Date).getTime()<u?!1:(f=c(),h=d(f),"undefined"==typeof t&&(t=i),h===t?!1:(s=h,g(),e(),k.trigger("wpcountwords",[f.content]).trigger("before-autosave",[f]),f._wpnonce=a("#_wpnonce").val()||"",f))}function p(){u=(new Date).getTime()+1e3*autosaveL10n.autosaveInterval||6e4}var q,r,s,t,u=0,v=!1;return k.on("heartbeat-send.autosave",function(a,b){var c=o();c&&(b.wp_autosave=c)}).on("heartbeat-tick.autosave",function(a,b){b.wp_autosave&&l(b.wp_autosave)}).on("heartbeat-connection-lost.autosave",function(b,c,d){if("timeout"===c||603===d){var f=a("#lost-connection-notice");wp.autosave.local.hasStorage||f.find(".hide-if-no-sessionstorage").hide(),f.show(),e()}}).on("heartbeat-connection-restored.autosave",function(){a("#lost-connection-notice").hide(),f()}).ready(function(){p()}),{tempBlockSave:g,triggerSave:m,postChanged:n,suspend:h,resume:j}}var i,j=0,k=a(document);return k.on("tinymce-editor-init.autosave",function(a,c){"content"===c.id&&b.setTimeout(function(){c.save(),i=d()},1e3)}).ready(function(){i=d()}),{getPostData:c,getCompareString:d,disableButtons:e,enableButtons:f,local:g(),server:h()}}b.wp=b.wp||{},b.wp.autosave=c()}(jQuery,window);
\ No newline at end of file
index 8555ecaf292a57bb1dcc3c33c78d9a6da30f30cb..f06015a7c708b6f711d26baccc53fbd1adb783a8 100644 (file)
@@ -1,7 +1 @@
-// Backbone.js 1.0.0
-
-// (c) 2010-2013 Jeremy Ashkenas, DocumentCloud Inc.
-// Backbone may be freely distributed under the MIT license.
-// For all details and documentation:
-// http://backbonejs.org
-(function(){var t=this;var e=t.Backbone;var i=[];var r=i.push;var s=i.slice;var n=i.splice;var a;if(typeof exports!=="undefined"){a=exports}else{a=t.Backbone={}}a.VERSION="1.0.0";var h=t._;if(!h&&typeof require!=="undefined")h=require("underscore");a.$=t.jQuery||t.Zepto||t.ender||t.$;a.noConflict=function(){t.Backbone=e;return this};a.emulateHTTP=false;a.emulateJSON=false;var o=a.Events={on:function(t,e,i){if(!l(this,"on",t,[e,i])||!e)return this;this._events||(this._events={});var r=this._events[t]||(this._events[t]=[]);r.push({callback:e,context:i,ctx:i||this});return this},once:function(t,e,i){if(!l(this,"once",t,[e,i])||!e)return this;var r=this;var s=h.once(function(){r.off(t,s);e.apply(this,arguments)});s._callback=e;return this.on(t,s,i)},off:function(t,e,i){var r,s,n,a,o,u,c,f;if(!this._events||!l(this,"off",t,[e,i]))return this;if(!t&&!e&&!i){this._events={};return this}a=t?[t]:h.keys(this._events);for(o=0,u=a.length;o<u;o++){t=a[o];if(n=this._events[t]){this._events[t]=r=[];if(e||i){for(c=0,f=n.length;c<f;c++){s=n[c];if(e&&e!==s.callback&&e!==s.callback._callback||i&&i!==s.context){r.push(s)}}}if(!r.length)delete this._events[t]}}return this},trigger:function(t){if(!this._events)return this;var e=s.call(arguments,1);if(!l(this,"trigger",t,e))return this;var i=this._events[t];var r=this._events.all;if(i)c(i,e);if(r)c(r,arguments);return this},stopListening:function(t,e,i){var r=this._listeners;if(!r)return this;var s=!e&&!i;if(typeof e==="object")i=this;if(t)(r={})[t._listenerId]=t;for(var n in r){r[n].off(e,i,this);if(s)delete this._listeners[n]}return this}};var u=/\s+/;var l=function(t,e,i,r){if(!i)return true;if(typeof i==="object"){for(var s in i){t[e].apply(t,[s,i[s]].concat(r))}return false}if(u.test(i)){var n=i.split(u);for(var a=0,h=n.length;a<h;a++){t[e].apply(t,[n[a]].concat(r))}return false}return true};var c=function(t,e){var i,r=-1,s=t.length,n=e[0],a=e[1],h=e[2];switch(e.length){case 0:while(++r<s)(i=t[r]).callback.call(i.ctx);return;case 1:while(++r<s)(i=t[r]).callback.call(i.ctx,n);return;case 2:while(++r<s)(i=t[r]).callback.call(i.ctx,n,a);return;case 3:while(++r<s)(i=t[r]).callback.call(i.ctx,n,a,h);return;default:while(++r<s)(i=t[r]).callback.apply(i.ctx,e)}};var f={listenTo:"on",listenToOnce:"once"};h.each(f,function(t,e){o[e]=function(e,i,r){var s=this._listeners||(this._listeners={});var n=e._listenerId||(e._listenerId=h.uniqueId("l"));s[n]=e;if(typeof i==="object")r=this;e[t](i,r,this);return this}});o.bind=o.on;o.unbind=o.off;h.extend(a,o);var d=a.Model=function(t,e){var i;var r=t||{};e||(e={});this.cid=h.uniqueId("c");this.attributes={};h.extend(this,h.pick(e,p));if(e.parse)r=this.parse(r,e)||{};if(i=h.result(this,"defaults")){r=h.defaults({},r,i)}this.set(r,e);this.changed={};this.initialize.apply(this,arguments)};var p=["url","urlRoot","collection"];h.extend(d.prototype,o,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(t){return h.clone(this.attributes)},sync:function(){return a.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return h.escape(this.get(t))},has:function(t){return this.get(t)!=null},set:function(t,e,i){var r,s,n,a,o,u,l,c;if(t==null)return this;if(typeof t==="object"){s=t;i=e}else{(s={})[t]=e}i||(i={});if(!this._validate(s,i))return false;n=i.unset;o=i.silent;a=[];u=this._changing;this._changing=true;if(!u){this._previousAttributes=h.clone(this.attributes);this.changed={}}c=this.attributes,l=this._previousAttributes;if(this.idAttribute in s)this.id=s[this.idAttribute];for(r in s){e=s[r];if(!h.isEqual(c[r],e))a.push(r);if(!h.isEqual(l[r],e)){this.changed[r]=e}else{delete this.changed[r]}n?delete c[r]:c[r]=e}if(!o){if(a.length)this._pending=true;for(var f=0,d=a.length;f<d;f++){this.trigger("change:"+a[f],this,c[a[f]],i)}}if(u)return this;if(!o){while(this._pending){this._pending=false;this.trigger("change",this,i)}}this._pending=false;this._changing=false;return this},unset:function(t,e){return this.set(t,void 0,h.extend({},e,{unset:true}))},clear:function(t){var e={};for(var i in this.attributes)e[i]=void 0;return this.set(e,h.extend({},t,{unset:true}))},hasChanged:function(t){if(t==null)return!h.isEmpty(this.changed);return h.has(this.changed,t)},changedAttributes:function(t){if(!t)return this.hasChanged()?h.clone(this.changed):false;var e,i=false;var r=this._changing?this._previousAttributes:this.attributes;for(var s in t){if(h.isEqual(r[s],e=t[s]))continue;(i||(i={}))[s]=e}return i},previous:function(t){if(t==null||!this._previousAttributes)return null;return this._previousAttributes[t]},previousAttributes:function(){return h.clone(this._previousAttributes)},fetch:function(t){t=t?h.clone(t):{};if(t.parse===void 0)t.parse=true;var e=this;var i=t.success;t.success=function(r){if(!e.set(e.parse(r,t),t))return false;if(i)i(e,r,t);e.trigger("sync",e,r,t)};R(this,t);return this.sync("read",this,t)},save:function(t,e,i){var r,s,n,a=this.attributes;if(t==null||typeof t==="object"){r=t;i=e}else{(r={})[t]=e}if(r&&(!i||!i.wait)&&!this.set(r,i))return false;i=h.extend({validate:true},i);if(!this._validate(r,i))return false;if(r&&i.wait){this.attributes=h.extend({},a,r)}if(i.parse===void 0)i.parse=true;var o=this;var u=i.success;i.success=function(t){o.attributes=a;var e=o.parse(t,i);if(i.wait)e=h.extend(r||{},e);if(h.isObject(e)&&!o.set(e,i)){return false}if(u)u(o,t,i);o.trigger("sync",o,t,i)};R(this,i);s=this.isNew()?"create":i.patch?"patch":"update";if(s==="patch")i.attrs=r;n=this.sync(s,this,i);if(r&&i.wait)this.attributes=a;return n},destroy:function(t){t=t?h.clone(t):{};var e=this;var i=t.success;var r=function(){e.trigger("destroy",e,e.collection,t)};t.success=function(s){if(t.wait||e.isNew())r();if(i)i(e,s,t);if(!e.isNew())e.trigger("sync",e,s,t)};if(this.isNew()){t.success();return false}R(this,t);var s=this.sync("delete",this,t);if(!t.wait)r();return s},url:function(){var t=h.result(this,"urlRoot")||h.result(this.collection,"url")||U();if(this.isNew())return t;return t+(t.charAt(t.length-1)==="/"?"":"/")+encodeURIComponent(this.id)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},isValid:function(t){return this._validate({},h.extend(t||{},{validate:true}))},_validate:function(t,e){if(!e.validate||!this.validate)return true;t=h.extend({},this.attributes,t);var i=this.validationError=this.validate(t,e)||null;if(!i)return true;this.trigger("invalid",this,i,h.extend(e||{},{validationError:i}));return false}});var v=["keys","values","pairs","invert","pick","omit"];h.each(v,function(t){d.prototype[t]=function(){var e=s.call(arguments);e.unshift(this.attributes);return h[t].apply(h,e)}});var g=a.Collection=function(t,e){e||(e={});if(e.url)this.url=e.url;if(e.model)this.model=e.model;if(e.comparator!==void 0)this.comparator=e.comparator;this._reset();this.initialize.apply(this,arguments);if(t)this.reset(t,h.extend({silent:true},e))};var m={add:true,remove:true,merge:true};var y={add:true,merge:false,remove:false};h.extend(g.prototype,o,{model:d,initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return a.sync.apply(this,arguments)},add:function(t,e){return this.set(t,h.defaults(e||{},y))},remove:function(t,e){t=h.isArray(t)?t.slice():[t];e||(e={});var i,r,s,n;for(i=0,r=t.length;i<r;i++){n=this.get(t[i]);if(!n)continue;delete this._byId[n.id];delete this._byId[n.cid];s=this.indexOf(n);this.models.splice(s,1);this.length--;if(!e.silent){e.index=s;n.trigger("remove",n,this,e)}this._removeReference(n)}return this},set:function(t,e){e=h.defaults(e||{},m);if(e.parse)t=this.parse(t,e);if(!h.isArray(t))t=t?[t]:[];var i,s,a,o,u,l;var c=e.at;var f=this.comparator&&c==null&&e.sort!==false;var d=h.isString(this.comparator)?this.comparator:null;var p=[],v=[],g={};for(i=0,s=t.length;i<s;i++){if(!(a=this._prepareModel(t[i],e)))continue;if(u=this.get(a)){if(e.remove)g[u.cid]=true;if(e.merge){u.set(a.attributes,e);if(f&&!l&&u.hasChanged(d))l=true}}else if(e.add){p.push(a);a.on("all",this._onModelEvent,this);this._byId[a.cid]=a;if(a.id!=null)this._byId[a.id]=a}}if(e.remove){for(i=0,s=this.length;i<s;++i){if(!g[(a=this.models[i]).cid])v.push(a)}if(v.length)this.remove(v,e)}if(p.length){if(f)l=true;this.length+=p.length;if(c!=null){n.apply(this.models,[c,0].concat(p))}else{r.apply(this.models,p)}}if(l)this.sort({silent:true});if(e.silent)return this;for(i=0,s=p.length;i<s;i++){(a=p[i]).trigger("add",a,this,e)}if(l)this.trigger("sort",this,e);return this},reset:function(t,e){e||(e={});for(var i=0,r=this.models.length;i<r;i++){this._removeReference(this.models[i])}e.previousModels=this.models;this._reset();this.add(t,h.extend({silent:true},e));if(!e.silent)this.trigger("reset",this,e);return this},push:function(t,e){t=this._prepareModel(t,e);this.add(t,h.extend({at:this.length},e));return t},pop:function(t){var e=this.at(this.length-1);this.remove(e,t);return e},unshift:function(t,e){t=this._prepareModel(t,e);this.add(t,h.extend({at:0},e));return t},shift:function(t){var e=this.at(0);this.remove(e,t);return e},slice:function(t,e){return this.models.slice(t,e)},get:function(t){if(t==null)return void 0;return this._byId[t.id!=null?t.id:t.cid||t]},at:function(t){return this.models[t]},where:function(t,e){if(h.isEmpty(t))return e?void 0:[];return this[e?"find":"filter"](function(e){for(var i in t){if(t[i]!==e.get(i))return false}return true})},findWhere:function(t){return this.where(t,true)},sort:function(t){if(!this.comparator)throw new Error("Cannot sort a set without a comparator");t||(t={});if(h.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this)}else{this.models.sort(h.bind(this.comparator,this))}if(!t.silent)this.trigger("sort",this,t);return this},sortedIndex:function(t,e,i){e||(e=this.comparator);var r=h.isFunction(e)?e:function(t){return t.get(e)};return h.sortedIndex(this.models,t,r,i)},pluck:function(t){return h.invoke(this.models,"get",t)},fetch:function(t){t=t?h.clone(t):{};if(t.parse===void 0)t.parse=true;var e=t.success;var i=this;t.success=function(r){var s=t.reset?"reset":"set";i[s](r,t);if(e)e(i,r,t);i.trigger("sync",i,r,t)};R(this,t);return this.sync("read",this,t)},create:function(t,e){e=e?h.clone(e):{};if(!(t=this._prepareModel(t,e)))return false;if(!e.wait)this.add(t,e);var i=this;var r=e.success;e.success=function(s){if(e.wait)i.add(t,e);if(r)r(t,s,e)};t.save(null,e);return t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(t,e){if(t instanceof d){if(!t.collection)t.collection=this;return t}e||(e={});e.collection=this;var i=new this.model(t,e);if(!i._validate(t,e)){this.trigger("invalid",this,t,e);return false}return i},_removeReference:function(t){if(this===t.collection)delete t.collection;t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,r){if((t==="add"||t==="remove")&&i!==this)return;if(t==="destroy")this.remove(e,r);if(e&&t==="change:"+e.idAttribute){delete this._byId[e.previous(e.idAttribute)];if(e.id!=null)this._byId[e.id]=e}this.trigger.apply(this,arguments)}});var _=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","indexOf","shuffle","lastIndexOf","isEmpty","chain"];h.each(_,function(t){g.prototype[t]=function(){var e=s.call(arguments);e.unshift(this.models);return h[t].apply(h,e)}});var w=["groupBy","countBy","sortBy"];h.each(w,function(t){g.prototype[t]=function(e,i){var r=h.isFunction(e)?e:function(t){return t.get(e)};return h[t](this.models,r,i)}});var b=a.View=function(t){this.cid=h.uniqueId("view");this._configure(t||{});this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};var x=/^(\S+)\s*(.*)$/;var E=["model","collection","el","id","attributes","className","tagName","events"];h.extend(b.prototype,o,{tagName:"div",$:function(t){return this.$el.find(t)},initialize:function(){},render:function(){return this},remove:function(){this.$el.remove();this.stopListening();return this},setElement:function(t,e){if(this.$el)this.undelegateEvents();this.$el=t instanceof a.$?t:a.$(t);this.el=this.$el[0];if(e!==false)this.delegateEvents();return this},delegateEvents:function(t){if(!(t||(t=h.result(this,"events"))))return this;this.undelegateEvents();for(var e in t){var i=t[e];if(!h.isFunction(i))i=this[t[e]];if(!i)continue;var r=e.match(x);var s=r[1],n=r[2];i=h.bind(i,this);s+=".delegateEvents"+this.cid;if(n===""){this.$el.on(s,i)}else{this.$el.on(s,n,i)}}return this},undelegateEvents:function(){this.$el.off(".delegateEvents"+this.cid);return this},_configure:function(t){if(this.options)t=h.extend({},h.result(this,"options"),t);h.extend(this,h.pick(t,E));this.options=t},_ensureElement:function(){if(!this.el){var t=h.extend({},h.result(this,"attributes"));if(this.id)t.id=h.result(this,"id");if(this.className)t["class"]=h.result(this,"className");var e=a.$("<"+h.result(this,"tagName")+">").attr(t);this.setElement(e,false)}else{this.setElement(h.result(this,"el"),false)}}});a.sync=function(t,e,i){var r=k[t];h.defaults(i||(i={}),{emulateHTTP:a.emulateHTTP,emulateJSON:a.emulateJSON});var s={type:r,dataType:"json"};if(!i.url){s.url=h.result(e,"url")||U()}if(i.data==null&&e&&(t==="create"||t==="update"||t==="patch")){s.contentType="application/json";s.data=JSON.stringify(i.attrs||e.toJSON(i))}if(i.emulateJSON){s.contentType="application/x-www-form-urlencoded";s.data=s.data?{model:s.data}:{}}if(i.emulateHTTP&&(r==="PUT"||r==="DELETE"||r==="PATCH")){s.type="POST";if(i.emulateJSON)s.data._method=r;var n=i.beforeSend;i.beforeSend=function(t){t.setRequestHeader("X-HTTP-Method-Override",r);if(n)return n.apply(this,arguments)}}if(s.type!=="GET"&&!i.emulateJSON){s.processData=false}if(s.type==="PATCH"&&window.ActiveXObject&&!(window.external&&window.external.msActiveXFilteringEnabled)){s.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var o=i.xhr=a.ajax(h.extend(s,i));e.trigger("request",e,o,i);return o};var k={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};a.ajax=function(){return a.$.ajax.apply(a.$,arguments)};var S=a.Router=function(t){t||(t={});if(t.routes)this.routes=t.routes;this._bindRoutes();this.initialize.apply(this,arguments)};var $=/\((.*?)\)/g;var T=/(\(\?)?:\w+/g;var H=/\*\w+/g;var A=/[\-{}\[\]+?.,\\\^$|#\s]/g;h.extend(S.prototype,o,{initialize:function(){},route:function(t,e,i){if(!h.isRegExp(t))t=this._routeToRegExp(t);if(h.isFunction(e)){i=e;e=""}if(!i)i=this[e];var r=this;a.history.route(t,function(s){var n=r._extractParameters(t,s);i&&i.apply(r,n);r.trigger.apply(r,["route:"+e].concat(n));r.trigger("route",e,n);a.history.trigger("route",r,e,n)});return this},navigate:function(t,e){a.history.navigate(t,e);return this},_bindRoutes:function(){if(!this.routes)return;this.routes=h.result(this,"routes");var t,e=h.keys(this.routes);while((t=e.pop())!=null){this.route(t,this.routes[t])}},_routeToRegExp:function(t){t=t.replace(A,"\\$&").replace($,"(?:$1)?").replace(T,function(t,e){return e?t:"([^/]+)"}).replace(H,"(.*?)");return new RegExp("^"+t+"$")},_extractParameters:function(t,e){var i=t.exec(e).slice(1);return h.map(i,function(t){return t?decodeURIComponent(t):null})}});var I=a.History=function(){this.handlers=[];h.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var N=/^[#\/]|\s+$/g;var P=/^\/+|\/+$/g;var O=/msie [\w.]+/;var C=/\/$/;I.started=false;h.extend(I.prototype,o,{interval:50,getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getFragment:function(t,e){if(t==null){if(this._hasPushState||!this._wantsHashChange||e){t=this.location.pathname;var i=this.root.replace(C,"");if(!t.indexOf(i))t=t.substr(i.length)}else{t=this.getHash()}}return t.replace(N,"")},start:function(t){if(I.started)throw new Error("Backbone.history has already been started");I.started=true;this.options=h.extend({},{root:"/"},this.options,t);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var e=this.getFragment();var i=document.documentMode;var r=O.exec(navigator.userAgent.toLowerCase())&&(!i||i<=7);this.root=("/"+this.root+"/").replace(P,"/");if(r&&this._wantsHashChange){this.iframe=a.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow;this.navigate(e)}if(this._hasPushState){a.$(window).on("popstate",this.checkUrl)}else if(this._wantsHashChange&&"onhashchange"in window&&!r){a.$(window).on("hashchange",this.checkUrl)}else if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}this.fragment=e;var s=this.location;var n=s.pathname.replace(/[^\/]$/,"$&/")===this.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!n){this.fragment=this.getFragment(null,true);this.location.replace(this.root+this.location.search+"#"+this.fragment);return true}else if(this._wantsPushState&&this._hasPushState&&n&&s.hash){this.fragment=this.getHash().replace(N,"");this.history.replaceState({},document.title,this.root+this.fragment+s.search)}if(!this.options.silent)return this.loadUrl()},stop:function(){a.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl);clearInterval(this._checkUrlInterval);I.started=false},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe){e=this.getFragment(this.getHash(this.iframe))}if(e===this.fragment)return false;if(this.iframe)this.navigate(e);this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(t){var e=this.fragment=this.getFragment(t);var i=h.any(this.handlers,function(t){if(t.route.test(e)){t.callback(e);return true}});return i},navigate:function(t,e){if(!I.started)return false;if(!e||e===true)e={trigger:e};t=this.getFragment(t||"");if(this.fragment===t)return;this.fragment=t;var i=this.root+t;if(this._hasPushState){this.history[e.replace?"replaceState":"pushState"]({},document.title,i)}else if(this._wantsHashChange){this._updateHash(this.location,t,e.replace);if(this.iframe&&t!==this.getFragment(this.getHash(this.iframe))){if(!e.replace)this.iframe.document.open().close();this._updateHash(this.iframe.location,t,e.replace)}}else{return this.location.assign(i)}if(e.trigger)this.loadUrl(t)},_updateHash:function(t,e,i){if(i){var r=t.href.replace(/(javascript:|#).*$/,"");t.replace(r+"#"+e)}else{t.hash="#"+e}}});a.history=new I;var j=function(t,e){var i=this;var r;if(t&&h.has(t,"constructor")){r=t.constructor}else{r=function(){return i.apply(this,arguments)}}h.extend(r,i,e);var s=function(){this.constructor=r};s.prototype=i.prototype;r.prototype=new s;if(t)h.extend(r.prototype,t);r.__super__=i.prototype;return r};d.extend=g.extend=S.extend=b.extend=I.extend=j;var U=function(){throw new Error('A "url" property or function must be specified')};var R=function(t,e){var i=e.error;e.error=function(r){if(i)i(t,r,e);t.trigger("error",t,r,e)}}}).call(this);
+!function(a,b){if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(c,d,e){a.Backbone=b(a,e,c,d)});else if("undefined"!=typeof exports){var c=require("underscore");b(a,exports,c)}else a.Backbone=b(a,{},a._,a.jQuery||a.Zepto||a.ender||a.$)}(this,function(a,b,c,d){{var e=a.Backbone,f=[],g=(f.push,f.slice);f.splice}b.VERSION="1.1.2",b.$=d,b.noConflict=function(){return a.Backbone=e,this},b.emulateHTTP=!1,b.emulateJSON=!1;var h=b.Events={on:function(a,b,c){if(!j(this,"on",a,[b,c])||!b)return this;this._events||(this._events={});var d=this._events[a]||(this._events[a]=[]);return d.push({callback:b,context:c,ctx:c||this}),this},once:function(a,b,d){if(!j(this,"once",a,[b,d])||!b)return this;var e=this,f=c.once(function(){e.off(a,f),b.apply(this,arguments)});return f._callback=b,this.on(a,f,d)},off:function(a,b,d){var e,f,g,h,i,k,l,m;if(!this._events||!j(this,"off",a,[b,d]))return this;if(!a&&!b&&!d)return this._events=void 0,this;for(h=a?[a]:c.keys(this._events),i=0,k=h.length;k>i;i++)if(a=h[i],g=this._events[a]){if(this._events[a]=e=[],b||d)for(l=0,m=g.length;m>l;l++)f=g[l],(b&&b!==f.callback&&b!==f.callback._callback||d&&d!==f.context)&&e.push(f);e.length||delete this._events[a]}return this},trigger:function(a){if(!this._events)return this;var b=g.call(arguments,1);if(!j(this,"trigger",a,b))return this;var c=this._events[a],d=this._events.all;return c&&k(c,b),d&&k(d,arguments),this},stopListening:function(a,b,d){var e=this._listeningTo;if(!e)return this;var f=!b&&!d;d||"object"!=typeof b||(d=this),a&&((e={})[a._listenId]=a);for(var g in e)a=e[g],a.off(b,d,this),(f||c.isEmpty(a._events))&&delete this._listeningTo[g];return this}},i=/\s+/,j=function(a,b,c,d){if(!c)return!0;if("object"==typeof c){for(var e in c)a[b].apply(a,[e,c[e]].concat(d));return!1}if(i.test(c)){for(var f=c.split(i),g=0,h=f.length;h>g;g++)a[b].apply(a,[f[g]].concat(d));return!1}return!0},k=function(a,b){var c,d=-1,e=a.length,f=b[0],g=b[1],h=b[2];switch(b.length){case 0:for(;++d<e;)(c=a[d]).callback.call(c.ctx);return;case 1:for(;++d<e;)(c=a[d]).callback.call(c.ctx,f);return;case 2:for(;++d<e;)(c=a[d]).callback.call(c.ctx,f,g);return;case 3:for(;++d<e;)(c=a[d]).callback.call(c.ctx,f,g,h);return;default:for(;++d<e;)(c=a[d]).callback.apply(c.ctx,b);return}},l={listenTo:"on",listenToOnce:"once"};c.each(l,function(a,b){h[b]=function(b,d,e){var f=this._listeningTo||(this._listeningTo={}),g=b._listenId||(b._listenId=c.uniqueId("l"));return f[g]=b,e||"object"!=typeof d||(e=this),b[a](d,e,this),this}}),h.bind=h.on,h.unbind=h.off,c.extend(b,h);var m=b.Model=function(a,b){var d=a||{};b||(b={}),this.cid=c.uniqueId("c"),this.attributes={},b.collection&&(this.collection=b.collection),b.parse&&(d=this.parse(d,b)||{}),d=c.defaults({},d,c.result(this,"defaults")),this.set(d,b),this.changed={},this.initialize.apply(this,arguments)};c.extend(m.prototype,h,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(){return c.clone(this.attributes)},sync:function(){return b.sync.apply(this,arguments)},get:function(a){return this.attributes[a]},escape:function(a){return c.escape(this.get(a))},has:function(a){return null!=this.get(a)},set:function(a,b,d){var e,f,g,h,i,j,k,l;if(null==a)return this;if("object"==typeof a?(f=a,d=b):(f={})[a]=b,d||(d={}),!this._validate(f,d))return!1;g=d.unset,i=d.silent,h=[],j=this._changing,this._changing=!0,j||(this._previousAttributes=c.clone(this.attributes),this.changed={}),l=this.attributes,k=this._previousAttributes,this.idAttribute in f&&(this.id=f[this.idAttribute]);for(e in f)b=f[e],c.isEqual(l[e],b)||h.push(e),c.isEqual(k[e],b)?delete this.changed[e]:this.changed[e]=b,g?delete l[e]:l[e]=b;if(!i){h.length&&(this._pending=d);for(var m=0,n=h.length;n>m;m++)this.trigger("change:"+h[m],this,l[h[m]],d)}if(j)return this;if(!i)for(;this._pending;)d=this._pending,this._pending=!1,this.trigger("change",this,d);return this._pending=!1,this._changing=!1,this},unset:function(a,b){return this.set(a,void 0,c.extend({},b,{unset:!0}))},clear:function(a){var b={};for(var d in this.attributes)b[d]=void 0;return this.set(b,c.extend({},a,{unset:!0}))},hasChanged:function(a){return null==a?!c.isEmpty(this.changed):c.has(this.changed,a)},changedAttributes:function(a){if(!a)return this.hasChanged()?c.clone(this.changed):!1;var b,d=!1,e=this._changing?this._previousAttributes:this.attributes;for(var f in a)c.isEqual(e[f],b=a[f])||((d||(d={}))[f]=b);return d},previous:function(a){return null!=a&&this._previousAttributes?this._previousAttributes[a]:null},previousAttributes:function(){return c.clone(this._previousAttributes)},fetch:function(a){a=a?c.clone(a):{},void 0===a.parse&&(a.parse=!0);var b=this,d=a.success;return a.success=function(c){return b.set(b.parse(c,a),a)?(d&&d(b,c,a),void b.trigger("sync",b,c,a)):!1},L(this,a),this.sync("read",this,a)},save:function(a,b,d){var e,f,g,h=this.attributes;if(null==a||"object"==typeof a?(e=a,d=b):(e={})[a]=b,d=c.extend({validate:!0},d),e&&!d.wait){if(!this.set(e,d))return!1}else if(!this._validate(e,d))return!1;e&&d.wait&&(this.attributes=c.extend({},h,e)),void 0===d.parse&&(d.parse=!0);var i=this,j=d.success;return d.success=function(a){i.attributes=h;var b=i.parse(a,d);return d.wait&&(b=c.extend(e||{},b)),c.isObject(b)&&!i.set(b,d)?!1:(j&&j(i,a,d),void i.trigger("sync",i,a,d))},L(this,d),f=this.isNew()?"create":d.patch?"patch":"update","patch"===f&&(d.attrs=e),g=this.sync(f,this,d),e&&d.wait&&(this.attributes=h),g},destroy:function(a){a=a?c.clone(a):{};var b=this,d=a.success,e=function(){b.trigger("destroy",b,b.collection,a)};if(a.success=function(c){(a.wait||b.isNew())&&e(),d&&d(b,c,a),b.isNew()||b.trigger("sync",b,c,a)},this.isNew())return a.success(),!1;L(this,a);var f=this.sync("delete",this,a);return a.wait||e(),f},url:function(){var a=c.result(this,"urlRoot")||c.result(this.collection,"url")||K();return this.isNew()?a:a.replace(/([^\/])$/,"$1/")+encodeURIComponent(this.id)},parse:function(a){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(a){return this._validate({},c.extend(a||{},{validate:!0}))},_validate:function(a,b){if(!b.validate||!this.validate)return!0;a=c.extend({},this.attributes,a);var d=this.validationError=this.validate(a,b)||null;return d?(this.trigger("invalid",this,d,c.extend(b,{validationError:d})),!1):!0}});var n=["keys","values","pairs","invert","pick","omit"];c.each(n,function(a){m.prototype[a]=function(){var b=g.call(arguments);return b.unshift(this.attributes),c[a].apply(c,b)}});var o=b.Collection=function(a,b){b||(b={}),b.model&&(this.model=b.model),void 0!==b.comparator&&(this.comparator=b.comparator),this._reset(),this.initialize.apply(this,arguments),a&&this.reset(a,c.extend({silent:!0},b))},p={add:!0,remove:!0,merge:!0},q={add:!0,remove:!1};c.extend(o.prototype,h,{model:m,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},sync:function(){return b.sync.apply(this,arguments)},add:function(a,b){return this.set(a,c.extend({merge:!1},b,q))},remove:function(a,b){var d=!c.isArray(a);a=d?[a]:c.clone(a),b||(b={});var e,f,g,h;for(e=0,f=a.length;f>e;e++)h=a[e]=this.get(a[e]),h&&(delete this._byId[h.id],delete this._byId[h.cid],g=this.indexOf(h),this.models.splice(g,1),this.length--,b.silent||(b.index=g,h.trigger("remove",h,this,b)),this._removeReference(h,b));return d?a[0]:a},set:function(a,b){b=c.defaults({},b,p),b.parse&&(a=this.parse(a,b));var d=!c.isArray(a);a=d?a?[a]:[]:c.clone(a);var e,f,g,h,i,j,k,l=b.at,n=this.model,o=this.comparator&&null==l&&b.sort!==!1,q=c.isString(this.comparator)?this.comparator:null,r=[],s=[],t={},u=b.add,v=b.merge,w=b.remove,x=!o&&u&&w?[]:!1;for(e=0,f=a.length;f>e;e++){if(i=a[e]||{},g=i instanceof m?h=i:i[n.prototype.idAttribute||"id"],j=this.get(g))w&&(t[j.cid]=!0),v&&(i=i===h?h.attributes:i,b.parse&&(i=j.parse(i,b)),j.set(i,b),o&&!k&&j.hasChanged(q)&&(k=!0)),a[e]=j;else if(u){if(h=a[e]=this._prepareModel(i,b),!h)continue;r.push(h),this._addReference(h,b)}h=j||h,!x||!h.isNew()&&t[h.id]||x.push(h),t[h.id]=!0}if(w){for(e=0,f=this.length;f>e;++e)t[(h=this.models[e]).cid]||s.push(h);s.length&&this.remove(s,b)}if(r.length||x&&x.length)if(o&&(k=!0),this.length+=r.length,null!=l)for(e=0,f=r.length;f>e;e++)this.models.splice(l+e,0,r[e]);else{x&&(this.models.length=0);var y=x||r;for(e=0,f=y.length;f>e;e++)this.models.push(y[e])}if(k&&this.sort({silent:!0}),!b.silent){for(e=0,f=r.length;f>e;e++)(h=r[e]).trigger("add",h,this,b);(k||x&&x.length)&&this.trigger("sort",this,b)}return d?a[0]:a},reset:function(a,b){b||(b={});for(var d=0,e=this.models.length;e>d;d++)this._removeReference(this.models[d],b);return b.previousModels=this.models,this._reset(),a=this.add(a,c.extend({silent:!0},b)),b.silent||this.trigger("reset",this,b),a},push:function(a,b){return this.add(a,c.extend({at:this.length},b))},pop:function(a){var b=this.at(this.length-1);return this.remove(b,a),b},unshift:function(a,b){return this.add(a,c.extend({at:0},b))},shift:function(a){var b=this.at(0);return this.remove(b,a),b},slice:function(){return g.apply(this.models,arguments)},get:function(a){return null==a?void 0:this._byId[a]||this._byId[a.id]||this._byId[a.cid]},at:function(a){return this.models[a]},where:function(a,b){return c.isEmpty(a)?b?void 0:[]:this[b?"find":"filter"](function(b){for(var c in a)if(a[c]!==b.get(c))return!1;return!0})},findWhere:function(a){return this.where(a,!0)},sort:function(a){if(!this.comparator)throw new Error("Cannot sort a set without a comparator");return a||(a={}),c.isString(this.comparator)||1===this.comparator.length?this.models=this.sortBy(this.comparator,this):this.models.sort(c.bind(this.comparator,this)),a.silent||this.trigger("sort",this,a),this},pluck:function(a){return c.invoke(this.models,"get",a)},fetch:function(a){a=a?c.clone(a):{},void 0===a.parse&&(a.parse=!0);var b=a.success,d=this;return a.success=function(c){var e=a.reset?"reset":"set";d[e](c,a),b&&b(d,c,a),d.trigger("sync",d,c,a)},L(this,a),this.sync("read",this,a)},create:function(a,b){if(b=b?c.clone(b):{},!(a=this._prepareModel(a,b)))return!1;b.wait||this.add(a,b);var d=this,e=b.success;return b.success=function(a,c){b.wait&&d.add(a,b),e&&e(a,c,b)},a.save(null,b),a},parse:function(a){return a},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(a,b){if(a instanceof m)return a;b=b?c.clone(b):{},b.collection=this;var d=new this.model(a,b);return d.validationError?(this.trigger("invalid",this,d.validationError,b),!1):d},_addReference:function(a){this._byId[a.cid]=a,null!=a.id&&(this._byId[a.id]=a),a.collection||(a.collection=this),a.on("all",this._onModelEvent,this)},_removeReference:function(a){this===a.collection&&delete a.collection,a.off("all",this._onModelEvent,this)},_onModelEvent:function(a,b,c,d){("add"!==a&&"remove"!==a||c===this)&&("destroy"===a&&this.remove(b,d),b&&a==="change:"+b.idAttribute&&(delete this._byId[b.previous(b.idAttribute)],null!=b.id&&(this._byId[b.id]=b)),this.trigger.apply(this,arguments))}});var r=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","difference","indexOf","shuffle","lastIndexOf","isEmpty","chain","sample"];c.each(r,function(a){o.prototype[a]=function(){var b=g.call(arguments);return b.unshift(this.models),c[a].apply(c,b)}});var s=["groupBy","countBy","sortBy","indexBy"];c.each(s,function(a){o.prototype[a]=function(b,d){var e=c.isFunction(b)?b:function(a){return a.get(b)};return c[a](this.models,e,d)}});var t=b.View=function(a){this.cid=c.uniqueId("view"),a||(a={}),c.extend(this,c.pick(a,v)),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},u=/^(\S+)\s*(.*)$/,v=["model","collection","el","id","attributes","className","tagName","events"];c.extend(t.prototype,h,{tagName:"div",$:function(a){return this.$el.find(a)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this.stopListening(),this},setElement:function(a,c){return this.$el&&this.undelegateEvents(),this.$el=a instanceof b.$?a:b.$(a),this.el=this.$el[0],c!==!1&&this.delegateEvents(),this},delegateEvents:function(a){if(!a&&!(a=c.result(this,"events")))return this;this.undelegateEvents();for(var b in a){var d=a[b];if(c.isFunction(d)||(d=this[a[b]]),d){var e=b.match(u),f=e[1],g=e[2];d=c.bind(d,this),f+=".delegateEvents"+this.cid,""===g?this.$el.on(f,d):this.$el.on(f,g,d)}}return this},undelegateEvents:function(){return this.$el.off(".delegateEvents"+this.cid),this},_ensureElement:function(){if(this.el)this.setElement(c.result(this,"el"),!1);else{var a=c.extend({},c.result(this,"attributes"));this.id&&(a.id=c.result(this,"id")),this.className&&(a["class"]=c.result(this,"className"));var d=b.$("<"+c.result(this,"tagName")+">").attr(a);this.setElement(d,!1)}}}),b.sync=function(a,d,e){var f=x[a];c.defaults(e||(e={}),{emulateHTTP:b.emulateHTTP,emulateJSON:b.emulateJSON});var g={type:f,dataType:"json"};if(e.url||(g.url=c.result(d,"url")||K()),null!=e.data||!d||"create"!==a&&"update"!==a&&"patch"!==a||(g.contentType="application/json",g.data=JSON.stringify(e.attrs||d.toJSON(e))),e.emulateJSON&&(g.contentType="application/x-www-form-urlencoded",g.data=g.data?{model:g.data}:{}),e.emulateHTTP&&("PUT"===f||"DELETE"===f||"PATCH"===f)){g.type="POST",e.emulateJSON&&(g.data._method=f);var h=e.beforeSend;e.beforeSend=function(a){return a.setRequestHeader("X-HTTP-Method-Override",f),h?h.apply(this,arguments):void 0}}"GET"===g.type||e.emulateJSON||(g.processData=!1),"PATCH"===g.type&&w&&(g.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")});var i=e.xhr=b.ajax(c.extend(g,e));return d.trigger("request",d,i,e),i};var w=!("undefined"==typeof window||!window.ActiveXObject||window.XMLHttpRequest&&(new XMLHttpRequest).dispatchEvent),x={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};b.ajax=function(){return b.$.ajax.apply(b.$,arguments)};var y=b.Router=function(a){a||(a={}),a.routes&&(this.routes=a.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},z=/\((.*?)\)/g,A=/(\(\?)?:\w+/g,B=/\*\w+/g,C=/[\-{}\[\]+?.,\\\^$|#\s]/g;c.extend(y.prototype,h,{initialize:function(){},route:function(a,d,e){c.isRegExp(a)||(a=this._routeToRegExp(a)),c.isFunction(d)&&(e=d,d=""),e||(e=this[d]);var f=this;return b.history.route(a,function(c){var g=f._extractParameters(a,c);f.execute(e,g),f.trigger.apply(f,["route:"+d].concat(g)),f.trigger("route",d,g),b.history.trigger("route",f,d,g)}),this},execute:function(a,b){a&&a.apply(this,b)},navigate:function(a,c){return b.history.navigate(a,c),this},_bindRoutes:function(){if(this.routes){this.routes=c.result(this,"routes");for(var a,b=c.keys(this.routes);null!=(a=b.pop());)this.route(a,this.routes[a])}},_routeToRegExp:function(a){return a=a.replace(C,"\\$&").replace(z,"(?:$1)?").replace(A,function(a,b){return b?a:"([^/?]+)"}).replace(B,"([^?]*?)"),new RegExp("^"+a+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(a,b){var d=a.exec(b).slice(1);return c.map(d,function(a,b){return b===d.length-1?a||null:a?decodeURIComponent(a):null})}});var D=b.History=function(){this.handlers=[],c.bindAll(this,"checkUrl"),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},E=/^[#\/]|\s+$/g,F=/^\/+|\/+$/g,G=/msie [\w.]+/,H=/\/$/,I=/#.*$/;D.started=!1,c.extend(D.prototype,h,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root},getHash:function(a){var b=(a||this).location.href.match(/#(.*)$/);return b?b[1]:""},getFragment:function(a,b){if(null==a)if(this._hasPushState||!this._wantsHashChange||b){a=decodeURI(this.location.pathname+this.location.search);var c=this.root.replace(H,"");a.indexOf(c)||(a=a.slice(c.length))}else a=this.getHash();return a.replace(E,"")},start:function(a){if(D.started)throw new Error("Backbone.history has already been started");D.started=!0,this.options=c.extend({root:"/"},this.options,a),this.root=this.options.root,this._wantsHashChange=this.options.hashChange!==!1,this._wantsPushState=!!this.options.pushState,this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var d=this.getFragment(),e=document.documentMode,f=G.exec(navigator.userAgent.toLowerCase())&&(!e||7>=e);if(this.root=("/"+this.root+"/").replace(F,"/"),f&&this._wantsHashChange){var g=b.$('<iframe src="javascript:0" tabindex="-1">');this.iframe=g.hide().appendTo("body")[0].contentWindow,this.navigate(d)}this._hasPushState?b.$(window).on("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!f?b.$(window).on("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=d;var h=this.location;if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot())return this.fragment=this.getFragment(null,!0),this.location.replace(this.root+"#"+this.fragment),!0;this._hasPushState&&this.atRoot()&&h.hash&&(this.fragment=this.getHash().replace(E,""),this.history.replaceState({},document.title,this.root+this.fragment))}return this.options.silent?void 0:this.loadUrl()},stop:function(){b.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),D.started=!1},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(){var a=this.getFragment();return a===this.fragment&&this.iframe&&(a=this.getFragment(this.getHash(this.iframe))),a===this.fragment?!1:(this.iframe&&this.navigate(a),void this.loadUrl())},loadUrl:function(a){return a=this.fragment=this.getFragment(a),c.any(this.handlers,function(b){return b.route.test(a)?(b.callback(a),!0):void 0})},navigate:function(a,b){if(!D.started)return!1;b&&b!==!0||(b={trigger:!!b});var c=this.root+(a=this.getFragment(a||""));if(a=a.replace(I,""),this.fragment!==a){if(this.fragment=a,""===a&&"/"!==c&&(c=c.slice(0,-1)),this._hasPushState)this.history[b.replace?"replaceState":"pushState"]({},document.title,c);else{if(!this._wantsHashChange)return this.location.assign(c);this._updateHash(this.location,a,b.replace),this.iframe&&a!==this.getFragment(this.getHash(this.iframe))&&(b.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,a,b.replace))}return b.trigger?this.loadUrl(a):void 0}},_updateHash:function(a,b,c){if(c){var d=a.href.replace(/(javascript:|#).*$/,"");a.replace(d+"#"+b)}else a.hash="#"+b}}),b.history=new D;var J=function(a,b){var d,e=this;d=a&&c.has(a,"constructor")?a.constructor:function(){return e.apply(this,arguments)},c.extend(d,e,b);var f=function(){this.constructor=d};return f.prototype=e.prototype,d.prototype=new f,a&&c.extend(d.prototype,a),d.__super__=e.prototype,d};m.extend=o.extend=y.extend=t.extend=D.extend=J;var K=function(){throw new Error('A "url" property or function must be specified')},L=function(a,b){var c=b.error;b.error=function(d){c&&c(a,d,b),a.trigger("error",a,d,b)}};return b});
\ No newline at end of file
index 5f212010e031dede20537c7a2b5a74c2cc4c9e26..3eac95fec258f2fc9fd95d0937670076b8a0ff71 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?(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 0):(ColorPicker_targetInput.value=a,void 0)}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"),window.ColorPicker_targetInput=null,void 0):(window.ColorPicker_targetInput=a,this.show(b),void 0)}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,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
index c31a38b99ac5a60d14a27980d68de4096813a018..35b0d112fc2a8cf18e11e4502b2f74c67f2bbd6c 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a,b){var c,d,e,f,g=Array.prototype.slice;d=function(a,b){var c=f(this,a,b);return c.extend=this.extend,c},e=function(){},f=function(a,c,d){var f;return f=c&&c.hasOwnProperty("constructor")?c.constructor:function(){var b=a.apply(this,arguments);return b},b.extend(f,a),e.prototype=a.prototype,f.prototype=new e,c&&b.extend(f.prototype,c),d&&b.extend(f,d),f.prototype.constructor=f,f.__super__=a.prototype,f},c={},c.Class=function(a,d,e){var f,g=arguments;return a&&d&&c.Class.applicator===a&&(g=d,b.extend(this,e||{})),f=this,this.instance&&(f=function(){return f.instance.apply(f,arguments)},b.extend(f,this)),f.initialize.apply(f,g),f},c.Class.applicator={},c.Class.prototype.initialize=function(){},c.Class.prototype.extended=function(a){for(var b=this;"undefined"!=typeof b.constructor;){if(b.constructor===a)return!0;if("undefined"==typeof b.constructor.__super__)return!1;b=b.constructor.__super__}return!1},c.Class.extend=d,c.Events={trigger:function(a){return this.topics&&this.topics[a]&&this.topics[a].fireWith(this,g.call(arguments,1)),this},bind:function(a){return this.topics=this.topics||{},this.topics[a]=this.topics[a]||b.Callbacks(),this.topics[a].add.apply(this.topics[a],g.call(arguments,1)),this},unbind:function(a){return this.topics&&this.topics[a]&&this.topics[a].remove.apply(this.topics[a],g.call(arguments,1)),this}},c.Value=c.Class.extend({initialize:function(a,c){this._value=a,this.callbacks=b.Callbacks(),b.extend(this,c||{}),this.set=b.proxy(this.set,this)},instance:function(){return arguments.length?this.set.apply(this,arguments):this.get()},get:function(){return this._value},set:function(a){var b=this._value;return a=this._setter.apply(this,arguments),a=this.validate(a),null===a||this._value===a?this:(this._value=a,this.callbacks.fireWith(this,[a,b]),this)},_setter:function(a){return a},setter:function(a){var b=this.get();return this._setter=a,this._value=null,this.set(b),this},resetSetter:function(){return this._setter=this.constructor.prototype._setter,this.set(this.get()),this},validate:function(a){return a},bind:function(){return this.callbacks.add.apply(this.callbacks,arguments),this},unbind:function(){return this.callbacks.remove.apply(this.callbacks,arguments),this},link:function(){var a=this.set;return b.each(arguments,function(){this.bind(a)}),this},unlink:function(){var a=this.set;return b.each(arguments,function(){this.unbind(a)}),this},sync:function(){var a=this;return b.each(arguments,function(){a.link(this),this.link(a)}),this},unsync:function(){var a=this;return b.each(arguments,function(){a.unlink(this),this.unlink(a)}),this}}),c.Values=c.Class.extend({defaultConstructor:c.Value,initialize:function(a){b.extend(this,a||{}),this._value={},this._deferreds={}},instance:function(a){return 1===arguments.length?this.value(a):this.when.apply(this,arguments)},value:function(a){return this._value[a]},has:function(a){return"undefined"!=typeof this._value[a]},add:function(a,b){return this.has(a)?this.value(a):(this._value[a]=b,b.parent=this,b.extended(c.Value)&&b.bind(this._change),this.trigger("add",b),this._deferreds[a]&&this._deferreds[a].resolve(),this._value[a])},create:function(a){return this.add(a,new this.defaultConstructor(c.Class.applicator,g.call(arguments,1)))},each:function(a,c){c="undefined"==typeof c?this:c,b.each(this._value,function(b,d){a.call(c,d,b)})},remove:function(a){var b;this.has(a)&&(b=this.value(a),this.trigger("remove",b),b.extended(c.Value)&&b.unbind(this._change),delete b.parent),delete this._value[a],delete this._deferreds[a]},when:function(){var a=this,c=g.call(arguments),d=b.Deferred();return b.isFunction(c[c.length-1])&&d.done(c.pop()),b.when.apply(b,b.map(c,function(c){return a.has(c)?void 0:a._deferreds[c]=a._deferreds[c]||b.Deferred()})).done(function(){var e=b.map(c,function(b){return a(b)});return e.length!==c.length?(a.when.apply(a,c).done(function(){d.resolveWith(a,e)}),void 0):(d.resolveWith(a,e),void 0)}),d.promise()},_change:function(){this.parent.trigger("change",this)}}),b.extend(c.Values.prototype,c.Events),c.ensure=function(a){return"string"==typeof a?b(a):a},c.Element=c.Value.extend({initialize:function(a,d){var e,f,g,h=this,i=c.Element.synchronizer.html;this.element=c.ensure(a),this.events="",this.element.is("input, select, textarea")&&(this.events+="change",i=c.Element.synchronizer.val,this.element.is("input")?(e=this.element.prop("type"),c.Element.synchronizer[e]&&(i=c.Element.synchronizer[e]),("text"===e||"password"===e)&&(this.events+=" keyup")):this.element.is("textarea")&&(this.events+=" keyup")),c.Value.prototype.initialize.call(this,null,b.extend(d||{},i)),this._value=this.get(),f=this.update,g=this.refresh,this.update=function(a){a!==g.call(h)&&f.apply(this,arguments)},this.refresh=function(){h.set(g.call(h))},this.bind(this.update),this.element.bind(this.events,this.refresh)},find:function(a){return b(a,this.element)},refresh:function(){},update:function(){}}),c.Element.synchronizer={},b.each(["html","val"],function(a,b){c.Element.synchronizer[b]={update:function(a){this.element[b](a)},refresh:function(){return this.element[b]()}}}),c.Element.synchronizer.checkbox={update:function(a){this.element.prop("checked",a)},refresh:function(){return this.element.prop("checked")}},c.Element.synchronizer.radio={update:function(a){this.element.filter(function(){return this.value===a}).prop("checked",!0)},refresh:function(){return this.element.filter(":checked").val()}},b.support.postMessage=!!window.postMessage,c.Messenger=c.Class.extend({add:function(a,b,d){return this[a]=new c.Value(b,d)},initialize:function(a,c){var d=window.parent==window?null:window.parent;b.extend(this,c||{}),this.add("channel",a.channel),this.add("url",a.url||""),this.add("targetWindow",a.targetWindow||d),this.add("origin",this.url()).link(this.url).setter(function(a){return a.replace(/([^:]+:\/\/[^\/]+).*/,"$1")}),this.receive=b.proxy(this.receive,this),this.receive.guid=b.guid++,b(window).on("message",this.receive)},destroy:function(){b(window).off("message",this.receive)},receive:function(a){var b;a=a.originalEvent,this.targetWindow()&&(this.origin()&&a.origin!==this.origin()||"string"==typeof a.data&&"{"===a.data[0]&&(b=JSON.parse(a.data),b&&b.id&&"undefined"!=typeof b.data&&(!b.channel&&!this.channel()||this.channel()===b.channel)&&this.trigger(b.id,b.data)))},send:function(a,b){var c;b="undefined"==typeof b?null:b,this.url()&&this.targetWindow()&&(c={id:a,data:b},this.channel()&&(c.channel=this.channel()),this.targetWindow().postMessage(JSON.stringify(c),this.origin()))}}),b.extend(c.Messenger.prototype,c.Events),c=b.extend(new c.Values,c),c.get=function(){var a={};return this.each(function(b,c){a[c]=b.get()}),a},a.customize=c}(wp,jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a,b){var c,d,e,f,g=Array.prototype.slice;d=function(a,b){var c=f(this,a,b);return c.extend=this.extend,c},e=function(){},f=function(a,c,d){var f;return f=c&&c.hasOwnProperty("constructor")?c.constructor:function(){var b=a.apply(this,arguments);return b},b.extend(f,a),e.prototype=a.prototype,f.prototype=new e,c&&b.extend(f.prototype,c),d&&b.extend(f,d),f.prototype.constructor=f,f.__super__=a.prototype,f},c={},c.Class=function(a,d,e){var f,g=arguments;return a&&d&&c.Class.applicator===a&&(g=d,b.extend(this,e||{})),f=this,this.instance&&(f=function(){return f.instance.apply(f,arguments)},b.extend(f,this)),f.initialize.apply(f,g),f},c.Class.applicator={},c.Class.prototype.initialize=function(){},c.Class.prototype.extended=function(a){for(var b=this;"undefined"!=typeof b.constructor;){if(b.constructor===a)return!0;if("undefined"==typeof b.constructor.__super__)return!1;b=b.constructor.__super__}return!1},c.Class.extend=d,c.Events={trigger:function(a){return this.topics&&this.topics[a]&&this.topics[a].fireWith(this,g.call(arguments,1)),this},bind:function(a){return this.topics=this.topics||{},this.topics[a]=this.topics[a]||b.Callbacks(),this.topics[a].add.apply(this.topics[a],g.call(arguments,1)),this},unbind:function(a){return this.topics&&this.topics[a]&&this.topics[a].remove.apply(this.topics[a],g.call(arguments,1)),this}},c.Value=c.Class.extend({initialize:function(a,c){this._value=a,this.callbacks=b.Callbacks(),b.extend(this,c||{}),this.set=b.proxy(this.set,this)},instance:function(){return arguments.length?this.set.apply(this,arguments):this.get()},get:function(){return this._value},set:function(a){var b=this._value;return a=this._setter.apply(this,arguments),a=this.validate(a),null===a||this._value===a?this:(this._value=a,this.callbacks.fireWith(this,[a,b]),this)},_setter:function(a){return a},setter:function(a){var b=this.get();return this._setter=a,this._value=null,this.set(b),this},resetSetter:function(){return this._setter=this.constructor.prototype._setter,this.set(this.get()),this},validate:function(a){return a},bind:function(){return this.callbacks.add.apply(this.callbacks,arguments),this},unbind:function(){return this.callbacks.remove.apply(this.callbacks,arguments),this},link:function(){var a=this.set;return b.each(arguments,function(){this.bind(a)}),this},unlink:function(){var a=this.set;return b.each(arguments,function(){this.unbind(a)}),this},sync:function(){var a=this;return b.each(arguments,function(){a.link(this),this.link(a)}),this},unsync:function(){var a=this;return b.each(arguments,function(){a.unlink(this),this.unlink(a)}),this}}),c.Values=c.Class.extend({defaultConstructor:c.Value,initialize:function(a){b.extend(this,a||{}),this._value={},this._deferreds={}},instance:function(a){return 1===arguments.length?this.value(a):this.when.apply(this,arguments)},value:function(a){return this._value[a]},has:function(a){return"undefined"!=typeof this._value[a]},add:function(a,b){return this.has(a)?this.value(a):(this._value[a]=b,b.parent=this,b.extended(c.Value)&&b.bind(this._change),this.trigger("add",b),this._deferreds[a]&&this._deferreds[a].resolve(),this._value[a])},create:function(a){return this.add(a,new this.defaultConstructor(c.Class.applicator,g.call(arguments,1)))},each:function(a,c){c="undefined"==typeof c?this:c,b.each(this._value,function(b,d){a.call(c,d,b)})},remove:function(a){var b;this.has(a)&&(b=this.value(a),this.trigger("remove",b),b.extended(c.Value)&&b.unbind(this._change),delete b.parent),delete this._value[a],delete this._deferreds[a]},when:function(){var a=this,c=g.call(arguments),d=b.Deferred();return b.isFunction(c[c.length-1])&&d.done(c.pop()),b.when.apply(b,b.map(c,function(c){return a.has(c)?void 0:a._deferreds[c]=a._deferreds[c]||b.Deferred()})).done(function(){var e=b.map(c,function(b){return a(b)});return e.length!==c.length?void a.when.apply(a,c).done(function(){d.resolveWith(a,e)}):void d.resolveWith(a,e)}),d.promise()},_change:function(){this.parent.trigger("change",this)}}),b.extend(c.Values.prototype,c.Events),c.ensure=function(a){return"string"==typeof a?b(a):a},c.Element=c.Value.extend({initialize:function(a,d){var e,f,g,h=this,i=c.Element.synchronizer.html;this.element=c.ensure(a),this.events="",this.element.is("input, select, textarea")&&(this.events+="change",i=c.Element.synchronizer.val,this.element.is("input")?(e=this.element.prop("type"),c.Element.synchronizer[e]&&(i=c.Element.synchronizer[e]),("text"===e||"password"===e)&&(this.events+=" keyup")):this.element.is("textarea")&&(this.events+=" keyup")),c.Value.prototype.initialize.call(this,null,b.extend(d||{},i)),this._value=this.get(),f=this.update,g=this.refresh,this.update=function(a){a!==g.call(h)&&f.apply(this,arguments)},this.refresh=function(){h.set(g.call(h))},this.bind(this.update),this.element.bind(this.events,this.refresh)},find:function(a){return b(a,this.element)},refresh:function(){},update:function(){}}),c.Element.synchronizer={},b.each(["html","val"],function(a,b){c.Element.synchronizer[b]={update:function(a){this.element[b](a)},refresh:function(){return this.element[b]()}}}),c.Element.synchronizer.checkbox={update:function(a){this.element.prop("checked",a)},refresh:function(){return this.element.prop("checked")}},c.Element.synchronizer.radio={update:function(a){this.element.filter(function(){return this.value===a}).prop("checked",!0)},refresh:function(){return this.element.filter(":checked").val()}},b.support.postMessage=!!window.postMessage,c.Messenger=c.Class.extend({add:function(a,b,d){return this[a]=new c.Value(b,d)},initialize:function(a,c){var d=window.parent==window?null:window.parent;b.extend(this,c||{}),this.add("channel",a.channel),this.add("url",a.url||""),this.add("targetWindow",a.targetWindow||d),this.add("origin",this.url()).link(this.url).setter(function(a){return a.replace(/([^:]+:\/\/[^\/]+).*/,"$1")}),this.receive=b.proxy(this.receive,this),this.receive.guid=b.guid++,b(window).on("message",this.receive)},destroy:function(){b(window).off("message",this.receive)},receive:function(a){var b;a=a.originalEvent,this.targetWindow()&&(this.origin()&&a.origin!==this.origin()||"string"==typeof a.data&&"{"===a.data[0]&&(b=JSON.parse(a.data),b&&b.id&&"undefined"!=typeof b.data&&(!b.channel&&!this.channel()||this.channel()===b.channel)&&this.trigger(b.id,b.data)))},send:function(a,b){var c;b="undefined"==typeof b?null:b,this.url()&&this.targetWindow()&&(c={id:a,data:b},this.channel()&&(c.channel=this.channel()),this.targetWindow().postMessage(JSON.stringify(c),this.origin()))}}),b.extend(c.Messenger.prototype,c.Events),c=b.extend(new c.Values,c),c.get=function(){var a={};return this.each(function(b,c){a[c]=b.get()}),a},a.customize=c}(wp,jQuery);
\ No newline at end of file
diff --git a/wp-includes/js/customize-models.js b/wp-includes/js/customize-models.js
new file mode 100644 (file)
index 0000000..5fa62ae
--- /dev/null
@@ -0,0 +1,243 @@
+/* globals _wpCustomizeHeader, _ */
+(function( $, wp ) {
+       var api = wp.customize;
+       api.HeaderTool = {};
+
+
+       /**
+        * wp.customize.HeaderTool.ImageModel
+        *
+        * A header image. This is where saves via the Customizer API are
+        * abstracted away, plus our own AJAX calls to add images to and remove
+        * images from the user's recently uploaded images setting on the server.
+        * These calls are made regardless of whether the user actually saves new
+        * Customizer settings.
+        *
+        * @constructor
+        * @augments Backbone.Model
+        */
+       api.HeaderTool.ImageModel = Backbone.Model.extend({
+               defaults: function() {
+                       return {
+                               header: {
+                                       attachment_id: 0,
+                                       url: '',
+                                       timestamp: _.now(),
+                                       thumbnail_url: ''
+                               },
+                               choice: '',
+                               selected: false,
+                               random: false
+                       };
+               },
+
+               initialize: function() {
+                       this.on('hide', this.hide, this);
+               },
+
+               hide: function() {
+                       this.set('choice', '');
+                       api('header_image').set('remove-header');
+                       api('header_image_data').set('remove-header');
+               },
+
+               destroy: function() {
+                       var data = this.get('header'),
+                               curr = api.HeaderTool.currentHeader.get('header').attachment_id;
+
+                       // If the image we're removing is also the current header, unset
+                       // the latter
+                       if (curr && data.attachment_id === curr) {
+                               api.HeaderTool.currentHeader.trigger('hide');
+                       }
+
+                       wp.ajax.post( 'custom-header-remove', {
+                               nonce: _wpCustomizeHeader.nonces.remove,
+                               wp_customize: 'on',
+                               theme: api.settings.theme.stylesheet,
+                               attachment_id: data.attachment_id
+                       });
+
+                       this.trigger('destroy', this, this.collection);
+               },
+
+               save: function() {
+                       if (this.get('random')) {
+                               api('header_image').set(this.get('header').random);
+                               api('header_image_data').set(this.get('header').random);
+                       } else {
+                               if (this.get('header').defaultName) {
+                                       api('header_image').set(this.get('header').url);
+                                       api('header_image_data').set(this.get('header').defaultName);
+                               } else {
+                                       api('header_image').set(this.get('header').url);
+                                       api('header_image_data').set(this.get('header'));
+                               }
+                       }
+
+                       api.HeaderTool.combinedList.trigger('control:setImage', this);
+               },
+
+               importImage: function() {
+                       var data = this.get('header');
+                       if (data.attachment_id === undefined) {
+                               return;
+                       }
+
+                       wp.ajax.post( 'custom-header-add', {
+                               nonce: _wpCustomizeHeader.nonces.add,
+                               wp_customize: 'on',
+                               theme: api.settings.theme.stylesheet,
+                               attachment_id: data.attachment_id
+                       } );
+               },
+
+               shouldBeCropped: function() {
+                       if (this.get('themeFlexWidth') === true &&
+                                               this.get('themeFlexHeight') === true) {
+                               return false;
+                       }
+
+                       if (this.get('themeFlexWidth') === true &&
+                               this.get('themeHeight') === this.get('imageHeight')) {
+                               return false;
+                       }
+
+                       if (this.get('themeFlexHeight') === true &&
+                               this.get('themeWidth') === this.get('imageWidth')) {
+                               return false;
+                       }
+
+                       if (this.get('themeWidth') === this.get('imageWidth') &&
+                               this.get('themeHeight') === this.get('imageHeight')) {
+                               return false;
+                       }
+
+                       return true;
+               }
+       });
+
+
+       /**
+        * wp.customize.HeaderTool.ChoiceList
+        *
+        * @constructor
+        * @augments Backbone.Collection
+        */
+       api.HeaderTool.ChoiceList = Backbone.Collection.extend({
+               model: api.HeaderTool.ImageModel,
+
+               // Ordered from most recently used to least
+               comparator: function(model) {
+                       return -model.get('header').timestamp;
+               },
+
+               initialize: function() {
+                       var current = api.HeaderTool.currentHeader.get('choice').replace(/^https?:\/\//, ''),
+                               isRandom = this.isRandomChoice(api.get().header_image);
+
+                       // Overridable by an extending class
+                       if (!this.type) {
+                               this.type = 'uploaded';
+                       }
+
+                       // Overridable by an extending class
+                       if (typeof this.data === 'undefined') {
+                               this.data = _wpCustomizeHeader.uploads;
+                       }
+
+                       if (isRandom) {
+                               // So that when adding data we don't hide regular images
+                               current = api.get().header_image;
+                       }
+
+                       this.on('control:setImage', this.setImage, this);
+                       this.on('control:removeImage', this.removeImage, this);
+                       this.on('add', this.maybeAddRandomChoice, this);
+
+                       _.each(this.data, function(elt, index) {
+                               if (!elt.attachment_id) {
+                                       elt.defaultName = index;
+                               }
+
+                               if (typeof elt.timestamp === 'undefined') {
+                                       elt.timestamp = 0;
+                               }
+
+                               this.add({
+                                       header: elt,
+                                       choice: elt.url.split('/').pop(),
+                                       selected: current === elt.url.replace(/^https?:\/\//, '')
+                               }, { silent: true });
+                       }, this);
+
+                       if (this.size() > 0) {
+                               this.addRandomChoice(current);
+                       }
+               },
+
+               maybeAddRandomChoice: function() {
+                       if (this.size() === 1) {
+                               this.addRandomChoice();
+                       }
+               },
+
+               addRandomChoice: function(initialChoice) {
+                       var isRandomSameType = RegExp(this.type).test(initialChoice),
+                               randomChoice = 'random-' + this.type + '-image';
+
+                       this.add({
+                               header: {
+                                       timestamp: 0,
+                                       random: randomChoice,
+                                       width: 245,
+                                       height: 41
+                               },
+                               choice: randomChoice,
+                               random: true,
+                               selected: isRandomSameType
+                       });
+               },
+
+               isRandomChoice: function(choice) {
+                       return (/^random-(uploaded|default)-image$/).test(choice);
+               },
+
+               shouldHideTitle: function() {
+                       return this.size() < 2;
+               },
+
+               setImage: function(model) {
+                       this.each(function(m) {
+                               m.set('selected', false);
+                       });
+
+                       if (model) {
+                               model.set('selected', true);
+                       }
+               },
+
+               removeImage: function() {
+                       this.each(function(m) {
+                               m.set('selected', false);
+                       });
+               }
+       });
+
+
+       /**
+        * wp.customize.HeaderTool.DefaultsList
+        *
+        * @constructor
+        * @augments wp.customize.HeaderTool.ChoiceList
+        * @augments Backbone.Collection
+        */
+       api.HeaderTool.DefaultsList = api.HeaderTool.ChoiceList.extend({
+               initialize: function() {
+                       this.type = 'default';
+                       this.data = _wpCustomizeHeader.defaults;
+                       api.HeaderTool.ChoiceList.prototype.initialize.apply(this);
+               }
+       });
+
+})( jQuery, window.wp );
diff --git a/wp-includes/js/customize-models.min.js b/wp-includes/js/customize-models.min.js
new file mode 100644 (file)
index 0000000..f7565c4
--- /dev/null
@@ -0,0 +1 @@
+!function(a,b){var c=b.customize;c.HeaderTool={},c.HeaderTool.ImageModel=Backbone.Model.extend({defaults:function(){return{header:{attachment_id:0,url:"",timestamp:_.now(),thumbnail_url:""},choice:"",selected:!1,random:!1}},initialize:function(){this.on("hide",this.hide,this)},hide:function(){this.set("choice",""),c("header_image").set("remove-header"),c("header_image_data").set("remove-header")},destroy:function(){var a=this.get("header"),d=c.HeaderTool.currentHeader.get("header").attachment_id;d&&a.attachment_id===d&&c.HeaderTool.currentHeader.trigger("hide"),b.ajax.post("custom-header-remove",{nonce:_wpCustomizeHeader.nonces.remove,wp_customize:"on",theme:c.settings.theme.stylesheet,attachment_id:a.attachment_id}),this.trigger("destroy",this,this.collection)},save:function(){this.get("random")?(c("header_image").set(this.get("header").random),c("header_image_data").set(this.get("header").random)):this.get("header").defaultName?(c("header_image").set(this.get("header").url),c("header_image_data").set(this.get("header").defaultName)):(c("header_image").set(this.get("header").url),c("header_image_data").set(this.get("header"))),c.HeaderTool.combinedList.trigger("control:setImage",this)},importImage:function(){var a=this.get("header");void 0!==a.attachment_id&&b.ajax.post("custom-header-add",{nonce:_wpCustomizeHeader.nonces.add,wp_customize:"on",theme:c.settings.theme.stylesheet,attachment_id:a.attachment_id})},shouldBeCropped:function(){return this.get("themeFlexWidth")===!0&&this.get("themeFlexHeight")===!0?!1:this.get("themeFlexWidth")===!0&&this.get("themeHeight")===this.get("imageHeight")?!1:this.get("themeFlexHeight")===!0&&this.get("themeWidth")===this.get("imageWidth")?!1:this.get("themeWidth")===this.get("imageWidth")&&this.get("themeHeight")===this.get("imageHeight")?!1:!0}}),c.HeaderTool.ChoiceList=Backbone.Collection.extend({model:c.HeaderTool.ImageModel,comparator:function(a){return-a.get("header").timestamp},initialize:function(){var a=c.HeaderTool.currentHeader.get("choice").replace(/^https?:\/\//,""),b=this.isRandomChoice(c.get().header_image);this.type||(this.type="uploaded"),"undefined"==typeof this.data&&(this.data=_wpCustomizeHeader.uploads),b&&(a=c.get().header_image),this.on("control:setImage",this.setImage,this),this.on("control:removeImage",this.removeImage,this),this.on("add",this.maybeAddRandomChoice,this),_.each(this.data,function(b,c){b.attachment_id||(b.defaultName=c),"undefined"==typeof b.timestamp&&(b.timestamp=0),this.add({header:b,choice:b.url.split("/").pop(),selected:a===b.url.replace(/^https?:\/\//,"")},{silent:!0})},this),this.size()>0&&this.addRandomChoice(a)},maybeAddRandomChoice:function(){1===this.size()&&this.addRandomChoice()},addRandomChoice:function(a){var b=RegExp(this.type).test(a),c="random-"+this.type+"-image";this.add({header:{timestamp:0,random:c,width:245,height:41},choice:c,random:!0,selected:b})},isRandomChoice:function(a){return/^random-(uploaded|default)-image$/.test(a)},shouldHideTitle:function(){return this.size()<2},setImage:function(a){this.each(function(a){a.set("selected",!1)}),a&&a.set("selected",!0)},removeImage:function(){this.each(function(a){a.set("selected",!1)})}}),c.HeaderTool.DefaultsList=c.HeaderTool.ChoiceList.extend({initialize:function(){this.type="default",this.data=_wpCustomizeHeader.defaults,c.HeaderTool.ChoiceList.prototype.initialize.apply(this)}})}(jQuery,window.wp);
\ No newline at end of file
diff --git a/wp-includes/js/customize-preview-widgets.js b/wp-includes/js/customize-preview-widgets.js
new file mode 100644 (file)
index 0000000..cccc596
--- /dev/null
@@ -0,0 +1,134 @@
+(function( wp, $ ){
+
+       if ( ! wp || ! wp.customize ) { return; }
+
+       var api = wp.customize,
+               OldPreview;
+
+       /**
+        * wp.customize.WidgetCustomizerPreview
+        *
+        */
+       api.WidgetCustomizerPreview = {
+               renderedSidebars: {}, // @todo Make rendered a property of the Backbone model
+               renderedWidgets: {}, // @todo Make rendered a property of the Backbone model
+               registeredSidebars: [], // @todo Make a Backbone collection
+               registeredWidgets: {}, // @todo Make array, Backbone collection
+               widgetSelectors: [],
+               preview: null,
+               l10n: {},
+
+               init: function () {
+                       var self = this;
+                       this.buildWidgetSelectors();
+                       this.highlightControls();
+
+                       this.preview.bind( 'active', function() {
+                               self.preview.send( 'rendered-sidebars', self.renderedSidebars ); // @todo Only send array of IDs
+                               self.preview.send( 'rendered-widgets', self.renderedWidgets ); // @todo Only send array of IDs
+                       } );
+
+                       this.preview.bind( 'highlight-widget', self.highlightWidget );
+               },
+
+               /**
+                * Calculate the selector for the sidebar's widgets based on the registered sidebar's info
+                */
+               buildWidgetSelectors: function () {
+                       var self = this;
+
+                       $.each( this.registeredSidebars, function ( i, sidebar ) {
+                               var widgetTpl = [
+                                               sidebar.before_widget.replace('%1$s', '').replace('%2$s', ''),
+                                               sidebar.before_title,
+                                               sidebar.after_title,
+                                               sidebar.after_widget
+                                       ].join(''),
+                                       emptyWidget,
+                                       widgetSelector,
+                                       widgetClasses;
+
+                               emptyWidget = $(widgetTpl);
+                               widgetSelector = emptyWidget.prop('tagName');
+                               widgetClasses = emptyWidget.prop('className');
+
+                               // Prevent a rare case when before_widget, before_title, after_title and after_widget is empty.
+                               if ( ! widgetClasses ) {
+                                       return;
+                               }
+
+                               widgetClasses = widgetClasses.replace(/^\s+|\s+$/g, '');
+
+                               if ( widgetClasses ) {
+                                       widgetSelector += '.' + widgetClasses.split(/\s+/).join('.');
+                               }
+                               self.widgetSelectors.push(widgetSelector);
+                       });
+               },
+
+               /**
+                * Highlight the widget on widget updates or widget control mouse overs.
+                *
+                * @param  {string} widgetId ID of the widget.
+                */
+               highlightWidget: function( widgetId ) {
+                       var $body = $( document.body ),
+                               $widget = $( '#' + widgetId );
+
+                       $body.find( '.widget-customizer-highlighted-widget' ).removeClass( 'widget-customizer-highlighted-widget' );
+
+                       $widget.addClass( 'widget-customizer-highlighted-widget' );
+                       setTimeout( function () {
+                               $widget.removeClass( 'widget-customizer-highlighted-widget' );
+                       }, 500 );
+               },
+
+               /**
+                * Show a title and highlight widgets on hover. On shift+clicking
+                * focus the widget control.
+                */
+               highlightControls: function() {
+                       var self = this,
+                               selector = this.widgetSelectors.join(',');
+
+                       $(selector).attr( 'title', this.l10n.widgetTooltip );
+
+                       $(document).on( 'mouseenter', selector, function () {
+                               self.preview.send( 'highlight-widget-control', $( this ).prop( 'id' ) );
+                       });
+
+                       // Open expand the widget control when shift+clicking the widget element
+                       $(document).on( 'click', selector, function ( e ) {
+                               if ( ! e.shiftKey ) {
+                                       return;
+                               }
+                               e.preventDefault();
+
+                               self.preview.send( 'focus-widget-control', $( this ).prop( 'id' ) );
+                       });
+               }
+       };
+
+       /**
+        * Capture the instance of the Preview since it is private
+        */
+       OldPreview = api.Preview;
+       api.Preview = OldPreview.extend( {
+               initialize: function( params, options ) {
+                       api.WidgetCustomizerPreview.preview = this;
+                       OldPreview.prototype.initialize.call( this, params, options );
+               }
+       } );
+
+       $(function () {
+               var settings = window._wpWidgetCustomizerPreviewSettings;
+               if ( ! settings ) {
+                       return;
+               }
+
+               $.extend( api.WidgetCustomizerPreview, settings );
+
+               api.WidgetCustomizerPreview.init();
+       });
+
+})( window.wp, jQuery );
diff --git a/wp-includes/js/customize-preview-widgets.min.js b/wp-includes/js/customize-preview-widgets.min.js
new file mode 100644 (file)
index 0000000..890f5b5
--- /dev/null
@@ -0,0 +1 @@
+!function(a,b){if(a&&a.customize){var c,d=a.customize;d.WidgetCustomizerPreview={renderedSidebars:{},renderedWidgets:{},registeredSidebars:[],registeredWidgets:{},widgetSelectors:[],preview:null,l10n:{},init:function(){var a=this;this.buildWidgetSelectors(),this.highlightControls(),this.preview.bind("active",function(){a.preview.send("rendered-sidebars",a.renderedSidebars),a.preview.send("rendered-widgets",a.renderedWidgets)}),this.preview.bind("highlight-widget",a.highlightWidget)},buildWidgetSelectors:function(){var a=this;b.each(this.registeredSidebars,function(c,d){var e,f,g,h=[d.before_widget.replace("%1$s","").replace("%2$s",""),d.before_title,d.after_title,d.after_widget].join("");e=b(h),f=e.prop("tagName"),g=e.prop("className"),g&&(g=g.replace(/^\s+|\s+$/g,""),g&&(f+="."+g.split(/\s+/).join(".")),a.widgetSelectors.push(f))})},highlightWidget:function(a){var c=b(document.body),d=b("#"+a);c.find(".widget-customizer-highlighted-widget").removeClass("widget-customizer-highlighted-widget"),d.addClass("widget-customizer-highlighted-widget"),setTimeout(function(){d.removeClass("widget-customizer-highlighted-widget")},500)},highlightControls:function(){var a=this,c=this.widgetSelectors.join(",");b(c).attr("title",this.l10n.widgetTooltip),b(document).on("mouseenter",c,function(){a.preview.send("highlight-widget-control",b(this).prop("id"))}),b(document).on("click",c,function(c){c.shiftKey&&(c.preventDefault(),a.preview.send("focus-widget-control",b(this).prop("id")))})}},c=d.Preview,d.Preview=c.extend({initialize:function(a,b){d.WidgetCustomizerPreview.preview=this,c.prototype.initialize.call(this,a,b)}}),b(function(){var a=window._wpWidgetCustomizerPreviewSettings;a&&(b.extend(d.WidgetCustomizerPreview,a),d.WidgetCustomizerPreview.init())})}}(window.wp,jQuery);
\ No newline at end of file
index 5f81ec7564f8f42089b039d23187088788ebc1a4..1d274f9c643b06509649da2f97e68351d62bc2c9 100644 (file)
                                style = $('#custom-background-css'),
                                update;
 
-                       // If custom backgrounds are active and we can't find the
-                       // default output, bail.
-                       if ( body.hasClass('custom-background') && ! style.length )
-                               return;
-
                        update = function() {
                                var css = '';
 
index 8ada955a9e5061ad1a324cc212b63b63425b0b92..27a42c4823f238df2bfb9fafd810f32a3c298ee7 100644 (file)
@@ -1 +1 @@
-!function(a,b){var c,d=wp.customize;c=function(a,b,c){var d;return function(){var e=arguments;c=c||this,clearTimeout(d),d=setTimeout(function(){d=null,a.apply(c,e)},b)}},d.Preview=d.Messenger.extend({initialize:function(a,e){var f=this;d.Messenger.prototype.initialize.call(this,a,e),this.body=b(document.body),this.body.on("click.preview","a",function(a){a.preventDefault(),f.send("scroll",0),f.send("url",b(this).prop("href"))}),this.body.on("submit.preview","form",function(a){a.preventDefault()}),this.window=b(window),this.window.on("scroll.preview",c(function(){f.send("scroll",f.window.scrollTop())},200)),this.bind("scroll",function(a){f.window.scrollTop(a)})}}),b(function(){if(d.settings=window._wpCustomizeSettings,d.settings){var a,c;a=new d.Preview({url:window.location.href,channel:d.settings.channel}),a.bind("settings",function(a){b.each(a,function(a,b){d.has(a)?d(a).set(b):d.create(a,b)})}),a.trigger("settings",d.settings.values),a.bind("setting",function(a){var b;a=a.slice(),(b=d(a.shift()))&&b.set.apply(b,a)}),a.bind("sync",function(c){b.each(c,function(b,c){a.trigger(b,c)}),a.send("synced")}),a.bind("active",function(){d.settings.nonce&&a.send("nonce",d.settings.nonce)}),a.send("ready"),c=b.map(["color","image","position_x","repeat","attachment"],function(a){return"background_"+a}),d.when.apply(d,c).done(function(a,c,d,e,f){var g,h=b(document.body),i=b("head"),j=b("#custom-background-css");(!h.hasClass("custom-background")||j.length)&&(g=function(){var g="";h.toggleClass("custom-background",!(!a()&&!c())),a()&&(g+="background-color: "+a()+";"),c()&&(g+='background-image: url("'+c()+'");',g+="background-position: top "+d()+";",g+="background-repeat: "+e()+";",g+="background-attachment: "+f()+";"),j.remove(),j=b('<style type="text/css" id="custom-background-css">body.custom-background { '+g+" }</style>").appendTo(i)},b.each(arguments,function(){this.bind(g)}))})}})}(wp,jQuery);
\ No newline at end of file
+!function(a,b){var c,d=wp.customize;c=function(a,b,c){var d;return function(){var e=arguments;c=c||this,clearTimeout(d),d=setTimeout(function(){d=null,a.apply(c,e)},b)}},d.Preview=d.Messenger.extend({initialize:function(a,e){var f=this;d.Messenger.prototype.initialize.call(this,a,e),this.body=b(document.body),this.body.on("click.preview","a",function(a){a.preventDefault(),f.send("scroll",0),f.send("url",b(this).prop("href"))}),this.body.on("submit.preview","form",function(a){a.preventDefault()}),this.window=b(window),this.window.on("scroll.preview",c(function(){f.send("scroll",f.window.scrollTop())},200)),this.bind("scroll",function(a){f.window.scrollTop(a)})}}),b(function(){if(d.settings=window._wpCustomizeSettings,d.settings){var a,c;a=new d.Preview({url:window.location.href,channel:d.settings.channel}),a.bind("settings",function(a){b.each(a,function(a,b){d.has(a)?d(a).set(b):d.create(a,b)})}),a.trigger("settings",d.settings.values),a.bind("setting",function(a){var b;a=a.slice(),(b=d(a.shift()))&&b.set.apply(b,a)}),a.bind("sync",function(c){b.each(c,function(b,c){a.trigger(b,c)}),a.send("synced")}),a.bind("active",function(){d.settings.nonce&&a.send("nonce",d.settings.nonce)}),a.send("ready"),c=b.map(["color","image","position_x","repeat","attachment"],function(a){return"background_"+a}),d.when.apply(d,c).done(function(a,c,d,e,f){var g,h=b(document.body),i=b("head"),j=b("#custom-background-css");g=function(){var g="";h.toggleClass("custom-background",!(!a()&&!c())),a()&&(g+="background-color: "+a()+";"),c()&&(g+='background-image: url("'+c()+'");',g+="background-position: top "+d()+";",g+="background-repeat: "+e()+";",g+="background-attachment: "+f()+";"),j.remove(),j=b('<style type="text/css" id="custom-background-css">body.custom-background { '+g+" }</style>").appendTo(i)},b.each(arguments,function(){this.bind(g)})})}})}(wp,jQuery);
\ No newline at end of file
diff --git a/wp-includes/js/customize-views.js b/wp-includes/js/customize-views.js
new file mode 100644 (file)
index 0000000..9c1669f
--- /dev/null
@@ -0,0 +1,231 @@
+(function( $, wp, _ ) {
+
+       if ( ! wp || ! wp.customize ) { return; }
+       var api = wp.customize;
+
+
+       /**
+        * wp.customize.HeaderTool.CurrentView
+        *
+        * Displays the currently selected header image, or a placeholder in lack
+        * thereof.
+        *
+        * Instantiate with model wp.customize.HeaderTool.currentHeader.
+        *
+        * @constructor
+        * @augments wp.Backbone.View
+        */
+       api.HeaderTool.CurrentView = wp.Backbone.View.extend({
+               template: wp.template('header-current'),
+
+               initialize: function() {
+                       this.listenTo(this.model, 'change', this.render);
+                       this.render();
+               },
+
+               render: function() {
+                       this.$el.html(this.template(this.model.toJSON()));
+                       this.setPlaceholder();
+                       this.setButtons();
+                       return this;
+               },
+
+               getHeight: function() {
+                       var image = this.$el.find('img'),
+                               saved, height, headerImageData;
+
+                       if (image.length) {
+                               this.$el.find('.inner').hide();
+                       } else {
+                               this.$el.find('.inner').show();
+                               return 40;
+                       }
+
+                       saved = this.model.get('savedHeight');
+                       height = image.height() || saved;
+
+                       // happens at ready
+                       if (!height) {
+                               headerImageData = api.get().header_image_data;
+
+                               if (headerImageData && headerImageData.width && headerImageData.height) {
+                                       // hardcoded container width
+                                       height = 260 / headerImageData.width * headerImageData.height;
+                               }
+                               else {
+                                       // fallback for when no image is set
+                                       height = 40;
+                               }
+                       }
+
+                       return height;
+               },
+
+               setPlaceholder: function(_height) {
+                       var height = _height || this.getHeight();
+                       this.model.set('savedHeight', height);
+                       this.$el
+                               .add(this.$el.find('.placeholder'))
+                               .height(height);
+               },
+
+               setButtons: function() {
+                       var elements = $('.actions .remove');
+                       if (this.model.get('choice')) {
+                               elements.show();
+                       } else {
+                               elements.hide();
+                       }
+               }
+       });
+
+
+       /**
+        * wp.customize.HeaderTool.ChoiceView
+        *
+        * Represents a choosable header image, be it user-uploaded,
+        * theme-suggested or a special Randomize choice.
+        *
+        * Takes a wp.customize.HeaderTool.ImageModel.
+        *
+        * Manually changes model wp.customize.HeaderTool.currentHeader via the
+        * `select` method.
+        *
+        * @constructor
+        * @augments wp.Backbone.View
+        */
+       api.HeaderTool.ChoiceView = wp.Backbone.View.extend({
+               template: wp.template('header-choice'),
+
+               className: 'header-view',
+
+               events: {
+                       'click .choice,.random': 'select',
+                       'click .close': 'removeImage'
+               },
+
+               initialize: function() {
+                       var properties = [
+                               this.model.get('header').url,
+                               this.model.get('choice')
+                       ];
+
+                       this.listenTo(this.model, 'change:selected', this.toggleSelected);
+
+                       if (_.contains(properties, api.get().header_image)) {
+                               api.HeaderTool.currentHeader.set(this.extendedModel());
+                       }
+               },
+
+               render: function() {
+                       this.$el.html(this.template(this.extendedModel()));
+
+                       this.toggleSelected();
+                       return this;
+               },
+
+               toggleSelected: function() {
+                       this.$el.toggleClass('selected', this.model.get('selected'));
+               },
+
+               extendedModel: function() {
+                       var c = this.model.get('collection');
+                       return _.extend(this.model.toJSON(), {
+                               type: c.type
+                       });
+               },
+
+               getHeight: api.HeaderTool.CurrentView.prototype.getHeight,
+
+               setPlaceholder: api.HeaderTool.CurrentView.prototype.setPlaceholder,
+
+               select: function() {
+                       this.preventJump();
+                       this.model.save();
+                       api.HeaderTool.currentHeader.set(this.extendedModel());
+               },
+
+               preventJump: function() {
+                       var container = $('.wp-full-overlay-sidebar-content'),
+                               scroll = container.scrollTop();
+
+                       _.defer(function() {
+                               container.scrollTop(scroll);
+                       });
+               },
+
+               removeImage: function(e) {
+                       e.stopPropagation();
+                       this.model.destroy();
+                       this.remove();
+               }
+       });
+
+
+       /**
+        * wp.customize.HeaderTool.ChoiceListView
+        *
+        * A container for ChoiceViews. These choices should be of one same type:
+        * user-uploaded headers or theme-defined ones.
+        *
+        * Takes a wp.customize.HeaderTool.ChoiceList.
+        *
+        * @constructor
+        * @augments wp.Backbone.View
+        */
+       api.HeaderTool.ChoiceListView = wp.Backbone.View.extend({
+               initialize: function() {
+                       this.listenTo(this.collection, 'add', this.addOne);
+                       this.listenTo(this.collection, 'remove', this.render);
+                       this.listenTo(this.collection, 'sort', this.render);
+                       this.listenTo(this.collection, 'change', this.toggleList);
+                       this.render();
+               },
+
+               render: function() {
+                       this.$el.empty();
+                       this.collection.each(this.addOne, this);
+                       this.toggleList();
+               },
+
+               addOne: function(choice) {
+                       var view;
+                       choice.set({ collection: this.collection });
+                       view = new api.HeaderTool.ChoiceView({ model: choice });
+                       this.$el.append(view.render().el);
+               },
+
+               toggleList: function() {
+                       var title = this.$el.parents().prev('.customize-control-title'),
+                               randomButton = this.$el.find('.random').parent();
+                       if (this.collection.shouldHideTitle()) {
+                               title.add(randomButton).hide();
+                       } else {
+                               title.add(randomButton).show();
+                       }
+               }
+       });
+
+
+       /**
+        * wp.customize.HeaderTool.CombinedList
+        *
+        * Aggregates wp.customize.HeaderTool.ChoiceList collections (or any
+        * Backbone object, really) and acts as a bus to feed them events.
+        *
+        * @constructor
+        * @augments wp.Backbone.View
+        */
+       api.HeaderTool.CombinedList = wp.Backbone.View.extend({
+               initialize: function(collections) {
+                       this.collections = collections;
+                       this.on('all', this.propagate, this);
+               },
+               propagate: function(event, arg) {
+                       _.each(this.collections, function(collection) {
+                               collection.trigger(event, arg);
+                       });
+               }
+       });
+
+})( jQuery, window.wp, _ );
diff --git a/wp-includes/js/customize-views.min.js b/wp-includes/js/customize-views.min.js
new file mode 100644 (file)
index 0000000..24d216d
--- /dev/null
@@ -0,0 +1 @@
+!function(a,b,c){if(b&&b.customize){var d=b.customize;d.HeaderTool.CurrentView=b.Backbone.View.extend({template:b.template("header-current"),initialize:function(){this.listenTo(this.model,"change",this.render),this.render()},render:function(){return this.$el.html(this.template(this.model.toJSON())),this.setPlaceholder(),this.setButtons(),this},getHeight:function(){var a,b,c,e=this.$el.find("img");return e.length?(this.$el.find(".inner").hide(),a=this.model.get("savedHeight"),b=e.height()||a,b||(c=d.get().header_image_data,b=c&&c.width&&c.height?260/c.width*c.height:40),b):(this.$el.find(".inner").show(),40)},setPlaceholder:function(a){var b=a||this.getHeight();this.model.set("savedHeight",b),this.$el.add(this.$el.find(".placeholder")).height(b)},setButtons:function(){var b=a(".actions .remove");this.model.get("choice")?b.show():b.hide()}}),d.HeaderTool.ChoiceView=b.Backbone.View.extend({template:b.template("header-choice"),className:"header-view",events:{"click .choice,.random":"select","click .close":"removeImage"},initialize:function(){var a=[this.model.get("header").url,this.model.get("choice")];this.listenTo(this.model,"change:selected",this.toggleSelected),c.contains(a,d.get().header_image)&&d.HeaderTool.currentHeader.set(this.extendedModel())},render:function(){return this.$el.html(this.template(this.extendedModel())),this.toggleSelected(),this},toggleSelected:function(){this.$el.toggleClass("selected",this.model.get("selected"))},extendedModel:function(){var a=this.model.get("collection");return c.extend(this.model.toJSON(),{type:a.type})},getHeight:d.HeaderTool.CurrentView.prototype.getHeight,setPlaceholder:d.HeaderTool.CurrentView.prototype.setPlaceholder,select:function(){this.preventJump(),this.model.save(),d.HeaderTool.currentHeader.set(this.extendedModel())},preventJump:function(){var b=a(".wp-full-overlay-sidebar-content"),d=b.scrollTop();c.defer(function(){b.scrollTop(d)})},removeImage:function(a){a.stopPropagation(),this.model.destroy(),this.remove()}}),d.HeaderTool.ChoiceListView=b.Backbone.View.extend({initialize:function(){this.listenTo(this.collection,"add",this.addOne),this.listenTo(this.collection,"remove",this.render),this.listenTo(this.collection,"sort",this.render),this.listenTo(this.collection,"change",this.toggleList),this.render()},render:function(){this.$el.empty(),this.collection.each(this.addOne,this),this.toggleList()},addOne:function(a){var b;a.set({collection:this.collection}),b=new d.HeaderTool.ChoiceView({model:a}),this.$el.append(b.render().el)},toggleList:function(){var a=this.$el.parents().prev(".customize-control-title"),b=this.$el.find(".random").parent();this.collection.shouldHideTitle()?a.add(b).hide():a.add(b).show()}}),d.HeaderTool.CombinedList=b.Backbone.View.extend({initialize:function(a){this.collections=a,this.on("all",this.propagate,this)},propagate:function(a,b){c.each(this.collections,function(c){c.trigger(a,b)})}})}}(jQuery,window.wp,_);
\ No newline at end of file
index 5406459c8579fe3242627f56e7eedc9dee5e5751..c097973f13e98491e48c35801c5f632c403793b4 100644 (file)
@@ -1,14 +1,10 @@
 /**
  * Heartbeat API
  *
- * Note: this API is "experimental" meaning it will likely change a lot
- * in the next few releases based on feedback from 3.6.0. If you intend
- * to use it, please follow the development closely.
- *
  * Heartbeat is a simple server polling API that sends XHR requests to
  * the server every 15 - 60 seconds and triggers events (or callbacks) upon
  * receiving data. Currently these 'ticks' handle transports for post locking,
- * login-expiration warnings, and related tasks while a user is logged in.
+ * login-expiration warnings, autosave, and related tasks while a user is logged in.
  *
  * Available PHP filters (in ajax-actions.php):
  * - heartbeat_received
index 2e36d6fd120fc0a8be704db23e194e9c1a34bba6..d2f17f3ba4677380f6375d23ac7a6272d5ce96b1 100644 (file)
@@ -1 +1 @@
-!function(a,b,c){var d=function(){function d(){if("string"==typeof b.pagenow&&(B.screenId=b.pagenow),"string"==typeof b.ajaxurl&&(B.url=b.ajaxurl),"object"==typeof b.heartbeatSettings){var c=b.heartbeatSettings;!B.url&&c.ajaxurl&&(B.url=c.ajaxurl),c.interval&&(B.mainInterval=c.interval,B.mainInterval<15?B.mainInterval=15:B.mainInterval>60&&(B.mainInterval=60)),B.screenId||(B.screenId=c.screenId||"front"),"disable"===c.suspension&&(B.suspendEnabled=!1)}B.mainInterval=1e3*B.mainInterval,B.originalInterval=B.mainInterval,a(b).on("blur.wp-heartbeat-focus",function(){m(),B.winBlurTimer=b.setTimeout(function(){k()},500)}).on("focus.wp-heartbeat-focus",function(){n(),l()}).on("unload.wp-heartbeat",function(){B.suspend=!0,B.xhr&&4!==B.xhr.readyState&&B.xhr.abort()}),b.setInterval(function(){q()},3e4),A.ready(function(){B.lastTick=e(),j()})}function e(){return(new Date).getTime()}function f(a){var c,d=a.src;if(d&&/^https?:\/\//.test(d)&&(c=b.location.origin?b.location.origin:b.location.protocol+"//"+b.location.host,0!==d.indexOf(c)))return!1;try{if(a.contentWindow.document)return!0}catch(e){}return!1}function g(a,b){var c;if(a){switch(a){case"abort":break;case"timeout":c=!0;break;case"error":if(503===b&&B.hasConnected){c=!0;break}case"parsererror":case"empty":case"unknown":B.errorcount++,B.errorcount>2&&B.hasConnected&&(c=!0)}c&&!s()&&(B.connectionError=!0,A.trigger("heartbeat-connection-lost",[a,b]))}}function h(){B.hasConnected=!0,s()&&(B.errorcount=0,B.connectionError=!1,A.trigger("heartbeat-connection-restored"))}function i(){var c,d;B.connecting||B.suspend||(B.lastTick=e(),d=a.extend({},B.queue),B.queue={},A.trigger("heartbeat-send",[d]),c={data:d,interval:B.tempInterval?B.tempInterval/1e3:B.mainInterval/1e3,_nonce:"object"==typeof b.heartbeatSettings?b.heartbeatSettings.nonce:"",action:"heartbeat",screen_id:B.screenId,has_focus:B.hasFocus},B.connecting=!0,B.xhr=a.ajax({url:B.url,type:"post",timeout:3e4,data:c,dataType:"json"}).always(function(){B.connecting=!1,j()}).done(function(a,b,c){var d;return a?(h(),a.nonces_expired?(A.trigger("heartbeat-nonces-expired"),void 0):(a.heartbeat_interval&&(d=a.heartbeat_interval,delete a.heartbeat_interval),A.trigger("heartbeat-tick",[a,b,c]),d&&v(d),void 0)):(g("empty"),void 0)}).fail(function(a,b,c){g(b||"unknown",a.status),A.trigger("heartbeat-error",[a,b,c])}))}function j(){var a=e()-B.lastTick,c=B.mainInterval;B.suspend||(B.hasFocus?B.countdown>0&&B.tempInterval&&(c=B.tempInterval,B.countdown--,B.countdown<1&&(B.tempInterval=0)):c=12e4,b.clearTimeout(B.beatTimer),c>a?B.beatTimer=b.setTimeout(function(){i()},c-a):i())}function k(){o(),B.hasFocus=!1}function l(){o(),B.userActivity=e(),B.suspend=!1,B.hasFocus||(B.hasFocus=!0,j())}function m(){a("iframe").each(function(c,d){f(d)&&(a.data(d,"wp-heartbeat-focus")||(a.data(d,"wp-heartbeat-focus",1),a(d.contentWindow).on("focus.wp-heartbeat-focus",function(){l()}).on("blur.wp-heartbeat-focus",function(){m(),B.frameBlurTimer=b.setTimeout(function(){k()},500)})))})}function n(){a("iframe").each(function(b,c){f(c)&&(a.removeData(c,"wp-heartbeat-focus"),a(c.contentWindow).off(".wp-heartbeat-focus"))})}function o(){b.clearTimeout(B.winBlurTimer),b.clearTimeout(B.frameBlurTimer)}function p(){B.userActivityEvents=!1,A.off(".wp-heartbeat-active"),a("iframe").each(function(b,c){f(c)&&a(c.contentWindow).off(".wp-heartbeat-active")}),l()}function q(){var b=B.userActivity?e()-B.userActivity:0;b>3e5&&B.hasFocus&&k(),B.suspendEnabled&&b>12e5&&(B.suspend=!0),B.userActivityEvents||(A.on("mouseover.wp-heartbeat-active keyup.wp-heartbeat-active",function(){p()}),a("iframe").each(function(b,c){f(c)&&a(c.contentWindow).on("mouseover.wp-heartbeat-active keyup.wp-heartbeat-active",function(){p()})}),B.userActivityEvents=!0)}function r(){return B.hasFocus}function s(){return B.connectionError}function t(){B.lastTick=0,j()}function u(){B.suspendEnabled=!1}function v(a,b){var c,d=B.tempInterval?B.tempInterval:B.mainInterval;if(a){switch(a){case"fast":case 5:c=5e3;break;case 15:c=15e3;break;case 30:c=3e4;break;case 60:c=6e4;break;case"long-polling":return B.mainInterval=0,0;default:c=B.originalInterval}5e3===c?(b=parseInt(b,10)||30,b=1>b||b>30?30:b,B.countdown=b,B.tempInterval=c):(B.countdown=0,B.tempInterval=0,B.mainInterval=c),c!==d&&j()}return B.tempInterval?B.tempInterval/1e3:B.mainInterval/1e3}function w(a,b,c){return a?c&&this.isQueued(a)?!1:(B.queue[a]=b,!0):!1}function x(a){return a?B.queue.hasOwnProperty(a):void 0}function y(a){a&&delete B.queue[a]}function z(a){return a?this.isQueued(a)?B.queue[a]:c:void 0}var A=a(document),B={suspend:!1,suspendEnabled:!0,screenId:"",url:"",lastTick:0,queue:{},mainInterval:60,tempInterval:0,originalInterval:0,countdown:0,connecting:!1,connectionError:!1,errorcount:0,hasConnected:!1,hasFocus:!0,userActivity:0,userActivityEvents:!1,beatTimer:0,winBlurTimer:0,frameBlurTimer:0};return d(),{hasFocus:r,connectNow:t,disableSuspend:u,interval:v,hasConnectionError:s,enqueue:w,dequeue:y,isQueued:x,getQueuedItem:z}};b.wp=b.wp||{},b.wp.heartbeat=new d}(jQuery,window);
\ No newline at end of file
+!function(a,b,c){var d=function(){function d(){if("string"==typeof b.pagenow&&(B.screenId=b.pagenow),"string"==typeof b.ajaxurl&&(B.url=b.ajaxurl),"object"==typeof b.heartbeatSettings){var c=b.heartbeatSettings;!B.url&&c.ajaxurl&&(B.url=c.ajaxurl),c.interval&&(B.mainInterval=c.interval,B.mainInterval<15?B.mainInterval=15:B.mainInterval>60&&(B.mainInterval=60)),B.screenId||(B.screenId=c.screenId||"front"),"disable"===c.suspension&&(B.suspendEnabled=!1)}B.mainInterval=1e3*B.mainInterval,B.originalInterval=B.mainInterval,a(b).on("blur.wp-heartbeat-focus",function(){m(),B.winBlurTimer=b.setTimeout(function(){k()},500)}).on("focus.wp-heartbeat-focus",function(){n(),l()}).on("unload.wp-heartbeat",function(){B.suspend=!0,B.xhr&&4!==B.xhr.readyState&&B.xhr.abort()}),b.setInterval(function(){q()},3e4),A.ready(function(){B.lastTick=e(),j()})}function e(){return(new Date).getTime()}function f(a){var c,d=a.src;if(d&&/^https?:\/\//.test(d)&&(c=b.location.origin?b.location.origin:b.location.protocol+"//"+b.location.host,0!==d.indexOf(c)))return!1;try{if(a.contentWindow.document)return!0}catch(e){}return!1}function g(a,b){var c;if(a){switch(a){case"abort":break;case"timeout":c=!0;break;case"error":if(503===b&&B.hasConnected){c=!0;break}case"parsererror":case"empty":case"unknown":B.errorcount++,B.errorcount>2&&B.hasConnected&&(c=!0)}c&&!s()&&(B.connectionError=!0,A.trigger("heartbeat-connection-lost",[a,b]))}}function h(){B.hasConnected=!0,s()&&(B.errorcount=0,B.connectionError=!1,A.trigger("heartbeat-connection-restored"))}function i(){var c,d;B.connecting||B.suspend||(B.lastTick=e(),d=a.extend({},B.queue),B.queue={},A.trigger("heartbeat-send",[d]),c={data:d,interval:B.tempInterval?B.tempInterval/1e3:B.mainInterval/1e3,_nonce:"object"==typeof b.heartbeatSettings?b.heartbeatSettings.nonce:"",action:"heartbeat",screen_id:B.screenId,has_focus:B.hasFocus},B.connecting=!0,B.xhr=a.ajax({url:B.url,type:"post",timeout:3e4,data:c,dataType:"json"}).always(function(){B.connecting=!1,j()}).done(function(a,b,c){var d;return a?(h(),a.nonces_expired?void A.trigger("heartbeat-nonces-expired"):(a.heartbeat_interval&&(d=a.heartbeat_interval,delete a.heartbeat_interval),A.trigger("heartbeat-tick",[a,b,c]),void(d&&v(d)))):void g("empty")}).fail(function(a,b,c){g(b||"unknown",a.status),A.trigger("heartbeat-error",[a,b,c])}))}function j(){var a=e()-B.lastTick,c=B.mainInterval;B.suspend||(B.hasFocus?B.countdown>0&&B.tempInterval&&(c=B.tempInterval,B.countdown--,B.countdown<1&&(B.tempInterval=0)):c=12e4,b.clearTimeout(B.beatTimer),c>a?B.beatTimer=b.setTimeout(function(){i()},c-a):i())}function k(){o(),B.hasFocus=!1}function l(){o(),B.userActivity=e(),B.suspend=!1,B.hasFocus||(B.hasFocus=!0,j())}function m(){a("iframe").each(function(c,d){f(d)&&(a.data(d,"wp-heartbeat-focus")||(a.data(d,"wp-heartbeat-focus",1),a(d.contentWindow).on("focus.wp-heartbeat-focus",function(){l()}).on("blur.wp-heartbeat-focus",function(){m(),B.frameBlurTimer=b.setTimeout(function(){k()},500)})))})}function n(){a("iframe").each(function(b,c){f(c)&&(a.removeData(c,"wp-heartbeat-focus"),a(c.contentWindow).off(".wp-heartbeat-focus"))})}function o(){b.clearTimeout(B.winBlurTimer),b.clearTimeout(B.frameBlurTimer)}function p(){B.userActivityEvents=!1,A.off(".wp-heartbeat-active"),a("iframe").each(function(b,c){f(c)&&a(c.contentWindow).off(".wp-heartbeat-active")}),l()}function q(){var b=B.userActivity?e()-B.userActivity:0;b>3e5&&B.hasFocus&&k(),B.suspendEnabled&&b>12e5&&(B.suspend=!0),B.userActivityEvents||(A.on("mouseover.wp-heartbeat-active keyup.wp-heartbeat-active",function(){p()}),a("iframe").each(function(b,c){f(c)&&a(c.contentWindow).on("mouseover.wp-heartbeat-active keyup.wp-heartbeat-active",function(){p()})}),B.userActivityEvents=!0)}function r(){return B.hasFocus}function s(){return B.connectionError}function t(){B.lastTick=0,j()}function u(){B.suspendEnabled=!1}function v(a,b){var c,d=B.tempInterval?B.tempInterval:B.mainInterval;if(a){switch(a){case"fast":case 5:c=5e3;break;case 15:c=15e3;break;case 30:c=3e4;break;case 60:c=6e4;break;case"long-polling":return B.mainInterval=0,0;default:c=B.originalInterval}5e3===c?(b=parseInt(b,10)||30,b=1>b||b>30?30:b,B.countdown=b,B.tempInterval=c):(B.countdown=0,B.tempInterval=0,B.mainInterval=c),c!==d&&j()}return B.tempInterval?B.tempInterval/1e3:B.mainInterval/1e3}function w(a,b,c){return a?c&&this.isQueued(a)?!1:(B.queue[a]=b,!0):!1}function x(a){return a?B.queue.hasOwnProperty(a):void 0}function y(a){a&&delete B.queue[a]}function z(a){return a?this.isQueued(a)?B.queue[a]:c:void 0}var A=a(document),B={suspend:!1,suspendEnabled:!0,screenId:"",url:"",lastTick:0,queue:{},mainInterval:60,tempInterval:0,originalInterval:0,countdown:0,connecting:!1,connectionError:!1,errorcount:0,hasConnected:!1,hasFocus:!0,userActivity:0,userActivityEvents:!1,beatTimer:0,winBlurTimer:0,frameBlurTimer:0};return d(),{hasFocus:r,connectNow:t,disableSuspend:u,interval:v,hasConnectionError:s,enqueue:w,dequeue:y,isQueued:x,getQueuedItem:z}};b.wp=b.wp||{},b.wp.heartbeat=new d}(jQuery,window);
\ No newline at end of file
index 85fa1ffcb9d86325383d6911b444710cfd39bf3b..d5e5009adf44873c42a292e5acd0980fa28789d1 100644 (file)
@@ -1,19 +1,19 @@
 /******************************************************************************************************************************
 
- * @ Original idea by by Binny V A, Original version: 2.00.A 
+ * @ Original idea by by Binny V A, Original version: 2.00.A
  * @ http://www.openjs.com/scripts/events/keyboard_shortcuts/
  * @ Original License : BSD
- * @ jQuery Plugin by Tzury Bar Yochay 
+
+ * @ jQuery Plugin by Tzury Bar Yochay
         mail: tzury.by@gmail.com
         blog: evalinux.wordpress.com
         face: facebook.com/profile.php?id=513676303
-        
+
         (c) Copyrights 2007
-        
+
  * @ jQuery Plugin version Beta (0.0.2)
  * @ License: jQuery-License.
+
 TODO:
     add queue support (as in gmail) e.g. 'x' then 'y', etc.
     add mouse + mouse wheel events.
@@ -21,23 +21,23 @@ TODO:
 USAGE:
     $.hotkeys.add('Ctrl+c', function(){ alert('copy anyone?');});
     $.hotkeys.add('Ctrl+c', {target:'div#editor', type:'keyup', propagate: true},function(){ alert('copy anyone?');});>
-    $.hotkeys.remove('Ctrl+c'); 
-    $.hotkeys.remove('Ctrl+c', {target:'div#editor', type:'keypress'}); 
-    
+    $.hotkeys.remove('Ctrl+c');
+    $.hotkeys.remove('Ctrl+c', {target:'div#editor', type:'keypress'});
+
 ******************************************************************************************************************************/
 (function (jQuery){
     this.version = '(beta)(0.0.3)';
        this.all = {};
     this.special_keys = {
-        27: 'esc', 9: 'tab', 32:'space', 13: 'return', 8:'backspace', 145: 'scroll', 20: 'capslock', 
-        144: 'numlock', 19:'pause', 45:'insert', 36:'home', 46:'del',35:'end', 33: 'pageup', 
-        34:'pagedown', 37:'left', 38:'up', 39:'right',40:'down', 112:'f1',113:'f2', 114:'f3', 
+        27: 'esc', 9: 'tab', 32:'space', 13: 'return', 8:'backspace', 145: 'scroll', 20: 'capslock',
+        144: 'numlock', 19:'pause', 45:'insert', 36:'home', 46:'del',35:'end', 33: 'pageup',
+        34:'pagedown', 37:'left', 38:'up', 39:'right',40:'down', 112:'f1',113:'f2', 114:'f3',
         115:'f4', 116:'f5', 117:'f6', 118:'f7', 119:'f8', 120:'f9', 121:'f10', 122:'f11', 123:'f12'};
-        
-    this.shift_nums = { "`":"~", "1":"!", "2":"@", "3":"#", "4":"$", "5":"%", "6":"^", "7":"&", 
-        "8":"*", "9":"(", "0":")", "-":"_", "=":"+", ";":":", "'":"\"", ",":"<", 
+
+    this.shift_nums = { "`":"~", "1":"!", "2":"@", "3":"#", "4":"$", "5":"%", "6":"^", "7":"&",
+        "8":"*", "9":"(", "0":")", "-":"_", "=":"+", ";":":", "'":"\"", ",":"<",
         ".":">",  "/":"?",  "\\":"|" };
-        
+
     this.add = function(combi, options, callback) {
         if (jQuery.isFunction(options)){
             callback = options;
@@ -47,8 +47,8 @@ USAGE:
             defaults = {type: 'keydown', propagate: false, disableInInput: false, target: jQuery('html')[0]},
             that = this;
         opt = jQuery.extend( opt , defaults, options || {} );
-        combi = combi.toLowerCase();        
-        
+        combi = combi.toLowerCase();
+
         // inspect if keystroke matches
         var inspector = function(event) {
             // WP: not needed with newer jQuery
@@ -57,11 +57,14 @@ USAGE:
             // @ TextNode -> nodeType == 3
             // WP: not needed with newer jQuery
             // element = (element.nodeType==3) ? element.parentNode : element;
-            
-            if(opt['disableInInput']) { // Disable shortcut keys in Input, Textarea fields
+
+            if ( opt['disableInInput'] ) { // Disable shortcut keys in Input, Textarea fields
                 var target = jQuery(element);
-                if( target.is("input") || target.is("textarea")){
-                    return;
+
+                               if ( ( target.is('input') || target.is('textarea') ) &&
+                                       ( ! opt.noDisable || ! target.is( opt.noDisable ) ) ) {
+
+                                       return;
                 }
             }
             var code = event.which,
@@ -74,11 +77,11 @@ USAGE:
                 meta = event.metaKey,
                 propagate = true, // default behaivour
                 mapPoint = null;
-            
+
             // in opera + safari, the event.target is unpredictable.
-            // for example: 'keydown' might be associated with HtmlBodyElement 
+            // for example: 'keydown' might be associated with HtmlBodyElement
             // or the element where you last clicked with your mouse.
-            // WP: needed for all browsers 
+            // WP: needed for all browsers
             // if (jQuery.browser.opera || jQuery.browser.safari){
                 while (!that.all[element] && element.parentNode){
                     element = element.parentNode;
@@ -106,7 +109,7 @@ USAGE:
                     return false;
                 }
             }
-               };        
+               };
         // first hook for this element
         if (!this.all[opt.target]){
             this.all[opt.target] = {events:{}};
@@ -114,18 +117,18 @@ USAGE:
         if (!this.all[opt.target].events[opt.type]){
             this.all[opt.target].events[opt.type] = {callbackMap: {}}
             jQuery.event.add(opt.target, opt.type, inspector);
-        }        
-        this.all[opt.target].events[opt.type].callbackMap[combi] =  {cb: callback, propagate:opt.propagate};                
+        }
+        this.all[opt.target].events[opt.type].callbackMap[combi] =  {cb: callback, propagate:opt.propagate};
         return jQuery;
-       };    
+       };
     this.remove = function(exp, opt) {
         opt = opt || {};
         target = opt.target || jQuery('html')[0];
         type = opt.type || 'keydown';
-               exp = exp.toLowerCase();        
-        delete this.all[target].events[type].callbackMap[exp]        
+               exp = exp.toLowerCase();
+        delete this.all[target].events[type].callbackMap[exp]
         return jQuery;
        };
     jQuery.hotkeys = this;
-    return jQuery;    
-})(jQuery);
\ No newline at end of file
+    return jQuery;
+})(jQuery);
index 315d3146df12831095f75fe1fb77de37768a32fd..4ea18eb80f55b6cd077ee22045436f8c95c52621 100644 (file)
@@ -1,6 +1,5 @@
-/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
-*/
-(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?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)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.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+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,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(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!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 u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.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.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.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"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t
-}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},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(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Ct=/^(?:checkbox|radio)$/i,Nt=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={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:x.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle);
-u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.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(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("<div>").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,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":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window);
+/*! jQuery v1.11.0 | (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="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,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=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.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},n.extend=n.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||n.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&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.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(l.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&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},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=s(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:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.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=s(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),n.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||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=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)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(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 mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(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 typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="<select t=''><option selected=''></option></select>",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.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},z=b?function(a,b){if(a===b)return j=!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===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.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=db.selectors={cacheLength:50,createPseudo:fb,match:V,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(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===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]||db.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]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(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(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.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+" ").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(),t=!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&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&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]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)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&&(t&&((l[s]||(l[s]={}))[a]=[u,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()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(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),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?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===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.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 X.test(a.nodeName)},input:function(a){return W.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:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(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]=jb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=kb(b);function nb(){}nb.prototype=d.filters=d.pseudos,d.setFilters=new nb;function ob(a,b){var c,e,f,g,h,i,j,k=x[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=Q.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[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?db.error(a):x(a,i).slice(0)}function pb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;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=[u,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[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(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 sb(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 tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(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?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.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]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(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}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(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&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.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){n.each(b,function(b,c){var d=n.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&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.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},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.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?n.extend(a,d):d}},e={};return d.pipe=d.then,n.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&&n.isFunction(a.promise)?e:0,g=1===f?a:n.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]&&n.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 I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.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()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f
+}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.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=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.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 n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.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=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},W=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(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},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a>",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.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?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.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]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.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||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.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)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.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=((n.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?n(c,this).index(i)>=0:n.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[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=$.test(e)?this.mouseHooks:Z.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||z),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||z,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!==db()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===db()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=z.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]===L&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&(a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault())?bb:cb):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:cb,isPropagationStopped:cb,isImmediatePropagationStopped:cb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=bb,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=bb,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submitBubbles||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?b.form:void 0;c&&!n._data(c,"submitBubbles")&&(n.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),n._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.changeBubbles||(n.event.special.change={setup:function(){return Y.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),n.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),n.event.simulate("change",this,a,!0)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;Y.test(b.nodeName)&&!n._data(b,"changeBubbles")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a,!0)}),n._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 n.event.remove(this,"._change"),!Y.test(this.nodeName)}}),l.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.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=cb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return n().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=n.guid++)),this.each(function(){n.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,n(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=cb),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});function eb(a){var b=fb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var fb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gb=/ jQuery\d+="(?:null|\d+)"/g,hb=new RegExp("<(?:"+fb+")[\\s/>]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/<tbody/i,mb=/<|&#?\w+;/,nb=/<(?:script|style|link)/i,ob=/checked\s*(?:[^=]|=\s*.checked.)/i,pb=/^$|\/(?:java|ecma)script/i,qb=/^true\/(.*)/,rb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,sb={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:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._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++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.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)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1></$2>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?"<table>"!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.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),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).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=xb(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=xb(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?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.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 n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(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,n.cleanData(vb(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,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Db[0].contentWindow||Db[0].contentDocument).document,b.write(),b.close(),c=Fb(a,b),Db.detach()),Eb[a]=c),c}!function(){var a,b,c=z.createElement("div"),d="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";c.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],a.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(a.style.opacity),l.cssFloat=!!a.style.cssFloat,c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===c.style.backgroundClip,a=c=null,l.shrinkWrapBlocks=function(){var a,c,e,f;if(null==b){if(a=z.getElementsByTagName("body")[0],!a)return;f="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",c=z.createElement("div"),e=z.createElement("div"),a.appendChild(c).appendChild(e),b=!1,typeof e.style.zoom!==L&&(e.style.cssText=d+";width:1px;padding:1px;zoom:1",e.innerHTML="<div></div>",e.firstChild.style.width="5px",b=3!==e.offsetWidth),a.removeChild(c),a=c=e=null}return b}}();var Hb=/^margin/,Ib=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Jb,Kb,Lb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Jb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Kb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),Ib.test(g)&&Hb.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+""}):z.documentElement.currentStyle&&(Jb=function(a){return a.currentStyle},Kb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ib.test(g)&&!Lb.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 Mb(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=z.createElement("div"),i="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",j="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";h.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",b=h.getElementsByTagName("a")[0],b.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(b.style.opacity),l.cssFloat=!!b.style.cssFloat,h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===h.style.backgroundClip,b=h=null,n.extend(l,{reliableHiddenOffsets:function(){if(null!=c)return c;var a,b,d,e=z.createElement("div"),f=z.getElementsByTagName("body")[0];if(f)return e.setAttribute("className","t"),e.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=z.createElement("div"),a.style.cssText=i,f.appendChild(a).appendChild(e),e.innerHTML="<table><tr><td></td><td>t</td></tr></table>",b=e.getElementsByTagName("td"),b[0].style.cssText="padding:0;margin:0;border:0;display:none",d=0===b[0].offsetHeight,b[0].style.display="",b[1].style.display="none",c=d&&0===b[0].offsetHeight,f.removeChild(a),e=f=null,c},boxSizing:function(){return null==d&&k(),d},boxSizingReliable:function(){return null==e&&k(),e},pixelPosition:function(){return null==f&&k(),f},reliableMarginRight:function(){var b,c,d,e;if(null==g&&a.getComputedStyle){if(b=z.getElementsByTagName("body")[0],!b)return;c=z.createElement("div"),d=z.createElement("div"),c.style.cssText=i,b.appendChild(c).appendChild(d),e=d.appendChild(z.createElement("div")),e.style.cssText=d.style.cssText=j,e.style.marginRight=e.style.width="0",d.style.width="1px",g=!parseFloat((a.getComputedStyle(e,null)||{}).marginRight),b.removeChild(c)}return g}});function k(){var b,c,h=z.getElementsByTagName("body")[0];h&&(b=z.createElement("div"),c=z.createElement("div"),b.style.cssText=i,h.appendChild(b).appendChild(c),c.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;display:block;padding:1px;border:1px;width:4px;margin-top:1%;top:1%",n.swap(h,null!=h.style.zoom?{zoom:1}:{},function(){d=4===c.offsetWidth}),e=!0,f=!1,g=!0,a.getComputedStyle&&(f="1%"!==(a.getComputedStyle(c,null)||{}).top,e="4px"===(a.getComputedStyle(c,null)||{width:"4px"}).width),h.removeChild(b),c=h=null)}}(),n.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 Nb=/alpha\([^)]*\)/i,Ob=/opacity\s*=\s*([^)]*)/,Pb=/^(none|table(?!-c[ea]).+)/,Qb=new RegExp("^("+T+")(.*)$","i"),Rb=new RegExp("^([+-])=("+T+")","i"),Sb={position:"absolute",visibility:"hidden",display:"block"},Tb={letterSpacing:0,fontWeight:400},Ub=["Webkit","O","Moz","ms"];function Vb(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ub.length;while(e--)if(b=Ub[e]+c,b in a)return b;return d}function Wb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=n._data(d,"olddisplay",Gb(d.nodeName)))):f[g]||(e=V(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.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 Xb(a,b,c){var d=Qb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Yb(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+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Zb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Jb(a),g=l.boxSizing()&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Kb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ib.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Yb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Kb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=Vb(i,h)),g=n.cssHooks[b]||n.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=Rb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]="",i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Vb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Kb(a,b,d)),"normal"===f&&b in Tb&&(f=Tb[b]),""===c||c?(e=parseFloat(f),c===!0||n.isNumeric(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?0===a.offsetWidth&&Pb.test(n.css(a,"display"))?n.swap(a,Sb,function(){return Zb(a,b,d)}):Zb(a,b,d):void 0},set:function(a,c,d){var e=d&&Jb(a);return Xb(a,c,d?Yb(a,b,d,l.boxSizing()&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Ob.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=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Nb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Nb.test(f)?f.replace(Nb,e):f+" "+e)}}),n.cssHooks.marginRight=Mb(l.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},Kb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Hb.test(a)||(n.cssHooks[a+b].set=Xb)}),n.fn.extend({css:function(a,b){return W(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Jb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)
+},a,b,arguments.length>1)},show:function(){return Wb(this,!0)},hide:function(){return Wb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function $b(a,b,c,d,e){return new $b.prototype.init(a,b,c,d,e)}n.Tween=$b,$b.prototype={constructor:$b,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||(n.cssNumber[c]?"":"px")},cur:function(){var a=$b.propHooks[this.prop];return a&&a.get?a.get(this):$b.propHooks._default.get(this)},run:function(a){var b,c=$b.propHooks[this.prop];return this.pos=b=this.options.duration?n.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):$b.propHooks._default.set(this),this}},$b.prototype.init.prototype=$b.prototype,$b.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},$b.propHooks.scrollTop=$b.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=$b.prototype.init,n.fx.step={};var _b,ac,bc=/^(?:toggle|show|hide)$/,cc=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),dc=/queueHooks$/,ec=[jc],fc={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=cc.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&cc.exec(n.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,n.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 gc(){return setTimeout(function(){_b=void 0}),_b=n.now()}function hc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=U[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function ic(a,b,c){for(var d,e=(fc[b]||[]).concat(fc["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function jc(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&V(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.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=n.css(a,"display"),k=Gb(a.nodeName),"none"===j&&(j=k),"inline"===j&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==k?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.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],bc.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]||n.style(a,d)}if(!n.isEmptyObject(o)){r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=ic(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function kc(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.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 lc(a,b,c){var d,e,f=0,g=ec.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=_b||gc(),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:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:_b||gc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.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(kc(k,j.opts.specialEasing);g>f;f++)if(d=ec[f].call(j,a,k,j.opts))return d;return n.map(k,ic,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.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)}n.Animation=n.extend(lc,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],fc[c]=fc[c]||[],fc[c].unshift(b)},prefilter:function(a,b){b?ec.unshift(a):ec.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=lc(this,n.extend({},a),f);(e||n._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=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&dc.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)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.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})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(hc(b,!0),a,d,e)}}),n.each({slideDown:hc("show"),slideUp:hc("hide"),slideToggle:hc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(_b=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),_b=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ac||(ac=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(ac),ac=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.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=z.createElement("div");e.setAttribute("className","t"),e.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=e.getElementsByTagName("a")[0],c=z.createElement("select"),d=c.appendChild(z.createElement("option")),b=e.getElementsByTagName("input")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==e.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=d.selected,l.enctype=!!z.createElement("form").enctype,c.disabled=!0,l.optDisabled=!d.disabled,b=z.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value,a=b=c=d=e=null}();var mc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(mc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.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||(l.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.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}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var nc,oc,pc=n.expr.attrHandle,qc=/^(?:checked|selected)$/i,rc=l.getSetAttribute,sc=l.input;n.fn.extend({attr:function(a,b){return W(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===L?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?oc:nc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.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 n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(F);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?sc&&rc||!qc.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(rc?c:d)},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),oc={set:function(a,b,c){return b===!1?n.removeAttr(a,c):sc&&rc||!qc.test(c)?a.setAttribute(!rc&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=pc[b]||n.find.attr;pc[b]=sc&&rc||!qc.test(b)?function(a,b,d){var e,f;return d||(f=pc[b],pc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,pc[b]=f),e}:function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),sc&&rc||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):nc&&nc.set(a,b,c)}}),rc||(nc={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}},pc.id=pc.name=pc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:nc.set},n.attrHooks.contenteditable={set:function(a,b,c){nc.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var tc=/^(?:input|select|textarea|button|object)$/i,uc=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return W(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.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||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.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=n.find.attr(a,"tabindex");return b?parseInt(b,10):tc.test(a.nodeName)||uc.test(a.nodeName)&&a.href?0:-1}}}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var vc=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.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(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.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(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(F)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===L||"boolean"===c)&&(this.className&&n._data(this,"__className__",this.className),this.className=this.className||a===!1?"":n._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(vc," ").indexOf(b)>=0)return!0;return!1}}),n.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){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.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 wc=n.now(),xc=/\?/,yc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(yc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.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||n.error("Invalid XML: "+b),c};var zc,Ac,Bc=/#.*$/,Cc=/([?&])_=[^&]*/,Dc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Ec=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Fc=/^(?:GET|HEAD)$/,Gc=/^\/\//,Hc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ic={},Jc={},Kc="*/".concat("*");try{Ac=location.href}catch(Lc){Ac=z.createElement("a"),Ac.href="",Ac=Ac.href}zc=Hc.exec(Ac.toLowerCase())||[];function Mc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(F)||[];if(n.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 Nc(a,b,c,d){var e={},f=a===Jc;function g(h){var i;return e[h]=!0,n.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 Oc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Pc(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 Qc(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}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ac,type:"GET",isLocal:Ec.test(zc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kc,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":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Oc(Oc(a,n.ajaxSettings),b):Oc(n.ajaxSettings,a)},ajaxPrefilter:Mc(Ic),ajaxTransport:Mc(Jc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.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=Dc.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||Ac)+"").replace(Bc,"").replace(Gc,zc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(F)||[""],null==k.crossDomain&&(c=Hc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===zc[1]&&c[2]===zc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(zc[3]||("http:"===zc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),Nc(Ic,k,b,v),2===t)return v;h=k.global,h&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Fc.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(xc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Cc.test(e)?e.replace(Cc,"$1_="+wc++):e+(xc.test(e)?"&":"?")+"_="+wc++)),k.ifModified&&(n.lastModified[e]&&v.setRequestHeader("If-Modified-Since",n.lastModified[e]),n.etag[e]&&v.setRequestHeader("If-None-Match",n.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]?", "+Kc+"; 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=Nc(Jc,k,b,v)){v.readyState=1,h&&m.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=Pc(k,v,c)),u=Qc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(n.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&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(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(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!l.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||n.css(a,"display"))},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var Rc=/%20/g,Sc=/\[\]$/,Tc=/\r?\n/g,Uc=/^(?:submit|button|image|reset|file)$/i,Vc=/^(?:input|select|textarea|keygen)/i;function Wc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Sc.test(a)?d(a,e):Wc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Wc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Wc(c,a[c],b,e);return d.join("&").replace(Rc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Vc.test(this.nodeName)&&!Uc.test(a)&&(this.checked||!X.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(Tc,"\r\n")}}):{name:b.name,value:c.replace(Tc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&$c()||_c()}:$c;var Xc=0,Yc={},Zc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Yc)Yc[a](void 0,!0)}),l.cors=!!Zc&&"withCredentials"in Zc,Zc=l.ajax=!!Zc,Zc&&n.ajaxTransport(function(a){if(!a.crossDomain||l.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Xc;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 Yc[g],b=void 0,f.onreadystatechange=n.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=Yc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function $c(){try{return new a.XMLHttpRequest}catch(b){}}function _c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=z.head||n("head")[0]||z.documentElement;return{send:function(d,e){b=z.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 ad=[],bd=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=ad.pop()||n.expando+"_"+wc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(bd.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&bd.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(bd,"$1"+e):b.jsonp!==!1&&(b.url+=(xc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.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,ad.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||z;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var cd=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&cd)return cd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=a.slice(h,a.length),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&n.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var dd=a.document.documentElement;function ed(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.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,n.contains(b,e)?(typeof e.getBoundingClientRect!==L&&(d=e.getBoundingClientRect()),c=ed(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"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||dd;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||dd})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return W(this,function(a,d,e){var f=ed(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Mb(l.pixelPosition,function(a,c){return c?(c=Kb(a,b),Ib.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return W(this,function(b,c,d){var e;return n.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?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var fd=a.jQuery,gd=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=gd),b&&a.jQuery===n&&(a.jQuery=fd),n},typeof b===L&&(a.jQuery=a.$=n),n});
 jQuery.noConflict();
index 67be98867b23fc18d87f22b03cebbbda502aecdd..79b536e1b2f3ca34534c7b0257ff29782230247e 100644 (file)
@@ -1,10 +1,11 @@
-/**
- * jQuery Masonry v2.1.05
- * A dynamic layout plugin for jQuery
- * The flip-side of CSS Floats
- * http://masonry.desandro.com
- *
- * Licensed under the MIT license.
- * Copyright 2012 David DeSandro
- */
-(function(a,b,c){"use strict";var d=b.event,e;d.special.smartresize={setup:function(){b(this).bind("resize",d.special.smartresize.handler)},teardown:function(){b(this).unbind("resize",d.special.smartresize.handler)},handler:function(a,c){var d=this,f=arguments;a.type="smartresize",e&&clearTimeout(e),e=setTimeout(function(){b.event.handle.apply(d,f)},c==="execAsap"?0:100)}},b.fn.smartresize=function(a){return a?this.bind("smartresize",a):this.trigger("smartresize",["execAsap"])},b.Mason=function(a,c){this.element=b(c),this._create(a),this._init()},b.Mason.settings={isResizable:!0,isAnimated:!1,animationOptions:{queue:!1,duration:500},gutterWidth:0,isRTL:!1,isFitWidth:!1,containerStyle:{position:"relative"}},b.Mason.prototype={_filterFindBricks:function(a){var b=this.options.itemSelector;return b?a.filter(b).add(a.find(b)):a},_getBricks:function(a){var b=this._filterFindBricks(a).css({position:"absolute"}).addClass("masonry-brick");return b},_create:function(c){this.options=b.extend(!0,{},b.Mason.settings,c),this.styleQueue=[];var d=this.element[0].style;this.originalStyle={height:d.height||""};var e=this.options.containerStyle;for(var f in e)this.originalStyle[f]=d[f]||"";this.element.css(e),this.horizontalDirection=this.options.isRTL?"right":"left",this.offset={x:parseInt(this.element.css("padding-"+this.horizontalDirection),10),y:parseInt(this.element.css("padding-top"),10)},this.isFluid=this.options.columnWidth&&typeof this.options.columnWidth=="function";var g=this;setTimeout(function(){g.element.addClass("masonry")},0),this.options.isResizable&&b(a).bind("smartresize.masonry",function(){g.resize()}),this.reloadItems()},_init:function(a){this._getColumns(),this._reLayout(a)},option:function(a,c){b.isPlainObject(a)&&(this.options=b.extend(!0,this.options,a))},layout:function(a,b){for(var c=0,d=a.length;c<d;c++)this._placeBrick(a[c]);var e={};e.height=Math.max.apply(Math,this.colYs);if(this.options.isFitWidth){var f=0;c=this.cols;while(--c){if(this.colYs[c]!==0)break;f++}e.width=(this.cols-f)*this.columnWidth-this.options.gutterWidth}this.styleQueue.push({$el:this.element,style:e});var g=this.isLaidOut?this.options.isAnimated?"animate":"css":"css",h=this.options.animationOptions,i;for(c=0,d=this.styleQueue.length;c<d;c++)i=this.styleQueue[c],i.$el[g](i.style,h);this.styleQueue=[],b&&b.call(a),this.isLaidOut=!0},_getColumns:function(){var a=this.options.isFitWidth?this.element.parent():this.element,b=a.width();this.columnWidth=this.isFluid?this.options.columnWidth(b):this.options.columnWidth||this.$bricks.outerWidth(!0)||b,this.columnWidth+=this.options.gutterWidth,this.cols=Math.floor((b+this.options.gutterWidth)/this.columnWidth),this.cols=Math.max(this.cols,1)},_placeBrick:function(a){var c=b(a),d,e,f,g,h;d=Math.ceil(c.outerWidth(!0)/this.columnWidth),d=Math.min(d,this.cols);if(d===1)f=this.colYs;else{e=this.cols+1-d,f=[];for(h=0;h<e;h++)g=this.colYs.slice(h,h+d),f[h]=Math.max.apply(Math,g)}var i=Math.min.apply(Math,f),j=0;for(var k=0,l=f.length;k<l;k++)if(f[k]===i){j=k;break}var m={top:i+this.offset.y};m[this.horizontalDirection]=this.columnWidth*j+this.offset.x,this.styleQueue.push({$el:c,style:m});var n=i+c.outerHeight(!0),o=this.cols+1-l;for(k=0;k<o;k++)this.colYs[j+k]=n},resize:function(){var a=this.cols;this._getColumns(),(this.isFluid||this.cols!==a)&&this._reLayout()},_reLayout:function(a){var b=this.cols;this.colYs=[];while(b--)this.colYs.push(0);this.layout(this.$bricks,a)},reloadItems:function(){this.$bricks=this._getBricks(this.element.children())},reload:function(a){this.reloadItems(),this._init(a)},appended:function(a,b,c){if(b){this._filterFindBricks(a).css({top:this.element.height()});var d=this;setTimeout(function(){d._appended(a,c)},1)}else this._appended(a,c)},_appended:function(a,b){var c=this._getBricks(a);this.$bricks=this.$bricks.add(c),this.layout(c,b)},remove:function(a){this.$bricks=this.$bricks.not(a),a.remove()},destroy:function(){this.$bricks.removeClass("masonry-brick").each(function(){this.style.position="",this.style.top="",this.style.left=""});var c=this.element[0].style;for(var d in this.originalStyle)c[d]=this.originalStyle[d];this.element.unbind(".masonry").removeClass("masonry").removeData("masonry"),b(a).unbind(".masonry")}},b.fn.imagesLoaded=function(a){function h(){a.call(c,d)}function i(a){var c=a.target;c.src!==f&&b.inArray(c,g)===-1&&(g.push(c),--e<=0&&(setTimeout(h),d.unbind(".imagesLoaded",i)))}var c=this,d=c.find("img").add(c.filter("img")),e=d.length,f="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",g=[];return e||h(),d.bind("load.imagesLoaded error.imagesLoaded",i).each(function(){var a=this.src;this.src=f,this.src=a}),c};var f=function(b){a.console&&a.console.error(b)};b.fn.masonry=function(a){if(typeof a=="string"){var c=Array.prototype.slice.call(arguments,1);this.each(function(){var d=b.data(this,"masonry");if(!d){f("cannot call methods on masonry prior to initialization; attempted to call method '"+a+"'");return}if(!b.isFunction(d[a])||a.charAt(0)==="_"){f("no such method '"+a+"' for masonry instance");return}d[a].apply(d,c)})}else this.each(function(){var c=b.data(this,"masonry");c?(c.option(a||{}),c._init()):b.data(this,"masonry",new b.Mason(a,this))});return this}})(window,jQuery);
\ No newline at end of file
+-/*!
+- * Masonry v2 shim
+- * to maintain backwards compatibility
+- * as of Masonry v3.1.2
+- *
+- * Cascading grid layout library
+- * http://masonry.desandro.com
+- * MIT License
+- * by David DeSandro
+- */
+!function(a){"use strict";var b=a.Masonry;b.prototype._remapV2Options=function(){this._remapOption("gutterWidth","gutter"),this._remapOption("isResizable","isResizeBound"),this._remapOption("isRTL","isOriginLeft",function(a){return!a});var a=this.options.isAnimated;if(void 0!==a&&(this.options.transitionDuration=a?b.prototype.options.transitionDuration:0),void 0===a||a){var c=this.options.animationOptions,d=c&&c.duration;d&&(this.options.transitionDuration="string"==typeof d?d:d+"ms")}},b.prototype._remapOption=function(a,b,c){var d=this.options[a];void 0!==d&&(this.options[b]=c?c(d):d)};var c=b.prototype._create;b.prototype._create=function(){var a=this;this._remapV2Options(),c.apply(this,arguments),setTimeout(function(){jQuery(a.element).addClass("masonry")},0)};var d=b.prototype.layout;b.prototype.layout=function(){this._remapV2Options(),d.apply(this,arguments)};var e=b.prototype.option;b.prototype.option=function(){e.apply(this,arguments),this._remapV2Options()};var f=b.prototype._itemize;b.prototype._itemize=function(a){var b=f.apply(this,arguments);return jQuery(a).addClass("masonry-brick"),b};var g=b.prototype.measureColumns;b.prototype.measureColumns=function(){var a=this.options.columnWidth;a&&"function"==typeof a&&(this.getContainerWidth(),this.columnWidth=a(this.containerWidth)),g.apply(this,arguments)},b.prototype.reload=function(){this.reloadItems.apply(this,arguments),this.layout.apply(this)};var h=b.prototype.destroy;b.prototype.destroy=function(){var a=this.getItemElements();jQuery(this.element).removeClass("masonry"),jQuery(a).removeClass("masonry-brick"),h.apply(this,arguments)}}(window);
\ No newline at end of file
index d28a7fb26947402f3c53aff7c97eb7c3d9e28585..b4fca2ba1f34a197a69cd91b5b6b3819250bf2da 100644 (file)
@@ -1 +1 @@
-(function(a){a.suggest=function(n,f){var c,e,m,d,p,o;c=a(n).attr("autocomplete","off");e=a("<ul/>");m=false;d=0;p=[];o=0;e.addClass(f.resultsClass).appendTo("body");i();a(window).load(i).resize(i);c.blur(function(){setTimeout(function(){e.hide()},200)});c.keydown(l);function i(){var u=c.offset();e.css({top:(u.top+n.offsetHeight)+"px",left:u.left+"px"})}function l(u){if((/27$|38$|40$/.test(u.keyCode)&&e.is(":visible"))||(/^13$|^9$/.test(u.keyCode)&&s())){if(u.preventDefault){u.preventDefault()}if(u.stopPropagation){u.stopPropagation()}u.cancelBubble=true;u.returnValue=false;switch(u.keyCode){case 38:j();break;case 40:r();break;case 9:case 13:q();break;case 27:e.hide();break}}else{if(c.val().length!=d){if(m){clearTimeout(m)}m=setTimeout(k,f.delay);d=c.val().length}}}function k(){var w=a.trim(c.val()),v,u;if(f.multiple){v=w.lastIndexOf(f.multipleSep);if(v!=-1){w=a.trim(w.substr(v+f.multipleSep.length))}}if(w.length>=f.minchars){cached=t(w);if(cached){h(cached.items)}else{a.get(f.source,{q:w},function(x){e.hide();u=b(x,w);h(u);g(w,u,x.length)})}}else{e.hide()}}function t(v){var u;for(u=0;u<p.length;u++){if(p[u]["q"]==v){p.unshift(p.splice(u,1)[0]);return p[0]}}return false}function g(x,u,v){var w;while(p.length&&(o+v>f.maxCacheSize)){w=p.pop();o-=w.size}p.push({q:x,size:v,items:u});o+=v}function h(u){var w="",v;if(!u){return}if(!u.length){e.hide();return}i();for(v=0;v<u.length;v++){w+="<li>"+u[v]+"</li>"}e.html(w).show();e.children("li").mouseover(function(){e.children("li").removeClass(f.selectClass);a(this).addClass(f.selectClass)}).click(function(x){x.preventDefault();x.stopPropagation();q()})}function b(u,y){var v=[],z=u.split(f.delimiter),x,w;for(x=0;x<z.length;x++){w=a.trim(z[x]);if(w){w=w.replace(new RegExp(y,"ig"),function(A){return'<span class="'+f.matchClass+'">'+A+"</span>"});v[v.length]=w}}return v}function s(){var u;if(!e.is(":visible")){return false}u=e.children("li."+f.selectClass);if(!u.length){u=false}return u}function q(){$currentResult=s();if($currentResult){if(f.multiple){if(c.val().indexOf(f.multipleSep)!=-1){$currentVal=c.val().substr(0,(c.val().lastIndexOf(f.multipleSep)+f.multipleSep.length))}else{$currentVal=""}c.val($currentVal+$currentResult.text()+f.multipleSep);c.focus()}else{c.val($currentResult.text())}e.hide();if(f.onSelect){f.onSelect.apply(c[0])}}}function r(){$currentResult=s();if($currentResult){$currentResult.removeClass(f.selectClass).next().addClass(f.selectClass)}else{e.children("li:first-child").addClass(f.selectClass)}}function j(){var u=s();if(u){u.removeClass(f.selectClass).prev().addClass(f.selectClass)}else{e.children("li:last-child").addClass(f.selectClass)}}};a.fn.suggest=function(c,b){if(!c){return}b=b||{};b.multiple=b.multiple||false;b.multipleSep=b.multipleSep||", ";b.source=c;b.delay=b.delay||100;b.resultsClass=b.resultsClass||"ac_results";b.selectClass=b.selectClass||"ac_over";b.matchClass=b.matchClass||"ac_match";b.minchars=b.minchars||2;b.delimiter=b.delimiter||"\n";b.onSelect=b.onSelect||false;b.maxCacheSize=b.maxCacheSize||65536;this.each(function(){new a.suggest(this,b)});return this}})(jQuery);
\ No newline at end of file
+!function(a){a.suggest=function(b,c){function d(){var a=o.offset();p.css({top:a.top+b.offsetHeight+"px",left:a.left+"px"})}function e(a){if(/27$|38$|40$/.test(a.keyCode)&&p.is(":visible")||/^13$|^9$/.test(a.keyCode)&&k())switch(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0,a.returnValue=!1,a.keyCode){case 38:n();break;case 40:m();break;case 9:case 13:l();break;case 27:p.hide()}else o.val().length!=r&&(q&&clearTimeout(q),q=setTimeout(f,c.delay),r=o.val().length)}function f(){var b,d,e=a.trim(o.val());c.multiple&&(b=e.lastIndexOf(c.multipleSep),-1!=b&&(e=a.trim(e.substr(b+c.multipleSep.length)))),e.length>=c.minchars?(cached=g(e),cached?i(cached.items):a.get(c.source,{q:e},function(a){p.hide(),d=j(a,e),i(d),h(e,d,a.length)})):p.hide()}function g(a){var b;for(b=0;b<s.length;b++)if(s[b].q==a)return s.unshift(s.splice(b,1)[0]),s[0];return!1}function h(a,b,d){for(var e;s.length&&t+d>c.maxCacheSize;)e=s.pop(),t-=e.size;s.push({q:a,size:d,items:b}),t+=d}function i(b){var e,f="";if(b){if(!b.length)return void p.hide();for(d(),e=0;e<b.length;e++)f+="<li>"+b[e]+"</li>";p.html(f).show(),p.children("li").mouseover(function(){p.children("li").removeClass(c.selectClass),a(this).addClass(c.selectClass)}).click(function(a){a.preventDefault(),a.stopPropagation(),l()})}}function j(b,d){var e,f,g=[],h=b.split(c.delimiter);for(e=0;e<h.length;e++)f=a.trim(h[e]),f&&(f=f.replace(new RegExp(d,"ig"),function(a){return'<span class="'+c.matchClass+'">'+a+"</span>"}),g[g.length]=f);return g}function k(){var a;return p.is(":visible")?(a=p.children("li."+c.selectClass),a.length||(a=!1),a):!1}function l(){$currentResult=k(),$currentResult&&(c.multiple?($currentVal=-1!=o.val().indexOf(c.multipleSep)?o.val().substr(0,o.val().lastIndexOf(c.multipleSep)+c.multipleSep.length):"",o.val($currentVal+$currentResult.text()+c.multipleSep),o.focus()):o.val($currentResult.text()),p.hide(),o.trigger("change"),c.onSelect&&c.onSelect.apply(o[0]))}function m(){$currentResult=k(),$currentResult?$currentResult.removeClass(c.selectClass).next().addClass(c.selectClass):p.children("li:first-child").addClass(c.selectClass)}function n(){var a=k();a?a.removeClass(c.selectClass).prev().addClass(c.selectClass):p.children("li:last-child").addClass(c.selectClass)}var o,p,q,r,s,t;o=a(b).attr("autocomplete","off"),p=a("<ul/>"),q=!1,r=0,s=[],t=0,p.addClass(c.resultsClass).appendTo("body"),d(),a(window).load(d).resize(d),o.blur(function(){setTimeout(function(){p.hide()},200)}),o.keydown(e)},a.fn.suggest=function(b,c){return b?(c=c||{},c.multiple=c.multiple||!1,c.multipleSep=c.multipleSep||", ",c.source=b,c.delay=c.delay||100,c.resultsClass=c.resultsClass||"ac_results",c.selectClass=c.selectClass||"ac_over",c.matchClass=c.matchClass||"ac_match",c.minchars=c.minchars||2,c.delimiter=c.delimiter||"\n",c.onSelect=c.onSelect||!1,c.maxCacheSize=c.maxCacheSize||65536,this.each(function(){new a.suggest(this,c)}),this):void 0}}(jQuery);
\ No newline at end of file
index d2e2d573ef5b5345632e3f0c054dc1a04bd0aabe..25d4d4b79c55d848452696f2bdb6072e84b6b2bd 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t){var e=0,i={},s={};i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="hide",s.height=s.paddingTop=s.paddingBottom=s.borderTopWidth=s.borderBottomWidth="show",t.widget("ui.accordion",{version:"1.10.3",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t(),content:this.active.length?this.active.next():t()}},_createIcons:function(){var e=this.options.icons;e&&(t("<span>").addClass("ui-accordion-header-icon ui-icon "+e.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(e.header).addClass(e.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),undefined):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),"disabled"===t&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!e),undefined)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),a=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(t(e.target).attr("tabIndex",-1),t(a).attr("tabIndex",0),a.focus(),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().focus()},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var i,s=this.options,n=s.heightStyle,a=this.element.parent(),o=this.accordionId="ui-accordion-"+(this.element.attr("id")||++e);this.active=this._findActive(s.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(e){var i=t(this),s=i.attr("id"),n=i.next(),a=n.attr("id");s||(s=o+"-header-"+e,i.attr("id",s)),a||(a=o+"-panel-"+e,n.attr("id",a)),i.attr("aria-controls",a),n.attr("aria-labelledby",s)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false",tabIndex:-1}).next().attr({"aria-expanded":"false","aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true",tabIndex:0}).next().attr({"aria-expanded":"true","aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(s.event),"fill"===n?(i=a.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.headers.each(function(){i-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===n&&(i=0,this.headers.next().each(function(){i=Math.max(i,t(this).css("height","").height())}).height(i))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?t():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?t():n,newPanel:r};e.preventDefault(),a&&!i.collapsible||this._trigger("beforeActivate",e,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?t():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-expanded":"false","aria-hidden":"true"}),s.prev().attr("aria-selected","false"),i.length&&s.length?s.prev().attr("tabIndex",-1):i.length&&this.headers.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr({"aria-expanded":"true","aria-hidden":"false"}).prev().attr({"aria-selected":"true",tabIndex:0})},_animate:function(t,e,n){var a,o,r,h=this,l=0,c=t.length&&(!e.length||t.index()<e.index()),u=this.options.animate||{},d=c&&u.down||u,p=function(){h._toggleComplete(n)};return"number"==typeof d&&(r=d),"string"==typeof d&&(o=d),o=o||d.easing||u.easing,r=r||d.duration||u.duration,e.length?t.length?(a=t.show().outerHeight(),e.animate(i,{duration:r,easing:o,step:function(t,e){e.now=Math.round(t)}}),t.hide().animate(s,{duration:r,easing:o,complete:p,step:function(t,i){i.now=Math.round(t),"height"!==i.prop?l+=i.now:"content"!==h.options.heightStyle&&(i.now=Math.round(a-e.outerHeight()-l),l=0)}}),undefined):e.animate(i,r,o,p):t.animate(s,r,o,p)},_toggleComplete:function(t){var e=t.oldPanel;e.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(t){var e=0,i={},s={};i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="hide",s.height=s.paddingTop=s.paddingBottom=s.borderTopWidth=s.borderBottomWidth="show",t.widget("ui.accordion",{version:"1.10.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t(),content:this.active.length?this.active.next():t()}},_createIcons:function(){var e=this.options.icons;e&&(t("<span>").addClass("ui-accordion-header-icon ui-icon "+e.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(e.header).addClass(e.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),undefined):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),"disabled"===t&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!e),undefined)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),a=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(t(e.target).attr("tabIndex",-1),t(a).attr("tabIndex",0),a.focus(),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().focus()},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var i,s=this.options,n=s.heightStyle,a=this.element.parent(),o=this.accordionId="ui-accordion-"+(this.element.attr("id")||++e);this.active=this._findActive(s.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(e){var i=t(this),s=i.attr("id"),n=i.next(),a=n.attr("id");s||(s=o+"-header-"+e,i.attr("id",s)),a||(a=o+"-panel-"+e,n.attr("id",a)),i.attr("aria-controls",a),n.attr("aria-labelledby",s)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(s.event),"fill"===n?(i=a.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.headers.each(function(){i-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===n&&(i=0,this.headers.next().each(function(){i=Math.max(i,t(this).css("height","").height())}).height(i))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?t():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?t():n,newPanel:r};e.preventDefault(),a&&!i.collapsible||this._trigger("beforeActivate",e,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?t():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr("aria-selected","false"),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true",tabIndex:0,"aria-expanded":"true"})},_animate:function(t,e,n){var a,o,r,h=this,l=0,c=t.length&&(!e.length||t.index()<e.index()),u=this.options.animate||{},d=c&&u.down||u,p=function(){h._toggleComplete(n)};return"number"==typeof d&&(r=d),"string"==typeof d&&(o=d),o=o||d.easing||u.easing,r=r||d.duration||u.duration,e.length?t.length?(a=t.show().outerHeight(),e.animate(i,{duration:r,easing:o,step:function(t,e){e.now=Math.round(t)}}),t.hide().animate(s,{duration:r,easing:o,complete:p,step:function(t,i){i.now=Math.round(t),"height"!==i.prop?l+=i.now:"content"!==h.options.heightStyle&&(i.now=Math.round(a-e.outerHeight()-l),l=0)}}),undefined):e.animate(i,r,o,p):t.animate(s,r,o,p)},_toggleComplete:function(t){var e=t.oldPanel;e.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}})})(jQuery);
\ No newline at end of file
index 4081f8c7a6413abcd1e61ab4883711c3ed1f8d6c..b2b55ba08343c6dcbd6900b8606cec87e0adcae5 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t){var e=0;t.widget("ui.autocomplete",{version:"1.10.3",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,undefined;e=!1,s=!1,i=!1;var a=t.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:e=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case a.UP:e=!0,this._keyEvent("previous",n);break;case a.DOWN:e=!0,this._keyEvent("next",n);break;case a.ENTER:case a.NUMPAD_ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),undefined;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),undefined):(this._searchTimeout(t),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(t),this._change(t),undefined)}}),this._initSource(),this.menu=t("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];t(e.target).closest(".ui-menu-item").length||this._delay(function(){var e=this;this.document.one("mousedown",function(s){s.target===e.element[0]||s.target===i||t.contains(i,s.target)||e.close()})})},menufocus:function(e,i){if(this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),undefined;var s=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",e,{item:s})?e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(s.value):this.liveRegion.text(s.value)},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=t("<span>",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertBefore(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e||(e=this.element.closest(".ui-front")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):undefined},_search:function(t){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var t=this,i=++e;return function(s){i===e&&t.__response(s),t.pending--,t.pending||t.element.removeClass("ui-autocomplete-loading")}},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({label:e.label||e.value,value:e.value||e.label},e)})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<a>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[t](e),undefined):(this.search(null,e),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var e;this._superApply(arguments),this.options.disabled||this.cancelSearch||(e=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.text(e))}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(t){t.widget("ui.autocomplete",{version:"1.10.4",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,undefined;e=!1,s=!1,i=!1;var a=t.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:e=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case a.UP:e=!0,this._keyEvent("previous",n);break;case a.DOWN:e=!0,this._keyEvent("next",n);break;case a.ENTER:case a.NUMPAD_ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),undefined;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),undefined):(this._searchTimeout(t),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(t),this._change(t),undefined)}}),this._initSource(),this.menu=t("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];t(e.target).closest(".ui-menu-item").length||this._delay(function(){var e=this;this.document.one("mousedown",function(s){s.target===e.element[0]||s.target===i||t.contains(i,s.target)||e.close()})})},menufocus:function(e,i){if(this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),undefined;var s=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",e,{item:s})?e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(s.value):this.liveRegion.text(s.value)},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=t("<span>",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertBefore(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e||(e=this.element.closest(".ui-front")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):undefined},_search:function(t){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return t.proxy(function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({label:e.label||e.value,value:e.value||e.label},e)})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<a>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[t](e),undefined):(this.search(null,e),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var e;this._superApply(arguments),this.options.disabled||this.cancelSearch||(e=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.text(e))}})})(jQuery);
\ No newline at end of file
index d294ce05fbe8dd42699cc687be894c9fb8d560ec..3335782018c486d80ea2b3cd660b6f9156e5347c 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t){var e,i,s,n,a="ui-button ui-widget ui-state-default ui-corner-all",o="ui-state-hover ui-state-active ",r="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",h=function(){var e=t(this);setTimeout(function(){e.find(":ui-button").button("refresh")},1)},l=function(e){var i=e.name,s=e.form,n=t([]);return i&&(i=i.replace(/'/g,"\\'"),n=s?t(s).find("[name='"+i+"']"):t("[name='"+i+"']",e.ownerDocument).filter(function(){return!this.form})),n};t.widget("ui.button",{version:"1.10.3",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,h),"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 o=this,r=this.options,c="checkbox"===this.type||"radio"===this.type,u=c?"":"ui-state-active",d="ui-state-focus";null===r.label&&(r.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(a).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){r.disabled||this===e&&t(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){r.disabled||t(this).removeClass(u)}).bind("click"+this.eventNamespace,function(t){r.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}),this.element.bind("focus"+this.eventNamespace,function(){o.buttonElement.addClass(d)}).bind("blur"+this.eventNamespace,function(){o.buttonElement.removeClass(d)}),c&&(this.element.bind("change"+this.eventNamespace,function(){n||o.refresh()}),this.buttonElement.bind("mousedown"+this.eventNamespace,function(t){r.disabled||(n=!1,i=t.pageX,s=t.pageY)}).bind("mouseup"+this.eventNamespace,function(t){r.disabled||(i!==t.pageX||s!==t.pageY)&&(n=!0)})),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return r.disabled||n?!1:undefined}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(r.disabled||n)return!1;t(this).addClass("ui-state-active"),o.buttonElement.attr("aria-pressed","true");var e=o.element[0];l(e).not(e).map(function(){return t(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return r.disabled?!1:(t(this).addClass("ui-state-active"),e=this,o.document.one("mouseup",function(){e=null}),undefined)}).bind("mouseup"+this.eventNamespace,function(){return r.disabled?!1:(t(this).removeClass("ui-state-active"),undefined)}).bind("keydown"+this.eventNamespace,function(e){return r.disabled?!1:((e.keyCode===t.ui.keyCode.SPACE||e.keyCode===t.ui.keyCode.ENTER)&&t(this).addClass("ui-state-active"),undefined)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){t(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(e){e.keyCode===t.ui.keyCode.SPACE&&t(this).click()})),this._setOption("disabled",r.disabled),this._resetButton()},_determineButtonType:function(){var t,e,i;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?(t=this.element.parents().last(),e="label[for='"+this.element.attr("id")+"']",this.buttonElement=t.find(e),this.buttonElement.length||(t=t.length?t.siblings():this.element.siblings(),this.buttonElement=t.filter(e),this.buttonElement.length||(this.buttonElement=t.find(e))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(a+" "+o+" "+r).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(t,e){return this._super(t,e),"disabled"===t?(e?this.element.prop("disabled",!0):this.element.prop("disabled",!1),undefined):(this._resetButton(),undefined)},refresh:function(){var e=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");e!==this.options.disabled&&this._setOption("disabled",e),"radio"===this.type?l(this.element[0]).each(function(){t(this).is(":checked")?t(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):t(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 this.options.label&&this.element.val(this.options.label),undefined;var e=this.buttonElement.removeClass(r),i=t("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(e.empty()).text(),s=this.options.icons,n=s.primary&&s.secondary,a=[];s.primary||s.secondary?(this.options.text&&a.push("ui-button-text-icon"+(n?"s":s.primary?"-primary":"-secondary")),s.primary&&e.prepend("<span class='ui-button-icon-primary ui-icon "+s.primary+"'></span>"),s.secondary&&e.append("<span class='ui-button-icon-secondary ui-icon "+s.secondary+"'></span>"),this.options.text||(a.push(n?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||e.attr("title",t.trim(i)))):a.push("ui-button-text-only"),e.addClass(a.join(" "))}}),t.widget("ui.buttonset",{version:"1.10.3",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(t,e){"disabled"===t&&this.buttons.button("option",t,e),this._super(t,e)},refresh:function(){var e="rtl"===this.element.css("direction");this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return t(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(e?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(e?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return t(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(t){var e,i="ui-button ui-widget ui-state-default ui-corner-all",s="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",n=function(){var e=t(this);setTimeout(function(){e.find(":ui-button").button("refresh")},1)},a=function(e){var i=e.name,s=e.form,n=t([]);return i&&(i=i.replace(/'/g,"\\'"),n=s?t(s).find("[name='"+i+"']"):t("[name='"+i+"']",e.ownerDocument).filter(function(){return!this.form})),n};t.widget("ui.button",{version:"1.10.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,n),"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 s=this,o=this.options,r="checkbox"===this.type||"radio"===this.type,h=r?"":"ui-state-active";null===o.label&&(o.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(i).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){o.disabled||this===e&&t(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){o.disabled||t(this).removeClass(h)}).bind("click"+this.eventNamespace,function(t){o.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),r&&this.element.bind("change"+this.eventNamespace,function(){s.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return o.disabled?!1:undefined}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(o.disabled)return!1;t(this).addClass("ui-state-active"),s.buttonElement.attr("aria-pressed","true");var e=s.element[0];a(e).not(e).map(function(){return t(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return o.disabled?!1:(t(this).addClass("ui-state-active"),e=this,s.document.one("mouseup",function(){e=null}),undefined)}).bind("mouseup"+this.eventNamespace,function(){return o.disabled?!1:(t(this).removeClass("ui-state-active"),undefined)}).bind("keydown"+this.eventNamespace,function(e){return o.disabled?!1:((e.keyCode===t.ui.keyCode.SPACE||e.keyCode===t.ui.keyCode.ENTER)&&t(this).addClass("ui-state-active"),undefined)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){t(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(e){e.keyCode===t.ui.keyCode.SPACE&&t(this).click()})),this._setOption("disabled",o.disabled),this._resetButton()},_determineButtonType:function(){var t,e,i;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?(t=this.element.parents().last(),e="label[for='"+this.element.attr("id")+"']",this.buttonElement=t.find(e),this.buttonElement.length||(t=t.length?t.siblings():this.element.siblings(),this.buttonElement=t.filter(e),this.buttonElement.length||(this.buttonElement=t.find(e))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(i+" ui-state-active "+s).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(t,e){return this._super(t,e),"disabled"===t?(this.element.prop("disabled",!!e),e&&this.buttonElement.removeClass("ui-state-focus"),undefined):(this._resetButton(),undefined)},refresh:function(){var e=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");e!==this.options.disabled&&this._setOption("disabled",e),"radio"===this.type?a(this.element[0]).each(function(){t(this).is(":checked")?t(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):t(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 this.options.label&&this.element.val(this.options.label),undefined;var e=this.buttonElement.removeClass(s),i=t("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(e.empty()).text(),n=this.options.icons,a=n.primary&&n.secondary,o=[];n.primary||n.secondary?(this.options.text&&o.push("ui-button-text-icon"+(a?"s":n.primary?"-primary":"-secondary")),n.primary&&e.prepend("<span class='ui-button-icon-primary ui-icon "+n.primary+"'></span>"),n.secondary&&e.append("<span class='ui-button-icon-secondary ui-icon "+n.secondary+"'></span>"),this.options.text||(o.push(a?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||e.attr("title",t.trim(i)))):o.push("ui-button-text-only"),e.addClass(o.join(" "))}}),t.widget("ui.buttonset",{version:"1.10.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(t,e){"disabled"===t&&this.buttons.button("option",t,e),this._super(t,e)},refresh:function(){var e="rtl"===this.element.css("direction");this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return t(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(e?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(e?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return t(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}})})(jQuery);
\ No newline at end of file
index e96efd4ff81870d7203f19950011e0646d4a8c39..5b67080926206fc0744c250bc4be16236679320e 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(e,t){function i(t,i){var a,n,r,o=t.nodeName.toLowerCase();return"area"===o?(a=t.parentNode,n=a.name,t.href&&n&&"map"===a.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&s(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&s(t)}function s(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var a=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var s,a,n=e(this[0]);n.length&&n[0]!==document;){if(s=n.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(a=parseInt(n.css("zIndex"),10),!isNaN(a)&&0!==a))return a;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})},removeUniqueId:function(){return this.each(function(){n.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var s=e.attr(t,"tabindex"),a=isNaN(s);return(a||s>=0)&&i(t,!a)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,s){function a(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===s?["Left","Right"]:["Top","Bottom"],r=s.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+s]=function(i){return i===t?o["inner"+s].call(this):this.each(function(){e(this).css(r,a(this,i)+"px")})},e.fn["outer"+s]=function(t,i){return"number"!=typeof t?o["outer"+s].call(this,t):this.each(function(){e(this).css(r,a(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,s){var a,n=e.ui[t].prototype;for(a in s)n.plugins[a]=n.plugins[a]||[],n.plugins[a].push([i,s[a]])},call:function(e,t,i){var s,a=e.plugins[t];if(a&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(s=0;a.length>s;s++)e.options[a[s][0]]&&a[s][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",a=!1;return t[s]>0?!0:(t[s]=1,a=t[s]>0,t[s]=0,a)}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(e,t){function i(t,i){var a,n,r,o=t.nodeName.toLowerCase();return"area"===o?(a=t.parentNode,n=a.name,t.href&&n&&"map"===a.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&s(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&s(t)}function s(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var a=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var s,a,n=e(this[0]);n.length&&n[0]!==document;){if(s=n.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(a=parseInt(n.css("zIndex"),10),!isNaN(a)&&0!==a))return a;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})},removeUniqueId:function(){return this.each(function(){n.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var s=e.attr(t,"tabindex"),a=isNaN(s);return(a||s>=0)&&i(t,!a)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,s){function a(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===s?["Left","Right"]:["Top","Bottom"],r=s.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+s]=function(i){return i===t?o["inner"+s].call(this):this.each(function(){e(this).css(r,a(this,i)+"px")})},e.fn["outer"+s]=function(t,i){return"number"!=typeof t?o["outer"+s].call(this,t):this.each(function(){e(this).css(r,a(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,s){var a,n=e.ui[t].prototype;for(a in s)n.plugins[a]=n.plugins[a]||[],n.plugins[a].push([i,s[a]])},call:function(e,t,i){var s,a=e.plugins[t];if(a&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(s=0;a.length>s;s++)e.options[a[s][0]]&&a[s][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",a=!1;return t[s]>0?!0:(t[s]=1,a=t[s]>0,t[s]=0,a)}})})(jQuery);
\ No newline at end of file
index bd4b62ed6eb709391a6fd9294007f18e1e337eca..22540ceca71202e11a7efa107d0ee34080eabdd4 100644 (file)
@@ -1,5 +1,5 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t,e){function i(){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},t.extend(this._defaults,this.regional[""]),this.dpDiv=s(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function s(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.delegate(i,"mouseout",function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",function(){t.datepicker._isDisabledDatepicker(a.inline?e.parent()[0]:a.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))})}function n(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}t.extend(t.ui,{datepicker:{version:"1.10.3"}});var a,r="datepicker";t.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return n(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,a;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),a=this._newInst(t(e),n),a.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,a):n&&this._inlineDatepicker(e,a)},_newInst:function(e,i){var n=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:n,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?s(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),t.data(e,r,i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,a,r=this._get(i,"appendText"),o=this._get(i,"isRTL");i.append&&i.append.remove(),r&&(i.append=t("<span class='"+this._appendClass+"'>"+r+"</span>"),e[o?"before":"after"](i.append)),e.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.focus(this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),a=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:a,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(a?t("<img/>").attr({src:a,alt:n,title:n}):n)),e[o?"before":"after"](i.trigger),i.trigger.click(function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,a=new Date(2009,11,20),r=this._get(t,"dateFormat");r.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},a.setMonth(e(this._get(t,r.match(/MM/)?"monthNames":"monthNamesShort"))),a.setDate(e(this._get(t,r.match(/DD/)?"dayNames":"dayNamesShort"))+20-a.getDay())),t.input.attr("size",this._formatDate(t,a).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,r,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,a,o){var h,l,c,u,d,p=this._dialogInst;return p||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+h+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),t("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},t.data(this._dialogInput[0],r,p)),n(p.settings,a||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(l=document.documentElement.clientWidth,c=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+u,c/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],r,p),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,r);s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,r),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty())},_enableDatepicker:function(e){var i,s,n=t(e),a=t.data(e,r);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,a.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),a=t.data(e,r);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,a.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,r)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,s,a){var r,o,h,l,c=this._getInst(i);return 2===arguments.length&&"string"==typeof s?"defaults"===s?t.extend({},t.datepicker._defaults):c?"all"===s?t.extend({},c.settings):this._get(c,s):null:(r=s||{},"string"==typeof s&&(r={},r[s]=a),c&&(this._curInst===c&&this._hideDatepicker(),o=this._getDateDatepicker(i,!0),h=this._getMinMaxDate(c,"min"),l=this._getMinMaxDate(c,"max"),n(c.settings,r),null!==h&&r.dateFormat!==e&&r.minDate===e&&(c.settings.minDate=this._formatDate(c,h)),null!==l&&r.dateFormat!==e&&r.maxDate===e&&(c.settings.maxDate=this._formatDate(c,l)),"disabled"in r&&(r.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(t(i),c),this._autoSize(c),this._setDate(c,o),this._updateAlternate(c),this._updateDatepicker(c)),e)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,a=t.datepicker._getInst(e.target),r=!0,o=a.dpDiv.is(".ui-datepicker-rtl");if(a._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),r=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",a.dpDiv),n[0]&&t.datepicker._selectDay(e.target,a.selectedMonth,a.selectedYear,n[0]),i=t.datepicker._get(a,"onSelect"),i?(s=t.datepicker._formatDate(a),i.apply(a.input?a.input[0]:null,[s,a])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(a,"stepBigMonths"):-t.datepicker._get(a,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(a,"stepBigMonths"):+t.datepicker._get(a,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),r=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),r=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,o?1:-1,"D"),r=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(a,"stepBigMonths"):-t.datepicker._get(a,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),r=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,o?-1:1,"D"),r=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(a,"stepBigMonths"):+t.datepicker._get(a,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),r=e.ctrlKey||e.metaKey;break;default:r=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):r=!1;r&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(i){var s,n,a=t.datepicker._getInst(i.target);return t.datepicker._get(a,"constrainInput")?(s=t.datepicker._possibleChars(t.datepicker._get(a,"dateFormat")),n=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">n||!s||s.indexOf(n)>-1):e},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var i,s,a,r,o,h,l;i=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==i&&(t.datepicker._curInst.dpDiv.stop(!0,!0),i&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),s=t.datepicker._get(i,"beforeShow"),a=s?s.apply(e,[e,i]):{},a!==!1&&(n(i.settings,a),i.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(i),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),o={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(i),o=t.datepicker._checkOffset(i,o,r),i.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:o.left+"px",top:o.top+"px"}),i.inline||(h=t.datepicker._get(i,"showAnim"),l=t.datepicker._get(i,"duration"),i.dpDiv.zIndex(t(e).zIndex()+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[h]?i.dpDiv.show(h,t.datepicker._get(i,"showOptions"),l):i.dpDiv[h||"show"](h?l:null),t.datepicker._shouldFocusInput(i)&&i.input.focus(),t.datepicker._curInst=i))}},_updateDatepicker:function(e){this.maxRows=4,a=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e),e.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,s=this._getNumberOfMonths(e),n=s[1],r=17;e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",r*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.focus(),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),a=e.dpDiv.outerHeight(),r=e.input?e.input.outerWidth():0,o=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-r:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+o?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+a>l&&l>a?Math.abs(a+o):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,a,o=this._curInst;!o||e&&o!==t.data(e,r)||this._datepickerShowing&&(i=this._get(o,"showAnim"),s=this._get(o,"duration"),n=function(){t.datepicker._tidyDialog(o)},t.effects&&(t.effects.effect[i]||t.effects[i])?o.dpDiv.hide(i,t.datepicker._get(o,"showOptions"),s,n):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,a=this._get(o,"onClose"),a&&a.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),a=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(a,i+("M"===s?this._get(a,"showCurrentAtPos"):0),s),this._updateDatepicker(a))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),a=this._getInst(n[0]);a["selected"+("M"===s?"Month":"Year")]=a["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(a),this._adjustDate(n)},_selectDay:function(e,i,s,n){var a,r=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(r[0])||(a=this._getInst(r[0]),a.selectedDay=a.currentDay=t("a",n).html(),a.selectedMonth=a.currentMonth=i,a.selectedYear=a.currentYear=s,this._selectDate(e,this._formatDate(a,a.currentDay,a.currentMonth,a.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),a=this._getInst(n[0]);i=null!=i?i:this._formatDate(a),a.input&&a.input.val(i),this._updateAlternate(a),s=this._get(a,"onSelect"),s?s.apply(a.input?a.input[0]:null,[i,a]):a.input&&a.input.trigger("change"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],"object"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,a=this._get(e,"altField");a&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(a).each(function(){t(this).val(n)}))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(i,s,n){if(null==i||null==s)throw"Invalid arguments";if(s="object"==typeof s?""+s:s+"",""===s)return null;var a,r,o,h,l=0,c=(n?n.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof c?c:(new Date).getFullYear()%100+parseInt(c,10),d=(n?n.dayNamesShort:null)||this._defaults.dayNamesShort,p=(n?n.dayNames:null)||this._defaults.dayNames,f=(n?n.monthNamesShort:null)||this._defaults.monthNamesShort,m=(n?n.monthNames:null)||this._defaults.monthNames,g=-1,v=-1,_=-1,b=-1,y=!1,x=function(t){var e=i.length>a+1&&i.charAt(a+1)===t;return e&&a++,e},k=function(t){var e=x(t),i="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n=RegExp("^\\d{1,"+i+"}"),a=s.substring(l).match(n);if(!a)throw"Missing number at position "+l;return l+=a[0].length,parseInt(a[0],10)},w=function(i,n,a){var r=-1,o=t.map(x(i)?a:n,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(o,function(t,i){var n=i[1];return s.substr(l,n.length).toLowerCase()===n.toLowerCase()?(r=i[0],l+=n.length,!1):e}),-1!==r)return r+1;throw"Unknown name at position "+l},D=function(){if(s.charAt(l)!==i.charAt(a))throw"Unexpected literal at position "+l;l++};for(a=0;i.length>a;a++)if(y)"'"!==i.charAt(a)||x("'")?D():y=!1;else switch(i.charAt(a)){case"d":_=k("d");break;case"D":w("D",d,p);break;case"o":b=k("o");break;case"m":v=k("m");break;case"M":v=w("M",f,m);break;case"y":g=k("y");break;case"@":h=new Date(k("@")),g=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"!":h=new Date((k("!")-this._ticksTo1970)/1e4),g=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"'":x("'")?D():y=!0;break;default:D()}if(s.length>l&&(o=s.substr(l),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=g?0:-100)),b>-1)for(v=1,_=b;;){if(r=this._getDaysInMonth(g,v-1),r>=_)break;v++,_-=r}if(h=this._daylightSavingAdjust(new Date(g,v-1,_)),h.getFullYear()!==g||h.getMonth()+1!==v||h.getDate()!==_)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:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,a=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,o=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,a);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),r,o);break;case"y":u+=h("y")?e.getFullYear():(10>e.getYear()%100?"0":"")+e.getYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,i){return t.settings[i]!==e?t.settings[i]:this._defaults[i]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),a=n,r=this._getFormatConfig(t);try{a=this.parseDate(i,s,r)||n}catch(o){s=e?"":s}t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),t.currentDay=s?a.getDate():0,t.currentMonth=s?a.getMonth():0,t.currentYear=s?a.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},a=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,a=n.getFullYear(),r=n.getMonth(),o=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":o+=parseInt(l[1],10);break;case"w":case"W":o+=7*parseInt(l[1],10);break;case"m":case"M":r+=parseInt(l[1],10),o=Math.min(o,t.datepicker._getDaysInMonth(a,r));break;case"y":case"Y":a+=parseInt(l[1],10),o=Math.min(o,t.datepicker._getDaysInMonth(a,r))}l=h.exec(i)}return new Date(a,r,o)},r=null==i||""===i?s:"string"==typeof i?a(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return r=r&&"Invalid Date"==""+r?s:r,r&&(r.setHours(0),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0)),this._daylightSavingAdjust(r)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,a=t.selectedYear,r=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=r.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=r.getMonth(),t.drawYear=t.selectedYear=t.currentYear=r.getFullYear(),n===t.selectedMonth&&a===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).bind(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,a,r,o,h,l,c,u,d,p,f,m,g,v,_,b,y,x,k,w,D,T,C,M,S,N,I,P,A,z,H,E,F,O,W,j,R=new Date,L=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),B=this._get(t,"showButtonPanel"),J=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),Q=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),U=this._get(t,"stepMonths"),q=1!==Q[0]||1!==Q[1],X=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),G=this._getMinMaxDate(t,"min"),$=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),$)for(e=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-Q[0]*Q[1]+1,$.getDate())),e=G&&G>e?G:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-U,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":J?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+U,1)),this._getFormatConfig(t)):n,a=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":J?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",r=this._get(t,"currentText"),o=this._get(t,"gotoCurrent")&&t.currentDay?X:L,r=K?this.formatDate(r,o,this._getFormatConfig(t)):r,h=t.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(t,"closeText")+"</button>",l=B?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(t,o)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+r+"</button>":"")+(Y?"":h)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),m=this._get(t,"monthNamesShort"),g=this._get(t,"beforeShowDay"),v=this._get(t,"showOtherMonths"),_=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;Q[0]>k;k++){for(w="",this.maxRows=4,D=0;Q[1]>D;D++){if(T=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),C=" ui-corner-all",M="",q){if(M+="<div class='ui-datepicker-group",Q[1]>1)switch(D){case 0:M+=" ui-datepicker-group-first",C=" ui-corner-"+(Y?"right":"left");break;case Q[1]-1:M+=" ui-datepicker-group-last",C=" ui-corner-"+(Y?"left":"right");break;default:M+=" ui-datepicker-group-middle",C=""}M+="'>"}for(M+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+C+"'>"+(/all|left/.test(C)&&0===k?Y?a:s:"")+(/all|right/.test(C)&&0===k?Y?s:a:"")+this._generateMonthYearHeader(t,Z,te,G,$,k>0||D>0,f,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",S=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",x=0;7>x;x++)N=(x+c)%7,S+="<th"+((x+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[N]+"'>"+p[N]+"</span></th>";for(M+=S+"</tr></thead><tbody>",I=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,I)),P=(this._getFirstDayOfMonth(te,Z)-c+7)%7,A=Math.ceil((P+I)/7),z=q?this.maxRows>A?this.maxRows:A:A,this.maxRows=z,H=this._daylightSavingAdjust(new Date(te,Z,1-P)),E=0;z>E;E++){for(M+="<tr>",F=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(H)+"</td>":"",x=0;7>x;x++)O=g?g.apply(t.input?t.input[0]:null,[H]):[!0,""],W=H.getMonth()!==Z,j=W&&!_||!O[0]||G&&G>H||$&&H>$,F+="<td class='"+((x+c+6)%7>=5?" ui-datepicker-week-end":"")+(W?" ui-datepicker-other-month":"")+(H.getTime()===T.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===H.getTime()&&b.getTime()===T.getTime()?" "+this._dayOverClass:"")+(j?" "+this._unselectableClass+" ui-state-disabled":"")+(W&&!v?"":" "+O[1]+(H.getTime()===X.getTime()?" "+this._currentClass:"")+(H.getTime()===L.getTime()?" ui-datepicker-today":""))+"'"+(W&&!v||!O[2]?"":" title='"+O[2].replace(/'/g,"&#39;")+"'")+(j?"":" data-handler='selectDay' data-event='click' data-month='"+H.getMonth()+"' data-year='"+H.getFullYear()+"'")+">"+(W&&!v?"&#xa0;":j?"<span class='ui-state-default'>"+H.getDate()+"</span>":"<a class='ui-state-default"+(H.getTime()===L.getTime()?" ui-state-highlight":"")+(H.getTime()===X.getTime()?" ui-state-active":"")+(W?" ui-priority-secondary":"")+"' href='#'>"+H.getDate()+"</a>")+"</td>",H.setDate(H.getDate()+1),H=this._daylightSavingAdjust(H);M+=F+"</tr>"}Z++,Z>11&&(Z=0,te++),M+="</tbody></table>"+(q?"</div>"+(Q[0]>0&&D===Q[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),w+=M}y+=w}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,a,r,o){var h,l,c,u,d,p,f,m,g=this._get(t,"changeMonth"),v=this._get(t,"changeYear"),_=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(a||!g)y+="<span class='ui-datepicker-month'>"+r[e]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!h||c>=s.getMonth())&&(!l||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+o[c]+"</option>");y+="</select>"}if(_||(b+=y+(!a&&g&&v?"":"&#xa0;")),!t.yearshtml)if(t.yearshtml="",a||!v)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);
-return isNaN(e)?d:e},f=p(u[0]),m=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,m=n?Math.min(m,n.getFullYear()):m,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),_&&(b+=(!a&&g&&v?"":"&#xa0;")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.drawYear+("Y"===i?e:0),n=t.drawMonth+("M"===i?e:0),a=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),r=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,a)));t.selectedDay=r.getDate(),t.drawMonth=t.selectedMonth=r.getMonth(),t.drawYear=t.selectedYear=r.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),a=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&a.setDate(this._getDaysInMonth(a.getFullYear(),a.getMonth())),this._isInRange(t,a)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),a=this._getMinMaxDate(t,"max"),r=null,o=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),r=parseInt(i[0],10),o=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=s),i[1].match(/[+\-].*/)&&(o+=s)),(!n||e.getTime()>=n.getTime())&&(!a||e.getTime()<=a.getTime())&&(!r||e.getFullYear()>=r)&&(!o||o>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).mousedown(t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new i,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.10.3"})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(t,e){function i(){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},t.extend(this._defaults,this.regional[""]),this.dpDiv=s(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function s(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.delegate(i,"mouseout",function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",function(){t.datepicker._isDisabledDatepicker(a.inline?e.parent()[0]:a.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))})}function n(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}t.extend(t.ui,{datepicker:{version:"1.10.4"}});var a,r="datepicker";t.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return n(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,a;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),a=this._newInst(t(e),n),a.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,a):n&&this._inlineDatepicker(e,a)},_newInst:function(e,i){var n=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:n,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?s(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),t.data(e,r,i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,a,r=this._get(i,"appendText"),o=this._get(i,"isRTL");i.append&&i.append.remove(),r&&(i.append=t("<span class='"+this._appendClass+"'>"+r+"</span>"),e[o?"before":"after"](i.append)),e.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.focus(this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),a=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:a,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(a?t("<img/>").attr({src:a,alt:n,title:n}):n)),e[o?"before":"after"](i.trigger),i.trigger.click(function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,a=new Date(2009,11,20),r=this._get(t,"dateFormat");r.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},a.setMonth(e(this._get(t,r.match(/MM/)?"monthNames":"monthNamesShort"))),a.setDate(e(this._get(t,r.match(/DD/)?"dayNames":"dayNamesShort"))+20-a.getDay())),t.input.attr("size",this._formatDate(t,a).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,r,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,a,o){var h,l,c,u,d,p=this._dialogInst;return p||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+h+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),t("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},t.data(this._dialogInput[0],r,p)),n(p.settings,a||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(l=document.documentElement.clientWidth,c=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+u,c/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],r,p),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,r);s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,r),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty())},_enableDatepicker:function(e){var i,s,n=t(e),a=t.data(e,r);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,a.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),a=t.data(e,r);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,a.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,r)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,s,a){var r,o,h,l,c=this._getInst(i);return 2===arguments.length&&"string"==typeof s?"defaults"===s?t.extend({},t.datepicker._defaults):c?"all"===s?t.extend({},c.settings):this._get(c,s):null:(r=s||{},"string"==typeof s&&(r={},r[s]=a),c&&(this._curInst===c&&this._hideDatepicker(),o=this._getDateDatepicker(i,!0),h=this._getMinMaxDate(c,"min"),l=this._getMinMaxDate(c,"max"),n(c.settings,r),null!==h&&r.dateFormat!==e&&r.minDate===e&&(c.settings.minDate=this._formatDate(c,h)),null!==l&&r.dateFormat!==e&&r.maxDate===e&&(c.settings.maxDate=this._formatDate(c,l)),"disabled"in r&&(r.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(t(i),c),this._autoSize(c),this._setDate(c,o),this._updateAlternate(c),this._updateDatepicker(c)),e)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,a=t.datepicker._getInst(e.target),r=!0,o=a.dpDiv.is(".ui-datepicker-rtl");if(a._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),r=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",a.dpDiv),n[0]&&t.datepicker._selectDay(e.target,a.selectedMonth,a.selectedYear,n[0]),i=t.datepicker._get(a,"onSelect"),i?(s=t.datepicker._formatDate(a),i.apply(a.input?a.input[0]:null,[s,a])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(a,"stepBigMonths"):-t.datepicker._get(a,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(a,"stepBigMonths"):+t.datepicker._get(a,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),r=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),r=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,o?1:-1,"D"),r=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(a,"stepBigMonths"):-t.datepicker._get(a,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),r=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,o?-1:1,"D"),r=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(a,"stepBigMonths"):+t.datepicker._get(a,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),r=e.ctrlKey||e.metaKey;break;default:r=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):r=!1;r&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(i){var s,n,a=t.datepicker._getInst(i.target);return t.datepicker._get(a,"constrainInput")?(s=t.datepicker._possibleChars(t.datepicker._get(a,"dateFormat")),n=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">n||!s||s.indexOf(n)>-1):e},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var i,s,a,r,o,h,l;i=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==i&&(t.datepicker._curInst.dpDiv.stop(!0,!0),i&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),s=t.datepicker._get(i,"beforeShow"),a=s?s.apply(e,[e,i]):{},a!==!1&&(n(i.settings,a),i.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(i),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),o={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(i),o=t.datepicker._checkOffset(i,o,r),i.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:o.left+"px",top:o.top+"px"}),i.inline||(h=t.datepicker._get(i,"showAnim"),l=t.datepicker._get(i,"duration"),i.dpDiv.zIndex(t(e).zIndex()+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[h]?i.dpDiv.show(h,t.datepicker._get(i,"showOptions"),l):i.dpDiv[h||"show"](h?l:null),t.datepicker._shouldFocusInput(i)&&i.input.focus(),t.datepicker._curInst=i))}},_updateDatepicker:function(e){this.maxRows=4,a=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e),e.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,s=this._getNumberOfMonths(e),n=s[1],r=17;e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",r*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.focus(),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),a=e.dpDiv.outerHeight(),r=e.input?e.input.outerWidth():0,o=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-r:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+o?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+a>l&&l>a?Math.abs(a+o):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,a,o=this._curInst;!o||e&&o!==t.data(e,r)||this._datepickerShowing&&(i=this._get(o,"showAnim"),s=this._get(o,"duration"),n=function(){t.datepicker._tidyDialog(o)},t.effects&&(t.effects.effect[i]||t.effects[i])?o.dpDiv.hide(i,t.datepicker._get(o,"showOptions"),s,n):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,a=this._get(o,"onClose"),a&&a.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),a=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(a,i+("M"===s?this._get(a,"showCurrentAtPos"):0),s),this._updateDatepicker(a))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),a=this._getInst(n[0]);a["selected"+("M"===s?"Month":"Year")]=a["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(a),this._adjustDate(n)},_selectDay:function(e,i,s,n){var a,r=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(r[0])||(a=this._getInst(r[0]),a.selectedDay=a.currentDay=t("a",n).html(),a.selectedMonth=a.currentMonth=i,a.selectedYear=a.currentYear=s,this._selectDate(e,this._formatDate(a,a.currentDay,a.currentMonth,a.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),a=this._getInst(n[0]);i=null!=i?i:this._formatDate(a),a.input&&a.input.val(i),this._updateAlternate(a),s=this._get(a,"onSelect"),s?s.apply(a.input?a.input[0]:null,[i,a]):a.input&&a.input.trigger("change"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],"object"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,a=this._get(e,"altField");a&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(a).each(function(){t(this).val(n)}))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(i,s,n){if(null==i||null==s)throw"Invalid arguments";if(s="object"==typeof s?""+s:s+"",""===s)return null;var a,r,o,h,l=0,c=(n?n.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof c?c:(new Date).getFullYear()%100+parseInt(c,10),d=(n?n.dayNamesShort:null)||this._defaults.dayNamesShort,p=(n?n.dayNames:null)||this._defaults.dayNames,f=(n?n.monthNamesShort:null)||this._defaults.monthNamesShort,m=(n?n.monthNames:null)||this._defaults.monthNames,g=-1,v=-1,_=-1,b=-1,y=!1,x=function(t){var e=i.length>a+1&&i.charAt(a+1)===t;return e&&a++,e},k=function(t){var e=x(t),i="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n=RegExp("^\\d{1,"+i+"}"),a=s.substring(l).match(n);if(!a)throw"Missing number at position "+l;return l+=a[0].length,parseInt(a[0],10)},w=function(i,n,a){var r=-1,o=t.map(x(i)?a:n,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(o,function(t,i){var n=i[1];return s.substr(l,n.length).toLowerCase()===n.toLowerCase()?(r=i[0],l+=n.length,!1):e}),-1!==r)return r+1;throw"Unknown name at position "+l},D=function(){if(s.charAt(l)!==i.charAt(a))throw"Unexpected literal at position "+l;l++};for(a=0;i.length>a;a++)if(y)"'"!==i.charAt(a)||x("'")?D():y=!1;else switch(i.charAt(a)){case"d":_=k("d");break;case"D":w("D",d,p);break;case"o":b=k("o");break;case"m":v=k("m");break;case"M":v=w("M",f,m);break;case"y":g=k("y");break;case"@":h=new Date(k("@")),g=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"!":h=new Date((k("!")-this._ticksTo1970)/1e4),g=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"'":x("'")?D():y=!0;break;default:D()}if(s.length>l&&(o=s.substr(l),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=g?0:-100)),b>-1)for(v=1,_=b;;){if(r=this._getDaysInMonth(g,v-1),r>=_)break;v++,_-=r}if(h=this._daylightSavingAdjust(new Date(g,v-1,_)),h.getFullYear()!==g||h.getMonth()+1!==v||h.getDate()!==_)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:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,a=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,o=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,a);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),r,o);break;case"y":u+=h("y")?e.getFullYear():(10>e.getYear()%100?"0":"")+e.getYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,i){return t.settings[i]!==e?t.settings[i]:this._defaults[i]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),a=n,r=this._getFormatConfig(t);try{a=this.parseDate(i,s,r)||n}catch(o){s=e?"":s}t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),t.currentDay=s?a.getDate():0,t.currentMonth=s?a.getMonth():0,t.currentYear=s?a.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},a=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,a=n.getFullYear(),r=n.getMonth(),o=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":o+=parseInt(l[1],10);break;case"w":case"W":o+=7*parseInt(l[1],10);break;case"m":case"M":r+=parseInt(l[1],10),o=Math.min(o,t.datepicker._getDaysInMonth(a,r));break;case"y":case"Y":a+=parseInt(l[1],10),o=Math.min(o,t.datepicker._getDaysInMonth(a,r))}l=h.exec(i)}return new Date(a,r,o)},r=null==i||""===i?s:"string"==typeof i?a(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return r=r&&"Invalid Date"==""+r?s:r,r&&(r.setHours(0),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0)),this._daylightSavingAdjust(r)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,a=t.selectedYear,r=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=r.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=r.getMonth(),t.drawYear=t.selectedYear=t.currentYear=r.getFullYear(),n===t.selectedMonth&&a===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).bind(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,a,r,o,h,l,c,u,d,p,f,m,g,v,_,b,y,x,k,w,D,T,C,S,M,N,I,P,A,z,H,E,F,O,j,W,R=new Date,L=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),B=this._get(t,"showButtonPanel"),K=this._get(t,"hideIfNoPrevNext"),J=this._get(t,"navigationAsDateFormat"),Q=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),U=this._get(t,"stepMonths"),q=1!==Q[0]||1!==Q[1],X=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),G=this._getMinMaxDate(t,"min"),$=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),$)for(e=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-Q[0]*Q[1]+1,$.getDate())),e=G&&G>e?G:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=J?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-U,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":K?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=J?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+U,1)),this._getFormatConfig(t)):n,a=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":K?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",r=this._get(t,"currentText"),o=this._get(t,"gotoCurrent")&&t.currentDay?X:L,r=J?this.formatDate(r,o,this._getFormatConfig(t)):r,h=t.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(t,"closeText")+"</button>",l=B?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(t,o)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+r+"</button>":"")+(Y?"":h)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),m=this._get(t,"monthNamesShort"),g=this._get(t,"beforeShowDay"),v=this._get(t,"showOtherMonths"),_=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;Q[0]>k;k++){for(w="",this.maxRows=4,D=0;Q[1]>D;D++){if(T=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),C=" ui-corner-all",S="",q){if(S+="<div class='ui-datepicker-group",Q[1]>1)switch(D){case 0:S+=" ui-datepicker-group-first",C=" ui-corner-"+(Y?"right":"left");break;case Q[1]-1:S+=" ui-datepicker-group-last",C=" ui-corner-"+(Y?"left":"right");break;default:S+=" ui-datepicker-group-middle",C=""}S+="'>"}for(S+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+C+"'>"+(/all|left/.test(C)&&0===k?Y?a:s:"")+(/all|right/.test(C)&&0===k?Y?s:a:"")+this._generateMonthYearHeader(t,Z,te,G,$,k>0||D>0,f,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",M=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",x=0;7>x;x++)N=(x+c)%7,M+="<th"+((x+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[N]+"'>"+p[N]+"</span></th>";for(S+=M+"</tr></thead><tbody>",I=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,I)),P=(this._getFirstDayOfMonth(te,Z)-c+7)%7,A=Math.ceil((P+I)/7),z=q?this.maxRows>A?this.maxRows:A:A,this.maxRows=z,H=this._daylightSavingAdjust(new Date(te,Z,1-P)),E=0;z>E;E++){for(S+="<tr>",F=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(H)+"</td>":"",x=0;7>x;x++)O=g?g.apply(t.input?t.input[0]:null,[H]):[!0,""],j=H.getMonth()!==Z,W=j&&!_||!O[0]||G&&G>H||$&&H>$,F+="<td class='"+((x+c+6)%7>=5?" ui-datepicker-week-end":"")+(j?" ui-datepicker-other-month":"")+(H.getTime()===T.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===H.getTime()&&b.getTime()===T.getTime()?" "+this._dayOverClass:"")+(W?" "+this._unselectableClass+" ui-state-disabled":"")+(j&&!v?"":" "+O[1]+(H.getTime()===X.getTime()?" "+this._currentClass:"")+(H.getTime()===L.getTime()?" ui-datepicker-today":""))+"'"+(j&&!v||!O[2]?"":" title='"+O[2].replace(/'/g,"&#39;")+"'")+(W?"":" data-handler='selectDay' data-event='click' data-month='"+H.getMonth()+"' data-year='"+H.getFullYear()+"'")+">"+(j&&!v?"&#xa0;":W?"<span class='ui-state-default'>"+H.getDate()+"</span>":"<a class='ui-state-default"+(H.getTime()===L.getTime()?" ui-state-highlight":"")+(H.getTime()===X.getTime()?" ui-state-active":"")+(j?" ui-priority-secondary":"")+"' href='#'>"+H.getDate()+"</a>")+"</td>",H.setDate(H.getDate()+1),H=this._daylightSavingAdjust(H);S+=F+"</tr>"}Z++,Z>11&&(Z=0,te++),S+="</tbody></table>"+(q?"</div>"+(Q[0]>0&&D===Q[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),w+=S}y+=w}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,a,r,o){var h,l,c,u,d,p,f,m,g=this._get(t,"changeMonth"),v=this._get(t,"changeYear"),_=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(a||!g)y+="<span class='ui-datepicker-month'>"+r[e]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!h||c>=s.getMonth())&&(!l||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+o[c]+"</option>");y+="</select>"}if(_||(b+=y+(!a&&g&&v?"":"&#xa0;")),!t.yearshtml)if(t.yearshtml="",a||!v)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);
+return isNaN(e)?d:e},f=p(u[0]),m=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,m=n?Math.min(m,n.getFullYear()):m,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),_&&(b+=(!a&&g&&v?"":"&#xa0;")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.drawYear+("Y"===i?e:0),n=t.drawMonth+("M"===i?e:0),a=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),r=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,a)));t.selectedDay=r.getDate(),t.drawMonth=t.selectedMonth=r.getMonth(),t.drawYear=t.selectedYear=r.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),a=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&a.setDate(this._getDaysInMonth(a.getFullYear(),a.getMonth())),this._isInRange(t,a)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),a=this._getMinMaxDate(t,"max"),r=null,o=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),r=parseInt(i[0],10),o=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=s),i[1].match(/[+\-].*/)&&(o+=s)),(!n||e.getTime()>=n.getTime())&&(!a||e.getTime()<=a.getTime())&&(!r||e.getFullYear()>=r)&&(!o||o>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).mousedown(t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new i,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.10.4"})(jQuery);
\ No newline at end of file
index 990f202196ca106cba70a497f46790ffd01ec812..d180476c3a13c9cdaedf70de34940aa0de74dafb 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t){var e={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},i={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};t.widget("ui.dialog",{version:"1.10.3",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._destroyOverlay(),this.opener.filter(":focusable").focus().length||t(this.document[0].activeElement).blur(),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,e){var i=!!this.uiDialog.nextAll(":visible").insertBefore(this.uiDialog).length;return i&&!e&&this._trigger("focus",t),i},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),undefined):(this._isOpen=!0,this.opener=t(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._trigger("open"),undefined)},_focusTabbable:function(){var t=this.element.find("[autofocus]");t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).focus()},_keepFocus:function(e){function i(){var e=this.document[0].activeElement,i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),undefined;if(e.keyCode===t.ui.keyCode.TAB){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(n.focus(1),e.preventDefault()):(s.focus(1),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=t("<button></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(e),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title||t.html("&#160;"),t.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=t("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),undefined):(t.each(i,function(i,s){var n,a;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,s.click=function(){n.apply(e.element[0],arguments)},a={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,t("<button></button>",s).button(a).appendTo(e.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),undefined)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){t(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,a){s.position=[a.position.left-i.document.scrollLeft(),a.position.top-i.document.scrollTop()],t(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(a))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}var i=this,s=this.options,n=s.resizable,a=this.uiDialog.css("position"),o="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:o,start:function(s,n){t(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,a){s.height=t(this).height(),s.width=t(this).width(),t(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(a))}}).css("position",a)},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(s){var n=this,a=!1,o={};t.each(s,function(t,s){n._setOption(t,s),t in e&&(a=!0),t in i&&(o[t]=s)}),a&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",o)},_setOption:function(t,e){var i,s,n=this.uiDialog;"dialogClass"===t&&n.removeClass(this.options.dialogClass).addClass(e),"disabled"!==t&&(this._super(t,e),"appendTo"===t&&this.uiDialog.appendTo(this._appendTo()),"buttons"===t&&this._createButtons(),"closeText"===t&&this.uiDialogTitlebarClose.button({label:""+e}),"draggable"===t&&(i=n.is(":data(ui-draggable)"),i&&!e&&n.draggable("destroy"),!i&&e&&this._makeDraggable()),"position"===t&&this._position(),"resizable"===t&&(s=n.is(":data(ui-resizable)"),s&&!e&&n.resizable("destroy"),s&&"string"==typeof e&&n.resizable("option","handles",e),s||e===!1||this._makeResizable()),"title"===t&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("<div>").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=this,i=this.widgetFullName;t.ui.dialog.overlayInstances||this._delay(function(){t.ui.dialog.overlayInstances&&this.document.bind("focusin.dialog",function(s){e._allowInteraction(s)||(s.preventDefault(),t(".ui-dialog:visible:last .ui-dialog-content").data(i)._focusTabbable())})}),this.overlay=t("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),t.ui.dialog.overlayInstances++}},_destroyOverlay:function(){this.options.modal&&this.overlay&&(t.ui.dialog.overlayInstances--,t.ui.dialog.overlayInstances||this.document.unbind("focusin.dialog"),this.overlay.remove(),this.overlay=null)}}),t.ui.dialog.overlayInstances=0,t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{_position:function(){var e,i=this.options.position,s=[],n=[0,0];i?(("string"==typeof i||"object"==typeof i&&"0"in i)&&(s=i.split?i.split(" "):[i[0],i[1]],1===s.length&&(s[1]=s[0]),t.each(["left","top"],function(t,e){+s[t]===s[t]&&(n[t]=s[t],s[t]=e)}),i={my:s[0]+(0>n[0]?n[0]:"+"+n[0])+" "+s[1]+(0>n[1]?n[1]:"+"+n[1]),at:s.join(" ")}),i=t.extend({},t.ui.dialog.prototype.options.position,i)):i=t.ui.dialog.prototype.options.position,e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.position(i),e||this.uiDialog.hide()}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(t){var e={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},i={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};t.widget("ui.dialog",{version:"1.10.4",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var i,s=this;if(this._isOpen&&this._trigger("beforeClose",e)!==!1){if(this._isOpen=!1,this._destroyOverlay(),!this.opener.filter(":focusable").focus().length)try{i=this.document[0].activeElement,i&&"body"!==i.nodeName.toLowerCase()&&t(i).blur()}catch(n){}this._hide(this.uiDialog,this.options.hide,function(){s._trigger("close",e)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,e){var i=!!this.uiDialog.nextAll(":visible").insertBefore(this.uiDialog).length;return i&&!e&&this._trigger("focus",t),i},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),undefined):(this._isOpen=!0,this.opener=t(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._trigger("open"),undefined)},_focusTabbable:function(){var t=this.element.find("[autofocus]");t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).focus()},_keepFocus:function(e){function i(){var e=this.document[0].activeElement,i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),undefined;if(e.keyCode===t.ui.keyCode.TAB){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(n.focus(1),e.preventDefault()):(s.focus(1),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=t("<button type='button'></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(e),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title||t.html("&#160;"),t.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=t("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),undefined):(t.each(i,function(i,s){var n,a;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,s.click=function(){n.apply(e.element[0],arguments)},a={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,t("<button></button>",s).button(a).appendTo(e.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),undefined)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){t(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,a){s.position=[a.position.left-i.document.scrollLeft(),a.position.top-i.document.scrollTop()],t(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(a))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}var i=this,s=this.options,n=s.resizable,a=this.uiDialog.css("position"),o="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:o,start:function(s,n){t(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,a){s.height=t(this).height(),s.width=t(this).width(),t(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(a))}}).css("position",a)},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(s){var n=this,a=!1,o={};t.each(s,function(t,s){n._setOption(t,s),t in e&&(a=!0),t in i&&(o[t]=s)}),a&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",o)},_setOption:function(t,e){var i,s,n=this.uiDialog;"dialogClass"===t&&n.removeClass(this.options.dialogClass).addClass(e),"disabled"!==t&&(this._super(t,e),"appendTo"===t&&this.uiDialog.appendTo(this._appendTo()),"buttons"===t&&this._createButtons(),"closeText"===t&&this.uiDialogTitlebarClose.button({label:""+e}),"draggable"===t&&(i=n.is(":data(ui-draggable)"),i&&!e&&n.draggable("destroy"),!i&&e&&this._makeDraggable()),"position"===t&&this._position(),"resizable"===t&&(s=n.is(":data(ui-resizable)"),s&&!e&&n.resizable("destroy"),s&&"string"==typeof e&&n.resizable("option","handles",e),s||e===!1||this._makeResizable()),"title"===t&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("<div>").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=this,i=this.widgetFullName;t.ui.dialog.overlayInstances||this._delay(function(){t.ui.dialog.overlayInstances&&this.document.bind("focusin.dialog",function(s){e._allowInteraction(s)||(s.preventDefault(),t(".ui-dialog:visible:last .ui-dialog-content").data(i)._focusTabbable())})}),this.overlay=t("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),t.ui.dialog.overlayInstances++}},_destroyOverlay:function(){this.options.modal&&this.overlay&&(t.ui.dialog.overlayInstances--,t.ui.dialog.overlayInstances||this.document.unbind("focusin.dialog"),this.overlay.remove(),this.overlay=null)}}),t.ui.dialog.overlayInstances=0,t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{_position:function(){var e,i=this.options.position,s=[],n=[0,0];i?(("string"==typeof i||"object"==typeof i&&"0"in i)&&(s=i.split?i.split(" "):[i[0],i[1]],1===s.length&&(s[1]=s[0]),t.each(["left","top"],function(t,e){+s[t]===s[t]&&(n[t]=s[t],s[t]=e)}),i={my:s[0]+(0>n[0]?n[0]:"+"+n[0])+" "+s[1]+(0>n[1]?n[1]:"+"+n[1]),at:s.join(" ")}),i=t.extend({},t.ui.dialog.prototype.options.position,i)):i=t.ui.dialog.prototype.options.position,e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.position(i),e||this.uiDialog.hide()}})})(jQuery);
\ No newline at end of file
index ac92817f3b74cfc3780590c09ff26ab6d73e6c78..e58be5a81feafaeac3fba87d8231501368d5a4df 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(e){e.widget("ui.draggable",e.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var i=this.options;return this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(e(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){e("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"original"!==this.options.helper||e.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1):!1},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;return n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):"document"===n.containment?(this.containment=[0,0,e(document).width()-this.helperProportions.width-this.margins.left,(e(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):n.containment.constructor===Array?(this.containment=n.containment,undefined):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),undefined):(this.containment=null,undefined)},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:n.scrollTop(),left:n.scrollLeft()}),{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*s}},_generatePosition:function(t){var i,s,n,a,o=this.options,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=t.pageX,l=t.pageY;return this.offset.scroll||(this.offset.scroll={top:r.scrollTop(),left:r.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s]),"drag"===t&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i){var s=e(this).data("ui-draggable"),n=s.options,a=e.extend({},i,{item:s.element});s.sortables=[],e(n.connectToSortable).each(function(){var i=e.data(this,"ui-sortable");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",t,a))})},stop:function(t,i){var s=e(this).data("ui-draggable"),n=e.extend({},i,{item:s.element});e.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,n))})},drag:function(t,i){var s=e(this).data("ui-draggable"),n=this;e.each(s.sortables,function(){var a=!1,o=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(a=!0,e.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==o&&this.instance._intersectsWith(this.instance.containerCache)&&e.contains(o.instance.element[0],this.instance.element[0])&&(a=!1),a})),a?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",t),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",t),s.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(){var t=e("body"),i=e(this).data("ui-draggable").options;t.css("cursor")&&(i._cursor=t.css("cursor")),t.css("cursor",i.cursor)},stop:function(){var t=e(this).data("ui-draggable").options;t._cursor&&e("body").css("cursor",t._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i){var s=e(i.helper),n=e(this).data("ui-draggable").options;s.css("opacity")&&(n._opacity=s.css("opacity")),s.css("opacity",n.opacity)},stop:function(t,i){var s=e(this).data("ui-draggable").options;s._opacity&&e(i.helper).css("opacity",s._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(){var t=e(this).data("ui-draggable");t.scrollParent[0]!==document&&"HTML"!==t.scrollParent[0].tagName&&(t.overflowOffset=t.scrollParent.offset())},drag:function(t){var i=e(this).data("ui-draggable"),s=i.options,n=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-t.pageY<s.scrollSensitivity?i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop+s.scrollSpeed:t.pageY-i.overflowOffset.top<s.scrollSensitivity&&(i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop-s.scrollSpeed)),s.axis&&"y"===s.axis||(i.overflowOffset.left+i.scrollParent[0].offsetWidth-t.pageX<s.scrollSensitivity?i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft+s.scrollSpeed:t.pageX-i.overflowOffset.left<s.scrollSensitivity&&(i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft-s.scrollSpeed))):(s.axis&&"x"===s.axis||(t.pageY-e(document).scrollTop()<s.scrollSensitivity?n=e(document).scrollTop(e(document).scrollTop()-s.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<s.scrollSensitivity&&(n=e(document).scrollTop(e(document).scrollTop()+s.scrollSpeed))),s.axis&&"y"===s.axis||(t.pageX-e(document).scrollLeft()<s.scrollSensitivity?n=e(document).scrollLeft(e(document).scrollLeft()-s.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<s.scrollSensitivity&&(n=e(document).scrollLeft(e(document).scrollLeft()+s.scrollSpeed)))),n!==!1&&e.ui.ddmanager&&!s.dropBehaviour&&e.ui.ddmanager.prepareOffsets(i,t)}}),e.ui.plugin.add("draggable","snap",{start:function(){var t=e(this).data("ui-draggable"),i=t.options;t.snapElements=[],e(i.snap.constructor!==String?i.snap.items||":data(ui-draggable)":i.snap).each(function(){var i=e(this),s=i.offset();this!==t.element[0]&&t.snapElements.push({item:this,width:i.outerWidth(),height:i.outerHeight(),top:s.top,left:s.left})})},drag:function(t,i){var s,n,a,o,r,h,l,u,c,d,p=e(this).data("ui-draggable"),f=p.options,m=f.snapTolerance,g=i.offset.left,v=g+p.helperProportions.width,b=i.offset.top,y=b+p.helperProportions.height;for(c=p.snapElements.length-1;c>=0;c--)r=p.snapElements[c].left,h=r+p.snapElements[c].width,l=p.snapElements[c].top,u=l+p.snapElements[c].height,r-m>v||g>h+m||l-m>y||b>u+m||!e.contains(p.snapElements[c].item.ownerDocument,p.snapElements[c].item)?(p.snapElements[c].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[c].item})),p.snapElements[c].snapping=!1):("inner"!==f.snapMode&&(s=m>=Math.abs(l-y),n=m>=Math.abs(u-b),a=m>=Math.abs(r-v),o=m>=Math.abs(h-g),s&&(i.position.top=p._convertPositionTo("relative",{top:l-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:u,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r-p.helperProportions.width}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h}).left-p.margins.left)),d=s||n||a||o,"outer"!==f.snapMode&&(s=m>=Math.abs(l-b),n=m>=Math.abs(u-y),a=m>=Math.abs(r-g),o=m>=Math.abs(h-v),s&&(i.position.top=p._convertPositionTo("relative",{top:l,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:u-p.helperProportions.height,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[c].snapping&&(s||n||a||o||d)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[c].item})),p.snapElements[c].snapping=s||n||a||o||d)}}),e.ui.plugin.add("draggable","stack",{start:function(){var t,i=this.data("ui-draggable").options,s=e.makeArray(e(i.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});s.length&&(t=parseInt(e(s[0]).css("zIndex"),10)||0,e(s).each(function(i){e(this).css("zIndex",t+i)}),this.css("zIndex",t+s.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i){var s=e(i.helper),n=e(this).data("ui-draggable").options;s.css("zIndex")&&(n._zIndex=s.css("zIndex")),s.css("zIndex",n.zIndex)},stop:function(t,i){var s=e(this).data("ui-draggable").options;s._zIndex&&e(i.helper).css("zIndex",s._zIndex)}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(e){e.widget("ui.draggable",e.ui.mouse,{version:"1.10.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var i=this.options;return this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(e(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){e("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"original"!==this.options.helper||e.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1):!1},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;return n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):"document"===n.containment?(this.containment=[0,0,e(document).width()-this.helperProportions.width-this.margins.left,(e(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):n.containment.constructor===Array?(this.containment=n.containment,undefined):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),undefined):(this.containment=null,undefined)},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:n.scrollTop(),left:n.scrollLeft()}),{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*s}},_generatePosition:function(t){var i,s,n,a,o=this.options,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=t.pageX,l=t.pageY;return this.offset.scroll||(this.offset.scroll={top:r.scrollTop(),left:r.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s]),"drag"===t&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i){var s=e(this).data("ui-draggable"),n=s.options,a=e.extend({},i,{item:s.element});s.sortables=[],e(n.connectToSortable).each(function(){var i=e.data(this,"ui-sortable");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",t,a))})},stop:function(t,i){var s=e(this).data("ui-draggable"),n=e.extend({},i,{item:s.element});e.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,n))})},drag:function(t,i){var s=e(this).data("ui-draggable"),n=this;e.each(s.sortables,function(){var a=!1,o=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(a=!0,e.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==o&&this.instance._intersectsWith(this.instance.containerCache)&&e.contains(o.instance.element[0],this.instance.element[0])&&(a=!1),a})),a?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",t),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",t),s.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(){var t=e("body"),i=e(this).data("ui-draggable").options;t.css("cursor")&&(i._cursor=t.css("cursor")),t.css("cursor",i.cursor)},stop:function(){var t=e(this).data("ui-draggable").options;t._cursor&&e("body").css("cursor",t._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i){var s=e(i.helper),n=e(this).data("ui-draggable").options;s.css("opacity")&&(n._opacity=s.css("opacity")),s.css("opacity",n.opacity)},stop:function(t,i){var s=e(this).data("ui-draggable").options;s._opacity&&e(i.helper).css("opacity",s._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(){var t=e(this).data("ui-draggable");t.scrollParent[0]!==document&&"HTML"!==t.scrollParent[0].tagName&&(t.overflowOffset=t.scrollParent.offset())},drag:function(t){var i=e(this).data("ui-draggable"),s=i.options,n=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-t.pageY<s.scrollSensitivity?i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop+s.scrollSpeed:t.pageY-i.overflowOffset.top<s.scrollSensitivity&&(i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop-s.scrollSpeed)),s.axis&&"y"===s.axis||(i.overflowOffset.left+i.scrollParent[0].offsetWidth-t.pageX<s.scrollSensitivity?i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft+s.scrollSpeed:t.pageX-i.overflowOffset.left<s.scrollSensitivity&&(i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft-s.scrollSpeed))):(s.axis&&"x"===s.axis||(t.pageY-e(document).scrollTop()<s.scrollSensitivity?n=e(document).scrollTop(e(document).scrollTop()-s.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<s.scrollSensitivity&&(n=e(document).scrollTop(e(document).scrollTop()+s.scrollSpeed))),s.axis&&"y"===s.axis||(t.pageX-e(document).scrollLeft()<s.scrollSensitivity?n=e(document).scrollLeft(e(document).scrollLeft()-s.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<s.scrollSensitivity&&(n=e(document).scrollLeft(e(document).scrollLeft()+s.scrollSpeed)))),n!==!1&&e.ui.ddmanager&&!s.dropBehaviour&&e.ui.ddmanager.prepareOffsets(i,t)}}),e.ui.plugin.add("draggable","snap",{start:function(){var t=e(this).data("ui-draggable"),i=t.options;t.snapElements=[],e(i.snap.constructor!==String?i.snap.items||":data(ui-draggable)":i.snap).each(function(){var i=e(this),s=i.offset();this!==t.element[0]&&t.snapElements.push({item:this,width:i.outerWidth(),height:i.outerHeight(),top:s.top,left:s.left})})},drag:function(t,i){var s,n,a,o,r,h,l,u,c,d,p=e(this).data("ui-draggable"),f=p.options,m=f.snapTolerance,g=i.offset.left,v=g+p.helperProportions.width,y=i.offset.top,b=y+p.helperProportions.height;for(c=p.snapElements.length-1;c>=0;c--)r=p.snapElements[c].left,h=r+p.snapElements[c].width,l=p.snapElements[c].top,u=l+p.snapElements[c].height,r-m>v||g>h+m||l-m>b||y>u+m||!e.contains(p.snapElements[c].item.ownerDocument,p.snapElements[c].item)?(p.snapElements[c].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[c].item})),p.snapElements[c].snapping=!1):("inner"!==f.snapMode&&(s=m>=Math.abs(l-b),n=m>=Math.abs(u-y),a=m>=Math.abs(r-v),o=m>=Math.abs(h-g),s&&(i.position.top=p._convertPositionTo("relative",{top:l-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:u,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r-p.helperProportions.width}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h}).left-p.margins.left)),d=s||n||a||o,"outer"!==f.snapMode&&(s=m>=Math.abs(l-y),n=m>=Math.abs(u-b),a=m>=Math.abs(r-g),o=m>=Math.abs(h-v),s&&(i.position.top=p._convertPositionTo("relative",{top:l,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:u-p.helperProportions.height,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[c].snapping&&(s||n||a||o||d)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[c].item})),p.snapElements[c].snapping=s||n||a||o||d)}}),e.ui.plugin.add("draggable","stack",{start:function(){var t,i=this.data("ui-draggable").options,s=e.makeArray(e(i.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});s.length&&(t=parseInt(e(s[0]).css("zIndex"),10)||0,e(s).each(function(i){e(this).css("zIndex",t+i)}),this.css("zIndex",t+s.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i){var s=e(i.helper),n=e(this).data("ui-draggable").options;s.css("zIndex")&&(n._zIndex=s.css("zIndex")),s.css("zIndex",n.zIndex)},stop:function(t,i){var s=e(this).data("ui-draggable").options;s._zIndex&&e(i.helper).css("zIndex",s._zIndex)}})})(jQuery);
\ No newline at end of file
index ba7b19400320583d00126d18dd2f1bd4b22eba60..036e5e4a5e37f325b37f309c1211789988172702 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(e){function t(e,t,i){return e>t&&t+i>e}e.widget("ui.droppable",{version:"1.10.3",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t=this.options,i=t.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(i)?i:function(e){return e.is(i)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},e.ui.ddmanager.droppables[t.scope]=e.ui.ddmanager.droppables[t.scope]||[],e.ui.ddmanager.droppables[t.scope].push(this),t.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var t=0,i=e.ui.ddmanager.droppables[this.options.scope];i.length>t;t++)i[t]===this&&i.splice(t,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){"accept"===t&&(this.accept=e.isFunction(i)?i:function(e){return e.is(i)}),e.Widget.prototype._setOption.apply(this,arguments)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var t=e.data(this,"ui-droppable");return t.options.greedy&&!t.options.disabled&&t.options.scope===s.options.scope&&t.accept.call(t.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(t,{offset:t.element.offset()}),t.options.tolerance)?(n=!0,!1):undefined}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(e,i,s){if(!i.offset)return!1;var n,a,o=(e.positionAbs||e.position.absolute).left,r=o+e.helperProportions.width,h=(e.positionAbs||e.position.absolute).top,l=h+e.helperProportions.height,u=i.offset.left,c=u+i.proportions.width,d=i.offset.top,p=d+i.proportions.height;switch(s){case"fit":return o>=u&&c>=r&&h>=d&&p>=l;case"intersect":return o+e.helperProportions.width/2>u&&c>r-e.helperProportions.width/2&&h+e.helperProportions.height/2>d&&p>l-e.helperProportions.height/2;case"pointer":return n=(e.positionAbs||e.position.absolute).left+(e.clickOffset||e.offset.click).left,a=(e.positionAbs||e.position.absolute).top+(e.clickOffset||e.offset.click).top,t(a,d,i.proportions.height)&&t(n,u,i.proportions.width);case"touch":return(h>=d&&p>=h||l>=d&&p>=l||d>h&&l>p)&&(o>=u&&c>=o||r>=u&&c>=r||u>o&&r>c);default:return!1}},e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions.height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions={width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight})}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e.data(this,"ui-droppable").options.scope===n}),a.length&&(s=e.data(a[0],"ui-droppable"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}}})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(e){function t(e,t,i){return e>t&&t+i>e}e.widget("ui.droppable",{version:"1.10.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(s)?s:function(e){return e.is(s)},this.proportions=function(){return arguments.length?(t=arguments[0],undefined):t?t:t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},e.ui.ddmanager.droppables[i.scope]=e.ui.ddmanager.droppables[i.scope]||[],e.ui.ddmanager.droppables[i.scope].push(this),i.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var t=0,i=e.ui.ddmanager.droppables[this.options.scope];i.length>t;t++)i[t]===this&&i.splice(t,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){"accept"===t&&(this.accept=e.isFunction(i)?i:function(e){return e.is(i)}),e.Widget.prototype._setOption.apply(this,arguments)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var t=e.data(this,"ui-droppable");return t.options.greedy&&!t.options.disabled&&t.options.scope===s.options.scope&&t.accept.call(t.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(t,{offset:t.element.offset()}),t.options.tolerance)?(n=!0,!1):undefined}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(e,i,s){if(!i.offset)return!1;var n,a,o=(e.positionAbs||e.position.absolute).left,r=(e.positionAbs||e.position.absolute).top,h=o+e.helperProportions.width,l=r+e.helperProportions.height,u=i.offset.left,c=i.offset.top,d=u+i.proportions().width,p=c+i.proportions().height;switch(s){case"fit":return o>=u&&d>=h&&r>=c&&p>=l;case"intersect":return o+e.helperProportions.width/2>u&&d>h-e.helperProportions.width/2&&r+e.helperProportions.height/2>c&&p>l-e.helperProportions.height/2;case"pointer":return n=(e.positionAbs||e.position.absolute).left+(e.clickOffset||e.offset.click).left,a=(e.positionAbs||e.position.absolute).top+(e.clickOffset||e.offset.click).top,t(a,c,i.proportions().height)&&t(n,u,i.proportions().width);case"touch":return(r>=c&&p>=r||l>=c&&p>=l||c>r&&l>p)&&(o>=u&&d>=o||h>=u&&d>=h||u>o&&h>d);default:return!1}},e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e.data(this,"ui-droppable").options.scope===n}),a.length&&(s=e.data(a[0],"ui-droppable"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}}})(jQuery);
\ No newline at end of file
index ea34c3ccdd03eb7756d4e550d87676cb187d8047..6a2f3da766f31068cb05eab6fa9d60d68a0101d9 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
 (function(t){var e=/up|down|vertical/,i=/up|left|vertical|horizontal/;t.effects.effect.blind=function(s,n){var a,o,r,h=t(this),l=["position","top","bottom","left","right","height","width"],c=t.effects.setMode(h,s.mode||"hide"),u=s.direction||"up",d=e.test(u),p=d?"height":"width",f=d?"top":"left",m=i.test(u),g={},v="show"===c;h.parent().is(".ui-effects-wrapper")?t.effects.save(h.parent(),l):t.effects.save(h,l),h.show(),a=t.effects.createWrapper(h).css({overflow:"hidden"}),o=a[p](),r=parseFloat(a.css(f))||0,g[p]=v?o:0,m||(h.css(d?"bottom":"right",0).css(d?"top":"left","auto").css({position:"absolute"}),g[f]=v?r:o+r),v&&(a.css(p,0),m||a.css(f,r+o)),a.animate(g,{duration:s.duration,easing:s.easing,queue:!1,complete:function(){"hide"===c&&h.hide(),t.effects.restore(h,l),t.effects.removeWrapper(h),n()}})}})(jQuery);
\ No newline at end of file
index 05a74f6eb7ef4267d64d33fd75e29ad9cc0e44ce..2ed84892c0f45a3ec5f55052c8b91dc87ad9c402 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
 (function(t){t.effects.effect.bounce=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","height","width"],h=t.effects.setMode(o,e.mode||"effect"),l="hide"===h,c="show"===h,u=e.direction||"up",d=e.distance,p=e.times||5,f=2*p+(c||l?1:0),m=e.duration/f,g=e.easing,v="up"===u||"down"===u?"top":"left",_="up"===u||"left"===u,b=o.queue(),y=b.length;for((c||l)&&r.push("opacity"),t.effects.save(o,r),o.show(),t.effects.createWrapper(o),d||(d=o["top"===v?"outerHeight":"outerWidth"]()/3),c&&(a={opacity:1},a[v]=0,o.css("opacity",0).css(v,_?2*-d:2*d).animate(a,m,g)),l&&(d/=Math.pow(2,p-1)),a={},a[v]=0,s=0;p>s;s++)n={},n[v]=(_?"-=":"+=")+d,o.animate(n,m,g).animate(a,m,g),d=l?2*d:d/2;l&&(n={opacity:0},n[v]=(_?"-=":"+=")+d,o.animate(n,m,g)),o.queue(function(){l&&o.hide(),t.effects.restore(o,r),t.effects.removeWrapper(o),i()}),y>1&&b.splice.apply(b,[1,0].concat(b.splice(y,f+1))),o.dequeue()}})(jQuery);
\ No newline at end of file
index 5b15f8ef0ac9a9ef506e8cdd1b50c73604c03f5a..9eec0bd2ad1c953a48fba4e3fc1d5063513f1af0 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
 (function(t){t.effects.effect.clip=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","height","width"],h=t.effects.setMode(o,e.mode||"hide"),l="show"===h,c=e.direction||"vertical",u="vertical"===c,d=u?"height":"width",p=u?"top":"left",f={};t.effects.save(o,r),o.show(),s=t.effects.createWrapper(o).css({overflow:"hidden"}),n="IMG"===o[0].tagName?s:o,a=n[d](),l&&(n.css(d,0),n.css(p,a/2)),f[d]=l?a:0,f[p]=l?0:a/2,n.animate(f,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){l||o.hide(),t.effects.restore(o,r),t.effects.removeWrapper(o),i()}})}})(jQuery);
\ No newline at end of file
index 02d148a1619522f692247b3679691a0537aa1093..2fa57dad9c8f076554e0ed23c3519298befe880e 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
 (function(t){t.effects.effect.drop=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","opacity","height","width"],o=t.effects.setMode(n,e.mode||"hide"),r="show"===o,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h?"pos":"neg",u={opacity:r?1:0};t.effects.save(n,a),n.show(),t.effects.createWrapper(n),s=e.distance||n["top"===l?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(l,"pos"===c?-s:s),u[l]=(r?"pos"===c?"+=":"-=":"pos"===c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}})}})(jQuery);
\ No newline at end of file
index 096ff58f5927bc5565136b70526a3afc8c2f6db5..f61ee4efe3a4ab37880b64e79d7b13df1ee353c1 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
 (function(t){t.effects.effect.explode=function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),m||p.hide(),i()}var a,o,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=t.effects.setMode(p,e.mode||"hide"),m="show"===f,g=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/d),_=Math.ceil(p.outerHeight()/u),b=[];for(a=0;u>a;a++)for(h=g.top+a*_,c=a-(u-1)/2,o=0;d>o;o++)r=g.left+o*v,l=o-(d-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-o*v,top:-a*_}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:_,left:r+(m?l*v:0),top:h+(m?c*_:0),opacity:m?0:1}).animate({left:r+(m?0:l*v),top:h+(m?0:c*_),opacity:m?1:0},e.duration||500,e.easing,s)}})(jQuery);
\ No newline at end of file
index 09d3a0ec0453fee942669cc3fe550515faa2eaa7..0eb112c6b6b51489606f481d7b0d76a9d06a78f2 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
 (function(t){t.effects.effect.fade=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}})(jQuery);
\ No newline at end of file
index 6b323bcd3eb106d6dae1de667435ee0ce42f07eb..a150c830e85c406e79407d200f88546388538976 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
 (function(t){t.effects.effect.fold=function(e,i){var s,n,a=t(this),o=["position","top","bottom","left","right","height","width"],r=t.effects.setMode(a,e.mode||"hide"),h="show"===r,l="hide"===r,c=e.size||15,u=/([0-9]+)%/.exec(c),d=!!e.horizFirst,p=h!==d,f=p?["width","height"]:["height","width"],m=e.duration/2,g={},v={};t.effects.save(a,o),a.show(),s=t.effects.createWrapper(a).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],u&&(c=parseInt(u[1],10)/100*n[l?0:1]),h&&s.css(d?{height:0,width:c}:{height:c,width:0}),g[f[0]]=h?n[0]:c,v[f[1]]=h?n[1]:0,s.animate(g,m,e.easing).animate(v,m,e.easing,function(){l&&a.hide(),t.effects.restore(a,o),t.effects.removeWrapper(a),i()})}})(jQuery);
\ No newline at end of file
index 8aac9b31470050129f2ea0a0e7b2da145542eef6..feaf1d6dc5aebb258d5da08b994e6766caf74f65 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
 (function(t){t.effects.effect.highlight=function(e,i){var s=t(this),n=["backgroundImage","backgroundColor","opacity"],a=t.effects.setMode(s,e.mode||"show"),o={backgroundColor:s.css("backgroundColor")};"hide"===a&&(o.opacity=0),t.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(o,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===a&&s.hide(),t.effects.restore(s,n),i()}})}})(jQuery);
\ No newline at end of file
index 1338dfa979b0cbfa6660a7c6e2b84f2d83cce126..efe12b95295126d6d2b50875ebe22c60e7ad08ac 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
 (function(t){t.effects.effect.pulsate=function(e,i){var s,n=t(this),a=t.effects.setMode(n,e.mode||"show"),o="show"===a,r="hide"===a,h=o||"hide"===a,l=2*(e.times||5)+(h?1:0),c=e.duration/l,u=0,d=n.queue(),p=d.length;for((o||!n.is(":visible"))&&(n.css("opacity",0).show(),u=1),s=1;l>s;s++)n.animate({opacity:u},c,e.easing),u=1-u;n.animate({opacity:u},c,e.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&d.splice.apply(d,[1,0].concat(d.splice(p,l+1))),n.dequeue()}})(jQuery);
\ No newline at end of file
index 0be8b0f317c17292710a7e156df3d8794fe2986e..315dfb4bcb55f8841ac171558be1821d8655c237 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
 (function(t){t.effects.effect.puff=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"hide"),a="hide"===n,o=parseInt(e.percent,10)||150,r=o/100,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};t.extend(e,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:a?o:100,from:a?h:{height:h.height*r,width:h.width*r,outerHeight:h.outerHeight*r,outerWidth:h.outerWidth*r}}),s.effect(e)},t.effects.effect.scale=function(e,i){var s=t(this),n=t.extend(!0,{},e),a=t.effects.setMode(s,e.mode||"effect"),o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"hide"===a?0:100),r=e.direction||"both",h=e.origin,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},c={y:"horizontal"!==r?o/100:1,x:"vertical"!==r?o/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==a&&(n.origin=h||["middle","center"],n.restore=!0),n.from=e.from||("show"===a?{height:0,width:0,outerHeight:0,outerWidth:0}:l),n.to={height:l.height*c.y,width:l.width*c.x,outerHeight:l.outerHeight*c.y,outerWidth:l.outerWidth*c.x},n.fade&&("show"===a&&(n.from.opacity=0,n.to.opacity=1),"hide"===a&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},t.effects.effect.size=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],l=["width","height","overflow"],c=["fontSize"],u=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],d=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=t.effects.setMode(o,e.mode||"effect"),f=e.restore||"effect"!==p,m=e.scale||"both",g=e.origin||["middle","center"],v=o.css("position"),_=f?r:h,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&o.show(),s={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},"toggle"===e.mode&&"show"===p?(o.from=e.to||b,o.to=e.from||s):(o.from=e.from||("show"===p?b:s),o.to=e.to||("hide"===p?b:s)),a={from:{y:o.from.height/s.height,x:o.from.width/s.width},to:{y:o.to.height/s.height,x:o.to.width/s.width}},("box"===m||"both"===m)&&(a.from.y!==a.to.y&&(_=_.concat(u),o.from=t.effects.setTransition(o,u,a.from.y,o.from),o.to=t.effects.setTransition(o,u,a.to.y,o.to)),a.from.x!==a.to.x&&(_=_.concat(d),o.from=t.effects.setTransition(o,d,a.from.x,o.from),o.to=t.effects.setTransition(o,d,a.to.x,o.to))),("content"===m||"both"===m)&&a.from.y!==a.to.y&&(_=_.concat(c).concat(l),o.from=t.effects.setTransition(o,c,a.from.y,o.from),o.to=t.effects.setTransition(o,c,a.to.y,o.to)),t.effects.save(o,_),o.show(),t.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),g&&(n=t.effects.getBaseline(g,s),o.from.top=(s.outerHeight-o.outerHeight())*n.y,o.from.left=(s.outerWidth-o.outerWidth())*n.x,o.to.top=(s.outerHeight-o.to.outerHeight)*n.y,o.to.left=(s.outerWidth-o.to.outerWidth)*n.x),o.css(o.from),("content"===m||"both"===m)&&(u=u.concat(["marginTop","marginBottom"]).concat(c),d=d.concat(["marginLeft","marginRight"]),l=r.concat(u).concat(d),o.find("*[width]").each(function(){var i=t(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()};f&&t.effects.save(i,l),i.from={height:s.height*a.from.y,width:s.width*a.from.x,outerHeight:s.outerHeight*a.from.y,outerWidth:s.outerWidth*a.from.x},i.to={height:s.height*a.to.y,width:s.width*a.to.x,outerHeight:s.height*a.to.y,outerWidth:s.width*a.to.x},a.from.y!==a.to.y&&(i.from=t.effects.setTransition(i,u,a.from.y,i.from),i.to=t.effects.setTransition(i,u,a.to.y,i.to)),a.from.x!==a.to.x&&(i.from=t.effects.setTransition(i,d,a.from.x,i.from),i.to=t.effects.setTransition(i,d,a.to.x,i.to)),i.css(i.from),i.animate(i.to,e.duration,e.easing,function(){f&&t.effects.restore(i,l)})})),o.animate(o.to,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){0===o.to.opacity&&o.css("opacity",o.from.opacity),"hide"===p&&o.hide(),t.effects.restore(o,_),f||("static"===v?o.css({position:"relative",top:o.to.top,left:o.to.left}):t.each(["top","left"],function(t,e){o.css(e,function(e,i){var s=parseInt(i,10),n=t?o.to.left:o.to.top;return"auto"===i?n+"px":s+n+"px"})})),t.effects.removeWrapper(o),i()}})}})(jQuery);
\ No newline at end of file
index 8bfffec5f06869dae4163d60235d30679d71bd5c..1d251c20b3b529f5fe0e39d80cef7cba5f912c0b 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
 (function(t){t.effects.effect.shake=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","height","width"],o=t.effects.setMode(n,e.mode||"effect"),r=e.direction||"left",h=e.distance||20,l=e.times||3,c=2*l+1,u=Math.round(e.duration/c),d="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},m={},g={},v=n.queue(),_=v.length;for(t.effects.save(n,a),n.show(),t.effects.createWrapper(n),f[d]=(p?"-=":"+=")+h,m[d]=(p?"+=":"-=")+2*h,g[d]=(p?"-=":"+=")+2*h,n.animate(f,u,e.easing),s=1;l>s;s++)n.animate(m,u,e.easing).animate(g,u,e.easing);n.animate(m,u,e.easing).animate(f,u/2,e.easing).queue(function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}),_>1&&v.splice.apply(v,[1,0].concat(v.splice(_,c+1))),n.dequeue()}})(jQuery);
\ No newline at end of file
index b3de22e04f291f7435312722a3bd81a2ced2e35b..2bd40d8f0895a7609c5f609e2218430494e9e4ae 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
 (function(t){t.effects.effect.slide=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","width","height"],o=t.effects.setMode(n,e.mode||"show"),r="show"===o,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u={};t.effects.save(n,a),n.show(),s=e.distance||n["top"===l?"outerHeight":"outerWidth"](!0),t.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(l,c?isNaN(s)?"-"+s:-s:s),u[l]=(r?c?"+=":"-=":c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}})}})(jQuery);
\ No newline at end of file
index cec83690d85d46013ea7024a074d0ba8b16279b6..957f789160465e9f82f7012d98d3e95f37f46d12 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
 (function(t){t.effects.effect.transfer=function(e,i){var s=t(this),n=t(e.to),a="fixed"===n.css("position"),o=t("body"),r=a?o.scrollTop():0,h=a?o.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:a?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),i()})}})(jQuery);
\ No newline at end of file
index 50fbc7992bfbc51c7d396dee97410ce5b273bbd3..515ef0e64f4c218b8375fb35420aacbda9ac7b1d 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t,e){var i="ui-effects-";t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,a){var o,r=a.re.exec(i),h=r&&a.parse(r),l=a.space||"rgba";return h?(o=s[l](h),s[c[l].cache]=o[c[l].cache],n=s._rgba=o._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,a.transparent),s):a[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("<p>")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,o,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(o),o=e);var u=this,d=t.type(n),p=this._rgba=[];return o!==e&&(n=[n,o,r,h],d="array"),"string"===d?this.parse(s(n)||a._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var a=s.cache;f(s.props,function(t,e){if(!u[a]&&s.to){if("alpha"===t||null==n[t])return;u[a]=s.to(u._rgba)}u[a][e.idx]=i(n[t],e,!0)}),u[a]&&0>t.inArray(null,u[a].slice(0,3))&&(u[a][3]=1,s.from&&(u._rgba=s.from(u[a])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),a=c[n],o=0===this.alpha()?l("transparent"):this,r=o[a.cache]||a.to(o._rgba),h=r.slice();return s=s[a.cache],f(a.props,function(t,n){var a=n.idx,o=r[a],l=s[a],c=u[n.type]||{};null!==l&&(null===o?h[a]=l:(c.mod&&(l-o>c.mod/2?o+=c.mod:o-l>c.mod/2&&(o-=c.mod)),h[a]=i((l-o)*e+o,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,a=t[2]/255,o=t[3],r=Math.max(s,n,a),h=Math.min(s,n,a),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-a)/l+360:n===r?60*(a-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==o?1:o]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],a=t[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,e+1/3)),Math.round(255*n(r,o,e)),Math.round(255*n(r,o,e-1/3)),a]},f(c,function(s,n){var a=n.props,o=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[o]&&(this[o]=h(this._rgba)),s===e)return this[o].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[o].slice();return f(a,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[o]=d,n):l(d)},f(a,function(e,i){l.fn[e]||(l.fn[e]=function(n){var a,o=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===o?c:("function"===o&&(n=n.call(this,c),o=t.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=c+parseFloat(a[2])*("+"===a[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var a,o,r="";if("transparent"!==n&&("string"!==t.type(n)||(a=s(n)))){if(n=l(a||n),!d.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&o&&o.style;)try{r=t.css(o,"backgroundColor"),o=o.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(o),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},a=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function s(e,i){var s,n,o={};for(s in i)n=i[s],e[s]!==n&&(a[s]||(t.fx.step[s]||!isNaN(parseFloat(n)))&&(o[s]=n));return o}var n=["add","remove","toggle"],a={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(jQuery.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(e,a,o,r){var h=t.speed(a,o,r);return this.queue(function(){var a,o=t(this),r=o.attr("class")||"",l=h.children?o.find("*").addBack():o;l=l.map(function(){var e=t(this);return{el:e,start:i(this)}}),a=function(){t.each(n,function(t,i){e[i]&&o[i+"Class"](e[i])})},a(),l=l.map(function(){return this.end=i(this.el[0]),this.diff=s(this.start,this.end),this}),o.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){a(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(o[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,a){return s?t.effects.animateClass.call(this,{add:i},s,n,a):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,a){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,a):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(i){return function(s,n,a,o,r){return"boolean"==typeof n||n===e?a?t.effects.animateClass.call(this,n?{add:s}:{remove:s},a,o,r):i.apply(this,arguments):t.effects.animateClass.call(this,{toggle:s},n,a,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,a){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,a)}})}(),function(){function s(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function n(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}t.extend(t.effects,{version:"1.10.3",save:function(t,e){for(var s=0;e.length>s;s++)null!==e[s]&&t.data(i+e[s],t[0].style[e[s]])},restore:function(t,s){var n,a;for(a=0;s.length>a;a++)null!==s[a]&&(n=t.data(i+s[a]),n===e&&(n=""),t.css(s[a],n))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return e.wrap(s),(e[0]===a||t.contains(e[0],a))&&t(a).focus(),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).focus()),e},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var a=e.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),t.fn.extend({effect:function(){function e(e){function s(){t.isFunction(a)&&a.call(n[0]),t.isFunction(e)&&e()}var n=t(this),a=i.complete,r=i.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),s()):o.call(n[0],i,s)}var i=s.apply(this,arguments),n=i.mode,a=i.queue,o=t.effects.effect[i.effect];return t.fx.off||!o?n?this[n](i.duration,i.complete):this.each(function(){i.complete&&i.complete.call(this)}):a===!1?this.each(e):this.queue(a||"fx",e)},show:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="show",this.effect.call(this,i)}}(t.fn.show),hide:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="hide",this.effect.call(this,i)}}(t.fn.hide),toggle:function(t){return function(e){if(n(e)||"boolean"==typeof e)return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="toggle",this.effect.call(this,i)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s}})}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}()})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(t,e){var i="ui-effects-";t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,a){var o,r=a.re.exec(i),h=r&&a.parse(r),l=a.space||"rgba";return h?(o=s[l](h),s[c[l].cache]=o[c[l].cache],n=s._rgba=o._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,a.transparent),s):a[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("<p>")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,o,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(o),o=e);var u=this,d=t.type(n),p=this._rgba=[];return o!==e&&(n=[n,o,r,h],d="array"),"string"===d?this.parse(s(n)||a._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var a=s.cache;f(s.props,function(t,e){if(!u[a]&&s.to){if("alpha"===t||null==n[t])return;u[a]=s.to(u._rgba)}u[a][e.idx]=i(n[t],e,!0)}),u[a]&&0>t.inArray(null,u[a].slice(0,3))&&(u[a][3]=1,s.from&&(u._rgba=s.from(u[a])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),a=c[n],o=0===this.alpha()?l("transparent"):this,r=o[a.cache]||a.to(o._rgba),h=r.slice();return s=s[a.cache],f(a.props,function(t,n){var a=n.idx,o=r[a],l=s[a],c=u[n.type]||{};null!==l&&(null===o?h[a]=l:(c.mod&&(l-o>c.mod/2?o+=c.mod:o-l>c.mod/2&&(o-=c.mod)),h[a]=i((l-o)*e+o,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,a=t[2]/255,o=t[3],r=Math.max(s,n,a),h=Math.min(s,n,a),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-a)/l+360:n===r?60*(a-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==o?1:o]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],a=t[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,e+1/3)),Math.round(255*n(r,o,e)),Math.round(255*n(r,o,e-1/3)),a]},f(c,function(s,n){var a=n.props,o=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[o]&&(this[o]=h(this._rgba)),s===e)return this[o].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[o].slice();return f(a,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[o]=d,n):l(d)},f(a,function(e,i){l.fn[e]||(l.fn[e]=function(n){var a,o=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===o?c:("function"===o&&(n=n.call(this,c),o=t.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=c+parseFloat(a[2])*("+"===a[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var a,o,r="";if("transparent"!==n&&("string"!==t.type(n)||(a=s(n)))){if(n=l(a||n),!d.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&o&&o.style;)try{r=t.css(o,"backgroundColor"),o=o.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(o),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},a=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function s(e,i){var s,n,o={};for(s in i)n=i[s],e[s]!==n&&(a[s]||(t.fx.step[s]||!isNaN(parseFloat(n)))&&(o[s]=n));return o}var n=["add","remove","toggle"],a={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(jQuery.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(e,a,o,r){var h=t.speed(a,o,r);return this.queue(function(){var a,o=t(this),r=o.attr("class")||"",l=h.children?o.find("*").addBack():o;l=l.map(function(){var e=t(this);return{el:e,start:i(this)}}),a=function(){t.each(n,function(t,i){e[i]&&o[i+"Class"](e[i])})},a(),l=l.map(function(){return this.end=i(this.el[0]),this.diff=s(this.start,this.end),this}),o.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){a(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(o[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,a){return s?t.effects.animateClass.call(this,{add:i},s,n,a):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,a){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,a):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(i){return function(s,n,a,o,r){return"boolean"==typeof n||n===e?a?t.effects.animateClass.call(this,n?{add:s}:{remove:s},a,o,r):i.apply(this,arguments):t.effects.animateClass.call(this,{toggle:s},n,a,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,a){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,a)}})}(),function(){function s(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function n(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}t.extend(t.effects,{version:"1.10.4",save:function(t,e){for(var s=0;e.length>s;s++)null!==e[s]&&t.data(i+e[s],t[0].style[e[s]])},restore:function(t,s){var n,a;for(a=0;s.length>a;a++)null!==s[a]&&(n=t.data(i+s[a]),n===e&&(n=""),t.css(s[a],n))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return e.wrap(s),(e[0]===a||t.contains(e[0],a))&&t(a).focus(),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).focus()),e},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var a=e.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),t.fn.extend({effect:function(){function e(e){function s(){t.isFunction(a)&&a.call(n[0]),t.isFunction(e)&&e()}var n=t(this),a=i.complete,r=i.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),s()):o.call(n[0],i,s)}var i=s.apply(this,arguments),n=i.mode,a=i.queue,o=t.effects.effect[i.effect];return t.fx.off||!o?n?this[n](i.duration,i.complete):this.each(function(){i.complete&&i.complete.call(this)}):a===!1?this.each(e):this.queue(a||"fx",e)},show:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="show",this.effect.call(this,i)}}(t.fn.show),hide:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="hide",this.effect.call(this,i)}}(t.fn.hide),toggle:function(t){return function(e){if(n(e)||"boolean"==typeof e)return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="toggle",this.effect.call(this,i)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s}})}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}()})(jQuery);
\ No newline at end of file
index 113d53fb1c00aa091099e74705c32b045ab76d8a..c691c85e6ad4ae4c231650f8abb0e2c64013e8b6 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t){t.widget("ui.menu",{version:"1.10.3",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,t.proxy(function(t){this.options.disabled&&t.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(t){t.preventDefault()},"click .ui-state-disabled > a":function(t){t.preventDefault()},"click .ui-menu-item:has(a)":function(e){var i=t(e.target).closest(".ui-menu-item");!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.mouseHandled=!0,this.select(e),i.has(".ui-menu").length?this.expand(e):this.element.is(":focus")||(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){var i=t(e.currentTarget);i.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(e,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.children(".ui-menu-item").eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){t.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){t(e.target).closest(".ui-menu").length||this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var e=t(this);e.data("ui-menu-submenu-carat")&&e.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(e){function i(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,n,a,o,r,h=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:h=!1,n=this.previousFilter||"",a=String.fromCharCode(e.keyCode),o=!1,clearTimeout(this.filterTimer),a===n?o=!0:a=n+a,r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())}),s=o&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(a=String.fromCharCode(e.keyCode),r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())})),s.length?(this.focus(e,s),s.length>1?(this.previousFilter=a,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}h&&e.preventDefault()},_activate:function(t){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i=this.options.icons.submenu,s=this.element.find(this.options.menus);s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),s=e.prev("a"),n=t("<span>").addClass("ui-menu-icon ui-icon "+i).data("ui-menu-submenu-carat",!0);s.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",s.attr("id"))}),e=s.add(this.element),e.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),e.children(":not(.ui-menu-item)").each(function(){var e=t(this);/[^\-\u2014\u2013\s]/.test(e.text())||e.addClass("ui-widget-content ui-menu-divider")}),e.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){"icons"===t&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(e.submenu),this._super(t,e)},focus:function(t,e){var i,s;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=e.height(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",t,{item:this.active}))},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.children(".ui-menu-item")[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())),undefined):(this.next(e),undefined)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item").first())),undefined):(this.next(e),undefined)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(t){t.widget("ui.menu",{version:"1.10.4",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,t.proxy(function(t){this.options.disabled&&t.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(t){t.preventDefault()},"click .ui-state-disabled > a":function(t){t.preventDefault()},"click .ui-menu-item:has(a)":function(e){var i=t(e.target).closest(".ui-menu-item");!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&t(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){var i=t(e.currentTarget);i.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(e,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.children(".ui-menu-item").eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){t.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){t(e.target).closest(".ui-menu").length||this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var e=t(this);e.data("ui-menu-submenu-carat")&&e.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(e){function i(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,n,a,o,r,h=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:h=!1,n=this.previousFilter||"",a=String.fromCharCode(e.keyCode),o=!1,clearTimeout(this.filterTimer),a===n?o=!0:a=n+a,r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())}),s=o&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(a=String.fromCharCode(e.keyCode),r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())})),s.length?(this.focus(e,s),s.length>1?(this.previousFilter=a,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}h&&e.preventDefault()},_activate:function(t){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i=this.options.icons.submenu,s=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),s=e.prev("a"),n=t("<span>").addClass("ui-menu-icon ui-icon "+i).data("ui-menu-submenu-carat",!0);s.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",s.attr("id"))}),e=s.add(this.element),e.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),e.children(":not(.ui-menu-item)").each(function(){var e=t(this);/[^\-\u2014\u2013\s]/.test(e.text())||e.addClass("ui-widget-content ui-menu-divider")}),e.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){"icons"===t&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(e.submenu),this._super(t,e)},focus:function(t,e){var i,s;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=e.height(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",t,{item:this.active}))},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.children(".ui-menu-item")[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())),undefined):(this.next(e),undefined)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item").first())),undefined):(this.next(e),undefined)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)}})})(jQuery);
\ No newline at end of file
index b7361fb7a909a6562a43e47b4598aca2b0abc9ea..55fa50eba8c56d4a274ac0399bd9714c9e78bd7b 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(e){var t=!1;e(document).mouseup(function(){t=!1}),e.widget("ui.mouse",{version:"1.10.3",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,a="string"==typeof this.options.cancel&&i.target.nodeName?e(i.target).closest(this.options.cancel).length:!1;return n&&!a&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0)):!0}},_mouseMove:function(t){return e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button?this._mouseUp(t):this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(e){var t=!1;e(document).mouseup(function(){t=!1}),e.widget("ui.mouse",{version:"1.10.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,a="string"==typeof this.options.cancel&&i.target.nodeName?e(i.target).closest(this.options.cancel).length:!1;return n&&!a&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0)):!0}},_mouseMove:function(t){return e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button?this._mouseUp(t):this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);
\ No newline at end of file
index 9bd2ecd47d0b22c014a4105132840fc2160f0e9b..c751281e9d6df6514ce1ee98dc597662653a8e8e 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t,e){function i(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function s(e,i){return parseInt(t.css(e,i),10)||0}function n(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}t.ui=t.ui||{};var a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;t.position={scrollbarWidth:function(){if(a!==e)return a;var i,s,n=t("<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),s=o.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),a=i-s},getScrollInfo:function(e){var i=e.isWindow?"":e.element.css("overflow-x"),s=e.isWindow?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,a="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:a?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]);return{element:i,isWindow:s,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s?i.width():i.outerWidth(),height:s?i.height():i.outerHeight()}}},t.fn.position=function(e){if(!e||!e.of)return f.apply(this,arguments);e=t.extend({},e);var a,p,m,g,v,b,_=t(e.of),y=t.position.getWithinInfo(e.within),w=t.position.getScrollInfo(y),x=(e.collision||"flip").split(" "),k={};return b=n(_),_[0].preventDefault&&(e.at="left top"),p=b.width,m=b.height,g=b.offset,v=t.extend({},g),t.each(["my","at"],function(){var t,i,s=(e[this]||"").split(" ");1===s.length&&(s=l.test(s[0])?s.concat(["center"]):c.test(s[0])?["center"].concat(s):["center","center"]),s[0]=l.test(s[0])?s[0]:"center",s[1]=c.test(s[1])?s[1]:"center",t=u.exec(s[0]),i=u.exec(s[1]),k[this]=[t?t[0]:0,i?i[0]:0],e[this]=[d.exec(s[0])[0],d.exec(s[1])[0]]}),1===x.length&&(x[1]=x[0]),"right"===e.at[0]?v.left+=p:"center"===e.at[0]&&(v.left+=p/2),"bottom"===e.at[1]?v.top+=m:"center"===e.at[1]&&(v.top+=m/2),a=i(k.at,p,m),v.left+=a[0],v.top+=a[1],this.each(function(){var n,l,c=t(this),u=c.outerWidth(),d=c.outerHeight(),f=s(this,"marginLeft"),b=s(this,"marginTop"),D=u+f+s(this,"marginRight")+w.width,T=d+b+s(this,"marginBottom")+w.height,C=t.extend({},v),M=i(k.my,c.outerWidth(),c.outerHeight());"right"===e.my[0]?C.left-=u:"center"===e.my[0]&&(C.left-=u/2),"bottom"===e.my[1]?C.top-=d:"center"===e.my[1]&&(C.top-=d/2),C.left+=M[0],C.top+=M[1],t.support.offsetFractions||(C.left=h(C.left),C.top=h(C.top)),n={marginLeft:f,marginTop:b},t.each(["left","top"],function(i,s){t.ui.position[x[i]]&&t.ui.position[x[i]][s](C,{targetWidth:p,targetHeight:m,elemWidth:u,elemHeight:d,collisionPosition:n,collisionWidth:D,collisionHeight:T,offset:[a[0]+M[0],a[1]+M[1]],my:e.my,at:e.at,within:y,elem:c})}),e.using&&(l=function(t){var i=g.left-C.left,s=i+p-u,n=g.top-C.top,a=n+m-d,h={target:{element:_,left:g.left,top:g.top,width:p,height:m},element:{element:c,left:C.left,top:C.top,width:u,height:d},horizontal:0>s?"left":i>0?"right":"center",vertical:0>a?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(h.horizontal="center"),d>m&&m>r(n+a)&&(h.vertical="middle"),h.important=o(r(i),r(s))>o(r(n),r(a))?"horizontal":"vertical",e.using.call(this,t,h)}),c.offset(t.extend(C,{using:l}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-o-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-o-a,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-o-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-o-a,t.top+p+f+m>c&&(0>s||r(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,t.top+p+f+m>u&&(i>0||u>r(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i,s,n,a,o=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(o?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},o&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(a in s)e.style[a]=s[a];e.appendChild(r),i=o||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(t,e){function i(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function s(e,i){return parseInt(t.css(e,i),10)||0}function n(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}t.ui=t.ui||{};var a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;t.position={scrollbarWidth:function(){if(a!==e)return a;var i,s,n=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),s=o.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),a=i-s},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,a="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:a?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:n,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s?i.width():i.outerWidth(),height:s?i.height():i.outerHeight()}}},t.fn.position=function(e){if(!e||!e.of)return f.apply(this,arguments);e=t.extend({},e);var a,p,m,g,v,b,_=t(e.of),y=t.position.getWithinInfo(e.within),w=t.position.getScrollInfo(y),x=(e.collision||"flip").split(" "),k={};return b=n(_),_[0].preventDefault&&(e.at="left top"),p=b.width,m=b.height,g=b.offset,v=t.extend({},g),t.each(["my","at"],function(){var t,i,s=(e[this]||"").split(" ");1===s.length&&(s=l.test(s[0])?s.concat(["center"]):c.test(s[0])?["center"].concat(s):["center","center"]),s[0]=l.test(s[0])?s[0]:"center",s[1]=c.test(s[1])?s[1]:"center",t=u.exec(s[0]),i=u.exec(s[1]),k[this]=[t?t[0]:0,i?i[0]:0],e[this]=[d.exec(s[0])[0],d.exec(s[1])[0]]}),1===x.length&&(x[1]=x[0]),"right"===e.at[0]?v.left+=p:"center"===e.at[0]&&(v.left+=p/2),"bottom"===e.at[1]?v.top+=m:"center"===e.at[1]&&(v.top+=m/2),a=i(k.at,p,m),v.left+=a[0],v.top+=a[1],this.each(function(){var n,l,c=t(this),u=c.outerWidth(),d=c.outerHeight(),f=s(this,"marginLeft"),b=s(this,"marginTop"),D=u+f+s(this,"marginRight")+w.width,T=d+b+s(this,"marginBottom")+w.height,C=t.extend({},v),M=i(k.my,c.outerWidth(),c.outerHeight());"right"===e.my[0]?C.left-=u:"center"===e.my[0]&&(C.left-=u/2),"bottom"===e.my[1]?C.top-=d:"center"===e.my[1]&&(C.top-=d/2),C.left+=M[0],C.top+=M[1],t.support.offsetFractions||(C.left=h(C.left),C.top=h(C.top)),n={marginLeft:f,marginTop:b},t.each(["left","top"],function(i,s){t.ui.position[x[i]]&&t.ui.position[x[i]][s](C,{targetWidth:p,targetHeight:m,elemWidth:u,elemHeight:d,collisionPosition:n,collisionWidth:D,collisionHeight:T,offset:[a[0]+M[0],a[1]+M[1]],my:e.my,at:e.at,within:y,elem:c})}),e.using&&(l=function(t){var i=g.left-C.left,s=i+p-u,n=g.top-C.top,a=n+m-d,h={target:{element:_,left:g.left,top:g.top,width:p,height:m},element:{element:c,left:C.left,top:C.top,width:u,height:d},horizontal:0>s?"left":i>0?"right":"center",vertical:0>a?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(h.horizontal="center"),d>m&&m>r(n+a)&&(h.vertical="middle"),h.important=o(r(i),r(s))>o(r(n),r(a))?"horizontal":"vertical",e.using.call(this,t,h)}),c.offset(t.extend(C,{using:l}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-o-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-o-a,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-o-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-o-a,t.top+p+f+m>c&&(0>s||r(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,t.top+p+f+m>u&&(i>0||u>r(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i,s,n,a,o=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(o?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},o&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(a in s)e.style[a]=s[a];e.appendChild(r),i=o||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()})(jQuery);
\ No newline at end of file
index 432ec0260a13a33c6ac5500682f83805eac3efb8..0303a44f2e36b0a42ac3083f972e28e99709fd80 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t,e){t.widget("ui.progressbar",{version:"1.10.3",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=t("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(t){return t===e?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),e)},_constrainedValue:function(t){return t===e&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(t,e){t.widget("ui.progressbar",{version:"1.10.4",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=t("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(t){return t===e?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),e)},_constrainedValue:function(t){return t===e&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}})})(jQuery);
\ No newline at end of file
index 1c29259e4f37dcf77d325ad1d099a963c8b49aad..e97f7040c092db6d23516aff80af5c84915b9d64 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(e){function t(e){return parseInt(e,10)||0}function i(e){return!isNaN(parseInt(e,10))}e.widget("ui.resizable",e.ui.mouse,{version:"1.10.3",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("<div class='ui-resizable-handle "+a+"'></div>"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=e(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),e(this.handles[i]).length},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(i){var s,n,a,o=this.options,r=this.element.position(),h=this.element;return this.resizing=!0,/absolute/.test(h.css("position"))?h.css({position:"absolute",top:h.css("top"),left:h.css("left")}):h.is(".ui-draggable")&&h.css({position:"absolute",top:r.top,left:r.left}),this._renderProxy(),s=t(this.helper.css("left")),n=t(this.helper.css("top")),o.containment&&(s+=e(o.containment).scrollLeft()||0,n+=e(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:s,top:n},this.size=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalPosition={left:s,top:n},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,a=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===a?this.axis+"-resize":a),h.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(t){var i,s=this.helper,n={},a=this.originalMousePosition,o=this.axis,r=this.position.top,h=this.position.left,l=this.size.width,u=this.size.height,c=t.pageX-a.left||0,d=t.pageY-a.top||0,p=this._change[o];return p?(i=p.apply(this,[t,c,d]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),this.position.top!==r&&(n.top=this.position.top+"px"),this.position.left!==h&&(n.left=this.position.left+"px"),this.size.width!==l&&(n.width=this.size.width+"px"),this.size.height!==u&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(n)||this._trigger("resize",t,this.ui()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&e.ui.hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(e){var t,s,n,a,o,r=this.options;o={minWidth:i(r.minWidth)?r.minWidth:0,maxWidth:i(r.maxWidth)?r.maxWidth:1/0,minHeight:i(r.minHeight)?r.minHeight:0,maxHeight:i(r.maxHeight)?r.maxHeight:1/0},(this._aspectRatio||e)&&(t=o.minHeight*this.aspectRatio,n=o.minWidth/this.aspectRatio,s=o.maxHeight*this.aspectRatio,a=o.maxWidth/this.aspectRatio,t>o.minWidth&&(o.minWidth=t),n>o.minHeight&&(o.minHeight=n),o.maxWidth>s&&(o.maxWidth=s),o.maxHeight>a&&(o.maxHeight=a)),this._vBoundaries=o},_updateCache:function(e){this.offset=this.helper.offset(),i(e.left)&&(this.position.left=e.left),i(e.top)&&(this.position.top=e.top),i(e.height)&&(this.size.height=e.height),i(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,s=this.size,n=this.axis;return i(e.height)?e.width=e.height*this.aspectRatio:i(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===n&&(e.left=t.left+(s.width-e.width),e.top=null),"nw"===n&&(e.top=t.top+(s.height-e.height),e.left=t.left+(s.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,s=this.axis,n=i(e.width)&&t.maxWidth&&t.maxWidth<e.width,a=i(e.height)&&t.maxHeight&&t.maxHeight<e.height,o=i(e.width)&&t.minWidth&&t.minWidth>e.width,r=i(e.height)&&t.minHeight&&t.minHeight>e.height,h=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,u=/sw|nw|w/.test(s),c=/nw|ne|n/.test(s);return o&&(e.width=t.minWidth),r&&(e.height=t.minHeight),n&&(e.width=t.maxWidth),a&&(e.height=t.maxHeight),o&&u&&(e.left=h-t.minWidth),n&&u&&(e.left=h-t.maxWidth),r&&c&&(e.top=l-t.minHeight),a&&c&&(e.top=l-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var e,t,i,s,n,a=this.helper||this.element;for(e=0;this._proportionallyResizeElements.length>e;e++){if(n=this._proportionallyResizeElements[e],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],t=0;i.length>t;t++)this.borderDif[t]=(parseInt(i[t],10)||0)+(parseInt(s[t],10)||0);n.css({height:a.height()-this.borderDif[0]-this.borderDif[2]||0,width:a.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).data("ui-resizable"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&e.ui.hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var i,s,n,a,o,r,h,l=e(this).data("ui-resizable"),u=l.options,c=l.element,d=u.containment,p=d instanceof e?d.get(0):/parent/.test(d)?c.parent().get(0):d;p&&(l.containerElement=e(p),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(i=e(p),s=[],e(["Top","Right","Left","Bottom"]).each(function(e,n){s[e]=t(i.css("padding"+n))}),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=l.containerOffset,a=l.containerSize.height,o=l.containerSize.width,r=e.ui.hasScroll(p,"left")?p.scrollWidth:o,h=e.ui.hasScroll(p)?p.scrollHeight:a,l.parentData={element:p,left:n.left,top:n.top,width:r,height:h}))},resize:function(t){var i,s,n,a,o=e(this).data("ui-resizable"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,c={top:0,left:0},d=o.containerElement;d[0]!==document&&/static/.test(d.css("position"))&&(c=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-c.left),u&&(o.size.height=o.size.width/o.aspectRatio),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio),o.position.top=o._helper?h.top:0),o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top,i=Math.abs((o._helper?o.offset.left-c.left:o.offset.left-c.left)+o.sizeDiff.width),s=Math.abs((o._helper?o.offset.top-c.top:o.offset.top-h.top)+o.sizeDiff.height),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a&&(i-=o.parentData.left),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio))},stop:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=function(t){e(t).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):e.each(i.alsoResize,function(e){s(e)})},resize:function(t,i){var s=e(this).data("ui-resizable"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0},h=function(t,s){e(t).each(function(){var t=e(this),n=e(this).data("ui-resizable-alsoresize"),a={},o=s&&s.length?s:t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,function(e,t){var i=(n[t]||0)+(r[t]||0);i&&i>=0&&(a[t]=i||null)}),t.css(a)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):e.each(n.alsoResize,function(e,t){h(e,t)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).data("ui-resizable");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).data("ui-resizable");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size,n=t.originalSize,a=t.originalPosition,o=t.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,u=Math.round((s.width-n.width)/h)*h,c=Math.round((s.height-n.height)/l)*l,d=n.width+u,p=n.height+c,f=i.maxWidth&&d>i.maxWidth,m=i.maxHeight&&p>i.maxHeight,g=i.minWidth&&i.minWidth>d,v=i.minHeight&&i.minHeight>p;i.grid=r,g&&(d+=h),v&&(p+=l),f&&(d-=h),m&&(p-=l),/^(se|s|e)$/.test(o)?(t.size.width=d,t.size.height=p):/^(ne)$/.test(o)?(t.size.width=d,t.size.height=p,t.position.top=a.top-c):/^(sw)$/.test(o)?(t.size.width=d,t.size.height=p,t.position.left=a.left-u):(t.size.width=d,t.size.height=p,t.position.top=a.top-c,t.position.left=a.left-u)}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(e){function t(e){return parseInt(e,10)||0}function i(e){return!isNaN(parseInt(e,10))}e.widget("ui.resizable",e.ui.mouse,{version:"1.10.4",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("<div class='ui-resizable-handle "+a+"'></div>"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=e(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),e(this.handles[i]).length},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(i){var s,n,a,o=this.options,r=this.element.position(),h=this.element;return this.resizing=!0,/absolute/.test(h.css("position"))?h.css({position:"absolute",top:h.css("top"),left:h.css("left")}):h.is(".ui-draggable")&&h.css({position:"absolute",top:r.top,left:r.left}),this._renderProxy(),s=t(this.helper.css("left")),n=t(this.helper.css("top")),o.containment&&(s+=e(o.containment).scrollLeft()||0,n+=e(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:s,top:n},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalPosition={left:s,top:n},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,a=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===a?this.axis+"-resize":a),h.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(t){var i,s=this.helper,n={},a=this.originalMousePosition,o=this.axis,r=this.position.top,h=this.position.left,l=this.size.width,u=this.size.height,c=t.pageX-a.left||0,d=t.pageY-a.top||0,p=this._change[o];return p?(i=p.apply(this,[t,c,d]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),this.position.top!==r&&(n.top=this.position.top+"px"),this.position.left!==h&&(n.left=this.position.left+"px"),this.size.width!==l&&(n.width=this.size.width+"px"),this.size.height!==u&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(n)||this._trigger("resize",t,this.ui()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&e.ui.hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(e){var t,s,n,a,o,r=this.options;o={minWidth:i(r.minWidth)?r.minWidth:0,maxWidth:i(r.maxWidth)?r.maxWidth:1/0,minHeight:i(r.minHeight)?r.minHeight:0,maxHeight:i(r.maxHeight)?r.maxHeight:1/0},(this._aspectRatio||e)&&(t=o.minHeight*this.aspectRatio,n=o.minWidth/this.aspectRatio,s=o.maxHeight*this.aspectRatio,a=o.maxWidth/this.aspectRatio,t>o.minWidth&&(o.minWidth=t),n>o.minHeight&&(o.minHeight=n),o.maxWidth>s&&(o.maxWidth=s),o.maxHeight>a&&(o.maxHeight=a)),this._vBoundaries=o},_updateCache:function(e){this.offset=this.helper.offset(),i(e.left)&&(this.position.left=e.left),i(e.top)&&(this.position.top=e.top),i(e.height)&&(this.size.height=e.height),i(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,s=this.size,n=this.axis;return i(e.height)?e.width=e.height*this.aspectRatio:i(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===n&&(e.left=t.left+(s.width-e.width),e.top=null),"nw"===n&&(e.top=t.top+(s.height-e.height),e.left=t.left+(s.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,s=this.axis,n=i(e.width)&&t.maxWidth&&t.maxWidth<e.width,a=i(e.height)&&t.maxHeight&&t.maxHeight<e.height,o=i(e.width)&&t.minWidth&&t.minWidth>e.width,r=i(e.height)&&t.minHeight&&t.minHeight>e.height,h=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,u=/sw|nw|w/.test(s),c=/nw|ne|n/.test(s);return o&&(e.width=t.minWidth),r&&(e.height=t.minHeight),n&&(e.width=t.maxWidth),a&&(e.height=t.maxHeight),o&&u&&(e.left=h-t.minWidth),n&&u&&(e.left=h-t.maxWidth),r&&c&&(e.top=l-t.minHeight),a&&c&&(e.top=l-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var e,t,i,s,n,a=this.helper||this.element;for(e=0;this._proportionallyResizeElements.length>e;e++){if(n=this._proportionallyResizeElements[e],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],t=0;i.length>t;t++)this.borderDif[t]=(parseInt(i[t],10)||0)+(parseInt(s[t],10)||0);n.css({height:a.height()-this.borderDif[0]-this.borderDif[2]||0,width:a.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).data("ui-resizable"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&e.ui.hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var i,s,n,a,o,r,h,l=e(this).data("ui-resizable"),u=l.options,c=l.element,d=u.containment,p=d instanceof e?d.get(0):/parent/.test(d)?c.parent().get(0):d;p&&(l.containerElement=e(p),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(i=e(p),s=[],e(["Top","Right","Left","Bottom"]).each(function(e,n){s[e]=t(i.css("padding"+n))}),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=l.containerOffset,a=l.containerSize.height,o=l.containerSize.width,r=e.ui.hasScroll(p,"left")?p.scrollWidth:o,h=e.ui.hasScroll(p)?p.scrollHeight:a,l.parentData={element:p,left:n.left,top:n.top,width:r,height:h}))},resize:function(t){var i,s,n,a,o=e(this).data("ui-resizable"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,c={top:0,left:0},d=o.containerElement;d[0]!==document&&/static/.test(d.css("position"))&&(c=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-c.left),u&&(o.size.height=o.size.width/o.aspectRatio),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio),o.position.top=o._helper?h.top:0),o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top,i=Math.abs((o._helper?o.offset.left-c.left:o.offset.left-c.left)+o.sizeDiff.width),s=Math.abs((o._helper?o.offset.top-c.top:o.offset.top-h.top)+o.sizeDiff.height),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a&&(i-=Math.abs(o.parentData.left)),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio))},stop:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=function(t){e(t).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):e.each(i.alsoResize,function(e){s(e)})},resize:function(t,i){var s=e(this).data("ui-resizable"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0},h=function(t,s){e(t).each(function(){var t=e(this),n=e(this).data("ui-resizable-alsoresize"),a={},o=s&&s.length?s:t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,function(e,t){var i=(n[t]||0)+(r[t]||0);i&&i>=0&&(a[t]=i||null)}),t.css(a)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):e.each(n.alsoResize,function(e,t){h(e,t)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).data("ui-resizable");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).data("ui-resizable");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size,n=t.originalSize,a=t.originalPosition,o=t.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,u=Math.round((s.width-n.width)/h)*h,c=Math.round((s.height-n.height)/l)*l,d=n.width+u,p=n.height+c,f=i.maxWidth&&d>i.maxWidth,m=i.maxHeight&&p>i.maxHeight,g=i.minWidth&&i.minWidth>d,v=i.minHeight&&i.minHeight>p;i.grid=r,g&&(d+=h),v&&(p+=l),f&&(d-=h),m&&(p-=l),/^(se|s|e)$/.test(o)?(t.size.width=d,t.size.height=p):/^(ne)$/.test(o)?(t.size.width=d,t.size.height=p,t.position.top=a.top-c):/^(sw)$/.test(o)?(t.size.width=d,t.size.height=p,t.position.left=a.left-u):(p-l>0?(t.size.height=p,t.position.top=a.top-c):(t.size.height=l,t.position.top=a.top+n.height-l),d-h>0?(t.size.width=d,t.position.left=a.left-u):(t.size.width=h,t.position.left=a.left+n.width-h))}})})(jQuery);
\ No newline at end of file
index 2ac1c60c7ab86c24eb37b1557985c99d4344109c..49dc341e173fe42b828193bfac634dc5214b08d5 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(e){e.widget("ui.selectable",e.ui.mouse,{version:"1.10.3",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t=e(i.options.filter,i.element[0]),t.addClass("ui-selectee"),t.each(function(){var t=e(this),i=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=t.addClass("ui-selectee"),this._mouseInit(),this.helper=e("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var i=this,s=this.options;this.opos=[t.pageX,t.pageY],this.options.disabled||(this.selectees=e(s.filter,this.element[0]),this._trigger("start",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=e.data(this,"selectable-item");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",t,{unselecting:s.element}))}),e(t.target).parents().addBack().each(function(){var s,n=e.data(this,"selectable-item");return n?(s=!t.metaKey&&!t.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",t,{selecting:n.element}):i._trigger("unselecting",t,{unselecting:n.element}),!1):undefined}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=t.pageX,h=t.pageY;return a>r&&(i=r,r=a,a=i),o>h&&(i=h,h=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:h-o}),this.selectees.each(function(){var i=e.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||a>i.right||i.top>h||o>i.bottom):"fit"===n.tolerance&&(l=i.left>a&&r>i.right&&i.top>o&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",t,{selecting:i.element}))):(i.selecting&&((t.metaKey||t.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",t,{unselecting:i.element}))),i.selected&&(t.metaKey||t.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",t,{unselecting:i.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,e(".ui-unselecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",t,{unselected:s.element})}),e(".ui-selecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",t,{selected:s.element})}),this._trigger("stop",t),this.helper.remove(),!1}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(e){e.widget("ui.selectable",e.ui.mouse,{version:"1.10.4",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t=e(i.options.filter,i.element[0]),t.addClass("ui-selectee"),t.each(function(){var t=e(this),i=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=t.addClass("ui-selectee"),this._mouseInit(),this.helper=e("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var i=this,s=this.options;this.opos=[t.pageX,t.pageY],this.options.disabled||(this.selectees=e(s.filter,this.element[0]),this._trigger("start",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=e.data(this,"selectable-item");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",t,{unselecting:s.element}))}),e(t.target).parents().addBack().each(function(){var s,n=e.data(this,"selectable-item");return n?(s=!t.metaKey&&!t.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",t,{selecting:n.element}):i._trigger("unselecting",t,{unselecting:n.element}),!1):undefined}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=t.pageX,h=t.pageY;return a>r&&(i=r,r=a,a=i),o>h&&(i=h,h=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:h-o}),this.selectees.each(function(){var i=e.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||a>i.right||i.top>h||o>i.bottom):"fit"===n.tolerance&&(l=i.left>a&&r>i.right&&i.top>o&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",t,{selecting:i.element}))):(i.selecting&&((t.metaKey||t.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",t,{unselecting:i.element}))),i.selected&&(t.metaKey||t.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",t,{unselecting:i.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,e(".ui-unselecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",t,{unselected:s.element})}),e(".ui-selecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",t,{selected:s.element})}),this._trigger("stop",t),this.helper.remove(),!1}})})(jQuery);
\ No newline at end of file
index 7e319272174d10ed865e52a0d049f9493548668a..3dead5eecffd356588e54708f5ba4786af429177 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t){var e=5;t.widget("ui.slider",t.ui.mouse,{version:"1.10.3",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)o.push(a);this.handles=n.add(t(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e)})},_createRange:function(){var e=this.options,i="";e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=t("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))):this.range=t([])},_setupEvents:function(){var t=this.handles.add(this.range).filter("a");this._off(t),this._on(t,this._handleEvents),this._hoverable(t),this._focusable(t)},_destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,a,o,r,h,l,u=this,c=this.options;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-u.values(e));(n>i||n===i&&(e===u._lastChangedValue||u.values(e)===c.min))&&(n=i,a=t(this),o=e)}),r=this._start(e,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),h=a.offset(),l=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:e.pageX-h.left-a.width()/2,top:e.pageY-h.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,a;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(t,e){var i={handle:this.handles[e],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("start",t,i)},_slide:function(t,e,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(e?0:1),2===this.options.values.length&&this.options.range===!0&&(0===e&&i>s||1===e&&s>i)&&(i=s),i!==this.values(e)&&(n=this.values(),n[e]=i,a=this._trigger("slide",t,{handle:this.handles[e],value:i,values:n}),s=this.values(e?0:1),a!==!1&&this.values(e,i,!0))):i!==this.value()&&(a=this._trigger("slide",t,{handle:this.handles[e],value:i}),a!==!1&&this.value(i))},_stop:function(t,e){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("stop",t,i)},_change:function(t,e){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._lastChangedValue=e,this._trigger("change",t,i)}},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),undefined):this._value()},values:function(e,i){var s,n,a;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),undefined;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(e):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),t.Widget.prototype._setOption.apply(this,arguments),e){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var e,i,s,n,a,o=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](u,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(i){var s,n,a,o,r=t(i.target).data("ui-slider-handle-index");switch(i.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i.preventDefault(),!this._keySliding&&(this._keySliding=!0,t(i.target).addClass("ui-state-active"),s=this._start(i,r),s===!1))return}switch(o=this.options.step,n=a=this.options.values&&this.options.values.length?this.values(r):this.value(),i.keyCode){case t.ui.keyCode.HOME:a=this._valueMin();break;case t.ui.keyCode.END:a=this._valueMax();break;case t.ui.keyCode.PAGE_UP:a=this._trimAlignValue(n+(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.PAGE_DOWN:a=this._trimAlignValue(n-(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(n===this._valueMax())return;a=this._trimAlignValue(n+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(n===this._valueMin())return;a=this._trimAlignValue(n-o)}this._slide(i,r,a)},click:function(t){t.preventDefault()},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),t(e.target).removeClass("ui-state-active"))}}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(t){var e=5;t.widget("ui.slider",t.ui.mouse,{version:"1.10.4",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)o.push(a);this.handles=n.add(t(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e)})},_createRange:function(){var e=this.options,i="";e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=t("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){var t=this.handles.add(this.range).filter("a");this._off(t),this._on(t,this._handleEvents),this._hoverable(t),this._focusable(t)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,a,o,r,h,l,u=this,c=this.options;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-u.values(e));(n>i||n===i&&(e===u._lastChangedValue||u.values(e)===c.min))&&(n=i,a=t(this),o=e)}),r=this._start(e,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),h=a.offset(),l=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:e.pageX-h.left-a.width()/2,top:e.pageY-h.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,a;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(t,e){var i={handle:this.handles[e],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("start",t,i)},_slide:function(t,e,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(e?0:1),2===this.options.values.length&&this.options.range===!0&&(0===e&&i>s||1===e&&s>i)&&(i=s),i!==this.values(e)&&(n=this.values(),n[e]=i,a=this._trigger("slide",t,{handle:this.handles[e],value:i,values:n}),s=this.values(e?0:1),a!==!1&&this.values(e,i))):i!==this.value()&&(a=this._trigger("slide",t,{handle:this.handles[e],value:i}),a!==!1&&this.value(i))},_stop:function(t,e){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("stop",t,i)},_change:function(t,e){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._lastChangedValue=e,this._trigger("change",t,i)}},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),undefined):this._value()},values:function(e,i){var s,n,a;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),undefined;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(e):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),t.Widget.prototype._setOption.apply(this,arguments),e){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var e,i,s,n,a,o=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](u,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(i){var s,n,a,o,r=t(i.target).data("ui-slider-handle-index");switch(i.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i.preventDefault(),!this._keySliding&&(this._keySliding=!0,t(i.target).addClass("ui-state-active"),s=this._start(i,r),s===!1))return}switch(o=this.options.step,n=a=this.options.values&&this.options.values.length?this.values(r):this.value(),i.keyCode){case t.ui.keyCode.HOME:a=this._valueMin();break;case t.ui.keyCode.END:a=this._valueMax();break;case t.ui.keyCode.PAGE_UP:a=this._trimAlignValue(n+(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.PAGE_DOWN:a=this._trimAlignValue(n-(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(n===this._valueMax())return;a=this._trimAlignValue(n+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(n===this._valueMin())return;a=this._trimAlignValue(n-o)}this._slide(i,r,a)},click:function(t){t.preventDefault()},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),t(e.target).removeClass("ui-state-active"))}}})})(jQuery);
\ No newline at end of file
index 1a84db7ae1ce2a9ac6c0ec89648373f61682ed01..34d3fb4cf2805e02d8e6ff02c3fc40475af9d784 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t){function e(t,e,i){return t>e&&e+i>t}function i(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))}t.widget("ui.sortable",t.ui.mouse,{version:"1.10.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var t=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===t.axis||i(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_setOption:function(e,i){"disabled"===e?(this.options[e]=i,this.widget().toggleClass("ui-sortable-disabled",!!i)):t.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(e,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,a.widgetName+"-item")===a?(s=t(this),!1):undefined}),t.data(e.target,a.widgetName+"-item")===a&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=t("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!o.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+o.scrollSpeed:e.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+o.scrollSpeed:e.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(e.pageY-t(document).scrollTop()<o.scrollSensitivity?r=t(document).scrollTop(t(document).scrollTop()-o.scrollSpeed):t(window).height()-(e.pageY-t(document).scrollTop())<o.scrollSensitivity&&(r=t(document).scrollTop(t(document).scrollTop()+o.scrollSpeed)),e.pageX-t(document).scrollLeft()<o.scrollSensitivity?r=t(document).scrollLeft(t(document).scrollLeft()-o.scrollSpeed):t(window).width()-(e.pageX-t(document).scrollLeft())<o.scrollSensitivity&&(r=t(document).scrollLeft(t(document).scrollLeft()+o.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!o.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=t.left,o=a+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>a&&o>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var i="x"===this.options.axis||e(this.positionAbs.top+this.offset.click.top,t.top,t.height),s="y"===this.options.axis||e(this.positionAbs.left+this.offset.click.left,t.left,t.width),n=i&&s,a=this._getDragVerticalDirection(),o=this._getDragHorizontalDirection();return n?this.floating?o&&"right"===o||"down"===a?2:1:a&&("down"===a?2:1):!1},_intersectsWithSides:function(t){var i=e(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),s=e(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return this.floating&&a?"right"===a&&s||"left"===a&&!s:n&&("down"===n&&i||"up"===n&&!i)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){var i,s,n,a,o=[],r=[],h=this._connectWith();if(h&&e)for(i=h.length-1;i>=0;i--)for(n=t(h[i]),s=n.length-1;s>=0;s--)a=t.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&r.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(r.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=r.length-1;i>=0;i--)r[i][0].each(function(){o.push(this)});return t(o)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i]),s=n.length-1;s>=0;s--)a=t.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(u.push([t.isFunction(a.options.items)?a.options.items.call(a.element[0],e,{item:this.currentItem}):t(a.options.items,a.element),a]),this.containers.push(a));for(i=u.length-1;i>=0;i--)for(o=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",o),c.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]).addClass(i||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?e.currentItem.children().each(function(){t("<td>&#160;</td>",e.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(n)}):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_contactContainers:function(s){var n,a,o,r,h,l,c,u,d,p,f=null,m=null;for(n=this.containers.length-1;n>=0;n--)if(!t.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(f&&t.contains(this.containers[n].element[0],f.element[0]))continue;f=this.containers[n],m=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",s,this._uiHash(this)),this.containers[n].containerCache.over=0);if(f)if(1===this.containers.length)this.containers[m].containerCache.over||(this.containers[m]._trigger("over",s,this._uiHash(this)),this.containers[m].containerCache.over=1);else{for(o=1e4,r=null,p=f.floating||i(this.currentItem),h=p?"left":"top",l=p?"width":"height",c=this.positionAbs[h]+this.offset.click[h],a=this.items.length-1;a>=0;a--)t.contains(this.containers[m].element[0],this.items[a].item[0])&&this.items[a].item[0]!==this.currentItem[0]&&(!p||e(this.positionAbs.top+this.offset.click.top,this.items[a].top,this.items[a].height))&&(u=this.items[a].item.offset()[h],d=!1,Math.abs(u-c)>Math.abs(u+this.items[a][l]-c)&&(d=!0,u+=this.items[a][l]),o>Math.abs(u-c)&&(o=Math.abs(u-c),r=this.items[a],this.direction=d?"up":"down"));if(!r&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[m])return;r?this._rearrange(s,r,null,!0):this._rearrange(s,null,this.containers[m].element,!0),this._trigger("change",s,this._uiHash()),this.containers[m]._trigger("change",s,this._uiHash(this)),this.currentContainer=this.containers[m],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[m]._trigger("over",s,this._uiHash(this)),this.containers[m].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,t("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(t("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,a=e.pageX,o=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(a=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(a=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){this.reverting=!1;var i,s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)("auto"===this._storedCSS[i]||"static"===this._storedCSS[i])&&(this._storedCSS[i]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&s.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||s.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(s.push(function(t){this._trigger("remove",t,this._uiHash())}),s.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)e||s.push(function(t){return function(e){t._trigger("deactivate",e,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over&&(s.push(function(t){return function(e){t._trigger("out",e,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!e){for(this._trigger("beforeStop",t,this._uiHash()),i=0;s.length>i;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!1}if(e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!e){for(i=0;s.length>i;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(t){function e(t,e,i){return t>e&&e+i>t}function i(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))}t.widget("ui.sortable",t.ui.mouse,{version:"1.10.4",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var t=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===t.axis||i(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_setOption:function(e,i){"disabled"===e?(this.options[e]=i,this.widget().toggleClass("ui-sortable-disabled",!!i)):t.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(e,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,a.widgetName+"-item")===a?(s=t(this),!1):undefined}),t.data(e.target,a.widgetName+"-item")===a&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=t("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!o.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+o.scrollSpeed:e.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+o.scrollSpeed:e.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(e.pageY-t(document).scrollTop()<o.scrollSensitivity?r=t(document).scrollTop(t(document).scrollTop()-o.scrollSpeed):t(window).height()-(e.pageY-t(document).scrollTop())<o.scrollSensitivity&&(r=t(document).scrollTop(t(document).scrollTop()+o.scrollSpeed)),e.pageX-t(document).scrollLeft()<o.scrollSensitivity?r=t(document).scrollLeft(t(document).scrollLeft()-o.scrollSpeed):t(window).width()-(e.pageX-t(document).scrollLeft())<o.scrollSensitivity&&(r=t(document).scrollLeft(t(document).scrollLeft()+o.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!o.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=t.left,o=a+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>a&&o>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var i="x"===this.options.axis||e(this.positionAbs.top+this.offset.click.top,t.top,t.height),s="y"===this.options.axis||e(this.positionAbs.left+this.offset.click.left,t.left,t.width),n=i&&s,a=this._getDragVerticalDirection(),o=this._getDragHorizontalDirection();return n?this.floating?o&&"right"===o||"down"===a?2:1:a&&("down"===a?2:1):!1},_intersectsWithSides:function(t){var i=e(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),s=e(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return this.floating&&a?"right"===a&&s||"left"===a&&!s:n&&("down"===n&&i||"up"===n&&!i)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){function i(){r.push(this)}var s,n,a,o,r=[],h=[],l=this._connectWith();if(l&&e)for(s=l.length-1;s>=0;s--)for(a=t(l[s]),n=a.length-1;n>=0;n--)o=t.data(a[n],this.widgetFullName),o&&o!==this&&!o.options.disabled&&h.push([t.isFunction(o.options.items)?o.options.items.call(o.element):t(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(h.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i]),s=n.length-1;s>=0;s--)a=t.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(u.push([t.isFunction(a.options.items)?a.options.items.call(a.element[0],e,{item:this.currentItem}):t(a.options.items,a.element),a]),this.containers.push(a));for(i=u.length-1;i>=0;i--)for(o=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",o),c.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]).addClass(i||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?e.currentItem.children().each(function(){t("<td>&#160;</td>",e.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(n)}):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_contactContainers:function(s){var n,a,o,r,h,l,c,u,d,p,f=null,m=null;for(n=this.containers.length-1;n>=0;n--)if(!t.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(f&&t.contains(this.containers[n].element[0],f.element[0]))continue;f=this.containers[n],m=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",s,this._uiHash(this)),this.containers[n].containerCache.over=0);if(f)if(1===this.containers.length)this.containers[m].containerCache.over||(this.containers[m]._trigger("over",s,this._uiHash(this)),this.containers[m].containerCache.over=1);else{for(o=1e4,r=null,p=f.floating||i(this.currentItem),h=p?"left":"top",l=p?"width":"height",c=this.positionAbs[h]+this.offset.click[h],a=this.items.length-1;a>=0;a--)t.contains(this.containers[m].element[0],this.items[a].item[0])&&this.items[a].item[0]!==this.currentItem[0]&&(!p||e(this.positionAbs.top+this.offset.click.top,this.items[a].top,this.items[a].height))&&(u=this.items[a].item.offset()[h],d=!1,Math.abs(u-c)>Math.abs(u+this.items[a][l]-c)&&(d=!0,u+=this.items[a][l]),o>Math.abs(u-c)&&(o=Math.abs(u-c),r=this.items[a],this.direction=d?"up":"down"));if(!r&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[m])return;r?this._rearrange(s,r,null,!0):this._rearrange(s,null,this.containers[m].element,!0),this._trigger("change",s,this._uiHash()),this.containers[m]._trigger("change",s,this._uiHash(this)),this.currentContainer=this.containers[m],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[m]._trigger("over",s,this._uiHash(this)),this.containers[m].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,t("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(t("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,a=e.pageX,o=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(a=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(a=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){function i(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)e||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!e){for(this._trigger("beforeStop",t,this._uiHash()),s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!1}if(e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!e){for(s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}})})(jQuery);
\ No newline at end of file
index 62cd8de6a7408bce216d262bc31a3846c006c3e1..5763f4879b5e1da6b5d53ea2dd888b44b3a528ac 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t){function e(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.widget("ui.spinner",{version:"1.10.3",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e={},i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);void 0!==n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var t=this.element[0]===this.document[0].activeElement;t||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var t=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=t.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*t.height())&&t.height()>0&&t.height(t.height()),this.options.disabled&&this.disable()},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>&#9650;</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>&#9660;</span>"+"</a>"},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){if("culture"===t||"numberFormat"===t){var i=this._parse(this.element.val());return this.options[t]=e,this.element.val(this._format(i)),void 0}("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(e.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(e.down)),this._super(t,e),"disabled"===t&&(e?(this.element.prop("disabled",!0),this.buttons.button("disable")):(this.element.prop("disabled",!1),this.buttons.button("enable")))},_setOptions:e(function(t){this._super(t),this._value(this.element.val())}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:e(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:e(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:e(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:e(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(e(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(t){function e(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.widget("ui.spinner",{version:"1.10.4",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e={},i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);void 0!==n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var t=this.element[0]===this.document[0].activeElement;t||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var t=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=t.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*t.height())&&t.height()>0&&t.height(t.height()),this.options.disabled&&this.disable()},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>&#9650;</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>&#9660;</span>"+"</a>"},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){if("culture"===t||"numberFormat"===t){var i=this._parse(this.element.val());return this.options[t]=e,this.element.val(this._format(i)),void 0}("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(e.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(e.down)),this._super(t,e),"disabled"===t&&(e?(this.element.prop("disabled",!0),this.buttons.button("disable")):(this.element.prop("disabled",!1),this.buttons.button("enable")))},_setOptions:e(function(t){this._super(t),this._value(this.element.val())}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:e(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:e(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:e(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:e(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(e(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}})})(jQuery);
\ No newline at end of file
index e2f2ecb168bf9e35bdf2ff3b888929816993b418..1ee47fa0a9bc01046343541536d839ec8cb221c7 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t,e){function i(){return++n}function s(t){return t.hash.length>1&&decodeURIComponent(t.href.replace(a,""))===decodeURIComponent(location.href.replace(a,""))}var n=0,a=/#.*$/;t.widget("ui.tabs",{version:"1.10.3",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var e=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var i=this.options.active,s=this.options.collapsible,n=location.hash.substring(1);return null===i&&(n&&this.tabs.each(function(s,a){return t(a).attr("aria-controls")===n?(i=s,!1):e}),null===i&&(i=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===i||-1===i)&&(i=this.tabs.length?0:!1)),i!==!1&&(i=this.tabs.index(this.tabs.eq(i)),-1===i&&(i=s?!1:0)),!s&&i===!1&&this.anchors.length&&(i=0),i},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(i){var s=t(this.document[0].activeElement).closest("li"),n=this.tabs.index(s),a=!0;if(!this._handlePageNav(i)){switch(i.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:n++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:a=!1,n--;break;case t.ui.keyCode.END:n=this.anchors.length-1;break;case t.ui.keyCode.HOME:n=0;break;case t.ui.keyCode.SPACE:return i.preventDefault(),clearTimeout(this.activating),this._activate(n),e;case t.ui.keyCode.ENTER:return i.preventDefault(),clearTimeout(this.activating),this._activate(n===this.options.active?!1:n),e;default:return}i.preventDefault(),clearTimeout(this.activating),n=this._focusNextTab(n,a),i.ctrlKey||(s.attr("aria-selected","false"),this.tabs.eq(n).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",n)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.focus())},_handlePageNav:function(i){return i.altKey&&i.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):i.altKey&&i.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):e},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).focus(),t},_setOption:function(t,i){return"active"===t?(this._activate(i),e):"disabled"===t?(this._setupDisabled(i),e):(this._super(t,i),"collapsible"===t&&(this.element.toggleClass("ui-tabs-collapsible",i),i||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(i),"heightStyle"===t&&this._setupHeightStyle(i),e)},_tabId:function(t){return t.attr("aria-controls")||"ui-tabs-"+i()},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),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",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),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 t("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=t(),this.anchors.each(function(i,n){var a,o,r,h=t(n).uniqueId().attr("id"),l=t(n).closest("li"),u=l.attr("aria-controls");s(n)?(a=n.hash,o=e.element.find(e._sanitizeSelector(a))):(r=e._tabId(l),a="#"+r,o=e.element.find(a),o.length||(o=e._createPanel(r),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),u&&l.data("ui-tabs-aria-controls",u),l.attr({"aria-controls":a.substring(1),"aria-labelledby":h}),o.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.element.find("ol,ul").eq(0)},_createPanel:function(e){return t("<div>").attr("id",e).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(e){t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1);for(var i,s=0;i=this.tabs[s];s++)e===!0||-1!==t.inArray(s,e)?t(i).addClass("ui-state-disabled").attr("aria-disabled","true"):t(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=e},_setupEvents:function(e){var i={click:function(t){t.preventDefault()}};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?t():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):t(),u={oldTab:s,oldPanel:l,newTab:r?t():a,newPanel:h};e.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",e,u)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?t():a,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),e),this._toggle(e,u))},_toggle:function(e,i){function s(){a.running=!1,a._trigger("activate",e,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr({"aria-expanded":"false","aria-hidden":"true"}),i.oldTab.attr("aria-selected","false"),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr({"aria-expanded":"true","aria-hidden":"false"}),i.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(t){return"string"==typeof t&&(t=this.anchors.index(this.anchors.filter("[href$='"+t+"']"))),t},_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.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(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 e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var s=this.options.disabled;s!==!1&&(i===e?s=!1:(i=this._getIndex(i),s=t.isArray(s)?t.map(s,function(t){return t!==i?t:null}):t.map(this.tabs,function(t,e){return e!==i?e:null})),this._setupDisabled(s))},disable:function(i){var s=this.options.disabled;if(s!==!0){if(i===e)s=!0;else{if(i=this._getIndex(i),-1!==t.inArray(i,s))return;s=t.isArray(s)?t.merge([i],s).sort():[i]}this._setupDisabled(s)}},load:function(e,i){e=this._getIndex(e);var n=this,a=this.tabs.eq(e),o=a.find(".ui-tabs-anchor"),r=this._getPanelForTab(a),h={tab:a,panel:r};s(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(a.addClass("ui-tabs-loading"),r.attr("aria-busy","true"),this.xhr.success(function(t){setTimeout(function(){r.html(t),n._trigger("load",i,h)},1)}).complete(function(t,e){setTimeout(function(){"abort"===e&&n.panels.stop(!1,!0),a.removeClass("ui-tabs-loading"),r.removeAttr("aria-busy"),t===n.xhr&&delete n.xhr},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href"),beforeSend:function(e,a){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:a},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(t,e){function i(){return++n}function s(t){return t=t.cloneNode(!1),t.hash.length>1&&decodeURIComponent(t.href.replace(a,""))===decodeURIComponent(location.href.replace(a,""))}var n=0,a=/#.*$/;t.widget("ui.tabs",{version:"1.10.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var e=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var i=this.options.active,s=this.options.collapsible,n=location.hash.substring(1);return null===i&&(n&&this.tabs.each(function(s,a){return t(a).attr("aria-controls")===n?(i=s,!1):e}),null===i&&(i=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===i||-1===i)&&(i=this.tabs.length?0:!1)),i!==!1&&(i=this.tabs.index(this.tabs.eq(i)),-1===i&&(i=s?!1:0)),!s&&i===!1&&this.anchors.length&&(i=0),i},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(i){var s=t(this.document[0].activeElement).closest("li"),n=this.tabs.index(s),a=!0;if(!this._handlePageNav(i)){switch(i.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:n++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:a=!1,n--;break;case t.ui.keyCode.END:n=this.anchors.length-1;break;case t.ui.keyCode.HOME:n=0;break;case t.ui.keyCode.SPACE:return i.preventDefault(),clearTimeout(this.activating),this._activate(n),e;case t.ui.keyCode.ENTER:return i.preventDefault(),clearTimeout(this.activating),this._activate(n===this.options.active?!1:n),e;default:return}i.preventDefault(),clearTimeout(this.activating),n=this._focusNextTab(n,a),i.ctrlKey||(s.attr("aria-selected","false"),this.tabs.eq(n).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",n)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.focus())},_handlePageNav:function(i){return i.altKey&&i.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):i.altKey&&i.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):e},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).focus(),t},_setOption:function(t,i){return"active"===t?(this._activate(i),e):"disabled"===t?(this._setupDisabled(i),e):(this._super(t,i),"collapsible"===t&&(this.element.toggleClass("ui-tabs-collapsible",i),i||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(i),"heightStyle"===t&&this._setupHeightStyle(i),e)},_tabId:function(t){return t.attr("aria-controls")||"ui-tabs-"+i()},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),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",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),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 t("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=t(),this.anchors.each(function(i,n){var a,o,r,h=t(n).uniqueId().attr("id"),l=t(n).closest("li"),u=l.attr("aria-controls");s(n)?(a=n.hash,o=e.element.find(e._sanitizeSelector(a))):(r=e._tabId(l),a="#"+r,o=e.element.find(a),o.length||(o=e._createPanel(r),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),u&&l.data("ui-tabs-aria-controls",u),l.attr({"aria-controls":a.substring(1),"aria-labelledby":h}),o.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(e){return t("<div>").attr("id",e).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(e){t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1);for(var i,s=0;i=this.tabs[s];s++)e===!0||-1!==t.inArray(s,e)?t(i).addClass("ui-state-disabled").attr("aria-disabled","true"):t(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=e},_setupEvents:function(e){var i={click:function(t){t.preventDefault()}};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?t():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):t(),u={oldTab:s,oldPanel:l,newTab:r?t():a,newPanel:h};e.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",e,u)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?t():a,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),e),this._toggle(e,u))},_toggle:function(e,i){function s(){a.running=!1,a._trigger("activate",e,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr({"aria-expanded":"false","aria-hidden":"true"}),i.oldTab.attr("aria-selected","false"),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr({"aria-expanded":"true","aria-hidden":"false"}),i.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(t){return"string"==typeof t&&(t=this.anchors.index(this.anchors.filter("[href$='"+t+"']"))),t},_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.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(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 e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var s=this.options.disabled;s!==!1&&(i===e?s=!1:(i=this._getIndex(i),s=t.isArray(s)?t.map(s,function(t){return t!==i?t:null}):t.map(this.tabs,function(t,e){return e!==i?e:null})),this._setupDisabled(s))},disable:function(i){var s=this.options.disabled;if(s!==!0){if(i===e)s=!0;else{if(i=this._getIndex(i),-1!==t.inArray(i,s))return;s=t.isArray(s)?t.merge([i],s).sort():[i]}this._setupDisabled(s)}},load:function(e,i){e=this._getIndex(e);var n=this,a=this.tabs.eq(e),o=a.find(".ui-tabs-anchor"),r=this._getPanelForTab(a),h={tab:a,panel:r};s(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(a.addClass("ui-tabs-loading"),r.attr("aria-busy","true"),this.xhr.success(function(t){setTimeout(function(){r.html(t),n._trigger("load",i,h)},1)}).complete(function(t,e){setTimeout(function(){"abort"===e&&n.panels.stop(!1,!0),a.removeClass("ui-tabs-loading"),r.removeAttr("aria-busy"),t===n.xhr&&delete n.xhr},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href"),beforeSend:function(e,a){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:a},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}})})(jQuery);
\ No newline at end of file
index 48e52d93031634addac906f89aa5a1bd2a78f452..85494cfa3927d22d2b50f0a51bb9ce60fb241931 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t){function e(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))}function i(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")}var s=0;t.widget("ui.tooltip",{version:"1.10.3",options:{content:function(){var e=t(this).attr("title")||"";return t("<a>").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(e,i){var s=this;return"disabled"===e?(this[i?"_disable":"_enable"](),this.options[e]=i,void 0):(this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e)}),void 0)},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.is("[title]")&&e.data("ui-tooltip-title",e.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))})},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,a=e?e.type:null;return"string"==typeof s?this._open(e,t,s):(i=s.call(t[0],function(i){t.data("ui-tooltip-open")&&n._delay(function(){e&&(e.type=a),this._open(e,t,i)})}),i&&this._open(e,t,i),void 0)},_open:function(i,s,n){function a(t){l.of=t,o.is(":hidden")||o.position(l)}var o,r,h,l=t.extend({},this.options.position);if(n){if(o=this._find(s),o.length)return o.find(".ui-tooltip-content").html(n),void 0;s.is("[title]")&&(i&&"mouseover"===i.type?s.attr("title",""):s.removeAttr("title")),o=this._tooltip(s),e(s,o.attr("id")),o.find(".ui-tooltip-content").html(n),this.options.track&&i&&/^mouse/.test(i.type)?(this._on(this.document,{mousemove:a}),a(i)):o.position(t.extend({of:s},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){o.is(":visible")&&(a(l.of),clearInterval(h))},t.fx.interval)),this._trigger("open",i,{tooltip:o}),r={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var i=t.Event(e);i.currentTarget=s[0],this.close(i,!0)}},remove:function(){this._removeTooltip(o)}},i&&"mouseover"!==i.type||(r.mouseleave="close"),i&&"focusin"!==i.type||(r.focusout="close"),this._on(!0,s,r)}},close:function(e){var s=this,n=t(e?e.currentTarget:this.element),a=this._find(n);this.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&n.attr("title",n.data("ui-tooltip-title")),i(n),a.stop(!0),this._hide(a,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),this.closing=!0,this._trigger("close",e,{tooltip:a}),this.closing=!1)},_tooltip:function(e){var i="ui-tooltip-"+s++,n=t("<div>").attr({id:i,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return t("<div>").addClass("ui-tooltip-content").appendTo(n),n.appendTo(this.document[0].body),this.tooltips[i]=e,n},_find:function(e){var i=e.data("ui-tooltip-id");return i?t("#"+i):t()},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0),t("#"+i).remove(),s.data("ui-tooltip-title")&&(s.attr("title",s.data("ui-tooltip-title")),s.removeData("ui-tooltip-title"))})}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(t){function e(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))}function i(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")}var s=0;t.widget("ui.tooltip",{version:"1.10.4",options:{content:function(){var e=t(this).attr("title")||"";return t("<a>").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(e,i){var s=this;return"disabled"===e?(this[i?"_disable":"_enable"](),this.options[e]=i,void 0):(this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e)}),void 0)},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.is("[title]")&&e.data("ui-tooltip-title",e.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))})},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,a=e?e.type:null;return"string"==typeof s?this._open(e,t,s):(i=s.call(t[0],function(i){t.data("ui-tooltip-open")&&n._delay(function(){e&&(e.type=a),this._open(e,t,i)})}),i&&this._open(e,t,i),void 0)},_open:function(i,s,n){function a(t){l.of=t,o.is(":hidden")||o.position(l)}var o,r,h,l=t.extend({},this.options.position);if(n){if(o=this._find(s),o.length)return o.find(".ui-tooltip-content").html(n),void 0;s.is("[title]")&&(i&&"mouseover"===i.type?s.attr("title",""):s.removeAttr("title")),o=this._tooltip(s),e(s,o.attr("id")),o.find(".ui-tooltip-content").html(n),this.options.track&&i&&/^mouse/.test(i.type)?(this._on(this.document,{mousemove:a}),a(i)):o.position(t.extend({of:s},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){o.is(":visible")&&(a(l.of),clearInterval(h))},t.fx.interval)),this._trigger("open",i,{tooltip:o}),r={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var i=t.Event(e);i.currentTarget=s[0],this.close(i,!0)}},remove:function(){this._removeTooltip(o)}},i&&"mouseover"!==i.type||(r.mouseleave="close"),i&&"focusin"!==i.type||(r.focusout="close"),this._on(!0,s,r)}},close:function(e){var s=this,n=t(e?e.currentTarget:this.element),a=this._find(n);this.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&n.attr("title",n.data("ui-tooltip-title")),i(n),a.stop(!0),this._hide(a,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),this.closing=!0,this._trigger("close",e,{tooltip:a}),this.closing=!1)},_tooltip:function(e){var i="ui-tooltip-"+s++,n=t("<div>").attr({id:i,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return t("<div>").addClass("ui-tooltip-content").appendTo(n),n.appendTo(this.document[0].body),this.tooltips[i]=e,n},_find:function(e){var i=e.data("ui-tooltip-id");return i?t("#"+i):t()},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0),t("#"+i).remove(),s.data("ui-tooltip-title")&&(s.attr("title",s.data("ui-tooltip-title")),s.removeData("ui-tooltip-title"))})}})})(jQuery);
\ No newline at end of file
index d2358d39d567f07c1337c890b4b4b405754cd1d4..adb8546b4c02bfdcf66eb0138d86127562476980 100644 (file)
@@ -1,4 +1,4 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
+/*! jQuery UI - v1.10.4 - 2014-01-17
 * http://jqueryui.com
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(e,t){var i=0,s=Array.prototype.slice,n=e.cleanData;e.cleanData=function(t){for(var i,s=0;null!=(i=t[s]);s++)try{e(i).triggerHandler("remove")}catch(a){}n(t)},e.widget=function(i,s,n){var a,r,o,h,l={},u=i.split(".")[0];i=i.split(".")[1],a=u+"-"+i,n||(n=s,s=e.Widget),e.expr[":"][a.toLowerCase()]=function(t){return!!e.data(t,a)},e[u]=e[u]||{},r=e[u][i],o=e[u][i]=function(e,i){return this._createWidget?(arguments.length&&this._createWidget(e,i),t):new o(e,i)},e.extend(o,r,{version:n.version,_proto:e.extend({},n),_childConstructors:[]}),h=new s,h.options=e.widget.extend({},h.options),e.each(n,function(i,n){return e.isFunction(n)?(l[i]=function(){var e=function(){return s.prototype[i].apply(this,arguments)},t=function(e){return s.prototype[i].apply(this,e)};return function(){var i,s=this._super,a=this._superApply;return this._super=e,this._superApply=t,i=n.apply(this,arguments),this._super=s,this._superApply=a,i}}(),t):(l[i]=n,t)}),o.prototype=e.widget.extend(h,{widgetEventPrefix:r?h.widgetEventPrefix:i},l,{constructor:o,namespace:u,widgetName:i,widgetFullName:a}),r?(e.each(r._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete r._childConstructors):s._childConstructors.push(o),e.widget.bridge(i,o)},e.widget.extend=function(i){for(var n,a,r=s.call(arguments,1),o=0,h=r.length;h>o;o++)for(n in r[o])a=r[o][n],r[o].hasOwnProperty(n)&&a!==t&&(i[n]=e.isPlainObject(a)?e.isPlainObject(i[n])?e.widget.extend({},i[n],a):e.widget.extend({},a):a);return i},e.widget.bridge=function(i,n){var a=n.prototype.widgetFullName||i;e.fn[i]=function(r){var o="string"==typeof r,h=s.call(arguments,1),l=this;return r=!o&&h.length?e.widget.extend.apply(null,[r].concat(h)):r,o?this.each(function(){var s,n=e.data(this,a);return n?e.isFunction(n[r])&&"_"!==r.charAt(0)?(s=n[r].apply(n,h),s!==n&&s!==t?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):t):e.error("no such method '"+r+"' for "+i+" widget instance"):e.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+r+"'")}):this.each(function(){var t=e.data(this,a);t?t.option(r||{})._init():e.data(this,a,new n(r,this))}),l}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,s){s=e(s||this.defaultElement||this)[0],this.element=e(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),s!==this&&(e.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===s&&this.destroy()}}),this.document=e(s.style?s.ownerDocument:s.document||s),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.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:e.noop,widget:function(){return this.element},option:function(i,s){var n,a,r,o=i;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof i)if(o={},n=i.split("."),i=n.shift(),n.length){for(a=o[i]=e.widget.extend({},this.options[i]),r=0;n.length-1>r;r++)a[n[r]]=a[n[r]]||{},a=a[n[r]];if(i=n.pop(),s===t)return a[i]===t?null:a[i];a[i]=s}else{if(s===t)return this.options[i]===t?null:this.options[i];o[i]=s}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var a,r=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=a=e(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,a=this.widget()),e.each(n,function(n,o){function h(){return i||r.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?r[o]:o).apply(r,arguments):t}"string"!=typeof o&&(h.guid=o.guid=o.guid||h.guid||e.guid++);var l=n.match(/^(\w+)\s*(.*)$/),u=l[1]+r.eventNamespace,c=l[2];c?a.delegate(c,u,h):s.bind(u,h)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,r=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(r)&&r.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var r,o=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),r=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),r&&e.effects&&e.effects.effect[o]?s[t](n):o!==t&&s[o]?s[o](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}})})(jQuery);
\ No newline at end of file
+* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
+(function(e,t){var i=0,s=Array.prototype.slice,n=e.cleanData;e.cleanData=function(t){for(var i,s=0;null!=(i=t[s]);s++)try{e(i).triggerHandler("remove")}catch(a){}n(t)},e.widget=function(i,s,n){var a,r,o,h,l={},u=i.split(".")[0];i=i.split(".")[1],a=u+"-"+i,n||(n=s,s=e.Widget),e.expr[":"][a.toLowerCase()]=function(t){return!!e.data(t,a)},e[u]=e[u]||{},r=e[u][i],o=e[u][i]=function(e,i){return this._createWidget?(arguments.length&&this._createWidget(e,i),t):new o(e,i)},e.extend(o,r,{version:n.version,_proto:e.extend({},n),_childConstructors:[]}),h=new s,h.options=e.widget.extend({},h.options),e.each(n,function(i,n){return e.isFunction(n)?(l[i]=function(){var e=function(){return s.prototype[i].apply(this,arguments)},t=function(e){return s.prototype[i].apply(this,e)};return function(){var i,s=this._super,a=this._superApply;return this._super=e,this._superApply=t,i=n.apply(this,arguments),this._super=s,this._superApply=a,i}}(),t):(l[i]=n,t)}),o.prototype=e.widget.extend(h,{widgetEventPrefix:r?h.widgetEventPrefix||i:i},l,{constructor:o,namespace:u,widgetName:i,widgetFullName:a}),r?(e.each(r._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete r._childConstructors):s._childConstructors.push(o),e.widget.bridge(i,o)},e.widget.extend=function(i){for(var n,a,r=s.call(arguments,1),o=0,h=r.length;h>o;o++)for(n in r[o])a=r[o][n],r[o].hasOwnProperty(n)&&a!==t&&(i[n]=e.isPlainObject(a)?e.isPlainObject(i[n])?e.widget.extend({},i[n],a):e.widget.extend({},a):a);return i},e.widget.bridge=function(i,n){var a=n.prototype.widgetFullName||i;e.fn[i]=function(r){var o="string"==typeof r,h=s.call(arguments,1),l=this;return r=!o&&h.length?e.widget.extend.apply(null,[r].concat(h)):r,o?this.each(function(){var s,n=e.data(this,a);return n?e.isFunction(n[r])&&"_"!==r.charAt(0)?(s=n[r].apply(n,h),s!==n&&s!==t?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):t):e.error("no such method '"+r+"' for "+i+" widget instance"):e.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+r+"'")}):this.each(function(){var t=e.data(this,a);t?t.option(r||{})._init():e.data(this,a,new n(r,this))}),l}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,s){s=e(s||this.defaultElement||this)[0],this.element=e(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),s!==this&&(e.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===s&&this.destroy()}}),this.document=e(s.style?s.ownerDocument:s.document||s),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.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:e.noop,widget:function(){return this.element},option:function(i,s){var n,a,r,o=i;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof i)if(o={},n=i.split("."),i=n.shift(),n.length){for(a=o[i]=e.widget.extend({},this.options[i]),r=0;n.length-1>r;r++)a[n[r]]=a[n[r]]||{},a=a[n[r]];if(i=n.pop(),1===arguments.length)return a[i]===t?null:a[i];a[i]=s}else{if(1===arguments.length)return this.options[i]===t?null:this.options[i];o[i]=s}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var a,r=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=a=e(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,a=this.widget()),e.each(n,function(n,o){function h(){return i||r.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?r[o]:o).apply(r,arguments):t}"string"!=typeof o&&(h.guid=o.guid=o.guid||h.guid||e.guid++);var l=n.match(/^(\w+)\s*(.*)$/),u=l[1]+r.eventNamespace,c=l[2];c?a.delegate(c,u,h):s.bind(u,h)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,r=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(r)&&r.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var r,o=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),r=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),r&&e.effects&&e.effects.effect[o]?s[t](n):o!==t&&s[o]?s[o](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}})})(jQuery);
\ No newline at end of file
diff --git a/wp-includes/js/masonry.min.js b/wp-includes/js/masonry.min.js
new file mode 100644 (file)
index 0000000..a679d55
--- /dev/null
@@ -0,0 +1 @@
+!function(a){function b(){}function c(a){function c(b){b.prototype.option||(b.prototype.option=function(b){a.isPlainObject(b)&&(this.options=a.extend(!0,this.options,b))})}function e(b,c){a.fn[b]=function(e){if("string"==typeof e){for(var g=d.call(arguments,1),h=0,i=this.length;i>h;h++){var j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[e])&&"_"!==e.charAt(0)){var l=k[e].apply(k,g);if(void 0!==l)return l}else f("no such method '"+e+"' for "+b+" instance");else f("cannot call methods on "+b+" prior to initialization; attempted to call '"+e+"'")}return this}return this.each(function(){var d=a.data(this,b);d?(d.option(e),d._init()):(d=new c(this,e),a.data(this,b,d))})}}if(a){var f="undefined"==typeof console?b:function(a){console.error(a)};return a.bridget=function(a,b){c(b),e(a,b)},a.bridget}}var d=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],c):c(a.jQuery)}(window),function(a){function b(b){var c=a.event;return c.target=c.target||c.srcElement||b,c}var c=document.documentElement,d=function(){};c.addEventListener?d=function(a,b,c){a.addEventListener(b,c,!1)}:c.attachEvent&&(d=function(a,c,d){a[c+d]=d.handleEvent?function(){var c=b(a);d.handleEvent.call(d,c)}:function(){var c=b(a);d.call(a,c)},a.attachEvent("on"+c,a[c+d])});var e=function(){};c.removeEventListener?e=function(a,b,c){a.removeEventListener(b,c,!1)}:c.detachEvent&&(e=function(a,b,c){a.detachEvent("on"+b,a[b+c]);try{delete a[b+c]}catch(d){a[b+c]=void 0}});var f={bind:d,unbind:e};"function"==typeof define&&define.amd?define("eventie/eventie",f):"object"==typeof exports?module.exports=f:a.eventie=f}(this),function(a){function b(a){"function"==typeof a&&(b.isReady?a():f.push(a))}function c(a){var c="readystatechange"===a.type&&"complete"!==e.readyState;if(!b.isReady&&!c){b.isReady=!0;for(var d=0,g=f.length;g>d;d++){var h=f[d];h()}}}function d(d){return d.bind(e,"DOMContentLoaded",c),d.bind(e,"readystatechange",c),d.bind(a,"load",c),b}var e=a.document,f=[];b.isReady=!1,"function"==typeof define&&define.amd?(b.isReady="function"==typeof requirejs,define("doc-ready/doc-ready",["eventie/eventie"],d)):a.docReady=d(a.eventie)}(this),function(){function a(){}function b(a,b){for(var c=a.length;c--;)if(a[c].listener===b)return c;return-1}function c(a){return function(){return this[a].apply(this,arguments)}}var d=a.prototype,e=this,f=e.EventEmitter;d.getListeners=function(a){var b,c,d=this._getEvents();if(a instanceof RegExp){b={};for(c in d)d.hasOwnProperty(c)&&a.test(c)&&(b[c]=d[c])}else b=d[a]||(d[a]=[]);return b},d.flattenListeners=function(a){var b,c=[];for(b=0;a.length>b;b+=1)c.push(a[b].listener);return c},d.getListenersAsObject=function(a){var b,c=this.getListeners(a);return c instanceof Array&&(b={},b[a]=c),b||c},d.addListener=function(a,c){var d,e=this.getListenersAsObject(a),f="object"==typeof c;for(d in e)e.hasOwnProperty(d)&&-1===b(e[d],c)&&e[d].push(f?c:{listener:c,once:!1});return this},d.on=c("addListener"),d.addOnceListener=function(a,b){return this.addListener(a,{listener:b,once:!0})},d.once=c("addOnceListener"),d.defineEvent=function(a){return this.getListeners(a),this},d.defineEvents=function(a){for(var b=0;a.length>b;b+=1)this.defineEvent(a[b]);return this},d.removeListener=function(a,c){var d,e,f=this.getListenersAsObject(a);for(e in f)f.hasOwnProperty(e)&&(d=b(f[e],c),-1!==d&&f[e].splice(d,1));return this},d.off=c("removeListener"),d.addListeners=function(a,b){return this.manipulateListeners(!1,a,b)},d.removeListeners=function(a,b){return this.manipulateListeners(!0,a,b)},d.manipulateListeners=function(a,b,c){var d,e,f=a?this.removeListener:this.addListener,g=a?this.removeListeners:this.addListeners;if("object"!=typeof b||b instanceof RegExp)for(d=c.length;d--;)f.call(this,b,c[d]);else for(d in b)b.hasOwnProperty(d)&&(e=b[d])&&("function"==typeof e?f.call(this,d,e):g.call(this,d,e));return this},d.removeEvent=function(a){var b,c=typeof a,d=this._getEvents();if("string"===c)delete d[a];else if(a instanceof RegExp)for(b in d)d.hasOwnProperty(b)&&a.test(b)&&delete d[b];else delete this._events;return this},d.removeAllListeners=c("removeEvent"),d.emitEvent=function(a,b){var c,d,e,f,g=this.getListenersAsObject(a);for(e in g)if(g.hasOwnProperty(e))for(d=g[e].length;d--;)c=g[e][d],c.once===!0&&this.removeListener(a,c.listener),f=c.listener.apply(this,b||[]),f===this._getOnceReturnValue()&&this.removeListener(a,c.listener);return this},d.trigger=c("emitEvent"),d.emit=function(a){var b=Array.prototype.slice.call(arguments,1);return this.emitEvent(a,b)},d.setOnceReturnValue=function(a){return this._onceReturnValue=a,this},d._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},d._getEvents=function(){return this._events||(this._events={})},a.noConflict=function(){return e.EventEmitter=f,a},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return a}):"object"==typeof module&&module.exports?module.exports=a:this.EventEmitter=a}.call(this),function(a){function b(a){if(a){if("string"==typeof d[a])return a;a=a.charAt(0).toUpperCase()+a.slice(1);for(var b,e=0,f=c.length;f>e;e++)if(b=c[e]+a,"string"==typeof d[b])return b}}var c="Webkit Moz ms Ms O".split(" "),d=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return b}):"object"==typeof exports?module.exports=b:a.getStyleProperty=b}(window),function(a){function b(a){var b=parseFloat(a),c=-1===a.indexOf("%")&&!isNaN(b);return c&&b}function c(){for(var a={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},b=0,c=g.length;c>b;b++){var d=g[b];a[d]=0}return a}function d(a){function d(a){if("string"==typeof a&&(a=document.querySelector(a)),a&&"object"==typeof a&&a.nodeType){var d=f(a);if("none"===d.display)return c();var e={};e.width=a.offsetWidth,e.height=a.offsetHeight;for(var k=e.isBorderBox=!(!j||!d[j]||"border-box"!==d[j]),l=0,m=g.length;m>l;l++){var n=g[l],o=d[n];o=h(a,o);var p=parseFloat(o);e[n]=isNaN(p)?0:p}var q=e.paddingLeft+e.paddingRight,r=e.paddingTop+e.paddingBottom,s=e.marginLeft+e.marginRight,t=e.marginTop+e.marginBottom,u=e.borderLeftWidth+e.borderRightWidth,v=e.borderTopWidth+e.borderBottomWidth,w=k&&i,x=b(d.width);x!==!1&&(e.width=x+(w?0:q+u));var y=b(d.height);return y!==!1&&(e.height=y+(w?0:r+v)),e.innerWidth=e.width-(q+u),e.innerHeight=e.height-(r+v),e.outerWidth=e.width+s,e.outerHeight=e.height+t,e}}function h(a,b){if(e||-1===b.indexOf("%"))return b;var c=a.style,d=c.left,f=a.runtimeStyle,g=f&&f.left;return g&&(f.left=a.currentStyle.left),c.left=b,b=c.pixelLeft,c.left=d,g&&(f.left=g),b}var i,j=a("boxSizing");return function(){if(j){var a=document.createElement("div");a.style.width="200px",a.style.padding="1px 2px 3px 4px",a.style.borderStyle="solid",a.style.borderWidth="1px 2px 3px 4px",a.style[j]="border-box";var c=document.body||document.documentElement;c.appendChild(a);var d=f(a);i=200===b(d.width),c.removeChild(a)}}(),d}var e=a.getComputedStyle,f=e?function(a){return e(a,null)}:function(a){return a.currentStyle},g=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],d):"object"==typeof exports?module.exports=d(require("get-style-property")):a.getSize=d(a.getStyleProperty)}(window),function(a,b){function c(a,b){return a[h](b)}function d(a){if(!a.parentNode){var b=document.createDocumentFragment();b.appendChild(a)}}function e(a,b){d(a);for(var c=a.parentNode.querySelectorAll(b),e=0,f=c.length;f>e;e++)if(c[e]===a)return!0;return!1}function f(a,b){return d(a),c(a,b)}var g,h=function(){if(b.matchesSelector)return"matchesSelector";for(var a=["webkit","moz","ms","o"],c=0,d=a.length;d>c;c++){var e=a[c],f=e+"MatchesSelector";if(b[f])return f}}();if(h){var i=document.createElement("div"),j=c(i,"div");g=j?c:f}else g=e;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return g}):window.matchesSelector=g}(this,Element.prototype),function(a){function b(a,b){for(var c in b)a[c]=b[c];return a}function c(a){for(var b in a)return!1;return b=null,!0}function d(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function e(a,e,f){function h(a,b){a&&(this.element=a,this.layout=b,this.position={x:0,y:0},this._create())}var i=f("transition"),j=f("transform"),k=i&&j,l=!!f("perspective"),m={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[i],n=["transform","transition","transitionDuration","transitionProperty"],o=function(){for(var a={},b=0,c=n.length;c>b;b++){var d=n[b],e=f(d);e&&e!==d&&(a[d]=e)}return a}();b(h.prototype,a.prototype),h.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},h.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},h.prototype.getSize=function(){this.size=e(this.element)},h.prototype.css=function(a){var b=this.element.style;for(var c in a){var d=o[c]||c;b[d]=a[c]}},h.prototype.getPosition=function(){var a=g(this.element),b=this.layout.options,c=b.isOriginLeft,d=b.isOriginTop,e=parseInt(a[c?"left":"right"],10),f=parseInt(a[d?"top":"bottom"],10);e=isNaN(e)?0:e,f=isNaN(f)?0:f;var h=this.layout.size;e-=c?h.paddingLeft:h.paddingRight,f-=d?h.paddingTop:h.paddingBottom,this.position.x=e,this.position.y=f},h.prototype.layoutPosition=function(){var a=this.layout.size,b=this.layout.options,c={};b.isOriginLeft?(c.left=this.position.x+a.paddingLeft+"px",c.right=""):(c.right=this.position.x+a.paddingRight+"px",c.left=""),b.isOriginTop?(c.top=this.position.y+a.paddingTop+"px",c.bottom=""):(c.bottom=this.position.y+a.paddingBottom+"px",c.top=""),this.css(c),this.emitEvent("layout",[this])};var p=l?function(a,b){return"translate3d("+a+"px, "+b+"px, 0)"}:function(a,b){return"translate("+a+"px, "+b+"px)"};h.prototype._transitionTo=function(a,b){this.getPosition();var c=this.position.x,d=this.position.y,e=parseInt(a,10),f=parseInt(b,10),g=e===this.position.x&&f===this.position.y;if(this.setPosition(a,b),g&&!this.isTransitioning)return void this.layoutPosition();var h=a-c,i=b-d,j={},k=this.layout.options;h=k.isOriginLeft?h:-h,i=k.isOriginTop?i:-i,j.transform=p(h,i),this.transition({to:j,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},h.prototype.goTo=function(a,b){this.setPosition(a,b),this.layoutPosition()},h.prototype.moveTo=k?h.prototype._transitionTo:h.prototype.goTo,h.prototype.setPosition=function(a,b){this.position.x=parseInt(a,10),this.position.y=parseInt(b,10)},h.prototype._nonTransition=function(a){this.css(a.to),a.isCleaning&&this._removeStyles(a.to);for(var b in a.onTransitionEnd)a.onTransitionEnd[b].call(this)},h.prototype._transition=function(a){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(a);var b=this._transn;for(var c in a.onTransitionEnd)b.onEnd[c]=a.onTransitionEnd[c];for(c in a.to)b.ingProperties[c]=!0,a.isCleaning&&(b.clean[c]=!0);if(a.from){this.css(a.from);var d=this.element.offsetHeight;d=null}this.enableTransition(a.to),this.css(a.to),this.isTransitioning=!0};var q=j&&d(j)+",opacity";h.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:q,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(m,this,!1))},h.prototype.transition=h.prototype[i?"_transition":"_nonTransition"],h.prototype.onwebkitTransitionEnd=function(a){this.ontransitionend(a)},h.prototype.onotransitionend=function(a){this.ontransitionend(a)};var r={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};h.prototype.ontransitionend=function(a){if(a.target===this.element){var b=this._transn,d=r[a.propertyName]||a.propertyName;if(delete b.ingProperties[d],c(b.ingProperties)&&this.disableTransition(),d in b.clean&&(this.element.style[a.propertyName]="",delete b.clean[d]),d in b.onEnd){var e=b.onEnd[d];e.call(this),delete b.onEnd[d]}this.emitEvent("transitionEnd",[this])}},h.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(m,this,!1),this.isTransitioning=!1},h.prototype._removeStyles=function(a){var b={};for(var c in a)b[c]="";this.css(b)};var s={transitionProperty:"",transitionDuration:""};return h.prototype.removeTransitionStyles=function(){this.css(s)},h.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.emitEvent("remove",[this])},h.prototype.remove=function(){if(!i||!parseFloat(this.layout.options.transitionDuration))return void this.removeElem();var a=this;this.on("transitionEnd",function(){return a.removeElem(),!0}),this.hide()},h.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var a=this.layout.options;this.transition({from:a.hiddenStyle,to:a.visibleStyle,isCleaning:!0})},h.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var a=this.layout.options;this.transition({from:a.visibleStyle,to:a.hiddenStyle,isCleaning:!0,onTransitionEnd:{opacity:function(){this.isHidden&&this.css({display:"none"})}}})},h.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},h}var f=document.defaultView,g=f&&f.getComputedStyle?function(a){return f.getComputedStyle(a,null)}:function(a){return a.currentStyle};"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property"],e):(a.Outlayer={},a.Outlayer.Item=e(a.EventEmitter,a.getSize,a.getStyleProperty))}(window),function(a){function b(a,b){for(var c in b)a[c]=b[c];return a}function c(a){return"[object Array]"===l.call(a)}function d(a){var b=[];if(c(a))b=a;else if(a&&"number"==typeof a.length)for(var d=0,e=a.length;e>d;d++)b.push(a[d]);else b.push(a);return b}function e(a,b){var c=n(b,a);-1!==c&&b.splice(c,1)}function f(a){return a.replace(/(.)([A-Z])/g,function(a,b,c){return b+"-"+c}).toLowerCase()}function g(c,g,l,n,o,p){function q(a,c){if("string"==typeof a&&(a=h.querySelector(a)),!a||!m(a))return void(i&&i.error("Bad "+this.constructor.namespace+" element: "+a));this.element=a,this.options=b({},this.options),this.option(c);var d=++s;this.element.outlayerGUID=d,t[d]=this,this._create(),this.options.isInitLayout&&this.layout()}function r(a,c){a.prototype[c]=b({},q.prototype[c])}var s=0,t={};return q.namespace="outlayer",q.Item=p,q.prototype.options={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},b(q.prototype,l.prototype),q.prototype.option=function(a){b(this.options,a)},q.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),b(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},q.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},q.prototype._itemize=function(a){for(var b=this._filterFindItemElements(a),c=this.constructor.Item,d=[],e=0,f=b.length;f>e;e++){var g=b[e],h=new c(g,this);d.push(h)}return d},q.prototype._filterFindItemElements=function(a){a=d(a);for(var b=this.options.itemSelector,c=[],e=0,f=a.length;f>e;e++){var g=a[e];if(m(g))if(b){o(g,b)&&c.push(g);for(var h=g.querySelectorAll(b),i=0,j=h.length;j>i;i++)c.push(h[i])}else c.push(g)}return c},q.prototype.getItemElements=function(){for(var a=[],b=0,c=this.items.length;c>b;b++)a.push(this.items[b].element);return a},q.prototype.layout=function(){this._resetLayout(),this._manageStamps();var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,a),this._isLayoutInited=!0},q.prototype._init=q.prototype.layout,q.prototype._resetLayout=function(){this.getSize()},q.prototype.getSize=function(){this.size=n(this.element)},q.prototype._getMeasurement=function(a,b){var c,d=this.options[a];d?("string"==typeof d?c=this.element.querySelector(d):m(d)&&(c=d),this[a]=c?n(c)[b]:d):this[a]=0},q.prototype.layoutItems=function(a,b){a=this._getItemsForLayout(a),this._layoutItems(a,b),this._postLayout()},q.prototype._getItemsForLayout=function(a){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c];e.isIgnored||b.push(e)}return b},q.prototype._layoutItems=function(a,b){function c(){d.emitEvent("layoutComplete",[d,a])}var d=this;if(!a||!a.length)return void c();this._itemsOn(a,"layout",c);for(var e=[],f=0,g=a.length;g>f;f++){var h=a[f],i=this._getItemLayoutPosition(h);i.item=h,i.isInstant=b||h.isLayoutInstant,e.push(i)}this._processLayoutQueue(e)},q.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},q.prototype._processLayoutQueue=function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b];this._positionItem(d.item,d.x,d.y,d.isInstant)}},q.prototype._positionItem=function(a,b,c,d){d?a.goTo(b,c):a.moveTo(b,c)},q.prototype._postLayout=function(){var a=this._getContainerSize();a&&(this._setContainerMeasure(a.width,!0),this._setContainerMeasure(a.height,!1))},q.prototype._getContainerSize=k,q.prototype._setContainerMeasure=function(a,b){if(void 0!==a){var c=this.size;c.isBorderBox&&(a+=b?c.paddingLeft+c.paddingRight+c.borderLeftWidth+c.borderRightWidth:c.paddingBottom+c.paddingTop+c.borderTopWidth+c.borderBottomWidth),a=Math.max(a,0),this.element.style[b?"width":"height"]=a+"px"}},q.prototype._itemsOn=function(a,b,c){function d(){return e++,e===f&&c.call(g),!0}for(var e=0,f=a.length,g=this,h=0,i=a.length;i>h;h++){var j=a[h];j.on(b,d)}},q.prototype.ignore=function(a){var b=this.getItem(a);b&&(b.isIgnored=!0)},q.prototype.unignore=function(a){var b=this.getItem(a);b&&delete b.isIgnored},q.prototype.stamp=function(a){if(a=this._find(a)){this.stamps=this.stamps.concat(a);for(var b=0,c=a.length;c>b;b++){var d=a[b];this.ignore(d)}}},q.prototype.unstamp=function(a){if(a=this._find(a))for(var b=0,c=a.length;c>b;b++){var d=a[b];e(d,this.stamps),this.unignore(d)}},q.prototype._find=function(a){return a?("string"==typeof a&&(a=this.element.querySelectorAll(a)),a=d(a)):void 0},q.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var a=0,b=this.stamps.length;b>a;a++){var c=this.stamps[a];this._manageStamp(c)}}},q.prototype._getBoundingRect=function(){var a=this.element.getBoundingClientRect(),b=this.size;this._boundingRect={left:a.left+b.paddingLeft+b.borderLeftWidth,top:a.top+b.paddingTop+b.borderTopWidth,right:a.right-(b.paddingRight+b.borderRightWidth),bottom:a.bottom-(b.paddingBottom+b.borderBottomWidth)}},q.prototype._manageStamp=k,q.prototype._getElementOffset=function(a){var b=a.getBoundingClientRect(),c=this._boundingRect,d=n(a),e={left:b.left-c.left-d.marginLeft,top:b.top-c.top-d.marginTop,right:c.right-b.right-d.marginRight,bottom:c.bottom-b.bottom-d.marginBottom};return e},q.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},q.prototype.bindResize=function(){this.isResizeBound||(c.bind(a,"resize",this),this.isResizeBound=!0)},q.prototype.unbindResize=function(){c.unbind(a,"resize",this),this.isResizeBound=!1},q.prototype.onresize=function(){function a(){b.resize(),delete b.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var b=this;this.resizeTimeout=setTimeout(a,100)},q.prototype.resize=function(){var a=n(this.element),b=this.size&&a;b&&a.innerWidth===this.size.innerWidth||this.layout()},q.prototype.addItems=function(a){var b=this._itemize(a);return b.length&&(this.items=this.items.concat(b)),b},q.prototype.appended=function(a){var b=this.addItems(a);b.length&&(this.layoutItems(b,!0),this.reveal(b))},q.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){var c=this.items.slice(0);this.items=b.concat(c),this._resetLayout(),this._manageStamps(),this.layoutItems(b,!0),this.reveal(b),this.layoutItems(c)}},q.prototype.reveal=function(a){var b=a&&a.length;if(b)for(var c=0;b>c;c++){var d=a[c];d.reveal()}},q.prototype.hide=function(a){var b=a&&a.length;if(b)for(var c=0;b>c;c++){var d=a[c];d.hide()}},q.prototype.getItem=function(a){for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];if(d.element===a)return d}},q.prototype.getItems=function(a){if(a&&a.length){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c],f=this.getItem(e);f&&b.push(f)}return b}},q.prototype.remove=function(a){a=d(a);var b=this.getItems(a);if(b&&b.length){this._itemsOn(b,"remove",function(){this.emitEvent("removeComplete",[this,b])});for(var c=0,f=b.length;f>c;c++){var g=b[c];g.remove(),e(g,this.items)}}},q.prototype.destroy=function(){var a=this.element.style;a.height="",a.position="",a.width="";for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];d.destroy()}this.unbindResize(),delete this.element.outlayerGUID,j&&j.removeData(this.element,this.constructor.namespace)},q.data=function(a){var b=a&&a.outlayerGUID;return b&&t[b]},q.create=function(a,c){function d(){q.apply(this,arguments)}return Object.create?d.prototype=Object.create(q.prototype):b(d.prototype,q.prototype),d.prototype.constructor=d,r(d,"options"),b(d.prototype.options,c),d.namespace=a,d.data=q.data,d.Item=function(){p.apply(this,arguments)},d.Item.prototype=new p,g(function(){for(var b=f(a),c=h.querySelectorAll(".js-"+b),e="data-"+b+"-options",g=0,k=c.length;k>g;g++){var l,m=c[g],n=m.getAttribute(e);try{l=n&&JSON.parse(n)}catch(o){i&&i.error("Error parsing "+e+" on "+m.nodeName.toLowerCase()+(m.id?"#"+m.id:"")+": "+o);continue}var p=new d(m,l);j&&j.data(m,a,p)}}),j&&j.bridget&&j.bridget(a,d),d},q.Item=p,q}var h=a.document,i=a.console,j=a.jQuery,k=function(){},l=Object.prototype.toString,m="object"==typeof HTMLElement?function(a){return a instanceof HTMLElement}:function(a){return a&&"object"==typeof a&&1===a.nodeType&&"string"==typeof a.nodeName},n=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1};"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","doc-ready/doc-ready","eventEmitter/EventEmitter","get-size/get-size","matches-selector/matches-selector","./item"],g):a.Outlayer=g(a.eventie,a.docReady,a.EventEmitter,a.getSize,a.matchesSelector,a.Outlayer.Item)}(window),function(a){function b(a,b){var d=a.create("masonry");return d.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var a=this.cols;for(this.colYs=[];a--;)this.colYs.push(0);this.maxY=0},d.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var a=this.items[0],c=a&&a.element;this.columnWidth=c&&b(c).outerWidth||this.containerWidth}this.columnWidth+=this.gutter,this.cols=Math.floor((this.containerWidth+this.gutter)/this.columnWidth),this.cols=Math.max(this.cols,1)},d.prototype.getContainerWidth=function(){var a=this.options.isFitWidth?this.element.parentNode:this.element,c=b(a);this.containerWidth=c&&c.innerWidth},d.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth%this.columnWidth,d=b&&1>b?"round":"ceil",e=Math[d](a.size.outerWidth/this.columnWidth);e=Math.min(e,this.cols);for(var f=this._getColGroup(e),g=Math.min.apply(Math,f),h=c(f,g),i={x:this.columnWidth*h,y:g},j=g+a.size.outerHeight,k=this.cols+1-f.length,l=0;k>l;l++)this.colYs[h+l]=j;return i},d.prototype._getColGroup=function(a){if(2>a)return this.colYs;for(var b=[],c=this.cols+1-a,d=0;c>d;d++){var e=this.colYs.slice(d,d+a);b[d]=Math.max.apply(Math,e)}return b},d.prototype._manageStamp=function(a){var c=b(a),d=this._getElementOffset(a),e=this.options.isOriginLeft?d.left:d.right,f=e+c.outerWidth,g=Math.floor(e/this.columnWidth);g=Math.max(0,g);var h=Math.floor(f/this.columnWidth);h-=f%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var i=(this.options.isOriginTop?d.top:d.bottom)+c.outerHeight,j=g;h>=j;j++)this.colYs[j]=Math.max(i,this.colYs[j])},d.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var a={height:this.maxY};return this.options.isFitWidth&&(a.width=this._getContainerFitWidth()),a},d.prototype._getContainerFitWidth=function(){for(var a=0,b=this.cols;--b&&0===this.colYs[b];)a++;return(this.cols-a)*this.columnWidth-this.gutter},d.prototype.resize=function(){var a=this.containerWidth;this.getContainerWidth(),a!==this.containerWidth&&this.layout()},d}var c=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++){var e=a[c];if(e===b)return c}return-1};"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],b):a.Masonry=b(a.Outlayer,a.getSize)}(window),function(){function a(){}function b(a,b){for(var c=a.length;c--;)if(a[c].listener===b)return c;return-1}function c(a){return function(){return this[a].apply(this,arguments)}}var d=a.prototype,e=this,f=e.EventEmitter;d.getListeners=function(a){var b,c,d=this._getEvents();if("object"==typeof a){b={};for(c in d)d.hasOwnProperty(c)&&a.test(c)&&(b[c]=d[c])}else b=d[a]||(d[a]=[]);return b},d.flattenListeners=function(a){var b,c=[];for(b=0;a.length>b;b+=1)c.push(a[b].listener);return c},d.getListenersAsObject=function(a){var b,c=this.getListeners(a);return c instanceof Array&&(b={},b[a]=c),b||c},d.addListener=function(a,c){var d,e=this.getListenersAsObject(a),f="object"==typeof c;for(d in e)e.hasOwnProperty(d)&&-1===b(e[d],c)&&e[d].push(f?c:{listener:c,once:!1});return this},d.on=c("addListener"),d.addOnceListener=function(a,b){return this.addListener(a,{listener:b,once:!0})},d.once=c("addOnceListener"),d.defineEvent=function(a){return this.getListeners(a),this},d.defineEvents=function(a){for(var b=0;a.length>b;b+=1)this.defineEvent(a[b]);return this},d.removeListener=function(a,c){var d,e,f=this.getListenersAsObject(a);for(e in f)f.hasOwnProperty(e)&&(d=b(f[e],c),-1!==d&&f[e].splice(d,1));return this},d.off=c("removeListener"),d.addListeners=function(a,b){return this.manipulateListeners(!1,a,b)},d.removeListeners=function(a,b){return this.manipulateListeners(!0,a,b)},d.manipulateListeners=function(a,b,c){var d,e,f=a?this.removeListener:this.addListener,g=a?this.removeListeners:this.addListeners;if("object"!=typeof b||b instanceof RegExp)for(d=c.length;d--;)f.call(this,b,c[d]);else for(d in b)b.hasOwnProperty(d)&&(e=b[d])&&("function"==typeof e?f.call(this,d,e):g.call(this,d,e));return this},d.removeEvent=function(a){var b,c=typeof a,d=this._getEvents();if("string"===c)delete d[a];else if("object"===c)for(b in d)d.hasOwnProperty(b)&&a.test(b)&&delete d[b];else delete this._events;return this},d.removeAllListeners=c("removeEvent"),d.emitEvent=function(a,b){var c,d,e,f,g=this.getListenersAsObject(a);for(e in g)if(g.hasOwnProperty(e))for(d=g[e].length;d--;)c=g[e][d],c.once===!0&&this.removeListener(a,c.listener),f=c.listener.apply(this,b||[]),f===this._getOnceReturnValue()&&this.removeListener(a,c.listener);return this},d.trigger=c("emitEvent"),d.emit=function(a){var b=Array.prototype.slice.call(arguments,1);return this.emitEvent(a,b)},d.setOnceReturnValue=function(a){return this._onceReturnValue=a,this},d._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},d._getEvents=function(){return this._events||(this._events={})},a.noConflict=function(){return e.EventEmitter=f,a},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return a}):"object"==typeof module&&module.exports?module.exports=a:this.EventEmitter=a}.call(this),function(a){function b(b){var c=a.event;return c.target=c.target||c.srcElement||b,c}var c=document.documentElement,d=function(){};c.addEventListener?d=function(a,b,c){a.addEventListener(b,c,!1)}:c.attachEvent&&(d=function(a,c,d){a[c+d]=d.handleEvent?function(){var c=b(a);d.handleEvent.call(d,c)}:function(){var c=b(a);d.call(a,c)},a.attachEvent("on"+c,a[c+d])});var e=function(){};c.removeEventListener?e=function(a,b,c){a.removeEventListener(b,c,!1)}:c.detachEvent&&(e=function(a,b,c){a.detachEvent("on"+b,a[b+c]);try{delete a[b+c]}catch(d){a[b+c]=void 0}});var f={bind:d,unbind:e};"function"==typeof define&&define.amd?define("eventie/eventie",f):a.eventie=f}(this),function(a,b){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(c,d){return b(a,c,d)}):"object"==typeof exports?module.exports=b(a,require("eventEmitter"),require("eventie")):a.imagesLoaded=b(a,a.EventEmitter,a.eventie)}(this,function(a,b,c){function d(a,b){for(var c in b)a[c]=b[c];return a}function e(a){return"[object Array]"===m.call(a)}function f(a){var b=[];if(e(a))b=a;else if("number"==typeof a.length)for(var c=0,d=a.length;d>c;c++)b.push(a[c]);else b.push(a);return b}function g(a,b,c){if(!(this instanceof g))return new g(a,b);"string"==typeof a&&(a=document.querySelectorAll(a)),this.elements=f(a),this.options=d({},this.options),"function"==typeof b?c=b:d(this.options,b),c&&this.on("always",c),this.getImages(),j&&(this.jqDeferred=new j.Deferred);var e=this;setTimeout(function(){e.check()})}function h(a){this.img=a}function i(a){this.src=a,n[a]=this}var j=a.jQuery,k=a.console,l=void 0!==k,m=Object.prototype.toString;g.prototype=new b,g.prototype.options={},g.prototype.getImages=function(){this.images=[];for(var a=0,b=this.elements.length;b>a;a++){var c=this.elements[a];"IMG"===c.nodeName&&this.addImage(c);for(var d=c.querySelectorAll("img"),e=0,f=d.length;f>e;e++){var g=d[e];this.addImage(g)}}},g.prototype.addImage=function(a){var b=new h(a);this.images.push(b)},g.prototype.check=function(){function a(a,e){return b.options.debug&&l&&k.log("confirm",a,e),b.progress(a),c++,c===d&&b.complete(),!0}var b=this,c=0,d=this.images.length;if(this.hasAnyBroken=!1,!d)return void this.complete();for(var e=0;d>e;e++){var f=this.images[e];f.on("confirm",a),f.check()}},g.prototype.progress=function(a){this.hasAnyBroken=this.hasAnyBroken||!a.isLoaded;var b=this;setTimeout(function(){b.emit("progress",b,a),b.jqDeferred&&b.jqDeferred.notify&&b.jqDeferred.notify(b,a)})},g.prototype.complete=function(){var a=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var b=this;setTimeout(function(){if(b.emit(a,b),b.emit("always",b),b.jqDeferred){var c=b.hasAnyBroken?"reject":"resolve";b.jqDeferred[c](b)}})},j&&(j.fn.imagesLoaded=function(a,b){var c=new g(this,a,b);return c.jqDeferred.promise(j(this))}),h.prototype=new b,h.prototype.check=function(){var a=n[this.img.src]||new i(this.img.src);if(a.isConfirmed)return void this.confirm(a.isLoaded,"cached was confirmed");if(this.img.complete&&void 0!==this.img.naturalWidth)return void this.confirm(0!==this.img.naturalWidth,"naturalWidth");var b=this;a.on("confirm",function(a,c){return b.confirm(a.isLoaded,c),!0}),a.check()},h.prototype.confirm=function(a,b){this.isLoaded=a,this.emit("confirm",this,b)};var n={};return i.prototype=new b,i.prototype.check=function(){if(!this.isChecked){var a=new Image;c.bind(a,"load",this),c.bind(a,"error",this),a.src=this.src,this.isChecked=!0}},i.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},i.prototype.onload=function(a){this.confirm(!0,"onload"),this.unbindProxyEvents(a)},i.prototype.onerror=function(a){this.confirm(!1,"onerror"),this.unbindProxyEvents(a)},i.prototype.confirm=function(a,b){this.isConfirmed=!0,this.isLoaded=a,this.emit("confirm",this,b)},i.prototype.unbindProxyEvents=function(a){c.unbind(a.target,"load",this),c.unbind(a.target,"error",this)},g});
\ No newline at end of file
index 912c4c7ce4c161d795391a8ae30222abcc068da1..afd60fab37da0819c9ff66745d4809c8689af506 100644 (file)
+/* global tinymce, MediaElementPlayer, WPPlaylistView */
+/**
+ * Note: this API is "experimental" meaning that it will probably change
+ * in the next few releases based on feedback from 3.9.0.
+ * If you decide to use it, please follow the development closely.
+ */
+
 // Ensure the global `wp` object exists.
 window.wp = window.wp || {};
 
 (function($){
        var views = {},
-               instances = {};
+               instances = {},
+               media = wp.media,
+               viewOptions = ['encodedText'];
 
        // Create the `wp.mce` object if necessary.
        wp.mce = wp.mce || {};
 
-       // wp.mce.view
-       // -----------
-       // A set of utilities that simplifies adding custom UI within a TinyMCE editor.
-       // At its core, it serves as a series of converters, transforming text to a
-       // custom UI, and back again.
-       wp.mce.view = {
-               // ### defaults
-               defaults: {
-                       // The default properties used for objects with the `pattern` key in
-                       // `wp.mce.view.add()`.
-                       pattern: {
-                               view: Backbone.View,
-                               text: function( instance ) {
-                                       return instance.options.original;
-                               },
-
-                               toView: function( content ) {
-                                       if ( ! this.pattern )
-                                               return;
-
-                                       this.pattern.lastIndex = 0;
-                                       var match = this.pattern.exec( content );
-
-                                       if ( ! match )
-                                               return;
-
-                                       return {
-                                               index:   match.index,
-                                               content: match[0],
-                                               options: {
-                                                       original: match[0],
-                                                       results:  match
-                                               }
-                                       };
-                               }
-                       },
-
-                       // The default properties used for objects with the `shortcode` key in
-                       // `wp.mce.view.add()`.
-                       shortcode: {
-                               view: Backbone.View,
-                               text: function( instance ) {
-                                       return instance.options.shortcode.string();
-                               },
-
-                               toView: function( content ) {
-                                       var match = wp.shortcode.next( this.shortcode, content );
-
-                                       if ( ! match )
-                                               return;
+       /**
+        * wp.mce.View
+        *
+        * A Backbone-like View constructor intended for use when rendering a TinyMCE View. The main difference is
+        * that the TinyMCE View is not tied to a particular DOM node.
+        */
+       wp.mce.View = function( options ) {
+               options || (options = {});
+               _.extend(this, _.pick(options, viewOptions));
+               this.initialize.apply(this, arguments);
+       };
 
-                                       return {
-                                               index:   match.index,
-                                               content: match.content,
-                                               options: {
-                                                       shortcode: match.shortcode
-                                               }
-                                       };
+       _.extend( wp.mce.View.prototype, {
+               initialize: function() {},
+               getHtml: function() {},
+               render: function() {
+                       var html = this.getHtml();
+                       // Search all tinymce editor instances and update the placeholders
+                       _.each( tinymce.editors, function( editor ) {
+                               var doc, self = this;
+                               if ( editor.plugins.wpview ) {
+                                       doc = editor.getDoc();
+                                       $( doc ).find( '[data-wpview-text="' + this.encodedText + '"]' ).each(function (i, elem) {
+                                               var node = $( elem );
+                                               // The <ins> is used to mark the end of the wrapper div. Needed when comparing
+                                               // the content as string for preventing extra undo levels.
+                                               node.html( html ).append( '<ins data-wpview-end="1"></ins>' );
+                                               $( self ).trigger( 'ready', elem );
+                                       });
                                }
-                       }
+                       }, this );
+               },
+               unbind: function() {}
+       } );
+
+       // take advantage of the Backbone extend method
+       wp.mce.View.extend = Backbone.View.extend;
+
+       /**
+        * wp.mce.views
+        *
+        * A set of utilities that simplifies adding custom UI within a TinyMCE editor.
+        * At its core, it serves as a series of converters, transforming text to a
+        * custom UI, and back again.
+        */
+       wp.mce.views = {
+
+               /**
+                * wp.mce.views.register( type, view )
+                *
+                * Registers a new TinyMCE view.
+                *
+                * @param type
+                * @param constructor
+                *
+                */
+               register: function( type, constructor ) {
+                       views[ type ] = constructor;
                },
 
-               // ### add( id, options )
-               // Registers a new TinyMCE view.
-               //
-               // Accepts a unique `id` and an `options` object.
-               //
-               // `options` accepts the following properties:
-               //
-               // * `pattern` is the regular expression used to scan the content and
-               // detect matching views.
-               //
-               // * `view` is a `Backbone.View` constructor. If a plain object is
-               // provided, it will automatically extend the parent constructor
-               // (usually `Backbone.View`). Views are instantiated when the `pattern`
-               // is successfully matched. The instance's `options` object is provided
-               // with the `original` matched value, the match `results` including
-               // capture groups, and the `viewType`, which is the constructor's `id`.
-               //
-               // * `extend` an existing view by passing in its `id`. The current
-               // view will inherit all properties from the parent view, and if
-               // `view` is set to a plain object, it will extend the parent `view`
-               // constructor.
-               //
-               // * `text` is a method that accepts an instance of the `view`
-               // constructor and transforms it into a text representation.
-               add: function( id, options ) {
-                       var parent, remove, base, properties;
-
-                       // Fetch the parent view or the default options.
-                       if ( options.extend )
-                               parent = wp.mce.view.get( options.extend );
-                       else if ( options.shortcode )
-                               parent = wp.mce.view.defaults.shortcode;
-                       else
-                               parent = wp.mce.view.defaults.pattern;
-
-                       // Extend the `options` object with the parent's properties.
-                       _.defaults( options, parent );
-                       options.id = id;
-
-                       // Create properties used to enhance the view for use in TinyMCE.
-                       properties = {
-                               // Ensure the wrapper element and references to the view are
-                               // removed. Otherwise, removed views could randomly restore.
-                               remove: function() {
-                                       delete instances[ this.el.id ];
-                                       this.$el.parent().remove();
-
-                                       // Trigger the inherited `remove` method.
-                                       if ( remove )
-                                               remove.apply( this, arguments );
-
-                                       return this;
-                               }
-                       };
-
-                       // If the `view` provided was an object, use the parent's
-                       // `view` constructor as a base. If a `view` constructor
-                       // was provided, treat that as the base.
-                       if ( _.isFunction( options.view ) ) {
-                               base = options.view;
-                       } else {
-                               base   = parent.view;
-                               remove = options.view.remove;
-                               _.defaults( properties, options.view );
-                       }
-
-                       // If there's a `remove` method on the `base` view that wasn't
-                       // created by this method, inherit it.
-                       if ( ! remove && ! base._mceview )
-                               remove = base.prototype.remove;
-
-                       // Automatically create the new `Backbone.View` constructor.
-                       options.view = base.extend( properties, {
-                               // Flag that the new view has been created by `wp.mce.view`.
-                               _mceview: true
-                       });
-
-                       views[ id ] = options;
+               /**
+                * wp.mce.views.get( id )
+                *
+                * Returns a TinyMCE view constructor.
+                */
+               get: function( type ) {
+                       return views[ type ];
                },
 
-               // ### get( id )
-               // Returns a TinyMCE view options object.
-               get: function( id ) {
-                       return views[ id ];
+               /**
+                * wp.mce.views.unregister( type )
+                *
+                * Unregisters a TinyMCE view.
+                */
+               unregister: function( type ) {
+                       delete views[ type ];
                },
 
-               // ### remove( id )
-               // Unregisters a TinyMCE view.
-               remove: function( id ) {
-                       delete views[ id ];
+               /**
+                * wp.mce.views.unbind( editor )
+                *
+                * The editor DOM is being rebuilt, run cleanup.
+                */
+               unbind: function() {
+                       _.each( instances, function( instance ) {
+                               instance.unbind();
+                       } );
                },
 
-               // ### toViews( content )
-               // Scans a `content` string for each view's pattern, replacing any
-               // matches with wrapper elements, and creates a new view instance for
-               // every match.
-               //
-               // To render the views, call `wp.mce.view.render( scope )`.
+               /**
+                * toViews( content )
+                * Scans a `content` string for each view's pattern, replacing any
+                * matches with wrapper elements, and creates a new instance for
+                * every match, which triggers the related data to be fetched.
+                *
+                */
                toViews: function( content ) {
                        var pieces = [ { content: content } ],
                                current;
@@ -190,12 +135,13 @@ window.wp = window.wp || {};
                                        // and slicing the string as we go.
                                        while ( remaining && (result = view.toView( remaining )) ) {
                                                // Any text before the match becomes an unprocessed piece.
-                                               if ( result.index )
+                                               if ( result.index ) {
                                                        pieces.push({ content: remaining.substring( 0, result.index ) });
+                                               }
 
                                                // Add the processed piece for the match.
                                                pieces.push({
-                                                       content:   wp.mce.view.toView( viewType, result.options ),
+                                                       content: wp.mce.views.toView( viewType, result.content, result.options ),
                                                        processed: true
                                                });
 
@@ -205,145 +151,563 @@ window.wp = window.wp || {};
 
                                        // There are no additional matches. If any content remains,
                                        // add it as an unprocessed piece.
-                                       if ( remaining )
+                                       if ( remaining ) {
                                                pieces.push({ content: remaining });
+                                       }
                                });
                        });
 
                        return _.pluck( pieces, 'content' ).join('');
                },
 
-               toView: function( viewType, options ) {
-                       var view = wp.mce.view.get( viewType ),
-                               instance, id;
+               /**
+                * Create a placeholder for a particular view type
+                *
+                * @param viewType
+                * @param text
+                * @param options
+                *
+                */
+               toView: function( viewType, text, options ) {
+                       var view = wp.mce.views.get( viewType ),
+                               encodedText = window.encodeURIComponent( text ),
+                               instance, viewOptions;
+
+
+                       if ( ! view ) {
+                               return text;
+                       }
 
-                       if ( ! view )
-                               return '';
+                       if ( ! wp.mce.views.getInstance( encodedText ) ) {
+                               viewOptions = options;
+                               viewOptions.encodedText = encodedText;
+                               instance = new view.View( viewOptions );
+                               instances[ encodedText ] = instance;
+                       }
 
-                       // Create a new view instance.
-                       instance = new view.view( _.extend( options || {}, {
-                               viewType: viewType
-                       }) );
+                       return wp.html.string({
+                               tag: 'div',
 
-                       // Use the view's `id` if it already exists. Otherwise,
-                       // create a new `id`.
-                       id = instance.el.id = instance.el.id || _.uniqueId('__wpmce-');
-                       instances[ id ] = instance;
+                               attrs: {
+                                       'class': 'wpview-wrap wpview-type-' + viewType,
+                                       'data-wpview-text': encodedText,
+                                       'data-wpview-type': viewType,
+                                       'contenteditable': 'false'
+                               },
 
-                       // Create a dummy `$wrapper` property to allow `$wrapper` to be
-                       // called in the view's `render` method without a conditional.
-                       instance.$wrapper = $();
+                               content: '\u00a0'
+                       });
+               },
 
-                       return wp.html.string({
-                               // If the view is a span, wrap it in a span.
-                               tag: 'span' === instance.tagName ? 'span' : 'div',
+               /**
+                * Refresh views after an update is made
+                *
+                * @param view {object} being refreshed
+                * @param text {string} textual representation of the view
+                */
+               refreshView: function( view, text ) {
+                       var encodedText = window.encodeURIComponent( text ),
+                               viewOptions,
+                               result, instance;
+
+                       instance = wp.mce.views.getInstance( encodedText );
+
+                       if ( ! instance ) {
+                               result = view.toView( text );
+                               viewOptions = result.options;
+                               viewOptions.encodedText = encodedText;
+                               instance = new view.View( viewOptions );
+                               instances[ encodedText ] = instance;
+                       }
 
-                               attrs: {
-                                       'class':           'wp-view-wrap wp-view-type-' + viewType,
-                                       'data-wp-view':    id,
-                                       'contenteditable': false
+                       wp.mce.views.render();
+               },
+
+               getInstance: function( encodedText ) {
+                       return instances[ encodedText ];
+               },
+
+               /**
+                * render( scope )
+                *
+                * Renders any view instances inside a DOM node `scope`.
+                *
+                * View instances are detected by the presence of wrapper elements.
+                * To generate wrapper elements, pass your content through
+                * `wp.mce.view.toViews( content )`.
+                */
+               render: function() {
+                       _.each( instances, function( instance ) {
+                               instance.render();
+                       } );
+               },
+
+               edit: function( node ) {
+                       var viewType = $( node ).data('wpview-type'),
+                               view = wp.mce.views.get( viewType );
+
+                       if ( view ) {
+                               view.edit( node );
+                       }
+               }
+       };
+
+       wp.mce.gallery = {
+               shortcode: 'gallery',
+               toView:  function( content ) {
+                       var match = wp.shortcode.next( this.shortcode, content );
+
+                       if ( ! match ) {
+                               return;
+                       }
+
+                       return {
+                               index:   match.index,
+                               content: match.content,
+                               options: {
+                                       shortcode: match.shortcode
                                }
-                       });
+                       };
                },
+               View: wp.mce.View.extend({
+                       className: 'editor-gallery',
+                       template:  media.template('editor-gallery'),
+
+                       // The fallback post ID to use as a parent for galleries that don't
+                       // specify the `ids` or `include` parameters.
+                       //
+                       // Uses the hidden input on the edit posts page by default.
+                       postID: $('#post_ID').val(),
+
+                       initialize: function( options ) {
+                               this.shortcode = options.shortcode;
+                               this.fetch();
+                       },
 
-               // ### render( scope )
-               // Renders any view instances inside a DOM node `scope`.
-               //
-               // View instances are detected by the presence of wrapper elements.
-               // To generate wrapper elements, pass your content through
-               // `wp.mce.view.toViews( content )`.
-               render: function( scope ) {
-                       $( '.wp-view-wrap', scope ).each( function() {
-                               var wrapper = $(this),
-                                       view = wp.mce.view.instance( this );
-
-                               if ( ! view )
+                       fetch: function() {
+                               this.attachments = wp.media.gallery.attachments( this.shortcode, this.postID );
+                               this.dfd = this.attachments.more().done( _.bind( this.render, this ) );
+                       },
+
+                       getHtml: function() {
+                               var attrs = this.shortcode.attrs.named,
+                                       attachments = false,
+                                       options;
+
+                               // Don't render errors while still fetching attachments
+                               if ( this.dfd && 'pending' === this.dfd.state() && ! this.attachments.length ) {
                                        return;
+                               }
 
-                               // Link the real wrapper to the view.
-                               view.$wrapper = wrapper;
-                               // Render the view.
-                               view.render();
-                               // Detach the view element to ensure events are not unbound.
-                               view.$el.detach();
-
-                               // Empty the wrapper, attach the view element to the wrapper,
-                               // and add an ending marker to the wrapper to help regexes
-                               // scan the HTML string.
-                               wrapper.empty().append( view.el ).append('<span data-wp-view-end class="wp-view-end"></span>');
+                               if ( this.attachments.length ) {
+                                       attachments = this.attachments.toJSON();
+
+                                       _.each( attachments, function( attachment ) {
+                                               if ( attachment.sizes ) {
+                                                       if ( attachment.sizes.thumbnail ) {
+                                                               attachment.thumbnail = attachment.sizes.thumbnail;
+                                                       } else if ( attachment.sizes.full ) {
+                                                               attachment.thumbnail = attachment.sizes.full;
+                                                       }
+                                               }
+                                       } );
+                               }
+
+                               options = {
+                                       attachments: attachments,
+                                       columns: attrs.columns ? parseInt( attrs.columns, 10 ) : 3
+                               };
+
+                               return this.template( options );
+
+                       }
+               }),
+
+               edit: function( node ) {
+                       var gallery = wp.media.gallery,
+                               self = this,
+                               frame, data;
+
+                       data = window.decodeURIComponent( $( node ).attr('data-wpview-text') );
+                       frame = gallery.edit( data );
+
+                       frame.state('gallery-edit').on( 'update', function( selection ) {
+                               var shortcode = gallery.shortcode( selection ).string();
+                               $( node ).attr( 'data-wpview-text', window.encodeURIComponent( shortcode ) );
+                               wp.mce.views.refreshView( self, shortcode );
+                               frame.detach();
                        });
+               }
+
+       };
+       wp.mce.views.register( 'gallery', wp.mce.gallery );
+
+       /**
+        * Tiny MCE Views for Audio / Video
+        *
+        */
+
+       /**
+        * These are base methods that are shared by each shortcode's MCE controller
+        *
+        * @mixin
+        */
+       wp.mce.media = {
+               loaded: false,
+               /**
+                * @global wp.shortcode
+                *
+                * @param {string} content
+                * @returns {Object}
+                */
+               toView:  function( content ) {
+                       var match = wp.shortcode.next( this.shortcode, content );
+
+                       if ( ! match ) {
+                               return;
+                       }
+
+                       return {
+                               index:   match.index,
+                               content: match.content,
+                               options: {
+                                       shortcode: match.shortcode
+                               }
+                       };
                },
 
-               // ### toText( content )
-               // Scans an HTML `content` string and replaces any view instances with
-               // their respective text representations.
-               toText: function( content ) {
-                       return content.replace( /<(?:div|span)[^>]+data-wp-view="([^"]+)"[^>]*>.*?<span[^>]+data-wp-view-end[^>]*><\/span><\/(?:div|span)>/g, function( match, id ) {
-                               var instance = instances[ id ],
-                                       view;
+               /**
+                * Called when a TinyMCE view is clicked for editing.
+                * - Parses the shortcode out of the element's data attribute
+                * - Calls the `edit` method on the shortcode model
+                * - Launches the model window
+                * - Bind's an `update` callback which updates the element's data attribute
+                *   re-renders the view
+                *
+                * @param {HTMLElement} node
+                */
+               edit: function( node ) {
+                       var media = wp.media[ this.shortcode ],
+                               self = this,
+                               frame, data, callback;
+
+                       wp.media.mixin.pauseAllPlayers();
+
+                       data = window.decodeURIComponent( $( node ).attr('data-wpview-text') );
+                       frame = media.edit( data );
+                       frame.on( 'close', function() {
+                               frame.detach();
+                       } );
+
+                       callback = function( selection ) {
+                               var shortcode = wp.media[ self.shortcode ].shortcode( selection ).string();
+                               $( node ).attr( 'data-wpview-text', window.encodeURIComponent( shortcode ) );
+                               wp.mce.views.refreshView( self, shortcode );
+                               frame.detach();
+                       };
+                       if ( _.isArray( self.state ) ) {
+                               _.each( self.state, function (state) {
+                                       frame.state( state ).on( 'update', callback );
+                               } );
+                       } else {
+                               frame.state( self.state ).on( 'update', callback );
+                       }
+                       frame.open();
+               }
+       };
 
-                               if ( instance )
-                                       view = wp.mce.view.get( instance.options.viewType );
+       /**
+        * Base View class for audio and video shortcodes
+        *
+        * @constructor
+        * @augments wp.mce.View
+        * @mixes wp.media.mixin
+        */
+       wp.mce.media.View = wp.mce.View.extend({
+               initialize: function( options ) {
+                       this.players = [];
+                       this.shortcode = options.shortcode;
+                       _.bindAll( this, 'setPlayer' );
+                       $(this).on( 'ready', this.setPlayer );
+               },
 
-                               return instance && view ? view.text( instance ) : '';
-                       });
+               /**
+                * Creates the player instance for the current node
+                *
+                * @global MediaElementPlayer
+                * @global _wpmejsSettings
+                *
+                * @param {Event} e
+                * @param {HTMLElement} node
+                */
+               setPlayer: function(e, node) {
+                       // if the ready event fires on an empty node
+                       if ( ! node ) {
+                               return;
+                       }
+
+                       var self = this,
+                               media,
+                               firefox = this.ua.is( 'ff' ),
+                               className = '.wp-' +  this.shortcode.tag + '-shortcode';
+
+                       if ( this.player ) {
+                               this.unsetPlayer();
+                       }
+
+                       media = $( node ).find( className );
+
+                       if ( ! this.isCompatible( media ) ) {
+                               media.closest( '.wpview-wrap' ).addClass( 'wont-play' );
+                               if ( ! media.parent().hasClass( 'wpview-wrap' ) ) {
+                                       media.parent().replaceWith( media );
+                               }
+                               media.replaceWith( '<p>' + media.find( 'source' ).eq(0).prop( 'src' ) + '</p>' );
+                               return;
+                       } else {
+                               media.closest( '.wpview-wrap' ).removeClass( 'wont-play' );
+                               if ( firefox ) {
+                                       media.prop( 'preload', 'metadata' );
+                               } else {
+                                       media.prop( 'preload', 'none' );
+                               }
+                       }
+
+                       media = wp.media.view.MediaDetails.prepareSrc( media.get(0) );
+
+                       setTimeout( function() {
+                               wp.mce.media.loaded = true;
+                               self.players.push( new MediaElementPlayer( media, self.mejsSettings ) );
+                       }, wp.mce.media.loaded ? 10 : 500 );
                },
 
-               // ### Remove internal TinyMCE attributes.
-               removeInternalAttrs: function( attrs ) {
-                       var result = {};
-                       _.each( attrs, function( value, attr ) {
-                               if ( -1 === attr.indexOf('data-mce') )
-                                       result[ attr ] = value;
-                       });
-                       return result;
+               /**
+                * Pass data to the View's Underscore template and return the compiled output
+                *
+                * @returns {string}
+                */
+               getHtml: function() {
+                       var attrs = _.defaults(
+                               this.shortcode.attrs.named,
+                               wp.media[ this.shortcode.tag ].defaults
+                       );
+                       return this.template({ model: attrs });
                },
 
-               // ### Parse an attribute string and removes internal TinyMCE attributes.
-               attrs: function( content ) {
-                       return wp.mce.view.removeInternalAttrs( wp.html.attrs( content ) );
+               unbind: function() {
+                       var self = this;
+                       this.pauseAllPlayers();
+                       _.each( this.players, function (player) {
+                               self.removePlayer( player );
+                       } );
+                       this.players = [];
+               }
+       });
+       _.extend( wp.mce.media.View.prototype, wp.media.mixin );
+
+       /**
+        * TinyMCE handler for the video shortcode
+        *
+        * @mixes wp.mce.media
+        */
+       wp.mce.video = _.extend( {}, wp.mce.media, {
+               shortcode: 'video',
+               state: 'video-details',
+               View: wp.mce.media.View.extend({
+                       className: 'editor-video',
+                       template:  media.template('editor-video')
+               })
+       } );
+       wp.mce.views.register( 'video', wp.mce.video );
+
+       /**
+        * TinyMCE handler for the audio shortcode
+        *
+        * @mixes wp.mce.media
+        */
+       wp.mce.audio = _.extend( {}, wp.mce.media, {
+               shortcode: 'audio',
+               state: 'audio-details',
+               View: wp.mce.media.View.extend({
+                       className: 'editor-audio',
+                       template:  media.template('editor-audio')
+               })
+       } );
+       wp.mce.views.register( 'audio', wp.mce.audio );
+
+       /**
+        * Base View class for playlist shortcodes
+        *
+        * @constructor
+        * @augments wp.mce.View
+        * @mixes wp.media.mixin
+        */
+       wp.mce.media.PlaylistView = wp.mce.View.extend({
+               className: 'editor-playlist',
+               template:  media.template('editor-playlist'),
+
+               initialize: function( options ) {
+                       this.data = {};
+                       this.attachments = [];
+                       this.shortcode = options.shortcode;
+                       _.bindAll( this, 'setPlayer' );
+                       $(this).on('ready', this.setNode);
                },
 
-               // ### instance( scope )
-               //
-               // Accepts a MCE view wrapper `node` (i.e. a node with the
-               // `wp-view-wrap` class).
-               instance: function( node ) {
-                       var id = $( node ).data('wp-view');
+               /**
+                * Set the element context for the view, and then fetch the playlist's
+                *   associated attachments.
+                *
+                * @param {Event} e
+                * @param {HTMLElement} node
+                */
+               setNode: function(e, node) {
+                       this.node = node;
+                       this.fetch();
+               },
 
-                       if ( id )
-                               return instances[ id ];
+               /**
+                * Asynchronously fetch the shortcode's attachments
+                */
+               fetch: function() {
+                       this.attachments = wp.media.playlist.attachments( this.shortcode );
+                       this.attachments.more().done( this.setPlayer );
                },
 
-               // ### Select a view.
-               //
-               // Accepts a MCE view wrapper `node` (i.e. a node with the
-               // `wp-view-wrap` class).
-               select: function( node ) {
-                       var $node = $(node);
+               /**
+                * Get the HTML for the view (which also set's the data), replace the
+                *   current HTML, and then invoke the WPPlaylistView instance to render
+                *   the playlist in the editor
+                *
+                * @global WPPlaylistView
+                * @global tinymce.editors
+                */
+               setPlayer: function() {
+                       var p,
+                               html = this.getHtml(),
+                               t = this.encodedText,
+                               self = this;
+
+                       this.unsetPlayer();
+
+                       _.each( tinymce.editors, function( editor ) {
+                               var doc;
+                               if ( editor.plugins.wpview ) {
+                                       doc = editor.getDoc();
+                                       $( doc ).find( '[data-wpview-text="' + t + '"]' ).each(function(i, elem) {
+                                               var node = $( elem );
+                                               node.html( html );
+                                               self.node = elem;
+                                       });
+                               }
+                       }, this );
 
-                       // Bail if node is already selected.
-                       if ( $node.hasClass('selected') )
+                       if ( ! this.data.tracks ) {
                                return;
+                       }
 
-                       $node.addClass('selected');
-                       $( node.firstChild ).trigger('select');
-               },
+                       p = new WPPlaylistView({
+                               el: $( self.node ).find( '.wp-playlist' ).get(0),
+                               metadata: this.data
+                       });
 
-               // ### Deselect a view.
-               //
-               // Accepts a MCE view wrapper `node` (i.e. a node with the
-               // `wp-view-wrap` class).
-               deselect: function( node ) {
-                       var $node = $(node);
+                       this.player = p._player;
+               },
 
-                       // Bail if node is already selected.
-                       if ( ! $node.hasClass('selected') )
+               /**
+                * Set the data that will be used to compile the Underscore template,
+                *  compile the template, and then return it.
+                *
+                * @returns {string}
+                */
+               getHtml: function() {
+                       var data = this.shortcode.attrs.named,
+                               model = wp.media.playlist,
+                               options,
+                               attachments,
+                               tracks = [];
+
+                       // Don't render errors while still fetching attachments
+                       if ( this.dfd && 'pending' === this.dfd.state() && ! this.attachments.length ) {
                                return;
+                       }
 
-                       $node.removeClass('selected');
-                       $( node.firstChild ).trigger('deselect');
-               }
-       };
+                       _.each( model.defaults, function( value, key ) {
+                               data[ key ] = model.coerce( data, key );
+                       });
+
+                       options = {
+                               type: data.type,
+                               style: data.style,
+                               tracklist: data.tracklist,
+                               tracknumbers: data.tracknumbers,
+                               images: data.images,
+                               artists: data.artists
+                       };
+
+                       if ( ! this.attachments.length ) {
+                               return this.template( options );
+                       }
+
+                       attachments = this.attachments.toJSON();
+
+                       _.each( attachments, function( attachment ) {
+                               var size = {}, resize = {}, track = {
+                                       src : attachment.url,
+                                       type : attachment.mime,
+                                       title : attachment.title,
+                                       caption : attachment.caption,
+                                       description : attachment.description,
+                                       meta : attachment.meta
+                               };
+
+                               if ( 'video' === data.type ) {
+                                       size.width = attachment.width;
+                                       size.height = attachment.height;
+                                       if ( media.view.settings.contentWidth ) {
+                                               resize.width = media.view.settings.contentWidth - 22;
+                                               resize.height = Math.ceil( ( size.height * resize.width ) / size.width );
+                                               if ( ! options.width ) {
+                                                       options.width = resize.width;
+                                                       options.height = resize.height;
+                                               }
+                                       } else {
+                                               if ( ! options.width ) {
+                                                       options.width = attachment.width;
+                                                       options.height = attachment.height;
+                                               }
+                                       }
+                                       track.dimensions = {
+                                               original : size,
+                                               resized : _.isEmpty( resize ) ? size : resize
+                                       };
+                               } else {
+                                       options.width = 400;
+                               }
 
-}(jQuery));
\ No newline at end of file
+                               track.image = attachment.image;
+                               track.thumb = attachment.thumb;
+
+                               tracks.push( track );
+                       } );
+
+                       options.tracks = tracks;
+                       this.data = options;
+
+                       return this.template( options );
+               }
+       });
+       _.extend( wp.mce.media.PlaylistView.prototype, wp.media.mixin );
+
+       /**
+        * TinyMCE handler for the playlist shortcode
+        *
+        * @mixes wp.mce.media
+        */
+       wp.mce.playlist = _.extend( {}, wp.mce.media, {
+               shortcode: 'playlist',
+               state: ['playlist-edit', 'video-playlist-edit'],
+               View: wp.mce.media.PlaylistView
+       } );
+       wp.mce.views.register( 'playlist', wp.mce.playlist );
+}(jQuery));
index 8daa4d6fecc22588357c68a72e4fc8f211151b89..72ac9fa547537009bc73b00a98f844ac6b236e69 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){var b={},c={};wp.mce=wp.mce||{},wp.mce.view={defaults:{pattern:{view:Backbone.View,text:function(a){return a.options.original},toView:function(a){if(this.pattern){this.pattern.lastIndex=0;var b=this.pattern.exec(a);if(b)return{index:b.index,content:b[0],options:{original:b[0],results:b}}}}},shortcode:{view:Backbone.View,text:function(a){return a.options.shortcode.string()},toView:function(a){var b=wp.shortcode.next(this.shortcode,a);if(b)return{index:b.index,content:b.content,options:{shortcode:b.shortcode}}}}},add:function(a,d){var e,f,g,h;e=d.extend?wp.mce.view.get(d.extend):d.shortcode?wp.mce.view.defaults.shortcode:wp.mce.view.defaults.pattern,_.defaults(d,e),d.id=a,h={remove:function(){return delete c[this.el.id],this.$el.parent().remove(),f&&f.apply(this,arguments),this}},_.isFunction(d.view)?g=d.view:(g=e.view,f=d.view.remove,_.defaults(h,d.view)),f||g._mceview||(f=g.prototype.remove),d.view=g.extend(h,{_mceview:!0}),b[a]=d},get:function(a){return b[a]},remove:function(a){delete b[a]},toViews:function(a){var c,d=[{content:a}];return _.each(b,function(a,b){c=d.slice(),d=[],_.each(c,function(c){var e,f=c.content;if(c.processed)return d.push(c),void 0;for(;f&&(e=a.toView(f));)e.index&&d.push({content:f.substring(0,e.index)}),d.push({content:wp.mce.view.toView(b,e.options),processed:!0}),f=f.slice(e.index+e.content.length);f&&d.push({content:f})})}),_.pluck(d,"content").join("")},toView:function(b,d){var e,f,g=wp.mce.view.get(b);return g?(e=new g.view(_.extend(d||{},{viewType:b})),f=e.el.id=e.el.id||_.uniqueId("__wpmce-"),c[f]=e,e.$wrapper=a(),wp.html.string({tag:"span"===e.tagName?"span":"div",attrs:{"class":"wp-view-wrap wp-view-type-"+b,"data-wp-view":f,contenteditable:!1}})):""},render:function(b){a(".wp-view-wrap",b).each(function(){var b=a(this),c=wp.mce.view.instance(this);c&&(c.$wrapper=b,c.render(),c.$el.detach(),b.empty().append(c.el).append('<span data-wp-view-end class="wp-view-end"></span>'))})},toText:function(a){return a.replace(/<(?:div|span)[^>]+data-wp-view="([^"]+)"[^>]*>.*?<span[^>]+data-wp-view-end[^>]*><\/span><\/(?:div|span)>/g,function(a,b){var d,e=c[b];return e&&(d=wp.mce.view.get(e.options.viewType)),e&&d?d.text(e):""})},removeInternalAttrs:function(a){var b={};return _.each(a,function(a,c){-1===c.indexOf("data-mce")&&(b[c]=a)}),b},attrs:function(a){return wp.mce.view.removeInternalAttrs(wp.html.attrs(a))},instance:function(b){var d=a(b).data("wp-view");return d?c[d]:void 0},select:function(b){var c=a(b);c.hasClass("selected")||(c.addClass("selected"),a(b.firstChild).trigger("select"))},deselect:function(b){var c=a(b);c.hasClass("selected")&&(c.removeClass("selected"),a(b.firstChild).trigger("deselect"))}}}(jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a){var b={},c={},d=wp.media,e=["encodedText"];wp.mce=wp.mce||{},wp.mce.View=function(a){a||(a={}),_.extend(this,_.pick(a,e)),this.initialize.apply(this,arguments)},_.extend(wp.mce.View.prototype,{initialize:function(){},getHtml:function(){},render:function(){var b=this.getHtml();_.each(tinymce.editors,function(c){var d,e=this;c.plugins.wpview&&(d=c.getDoc(),a(d).find('[data-wpview-text="'+this.encodedText+'"]').each(function(c,d){var f=a(d);f.html(b).append('<ins data-wpview-end="1"></ins>'),a(e).trigger("ready",d)}))},this)},unbind:function(){}}),wp.mce.View.extend=Backbone.View.extend,wp.mce.views={register:function(a,c){b[a]=c},get:function(a){return b[a]},unregister:function(a){delete b[a]},unbind:function(){_.each(c,function(a){a.unbind()})},toViews:function(a){var c,d=[{content:a}];return _.each(b,function(a,b){c=d.slice(),d=[],_.each(c,function(c){var e,f=c.content;if(c.processed)return void d.push(c);for(;f&&(e=a.toView(f));)e.index&&d.push({content:f.substring(0,e.index)}),d.push({content:wp.mce.views.toView(b,e.content,e.options),processed:!0}),f=f.slice(e.index+e.content.length);f&&d.push({content:f})})}),_.pluck(d,"content").join("")},toView:function(a,b,d){var e,f,g=wp.mce.views.get(a),h=window.encodeURIComponent(b);return g?(wp.mce.views.getInstance(h)||(f=d,f.encodedText=h,e=new g.View(f),c[h]=e),wp.html.string({tag:"div",attrs:{"class":"wpview-wrap wpview-type-"+a,"data-wpview-text":h,"data-wpview-type":a,contenteditable:"false"},content:" "})):b},refreshView:function(a,b){var d,e,f,g=window.encodeURIComponent(b);f=wp.mce.views.getInstance(g),f||(e=a.toView(b),d=e.options,d.encodedText=g,f=new a.View(d),c[g]=f),wp.mce.views.render()},getInstance:function(a){return c[a]},render:function(){_.each(c,function(a){a.render()})},edit:function(b){var c=a(b).data("wpview-type"),d=wp.mce.views.get(c);d&&d.edit(b)}},wp.mce.gallery={shortcode:"gallery",toView:function(a){var b=wp.shortcode.next(this.shortcode,a);if(b)return{index:b.index,content:b.content,options:{shortcode:b.shortcode}}},View:wp.mce.View.extend({className:"editor-gallery",template:d.template("editor-gallery"),postID:a("#post_ID").val(),initialize:function(a){this.shortcode=a.shortcode,this.fetch()},fetch:function(){this.attachments=wp.media.gallery.attachments(this.shortcode,this.postID),this.dfd=this.attachments.more().done(_.bind(this.render,this))},getHtml:function(){var a,b=this.shortcode.attrs.named,c=!1;if(!this.dfd||"pending"!==this.dfd.state()||this.attachments.length)return this.attachments.length&&(c=this.attachments.toJSON(),_.each(c,function(a){a.sizes&&(a.sizes.thumbnail?a.thumbnail=a.sizes.thumbnail:a.sizes.full&&(a.thumbnail=a.sizes.full))})),a={attachments:c,columns:b.columns?parseInt(b.columns,10):3},this.template(a)}}),edit:function(b){var c,d,e=wp.media.gallery,f=this;d=window.decodeURIComponent(a(b).attr("data-wpview-text")),c=e.edit(d),c.state("gallery-edit").on("update",function(d){var g=e.shortcode(d).string();a(b).attr("data-wpview-text",window.encodeURIComponent(g)),wp.mce.views.refreshView(f,g),c.detach()})}},wp.mce.views.register("gallery",wp.mce.gallery),wp.mce.media={loaded:!1,toView:function(a){var b=wp.shortcode.next(this.shortcode,a);if(b)return{index:b.index,content:b.content,options:{shortcode:b.shortcode}}},edit:function(b){var c,d,e,f=wp.media[this.shortcode],g=this;wp.media.mixin.pauseAllPlayers(),d=window.decodeURIComponent(a(b).attr("data-wpview-text")),c=f.edit(d),c.on("close",function(){c.detach()}),e=function(d){var e=wp.media[g.shortcode].shortcode(d).string();a(b).attr("data-wpview-text",window.encodeURIComponent(e)),wp.mce.views.refreshView(g,e),c.detach()},_.isArray(g.state)?_.each(g.state,function(a){c.state(a).on("update",e)}):c.state(g.state).on("update",e),c.open()}},wp.mce.media.View=wp.mce.View.extend({initialize:function(b){this.players=[],this.shortcode=b.shortcode,_.bindAll(this,"setPlayer"),a(this).on("ready",this.setPlayer)},setPlayer:function(b,c){if(c){var d,e=this,f=this.ua.is("ff"),g=".wp-"+this.shortcode.tag+"-shortcode";if(this.player&&this.unsetPlayer(),d=a(c).find(g),!this.isCompatible(d))return d.closest(".wpview-wrap").addClass("wont-play"),d.parent().hasClass("wpview-wrap")||d.parent().replaceWith(d),void d.replaceWith("<p>"+d.find("source").eq(0).prop("src")+"</p>");d.closest(".wpview-wrap").removeClass("wont-play"),f?d.prop("preload","metadata"):d.prop("preload","none"),d=wp.media.view.MediaDetails.prepareSrc(d.get(0)),setTimeout(function(){wp.mce.media.loaded=!0,e.players.push(new MediaElementPlayer(d,e.mejsSettings))},wp.mce.media.loaded?10:500)}},getHtml:function(){var a=_.defaults(this.shortcode.attrs.named,wp.media[this.shortcode.tag].defaults);return this.template({model:a})},unbind:function(){var a=this;this.pauseAllPlayers(),_.each(this.players,function(b){a.removePlayer(b)}),this.players=[]}}),_.extend(wp.mce.media.View.prototype,wp.media.mixin),wp.mce.video=_.extend({},wp.mce.media,{shortcode:"video",state:"video-details",View:wp.mce.media.View.extend({className:"editor-video",template:d.template("editor-video")})}),wp.mce.views.register("video",wp.mce.video),wp.mce.audio=_.extend({},wp.mce.media,{shortcode:"audio",state:"audio-details",View:wp.mce.media.View.extend({className:"editor-audio",template:d.template("editor-audio")})}),wp.mce.views.register("audio",wp.mce.audio),wp.mce.media.PlaylistView=wp.mce.View.extend({className:"editor-playlist",template:d.template("editor-playlist"),initialize:function(b){this.data={},this.attachments=[],this.shortcode=b.shortcode,_.bindAll(this,"setPlayer"),a(this).on("ready",this.setNode)},setNode:function(a,b){this.node=b,this.fetch()},fetch:function(){this.attachments=wp.media.playlist.attachments(this.shortcode),this.attachments.more().done(this.setPlayer)},setPlayer:function(){var b,c=this.getHtml(),d=this.encodedText,e=this;this.unsetPlayer(),_.each(tinymce.editors,function(b){var f;b.plugins.wpview&&(f=b.getDoc(),a(f).find('[data-wpview-text="'+d+'"]').each(function(b,d){var f=a(d);f.html(c),e.node=d}))},this),this.data.tracks&&(b=new WPPlaylistView({el:a(e.node).find(".wp-playlist").get(0),metadata:this.data}),this.player=b._player)},getHtml:function(){var a,b,c=this.shortcode.attrs.named,e=wp.media.playlist,f=[];if(!this.dfd||"pending"!==this.dfd.state()||this.attachments.length)return _.each(e.defaults,function(a,b){c[b]=e.coerce(c,b)}),a={type:c.type,style:c.style,tracklist:c.tracklist,tracknumbers:c.tracknumbers,images:c.images,artists:c.artists},this.attachments.length?(b=this.attachments.toJSON(),_.each(b,function(b){var e={},g={},h={src:b.url,type:b.mime,title:b.title,caption:b.caption,description:b.description,meta:b.meta};"video"===c.type?(e.width=b.width,e.height=b.height,d.view.settings.contentWidth?(g.width=d.view.settings.contentWidth-22,g.height=Math.ceil(e.height*g.width/e.width),a.width||(a.width=g.width,a.height=g.height)):a.width||(a.width=b.width,a.height=b.height),h.dimensions={original:e,resized:_.isEmpty(g)?e:g}):a.width=400,h.image=b.image,h.thumb=b.thumb,f.push(h)}),a.tracks=f,this.data=a,this.template(a)):this.template(a)}}),_.extend(wp.mce.media.PlaylistView.prototype,wp.media.mixin),wp.mce.playlist=_.extend({},wp.mce.media,{shortcode:"playlist",state:["playlist-edit","video-playlist-edit"],View:wp.mce.media.PlaylistView}),wp.mce.views.register("playlist",wp.mce.playlist)}(jQuery);
\ No newline at end of file
diff --git a/wp-includes/js/media-audiovideo.js b/wp-includes/js/media-audiovideo.js
new file mode 100644 (file)
index 0000000..da91a9c
--- /dev/null
@@ -0,0 +1,917 @@
+/* global _wpMediaViewsL10n, _wpmejsSettings, MediaElementPlayer */
+
+(function($, _, Backbone) {
+       var media = wp.media,
+               baseSettings = {},
+               l10n = typeof _wpMediaViewsL10n === 'undefined' ? {} : _wpMediaViewsL10n;
+
+       if ( ! _.isUndefined( window._wpmejsSettings ) ) {
+               baseSettings.pluginPath = _wpmejsSettings.pluginPath;
+       }
+
+       /**
+        * @mixin
+        */
+       wp.media.mixin = {
+               mejsSettings: baseSettings,
+               /**
+                * Pauses every instance of MediaElementPlayer
+                */
+               pauseAllPlayers: function() {
+                       var p;
+                       if ( window.mejs && window.mejs.players ) {
+                               for ( p in window.mejs.players ) {
+                                       window.mejs.players[p].pause();
+                               }
+                       }
+               },
+
+               /**
+                * Utility to identify the user's browser
+                */
+               ua: {
+                       is : function( browser ) {
+                               var passes = false, ua = window.navigator.userAgent;
+
+                               switch ( browser ) {
+                                       case 'oldie':
+                                               passes = ua.match(/MSIE [6-8]/gi) !== null;
+                                       break;
+                                       case 'ie':
+                                               passes = ua.match(/MSIE/gi) !== null;
+                                       break;
+                                       case 'ff':
+                                               passes = ua.match(/firefox/gi) !== null;
+                                       break;
+                                       case 'opera':
+                                               passes = ua.match(/OPR/) !== null;
+                                       break;
+                                       case 'safari':
+                                               passes = ua.match(/safari/gi) !== null && ua.match(/chrome/gi) === null;
+                                       break;
+                                       case 'chrome':
+                                               passes = ua.match(/safari/gi) !== null && ua.match(/chrome/gi) !== null;
+                                       break;
+                               }
+
+                               return passes;
+                       }
+               },
+
+               /**
+                * Specify compatibility for native playback by browser
+                */
+               compat :{
+                       'opera' : {
+                               audio: ['ogg', 'wav'],
+                               video: ['ogg', 'webm']
+                       },
+                       'chrome' : {
+                               audio: ['ogg', 'mpeg'],
+                               video: ['ogg', 'webm', 'mp4', 'm4v', 'mpeg']
+                       },
+                       'ff' : {
+                               audio: ['ogg', 'mpeg'],
+                               video: ['ogg', 'webm']
+                       },
+                       'safari' : {
+                               audio: ['mpeg', 'wav'],
+                               video: ['mp4', 'm4v', 'mpeg', 'x-ms-wmv', 'quicktime']
+                       },
+                       'ie' : {
+                               audio: ['mpeg'],
+                               video: ['mp4', 'm4v', 'mpeg']
+                       }
+               },
+
+               /**
+                * Determine if the passed media contains a <source> that provides
+                *  native playback in the user's browser
+                *
+                * @param {jQuery} media
+                * @returns {Boolean}
+                */
+               isCompatible: function( media ) {
+                       if ( ! media.find( 'source' ).length ) {
+                               return false;
+                       }
+
+                       var ua = this.ua, test = false, found = false, sources;
+
+                       if ( ua.is( 'oldIE' ) ) {
+                               return false;
+                       }
+
+                       sources = media.find( 'source' );
+
+                       _.find( this.compat, function( supports, browser ) {
+                               if ( ua.is( browser ) ) {
+                                       found = true;
+                                       _.each( sources, function( elem ) {
+                                               var audio = new RegExp( 'audio\/(' + supports.audio.join('|') + ')', 'gi' ),
+                                                       video = new RegExp( 'video\/(' + supports.video.join('|') + ')', 'gi' );
+
+                                               if ( elem.type.match( video ) !== null || elem.type.match( audio ) !== null ) {
+                                                       test = true;
+                                               }
+                                       } );
+                               }
+
+                               return test || found;
+                       } );
+
+                       return test;
+               },
+
+               /**
+                * Override the MediaElement method for removing a player.
+                *      MediaElement tries to pull the audio/video tag out of
+                *      its container and re-add it to the DOM.
+                */
+               removePlayer: function(t) {
+                       var featureIndex, feature;
+
+                       // invoke features cleanup
+                       for ( featureIndex in t.options.features ) {
+                               feature = t.options.features[featureIndex];
+                               if ( t['clean' + feature] ) {
+                                       try {
+                                               t['clean' + feature](t);
+                                       } catch (e) {}
+                               }
+                       }
+
+                       if ( ! t.isDynamic ) {
+                               t.$node.remove();
+                       }
+
+                       if ( 'native' !== t.media.pluginType ) {
+                               t.media.remove();
+                       }
+
+                       delete window.mejs.players[t.id];
+
+                       t.container.remove();
+                       t.globalUnbind();
+                       delete t.node.player;
+               },
+
+               /**
+                * Allows any class that has set 'player' to a MediaElementPlayer
+                *  instance to remove the player when listening to events.
+                *
+                *  Examples: modal closes, shortcode properties are removed, etc.
+                */
+               unsetPlayer : function() {
+                       if ( this.player ) {
+                               wp.media.mixin.pauseAllPlayers();
+                               wp.media.mixin.removePlayer( this.player );
+                               this.player = false;
+                       }
+               }
+       };
+
+       /**
+        * Autowire "collection"-type shortcodes
+        */
+       wp.media.playlist = new wp.media.collection({
+               tag: 'playlist',
+               editTitle : l10n.editPlaylistTitle,
+               defaults : {
+                       id: wp.media.view.settings.post.id,
+                       style: 'light',
+                       tracklist: true,
+                       tracknumbers: true,
+                       images: true,
+                       artists: true,
+                       type: 'audio'
+               }
+       });
+
+       /**
+        * Shortcode modeling for audio
+        *  `edit()` prepares the shortcode for the media modal
+        *  `shortcode()` builds the new shortcode after update
+        *
+        * @namespace
+        */
+       wp.media.audio = {
+               coerce : wp.media.coerce,
+
+               defaults : {
+                       id : wp.media.view.settings.post.id,
+                       src : '',
+                       loop : false,
+                       autoplay : false,
+                       preload : 'none',
+                       width : 400
+               },
+
+               edit : function( data ) {
+                       var frame, shortcode = wp.shortcode.next( 'audio', data ).shortcode;
+                       frame = wp.media({
+                               frame: 'audio',
+                               state: 'audio-details',
+                               metadata: _.defaults( shortcode.attrs.named, this.defaults )
+                       });
+
+                       return frame;
+               },
+
+               shortcode : function( model ) {
+                       var self = this, content;
+
+                       _.each( this.defaults, function( value, key ) {
+                               model[ key ] = self.coerce( model, key );
+
+                               if ( value === model[ key ] ) {
+                                       delete model[ key ];
+                               }
+                       });
+
+                       content = model.content;
+                       delete model.content;
+
+                       return new wp.shortcode({
+                               tag: 'audio',
+                               attrs: model,
+                               content: content
+                       });
+               }
+       };
+
+       /**
+        * Shortcode modeling for video
+        *  `edit()` prepares the shortcode for the media modal
+        *  `shortcode()` builds the new shortcode after update
+        *
+        * @namespace
+        */
+       wp.media.video = {
+               coerce : wp.media.coerce,
+
+               defaults : {
+                       id : wp.media.view.settings.post.id,
+                       src : '',
+                       poster : '',
+                       loop : false,
+                       autoplay : false,
+                       preload : 'metadata',
+                       content : '',
+                       width : 640,
+                       height : 360
+               },
+
+               edit : function( data ) {
+                       var frame,
+                               shortcode = wp.shortcode.next( 'video', data ).shortcode,
+                               attrs;
+
+                       attrs = shortcode.attrs.named;
+                       attrs.content = shortcode.content;
+
+                       frame = wp.media({
+                               frame: 'video',
+                               state: 'video-details',
+                               metadata: _.defaults( attrs, this.defaults )
+                       });
+
+                       return frame;
+               },
+
+               shortcode : function( model ) {
+                       var self = this, content;
+
+                       _.each( this.defaults, function( value, key ) {
+                               model[ key ] = self.coerce( model, key );
+
+                               if ( value === model[ key ] ) {
+                                       delete model[ key ];
+                               }
+                       });
+
+                       content = model.content;
+                       delete model.content;
+
+                       return new wp.shortcode({
+                               tag: 'video',
+                               attrs: model,
+                               content: content
+                       });
+               }
+       };
+
+       /**
+        * Shared model class for audio and video. Updates the model after
+        *   "Add Audio|Video Source" and "Replace Audio|Video" states return
+        *
+        * @constructor
+        * @augments Backbone.Model
+        */
+       media.model.PostMedia = Backbone.Model.extend({
+               initialize: function() {
+                       this.attachment = false;
+               },
+
+               setSource: function( attachment ) {
+                       this.attachment = attachment;
+                       this.extension = attachment.get( 'filename' ).split('.').pop();
+
+                       if ( this.get( 'src' ) && this.extension === this.get( 'src' ).split('.').pop() ) {
+                               this.unset( 'src' );
+                       }
+
+                       if ( _.contains( wp.media.view.settings.embedExts, this.extension ) ) {
+                               this.set( this.extension, this.attachment.get( 'url' ) );
+                       } else {
+                               this.unset( this.extension );
+                       }
+               },
+
+               changeAttachment: function( attachment ) {
+                       var self = this;
+
+                       this.setSource( attachment );
+
+                       this.unset( 'src' );
+                       _.each( _.without( wp.media.view.settings.embedExts, this.extension ), function( ext ) {
+                               self.unset( ext );
+                       } );
+               }
+       });
+
+       /**
+        * The controller for the Audio Details state
+        *
+        * @constructor
+        * @augments wp.media.controller.State
+        * @augments Backbone.Model
+        */
+       media.controller.AudioDetails = media.controller.State.extend({
+               defaults: {
+                       id: 'audio-details',
+                       toolbar: 'audio-details',
+                       title: l10n.audioDetailsTitle,
+                       content: 'audio-details',
+                       menu: 'audio-details',
+                       router: false,
+                       priority: 60
+               },
+
+               initialize: function( options ) {
+                       this.media = options.media;
+                       media.controller.State.prototype.initialize.apply( this, arguments );
+               }
+       });
+
+       /**
+        * The controller for the Video Details state
+        *
+        * @constructor
+        * @augments wp.media.controller.State
+        * @augments Backbone.Model
+        */
+       media.controller.VideoDetails = media.controller.State.extend({
+               defaults: {
+                       id: 'video-details',
+                       toolbar: 'video-details',
+                       title: l10n.videoDetailsTitle,
+                       content: 'video-details',
+                       menu: 'video-details',
+                       router: false,
+                       priority: 60
+               },
+
+               initialize: function( options ) {
+                       this.media = options.media;
+                       media.controller.State.prototype.initialize.apply( this, arguments );
+               }
+       });
+
+       /**
+        * wp.media.view.MediaFrame.MediaDetails
+        *
+        * @constructor
+        * @augments wp.media.view.MediaFrame.Select
+        * @augments wp.media.view.MediaFrame
+        * @augments wp.media.view.Frame
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        * @mixes wp.media.controller.StateMachine
+        */
+       media.view.MediaFrame.MediaDetails = media.view.MediaFrame.Select.extend({
+               defaults: {
+                       id:      'media',
+                       url:     '',
+                       menu:    'media-details',
+                       content: 'media-details',
+                       toolbar: 'media-details',
+                       type:    'link',
+                       priority: 120
+               },
+
+               initialize: function( options ) {
+                       this.DetailsView = options.DetailsView;
+                       this.cancelText = options.cancelText;
+                       this.addText = options.addText;
+
+                       this.media = new media.model.PostMedia( options.metadata );
+                       this.options.selection = new media.model.Selection( this.media.attachment, { multiple: false } );
+                       media.view.MediaFrame.Select.prototype.initialize.apply( this, arguments );
+               },
+
+               bindHandlers: function() {
+                       var menu = this.defaults.menu;
+
+                       media.view.MediaFrame.Select.prototype.bindHandlers.apply( this, arguments );
+
+                       this.on( 'menu:create:' + menu, this.createMenu, this );
+                       this.on( 'content:render:' + menu, this.renderDetailsContent, this );
+                       this.on( 'menu:render:' + menu, this.renderMenu, this );
+                       this.on( 'toolbar:render:' + menu, this.renderDetailsToolbar, this );
+               },
+
+               renderDetailsContent: function() {
+                       var view = new this.DetailsView({
+                               controller: this,
+                               model: this.state().media,
+                               attachment: this.state().media.attachment
+                       }).render();
+
+                       this.content.set( view );
+               },
+
+               renderMenu: function( view ) {
+                       var lastState = this.lastState(),
+                               previous = lastState && lastState.id,
+                               frame = this;
+
+                       view.set({
+                               cancel: {
+                                       text:     this.cancelText,
+                                       priority: 20,
+                                       click:    function() {
+                                               if ( previous ) {
+                                                       frame.setState( previous );
+                                               } else {
+                                                       frame.close();
+                                               }
+                                       }
+                               },
+                               separateCancel: new media.View({
+                                       className: 'separator',
+                                       priority: 40
+                               })
+                       });
+
+               },
+
+               setPrimaryButton: function(text, handler) {
+                       this.toolbar.set( new media.view.Toolbar({
+                               controller: this,
+                               items: {
+                                       button: {
+                                               style:    'primary',
+                                               text:     text,
+                                               priority: 80,
+                                               click:    function() {
+                                                       var controller = this.controller;
+                                                       handler.call( this, controller, controller.state() );
+                                                       // Restore and reset the default state.
+                                                       controller.setState( controller.options.state );
+                                                       controller.reset();
+                                               }
+                                       }
+                               }
+                       }) );
+               },
+
+               renderDetailsToolbar: function() {
+                       this.setPrimaryButton( l10n.update, function( controller, state ) {
+                               controller.close();
+                               state.trigger( 'update', controller.media.toJSON() );
+                       } );
+               },
+
+               renderReplaceToolbar: function() {
+                       this.setPrimaryButton( l10n.replace, function( controller, state ) {
+                               var attachment = state.get( 'selection' ).single();
+                               controller.media.changeAttachment( attachment );
+                               state.trigger( 'replace', controller.media.toJSON() );
+                       } );
+               },
+
+               renderAddSourceToolbar: function() {
+                       this.setPrimaryButton( this.addText, function( controller, state ) {
+                               var attachment = state.get( 'selection' ).single();
+                               controller.media.setSource( attachment );
+                               state.trigger( 'add-source', controller.media.toJSON() );
+                       } );
+               }
+       });
+
+       /**
+        * wp.media.view.MediaFrame.AudioDetails
+        *
+        * @constructor
+        * @augments wp.media.view.MediaFrame.MediaDetails
+        * @augments wp.media.view.MediaFrame.Select
+        * @augments wp.media.view.MediaFrame
+        * @augments wp.media.view.Frame
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        * @mixes wp.media.controller.StateMachine
+        */
+       media.view.MediaFrame.AudioDetails = media.view.MediaFrame.MediaDetails.extend({
+               defaults: {
+                       id:      'audio',
+                       url:     '',
+                       menu:    'audio-details',
+                       content: 'audio-details',
+                       toolbar: 'audio-details',
+                       type:    'link',
+                       title:    l10n.audioDetailsTitle,
+                       priority: 120
+               },
+
+               initialize: function( options ) {
+                       options.DetailsView = media.view.AudioDetails;
+                       options.cancelText = l10n.audioDetailsCancel;
+                       options.addText = l10n.audioAddSourceTitle;
+
+                       media.view.MediaFrame.MediaDetails.prototype.initialize.call( this, options );
+               },
+
+               bindHandlers: function() {
+                       media.view.MediaFrame.MediaDetails.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 media.controller.AudioDetails( {
+                                       media: this.media
+                               } ),
+
+                               new media.controller.MediaLibrary( {
+                                       type: 'audio',
+                                       id: 'replace-audio',
+                                       title: l10n.audioReplaceTitle,
+                                       toolbar: 'replace-audio',
+                                       media: this.media,
+                                       menu: 'audio-details'
+                               } ),
+
+                               new media.controller.MediaLibrary( {
+                                       type: 'audio',
+                                       id: 'add-audio-source',
+                                       title: l10n.audioAddSourceTitle,
+                                       toolbar: 'add-audio-source',
+                                       media: this.media,
+                                       menu: false
+                               } )
+                       ]);
+               }
+       });
+
+       /**
+        * wp.media.view.MediaFrame.VideoDetails
+        *
+        * @constructor
+        * @augments wp.media.view.MediaFrame.MediaDetails
+        * @augments wp.media.view.MediaFrame.Select
+        * @augments wp.media.view.MediaFrame
+        * @augments wp.media.view.Frame
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        * @mixes wp.media.controller.StateMachine
+        */
+       media.view.MediaFrame.VideoDetails = media.view.MediaFrame.MediaDetails.extend({
+               defaults: {
+                       id:      'video',
+                       url:     '',
+                       menu:    'video-details',
+                       content: 'video-details',
+                       toolbar: 'video-details',
+                       type:    'link',
+                       title:    l10n.videoDetailsTitle,
+                       priority: 120
+               },
+
+               initialize: function( options ) {
+                       options.DetailsView = media.view.VideoDetails;
+                       options.cancelText = l10n.videoDetailsCancel;
+                       options.addText = l10n.videoAddSourceTitle;
+
+                       media.view.MediaFrame.MediaDetails.prototype.initialize.call( this, options );
+               },
+
+               bindHandlers: function() {
+                       media.view.MediaFrame.MediaDetails.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 media.controller.VideoDetails({
+                                       media: this.media
+                               }),
+
+                               new media.controller.MediaLibrary( {
+                                       type: 'video',
+                                       id: 'replace-video',
+                                       title: l10n.videoReplaceTitle,
+                                       toolbar: 'replace-video',
+                                       media: this.media,
+                                       menu: 'video-details'
+                               } ),
+
+                               new media.controller.MediaLibrary( {
+                                       type: 'video',
+                                       id: 'add-video-source',
+                                       title: l10n.videoAddSourceTitle,
+                                       toolbar: 'add-video-source',
+                                       media: this.media,
+                                       menu: false
+                               } ),
+
+                               new media.controller.MediaLibrary( {
+                                       type: 'image',
+                                       id: 'select-poster-image',
+                                       title: l10n.videoSelectPosterImageTitle,
+                                       toolbar: 'select-poster-image',
+                                       media: this.media,
+                                       menu: 'video-details'
+                               } ),
+
+                               new media.controller.MediaLibrary( {
+                                       type: 'text',
+                                       id: 'add-track',
+                                       title: l10n.videoAddTrackTitle,
+                                       toolbar: 'add-track',
+                                       media: this.media,
+                                       menu: 'video-details'
+                               } )
+                       ]);
+               },
+
+               renderSelectPosterImageToolbar: function() {
+                       this.setPrimaryButton( l10n.videoSelectPosterImageTitle, function( controller, state ) {
+                               var attachment = state.get( 'selection' ).single();
+
+                               controller.media.set( 'poster', attachment.get( 'url' ) );
+                               state.trigger( 'set-poster-image', controller.media.toJSON() );
+                       } );
+               },
+
+               renderAddTrackToolbar: function() {
+                       this.setPrimaryButton( l10n.videoAddTrackTitle, function( controller, state ) {
+                               var attachment = state.get( 'selection' ).single(),
+                                       content = controller.media.get( 'content' );
+
+                               if ( -1 === content.indexOf( attachment.get( 'url' ) ) ) {
+                                       content += [
+                                               '<track srclang="en" label="English"kind="subtitles" src="',
+                                               attachment.get( 'url' ),
+                                               '" />'
+                                       ].join('');
+
+                                       controller.media.set( 'content', content );
+                               }
+                               state.trigger( 'add-track', controller.media.toJSON() );
+                       } );
+               }
+       });
+
+       /**
+        * wp.media.view.MediaDetails
+        *
+        * @contructor
+        * @augments wp.media.view.Settings.AttachmentDisplay
+        * @augments wp.media.view.Settings
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
+       media.view.MediaDetails = media.view.Settings.AttachmentDisplay.extend({
+               initialize: function() {
+                       _.bindAll(this, 'success');
+
+                       this.listenTo( this.controller, 'close', media.mixin.unsetPlayer );
+                       this.on( 'ready', this.setPlayer );
+                       this.on( 'media:setting:remove', media.mixin.unsetPlayer, 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'
+                       } );
+
+                       media.view.Settings.AttachmentDisplay.prototype.initialize.apply( this, arguments );
+               },
+
+               prepare: function() {
+                       return _.defaults({
+                               model: this.model.toJSON()
+                       }, this.options );
+               },
+
+               /**
+                * Remove a setting's UI when the model unsets it
+                *
+                * @fires wp.media.view.MediaDetails#media:setting:remove
+                *
+                * @param {Event} e
+                */
+               removeSetting : function(e) {
+                       var wrap = $( e.currentTarget ).parent(), setting;
+                       setting = wrap.find( 'input' ).data( 'setting' );
+
+                       if ( setting ) {
+                               this.model.unset( setting );
+                               this.trigger( 'media:setting:remove', this );
+                       }
+
+                       wrap.remove();
+               },
+
+               /**
+                *
+                * @fires wp.media.view.MediaDetails#media:setting:remove
+                */
+               setTracks : function() {
+                       var tracks = '';
+
+                       _.each( this.$('.content-track'), function(track) {
+                               tracks += $( track ).val();
+                       } );
+
+                       this.model.set( 'content', tracks );
+                       this.trigger( 'media:setting:remove', this );
+               },
+
+               /**
+                * @global MediaElementPlayer
+                */
+               setPlayer : function() {
+                       if ( ! this.player && this.media ) {
+                               this.player = new MediaElementPlayer( this.media, this.settings );
+                       }
+               },
+
+               /**
+                * @abstract
+                */
+               setMedia : function() {
+                       return this;
+               },
+
+               success : function(mejs) {
+                       var autoplay = mejs.attributes.autoplay && 'false' !== mejs.attributes.autoplay;
+
+                       if ( 'flash' === mejs.pluginType && autoplay ) {
+                               mejs.addEventListener( 'canplay', function() {
+                                       mejs.play();
+                               }, false );
+                       }
+
+                       this.mejs = mejs;
+               },
+
+               /**
+                * @returns {media.view.MediaDetails} Returns itself to allow chaining
+                */
+               render: function() {
+                       var self = this;
+
+                       media.view.Settings.AttachmentDisplay.prototype.render.apply( this, arguments );
+                       setTimeout( function() { self.resetFocus(); }, 10 );
+
+                       this.settings = _.defaults( {
+                               success : this.success
+                       }, baseSettings );
+
+                       return this.setMedia();
+               },
+
+               resetFocus: function() {
+                       this.$( '.embed-media-settings' ).scrollTop( 0 );
+               }
+       }, {
+               instances : 0,
+
+               /**
+                * When multiple players in the DOM contain the same src, things get weird.
+                *
+                * @param {HTMLElement} elem
+                * @returns {HTMLElement}
+                */
+               prepareSrc : function( elem ) {
+                       var i = media.view.MediaDetails.instances++;
+                       _.each( $( elem ).find( 'source' ), function( source ) {
+                               source.src = [
+                                       source.src,
+                                       source.src.indexOf('?') > -1 ? '&' : '?',
+                                       '_=',
+                                       i
+                               ].join('');
+                       } );
+
+                       return elem;
+               }
+       });
+
+       /**
+        * wp.media.view.AudioDetails
+        *
+        * @contructor
+        * @augments wp.media.view.MediaDetails
+        * @augments wp.media.view.Settings.AttachmentDisplay
+        * @augments wp.media.view.Settings
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
+       media.view.AudioDetails = media.view.MediaDetails.extend({
+               className: 'audio-details',
+               template:  media.template('audio-details'),
+
+               setMedia: function() {
+                       var audio = this.$('.wp-audio-shortcode');
+
+                       if ( audio.find( 'source' ).length ) {
+                               if ( audio.is(':hidden') ) {
+                                       audio.show();
+                               }
+                               this.media = media.view.MediaDetails.prepareSrc( audio.get(0) );
+                       } else {
+                               audio.hide();
+                               this.media = false;
+                       }
+
+                       return this;
+               }
+       });
+
+       /**
+        * wp.media.view.VideoDetails
+        *
+        * @contructor
+        * @augments wp.media.view.MediaDetails
+        * @augments wp.media.view.Settings.AttachmentDisplay
+        * @augments wp.media.view.Settings
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
+       media.view.VideoDetails = media.view.MediaDetails.extend({
+               className: 'video-details',
+               template:  media.template('video-details'),
+
+               setMedia: function() {
+                       var video = this.$('.wp-video-shortcode');
+
+                       if ( video.find( 'source' ).length ) {
+                               if ( video.is(':hidden') ) {
+                                       video.show();
+                               }
+
+                               if ( ! video.hasClass('youtube-video') ) {
+                                       this.media = media.view.MediaDetails.prepareSrc( video.get(0) );
+                               } else {
+                                       this.media = video.get(0);
+                               }
+                       } else {
+                               video.hide();
+                               this.media = false;
+                       }
+
+                       return this;
+               }
+       });
+
+       /**
+        * Event binding
+        */
+       function init() {
+               $(document.body)
+                       .on( 'click', '.wp-switch-editor', wp.media.mixin.pauseAllPlayers )
+                       .on( 'click', '.add-media-source', function( e ) {
+                               media.frame.lastMime = $( e.currentTarget ).data( 'mime' );
+                               media.frame.setState( 'add-' + media.frame.defaults.id + '-source' );
+                       } );
+       }
+
+       $( init );
+
+}(jQuery, _, Backbone));
diff --git a/wp-includes/js/media-audiovideo.min.js b/wp-includes/js/media-audiovideo.min.js
new file mode 100644 (file)
index 0000000..5adfec5
--- /dev/null
@@ -0,0 +1 @@
+!function(a,b,c){function d(){a(document.body).on("click",".wp-switch-editor",wp.media.mixin.pauseAllPlayers).on("click",".add-media-source",function(b){e.frame.lastMime=a(b.currentTarget).data("mime"),e.frame.setState("add-"+e.frame.defaults.id+"-source")})}var e=wp.media,f={},g="undefined"==typeof _wpMediaViewsL10n?{}:_wpMediaViewsL10n;b.isUndefined(window._wpmejsSettings)||(f.pluginPath=_wpmejsSettings.pluginPath),wp.media.mixin={mejsSettings:f,pauseAllPlayers:function(){var a;if(window.mejs&&window.mejs.players)for(a in window.mejs.players)window.mejs.players[a].pause()},ua:{is:function(a){var b=!1,c=window.navigator.userAgent;switch(a){case"oldie":b=null!==c.match(/MSIE [6-8]/gi);break;case"ie":b=null!==c.match(/MSIE/gi);break;case"ff":b=null!==c.match(/firefox/gi);break;case"opera":b=null!==c.match(/OPR/);break;case"safari":b=null!==c.match(/safari/gi)&&null===c.match(/chrome/gi);break;case"chrome":b=null!==c.match(/safari/gi)&&null!==c.match(/chrome/gi)}return b}},compat:{opera:{audio:["ogg","wav"],video:["ogg","webm"]},chrome:{audio:["ogg","mpeg"],video:["ogg","webm","mp4","m4v","mpeg"]},ff:{audio:["ogg","mpeg"],video:["ogg","webm"]},safari:{audio:["mpeg","wav"],video:["mp4","m4v","mpeg","x-ms-wmv","quicktime"]},ie:{audio:["mpeg"],video:["mp4","m4v","mpeg"]}},isCompatible:function(a){if(!a.find("source").length)return!1;var c,d=this.ua,e=!1,f=!1;return d.is("oldIE")?!1:(c=a.find("source"),b.find(this.compat,function(a,g){return d.is(g)&&(f=!0,b.each(c,function(b){var c=new RegExp("audio/("+a.audio.join("|")+")","gi"),d=new RegExp("video/("+a.video.join("|")+")","gi");(null!==b.type.match(d)||null!==b.type.match(c))&&(e=!0)})),e||f}),e)},removePlayer:function(a){var b,c;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},unsetPlayer:function(){this.player&&(wp.media.mixin.pauseAllPlayers(),wp.media.mixin.removePlayer(this.player),this.player=!1)}},wp.media.playlist=new wp.media.collection({tag:"playlist",editTitle:g.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 c,d=wp.shortcode.next("audio",a).shortcode;return c=wp.media({frame:"audio",state:"audio-details",metadata:b.defaults(d.attrs.named,this.defaults)})},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.content,delete a.content,new wp.shortcode({tag:"audio",attrs:a,content:c})}},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 c,d,e=wp.shortcode.next("video",a).shortcode;return d=e.attrs.named,d.content=e.content,c=wp.media({frame:"video",state:"video-details",metadata:b.defaults(d,this.defaults)})},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.content,delete a.content,new wp.shortcode({tag:"video",attrs:a,content:c})}},e.model.PostMedia=c.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"),b.contains(wp.media.view.settings.embedExts,this.extension)?this.set(this.extension,this.attachment.get("url")):this.unset(this.extension)},changeAttachment:function(a){var c=this;this.setSource(a),this.unset("src"),b.each(b.without(wp.media.view.settings.embedExts,this.extension),function(a){c.unset(a)})}}),e.controller.AudioDetails=e.controller.State.extend({defaults:{id:"audio-details",toolbar:"audio-details",title:g.audioDetailsTitle,content:"audio-details",menu:"audio-details",router:!1,priority:60},initialize:function(a){this.media=a.media,e.controller.State.prototype.initialize.apply(this,arguments)}}),e.controller.VideoDetails=e.controller.State.extend({defaults:{id:"video-details",toolbar:"video-details",title:g.videoDetailsTitle,content:"video-details",menu:"video-details",router:!1,priority:60},initialize:function(a){this.media=a.media,e.controller.State.prototype.initialize.apply(this,arguments)}}),e.view.MediaFrame.MediaDetails=e.view.MediaFrame.Select.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 e.model.PostMedia(a.metadata),this.options.selection=new e.model.Selection(this.media.attachment,{multiple:!1}),e.view.MediaFrame.Select.prototype.initialize.apply(this,arguments)},bindHandlers:function(){var a=this.defaults.menu;e.view.MediaFrame.Select.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 e.View({className:"separator",priority:40})})},setPrimaryButton:function(a,b){this.toolbar.set(new e.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(g.update,function(a,b){a.close(),b.trigger("update",a.media.toJSON())})},renderReplaceToolbar:function(){this.setPrimaryButton(g.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())})}}),e.view.MediaFrame.AudioDetails=e.view.MediaFrame.MediaDetails.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=e.view.AudioDetails,a.cancelText=g.audioDetailsCancel,a.addText=g.audioAddSourceTitle,e.view.MediaFrame.MediaDetails.prototype.initialize.call(this,a)},bindHandlers:function(){e.view.MediaFrame.MediaDetails.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 e.controller.AudioDetails({media:this.media}),new e.controller.MediaLibrary({type:"audio",id:"replace-audio",title:g.audioReplaceTitle,toolbar:"replace-audio",media:this.media,menu:"audio-details"}),new e.controller.MediaLibrary({type:"audio",id:"add-audio-source",title:g.audioAddSourceTitle,toolbar:"add-audio-source",media:this.media,menu:!1})])}}),e.view.MediaFrame.VideoDetails=e.view.MediaFrame.MediaDetails.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=e.view.VideoDetails,a.cancelText=g.videoDetailsCancel,a.addText=g.videoAddSourceTitle,e.view.MediaFrame.MediaDetails.prototype.initialize.call(this,a)},bindHandlers:function(){e.view.MediaFrame.MediaDetails.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 e.controller.VideoDetails({media:this.media}),new e.controller.MediaLibrary({type:"video",id:"replace-video",title:g.videoReplaceTitle,toolbar:"replace-video",media:this.media,menu:"video-details"}),new e.controller.MediaLibrary({type:"video",id:"add-video-source",title:g.videoAddSourceTitle,toolbar:"add-video-source",media:this.media,menu:!1}),new e.controller.MediaLibrary({type:"image",id:"select-poster-image",title:g.videoSelectPosterImageTitle,toolbar:"select-poster-image",media:this.media,menu:"video-details"}),new e.controller.MediaLibrary({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=b.get("selection").single();a.media.set("poster",c.get("url")),b.trigger("set-poster-image",a.media.toJSON())})},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())})}}),e.view.MediaDetails=e.view.Settings.AttachmentDisplay.extend({initialize:function(){b.bindAll(this,"success"),this.listenTo(this.controller,"close",e.mixin.unsetPlayer),this.on("ready",this.setPlayer),this.on("media:setting:remove",e.mixin.unsetPlayer,this),this.on("media:setting:remove",this.render),this.on("media:setting:remove",this.setPlayer),this.events=b.extend(this.events,{"click .remove-setting":"removeSetting","change .content-track":"setTracks","click .remove-track":"setTracks"}),e.view.Settings.AttachmentDisplay.prototype.initialize.apply(this,arguments)},prepare:function(){return b.defaults({model:this.model.toJSON()},this.options)},removeSetting:function(b){var c,d=a(b.currentTarget).parent();c=d.find("input").data("setting"),c&&(this.model.unset(c),this.trigger("media:setting:remove",this)),d.remove()},setTracks:function(){var c="";b.each(this.$(".content-track"),function(b){c+=a(b).val()}),this.model.set("content",c),this.trigger("media:setting:remove",this)},setPlayer:function(){!this.player&&this.media&&(this.player=new MediaElementPlayer(this.media,this.settings))},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(){var a=this;return e.view.Settings.AttachmentDisplay.prototype.render.apply(this,arguments),setTimeout(function(){a.resetFocus()},10),this.settings=b.defaults({success:this.success},f),this.setMedia()},resetFocus:function(){this.$(".embed-media-settings").scrollTop(0)}},{instances:0,prepareSrc:function(c){var d=e.view.MediaDetails.instances++;return b.each(a(c).find("source"),function(a){a.src=[a.src,a.src.indexOf("?")>-1?"&":"?","_=",d].join("")}),c}}),e.view.AudioDetails=e.view.MediaDetails.extend({className:"audio-details",template:e.template("audio-details"),setMedia:function(){var a=this.$(".wp-audio-shortcode");return a.find("source").length?(a.is(":hidden")&&a.show(),this.media=e.view.MediaDetails.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}}),e.view.VideoDetails=e.view.MediaDetails.extend({className:"video-details",template:e.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.get(0):e.view.MediaDetails.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}}),a(d)}(jQuery,_,Backbone);
\ No newline at end of file
index 75b1c570d90df7ac017114bee3e91a12c4de46cb..eb1efbcbc4a95b07c179e59f84dffde245c1e944 100644 (file)
@@ -2,14 +2,51 @@
 
 // WordPress, TinyMCE, and Media
 // -----------------------------
-(function($){
-       // Stores the editors' `wp.media.controller.Frame` instances.
+(function($, _){
+       /**
+        * Stores the editors' `wp.media.controller.Frame` instances.
+        *
+        * @static
+        */
        var workflows = {};
 
+       /**
+        * A helper mixin function to avoid truthy and falsey values being
+        *   passed as an input that expects booleans. If key is undefined in the map,
+        *   but has a default value, set it.
+        *
+        * @param {object} attrs Map of props from a shortcode or settings.
+        * @param {string} key The key within the passed map to check for a value.
+        * @returns {mixed|undefined} The original or coerced value of key within attrs
+        */
+       wp.media.coerce = function ( attrs, key ) {
+               if ( _.isUndefined( attrs[ key ] ) && ! _.isUndefined( this.defaults[ key ] ) ) {
+                       attrs[ key ] = this.defaults[ key ];
+               } else if ( 'true' === attrs[ key ] ) {
+                       attrs[ key ] = true;
+               } else if ( 'false' === attrs[ key ] ) {
+                       attrs[ key ] = false;
+               }
+               return attrs[ key ];
+       };
+
+       /**
+        * wp.media.string
+        * @namespace
+        */
        wp.media.string = {
-               // Joins the `props` and `attachment` objects,
-               // outputting the proper object format based on the
-               // attachment's type.
+               /**
+                * Joins the `props` and `attachment` objects,
+                * outputting the proper object format based on the
+                * attachment's type.
+                *
+                * @global wp.media.view.settings
+                * @global getUserSetting()
+                *
+                * @param {Object} [props={}] Attachment details (align, link, size, etc).
+                * @param {Object} attachment The attachment object, media version of Post.
+                * @returns {Object} Joined props
+                */
                props: function( props, attachment ) {
                        var link, linkUrl, size, sizes, fallbacks,
                                defaultProps = wp.media.view.settings.defaultProps;
@@ -28,8 +65,9 @@
 
                        props = props ? _.clone( props ) : {};
 
-                       if ( attachment && attachment.type )
+                       if ( attachment && attachment.type ) {
                                props.type = attachment.type;
+                       }
 
                        if ( 'image' === props.type ) {
                                props = _.defaults( props || {}, {
                        }
 
                        // All attachment-specific settings follow.
-                       if ( ! attachment )
+                       if ( ! attachment ) {
                                return fallbacks( props );
+                       }
 
                        props.title = props.title || attachment.title;
 
                        link = props.link || defaultProps.link || getUserSetting( 'urlbutton', 'file' );
-                       if ( 'file' === link || 'embed' === link )
+                       if ( 'file' === link || 'embed' === link ) {
                                linkUrl = attachment.url;
-                       else if ( 'post' === link )
+                       } else if ( 'post' === link ) {
                                linkUrl = attachment.link;
-                       else if ( 'custom' === link )
+                       } else if ( 'custom' === link ) {
                                linkUrl = props.linkUrl;
+                       }
                        props.linkUrl = linkUrl || '';
 
                        // Format properties for images.
 
                        return fallbacks( props );
                },
-
+               /**
+                * Create link markup that is suitable for passing to the editor
+                *
+                * @global wp.html.string
+                *
+                * @param {Object} props Attachment details (align, link, size, etc).
+                * @param {Object} attachment The attachment object, media version of Post.
+                * @returns {string} The link markup
+                */
                link: function( props, attachment ) {
                        var options;
 
                                }
                        };
 
-                       if ( props.rel )
+                       if ( props.rel ) {
                                options.attrs.rel = props.rel;
+                       }
 
                        return wp.html.string( options );
                },
-
+               /**
+                * Create an Audio shortcode string that is suitable for passing to the editor
+                *
+                * @param {Object} props Attachment details (align, link, size, etc).
+                * @param {Object} attachment The attachment object, media version of Post.
+                * @returns {string} The audio shortcode
+                */
                audio: function( props, attachment ) {
                        return wp.media.string._audioVideo( 'audio', props, attachment );
                },
-
+               /**
+                * Create a Video shortcode string that is suitable for passing to the editor
+                *
+                * @param {Object} props Attachment details (align, link, size, etc).
+                * @param {Object} attachment The attachment object, media version of Post.
+                * @returns {string} The video shortcode
+                */
                video: function( props, attachment ) {
                        return wp.media.string._audioVideo( 'video', props, attachment );
                },
-
+               /**
+                * Helper function to create a media shortcode string
+                *
+                * @access private
+                *
+                * @global wp.shortcode
+                * @global wp.media.view.settings
+                *
+                * @param {string} type The shortcode tag name: 'audio' or 'video'.
+                * @param {Object} props Attachment details (align, link, size, etc).
+                * @param {Object} attachment The attachment object, media version of Post.
+                * @returns {string} The media shortcode
+                */
                _audioVideo: function( type, props, attachment ) {
                        var shortcode, html, extension;
 
                        shortcode = {};
 
                        if ( 'video' === type ) {
-                               if ( attachment.width )
+                               if ( attachment.image && -1 === attachment.image.src.indexOf( attachment.icon ) ) {
+                                       shortcode.poster = attachment.image.src;
+                               }
+
+                               if ( attachment.width ) {
                                        shortcode.width = attachment.width;
+                               }
 
-                               if ( attachment.height )
+                               if ( attachment.height ) {
                                        shortcode.height = attachment.height;
+                               }
                        }
 
                        extension = attachment.filename.split('.').pop();
 
                        return html;
                },
-
+               /**
+                * Create image markup, optionally with a link and/or wrapped in a caption shortcode,
+                *  that is suitable for passing to the editor
+                *
+                * @global wp.html
+                * @global wp.shortcode
+                *
+                * @param {Object} props Attachment details (align, link, size, etc).
+                * @param {Object} attachment The attachment object, media version of Post.
+                * @returns {string}
+                */
                image: function( props, attachment ) {
                        var img = {},
                                options, classes, shortcode, html;
                        props = wp.media.string.props( props, attachment );
                        classes = props.classes || [];
 
-                       img.src = typeof attachment !== 'undefined' ? attachment.url : props.url;
+                       img.src = ! _.isUndefined( attachment ) ? attachment.url : props.url;
                        _.extend( img, _.pick( props, 'width', 'height', 'alt' ) );
 
                        // Only assign the align class to the image if we're not printing
                        // a caption, since the alignment is sent to the shortcode.
-                       if ( props.align && ! props.caption )
+                       if ( props.align && ! props.caption ) {
                                classes.push( 'align' + props.align );
+                       }
 
-                       if ( props.size )
+                       if ( props.size ) {
                                classes.push( 'size-' + props.size );
+                       }
 
                        img['class'] = _.compact( classes ).join(' ');
 
                        if ( props.caption ) {
                                shortcode = {};
 
-                               if ( img.width )
+                               if ( img.width ) {
                                        shortcode.width = img.width;
+                               }
 
-                               if ( props.captionId )
+                               if ( props.captionId ) {
                                        shortcode.id = props.captionId;
+                               }
 
-                               if ( props.align )
+                               if ( props.align ) {
                                        shortcode.align = 'align' + props.align;
+                               }
 
                                html = wp.shortcode.string({
                                        tag:     'caption',
                }
        };
 
-       wp.media.gallery = (function() {
-               var galleries = {};
-
-               return {
-                       defaults: {
-                               order:      'ASC',
-                               id:         wp.media.view.settings.post.id,
-                               itemtag:    'dl',
-                               icontag:    'dt',
-                               captiontag: 'dd',
-                               columns:    '3',
-                               link:       'post',
-                               size:       'thumbnail',
-                               orderby:    'menu_order ID'
-                       },
-
+       wp.media.collection = function(attributes) {
+               var collections = {};
+
+               return _.extend( attributes, {
+                       coerce : wp.media.coerce,
+                       /**
+                        * Retrieve attachments based on the properties of the passed shortcode
+                        *
+                        * @global wp.media.query
+                        *
+                        * @param {wp.shortcode} shortcode An instance of wp.shortcode().
+                        * @returns {wp.media.model.Attachments} A Backbone.Collection containing
+                        *      the media items belonging to a collection.
+                        *      The query[ this.tag ] property is a Backbone.Model
+                        *          containing the 'props' for the collection.
+                        */
                        attachments: function( shortcode ) {
                                var shortcodeString = shortcode.string(),
-                                       result = galleries[ shortcodeString ],
-                                       attrs, args, query, others;
+                                       result = collections[ shortcodeString ],
+                                       attrs, args, query, others, self = this;
 
-                               delete galleries[ shortcodeString ];
-
-                               if ( result )
+                               delete collections[ shortcodeString ];
+                               if ( result ) {
                                        return result;
-
+                               }
                                // Fill the default shortcode attributes.
-                               attrs = _.defaults( shortcode.attrs.named, wp.media.gallery.defaults );
+                               attrs = _.defaults( shortcode.attrs.named, this.defaults );
                                args  = _.pick( attrs, 'orderby', 'order' );
 
-                               args.type    = 'image';
+                               args.type    = this.type;
                                args.perPage = -1;
 
                                // Mark the `orderby` override attribute.
-                               if( undefined !== attrs.orderby )
+                               if ( undefined !== attrs.orderby ) {
                                        attrs._orderByField = attrs.orderby;
+                               }
 
-                               if ( 'rand' === attrs.orderby )
+                               if ( 'rand' === attrs.orderby ) {
                                        attrs._orderbyRandom = true;
+                               }
 
                                // Map the `orderby` attribute to the corresponding model property.
-                               if ( ! attrs.orderby || /^menu_order(?: ID)?$/i.test( attrs.orderby ) )
+                               if ( ! attrs.orderby || /^menu_order(?: ID)?$/i.test( attrs.orderby ) ) {
                                        args.orderby = 'menuOrder';
+                               }
 
                                // Map the `ids` param to the correct query args.
                                if ( attrs.ids ) {
                                        args.post__in = attrs.include.split(',');
                                }
 
-                               if ( attrs.exclude )
+                               if ( attrs.exclude ) {
                                        args.post__not_in = attrs.exclude.split(',');
+                               }
 
-                               if ( ! args.post__in )
+                               if ( ! args.post__in ) {
                                        args.uploadedTo = attrs.id;
+                               }
 
                                // Collect the attributes that were not included in `args`.
                                others = _.omit( attrs, 'id', 'ids', 'include', 'exclude', 'orderby', 'order' );
 
+                               _.each( this.defaults, function( value, key ) {
+                                       others[ key ] = self.coerce( others, key );
+                               });
+
                                query = wp.media.query( args );
-                               query.gallery = new Backbone.Model( others );
+                               query[ this.tag ] = new Backbone.Model( others );
                                return query;
                        },
-
+                       /**
+                        * Triggered when clicking 'Insert {label}' or 'Update {label}'
+                        *
+                        * @global wp.shortcode
+                        * @global wp.media.model.Attachments
+                        *
+                        * @param {wp.media.model.Attachments} attachments A Backbone.Collection containing
+                        *      the media items belonging to a collection.
+                        *      The query[ this.tag ] property is a Backbone.Model
+                        *          containing the 'props' for the collection.
+                        * @returns {wp.shortcode}
+                        */
                        shortcode: function( attachments ) {
                                var props = attachments.props.toJSON(),
                                        attrs = _.pick( props, 'orderby', 'order' ),
-                                       shortcode, clone;
+                                       shortcode, clone, self = this;
 
-                               if ( attachments.gallery )
-                                       _.extend( attrs, attachments.gallery.toJSON() );
+                               if ( attachments.type ) {
+                                       attrs.type = attachments.type;
+                                       delete attachments.type;
+                               }
+
+                               if ( attachments[this.tag] ) {
+                                       _.extend( attrs, attachments[this.tag].toJSON() );
+                               }
 
                                // Convert all gallery shortcodes to use the `ids` property.
                                // Ignore `post__in` and `post__not_in`; the attachments in
                                attrs.ids = attachments.pluck('id');
 
                                // Copy the `uploadedTo` post ID.
-                               if ( props.uploadedTo )
+                               if ( props.uploadedTo ) {
                                        attrs.id = props.uploadedTo;
-
+                               }
                                // Check if the gallery is randomly ordered.
                                delete attrs.orderby;
 
-                               if ( attrs._orderbyRandom )
+                               if ( attrs._orderbyRandom ) {
                                        attrs.orderby = 'rand';
-                               else if ( attrs._orderByField && attrs._orderByField != 'rand' )
+                               } else if ( attrs._orderByField && attrs._orderByField != 'rand' ) {
                                        attrs.orderby = attrs._orderByField;
+                               }
 
                                delete attrs._orderbyRandom;
                                delete attrs._orderByField;
 
                                // If the `ids` attribute is set and `orderby` attribute
                                // is the default value, clear it for cleaner output.
-                               if ( attrs.ids && 'post__in' === attrs.orderby )
+                               if ( attrs.ids && 'post__in' === attrs.orderby ) {
                                        delete attrs.orderby;
+                               }
 
                                // Remove default attributes from the shortcode.
-                               _.each( wp.media.gallery.defaults, function( value, key ) {
-                                       if ( value === attrs[ key ] )
+                               _.each( this.defaults, function( value, key ) {
+                                       attrs[ key ] = self.coerce( attrs, key );
+                                       if ( value === attrs[ key ] ) {
                                                delete attrs[ key ];
+                                       }
                                });
 
                                shortcode = new wp.shortcode({
-                                       tag:    'gallery',
+                                       tag:    this.tag,
                                        attrs:  attrs,
                                        type:   'single'
                                });
                                clone = new wp.media.model.Attachments( attachments.models, {
                                        props: props
                                });
-                               clone.gallery = attachments.gallery;
-                               galleries[ shortcode.string() ] = clone;
+                               clone[ this.tag ] = attachments[ this.tag ];
+                               collections[ shortcode.string() ] = clone;
 
                                return shortcode;
                        },
-
+                       /**
+                        * Triggered when double-clicking a collection shortcode placeholder
+                        *   in the editor
+                        *
+                        * @global wp.shortcode
+                        * @global wp.media.model.Selection
+                        * @global wp.media.view.l10n
+                        *
+                        * @param {string} content Content that is searched for possible
+                        *    shortcode markup matching the passed tag name,
+                        *
+                        * @this wp.media.{prop}
+                        *
+                        * @returns {wp.media.view.MediaFrame.Select} A media workflow.
+                        */
                        edit: function( content ) {
-                               var shortcode = wp.shortcode.next( 'gallery', content ),
-                                       defaultPostId = wp.media.gallery.defaults.id,
-                                       attachments, selection;
+                               var shortcode = wp.shortcode.next( this.tag, content ),
+                                       defaultPostId = this.defaults.id,
+                                       attachments, selection, state;
 
                                // Bail if we didn't match the shortcode or all of the content.
-                               if ( ! shortcode || shortcode.content !== content )
+                               if ( ! shortcode || shortcode.content !== content ) {
                                        return;
+                               }
 
                                // Ignore the rest of the match object.
                                shortcode = shortcode.shortcode;
 
-                               if ( _.isUndefined( shortcode.get('id') ) && ! _.isUndefined( defaultPostId ) )
+                               if ( _.isUndefined( shortcode.get('id') ) && ! _.isUndefined( defaultPostId ) ) {
                                        shortcode.set( 'id', defaultPostId );
+                               }
 
-                               attachments = wp.media.gallery.attachments( shortcode );
+                               attachments = this.attachments( shortcode );
 
                                selection = new wp.media.model.Selection( attachments.models, {
                                        props:    attachments.props.toJSON(),
                                        multiple: true
                                });
 
-                               selection.gallery = attachments.gallery;
+                               selection[ this.tag ] = attachments[ this.tag ];
 
                                // Fetch the query's attachments, and then break ties from the
                                // query to allow for sorting.
                                });
 
                                // Destroy the previous gallery frame.
-                               if ( this.frame )
+                               if ( this.frame ) {
                                        this.frame.dispose();
+                               }
+
+                               if ( shortcode.attrs.named.type && 'video' === shortcode.attrs.named.type ) {
+                                       state = 'video-' + this.tag + '-edit';
+                               } else {
+                                       state = this.tag + '-edit';
+                               }
 
-                               // Store the current gallery frame.
+                               // Store the current frame.
                                this.frame = wp.media({
                                        frame:     'post',
-                                       state:     'gallery-edit',
-                                       title:     wp.media.view.l10n.editGalleryTitle,
+                                       state:     state,
+                                       title:     this.editTitle,
                                        editing:   true,
                                        multiple:  true,
                                        selection: selection
 
                                return this.frame;
                        }
-               };
-       }());
+               });
+       };
 
+       wp.media.gallery = new wp.media.collection({
+               tag: 'gallery',
+               type : 'image',
+               editTitle : wp.media.view.l10n.editGalleryTitle,
+               defaults : {
+                       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.featuredImage
+        * @namespace
+        */
        wp.media.featuredImage = {
+               /**
+                * Get the featured image post ID
+                *
+                * @global wp.media.view.settings
+                *
+                * @returns {wp.media.view.settings.post.featuredImageId|number}
+                */
                get: function() {
                        return wp.media.view.settings.post.featuredImageId;
                },
-
+               /**
+                * Set the featured image id, save the post thumbnail data and
+                * set the HTML in the post meta box to the new featured image.
+                *
+                * @global wp.media.view.settings
+                * @global wp.media.post
+                *
+                * @param {number} id The post ID of the featured image, or -1 to unset it.
+                */
                set: function( id ) {
                        var settings = wp.media.view.settings;
 
                                $( '.inside', '#postimagediv' ).html( html );
                        });
                },
-
+               /**
+                * The Featured Image workflow
+                *
+                * @global wp.media.controller.FeaturedImage
+                * @global wp.media.view.l10n
+                *
+                * @this wp.media.featuredImage
+                *
+                * @returns {wp.media.view.MediaFrame.Select} A media workflow.
+                */
                frame: function() {
-                       if ( this._frame )
+                       if ( this._frame ) {
                                return this._frame;
+                       }
 
                        this._frame = wp.media({
                                state: 'featured-image',
-                               states: [ new wp.media.controller.FeaturedImage() ]
+                               states: [ new wp.media.controller.FeaturedImage() , new wp.media.controller.EditImage() ]
                        });
 
                        this._frame.on( 'toolbar:create:featured-image', function( toolbar ) {
+                               /**
+                                * @this wp.media.view.MediaFrame.Select
+                                */
                                this.createSelectToolbar( toolbar, {
                                        text: wp.media.view.l10n.setFeaturedImage
                                });
                        }, this._frame );
 
+                       this._frame.on( 'content:render:edit-image', function() {
+                               var selection = this.state('featured-image').get('selection'),
+                                       view = new wp.media.view.EditImage( { model: selection.single(), controller: this } ).render();
+
+                               this.content.set( view );
+
+                               // after bringing in the frame, load the actual editor via an ajax call
+                               view.loadEditor();
+
+                       }, this._frame );
+
                        this._frame.state('featured-image').on( 'select', this.select );
                        return this._frame;
                },
-
+               /**
+                * 'select' callback for Featured Image workflow, triggered when
+                *  the 'Set Featured Image' button is clicked in the media modal.
+                *
+                * @global wp.media.view.settings
+                *
+                * @this wp.media.controller.FeaturedImage
+                */
                select: function() {
-                       var settings = wp.media.view.settings,
-                               selection = this.get('selection').single();
+                       var selection = this.get('selection').single();
 
-                       if ( ! settings.post.featuredImageId )
+                       if ( ! wp.media.view.settings.post.featuredImageId ) {
                                return;
+                       }
 
                        wp.media.featuredImage.set( selection ? selection.id : -1 );
                },
-
+               /**
+                * Open the content media manager to the 'featured image' tab when
+                * the post thumbnail is clicked.
+                *
+                * Update the featured image id when the 'remove' link is clicked.
+                *
+                * @global wp.media.view.settings
+                */
                init: function() {
-                       // Open the content media manager to the 'featured image' tab when
-                       // the post thumbnail is clicked.
                        $('#postimagediv').on( 'click', '#set-post-thumbnail', function( event ) {
                                event.preventDefault();
                                // Stop propagation to prevent thickbox from activating.
                                event.stopPropagation();
 
                                wp.media.featuredImage.frame().open();
-
-                       // Update the featured image id when the 'remove' link is clicked.
                        }).on( 'click', '#remove-post-thumbnail', function() {
                                wp.media.view.settings.post.featuredImageId = -1;
                        });
 
        $( wp.media.featuredImage.init );
 
+       /**
+        * wp.media.editor
+        * @namespace
+        */
        wp.media.editor = {
-               insert: function( h ) {
-                       var mce = typeof(tinymce) != 'undefined',
-                               qt = typeof(QTags) != 'undefined',
-                               wpActiveEditor = window.wpActiveEditor,
-                               ed;
+               /**
+                * Send content to the editor
+                *
+                * @global tinymce
+                * @global QTags
+                * @global wpActiveEditor
+                * @global tb_remove() - Possibly overloaded by legacy plugins
+                *
+                * @param {string} html Content to send to the editor
+                */
+               insert: function( html ) {
+                       var editor,
+                               hasTinymce = ! _.isUndefined( window.tinymce ),
+                               hasQuicktags = ! _.isUndefined( window.QTags ),
+                               wpActiveEditor = window.wpActiveEditor;
 
                        // Delegate to the global `send_to_editor` if it exists.
                        // This attempts to play nice with any themes/plugins that have
                        // overridden the insert functionality.
-                       if ( window.send_to_editor )
+                       if ( window.send_to_editor ) {
                                return window.send_to_editor.apply( this, arguments );
+                       }
 
                        if ( ! wpActiveEditor ) {
-                               if ( mce && tinymce.activeEditor ) {
-                                       ed = tinymce.activeEditor;
-                                       wpActiveEditor = window.wpActiveEditor = ed.id;
-                               } else if ( !qt ) {
+                               if ( hasTinymce && tinymce.activeEditor ) {
+                                       editor = tinymce.activeEditor;
+                                       wpActiveEditor = window.wpActiveEditor = editor.id;
+                               } else if ( ! hasQuicktags ) {
                                        return false;
                                }
-                       } else if ( mce ) {
-                               if ( tinymce.activeEditor && (tinymce.activeEditor.id == 'mce_fullscreen' || tinymce.activeEditor.id == 'wp_mce_fullscreen') )
-                                       ed = tinymce.activeEditor;
-                               else
-                                       ed = tinymce.get(wpActiveEditor);
+                       } else if ( hasTinymce ) {
+                               editor = tinymce.get( wpActiveEditor );
                        }
 
-                       if ( ed && !ed.isHidden() ) {
-                               // restore caret position on IE
-                               if ( tinymce.isIE && ed.windowManager.insertimagebookmark )
-                                       ed.selection.moveToBookmark(ed.windowManager.insertimagebookmark);
-
-                               if ( h.indexOf('[caption') !== -1 ) {
-                                       if ( ed.wpSetImgCaption )
-                                               h = ed.wpSetImgCaption(h);
-                               } else if ( h.indexOf('[gallery') !== -1 ) {
-                                       if ( ed.plugins.wpgallery )
-                                               h = ed.plugins.wpgallery._do_gallery(h);
-                               } else if ( h.indexOf('[embed') === 0 ) {
-                                       if ( ed.plugins.wordpress )
-                                               h = ed.plugins.wordpress._setEmbed(h);
-                               }
-
-                               ed.execCommand('mceInsertContent', false, h);
-                       } else if ( qt ) {
-                               QTags.insertContent(h);
+                       if ( editor && ! editor.isHidden() ) {
+                               editor.execCommand( 'mceInsertContent', false, html );
+                       } else if ( hasQuicktags ) {
+                               QTags.insertContent( html );
                        } else {
-                               document.getElementById(wpActiveEditor).value += h;
+                               document.getElementById( wpActiveEditor ).value += html;
                        }
 
                        // If the old thickbox remove function exists, call it in case
                        // a theme/plugin overloaded it.
-                       if ( window.tb_remove )
+                       if ( window.tb_remove ) {
                                try { window.tb_remove(); } catch( e ) {}
+                       }
                },
 
+               /**
+                * Setup 'workflow' and add to the 'workflows' cache. 'open' can
+                *  subsequently be called upon it.
+                *
+                * @global wp.media.view.l10n
+                *
+                * @param {string} id A slug used to identify the workflow.
+                * @param {Object} [options={}]
+                *
+                * @this wp.media.editor
+                *
+                * @returns {wp.media.view.MediaFrame.Select} A media workflow.
+                */
                add: function( id, options ) {
                        var workflow = this.get( id );
 
-                       if ( workflow ) // only add once: if exists return existing
+                       // only add once: if exists return existing
+                       if ( workflow ) {
                                return workflow;
+                       }
 
                        workflow = workflows[ id ] = wp.media( _.defaults( options || {}, {
                                frame:    'post',
 
                                $.when.apply( $, selection.map( function( attachment ) {
                                        var display = state.display( attachment ).toJSON();
+                                       /**
+                                        * @this wp.media.editor
+                                        */
                                        return this.send.attachment( display, attachment.toJSON() );
                                }, this ) ).done( function() {
                                        wp.media.editor.insert( _.toArray( arguments ).join('\n\n') );
                        }, this );
 
                        workflow.state('gallery-edit').on( 'update', function( selection ) {
+                               /**
+                                * @this wp.media.editor
+                                */
                                this.insert( wp.media.gallery.shortcode( selection ).string() );
                        }, this );
 
+                       workflow.state('playlist-edit').on( 'update', function( selection ) {
+                               /**
+                                * @this wp.media.editor
+                                */
+                               this.insert( wp.media.playlist.shortcode( selection ).string() );
+                       }, this );
+
+                       workflow.state('video-playlist-edit').on( 'update', function( selection ) {
+                               /**
+                                * @this wp.media.editor
+                                */
+                               this.insert( wp.media.playlist.shortcode( selection ).string() );
+                       }, this );
+
                        workflow.state('embed').on( 'select', function() {
+                               /**
+                                * @this wp.media.editor
+                                */
                                var state = workflow.state(),
                                        type = state.get('type'),
                                        embed = state.props.toJSON();
                                                link:    'none'
                                        });
 
-                                       if ( 'none' === embed.link )
+                                       if ( 'none' === embed.link ) {
                                                embed.linkUrl = '';
-                                       else if ( 'file' === embed.link )
+                                       } else if ( 'file' === embed.link ) {
                                                embed.linkUrl = embed.url;
+                                       }
 
                                        this.insert( wp.media.string.image( embed ) );
                                }
                        workflow.setState( workflow.options.state );
                        return workflow;
                },
-
+               /**
+                * Determines the proper current workflow id
+                *
+                * @global wpActiveEditor
+                * @global tinymce
+                *
+                * @param {string} [id=''] A slug used to identify the workflow.
+                *
+                * @returns {wpActiveEditor|string|tinymce.activeEditor.id}
+                */
                id: function( id ) {
-                       if ( id )
+                       if ( id ) {
                                return id;
+                       }
 
                        // If an empty `id` is provided, default to `wpActiveEditor`.
                        id = wpActiveEditor;
 
                        // If that doesn't work, fall back to `tinymce.activeEditor.id`.
-                       if ( ! id && typeof tinymce !== 'undefined' && tinymce.activeEditor )
+                       if ( ! id && ! _.isUndefined( window.tinymce ) && tinymce.activeEditor ) {
                                id = tinymce.activeEditor.id;
+                       }
 
                        // Last but not least, fall back to the empty string.
                        id = id || '';
                        return id;
                },
-
+               /**
+                * Return the workflow specified by id
+                *
+                * @param {string} id A slug used to identify the workflow.
+                *
+                * @this wp.media.editor
+                *
+                * @returns {wp.media.view.MediaFrame} A media workflow.
+                */
                get: function( id ) {
                        id = this.id( id );
                        return workflows[ id ];
                },
-
+               /**
+                * Remove the workflow represented by id from the workflow cache
+                *
+                * @param {string} id A slug used to identify the workflow.
+                *
+                * @this wp.media.editor
+                */
                remove: function( id ) {
                        id = this.id( id );
                        delete workflows[ id ];
                },
-
+               /**
+                * @namespace
+                */
                send: {
+                       /**
+                        * Called when sending an attachment to the editor
+                        *   from the medial modal.
+                        *
+                        * @global wp.media.view.settings
+                        * @global wp.media.post
+                        *
+                        * @param {Object} props Attachment details (align, link, size, etc).
+                        * @param {Object} attachment The attachment object, media version of Post.
+                        * @returns {Promise}
+                        */
                        attachment: function( props, attachment ) {
                                var caption = attachment.caption,
                                        options, html;
 
                                // If captions are disabled, clear the caption.
-                               if ( ! wp.media.view.settings.captions )
+                               if ( ! wp.media.view.settings.captions ) {
                                        delete attachment.caption;
+                               }
 
                                props = wp.media.string.props( props, attachment );
 
                                        post_excerpt: caption
                                };
 
-                               if ( props.linkUrl )
+                               if ( props.linkUrl ) {
                                        options.url = props.linkUrl;
+                               }
 
                                if ( 'image' === attachment.type ) {
                                        html = wp.media.string.image( props );
                                        post_id:    wp.media.view.settings.post.id
                                });
                        },
-
+                       /**
+                        * Called when 'Insert From URL' source is not an image. Example: YouTube url.
+                        *
+                        * @global wp.media.view.settings
+                        *
+                        * @param {Object} embed
+                        * @returns {Promise}
+                        */
                        link: function( embed ) {
                                return wp.media.post( 'send-link-to-editor', {
                                        nonce:   wp.media.view.settings.nonce.sendToEditor,
                                });
                        }
                },
-
+               /**
+                * Open a workflow
+                *
+                * @param {string} [id=undefined] Optional. A slug used to identify the workflow.
+                * @param {Object} [options={}]
+                *
+                * @this wp.media.editor
+                *
+                * @returns {wp.media.view.MediaFrame}
+                */
                open: function( id, options ) {
-                       var workflow, editor;
+                       var workflow;
 
                        options = options || {};
 
                        id = this.id( id );
-
+/*
                        // Save a bookmark of the caret position in IE.
-                       if ( typeof tinymce !== 'undefined' ) {
+                       if ( ! _.isUndefined( window.tinymce ) ) {
                                editor = tinymce.get( id );
 
                                if ( tinymce.isIE && editor && ! editor.isHidden() ) {
                                        editor.windowManager.insertimagebookmark = editor.selection.getBookmark();
                                }
                        }
-
+*/
                        workflow = this.get( id );
 
                        // Redo workflow if state has changed
-                       if ( ! workflow || ( workflow.options && options.state !== workflow.options.state ) )
+                       if ( ! workflow || ( workflow.options && options.state !== workflow.options.state ) ) {
                                workflow = this.add( id, options );
+                       }
 
                        return workflow.open();
                },
 
+               /**
+                * Bind click event for .insert-media using event delegation
+                *
+                * @global wp.media.view.l10n
+                */
                init: function() {
-                       $(document.body).on( 'click', '.insert-media', function( event ) {
-                               var $this = $(this),
-                                       editor = $this.data('editor'),
-                                       options = {
-                                               frame:    'post',
-                                               state:    'insert',
-                                               title:    wp.media.view.l10n.addMedia,
-                                               multiple: true
-                                       };
-
-                               event.preventDefault();
-
-                               // Remove focus from the `.insert-media` button.
-                               // Prevents Opera from showing the outline of the button
-                               // above the modal.
-                               //
-                               // See: http://core.trac.wordpress.org/ticket/22445
-                               $this.blur();
-
-                               if ( $this.hasClass( 'gallery' ) ) {
-                                       options.state = 'gallery';
-                                       options.title = wp.media.view.l10n.createGalleryTitle;
-                               }
+                       $(document.body)
+                               .on( 'click', '.insert-media', function( event ) {
+                                       var elem = $( event.currentTarget ),
+                                               editor = elem.data('editor'),
+                                               options = {
+                                                       frame:    'post',
+                                                       state:    'insert',
+                                                       title:    wp.media.view.l10n.addMedia,
+                                                       multiple: true
+                                               };
+
+                                       event.preventDefault();
+
+                                       // Remove focus from the `.insert-media` button.
+                                       // Prevents Opera from showing the outline of the button
+                                       // above the modal.
+                                       //
+                                       // See: http://core.trac.wordpress.org/ticket/22445
+                                       elem.blur();
+
+                                       if ( elem.hasClass( 'gallery' ) ) {
+                                               options.state = 'gallery';
+                                               options.title = wp.media.view.l10n.createGalleryTitle;
+                                       }
+
+                                       wp.media.editor.open( editor, options );
+                               });
 
-                               wp.media.editor.open( editor, options );
-                       });
+                       // Initialize and render the Editor drag-and-drop uploader.
+                       new wp.media.view.EditorUploader().render();
                }
        };
 
        _.bindAll( wp.media.editor, 'open' );
        $( wp.media.editor.init );
-}(jQuery));
+}(jQuery, _));
index da766b6e68b5cbbf540f67f6b1eef30021b20701..3237c3e50efd2aad2beabe9cbf7c02eca2b3cbe0 100644 (file)
@@ -1 +1 @@
-!function(a){var b={};wp.media.string={props:function(a,b){var c,d,e,f,g,h=wp.media.view.settings.defaultProps;return g=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?_.clone(a):{},b&&b.type&&(a.type=b.type),"image"===a.type&&(a=_.defaults(a||{},{align:h.align||getUserSetting("align","none"),size:h.size||getUserSetting("imgsize","medium"),url:"",classes:[]})),b?(a.title=a.title||b.title,c=a.link||h.link||getUserSetting("urlbutton","file"),"file"===c||"embed"===c?d=b.url:"post"===c?d=b.link:"custom"===c&&(d=a.linkUrl),a.linkUrl=d||"","image"===b.type?(a.classes.push("wp-image-"+b.id),f=b.sizes,e=f&&f[a.size]?f[a.size]:b,_.extend(a,_.pick(b,"align","caption","alt"),{width:e.width,height:e.height,src:e.url,captionId:"attachment_"+b.id})):"video"===b.type||"audio"===b.type?_.extend(a,_.pick(b,"title","type","icon","mime")):(a.title=a.title||b.filename,a.rel=a.rel||"attachment wp-att-"+b.id),g(a)):g(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,b,c){var d,e,f;return b=wp.media.string.props(b,c),"embed"!==b.link?wp.media.string.link(b):(d={},"video"===a&&(c.width&&(d.width=c.width),c.height&&(d.height=c.height)),f=c.filename.split(".").pop(),_.contains(wp.media.view.settings.embedExts,f)?(d[f]=c.url,e=wp.shortcode.string({tag:a,attrs:d})):wp.media.string.link(b))},image:function(a,b){var c,d,e,f,g={};return a=wp.media.string.props(a,b),d=a.classes||[],g.src="undefined"!=typeof b?b.url:a.url,_.extend(g,_.pick(a,"width","height","alt")),a.align&&!a.caption&&d.push("align"+a.align),a.size&&d.push("size-"+a.size),g["class"]=_.compact(d).join(" "),c={tag:"img",attrs:g,single:!0},a.linkUrl&&(c={tag:"a",attrs:{href:a.linkUrl},content:c}),f=wp.html.string(c),a.caption&&(e={},g.width&&(e.width=g.width),a.captionId&&(e.id=a.captionId),a.align&&(e.align="align"+a.align),f=wp.shortcode.string({tag:"caption",attrs:e,content:f+" "+a.caption})),f}},wp.media.gallery=function(){var a={};return{defaults:{order:"ASC",id:wp.media.view.settings.post.id,itemtag:"dl",icontag:"dt",captiontag:"dd",columns:"3",link:"post",size:"thumbnail",orderby:"menu_order ID"},attachments:function(b){var c,d,e,f,g=b.string(),h=a[g];return delete a[g],h?h:(c=_.defaults(b.attrs.named,wp.media.gallery.defaults),d=_.pick(c,"orderby","order"),d.type="image",d.perPage=-1,void 0!==c.orderby&&(c._orderByField=c.orderby),"rand"===c.orderby&&(c._orderbyRandom=!0),(!c.orderby||/^menu_order(?: ID)?$/i.test(c.orderby))&&(d.orderby="menuOrder"),c.ids?(d.post__in=c.ids.split(","),d.orderby="post__in"):c.include&&(d.post__in=c.include.split(",")),c.exclude&&(d.post__not_in=c.exclude.split(",")),d.post__in||(d.uploadedTo=c.id),f=_.omit(c,"id","ids","include","exclude","orderby","order"),e=wp.media.query(d),e.gallery=new Backbone.Model(f),e)},shortcode:function(b){var c,d,e=b.props.toJSON(),f=_.pick(e,"orderby","order");return b.gallery&&_.extend(f,b.gallery.toJSON()),f.ids=b.pluck("id"),e.uploadedTo&&(f.id=e.uploadedTo),delete f.orderby,f._orderbyRandom?f.orderby="rand":f._orderByField&&"rand"!=f._orderByField&&(f.orderby=f._orderByField),delete f._orderbyRandom,delete f._orderByField,f.ids&&"post__in"===f.orderby&&delete f.orderby,_.each(wp.media.gallery.defaults,function(a,b){a===f[b]&&delete f[b]}),c=new wp.shortcode({tag:"gallery",attrs:f,type:"single"}),d=new wp.media.model.Attachments(b.models,{props:e}),d.gallery=b.gallery,a[c.string()]=d,c},edit:function(a){var b,c,d=wp.shortcode.next("gallery",a),e=wp.media.gallery.defaults.id;if(d&&d.content===a)return d=d.shortcode,_.isUndefined(d.get("id"))&&!_.isUndefined(e)&&d.set("id",e),b=wp.media.gallery.attachments(d),c=new wp.media.model.Selection(b.models,{props:b.props.toJSON(),multiple:!0}),c.gallery=b.gallery,c.more().done(function(){c.props.set({query:!1}),c.unmirror(),c.props.unset("orderby")}),this.frame&&this.frame.dispose(),this.frame=wp.media({frame:"post",state:"gallery-edit",title:wp.media.view.l10n.editGalleryTitle,editing:!0,multiple:!0,selection:c}).open(),this.frame}}}(),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]}),this._frame.on("toolbar:create:featured-image",function(a){this.createSelectToolbar(a,{text:wp.media.view.l10n.setFeaturedImage})},this._frame),this._frame.state("featured-image").on("select",this.select),this._frame)},select:function(){var a=wp.media.view.settings,b=this.get("selection").single();a.post.featuredImageId&&wp.media.featuredImage.set(b?b.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 b,c="undefined"!=typeof tinymce,d="undefined"!=typeof QTags,e=window.wpActiveEditor;if(window.send_to_editor)return window.send_to_editor.apply(this,arguments);if(e)c&&(b=!tinymce.activeEditor||"mce_fullscreen"!=tinymce.activeEditor.id&&"wp_mce_fullscreen"!=tinymce.activeEditor.id?tinymce.get(e):tinymce.activeEditor);else if(c&&tinymce.activeEditor)b=tinymce.activeEditor,e=window.wpActiveEditor=b.id;else if(!d)return!1;if(b&&!b.isHidden()?(tinymce.isIE&&b.windowManager.insertimagebookmark&&b.selection.moveToBookmark(b.windowManager.insertimagebookmark),-1!==a.indexOf("[caption")?b.wpSetImgCaption&&(a=b.wpSetImgCaption(a)):-1!==a.indexOf("[gallery")?b.plugins.wpgallery&&(a=b.plugins.wpgallery._do_gallery(a)):0===a.indexOf("[embed")&&b.plugins.wordpress&&(a=b.plugins.wordpress._setEmbed(a)),b.execCommand("mceInsertContent",!1,a)):d?QTags.insertContent(a):document.getElementById(e).value+=a,window.tb_remove)try{window.tb_remove()}catch(f){}},add:function(c,d){var e=this.get(c);return e?e:(e=b[c]=wp.media(_.defaults(d||{},{frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0})),e.on("insert",function(b){var c=e.state();b=b||c.get("selection"),b&&a.when.apply(a,b.map(function(a){var b=c.display(a).toJSON();return this.send.attachment(b,a.toJSON())},this)).done(function(){wp.media.editor.insert(_.toArray(arguments).join("\n\n"))})},this),e.state("gallery-edit").on("update",function(a){this.insert(wp.media.gallery.shortcode(a).string())},this),e.state("embed").on("select",function(){var a=e.state(),b=a.get("type"),c=a.props.toJSON();c.url=c.url||"","link"===b?(_.defaults(c,{title:c.url,linkUrl:c.url}),this.send.link(c).done(function(a){wp.media.editor.insert(a)})):"image"===b&&(_.defaults(c,{title:c.url,linkUrl:"",align:"none",link:"none"}),"none"===c.link?c.linkUrl="":"file"===c.link&&(c.linkUrl=c.url),this.insert(wp.media.string.image(c)))},this),e.state("featured-image").on("select",wp.media.featuredImage.select),e.setState(e.options.state),e)},id:function(a){return a?a:(a=wpActiveEditor,!a&&"undefined"!=typeof tinymce&&tinymce.activeEditor&&(a=tinymce.activeEditor.id),a=a||"")},get:function(a){return a=this.id(a),b[a]},remove:function(a){a=this.id(a),delete b[a]},send:{attachment:function(a,b){var c,d,e=b.caption;return wp.media.view.settings.captions||delete b.caption,a=wp.media.string.props(a,b),c={id:b.id,post_content:b.description,post_excerpt:e},a.linkUrl&&(c.url=a.linkUrl),"image"===b.type?(d=wp.media.string.image(a),_.each({align:"align",size:"image-size",alt:"image_alt"},function(b,d){a[d]&&(c[b]=a[d])})):"video"===b.type?d=wp.media.string.video(a,b):"audio"===b.type?d=wp.media.string.audio(a,b):(d=wp.media.string.link(a),c.post_title=a.title),wp.media.post("send-attachment-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,attachment:c,html:d,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,title:a.title,html:wp.media.string.link(a),post_id:wp.media.view.settings.post.id})}},open:function(a,b){var c,d;return b=b||{},a=this.id(a),"undefined"!=typeof tinymce&&(d=tinymce.get(a),tinymce.isIE&&d&&!d.isHidden()&&(d.focus(),d.windowManager.insertimagebookmark=d.selection.getBookmark())),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",".insert-media",function(b){var c=a(this),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)})}},_.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.collection=function(a){var c={};return b.extend(a,{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"),h=this;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,b.each(this.defaults,function(a,b){g[b]=h.coerce(g,b),a===g[b]&&delete g[b]}),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}})},wp.media.gallery=new wp.media.collection({tag:"gallery",type:"image",editTitle:wp.media.view.l10n.editGalleryTitle,defaults:{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.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=!b.isUndefined(window.tinymce),e=!b.isUndefined(window.QTags),f=window.wpActiveEditor;if(window.send_to_editor)return window.send_to_editor.apply(this,arguments);if(f)d&&(c=tinymce.get(f));else if(d&&tinymce.activeEditor)c=tinymce.activeEditor,f=window.wpActiveEditor=c.id;else if(!e)return!1;if(c&&!c.isHidden()?c.execCommand("mceInsertContent",!1,a):e?QTags.insertContent(a):document.getElementById(f).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,{title: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=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,title:a.title,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),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",".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 ab26599aa1910b8ae1f14c226fb2896962183439..1dd719688ecbad869b9983a4878f633abeb4be7b 100644 (file)
@@ -2,7 +2,7 @@
 window.wp = window.wp || {};
 
 (function($){
-       var Attachment, Attachments, Query, compare, l10n, media;
+       var Attachment, Attachments, Query, PostImage, compare, l10n, media;
 
        /**
         * wp.media( attributes )
@@ -12,26 +12,36 @@ window.wp = window.wp || {};
         * Does nothing if the controllers do not exist.
         *
         * @param  {object} attributes The properties passed to the main media controller.
-        * @return {object}            A media workflow.
+        * @return {wp.media.view.MediaFrame} A media workflow.
         */
        media = wp.media = function( attributes ) {
                var MediaFrame = media.view.MediaFrame,
                        frame;
 
-               if ( ! MediaFrame )
+               if ( ! MediaFrame ) {
                        return;
+               }
 
                attributes = _.defaults( attributes || {}, {
                        frame: 'select'
                });
 
-               if ( 'select' === attributes.frame && MediaFrame.Select )
+               if ( 'select' === attributes.frame && MediaFrame.Select ) {
                        frame = new MediaFrame.Select( attributes );
-               else if ( 'post' === attributes.frame && MediaFrame.Post )
+               } else if ( 'post' === attributes.frame && MediaFrame.Post ) {
                        frame = new MediaFrame.Post( attributes );
+               } else if ( 'image' === attributes.frame && MediaFrame.ImageDetails ) {
+                       frame = new MediaFrame.ImageDetails( attributes );
+               } else if ( 'audio' === attributes.frame && MediaFrame.AudioDetails ) {
+                       frame = new MediaFrame.AudioDetails( attributes );
+               } else if ( 'video' === attributes.frame && MediaFrame.VideoDetails ) {
+                       frame = new MediaFrame.VideoDetails( attributes );
+               }
 
                delete attributes.frame;
 
+               media.frame = frame;
+
                return frame;
        };
 
@@ -62,10 +72,11 @@ window.wp = window.wp || {};
         *                      1: b should come before a.
         */
        compare = function( a, b, ac, bc ) {
-               if ( _.isEqual( a, b ) )
+               if ( _.isEqual( a, b ) ) {
                        return ac === bc ? 0 : (ac > bc ? -1 : 1);
-               else
+               } else {
                        return a > b ? -1 : 1;
+               }
        };
 
        _.extend( media, {
@@ -74,6 +85,8 @@ window.wp = window.wp || {};
                 *
                 * Fetches a template by id.
                 * See wp.template() in `wp-includes/js/wp-util.js`.
+                *
+                * @borrows wp.template as template
                 */
                template: wp.template,
 
@@ -82,6 +95,8 @@ window.wp = window.wp || {};
                 *
                 * Sends a POST request to WordPress.
                 * See wp.ajax.post() in `wp-includes/js/wp-util.js`.
+                *
+                * @borrows wp.ajax.post as post
                 */
                post: wp.ajax.post,
 
@@ -90,10 +105,17 @@ window.wp = window.wp || {};
                 *
                 * Sends an XHR request to WordPress.
                 * See wp.ajax.send() in `wp-includes/js/wp-util.js`.
+                *
+                * @borrows wp.ajax.send as ajax
                 */
                ajax: wp.ajax.send,
 
-               // Scales a set of dimensions to fit within bounding dimensions.
+               /**
+                * Scales a set of dimensions to fit within bounding dimensions.
+                *
+                * @param {Object} dimensions
+                * @returns {Object}
+                */
                fit: function( dimensions ) {
                        var width     = dimensions.width,
                                height    = dimensions.height,
@@ -131,29 +153,38 @@ window.wp = window.wp || {};
                                };
                        }
                },
-
-               // Truncates a string by injecting an ellipsis into the middle.
-               // Useful for filenames.
+               /**
+                * Truncates a string by injecting an ellipsis into the middle.
+                * Useful for filenames.
+                *
+                * @param {String} string
+                * @param {Number} [length=30]
+                * @param {String} [replacement=&hellip;]
+                * @returns {String} The string, unless length is greater than string.length.
+                */
                truncate: function( string, length, replacement ) {
                        length = length || 30;
                        replacement = replacement || '&hellip;';
 
-                       if ( string.length <= length )
+                       if ( string.length <= length ) {
                                return string;
+                       }
 
                        return string.substr( 0, length / 2 ) + replacement + string.substr( -1 * length / 2 );
                }
        });
 
-
        /**
         * ========================================================================
         * MODELS
         * ========================================================================
         */
-
        /**
         * wp.media.attachment
+        *
+        * @static
+        * @param {String} id A string used to identify a model.
+        * @returns {wp.media.model.Attachment}
         */
        media.attachment = function( id ) {
                return Attachment.get( id );
@@ -161,13 +192,27 @@ window.wp = window.wp || {};
 
        /**
         * wp.media.model.Attachment
+        *
+        * @constructor
+        * @augments Backbone.Model
         */
        Attachment = media.model.Attachment = Backbone.Model.extend({
+               /**
+                * Triggered when attachment details change
+                * Overrides Backbone.Model.sync
+                *
+                * @param {string} method
+                * @param {wp.media.model.Attachment} model
+                * @param {Object} [options={}]
+                *
+                * @returns {Promise}
+                */
                sync: function( method, model, options ) {
                        // If the attachment does not yet have an `id`, return an instantly
                        // rejected promise. Otherwise, all of our requests will fail.
-                       if ( _.isUndefined( this.id ) )
+                       if ( _.isUndefined( this.id ) ) {
                                return $.Deferred().rejectWith( this ).promise();
+                       }
 
                        // Overload the `read` request so Attachment.fetch() functions correctly.
                        if ( 'read' === method ) {
@@ -182,8 +227,9 @@ window.wp = window.wp || {};
                        // Overload the `update` request so properties can be saved.
                        } else if ( 'update' === method ) {
                                // If we do not have the necessary nonce, fail immeditately.
-                               if ( ! this.get('nonces') || ! this.get('nonces').update )
+                               if ( ! this.get('nonces') || ! this.get('nonces').update ) {
                                        return $.Deferred().rejectWith( this ).promise();
+                               }
 
                                options = options || {};
                                options.context = this;
@@ -212,8 +258,9 @@ window.wp = window.wp || {};
                        } else if ( 'delete' === method ) {
                                options = options || {};
 
-                               if ( ! options.wait )
+                               if ( ! options.wait ) {
                                        this.destroyed = true;
+                               }
 
                                options.context = this;
                                options.data = _.extend( options.data || {}, {
@@ -230,26 +277,43 @@ window.wp = window.wp || {};
 
                        // Otherwise, fall back to `Backbone.sync()`.
                        } else {
+                               /**
+                                * Call `sync` directly on Backbone.Model
+                                */
                                return Backbone.Model.prototype.sync.apply( this, arguments );
                        }
                },
-
+               /**
+                * Convert date strings into Date objects.
+                *
+                * @param {Object} resp The raw response object, typically returned by fetch()
+                * @returns {Object} The modified response object, which is the attributes hash
+                *    to be set on the model.
+                */
                parse: function( resp ) {
-                       if ( ! resp )
+                       if ( ! resp ) {
                                return resp;
+                       }
 
-                       // Convert date strings into Date objects.
                        resp.date = new Date( resp.date );
                        resp.modified = new Date( resp.modified );
                        return resp;
                },
-
+               /**
+                * @param {Object} data The properties to be saved.
+                * @param {Object} options Sync options. e.g. patch, wait, success, error.
+                *
+                * @this Backbone.Model
+                *
+                * @returns {Promise}
+                */
                saveCompat: function( data, options ) {
                        var model = this;
 
                        // If we do not have the necessary nonce, fail immeditately.
-                       if ( ! this.get('nonces') || ! this.get('nonces').update )
+                       if ( ! this.get('nonces') || ! this.get('nonces').update ) {
                                return $.Deferred().rejectWith( this ).promise();
+                       }
 
                        return media.post( 'save-attachment-compat', _.defaults({
                                id:      this.id,
@@ -260,21 +324,187 @@ window.wp = window.wp || {};
                        });
                }
        }, {
+               /**
+                * Add a model to the end of the static 'all' collection and return it.
+                *
+                * @static
+                * @param {Object} attrs
+                * @returns {wp.media.model.Attachment}
+                */
                create: function( attrs ) {
                        return Attachments.all.push( attrs );
                },
-
+               /**
+                * Retrieve a model, or add it to the end of the static 'all' collection before returning it.
+                *
+                * @static
+                * @param {string} id A string used to identify a model.
+                * @param {Backbone.Model|undefined} attachment
+                * @returns {wp.media.model.Attachment}
+                */
                get: _.memoize( function( id, attachment ) {
                        return Attachments.all.push( attachment || { id: id } );
                })
        });
 
+       /**
+        * wp.media.model.PostImage
+        *
+        * @constructor
+        * @augments Backbone.Model
+        **/
+       PostImage = media.model.PostImage = Backbone.Model.extend({
+
+               initialize: function( attributes ) {
+                       this.attachment = false;
+
+                       if ( attributes.attachment_id ) {
+                               this.attachment = Attachment.get( attributes.attachment_id );
+                               if ( this.attachment.get( 'url' ) ) {
+                                       this.dfd = $.Deferred();
+                                       this.dfd.resolve();
+                               } else {
+                                       this.dfd = this.attachment.fetch();
+                               }
+                               this.bindAttachmentListeners();
+                       }
+
+                       // keep url in sync with changes to the type of link
+                       this.on( 'change:link', this.updateLinkUrl, this );
+                       this.on( 'change:size', this.updateSize, this );
+
+                       this.setLinkTypeFromUrl();
+                       this.setAspectRatio();
+
+                       this.set( 'originalUrl', attributes.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( attachment, props ) {
+                       this.stopListening( this.attachment );
+                       this.attachment = attachment;
+                       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', props.get( 'size' ) );
+                       this.set( 'align', props.get( 'align' ) );
+                       this.set( 'link', props.get( 'link' ) );
+                       this.updateLinkUrl();
+                       this.updateSize();
+               },
+
+               setLinkTypeFromUrl: function() {
+                       var linkUrl = this.get( 'linkUrl' ),
+                               type;
+
+                       if ( ! linkUrl ) {
+                               this.set( 'link', 'none' );
+                               return;
+                       }
+
+                       // default to custom if there is a linkUrl
+                       type = 'custom';
+
+                       if ( this.attachment ) {
+                               if ( this.attachment.get( 'url' ) === linkUrl ) {
+                                       type = 'file';
+                               } else if ( this.attachment.get( 'link' ) === linkUrl ) {
+                                       type = 'post';
+                               }
+                       } else {
+                               if ( this.get( 'url' ) === linkUrl ) {
+                                       type = 'file';
+                               }
+                       }
+
+                       this.set( 'link', type );
+               },
+
+               updateLinkUrl: function() {
+                       var link = this.get( 'link' ),
+                               url;
+
+                       switch( link ) {
+                               case 'file':
+                                       if ( this.attachment ) {
+                                               url = this.attachment.get( 'url' );
+                                       } else {
+                                               url = this.get( 'url' );
+                                       }
+                                       this.set( 'linkUrl', url );
+                                       break;
+                               case 'post':
+                                       this.set( 'linkUrl', this.attachment.get( 'link' ) );
+                                       break;
+                               case 'none':
+                                       this.set( 'linkUrl', '' );
+                                       break;
+                       }
+               },
+
+               updateSize: function() {
+                       var size;
+
+                       if ( ! this.attachment ) {
+                               return;
+                       }
+
+                       if ( this.get( 'size' ) === 'custom' ) {
+                               this.set( 'width', this.get( 'customWidth' ) );
+                               this.set( 'height', this.get( 'customHeight' ) );
+                               this.set( 'url', this.get( 'originalUrl' ) );
+                               return;
+                       }
+
+                       size = this.attachment.get( 'sizes' )[ this.get( 'size' ) ];
+
+                       if ( ! size ) {
+                               return;
+                       }
+
+                       this.set( 'url', size.url );
+                       this.set( 'width', size.width );
+                       this.set( 'height', size.height );
+               },
+
+               setAspectRatio: function() {
+                       var full;
+
+                       if ( this.attachment && this.attachment.get( 'sizes' ) ) {
+                               full = this.attachment.get( 'sizes' ).full;
+
+                               if ( full ) {
+                                       this.set( 'aspectRatio', full.width / full.height );
+                                       return;
+                               }
+                       }
+
+                       this.set( 'aspectRatio', this.get( 'customWidth' ) / this.get( 'customHeight' ) );
+               }
+       });
+
        /**
         * wp.media.model.Attachments
+        *
+        * @constructor
+        * @augments Backbone.Collection
         */
        Attachments = media.model.Attachments = Backbone.Collection.extend({
+               /**
+                * @type {wp.media.model.Attachment}
+                */
                model: Attachment,
-
+               /**
+                * @param {Array} [models=[]] Array of models used to populate the collection.
+                * @param {Object} [options={}]
+                */
                initialize: function( models, options ) {
                        options = options || {};
 
@@ -292,30 +522,49 @@ window.wp = window.wp || {};
                        this.props.set( _.defaults( options.props || {} ) );
 
                        // Observe another `Attachments` collection if one is provided.
-                       if ( options.observe )
+                       if ( options.observe ) {
                                this.observe( options.observe );
+                       }
                },
-
-               // Automatically sort the collection when the order changes.
+               /**
+                * Automatically sort the collection when the order changes.
+                *
+                * @access private
+                */
                _changeOrder: function() {
-                       if ( this.comparator )
+                       if ( this.comparator ) {
                                this.sort();
+                       }
                },
-
-               // Set the default comparator only when the `orderby` property is set.
+               /**
+                * Set the default comparator only when the `orderby` property is set.
+                *
+                * @access private
+                *
+                * @param {Backbone.Model} model
+                * @param {string} orderby
+                */
                _changeOrderby: function( model, orderby ) {
                        // If a different comparator is defined, bail.
-                       if ( this.comparator && this.comparator !== Attachments.comparator )
+                       if ( this.comparator && this.comparator !== Attachments.comparator ) {
                                return;
+                       }
 
-                       if ( orderby && 'post__in' !== orderby )
+                       if ( orderby && 'post__in' !== orderby ) {
                                this.comparator = Attachments.comparator;
-                       else
+                       } else {
                                delete this.comparator;
+                       }
                },
-
-               // If the `query` property is set to true, query the server using
-               // the `props` values, and sync the results to this collection.
+               /**
+                * If the `query` property is set to true, query the server using
+                * the `props` values, and sync the results to this collection.
+                *
+                * @access private
+                *
+                * @param {Backbone.Model} model
+                * @param {Boolean} query
+                */
                _changeQuery: function( model, query ) {
                        if ( query ) {
                                this.props.on( 'change', this._requery, this );
@@ -324,65 +573,91 @@ window.wp = window.wp || {};
                                this.props.off( 'change', this._requery, this );
                        }
                },
-
+               /**
+                * @access private
+                *
+                * @param {Backbone.Model} model
+                */
                _changeFilteredProps: function( model ) {
                        // If this is a query, updating the collection will be handled by
                        // `this._requery()`.
-                       if ( this.props.get('query') )
+                       if ( this.props.get('query') ) {
                                return;
+                       }
 
                        var changed = _.chain( model.changed ).map( function( t, prop ) {
                                var filter = Attachments.filters[ prop ],
                                        term = model.get( prop );
 
-                               if ( ! filter )
+                               if ( ! filter ) {
                                        return;
+                               }
 
-                               if ( term && ! this.filters[ prop ] )
+                               if ( term && ! this.filters[ prop ] ) {
                                        this.filters[ prop ] = filter;
-                               else if ( ! term && this.filters[ prop ] === filter )
+                               } else if ( ! term && this.filters[ prop ] === filter ) {
                                        delete this.filters[ prop ];
-                               else
+                               } else {
                                        return;
+                               }
 
                                // Record the change.
                                return true;
                        }, this ).any().value();
 
-                       if ( ! changed )
+                       if ( ! changed ) {
                                return;
+                       }
 
                        // If no `Attachments` model is provided to source the searches
                        // from, then automatically generate a source from the existing
                        // models.
-                       if ( ! this._source )
+                       if ( ! this._source ) {
                                this._source = new Attachments( this.models );
+                       }
 
                        this.reset( this._source.filter( this.validator, this ) );
                },
 
                validateDestroyed: false,
-
+               /**
+                * @param {wp.media.model.Attachment} attachment
+                * @returns {Boolean}
+                */
                validator: function( attachment ) {
-                       if ( ! this.validateDestroyed && attachment.destroyed )
+                       if ( ! this.validateDestroyed && attachment.destroyed ) {
                                return false;
+                       }
                        return _.all( this.filters, function( filter ) {
                                return !! filter.call( this, attachment );
                        }, this );
                },
-
+               /**
+                * @param {wp.media.model.Attachment} attachment
+                * @param {Object} options
+                * @returns {wp.media.model.Attachments} Returns itself to allow chaining
+                */
                validate: function( attachment, options ) {
                        var valid = this.validator( attachment ),
                                hasAttachment = !! this.get( attachment.cid );
 
-                       if ( ! valid && hasAttachment )
+                       if ( ! valid && hasAttachment ) {
                                this.remove( attachment, options );
-                       else if ( valid && ! hasAttachment )
+                       } else if ( valid && ! hasAttachment ) {
                                this.add( attachment, options );
+                       }
 
                        return this;
                },
 
+               /**
+                * @param {wp.media.model.Attachments} attachments
+                * @param {object} [options={}]
+                *
+                * @fires wp.media.model.Attachments#reset
+                *
+                * @returns {wp.media.model.Attachments} Returns itself to allow chaining
+                */
                validateAll: function( attachments, options ) {
                        options = options || {};
 
@@ -390,12 +665,15 @@ window.wp = window.wp || {};
                                this.validate( attachment, { silent: true });
                        }, this );
 
-                       if ( ! options.silent )
+                       if ( ! options.silent ) {
                                this.trigger( 'reset', this, options );
-
+                       }
                        return this;
                },
-
+               /**
+                * @param {wp.media.model.Attachments} attachments
+                * @returns {wp.media.model.Attachments} Returns itself to allow chaining
+                */
                observe: function( attachments ) {
                        this.observers = this.observers || [];
                        this.observers.push( attachments );
@@ -405,7 +683,10 @@ window.wp = window.wp || {};
                        this.validateAll( attachments );
                        return this;
                },
-
+               /**
+                * @param {wp.media.model.Attachments} attachments
+                * @returns {wp.media.model.Attachments} Returns itself to allow chaining
+                */
                unobserve: function( attachments ) {
                        if ( attachments ) {
                                attachments.off( null, null, this );
@@ -420,7 +701,15 @@ window.wp = window.wp || {};
 
                        return this;
                },
-
+               /**
+                * @access private
+                *
+                * @param {wp.media.model.Attachments} attachment
+                * @param {wp.media.model.Attachments} attachments
+                * @param {Object} options
+                *
+                * @returns {wp.media.model.Attachments} Returns itself to allow chaining
+                */
                _validateHandler: function( attachment, attachments, options ) {
                        // If we're not mirroring this `attachments` collection,
                        // only retain the `silent` option.
@@ -430,14 +719,24 @@ window.wp = window.wp || {};
 
                        return this.validate( attachment, options );
                },
-
+               /**
+                * @access private
+                *
+                * @param {wp.media.model.Attachments} attachments
+                * @param {Object} options
+                * @returns {wp.media.model.Attachments} Returns itself to allow chaining
+                */
                _validateAllHandler: function( attachments, options ) {
                        return this.validateAll( attachments, options );
                },
-
+               /**
+                * @param {wp.media.model.Attachments} attachments
+                * @returns {wp.media.model.Attachments} Returns itself to allow chaining
+                */
                mirror: function( attachments ) {
-                       if ( this.mirroring && this.mirroring === attachments )
+                       if ( this.mirroring && this.mirroring === attachments ) {
                                return this;
+                       }
 
                        this.unmirror();
                        this.mirroring = attachments;
@@ -449,23 +748,26 @@ window.wp = window.wp || {};
 
                        return this;
                },
-
                unmirror: function() {
-                       if ( ! this.mirroring )
+                       if ( ! this.mirroring ) {
                                return;
+                       }
 
                        this.unobserve( this.mirroring );
                        delete this.mirroring;
                },
-
+               /**
+                * @param {Object} options
+                * @returns {Promise}
+                */
                more: function( options ) {
                        var deferred = $.Deferred(),
                                mirroring = this.mirroring,
                                attachments = this;
 
-                       if ( ! mirroring || ! mirroring.more )
+                       if ( ! mirroring || ! mirroring.more ) {
                                return deferred.resolveWith( this ).promise();
-
+                       }
                        // If we're mirroring another collection, forward `more` to
                        // the mirrored collection. Account for a race condition by
                        // checking if we're still mirroring that collection when
@@ -477,14 +779,23 @@ window.wp = window.wp || {};
 
                        return deferred.promise();
                },
-
+               /**
+                * @returns {Boolean}
+                */
                hasMore: function() {
                        return this.mirroring ? this.mirroring.hasMore() : false;
                },
-
+               /**
+                * Overrides Backbone.Collection.parse
+                *
+                * @param {Object|Array} resp The raw response Object/Array.
+                * @param {Object} xhr
+                * @returns {Array} The array of model attributes to be added to the collection
+                */
                parse: function( resp, xhr ) {
-                       if ( ! _.isArray( resp ) )
+                       if ( ! _.isArray( resp ) ) {
                                resp = [resp];
+                       }
 
                        return _.map( resp, function( attrs ) {
                                var id, attachment, newAttributes;
@@ -499,23 +810,31 @@ window.wp = window.wp || {};
                                attachment = Attachment.get( id );
                                newAttributes = attachment.parse( attrs, xhr );
 
-                               if ( ! _.isEqual( attachment.attributes, newAttributes ) )
+                               if ( ! _.isEqual( attachment.attributes, newAttributes ) ) {
                                        attachment.set( newAttributes );
+                               }
 
                                return attachment;
                        });
                },
-
+               /**
+                * @access private
+                */
                _requery: function() {
-                       if ( this.props.get('query') )
+                       if ( this.props.get('query') ) {
                                this.mirror( Query.get( this.props.toJSON() ) );
+                       }
                },
-
-               // If this collection is sorted by `menuOrder`, recalculates and saves
-               // the menu order to the database.
+               /**
+                * If this collection is sorted by `menuOrder`, recalculates and saves
+                * the menu order to the database.
+                *
+                * @returns {undefined|Promise}
+                */
                saveMenuOrder: function() {
-                       if ( 'menuOrder' !== this.props.get('orderby') )
+                       if ( 'menuOrder' !== this.props.get('orderby') ) {
                                return;
+                       }
 
                        // Removes any uploading attachments, updates each attachment's
                        // menu order, and returns an object with an { id: menuOrder }
@@ -529,8 +848,9 @@ window.wp = window.wp || {};
                                return [ attachment.id, index ];
                        }).object().value();
 
-                       if ( _.isEmpty( attachments ) )
+                       if ( _.isEmpty( attachments ) ) {
                                return;
+                       }
 
                        return media.post( 'save-attachment-order', {
                                nonce:       media.model.settings.post.nonce,
@@ -539,6 +859,17 @@ window.wp = window.wp || {};
                        });
                }
        }, {
+               /**
+                * @static
+                * Overrides Backbone.Collection.comparator
+                *
+                * @param {Backbone.Model} a
+                * @param {Backbone.Model} b
+                * @param {Object} options
+                * @returns {Number} -1 if the first model should come before the second,
+                *    0 if they are of the same rank and
+                *    1 if the first model should come after.
+                */
                comparator: function( a, b, options ) {
                        var key   = this.props.get('orderby'),
                                order = this.props.get('order') || 'DESC',
@@ -554,44 +885,79 @@ window.wp = window.wp || {};
                        }
 
                        // If `options.ties` is set, don't enforce the `cid` tiebreaker.
-                       if ( options && options.ties )
+                       if ( options && options.ties ) {
                                ac = bc = null;
+                       }
 
                        return ( 'DESC' === order ) ? compare( a, b, ac, bc ) : compare( b, a, bc, ac );
                },
-
+               /**
+                * @namespace
+                */
                filters: {
-                       // Note that this client-side searching is *not* equivalent
-                       // to our server-side searching.
+                       /**
+                        * @static
+                        * Note that this client-side searching is *not* equivalent
+                        * to our server-side searching.
+                        *
+                        * @param {wp.media.model.Attachment} attachment
+                        *
+                        * @this wp.media.model.Attachments
+                        *
+                        * @returns {Boolean}
+                        */
                        search: function( attachment ) {
-                               if ( ! this.props.get('search') )
+                               if ( ! this.props.get('search') ) {
                                        return true;
+                               }
 
                                return _.any(['title','filename','description','caption','name'], function( key ) {
                                        var value = attachment.get( key );
                                        return value && -1 !== value.search( this.props.get('search') );
                                }, this );
                        },
-
+                       /**
+                        * @static
+                        * @param {wp.media.model.Attachment} attachment
+                        *
+                        * @this wp.media.model.Attachments
+                        *
+                        * @returns {Boolean}
+                        */
                        type: function( attachment ) {
                                var type = this.props.get('type');
                                return ! type || -1 !== type.indexOf( attachment.get('type') );
                        },
-
+                       /**
+                        * @static
+                        * @param {wp.media.model.Attachment} attachment
+                        *
+                        * @this wp.media.model.Attachments
+                        *
+                        * @returns {Boolean}
+                        */
                        uploadedTo: function( attachment ) {
                                var uploadedTo = this.props.get('uploadedTo');
-                               if ( _.isUndefined( uploadedTo ) )
+                               if ( _.isUndefined( uploadedTo ) ) {
                                        return true;
+                               }
 
                                return uploadedTo === attachment.get('uploadedTo');
                        }
                }
        });
 
+       /**
+        * @static
+        * @member {wp.media.model.Attachments}
+        */
        Attachments.all = new Attachments();
 
        /**
         * wp.media.query
+        *
+        * @static
+        * @returns {wp.media.model.Attachments}
         */
        media.query = function( props ) {
                return new Attachments( null, {
@@ -607,8 +973,18 @@ window.wp = window.wp || {};
         *
         * Note: Do NOT change this.args after the query has been initialized.
         *       Things will break.
+        *
+        * @constructor
+        * @augments wp.media.model.Attachments
+        * @augments Backbone.Collection
         */
        Query = media.model.Query = Attachments.extend({
+               /**
+                * @global wp.Uploader
+                *
+                * @param {Array} [models=[]] Array of models used to populate the collection.
+                * @param {Object} [options={}]
+                */
                initialize: function( models, options ) {
                        var allowed;
 
@@ -623,8 +999,9 @@ window.wp = window.wp || {};
                                var orderby = this.props.get('orderby'),
                                        order = this.props.get('order');
 
-                               if ( ! this.comparator )
+                               if ( ! this.comparator ) {
                                        return true;
+                               }
 
                                // We want any items that can be placed before the last
                                // item in the set. If we add any items after the last
@@ -655,32 +1032,49 @@ window.wp = window.wp || {};
                        // are no filters for other properties, so observing will result in
                        // false positives in those queries.
                        allowed = [ 's', 'order', 'orderby', 'posts_per_page', 'post_mime_type', 'post_parent' ];
-                       if ( wp.Uploader && _( this.args ).chain().keys().difference( allowed ).isEmpty().value() )
+                       if ( wp.Uploader && _( this.args ).chain().keys().difference( allowed ).isEmpty().value() ) {
                                this.observe( wp.Uploader.queue );
+                       }
                },
-
+               /**
+                * @returns {Boolean}
+                */
                hasMore: function() {
                        return this._hasMore;
                },
-
+               /**
+                * @param {Object} [options={}]
+                * @returns {Promise}
+                */
                more: function( options ) {
                        var query = this;
 
-                       if ( this._more && 'pending' === this._more.state() )
+                       if ( this._more && 'pending' === this._more.state() ) {
                                return this._more;
+                       }
 
-                       if ( ! this.hasMore() )
+                       if ( ! this.hasMore() ) {
                                return $.Deferred().resolveWith( this ).promise();
+                       }
 
                        options = options || {};
                        options.remove = false;
 
                        return this._more = this.fetch( options ).done( function( resp ) {
-                               if ( _.isEmpty( resp ) || -1 === this.args.posts_per_page || resp.length < this.args.posts_per_page )
+                               if ( _.isEmpty( resp ) || -1 === this.args.posts_per_page || resp.length < this.args.posts_per_page ) {
                                        query._hasMore = false;
+                               }
                        });
                },
-
+               /**
+                * Overrides Backbone.Collection.sync
+                * Overrides wp.media.model.Attachments.sync
+                *
+                * @param {String} method
+                * @param {Backbone.Model} model
+                * @param {Object} [options={}]
+                * @returns {Promise}
+                */
                sync: function( method, model, options ) {
                        var args, fallback;
 
@@ -697,28 +1091,39 @@ window.wp = window.wp || {};
                                args = _.clone( this.args );
 
                                // Determine which page to query.
-                               if ( -1 !== args.posts_per_page )
+                               if ( -1 !== args.posts_per_page ) {
                                        args.paged = Math.floor( this.length / args.posts_per_page ) + 1;
+                               }
 
                                options.data.query = args;
                                return media.ajax( options );
 
                        // Otherwise, fall back to Backbone.sync()
                        } else {
+                               /**
+                                * Call wp.media.model.Attachments.sync or Backbone.sync
+                                */
                                fallback = Attachments.prototype.sync ? Attachments.prototype : Backbone;
                                return fallback.sync.apply( this, arguments );
                        }
                }
        }, {
+               /**
+                * @readonly
+                */
                defaultProps: {
                        orderby: 'date',
                        order:   'DESC'
                },
-
+               /**
+                * @readonly
+                */
                defaultArgs: {
                        posts_per_page: 40
                },
-
+               /**
+                * @readonly
+                */
                orderby: {
                        allowed:  [ 'name', 'author', 'date', 'title', 'modified', 'uploadedTo', 'id', 'post__in', 'menuOrder' ],
                        valuemap: {
@@ -727,7 +1132,9 @@ window.wp = window.wp || {};
                                'menuOrder':  'menu_order ID'
                        }
                },
-
+               /**
+                * @readonly
+                */
                propmap: {
                        'search':    's',
                        'type':      'post_mime_type',
@@ -735,11 +1142,25 @@ window.wp = window.wp || {};
                        'menuOrder': 'menu_order',
                        'uploadedTo': 'post_parent'
                },
-
+               /**
+                * @static
+                * @method
+                *
+                * @returns {wp.media.model.Query} A new query.
+                */
                // Caches query objects so queries can be easily reused.
                get: (function(){
+                       /**
+                        * @static
+                        * @type Array
+                        */
                        var queries = [];
 
+                       /**
+                        * @param {Object} props
+                        * @param {Object} options
+                        * @returns {Query}
+                        */
                        return function( props, options ) {
                                var args     = {},
                                        orderby  = Query.orderby,
@@ -755,18 +1176,21 @@ window.wp = window.wp || {};
 
                                // Normalize the order.
                                props.order = props.order.toUpperCase();
-                               if ( 'DESC' !== props.order && 'ASC' !== props.order )
+                               if ( 'DESC' !== props.order && 'ASC' !== props.order ) {
                                        props.order = defaults.order.toUpperCase();
+                               }
 
                                // Ensure we have a valid orderby value.
-                               if ( ! _.contains( orderby.allowed, props.orderby ) )
+                               if ( ! _.contains( orderby.allowed, props.orderby ) ) {
                                        props.orderby = defaults.orderby;
+                               }
 
                                // Generate the query `args` object.
                                // Correct any differing property names.
                                _.each( props, function( value, prop ) {
-                                       if ( _.isNull( value ) )
+                                       if ( _.isNull( value ) ) {
                                                return;
+                                       }
 
                                        args[ Query.propmap[ prop ] || prop ] = value;
                                });
@@ -801,38 +1225,73 @@ window.wp = window.wp || {};
         * wp.media.model.Selection
         *
         * Used to manage a selection of attachments in the views.
+        *
+        * @constructor
+        * @augments wp.media.model.Attachments
+        * @augments Backbone.Collection
         */
        media.model.Selection = Attachments.extend({
+               /**
+                * Refresh the `single` model whenever the selection changes.
+                * Binds `single` instead of using the context argument to ensure
+                * it receives no parameters.
+                *
+                * @param {Array} [models=[]] Array of models used to populate the collection.
+                * @param {Object} [options={}]
+                */
                initialize: function( models, options ) {
+                       /**
+                        * call 'initialize' directly on the parent class
+                        */
                        Attachments.prototype.initialize.apply( this, arguments );
                        this.multiple = options && options.multiple;
 
-                       // Refresh the `single` model whenever the selection changes.
-                       // Binds `single` instead of using the context argument to ensure
-                       // it receives no parameters.
                        this.on( 'add remove reset', _.bind( this.single, this, false ) );
                },
 
-               // Override the selection's add method.
-               // If the workflow does not support multiple
-               // selected attachments, reset the selection.
+               /**
+                * Override the selection's add method.
+                * If the workflow does not support multiple
+                * selected attachments, reset the selection.
+                *
+                * Overrides Backbone.Collection.add
+                * Overrides wp.media.model.Attachments.add
+                *
+                * @param {Array} models
+                * @param {Object} options
+                * @returns {wp.media.model.Attachment[]}
+                */
                add: function( models, options ) {
-                       if ( ! this.multiple )
+                       if ( ! this.multiple ) {
                                this.remove( this.models );
-
+                       }
+                       /**
+                        * call 'add' directly on the parent class
+                        */
                        return Attachments.prototype.add.call( this, models, options );
                },
 
+               /**
+                * Triggered when toggling (clicking on) an attachment in the modal
+                *
+                * @param {undefined|boolean|wp.media.model.Attachment} model
+                *
+                * @fires wp.media.model.Selection#selection:single
+                * @fires wp.media.model.Selection#selection:unsingle
+                *
+                * @returns {Backbone.Model}
+                */
                single: function( model ) {
                        var previous = this._single;
 
                        // If a `model` is provided, use it as the single model.
-                       if ( model )
+                       if ( model ) {
                                this._single = model;
-
+                       }
                        // If the single model isn't in the selection, remove it.
-                       if ( this._single && ! this.get( this._single.cid ) )
+                       if ( this._single && ! this.get( this._single.cid ) ) {
                                delete this._single;
+                       }
 
                        this._single = this._single || this.last();
 
@@ -843,11 +1302,13 @@ window.wp = window.wp || {};
 
                                        // If the model was already removed, trigger the collection
                                        // event manually.
-                                       if ( ! this.get( previous.cid ) )
+                                       if ( ! this.get( previous.cid ) ) {
                                                this.trigger( 'selection:unsingle', previous, this );
+                                       }
                                }
-                               if ( this._single )
+                               if ( this._single ) {
                                        this._single.trigger( 'selection:single', this._single, this );
+                               }
                        }
 
                        // Return the single model, or the last model as a fallback.
@@ -860,4 +1321,4 @@ window.wp = window.wp || {};
                window.wp = null;
        });
 
-}(jQuery));
\ No newline at end of file
+}(jQuery));
index 28473d98187d8ff4b9604d92d42d40dd1697568a..41349fcdd3b7ae0a69fe5544cef0dd976a3432a3 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){var b,c,d,e,f,g;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)),delete a.frame,b},_.extend(g,{model:{},view:{},controller:{},frames:{}}),f=g.model.l10n="undefined"==typeof _wpMediaModelsL10n?{}:_wpMediaModelsL10n,g.model.settings=f.settings||{},delete f.settings,e=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 b.get(a)},b=g.model.Attachment=Backbone.Model.extend({sync:function(b,c,d){return _.isUndefined(this.id)?a.Deferred().rejectWith(this).promise():"read"===b?(d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"get-attachment",id:this.id}),g.ajax(d)):"update"===b?this.get("nonces")&&this.get("nonces").update?(d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"save-attachment",id:this.id,nonce:this.get("nonces").update,post_id:g.model.settings.post.id}),c.hasChanged()&&(d.data.changes={},_.each(c.changed,function(a,b){d.data.changes[b]=this.get(b)},this)),g.ajax(d)):a.Deferred().rejectWith(this).promise():"delete"===b?(d=d||{},d.wait||(this.destroyed=!0),d.context=this,d.data=_.extend(d.data||{},{action:"delete-post",id:this.id,_wpnonce:this.get("nonces")["delete"]}),g.ajax(d).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(b,c){var d=this;return this.get("nonces")&&this.get("nonces").update?g.post("save-attachment-compat",_.defaults({id:this.id,nonce:this.get("nonces").update,post_id:g.model.settings.post.id},b)).done(function(a,b,e){d.set(d.parse(a,e),c)}):a.Deferred().rejectWith(this).promise()}},{create:function(a){return c.all.push(a)},get:_.memoize(function(a,b){return c.all.push(b||{id:a})})}),c=g.model.Attachments=Backbone.Collection.extend({model:b,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(b){var c=a.Deferred(),d=this.mirroring,e=this;return d&&d.more?(d.more(b).done(function(){this===e.mirroring&&c.resolveWith(this)}),c.promise()):c.resolveWith(this).promise()},hasMore:function(){return this.mirroring?this.mirroring.hasMore():!1},parse:function(a,c){return _.isArray(a)||(a=[a]),_.map(a,function(a){var d,e,f;return a instanceof Backbone.Model?(d=a.get("id"),a=a.attributes):d=a.id,e=b.get(d),f=e.parse(a,c),_.isEqual(e.attributes,f)||e.set(f),e})},_requery:function(){this.props.get("query")&&this.mirror(d.get(this.props.toJSON()))},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 g.post("save-attachment-order",{nonce:g.model.settings.post.nonce,post_id:g.model.settings.post.id,attachments:a})}}},{comparator:function(a,b,c){var d=this.props.get("orderby"),f=this.props.get("order")||"DESC",g=a.cid,h=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&&(g=h=null),"DESC"===f?e(a,b,g,h):e(b,a,h,g)},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")}}}),c.all=new c,g.query=function(a){return new c(null,{props:_.extend(_.defaults(a||{},{orderby:"date"}),{query:!0})})},d=g.model.Query=c.extend({initialize:function(a,b){var d;b=b||{},c.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},d=["s","order","orderby","posts_per_page","post_mime_type","post_parent"],wp.Uploader&&_(this.args).chain().keys().difference(d).isEmpty().value()&&this.observe(wp.Uploader.queue)},hasMore:function(){return this._hasMore},more:function(b){var c=this;return this._more&&"pending"===this._more.state()?this._more:this.hasMore()?(b=b||{},b.remove=!1,this._more=this.fetch(b).done(function(a){(_.isEmpty(a)||-1===this.args.posts_per_page||a.length<this.args.posts_per_page)&&(c._hasMore=!1)})):a.Deferred().resolveWith(this).promise()},sync:function(a,b,d){var e,f;return"read"===a?(d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"query-attachments",post_id:g.model.settings.post.id}),e=_.clone(this.args),-1!==e.posts_per_page&&(e.paged=Math.floor(this.length/e.posts_per_page)+1),d.data.query=e,g.ajax(d)):(f=c.prototype.sync?c.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"},get:function(){var a=[];return function(b,c){var e,f={},g=d.orderby,h=d.defaultProps;return delete b.query,_.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(b,function(a,b){_.isNull(a)||(f[d.propmap[b]||b]=a)}),_.defaults(f,d.defaultArgs),f.orderby=g.valuemap[b.orderby]||b.orderby,e=_.find(a,function(a){return _.isEqual(a.args,f)}),e||(e=new d([],_.extend(c||{},{props:b,args:f})),a.push(e)),e}}()}),g.model.Selection=c.extend({initialize:function(a,b){c.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),c.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}}),a(window).on("unload",function(){window.wp=null})}(jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a){var b,c,d,e,f,g,h;h=wp.media=function(a){var b,c=h.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):"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)),delete a.frame,h.frame=b,b},_.extend(h,{model:{},view:{},controller:{},frames:{}}),g=h.model.l10n="undefined"==typeof _wpMediaModelsL10n?{}:_wpMediaModelsL10n,h.model.settings=g.settings||{},delete g.settings,f=function(a,b,c,d){return _.isEqual(a,b)?c===d?0:c>d?-1:1:a>b?-1:1},_.extend(h,{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)}}),h.attachment=function(a){return b.get(a)},b=h.model.Attachment=Backbone.Model.extend({sync:function(b,c,d){return _.isUndefined(this.id)?a.Deferred().rejectWith(this).promise():"read"===b?(d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"get-attachment",id:this.id}),h.ajax(d)):"update"===b?this.get("nonces")&&this.get("nonces").update?(d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"save-attachment",id:this.id,nonce:this.get("nonces").update,post_id:h.model.settings.post.id}),c.hasChanged()&&(d.data.changes={},_.each(c.changed,function(a,b){d.data.changes[b]=this.get(b)},this)),h.ajax(d)):a.Deferred().rejectWith(this).promise():"delete"===b?(d=d||{},d.wait||(this.destroyed=!0),d.context=this,d.data=_.extend(d.data||{},{action:"delete-post",id:this.id,_wpnonce:this.get("nonces")["delete"]}),h.ajax(d).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(b,c){var d=this;return this.get("nonces")&&this.get("nonces").update?h.post("save-attachment-compat",_.defaults({id:this.id,nonce:this.get("nonces").update,post_id:h.model.settings.post.id},b)).done(function(a,b,e){d.set(d.parse(a,e),c)}):a.Deferred().rejectWith(this).promise()}},{create:function(a){return c.all.push(a)},get:_.memoize(function(a,b){return c.all.push(b||{id:a})})}),e=h.model.PostImage=Backbone.Model.extend({initialize:function(c){this.attachment=!1,c.attachment_id&&(this.attachment=b.get(c.attachment_id),this.attachment.get("url")?(this.dfd=a.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",c.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"))}}),c=h.model.Attachments=Backbone.Collection.extend({model:b,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(b){var c=a.Deferred(),d=this.mirroring,e=this;return d&&d.more?(d.more(b).done(function(){this===e.mirroring&&c.resolveWith(this)}),c.promise()):c.resolveWith(this).promise()},hasMore:function(){return this.mirroring?this.mirroring.hasMore():!1},parse:function(a,c){return _.isArray(a)||(a=[a]),_.map(a,function(a){var d,e,f;return a instanceof Backbone.Model?(d=a.get("id"),a=a.attributes):d=a.id,e=b.get(d),f=e.parse(a,c),_.isEqual(e.attributes,f)||e.set(f),e})},_requery:function(){this.props.get("query")&&this.mirror(d.get(this.props.toJSON()))},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 h.post("save-attachment-order",{nonce:h.model.settings.post.nonce,post_id:h.model.settings.post.id,attachments:a})}}},{comparator:function(a,b,c){var d=this.props.get("orderby"),e=this.props.get("order")||"DESC",g=a.cid,h=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&&(g=h=null),"DESC"===e?f(a,b,g,h):f(b,a,h,g)},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")}}}),c.all=new c,h.query=function(a){return new c(null,{props:_.extend(_.defaults(a||{},{orderby:"date"}),{query:!0})})},d=h.model.Query=c.extend({initialize:function(a,b){var d;b=b||{},c.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},d=["s","order","orderby","posts_per_page","post_mime_type","post_parent"],wp.Uploader&&_(this.args).chain().keys().difference(d).isEmpty().value()&&this.observe(wp.Uploader.queue)},hasMore:function(){return this._hasMore},more:function(b){var c=this;return this._more&&"pending"===this._more.state()?this._more:this.hasMore()?(b=b||{},b.remove=!1,this._more=this.fetch(b).done(function(a){(_.isEmpty(a)||-1===this.args.posts_per_page||a.length<this.args.posts_per_page)&&(c._hasMore=!1)})):a.Deferred().resolveWith(this).promise()},sync:function(a,b,d){var e,f;return"read"===a?(d=d||{},d.context=this,d.data=_.extend(d.data||{},{action:"query-attachments",post_id:h.model.settings.post.id}),e=_.clone(this.args),-1!==e.posts_per_page&&(e.paged=Math.floor(this.length/e.posts_per_page)+1),d.data.query=e,h.ajax(d)):(f=c.prototype.sync?c.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"},get:function(){var a=[];return function(b,c){var e,f={},g=d.orderby,h=d.defaultProps;return delete b.query,_.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(b,function(a,b){_.isNull(a)||(f[d.propmap[b]||b]=a)}),_.defaults(f,d.defaultArgs),f.orderby=g.valuemap[b.orderby]||b.orderby,e=_.find(a,function(a){return _.isEqual(a.args,f)}),e||(e=new d([],_.extend(c||{},{props:b,args:f})),a.push(e)),e}}()}),h.model.Selection=c.extend({initialize:function(a,b){c.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),c.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}}),a(window).on("unload",function(){window.wp=null})}(jQuery);
\ No newline at end of file
index 3ac04c5608e4c1c4d60c8ca372de4ee131a283a2..635fe43861cd8e07d5530d7ca2c53b9f76189d99 100644 (file)
@@ -1,9 +1,6 @@
 /* global _wpMediaViewsL10n, confirm, getUserSetting, setUserSetting */
-(function($){
-       var media       = wp.media,
-               Attachment  = media.model.Attachment,
-               Attachments = media.model.Attachments,
-               l10n;
+(function($, _){
+       var media = wp.media, l10n;
 
        // Link any localized strings.
        l10n = media.view.l10n = typeof _wpMediaViewsL10n === 'undefined' ? {} : _wpMediaViewsL10n;
                };
        }());
 
-       // Makes it easier to bind events using transitions.
+       /**
+        * A shared event bus used to provide events into
+        * the media workflows that 3rd-party devs can use to hook
+        * in.
+        */
+       media.events = _.extend( {}, Backbone.Events );
+
+       /**
+        * Makes it easier to bind events using transitions.
+        *
+        * @param {string} selector
+        * @param {Number} sensitivity
+        * @returns {Promise}
+        */
        media.transition = function( selector, sensitivity ) {
                var deferred = $.Deferred();
 
                sensitivity = sensitivity || 2000;
 
                if ( $.support.transition ) {
-                       if ( ! (selector instanceof $) )
+                       if ( ! (selector instanceof $) ) {
                                selector = $( selector );
+                       }
 
                        // Resolve the deferred when the first element finishes animating.
                        selector.first().one( $.support.transition.end, deferred.resolve );
 
        /**
         * wp.media.controller.Region
+        *
+        * @constructor
+        * @augments Backbone.Model
+        *
+        * @param {Object} [options={}]
         */
        media.controller.Region = function( options ) {
                _.extend( this, _.pick( options || {}, 'id', 'view', 'selector' ) );
        media.controller.Region.extend = Backbone.Model.extend;
 
        _.extend( media.controller.Region.prototype, {
+               /**
+                * Switch modes
+                *
+                * @param {string} mode
+                *
+                * @fires wp.media.controller.Region#{id}:activate:{mode}
+                * @fires wp.media.controller.Region#{id}:deactivate:{mode}
+                *
+                * @returns {wp.media.controller.Region} Returns itself to allow chaining
+                */
                mode: function( mode ) {
-                       if ( ! mode )
+                       if ( ! mode ) {
                                return this._mode;
-
+                       }
                        // Bail if we're trying to change to the current mode.
-                       if ( mode === this._mode )
+                       if ( mode === this._mode ) {
                                return this;
+                       }
 
                        this.trigger('deactivate');
                        this._mode = mode;
                        this.trigger('activate');
                        return this;
                },
-
+               /**
+                * Render a new mode, the view is set in the `create` callback method
+                *   of the extending class
+                *
+                * If no mode is provided, just re-render the current mode.
+                * If the provided mode isn't active, perform a full switch.
+                *
+                * @param {string} mode
+                *
+                * @fires wp.media.controller.Region#{id}:create:{mode}
+                * @fires wp.media.controller.Region#{id}:render:{mode}
+                *
+                * @returns {wp.media.controller.Region} Returns itself to allow chaining
+                */
                render: function( mode ) {
-                       // If no mode is provided, just re-render the current mode.
-                       // If the provided mode isn't active, perform a full switch.
-                       if ( mode && mode !== this._mode )
+                       if ( mode && mode !== this._mode ) {
                                return this.mode( mode );
+                       }
 
                        var set = { view: null },
                                view;
                        this.trigger( 'create', set );
                        view = set.view;
                        this.trigger( 'render', view );
-                       if ( view )
+                       if ( view ) {
                                this.set( view );
+                       }
                        return this;
                },
 
+               /**
+                * @returns {wp.media.View} Returns the selector's first subview
+                */
                get: function() {
                        return this.view.views.first( this.selector );
                },
 
+               /**
+                * @param {Array|Object} views
+                * @param {Object} [options={}]
+                * @returns {wp.Backbone.Subviews} Subviews is returned to allow chaining
+                */
                set: function( views, options ) {
-                       if ( options )
+                       if ( options ) {
                                options.add = false;
+                       }
                        return this.view.views.set( this.selector, views, options );
                },
 
+               /**
+                * Helper function to trigger view events based on {id}:{event}:{mode}
+                *
+                * @param {string} event
+                * @returns {undefined|wp.media.controller.Region} Returns itself to allow chaining
+                */
                trigger: function( event ) {
                        var base, args;
 
-                       if ( ! this._mode )
+                       if ( ! this._mode ) {
                                return;
+                       }
 
                        args = _.toArray( arguments );
                        base = this.id + ':' + event;
 
        /**
         * wp.media.controller.StateMachine
+        *
+        * @constructor
+        * @augments Backbone.Model
+        * @mixin
+        * @mixes Backbone.Events
+        *
+        * @param {Array} states
         */
        media.controller.StateMachine = function( states ) {
                this.states = new Backbone.Collection( states );
 
        // Add events to the `StateMachine`.
        _.extend( media.controller.StateMachine.prototype, Backbone.Events, {
-
-               // Fetch a state.
-               //
-               // If no `id` is provided, returns the active state.
-               //
-               // Implicitly creates states.
+               /**
+                * Fetch a state.
+                *
+                * If no `id` is provided, returns the active state.
+                *
+                * Implicitly creates states.
+                *
+                * Ensure that the `states` collection exists so the `StateMachine`
+                *   can be used as a mixin.
+                *
+                * @param {string} id
+                * @returns {wp.media.controller.State} Returns a State model
+                *   from the StateMachine collection
+                */
                state: function( id ) {
-                       // Ensure that the `states` collection exists so the `StateMachine`
-                       // can be used as a mixin.
                        this.states = this.states || new Backbone.Collection();
 
                        // Default to the active state.
                        id = id || this._state;
 
-                       if ( id && ! this.states.get( id ) )
+                       if ( id && ! this.states.get( id ) ) {
                                this.states.add({ id: id });
+                       }
                        return this.states.get( id );
                },
 
-               // Sets the active state.
+               /**
+                * Sets the active state.
+                *
+                * Bail if we're trying to select the current state, if we haven't
+                * created the `states` collection, or are trying to select a state
+                * that does not exist.
+                *
+                * @param {string} id
+                *
+                * @fires wp.media.controller.State#deactivate
+                * @fires wp.media.controller.State#activate
+                *
+                * @returns {wp.media.controller.StateMachine} Returns itself to allow chaining
+                */
                setState: function( id ) {
                        var previous = this.state();
 
-                       // Bail if we're trying to select the current state, if we haven't
-                       // created the `states` collection, or are trying to select a state
-                       // that does not exist.
-                       if ( ( previous && id === previous.id ) || ! this.states || ! this.states.get( id ) )
+                       if ( ( previous && id === previous.id ) || ! this.states || ! this.states.get( id ) ) {
                                return this;
+                       }
 
                        if ( previous ) {
                                previous.trigger('deactivate');
                        return this;
                },
 
-               // Returns the previous active state.
-               //
-               // Call the `state()` method with no parameters to retrieve the current
-               // active state.
+               /**
+                * Returns the previous active state.
+                *
+                * Call the `state()` method with no parameters to retrieve the current
+                * active state.
+                *
+                * @returns {wp.media.controller.State} Returns a State model
+                *    from the StateMachine collection
+                */
                lastState: function() {
-                       if ( this._lastState )
+                       if ( this._lastState ) {
                                return this.state( this._lastState );
+                       }
                }
        });
 
        // Map methods from the `states` collection to the `StateMachine` itself.
        _.each([ 'on', 'off', 'trigger' ], function( method ) {
+               /**
+                * @returns {wp.media.controller.StateMachine} Returns itself to allow chaining
+                */
                media.controller.StateMachine.prototype[ method ] = function() {
                        // Ensure that the `states` collection exists so the `StateMachine`
                        // can be used as a mixin.
                };
        });
 
-
-       // wp.media.controller.State
-       // ---------------------------
+       /**
+        * wp.media.controller.State
+        *
+        * A state is a step in a workflow that when set will trigger
+        * the controllers for the regions to be updated as specified. This
+        * class is the base class that the various states used in the media
+        * modals extend.
+        *
+        * @constructor
+        * @augments Backbone.Model
+        */
        media.controller.State = Backbone.Model.extend({
                constructor: function() {
                        this.on( 'activate', this._preActivate, this );
                        this.on( 'reset', this.reset, this );
                        this.on( 'ready', this._ready, this );
                        this.on( 'ready', this.ready, this );
+                       /**
+                        * Call parent constructor with passed arguments
+                        */
                        Backbone.Model.apply( this, arguments );
                        this.on( 'change:menu', this._updateMenu, this );
                },
 
+               /**
+                * @abstract
+                */
                ready: function() {},
+               /**
+                * @abstract
+                */
                activate: function() {},
+               /**
+                * @abstract
+                */
                deactivate: function() {},
+               /**
+                * @abstract
+                */
                reset: function() {},
-
+               /**
+                * @access private
+                */
                _ready: function() {
                        this._updateMenu();
                },
-
+               /**
+                * @access private
+                */
                _preActivate: function() {
                        this.active = true;
                },
-
+               /**
+                * @access private
+                */
                _postActivate: function() {
                        this.on( 'change:menu', this._menu, this );
                        this.on( 'change:titleMode', this._title, this );
                        this._content();
                        this._router();
                },
-
-
+               /**
+                * @access private
+                */
                _deactivate: function() {
                        this.active = false;
 
                        this.off( 'change:content', this._content, this );
                        this.off( 'change:toolbar', this._toolbar, this );
                },
-
+               /**
+                * @access private
+                */
                _title: function() {
                        this.frame.title.render( this.get('titleMode') || 'default' );
                },
-
+               /**
+                * @access private
+                */
                _renderTitle: function( view ) {
                        view.$el.text( this.get('title') || '' );
                },
-
+               /**
+                * @access private
+                */
                _router: function() {
                        var router = this.frame.router,
                                mode = this.get('router'),
                                view;
 
                        this.frame.$el.toggleClass( 'hide-router', ! mode );
-                       if ( ! mode )
+                       if ( ! mode ) {
                                return;
+                       }
 
                        this.frame.router.render( mode );
 
                        view = router.get();
-                       if ( view && view.select )
+                       if ( view && view.select ) {
                                view.select( this.frame.content.mode() );
+                       }
                },
-
+               /**
+                * @access private
+                */
                _menu: function() {
                        var menu = this.frame.menu,
                                mode = this.get('menu'),
                                view;
 
-                       if ( ! mode )
+                       if ( ! mode ) {
                                return;
+                       }
 
                        menu.mode( mode );
 
                        view = menu.get();
-                       if ( view && view.select )
+                       if ( view && view.select ) {
                                view.select( this.id );
+                       }
                },
-
+               /**
+                * @access private
+                */
                _updateMenu: function() {
                        var previous = this.previous('menu'),
                                menu = this.get('menu');
 
-                       if ( previous )
+                       if ( previous ) {
                                this.frame.off( 'menu:render:' + previous, this._renderMenu, this );
+                       }
 
-                       if ( menu )
+                       if ( menu ) {
                                this.frame.on( 'menu:render:' + menu, this._renderMenu, this );
+                       }
                },
-
+               /**
+                * @access private
+                */
                _renderMenu: function( view ) {
                        var menuItem = this.get('menuItem'),
                                title = this.get('title'),
                        if ( ! menuItem && title ) {
                                menuItem = { text: title };
 
-                               if ( priority )
+                               if ( priority ) {
                                        menuItem.priority = priority;
+                               }
                        }
 
-                       if ( ! menuItem )
+                       if ( ! menuItem ) {
                                return;
+                       }
 
                        view.set( this.id, menuItem );
                }
        });
 
        _.each(['toolbar','content'], function( region ) {
+               /**
+                * @access private
+                */
                media.controller.State.prototype[ '_' + region ] = function() {
                        var mode = this.get( region );
-                       if ( mode )
+                       if ( mode ) {
                                this.frame[ region ].render( mode );
+                       }
                };
        });
 
-       // wp.media.controller.Library
-       // ---------------------------
+       media.selectionSync = {
+               syncSelection: function() {
+                       var selection = this.get('selection'),
+                               manager = this.frame._selection;
+
+                       if ( ! this.get('syncSelection') || ! manager || ! selection ) {
+                               return;
+                       }
+
+                       // If the selection supports multiple items, validate the stored
+                       // attachments based on the new selection's conditions. Record
+                       // the attachments that are not included; we'll maintain a
+                       // reference to those. Other attachments are considered in flux.
+                       if ( selection.multiple ) {
+                               selection.reset( [], { silent: true });
+                               selection.validateAll( manager.attachments );
+                               manager.difference = _.difference( manager.attachments.models, selection.models );
+                       }
+
+                       // Sync the selection's single item with the master.
+                       selection.single( manager.single );
+               },
+
+               /**
+                * Record the currently active attachments, which is a combination
+                * of the selection's attachments and the set of selected
+                * attachments that this specific selection considered invalid.
+                * Reset the difference and record the single attachment.
+                */
+               recordSelection: function() {
+                       var selection = this.get('selection'),
+                               manager = this.frame._selection;
+
+                       if ( ! this.get('syncSelection') || ! manager || ! selection ) {
+                               return;
+                       }
+
+                       if ( selection.multiple ) {
+                               manager.attachments.reset( selection.toArray().concat( manager.difference ) );
+                               manager.difference = [];
+                       } else {
+                               manager.attachments.add( selection.toArray() );
+                       }
+
+                       manager.single = selection._single;
+               }
+       };
+
+       /**
+        * wp.media.controller.Library
+        *
+        * @constructor
+        * @augments wp.media.controller.State
+        * @augments Backbone.Model
+        */
        media.controller.Library = media.controller.State.extend({
                defaults: {
                        id:         'library',
                        syncSelection: true
                },
 
+               /**
+                * If a library isn't provided, query all media items.
+                * If a selection instance isn't provided, create one.
+                */
                initialize: function() {
                        var selection = this.get('selection'),
                                props;
 
-                       // If a library isn't provided, query all media items.
-                       if ( ! this.get('library') )
+                       if ( ! this.get('library') ) {
                                this.set( 'library', media.query() );
+                       }
 
-                       // If a selection instance isn't provided, create one.
                        if ( ! (selection instanceof media.model.Selection) ) {
                                props = selection;
 
                                }) );
                        }
 
-                       if ( ! this.get('edge') )
+                       if ( ! this.get('edge') ) {
                                this.set( 'edge', 120 );
+                       }
 
-                       if ( ! this.get('gutter') )
+                       if ( ! this.get('gutter') ) {
                                this.set( 'gutter', 8 );
+                       }
 
                        this.resetDisplays();
                },
                        };
                },
 
+               /**
+                * @param {wp.media.model.Attachment} attachment
+                * @returns {Backbone.Model}
+                */
                display: function( attachment ) {
                        var displays = this._displays;
 
-                       if ( ! displays[ attachment.cid ] )
+                       if ( ! displays[ attachment.cid ] ) {
                                displays[ attachment.cid ] = new Backbone.Model( this.defaultDisplaySettings( attachment ) );
-
+                       }
                        return displays[ attachment.cid ];
                },
 
+               /**
+                * @param {wp.media.model.Attachment} attachment
+                * @returns {Object}
+                */
                defaultDisplaySettings: function( attachment ) {
                        var settings = this._defaultDisplaySettings;
-                       if ( settings.canEmbed = this.canEmbed( attachment ) )
+                       if ( settings.canEmbed = this.canEmbed( attachment ) ) {
                                settings.link = 'embed';
+                       }
                        return settings;
                },
 
+               /**
+                * @param {wp.media.model.Attachment} attachment
+                * @returns {Boolean}
+                */
                canEmbed: function( attachment ) {
                        // If uploading, we know the filename but not the mime type.
                        if ( ! attachment.get('uploading') ) {
                                var type = attachment.get('type');
-                               if ( type !== 'audio' && type !== 'video' )
+                               if ( type !== 'audio' && type !== 'video' ) {
                                        return false;
+                               }
                        }
 
                        return _.contains( media.view.settings.embedExts, attachment.get('filename').split('.').pop() );
                },
 
-               syncSelection: function() {
-                       var selection = this.get('selection'),
-                               manager = this.frame._selection;
-
-                       if ( ! this.get('syncSelection') || ! manager || ! selection )
-                               return;
-
-                       // If the selection supports multiple items, validate the stored
-                       // attachments based on the new selection's conditions. Record
-                       // the attachments that are not included; we'll maintain a
-                       // reference to those. Other attachments are considered in flux.
-                       if ( selection.multiple ) {
-                               selection.reset( [], { silent: true });
-                               selection.validateAll( manager.attachments );
-                               manager.difference = _.difference( manager.attachments.models, selection.models );
-                       }
-
-                       // Sync the selection's single item with the master.
-                       selection.single( manager.single );
-               },
-
-               recordSelection: function() {
-                       var selection = this.get('selection'),
-                               manager = this.frame._selection;
-
-                       if ( ! this.get('syncSelection') || ! manager || ! selection )
-                               return;
-
-                       // Record the currently active attachments, which is a combination
-                       // of the selection's attachments and the set of selected
-                       // attachments that this specific selection considered invalid.
-                       // Reset the difference and record the single attachment.
-                       if ( selection.multiple ) {
-                               manager.attachments.reset( selection.toArray().concat( manager.difference ) );
-                               manager.difference = [];
-                       } else {
-                               manager.attachments.add( selection.toArray() );
-                       }
-
-                       manager.single = selection._single;
-               },
 
+               /**
+                * If the state is active, no items are selected, and the current
+                * content mode is not an option in the state's router (provided
+                * the state has a router), reset the content mode to the default.
+                */
                refreshContent: function() {
                        var selection = this.get('selection'),
                                frame = this.frame,
                                router = frame.router.get(),
                                mode = frame.content.mode();
 
-                       // If the state is active, no items are selected, and the current
-                       // content mode is not an option in the state's router (provided
-                       // the state has a router), reset the content mode to the default.
-                       if ( this.active && ! selection.length && router && ! router.get( mode ) )
+                       if ( this.active && ! selection.length && router && ! router.get( mode ) ) {
                                this.frame.content.render( this.get('content') );
+                       }
                },
 
+               /**
+                * If the uploader was selected, navigate to the browser.
+                *
+                * Automatically select any uploading attachments.
+                *
+                * Selections that don't support multiple attachments automatically
+                * limit themselves to one attachment (in this case, the last
+                * attachment in the upload queue).
+                *
+                * @param {wp.media.model.Attachment} attachment
+                */
                uploading: function( attachment ) {
                        var content = this.frame.content;
 
-                       // If the uploader was selected, navigate to the browser.
-                       if ( 'upload' === content.mode() )
+                       if ( 'upload' === content.mode() ) {
                                this.frame.content.mode('browse');
-
-                       // Automatically select any uploading attachments.
-                       //
-                       // Selections that don't support multiple attachments automatically
-                       // limit themselves to one attachment (in this case, the last
-                       // attachment in the upload queue).
+                       }
                        this.get('selection').add( attachment );
                },
 
+               /**
+                * Only track the browse router on library states.
+                */
                saveContentMode: function() {
-                       // Only track the browse router on library states.
-                       if ( 'browse' !== this.get('router') )
+                       if ( 'browse' !== this.get('router') ) {
                                return;
+                       }
 
                        var mode = this.frame.content.mode(),
                                view = this.frame.router.get();
 
-                       if ( view && view.get( mode ) )
+                       if ( view && view.get( mode ) ) {
                                setUserSetting( 'libraryContent', mode );
+                       }
+               }
+       });
+
+       _.extend( media.controller.Library.prototype, media.selectionSync );
+
+       /**
+        * wp.media.controller.ImageDetails
+        *
+        * @constructor
+        * @augments wp.media.controller.State
+        * @augments Backbone.Model
+        */
+       media.controller.ImageDetails = media.controller.State.extend({
+               defaults: _.defaults({
+                       id: 'image-details',
+                       toolbar: 'image-details',
+                       title: l10n.imageDetailsTitle,
+                       content: 'image-details',
+                       menu: 'image-details',
+                       router: false,
+                       attachment: false,
+                       priority: 60,
+                       editing: false
+               }, media.controller.Library.prototype.defaults ),
+
+               initialize: function( options ) {
+                       this.image = options.image;
+                       media.controller.State.prototype.initialize.apply( this, arguments );
+               },
+
+               activate: function() {
+                       this.frame.modal.$el.addClass('image-details');
                }
        });
 
-       // wp.media.controller.GalleryEdit
-       // -------------------------------
+       /**
+        * wp.media.controller.GalleryEdit
+        *
+        * @constructor
+        * @augments wp.media.controller.Library
+        * @augments wp.media.controller.State
+        * @augments Backbone.Model
+        */
        media.controller.GalleryEdit = media.controller.Library.extend({
                defaults: {
                        id:         'gallery-edit',
                }
        });
 
-       // wp.media.controller.GalleryAdd
-       // ---------------------------------
+       /**
+        * wp.media.controller.GalleryAdd
+        *
+        * @constructor
+        * @augments wp.media.controller.Library
+        * @augments wp.media.controller.State
+        * @augments Backbone.Model
+        */
        media.controller.GalleryAdd = media.controller.Library.extend({
                defaults: _.defaults({
                        id:           'gallery-library',
                }
        });
 
-       // wp.media.controller.FeaturedImage
-       // ---------------------------------
-       media.controller.FeaturedImage = media.controller.Library.extend({
-               defaults: _.defaults({
-                       id:         'featured-image',
-                       filterable: 'uploaded',
-                       multiple:   false,
-                       toolbar:    'featured-image',
-                       title:      l10n.setFeaturedImageTitle,
-                       priority:   60,
-
+       /**
+        * wp.media.controller.CollectionEdit
+        *
+        * @constructor
+        * @augments wp.media.controller.Library
+        * @augments wp.media.controller.State
+        * @augments Backbone.Model
+        */
+       media.controller.CollectionEdit = media.controller.Library.extend({
+               defaults: {
+                       multiple:     false,
+                       describe:     true,
+                       edge:         199,
+                       editing:      false,
+                       sortable:     true,
+                       searchable:   false,
+                       content:      'browse',
+                       priority:     60,
+                       dragInfo:     true,
+                       SettingsView: false,
+
+                       // Don't sync the selection, as the Edit {Collection} library
+                       // *is* the selection.
                        syncSelection: false
-               }, media.controller.Library.prototype.defaults ),
+               },
 
                initialize: function() {
-                       var library, comparator;
+                       var collectionType = this.get('collectionType');
 
-                       // If we haven't been provided a `library`, create a `Selection`.
-                       if ( ! this.get('library') )
-                               this.set( 'library', media.query({ type: 'image' }) );
+                       if ( 'video' === this.get( 'type' ) ) {
+                               collectionType = 'video-' + collectionType;
+                       }
+
+                       this.set( 'id', collectionType + '-edit' );
+                       this.set( 'toolbar', collectionType + '-edit' );
 
+                       // If we haven't been provided a `library`, create a `Selection`.
+                       if ( ! this.get('library') ) {
+                               this.set( 'library', new media.model.Selection() );
+                       }
+                       // The single `Attachment` view to be used in the `Attachments` view.
+                       if ( ! this.get('AttachmentView') ) {
+                               this.set( 'AttachmentView', media.view.Attachment.EditLibrary );
+                       }
                        media.controller.Library.prototype.initialize.apply( this, arguments );
+               },
 
-                       library    = this.get('library');
-                       comparator = library.comparator;
+               activate: function() {
+                       var library = this.get('library');
 
-                       // Overload the library's comparator to push items that are not in
-                       // the mirrored query to the front of the aggregate collection.
-                       library.comparator = function( a, b ) {
-                               var aInQuery = !! this.mirroring.get( a.cid ),
-                                       bInQuery = !! this.mirroring.get( b.cid );
+                       // Limit the library to images only.
+                       library.props.set( 'type', this.get( 'type' ) );
 
-                               if ( ! aInQuery && bInQuery )
-                                       return -1;
-                               else if ( aInQuery && ! bInQuery )
-                                       return 1;
-                               else
-                                       return comparator.apply( this, arguments );
-                       };
+                       // Watch for uploaded attachments.
+                       this.get('library').observe( wp.Uploader.queue );
 
-                       // Add all items in the selection to the library, so any featured
-                       // images that are not initially loaded still appear.
-                       library.observe( this.get('selection') );
-               },
+                       this.frame.on( 'content:render:browse', this.renderSettings, this );
 
-               activate: function() {
-                       this.updateSelection();
-                       this.frame.on( 'open', this.updateSelection, this );
                        media.controller.Library.prototype.activate.apply( this, arguments );
                },
 
                deactivate: function() {
-                       this.frame.off( 'open', this.updateSelection, this );
+                       // Stop watching for uploaded attachments.
+                       this.get('library').unobserve( wp.Uploader.queue );
+
+                       this.frame.off( 'content:render:browse', this.renderSettings, this );
+
                        media.controller.Library.prototype.deactivate.apply( this, arguments );
                },
 
-               updateSelection: function() {
-                       var selection = this.get('selection'),
-                               id = media.view.settings.post.featuredImageId,
-                               attachment;
+               renderSettings: function( browser ) {
+                       var library = this.get('library'),
+                               collectionType = this.get('collectionType'),
+                               dragInfoText = this.get('dragInfoText'),
+                               SettingsView = this.get('SettingsView'),
+                               obj = {};
 
-                       if ( '' !== id && -1 !== id ) {
-                               attachment = Attachment.get( id );
-                               attachment.fetch();
+                       if ( ! library || ! browser ) {
+                               return;
                        }
 
-                       selection.reset( attachment ? [ attachment ] : [] );
-               }
-       });
+                       library[ collectionType ] = library[ collectionType ] || new Backbone.Model();
 
+                       obj[ collectionType ] = new SettingsView({
+                               controller: this,
+                               model:      library[ collectionType ],
+                               priority:   40
+                       });
 
-       // wp.media.controller.Embed
-       // -------------------------
-       media.controller.Embed = media.controller.State.extend({
-               defaults: {
-                       id:      'embed',
-                       url:     '',
-                       menu:    'default',
-                       content: 'embed',
-                       toolbar: 'main-embed',
-                       type:    'link',
+                       browser.sidebar.set( obj );
 
-                       title:    l10n.insertFromUrlTitle,
-                       priority: 120
-               },
+                       if ( dragInfoText ) {
+                               browser.toolbar.set( 'dragInfo', new media.View({
+                                       el: $( '<div class="instructions">' + dragInfoText + '</div>' )[0],
+                                       priority: -40
+                               }) );
+                       }
 
-               // The amount of time used when debouncing the scan.
-               sensitivity: 200,
+                       browser.toolbar.set( 'reverse', {
+                               text:     l10n.reverseOrder,
+                               priority: 80,
+
+                               click: function() {
+                                       library.reset( library.toArray().reverse() );
+                               }
+                       });
+               }
+       });
+
+       /**
+        * wp.media.controller.CollectionAdd
+        *
+        * @constructor
+        * @augments wp.media.controller.Library
+        * @augments wp.media.controller.State
+        * @augments Backbone.Model
+        */
+       media.controller.CollectionAdd = media.controller.Library.extend({
+               defaults: _.defaults( {
+                       filterable:    'uploaded',
+                       multiple:      'add',
+                       priority:      100,
+                       syncSelection: false
+               }, media.controller.Library.prototype.defaults ),
 
                initialize: function() {
-                       this.debouncedScan = _.debounce( _.bind( this.scan, this ), this.sensitivity );
-                       this.props = new Backbone.Model({ url: '' });
-                       this.props.on( 'change:url', this.debouncedScan, this );
-                       this.props.on( 'change:url', this.refresh, this );
-                       this.on( 'scan', this.scanImage, this );
-               },
+                       var collectionType = this.get('collectionType');
 
+                       if ( 'video' === this.get( 'type' ) ) {
+                               collectionType = 'video-' + collectionType;
+                       }
+
+                       this.set( 'id', collectionType + '-library' );
+                       this.set( 'toolbar', collectionType + '-add' );
+                       this.set( 'menu', collectionType );
+
+                       // If we haven't been provided a `library`, create a `Selection`.
+                       if ( ! this.get('library') ) {
+                               this.set( 'library', media.query({ type: this.get('type') }) );
+                       }
+                       media.controller.Library.prototype.initialize.apply( this, arguments );
+               },
+
+               activate: function() {
+                       var library = this.get('library'),
+                               editLibrary = this.get('editLibrary'),
+                               edit = this.frame.state( this.get('collectionType') + '-edit' ).get('library');
+
+                       if ( editLibrary && editLibrary !== edit ) {
+                               library.unobserve( editLibrary );
+                       }
+
+                       // Accepts attachments that exist in the original library and
+                       // that do not exist in gallery's library.
+                       library.validator = function( attachment ) {
+                               return !! this.mirroring.get( attachment.cid ) && ! edit.get( attachment.cid ) && media.model.Selection.prototype.validator.apply( this, arguments );
+                       };
+
+                       // Reset the library to ensure that all attachments are re-added
+                       // to the collection. Do so silently, as calling `observe` will
+                       // trigger the `reset` event.
+                       library.reset( library.mirroring.models, { silent: true });
+                       library.observe( edit );
+                       this.set('editLibrary', edit);
+
+                       media.controller.Library.prototype.activate.apply( this, arguments );
+               }
+       });
+
+       /**
+        * wp.media.controller.FeaturedImage
+        *
+        * @constructor
+        * @augments wp.media.controller.Library
+        * @augments wp.media.controller.State
+        * @augments Backbone.Model
+        */
+       media.controller.FeaturedImage = media.controller.Library.extend({
+               defaults: _.defaults({
+                       id:         'featured-image',
+                       filterable: 'uploaded',
+                       multiple:   false,
+                       toolbar:    'featured-image',
+                       title:      l10n.setFeaturedImageTitle,
+                       priority:   60,
+                       syncSelection: true
+               }, media.controller.Library.prototype.defaults ),
+
+               initialize: function() {
+                       var library, comparator;
+
+                       // If we haven't been provided a `library`, create a `Selection`.
+                       if ( ! this.get('library') ) {
+                               this.set( 'library', media.query({ type: 'image' }) );
+                       }
+
+                       media.controller.Library.prototype.initialize.apply( this, arguments );
+
+                       library    = this.get('library');
+                       comparator = library.comparator;
+
+                       // Overload the library's comparator to push items that are not in
+                       // the mirrored query to the front of the aggregate collection.
+                       library.comparator = function( a, b ) {
+                               var aInQuery = !! this.mirroring.get( a.cid ),
+                                       bInQuery = !! this.mirroring.get( b.cid );
+
+                               if ( ! aInQuery && bInQuery ) {
+                                       return -1;
+                               } else if ( aInQuery && ! bInQuery ) {
+                                       return 1;
+                               } else {
+                                       return comparator.apply( this, arguments );
+                               }
+                       };
+
+                       // Add all items in the selection to the library, so any featured
+                       // images that are not initially loaded still appear.
+                       library.observe( this.get('selection') );
+               },
+
+               activate: function() {
+                       this.updateSelection();
+                       this.frame.on( 'open', this.updateSelection, this );
+
+                       media.controller.Library.prototype.activate.apply( this, arguments );
+               },
+
+               deactivate: function() {
+                       this.frame.off( 'open', this.updateSelection, this );
+
+                       media.controller.Library.prototype.deactivate.apply( this, arguments );
+               },
+
+               updateSelection: function() {
+                       var selection = this.get('selection'),
+                               id = media.view.settings.post.featuredImageId,
+                               attachment;
+
+                       if ( '' !== id && -1 !== id ) {
+                               attachment = media.model.Attachment.get( id );
+                               attachment.fetch();
+                       }
+
+                       selection.reset( attachment ? [ attachment ] : [] );
+               }
+       });
+
+       /**
+        * wp.media.controller.ReplaceImage
+        *
+        * Replace a selected single image
+        *
+        * @constructor
+        * @augments wp.media.controller.Library
+        * @augments wp.media.controller.State
+        * @augments Backbone.Model
+        */
+       media.controller.ReplaceImage = media.controller.Library.extend({
+               defaults: _.defaults({
+                       id:         'replace-image',
+                       filterable: 'uploaded',
+                       multiple:   false,
+                       toolbar:    'replace',
+                       title:      l10n.replaceImageTitle,
+                       priority:   60,
+                       syncSelection: true
+               }, media.controller.Library.prototype.defaults ),
+
+               initialize: function( options ) {
+                       var library, comparator;
+
+                       this.image = options.image;
+                       // If we haven't been provided a `library`, create a `Selection`.
+                       if ( ! this.get('library') ) {
+                               this.set( 'library', media.query({ type: 'image' }) );
+                       }
+
+                       media.controller.Library.prototype.initialize.apply( this, arguments );
+
+                       library    = this.get('library');
+                       comparator = library.comparator;
+
+                       // Overload the library's comparator to push items that are not in
+                       // the mirrored query to the front of the aggregate collection.
+                       library.comparator = function( a, b ) {
+                               var aInQuery = !! this.mirroring.get( a.cid ),
+                                       bInQuery = !! this.mirroring.get( b.cid );
+
+                               if ( ! aInQuery && bInQuery ) {
+                                       return -1;
+                               } else if ( aInQuery && ! bInQuery ) {
+                                       return 1;
+                               } else {
+                                       return comparator.apply( this, arguments );
+                               }
+                       };
+
+                       // Add all items in the selection to the library, so any featured
+                       // images that are not initially loaded still appear.
+                       library.observe( this.get('selection') );
+               },
+
+               activate: function() {
+                       this.updateSelection();
+                       media.controller.Library.prototype.activate.apply( this, arguments );
+               },
+
+               updateSelection: function() {
+                       var selection = this.get('selection'),
+                               attachment = this.image.attachment;
+
+                       selection.reset( attachment ? [ attachment ] : [] );
+               }
+       });
+
+       /**
+        * wp.media.controller.EditImage
+        *
+        * @constructor
+        * @augments wp.media.controller.State
+        * @augments Backbone.Model
+        */
+       media.controller.EditImage = media.controller.State.extend({
+               defaults: {
+                       id: 'edit-image',
+                       url: '',
+                       menu: false,
+                       toolbar: 'edit-image',
+                       title: l10n.editImage,
+                       content: 'edit-image'
+               },
+
+               activate: function() {
+                       this.listenTo( this.frame, 'toolbar:render:edit-image', this.toolbar );
+               },
+
+               deactivate: function() {
+                       this.stopListening( this.frame );
+               },
+
+               toolbar: function() {
+                       var frame = this.frame,
+                               lastState = frame.lastState(),
+                               previous = lastState && lastState.id;
+
+                       frame.toolbar.set( new media.view.Toolbar({
+                               controller: frame,
+                               items: {
+                                       back: {
+                                               style: 'primary',
+                                               text:     l10n.back,
+                                               priority: 20,
+                                               click:    function() {
+                                                       if ( previous ) {
+                                                               frame.setState( previous );
+                                                       } else {
+                                                               frame.close();
+                                                       }
+                                               }
+                                       }
+                               }
+                       }) );
+               }
+       });
+
+       /**
+        * wp.media.controller.MediaLibrary
+        *
+        * @constructor
+        * @augments wp.media.controller.Library
+        * @augments wp.media.controller.State
+        * @augments Backbone.Model
+        */
+       media.controller.MediaLibrary = media.controller.Library.extend({
+               defaults: _.defaults({
+                       filterable: 'uploaded',
+                       priority:   80,
+                       syncSelection: false,
+                       displaySettings: false
+               }, media.controller.Library.prototype.defaults ),
+
+               initialize: function( options ) {
+                       this.media = options.media;
+                       this.type = options.type;
+                       this.set( 'library', media.query({ type: this.type }) );
+
+                       media.controller.Library.prototype.initialize.apply( this, arguments );
+               },
+
+               activate: function() {
+                       if ( media.frame.lastMime ) {
+                               this.set( 'library', media.query({ type: media.frame.lastMime }) );
+                               delete media.frame.lastMime;
+                       }
+                       media.controller.Library.prototype.activate.apply( this, arguments );
+               }
+       });
+
+       /**
+        * wp.media.controller.Embed
+        *
+        * @constructor
+        * @augments wp.media.controller.State
+        * @augments Backbone.Model
+        */
+       media.controller.Embed = media.controller.State.extend({
+               defaults: {
+                       id:      'embed',
+                       url:     '',
+                       menu:    'default',
+                       content: 'embed',
+                       toolbar: 'main-embed',
+                       type:    'link',
+
+                       title:    l10n.insertFromUrlTitle,
+                       priority: 120
+               },
+
+               // The amount of time used when debouncing the scan.
+               sensitivity: 200,
+
+               initialize: function() {
+                       this.debouncedScan = _.debounce( _.bind( this.scan, this ), this.sensitivity );
+                       this.props = new Backbone.Model({ url: '' });
+                       this.props.on( 'change:url', this.debouncedScan, this );
+                       this.props.on( 'change:url', this.refresh, this );
+                       this.on( 'scan', this.scanImage, this );
+               },
+
+               /**
+                * @fires wp.media.controller.Embed#scan
+                */
                scan: function() {
                        var scanners,
                                embed = this,
                        // Scan is triggered with the list of `attributes` to set on the
                        // state, useful for the 'type' attribute and 'scanners' attribute,
                        // an array of promise objects for asynchronous scan operations.
-                       if ( this.props.get('url') )
+                       if ( this.props.get('url') ) {
                                this.trigger( 'scan', attributes );
+                       }
 
                        if ( attributes.scanners.length ) {
                                scanners = attributes.scanners = $.when.apply( $, attributes.scanners );
                                scanners.always( function() {
-                                       if ( embed.get('scanners') === scanners )
+                                       if ( embed.get('scanners') === scanners ) {
                                                embed.set( 'loading', false );
+                                       }
                                });
                        } else {
                                attributes.scanners = null;
                        attributes.loading = !! attributes.scanners;
                        this.set( attributes );
                },
-
+               /**
+                * @param {Object} attributes
+                */
                scanImage: function( attributes ) {
                        var frame = this.frame,
                                state = this,
                        image.onload = function() {
                                deferred.resolve();
 
-                               if ( state !== frame.state() || url !== state.props.get('url') )
+                               if ( state !== frame.state() || url !== state.props.get('url') ) {
                                        return;
+                               }
 
                                state.set({
                                        type: 'image'
                reset: function() {
                        this.props.clear().set({ url: '' });
 
-                       if ( this.active )
+                       if ( this.active ) {
                                this.refresh();
+                       }
+               }
+       });
+
+       /**
+        * wp.media.controller.Cropper
+        *
+        * Allows for a cropping step.
+        *
+        * @constructor
+        * @augments wp.media.controller.State
+        * @augments Backbone.Model
+        */
+       media.controller.Cropper = media.controller.State.extend({
+               defaults: {
+                       id: 'cropper',
+                       title: l10n.cropImage,
+                       toolbar: 'crop',
+                       content: 'crop',
+                       router: false,
+                       canSkipCrop: false
+               },
+
+               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: true});
+                       this.imgSelect.update();
+                       this.cropperView.remove();
+               },
+               createCropToolbar: function() {
+                       var canSkipCrop, toolbarOptions;
+
+                       canSkipCrop = this.get('canSkipCrop') || false;
+
+                       toolbarOptions = {
+                               controller: this.frame,
+                               items: {
+                                       insert: {
+                                               style:    'primary',
+                                               text:     l10n.cropImage,
+                                               priority: 80,
+                                               requires: { library: false, selection: false },
+
+                                               click: function() {
+                                                       var self = this,
+                                                               selection = this.controller.state().get('selection').first();
+
+                                                       selection.set({cropDetails: this.controller.state().imgSelect.getSelection()});
+
+                                                       this.$el.text(l10n.cropping);
+                                                       this.$el.attr('disabled', true);
+                                                       this.controller.state().doCrop( selection ).done( function( croppedImage ) {
+                                                               self.controller.trigger('cropped', croppedImage );
+                                                               self.controller.close();
+                                                       }).fail( function() {
+                                                               self.controller.trigger('content:error:crop');
+                                                       });
+                                               }
+                                       }
+                               }
+                       };
+
+                       if ( canSkipCrop ) {
+                               _.extend( toolbarOptions.items, {
+                                       skip: {
+                                               style:      'secondary',
+                                               text:       l10n.skipCropping,
+                                               priority:   70,
+                                               requires:   { library: false, selection: false },
+                                               click:      function() {
+                                                       var selection = this.controller.state().get('selection').first();
+                                                       this.controller.state().cropperView.remove();
+                                                       this.controller.trigger('skippedcrop', selection);
+                                                       this.controller.close();
+                                               }
+                                       }
+                               });
+                       }
+
+                       this.frame.toolbar.set( new wp.media.view.Toolbar(toolbarOptions) );
+               },
+
+               doCrop: function( attachment ) {
+                       return wp.ajax.post( 'custom-header-crop', {
+                               nonce: attachment.get('nonces').edit,
+                               id: attachment.get('id'),
+                               cropDetails: attachment.get('cropDetails')
+                       } );
                }
        });
 
         * ========================================================================
         */
 
-       // wp.media.View
-       // -------------
-       //
-       // The base view class.
-       //
-       // Undelegating events, removing events from the model, and
-       // removing events from the controller mirror the code for
-       // `Backbone.View.dispose` in Backbone 0.9.8 development.
-       //
-       // This behavior has since been removed, and should not be used
-       // outside of the media manager.
+       /**
+        * wp.media.View
+        * -------------
+        *
+        * The base view class.
+        *
+        * Undelegating events, removing events from the model, and
+        * removing events from the controller mirror the code for
+        * `Backbone.View.dispose` in Backbone 0.9.8 development.
+        *
+        * This behavior has since been removed, and should not be used
+        * outside of the media manager.
+        *
+        * @constructor
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
        media.View = wp.Backbone.View.extend({
                constructor: function( options ) {
-                       if ( options && options.controller )
+                       if ( options && options.controller ) {
                                this.controller = options.controller;
-
+                       }
                        wp.Backbone.View.apply( this, arguments );
                },
-
+               /**
+                * @returns {wp.media.View} Returns itself to allow chaining
+                */
                dispose: function() {
                        // Undelegating events, removing events from the model, and
                        // removing events from the controller mirror the code for
                        // `Backbone.View.dispose` in Backbone 0.9.8 development.
                        this.undelegateEvents();
 
-                       if ( this.model && this.model.off )
+                       if ( this.model && this.model.off ) {
                                this.model.off( null, null, this );
+                       }
 
-                       if ( this.collection && this.collection.off )
+                       if ( this.collection && this.collection.off ) {
                                this.collection.off( null, null, this );
+                       }
 
                        // Unbind controller events.
-                       if ( this.controller && this.controller.off )
+                       if ( this.controller && this.controller.off ) {
                                this.controller.off( null, null, this );
+                       }
 
                        return this;
                },
-
+               /**
+                * @returns {wp.media.View} Returns itself to allow chaining
+                */
                remove: function() {
                        this.dispose();
+                       /**
+                        * call 'remove' directly on the parent class
+                        */
                        return wp.Backbone.View.prototype.remove.apply( this, arguments );
                }
        });
 
        /**
         * wp.media.view.Frame
+        *
+        * A frame is a composite view consisting of one or more regions and one or more
+        * states. Only one state can be active at any given moment.
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        * @mixes wp.media.controller.StateMachine
         */
        media.view.Frame = media.View.extend({
                initialize: function() {
                                });
                        }, this );
                },
-
+               /**
+                * @fires wp.media.controller.State#ready
+                */
                _createStates: function() {
                        // Create the default `states` collection.
                        this.states = new Backbone.Collection( null, {
                                model.trigger('ready');
                        }, this );
 
-                       if ( this.options.states )
+                       if ( this.options.states ) {
                                this.states.add( this.options.states );
+                       }
                },
-
+               /**
+                * @returns {wp.media.view.Frame} Returns itself to allow chaining
+                */
                reset: function() {
                        this.states.invoke( 'trigger', 'reset' );
                        return this;
 
        /**
         * wp.media.view.MediaFrame
+        *
+        * Type of frame used to create the media modal.
+        *
+        * @constructor
+        * @augments wp.media.view.Frame
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        * @mixes wp.media.controller.StateMachine
         */
        media.view.MediaFrame = media.view.Frame.extend({
                className: 'media-frame',
                template:  media.template('media-frame'),
                regions:   ['menu','title','content','toolbar','router'],
 
+               /**
+                * @global wp.Uploader
+                */
                initialize: function() {
+
                        media.view.Frame.prototype.initialize.apply( this, arguments );
 
                        _.defaults( this.options, {
 
                        // Force the uploader off if the upload limit has been exceeded or
                        // if the browser isn't supported.
-                       if ( wp.Uploader.limitExceeded || ! wp.Uploader.browser.supported )
+                       if ( wp.Uploader.limitExceeded || ! wp.Uploader.browser.supported ) {
                                this.options.uploader = false;
+                       }
 
                        // Initialize window-wide uploader.
                        if ( this.options.uploader ) {
                        // Bind default menu.
                        this.on( 'menu:create:default', this.createMenu, this );
                },
-
+               /**
+                * @returns {wp.media.view.MediaFrame} Returns itself to allow chaining
+                */
                render: function() {
                        // Activate the default state if no active state exists.
-                       if ( ! this.state() && this.options.state )
+                       if ( ! this.state() && this.options.state ) {
                                this.setState( this.options.state );
-
+                       }
+                       /**
+                        * call 'render' directly on the parent class
+                        */
                        return media.view.Frame.prototype.render.apply( this, arguments );
                },
-
+               /**
+                * @param {Object} title
+                * @this wp.media.controller.Region
+                */
                createTitle: function( title ) {
                        title.view = new media.View({
                                controller: this,
                                tagName: 'h1'
                        });
                },
-
+               /**
+                * @param {Object} menu
+                * @this wp.media.controller.Region
+                */
                createMenu: function( menu ) {
                        menu.view = new media.view.Menu({
                                controller: this
                        });
                },
-
+               /**
+                * @param {Object} toolbar
+                * @this wp.media.controller.Region
+                */
                createToolbar: function( toolbar ) {
                        toolbar.view = new media.view.Toolbar({
                                controller: this
                        });
                },
-
+               /**
+                * @param {Object} router
+                * @this wp.media.controller.Region
+                */
                createRouter: function( router ) {
                        router.view = new media.view.Router({
                                controller: this
                        });
                },
-
+               /**
+                * @param {Object} options
+                */
                createIframeStates: function( options ) {
                        var settings = media.view.settings,
                                tabs = settings.tabs,
                                tabUrl = settings.tabUrl,
                                $postId;
 
-                       if ( ! tabs || ! tabUrl )
+                       if ( ! tabs || ! tabUrl ) {
                                return;
+                       }
 
                        // Add the post ID to the tab URL if it exists.
                        $postId = $('#post_ID');
-                       if ( $postId.length )
+                       if ( $postId.length ) {
                                tabUrl += '&post_id=' + $postId.val();
+                       }
 
                        // Generate the tab states.
                        _.each( tabs, function( title, id ) {
                        this.on( 'close', this.restoreThickbox, this );
                },
 
+               /**
+                * @param {Object} content
+                * @this wp.media.controller.Region
+                */
                iframeContent: function( content ) {
                        this.$el.addClass('hide-toolbar');
                        content.view = new media.view.Iframe({
                iframeMenu: function( view ) {
                        var views = {};
 
-                       if ( ! view )
+                       if ( ! view ) {
                                return;
+                       }
 
                        _.each( media.view.settings.tabs, function( title, id ) {
                                views[ 'iframe:' + id ] = {
                hijackThickbox: function() {
                        var frame = this;
 
-                       if ( ! window.tb_remove || this._tb_remove )
+                       if ( ! window.tb_remove || this._tb_remove ) {
                                return;
+                       }
 
                        this._tb_remove = window.tb_remove;
                        window.tb_remove = function() {
                },
 
                restoreThickbox: function() {
-                       if ( ! this._tb_remove )
+                       if ( ! this._tb_remove ) {
                                return;
+                       }
 
                        window.tb_remove = this._tb_remove;
                        delete this._tb_remove;
 
        // Map some of the modal's methods to the frame.
        _.each(['open','close','attach','detach','escape'], function( method ) {
+               /**
+                * @returns {wp.media.view.MediaFrame} Returns itself to allow chaining
+                */
                media.view.MediaFrame.prototype[ method ] = function() {
-                       if ( this.modal )
+                       if ( this.modal ) {
                                this.modal[ method ].apply( this.modal, arguments );
+                       }
                        return this;
                };
        });
 
        /**
         * wp.media.view.MediaFrame.Select
+        *
+        * Type of media frame that is used to select an item or items from the media library
+        *
+        * @constructor
+        * @augments wp.media.view.MediaFrame
+        * @augments wp.media.view.Frame
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        * @mixes wp.media.controller.StateMachine
         */
        media.view.MediaFrame.Select = media.view.MediaFrame.extend({
                initialize: function() {
+                       /**
+                        * call 'initialize' directly on the parent class
+                        */
                        media.view.MediaFrame.prototype.initialize.apply( this, arguments );
 
                        _.defaults( this.options, {
                        }
 
                        this._selection = {
-                               attachments: new Attachments(),
+                               attachments: new media.model.Attachments(),
                                difference: []
                        };
                },
                createStates: function() {
                        var options = this.options;
 
-                       if ( this.options.states )
+                       if ( this.options.states ) {
                                return;
+                       }
 
                        // Add the default states.
                        this.states.add([
                        });
                },
 
-               // Content
+               /**
+                * Content
+                *
+                * @param {Object} content
+                * @this wp.media.controller.Region
+                */
                browseContent: function( content ) {
                        var state = this.state();
 
                                display:    state.get('displaySettings'),
                                dragInfo:   state.get('dragInfo'),
 
+                               suggestedWidth:  state.get('suggestedWidth'),
+                               suggestedHeight: state.get('suggestedHeight'),
+
                                AttachmentView: state.get('AttachmentView')
                        });
                },
 
+               /**
+                *
+                * @this wp.media.controller.Region
+                */
                uploadContent: function() {
                        this.$el.removeClass('hide-toolbar');
                        this.content.set( new media.view.UploaderInline({
                        }) );
                },
 
-               // Toolbars
+               /**
+                * Toolbars
+                *
+                * @param {Object} toolbar
+                * @param {Object} [options={}]
+                * @this wp.media.controller.Region
+                */
                createSelectToolbar: function( toolbar, options ) {
                        options = options || this.options.button || {};
                        options.controller = this;
 
        /**
         * wp.media.view.MediaFrame.Post
+        *
+        * @constructor
+        * @augments wp.media.view.MediaFrame.Select
+        * @augments wp.media.view.MediaFrame
+        * @augments wp.media.view.Frame
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        * @mixes wp.media.controller.StateMachine
         */
        media.view.MediaFrame.Post = media.view.MediaFrame.Select.extend({
                initialize: function() {
+                       this.counts = {
+                               audio: {
+                                       count: media.view.settings.attachmentCounts.audio,
+                                       state: 'playlist'
+                               },
+                               video: {
+                                       count: media.view.settings.attachmentCounts.video,
+                                       state: 'video-playlist'
+                               }
+                       };
+
                        _.defaults( this.options, {
                                multiple:  true,
                                editing:   false,
                                state:    'insert'
                        });
-
+                       /**
+                        * call 'initialize' directly on the parent class
+                        */
                        media.view.MediaFrame.Select.prototype.initialize.apply( this, arguments );
                        this.createIframeStates();
+
                },
 
                createStates: function() {
                                // Embed states.
                                new media.controller.Embed(),
 
+                               new media.controller.EditImage( { model: options.editImage } ),
+
                                // Gallery states.
                                new media.controller.GalleryEdit({
                                        library: options.selection,
                                        menu:    'gallery'
                                }),
 
-                               new media.controller.GalleryAdd()
-                       ]);
+                               new media.controller.GalleryAdd(),
+
+                               new media.controller.Library({
+                                       id:         'playlist',
+                                       title:      l10n.createPlaylistTitle,
+                                       priority:   60,
+                                       toolbar:    'main-playlist',
+                                       filterable: 'uploaded',
+                                       multiple:   'add',
+                                       editable:   false,
+
+                                       library:  media.query( _.defaults({
+                                               type: 'audio'
+                                       }, options.library ) )
+                               }),
+
+                               // Playlist states.
+                               new media.controller.CollectionEdit({
+                                       type: 'audio',
+                                       collectionType: 'playlist',
+                                       title:          l10n.editPlaylistTitle,
+                                       SettingsView:   media.view.Settings.Playlist,
+                                       library:        options.selection,
+                                       editing:        options.editing,
+                                       menu:           'playlist',
+                                       dragInfoText:   l10n.playlistDragInfo,
+                                       dragInfo:       false
+                               }),
+
+                               new media.controller.CollectionAdd({
+                                       type: 'audio',
+                                       collectionType: 'playlist',
+                                       title: l10n.addToPlaylistTitle
+                               }),
+
+                               new media.controller.Library({
+                                       id:         'video-playlist',
+                                       title:      l10n.createVideoPlaylistTitle,
+                                       priority:   60,
+                                       toolbar:    'main-video-playlist',
+                                       filterable: 'uploaded',
+                                       multiple:   'add',
+                                       editable:   false,
+
+                                       library:  media.query( _.defaults({
+                                               type: 'video'
+                                       }, options.library ) )
+                               }),
 
+                               new media.controller.CollectionEdit({
+                                       type: 'video',
+                                       collectionType: 'playlist',
+                                       title:          l10n.editVideoPlaylistTitle,
+                                       SettingsView:   media.view.Settings.Playlist,
+                                       library:        options.selection,
+                                       editing:        options.editing,
+                                       menu:           'video-playlist',
+                                       dragInfoText:   l10n.playlistDragInfo,
+                                       dragInfo:       false
+                               }),
+
+                               new media.controller.CollectionAdd({
+                                       type: 'video',
+                                       collectionType: 'playlist',
+                                       title: l10n.addToVideoPlaylistTitle
+                               })
+                       ]);
 
                        if ( media.view.settings.post.featuredImageId ) {
                                this.states.add( new media.controller.FeaturedImage() );
                },
 
                bindHandlers: function() {
+                       var handlers, checkCounts;
+
                        media.view.MediaFrame.Select.prototype.bindHandlers.apply( this, arguments );
+
+                       this.on( 'activate', this.activate, this );
+
+                       // Only bother checking media type counts if one of the counts is zero
+                       checkCounts = _.find( this.counts, function( type ) {
+                               return type.count === 0;
+                       } );
+
+                       if ( typeof checkCounts !== 'undefined' ) {
+                               this.listenTo( 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 );
 
-                       var handlers = {
-                                       menu: {
-                                               'default': 'mainMenu',
-                                               'gallery': 'galleryMenu'
-                                       },
+                       handlers = {
+                               menu: {
+                                       'default': 'mainMenu',
+                                       'gallery': 'galleryMenu',
+                                       'playlist': 'playlistMenu',
+                                       'video-playlist': 'videoPlaylistMenu'
+                               },
 
-                                       content: {
-                                               'embed':          'embedContent',
-                                               'edit-selection': 'editSelectionContent'
-                                       },
+                               content: {
+                                       'embed':          'embedContent',
+                                       'edit-image':     'editImageContent',
+                                       'edit-selection': 'editSelectionContent'
+                               },
 
-                                       toolbar: {
-                                               'main-insert':      'mainInsertToolbar',
-                                               'main-gallery':     'mainGalleryToolbar',
-                                               'gallery-edit':     'galleryEditToolbar',
-                                               'gallery-add':      'galleryAddToolbar'
-                                       }
-                               };
+                               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( handlers, function( regionHandlers, region ) {
                                _.each( regionHandlers, function( callback, handler ) {
                        }, this );
                },
 
+               activate: function() {
+                       // Hide menu items for states tied to particular media types if there are no items
+                       _.each( this.counts, function( type ) {
+                               if ( type.count < 1 ) {
+                                       this.menuItemVisibility( type.state, 'hide' );
+                               }
+                       }, this );
+               },
+
+               mediaTypeCounts: function( model, attr ) {
+                       if ( typeof this.counts[ attr ] !== 'undefined' && this.counts[ attr ].count < 1 ) {
+                               this.counts[ attr ].count++;
+                               this.menuItemVisibility( this.counts[ attr ].state, 'show' );
+                       }
+               },
+
                // Menus
+               /**
+                * @param {wp.Backbone.View} view
+                */
                mainMenu: function( view ) {
                        view.set({
                                'library-separator': new media.View({
                                        className: 'separator',
-                                       priority: 100
+                                       priority: 100
+                               })
+                       });
+               },
+
+               menuItemVisibility: function( state, visibility ) {
+                       var menu = this.menu.get();
+                       if ( visibility === 'hide' ) {
+                               menu.hide( state );
+                       } else if ( visibility === 'show' ) {
+                               menu.show( state );
+                       }
+               },
+               /**
+                * @param {wp.Backbone.View} view
+                */
+               galleryMenu: function( view ) {
+                       var lastState = this.lastState(),
+                               previous = lastState && lastState.id,
+                               frame = this;
+
+                       view.set({
+                               cancel: {
+                                       text:     l10n.cancelGalleryTitle,
+                                       priority: 20,
+                                       click:    function() {
+                                               if ( previous ) {
+                                                       frame.setState( previous );
+                                               } else {
+                                                       frame.close();
+                                               }
+                                       }
+                               },
+                               separateCancel: new media.View({
+                                       className: 'separator',
+                                       priority: 40
+                               })
+                       });
+               },
+
+               playlistMenu: function( view ) {
+                       var lastState = this.lastState(),
+                               previous = lastState && lastState.id,
+                               frame = this;
+
+                       view.set({
+                               cancel: {
+                                       text:     l10n.cancelPlaylistTitle,
+                                       priority: 20,
+                                       click:    function() {
+                                               if ( previous ) {
+                                                       frame.setState( previous );
+                                               } else {
+                                                       frame.close();
+                                               }
+                                       }
+                               },
+                               separateCancel: new media.View({
+                                       className: 'separator',
+                                       priority: 40
                                })
                        });
                },
 
-               galleryMenu: function( view ) {
+               videoPlaylistMenu: function( view ) {
                        var lastState = this.lastState(),
                                previous = lastState && lastState.id,
                                frame = this;
 
                        view.set({
                                cancel: {
-                                       text:     l10n.cancelGalleryTitle,
+                                       text:     l10n.cancelVideoPlaylistTitle,
                                        priority: 20,
                                        click:    function() {
-                                               if ( previous )
+                                               if ( previous ) {
                                                        frame.setState( previous );
-                                               else
+                                               } else {
                                                        frame.close();
+                                               }
                                        }
                                },
                                separateCancel: new media.View({
                        this.content.set( view );
                },
 
+               editImageContent: function() {
+                       var image = this.state().get('image'),
+                               view = new media.view.EditImage( { model: image, controller: this } ).render();
+
+                       this.content.set( view );
+
+                       // after creating the wrapper view, load the actual editor via an ajax call
+                       view.loadEditor();
+
+               },
+
                // Toolbars
+
+               /**
+                * @param {wp.Backbone.View} view
+                */
                selectionStatusToolbar: function( view ) {
                        var editable = this.state().get('editable');
 
                        }).render() );
                },
 
+               /**
+                * @param {wp.Backbone.View} view
+                */
                mainInsertToolbar: function( view ) {
                        var controller = this;
 
                                text:     l10n.insertIntoPost,
                                requires: { selection: true },
 
+                               /**
+                                * @fires wp.media.controller.State#insert
+                                */
                                click: function() {
                                        var state = controller.state(),
                                                selection = state.get('selection');
                        });
                },
 
+               /**
+                * @param {wp.Backbone.View} view
+                */
                mainGalleryToolbar: function( view ) {
                        var controller = this;
 
                        });
                },
 
+               mainPlaylistToolbar: function( view ) {
+                       var controller = this;
+
+                       this.selectionStatusToolbar( view );
+
+                       view.set( 'playlist', {
+                               style:    'primary',
+                               text:     l10n.createNewPlaylist,
+                               priority: 100,
+                               requires: { selection: true },
+
+                               click: function() {
+                                       var selection = controller.state().get('selection'),
+                                               edit = controller.state('playlist-edit'),
+                                               models = selection.where({ type: 'audio' });
+
+                                       edit.set( 'library', new media.model.Selection( models, {
+                                               props:    selection.props.toJSON(),
+                                               multiple: true
+                                       }) );
+
+                                       this.controller.setState('playlist-edit');
+                               }
+                       });
+               },
+
+               mainVideoPlaylistToolbar: function( view ) {
+                       var controller = this;
+
+                       this.selectionStatusToolbar( view );
+
+                       view.set( 'video-playlist', {
+                               style:    'primary',
+                               text:     l10n.createNewVideoPlaylist,
+                               priority: 100,
+                               requires: { selection: true },
+
+                               click: function() {
+                                       var selection = controller.state().get('selection'),
+                                               edit = controller.state('video-playlist-edit'),
+                                               models = selection.where({ type: 'video' });
+
+                                       edit.set( 'library', new media.model.Selection( models, {
+                                               props:    selection.props.toJSON(),
+                                               multiple: true
+                                       }) );
+
+                                       this.controller.setState('video-playlist-edit');
+                               }
+                       });
+               },
+
                featuredImageToolbar: function( toolbar ) {
                        this.createSelectToolbar( toolbar, {
                                text:  l10n.setFeaturedImage,
                                state: this.options.state
                        });
-               },
+               },
+
+               mainEmbedToolbar: function( toolbar ) {
+                       toolbar.view = new media.view.Toolbar.Embed({
+                               controller: this
+                       });
+               },
+
+               galleryEditToolbar: function() {
+                       var editing = this.state().get('editing');
+                       this.toolbar.set( new media.view.Toolbar({
+                               controller: this,
+                               items: {
+                                       insert: {
+                                               style:    'primary',
+                                               text:     editing ? l10n.updateGallery : l10n.insertGallery,
+                                               priority: 80,
+                                               requires: { library: true },
+
+                                               /**
+                                                * @fires wp.media.controller.State#update
+                                                */
+                                               click: function() {
+                                                       var controller = this.controller,
+                                                               state = controller.state();
+
+                                                       controller.close();
+                                                       state.trigger( 'update', state.get('library') );
+
+                                                       // Restore and reset the default state.
+                                                       controller.setState( controller.options.state );
+                                                       controller.reset();
+                                               }
+                                       }
+                               }
+                       }) );
+               },
+
+               galleryAddToolbar: function() {
+                       this.toolbar.set( new media.view.Toolbar({
+                               controller: this,
+                               items: {
+                                       insert: {
+                                               style:    'primary',
+                                               text:     l10n.addToGallery,
+                                               priority: 80,
+                                               requires: { selection: true },
+
+                                               /**
+                                                * @fires wp.media.controller.State#reset
+                                                */
+                                               click: function() {
+                                                       var controller = this.controller,
+                                                               state = controller.state(),
+                                                               edit = controller.state('gallery-edit');
+
+                                                       edit.get('library').add( state.get('selection').models );
+                                                       state.trigger('reset');
+                                                       controller.setState('gallery-edit');
+                                               }
+                                       }
+                               }
+                       }) );
+               },
+
+               playlistEditToolbar: function() {
+                       var editing = this.state().get('editing');
+                       this.toolbar.set( new media.view.Toolbar({
+                               controller: this,
+                               items: {
+                                       insert: {
+                                               style:    'primary',
+                                               text:     editing ? l10n.updatePlaylist : l10n.insertPlaylist,
+                                               priority: 80,
+                                               requires: { library: true },
+
+                                               /**
+                                                * @fires wp.media.controller.State#update
+                                                */
+                                               click: function() {
+                                                       var controller = this.controller,
+                                                               state = controller.state();
+
+                                                       controller.close();
+                                                       state.trigger( 'update', state.get('library') );
+
+                                                       // Restore and reset the default state.
+                                                       controller.setState( controller.options.state );
+                                                       controller.reset();
+                                               }
+                                       }
+                               }
+                       }) );
+               },
+
+               playlistAddToolbar: function() {
+                       this.toolbar.set( new media.view.Toolbar({
+                               controller: this,
+                               items: {
+                                       insert: {
+                                               style:    'primary',
+                                               text:     l10n.addToPlaylist,
+                                               priority: 80,
+                                               requires: { selection: true },
+
+                                               /**
+                                                * @fires wp.media.controller.State#reset
+                                                */
+                                               click: function() {
+                                                       var controller = this.controller,
+                                                               state = controller.state(),
+                                                               edit = controller.state('playlist-edit');
+
+                                                       edit.get('library').add( state.get('selection').models );
+                                                       state.trigger('reset');
+                                                       controller.setState('playlist-edit');
+                                               }
+                                       }
+                               }
+                       }) );
+               },
+
+               videoPlaylistEditToolbar: function() {
+                       var editing = this.state().get('editing');
+                       this.toolbar.set( new media.view.Toolbar({
+                               controller: this,
+                               items: {
+                                       insert: {
+                                               style:    'primary',
+                                               text:     editing ? l10n.updateVideoPlaylist : l10n.insertVideoPlaylist,
+                                               priority: 140,
+                                               requires: { library: true },
+
+                                               click: function() {
+                                                       var controller = this.controller,
+                                                               state = controller.state(),
+                                                               library = state.get('library');
+
+                                                       library.type = 'video';
+
+                                                       controller.close();
+                                                       state.trigger( 'update', library );
+
+                                                       // Restore and reset the default state.
+                                                       controller.setState( controller.options.state );
+                                                       controller.reset();
+                                               }
+                                       }
+                               }
+                       }) );
+               },
+
+               videoPlaylistAddToolbar: function() {
+                       this.toolbar.set( new media.view.Toolbar({
+                               controller: this,
+                               items: {
+                                       insert: {
+                                               style:    'primary',
+                                               text:     l10n.addToVideoPlaylist,
+                                               priority: 140,
+                                               requires: { selection: true },
+
+                                               click: function() {
+                                                       var controller = this.controller,
+                                                               state = controller.state(),
+                                                               edit = controller.state('video-playlist-edit');
+
+                                                       edit.get('library').add( state.get('selection').models );
+                                                       state.trigger('reset');
+                                                       controller.setState('video-playlist-edit');
+                                               }
+                                       }
+                               }
+                       }) );
+               }
+       });
+
+       /**
+        * wp.media.view.MediaFrame.ImageDetails
+        *
+        * @constructor
+        * @augments wp.media.view.MediaFrame.Select
+        * @augments wp.media.view.MediaFrame
+        * @augments wp.media.view.Frame
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        * @mixes wp.media.controller.StateMachine
+        */
+       media.view.MediaFrame.ImageDetails = media.view.MediaFrame.Select.extend({
+               defaults: {
+                       id:      'image',
+                       url:     '',
+                       menu:    'image-details',
+                       content: 'image-details',
+                       toolbar: 'image-details',
+                       type:    'link',
+                       title:    l10n.imageDetailsTitle,
+                       priority: 120
+               },
+
+               initialize: function( options ) {
+                       this.image = new media.model.PostImage( options.metadata );
+                       this.options.selection = new media.model.Selection( this.image.attachment, { multiple: false } );
+                       media.view.MediaFrame.Select.prototype.initialize.apply( this, arguments );
+               },
+
+               bindHandlers: function() {
+                       media.view.MediaFrame.Select.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( 'menu:render:image-details', this.renderMenu, this );
+                       this.on( 'toolbar:render:image-details', this.renderImageDetailsToolbar, this );
+                       // override the select toolbar
+                       this.on( 'toolbar:render:replace', this.renderReplaceImageToolbar, this );
+               },
+
+               createStates: function() {
+                       this.states.add([
+                               new media.controller.ImageDetails({
+                                       image: this.image,
+                                       editable: false,
+                                       menu: 'image-details'
+                               }),
+                               new media.controller.ReplaceImage({
+                                       id: 'replace-image',
+                                       library:   media.query( { type: 'image' } ),
+                                       image: this.image,
+                                       multiple:  false,
+                                       title:     l10n.imageReplaceTitle,
+                                       menu: 'image-details',
+                                       toolbar: 'replace',
+                                       priority:  80,
+                                       displaySettings: true
+                               }),
+                               new media.controller.EditImage( {
+                                       image: this.image,
+                                       selection: this.options.selection
+                               } )
+                       ]);
+               },
+
+               imageDetailsContent: function( options ) {
+                       options.view = new media.view.ImageDetails({
+                               controller: this,
+                               model: this.state().image,
+                               attachment: this.state().image.attachment
+                       });
+               },
+
+               editImageContent: function() {
+                       var state = this.state(),
+                               model = state.get('image'),
+                               view;
+
+                       if ( ! model ) {
+                               return;
+                       }
+
+                       view = new media.view.EditImage( { model: model, controller: this } ).render();
+
+                       this.content.set( view );
+
+                       // after bringing in the frame, load the actual editor via an ajax call
+                       view.loadEditor();
+
+               },
+
+               renderMenu: function( view ) {
+                       var lastState = this.lastState(),
+                               previous = lastState && lastState.id,
+                               frame = this;
+
+                       view.set({
+                               cancel: {
+                                       text:     l10n.imageDetailsCancel,
+                                       priority: 20,
+                                       click:    function() {
+                                               if ( previous ) {
+                                                       frame.setState( previous );
+                                               } else {
+                                                       frame.close();
+                                               }
+                                       }
+                               },
+                               separateCancel: new media.View({
+                                       className: 'separator',
+                                       priority: 40
+                               })
+                       });
 
-               mainEmbedToolbar: function( toolbar ) {
-                       toolbar.view = new media.view.Toolbar.Embed({
-                               controller: this
-                       });
                },
 
-               galleryEditToolbar: function() {
-                       var editing = this.state().get('editing');
+               renderImageDetailsToolbar: function() {
                        this.toolbar.set( new media.view.Toolbar({
                                controller: this,
                                items: {
-                                       insert: {
+                                       select: {
                                                style:    'primary',
-                                               text:     editing ? l10n.updateGallery : l10n.insertGallery,
+                                               text:     l10n.update,
                                                priority: 80,
-                                               requires: { library: true },
 
                                                click: function() {
                                                        var controller = this.controller,
                                                                state = controller.state();
 
                                                        controller.close();
-                                                       state.trigger( 'update', state.get('library') );
+
+                                                       // not sure if we want to use wp.media.string.image which will create a shortcode or
+                                                       // perhaps wp.html.string to at least to build the <img />
+                                                       state.trigger( 'update', controller.image.toJSON() );
 
                                                        // Restore and reset the default state.
                                                        controller.setState( controller.options.state );
                        }) );
                },
 
-               galleryAddToolbar: function() {
+               renderReplaceImageToolbar: function() {
+                       var frame = this,
+                               lastState = frame.lastState(),
+                               previous = lastState && lastState.id;
+
                        this.toolbar.set( new media.view.Toolbar({
                                controller: this,
                                items: {
-                                       insert: {
+                                       back: {
+                                               text:     l10n.back,
+                                               priority: 20,
+                                               click:    function() {
+                                                       if ( previous ) {
+                                                               frame.setState( previous );
+                                                       } else {
+                                                               frame.close();
+                                                       }
+                                               }
+                                       },
+
+                                       replace: {
                                                style:    'primary',
-                                               text:     l10n.addToGallery,
+                                               text:     l10n.replace,
                                                priority: 80,
-                                               requires: { selection: true },
 
                                                click: function() {
                                                        var controller = this.controller,
                                                                state = controller.state(),
-                                                               edit = controller.state('gallery-edit');
+                                                               selection = state.get( 'selection' ),
+                                                               attachment = selection.single();
 
-                                                       edit.get('library').add( state.get('selection').models );
-                                                       state.trigger('reset');
-                                                       controller.setState('gallery-edit');
+                                                       controller.close();
+
+                                                       controller.image.changeAttachment( attachment, state.display( attachment ) );
+
+                                                       // not sure if we want to use wp.media.string.image which will create a shortcode or
+                                                       // perhaps wp.html.string to at least to build the <img />
+                                                       state.trigger( 'replace', controller.image.toJSON() );
+
+                                                       // Restore and reset the default state.
+                                                       controller.setState( controller.options.state );
+                                                       controller.reset();
                                                }
                                        }
                                }
                        }) );
                }
+
        });
 
        /**
         * wp.media.view.Modal
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Modal = media.View.extend({
                tagName:  'div',
                                freeze:    true
                        });
                },
-
+               /**
+                * @returns {Object}
+                */
                prepare: function() {
                        return {
                                title: this.options.title
                        };
                },
 
+               /**
+                * @returns {wp.media.view.Modal} Returns itself to allow chaining
+                */
                attach: function() {
-                       if ( this.views.attached )
+                       if ( this.views.attached ) {
                                return this;
+                       }
 
-                       if ( ! this.views.rendered )
+                       if ( ! this.views.rendered ) {
                                this.render();
+                       }
 
                        this.$el.appendTo( this.options.container );
 
                        return this.propagate('attach');
                },
 
+               /**
+                * @returns {wp.media.view.Modal} Returns itself to allow chaining
+                */
                detach: function() {
-                       if ( this.$el.is(':visible') )
+                       if ( this.$el.is(':visible') ) {
                                this.close();
+                       }
 
                        this.$el.detach();
                        this.views.attached = false;
                        return this.propagate('detach');
                },
 
+               /**
+                * @returns {wp.media.view.Modal} Returns itself to allow chaining
+                */
                open: function() {
                        var $el = this.$el,
                                options = this.options;
 
-                       if ( $el.is(':visible') )
+                       if ( $el.is(':visible') ) {
                                return this;
+                       }
 
-                       if ( ! this.views.attached )
+                       if ( ! this.views.attached ) {
                                this.attach();
+                       }
 
                        // If the `freeze` option is set, record the window's scroll position.
                        if ( options.freeze ) {
                        return this.propagate('open');
                },
 
+               /**
+                * @param {Object} options
+                * @returns {wp.media.view.Modal} Returns itself to allow chaining
+                */
                close: function( options ) {
                        var freeze = this._freeze;
 
-                       if ( ! this.views.attached || ! this.$el.is(':visible') )
+                       if ( ! this.views.attached || ! this.$el.is(':visible') ) {
                                return this;
+                       }
 
                        this.$el.hide();
                        this.propagate('close');
                                $( window ).scrollTop( freeze.scrollTop );
                        }
 
-                       if ( options && options.escape )
+                       if ( options && options.escape ) {
                                this.propagate('escape');
+                       }
 
                        return this;
                },
-
+               /**
+                * @returns {wp.media.view.Modal} Returns itself to allow chaining
+                */
                escape: function() {
                        return this.close({ escape: true });
                },
-
+               /**
+                * @param {Object} event
+                */
                escapeHandler: function( event ) {
                        event.preventDefault();
                        this.escape();
                },
 
+               /**
+                * @param {Array|Object} content Views to register to '.media-modal-content'
+                * @returns {wp.media.view.Modal} Returns itself to allow chaining
+                */
                content: function( content ) {
                        this.views.set( '.media-modal-content', content );
                        return this;
                },
 
-               // Triggers a modal event and if the `propagate` option is set,
-               // forwards events to the modal's controller.
+               /**
+                * Triggers a modal event and if the `propagate` option is set,
+                * forwards events to the modal's controller.
+                *
+                * @param {string} id
+                * @returns {wp.media.view.Modal} Returns itself to allow chaining
+                */
                propagate: function( id ) {
                        this.trigger( id );
 
-                       if ( this.options.propagate )
+                       if ( this.options.propagate ) {
                                this.controller.trigger( id );
+                       }
 
                        return this;
                },
-
+               /**
+                * @param {Object} event
+                */
                keydown: function( event ) {
                        // Close the modal when escape is pressed.
-                       if ( 27 === event.which ) {
-                               event.preventDefault();
+                       if ( 27 === event.which && this.$el.is(':visible') ) {
                                this.escape();
-                               return;
+                               event.stopImmediatePropagation();
                        }
                }
        });
 
-       // wp.media.view.FocusManager
-       // ----------------------------
+       /**
+        * wp.media.view.FocusManager
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
        media.view.FocusManager = media.View.extend({
                events: {
                        keydown: 'recordTab',
                },
 
                focus: function() {
-                       if ( _.isUndefined( this.index ) )
+                       if ( _.isUndefined( this.index ) ) {
                                return;
+                       }
 
                        // Update our collection of `$tabbables`.
                        this.$tabbables = this.$(':tabbable');
                        // If tab is saved, focus it.
                        this.$tabbables.eq( this.index ).focus();
                },
-
+               /**
+                * @param {Object} event
+                */
                recordTab: function( event ) {
                        // Look for the tab key.
-                       if ( 9 !== event.keyCode )
+                       if ( 9 !== event.keyCode ) {
                                return;
+                       }
 
                        // First try to update the index.
-                       if ( _.isUndefined( this.index ) )
+                       if ( _.isUndefined( this.index ) ) {
                                this.updateIndex( event );
+                       }
 
                        // If we still don't have an index, bail.
-                       if ( _.isUndefined( this.index ) )
+                       if ( _.isUndefined( this.index ) ) {
                                return;
+                       }
 
                        var index = this.index + ( event.shiftKey ? -1 : 1 );
 
-                       if ( index >= 0 && index < this.$tabbables.length )
+                       if ( index >= 0 && index < this.$tabbables.length ) {
                                this.index = index;
-                       else
+                       } else {
                                delete this.index;
+                       }
                },
-
+               /**
+                * @param {Object} event
+                */
                updateIndex: function( event ) {
                        this.$tabbables = this.$(':tabbable');
 
                        var index = this.$tabbables.index( event.target );
 
-                       if ( -1 === index )
+                       if ( -1 === index ) {
                                delete this.index;
-                       else
+                       } else {
                                this.index = index;
+                       }
                }
        });
 
-       // wp.media.view.UploaderWindow
-       // ----------------------------
+       /**
+        * wp.media.view.UploaderWindow
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
        media.view.UploaderWindow = media.View.extend({
                tagName:   'div',
                className: 'uploader-window',
                        });
 
                        // Ensure the dropzone is a jQuery collection.
-                       if ( uploader.dropzone && ! (uploader.dropzone instanceof $) )
+                       if ( uploader.dropzone && ! (uploader.dropzone instanceof $) ) {
                                uploader.dropzone = $( uploader.dropzone );
+                       }
 
                        this.controller.on( 'activate', this.refresh, this );
+
+                       this.controller.on( 'detach', function() {
+                               this.$browser.remove();
+                       }, this );
                },
 
                refresh: function() {
-                       if ( this.uploader )
+                       if ( this.uploader ) {
                                this.uploader.refresh();
+                       }
                },
 
                ready: function() {
                                dropzone;
 
                        // If the uploader already exists, bail.
-                       if ( this.uploader )
+                       if ( this.uploader ) {
                                return;
+                       }
 
-                       if ( postId )
+                       if ( postId ) {
                                this.options.uploader.params.post_id = postId;
-
+                       }
                        this.uploader = new wp.Uploader( this.options.uploader );
 
                        dropzone = this.uploader.dropzone;
                        dropzone.on( 'dropzone:enter', _.bind( this.show, this ) );
                        dropzone.on( 'dropzone:leave', _.bind( this.hide, this ) );
+
+                       $( this.uploader ).on( 'uploader:ready', _.bind( this._ready, this ) );
+               },
+
+               _ready: function() {
+                       this.controller.trigger( 'uploader:ready' );
                },
 
                show: function() {
                        media.transition( $el ).done( function() {
                                // Transition end events are subject to race conditions.
                                // Make sure that the value is set as intended.
-                               if ( '0' === $el.css('opacity') )
+                               if ( '0' === $el.css('opacity') ) {
                                        $el.hide();
+                               }
+                       });
+               }
+       });
+
+       /**
+        * wp.media.view.EditorUploader
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
+       media.view.EditorUploader = media.View.extend({
+               tagName:   'div',
+               className: 'uploader-editor',
+               template:  media.template( 'uploader-editor' ),
+
+               localDrag: false,
+               overContainer: false,
+               overDropzone: false,
+
+               initialize: function() {
+                       var self = this;
+
+                       this.initialized = false;
+
+                       // Bail if not enabled or UA does not support drag'n'drop or File API.
+                       if ( ! window.tinyMCEPreInit || ! window.tinyMCEPreInit.dragDropUpload || ! this.browserSupport() ) {
+                               return this;
+                       }
+
+                       this.$document = $(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', function( event ) {
+                               self.localDrag = event.type === 'dragstart';
                        });
+
+                       this.initialized = true;
+                       return this;
+               },
+
+               browserSupport: function() {
+                       var supports = false, div = document.createElement('div');
+
+                       supports = ( 'draggable' in div ) || ( 'ondragstart' in div && 'ondrop' in div );
+                       supports = supports && !! ( window.File && window.FileList && window.FileReader );
+                       return supports;
+               },
+
+               refresh: function( e ) {
+                       var dropzone_id;
+                       for ( dropzone_id in this.dropzones ) {
+                               // Hide the dropzones only if dragging has left the screen.
+                               this.dropzones[ dropzone_id ].toggle( this.overContainer || this.overDropzone );
+                       }
+
+                       if ( ! _.isUndefined( e ) ) {
+                               $( e.target ).closest( '.uploader-editor' ).toggleClass( 'droppable', this.overDropzone );
+                       }
+
+                       return this;
+               },
+
+               render: function() {
+                       if ( ! this.initialized ) {
+                               return this;
+                       }
+
+                       media.View.prototype.render.apply( this, arguments );
+                       $( '.wp-editor-wrap, #wp-fullscreen-body' ).each( _.bind( this.attach, this ) );
+                       return this;
+               },
+
+               attach: function( index, editor ) {
+                       // Attach a dropzone to an editor.
+                       var dropzone = this.$el.clone();
+                       this.dropzones.push( dropzone );
+                       $( editor ).append( dropzone );
+                       return this;
+               },
+
+               drop: function( event ) {
+                       var $wrap = null;
+
+                       this.containerDragleave( event );
+                       this.dropzoneDragleave( event );
+
+                       this.files = event.originalEvent.dataTransfer.files;
+                       if ( this.files.length < 1 ) {
+                               return;
+                       }
+
+                       // Set the active editor to the drop target.
+                       $wrap = $( event.target ).parents( '.wp-editor-wrap' );
+                       if ( $wrap.length > 0 && $wrap[0].id ) {
+                               window.wpActiveEditor = $wrap[0].id.slice( 3, -5 );
+                       }
+
+                       if ( ! this.workflow ) {
+                               this.workflow = wp.media.editor.open( 'content', {
+                                       frame:    'post',
+                                       state:    'insert',
+                                       title:    wp.media.view.l10n.addMedia,
+                                       multiple: true
+                               });
+                               this.workflow.on( 'uploader:ready', this.addFiles, this );
+                       } else {
+                               this.workflow.state().reset();
+                               this.addFiles.apply( this );
+                               this.workflow.open();
+                       }
+
+                       return false;
+               },
+
+               addFiles: function() {
+                       if ( this.files.length ) {
+                               this.workflow.uploader.uploader.uploader.addFile( _.toArray( this.files ) );
+                               this.files = [];
+                       }
+                       return this;
+               },
+
+               containerDragover: function() {
+                       if ( this.localDrag ) {
+                               return;
+                       }
+
+                       this.overContainer = true;
+                       this.refresh();
+               },
+
+               containerDragleave: function() {
+                       this.overContainer = false;
+
+                       // Throttle dragleave because it's called when bouncing from some elements to others.
+                       _.delay( _.bind( this.refresh, this ), 50 );
+               },
+
+               dropzoneDragover: function( e ) {
+                       if ( this.localDrag ) {
+                               return;
+                       }
+
+                       this.overDropzone = true;
+                       this.refresh( e );
+                       return false;
+               },
+
+               dropzoneDragleave: function( e ) {
+                       this.overDropzone = false;
+                       _.delay( _.bind( this.refresh, this, e ), 50 );
+               },
+
+               click: function( e ) {
+                       // In the rare case where the dropzone gets stuck, hide it on click.
+                       this.containerDragleave( e );
+                       this.dropzoneDragleave( e );
+                       this.localDrag = false;
                }
        });
 
+       /**
+        * wp.media.view.UploaderInline
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
        media.view.UploaderInline = media.View.extend({
                tagName:   'div',
                className: 'uploader-inline',
                                status:  true
                        });
 
-                       if ( ! this.options.$browser && this.controller.uploader )
+                       if ( ! this.options.$browser && this.controller.uploader ) {
                                this.options.$browser = this.controller.uploader.$browser;
+                       }
 
-                       if ( _.isUndefined( this.options.postId ) )
+                       if ( _.isUndefined( this.options.postId ) ) {
                                this.options.postId = media.view.settings.post.id;
+                       }
 
                        if ( this.options.status ) {
                                this.views.set( '.upload-inline-status', new media.view.UploaderStatus({
                        }
                },
 
+               prepare: function() {
+                       var suggestedWidth = this.controller.state().get('suggestedWidth'),
+                               suggestedHeight = this.controller.state().get('suggestedHeight');
+
+                       if ( suggestedWidth && suggestedHeight ) {
+                               return {
+                                       suggestedWidth: suggestedWidth,
+                                       suggestedHeight: suggestedHeight
+                               };
+                       }
+               },
+               /**
+                * @returns {wp.media.view.UploaderInline} Returns itself to allow chaining
+                */
                dispose: function() {
-                       if ( this.disposing )
+                       if ( this.disposing ) {
+                               /**
+                                * call 'dispose' directly on the parent class
+                                */
                                return media.View.prototype.dispose.apply( this, arguments );
+                       }
 
                        // Run remove on `dispose`, so we can be sure to refresh the
                        // uploader with a view-less DOM. Track whether we're disposing
                        this.disposing = true;
                        return this.remove();
                },
-
+               /**
+                * @returns {wp.media.view.UploaderInline} Returns itself to allow chaining
+                */
                remove: function() {
+                       /**
+                        * call 'remove' directly on the parent class
+                        */
                        var result = media.View.prototype.remove.apply( this, arguments );
 
                        _.defer( _.bind( this.refresh, this ) );
                refresh: function() {
                        var uploader = this.controller.uploader;
 
-                       if ( uploader )
+                       if ( uploader ) {
                                uploader.refresh();
+                       }
                },
-
+               /**
+                * @returns {wp.media.view.UploaderInline}
+                */
                ready: function() {
                        var $browser = this.options.$browser,
                                $placeholder;
                                $placeholder = this.$('.browser');
 
                                // Check if we've already replaced the placeholder.
-                               if ( $placeholder[0] === $browser[0] )
+                               if ( $placeholder[0] === $browser[0] ) {
                                        return;
+                               }
 
                                $browser.detach().text( $placeholder.text() );
                                $browser[0].className = $placeholder[0].className;
 
        /**
         * wp.media.view.UploaderStatus
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.UploaderStatus = media.View.extend({
                className: 'media-uploader-status',
                        this.errors.on( 'add remove reset', this.visibility, this );
                        this.errors.on( 'add', this.error, this );
                },
-
+               /**
+                * @global wp.Uploader
+                * @returns {wp.media.view.UploaderStatus}
+                */
                dispose: function() {
                        wp.Uploader.queue.off( null, null, this );
+                       /**
+                        * call 'dispose' directly on the parent class
+                        */
                        media.View.prototype.dispose.apply( this, arguments );
                        return this;
                },
                        var queue = this.queue,
                                $bar = this.$bar;
 
-                       if ( ! $bar || ! queue.length )
+                       if ( ! $bar || ! queue.length ) {
                                return;
+                       }
 
                        $bar.width( ( queue.reduce( function( memo, attachment ) {
-                               if ( ! attachment.get('uploading') )
+                               if ( ! attachment.get('uploading') ) {
                                        return memo + 100;
+                               }
 
                                var percent = attachment.get('percent');
                                return memo + ( _.isNumber( percent ) ? percent : 100 );
                        var queue = this.queue,
                                index = 0, active;
 
-                       if ( ! queue.length )
+                       if ( ! queue.length ) {
                                return;
+                       }
 
                        active = this.queue.find( function( attachment, i ) {
                                index = i;
                        this.$total.text( queue.length );
                        this.$filename.html( active ? this.filename( active.get('filename') ) : '' );
                },
-
+               /**
+                * @param {string} filename
+                * @returns {string}
+                */
                filename: function( filename ) {
                        return media.truncate( _.escape( filename ), 24 );
                },
-
+               /**
+                * @param {Backbone.Model} error
+                */
                error: function( error ) {
                        this.views.add( '.upload-errors', new media.view.UploaderStatusError({
                                filename: this.filename( error.get('file').name ),
                        }), { at: 0 });
                },
 
+               /**
+                * @global wp.Uploader
+                *
+                * @param {Object} event
+                */
                dismiss: function( event ) {
                        var errors = this.views.get('.upload-errors');
 
                        event.preventDefault();
 
-                       if ( errors )
+                       if ( errors ) {
                                _.invoke( errors, 'remove' );
+                       }
                        wp.Uploader.errors.reset();
                }
        });
 
+       /**
+        * wp.media.view.UploaderStatusError
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
        media.view.UploaderStatusError = media.View.extend({
                className: 'upload-error',
                template:  media.template('uploader-status-error')
 
        /**
         * wp.media.view.Toolbar
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Toolbar = media.View.extend({
                tagName:   'div',
 
                        this.views.set([ this.secondary, this.primary ]);
 
-                       if ( this.options.items )
+                       if ( this.options.items ) {
                                this.set( this.options.items, { silent: true });
+                       }
 
-                       if ( ! this.options.silent )
+                       if ( ! this.options.silent ) {
                                this.render();
+                       }
 
-                       if ( selection )
+                       if ( selection ) {
                                selection.on( 'add remove reset', this.refresh, this );
-                       if ( library )
+                       }
+
+                       if ( library ) {
                                library.on( 'add remove reset', this.refresh, this );
+                       }
                },
-
+               /**
+                * @returns {wp.media.view.Toolbar} Returns itsef to allow chaining
+                */
                dispose: function() {
-                       if ( this.selection )
+                       if ( this.selection ) {
                                this.selection.off( null, null, this );
-                       if ( this.library )
+                       }
+
+                       if ( this.library ) {
                                this.library.off( null, null, this );
+                       }
+                       /**
+                        * call 'dispose' directly on the parent class
+                        */
                        return media.View.prototype.dispose.apply( this, arguments );
                },
 
                        this.refresh();
                },
 
+               /**
+                * @param {string} id
+                * @param {Backbone.View|Object} view
+                * @param {Object} [options={}]
+                * @returns {wp.media.view.Toolbar} Returns itself to allow chaining
+                */
                set: function( id, view, options ) {
                        var list;
                        options = options || {};
                                this[ list ].set( id, view, options );
                        }
 
-                       if ( ! options.silent )
+                       if ( ! options.silent ) {
                                this.refresh();
+                       }
 
                        return this;
                },
-
+               /**
+                * @param {string} id
+                * @returns {wp.media.view.Button}
+                */
                get: function( id ) {
                        return this._views[ id ];
                },
-
+               /**
+                * @param {string} id
+                * @param {Object} options
+                * @returns {wp.media.view.Toolbar} Returns itself to allow chaining
+                */
                unset: function( id, options ) {
                        delete this._views[ id ];
                        this.primary.unset( id, options );
                        this.secondary.unset( id, options );
 
-                       if ( ! options || ! options.silent )
+                       if ( ! options || ! options.silent ) {
                                this.refresh();
+                       }
                        return this;
                },
 
                                selection = state.get('selection');
 
                        _.each( this._views, function( button ) {
-                               if ( ! button.model || ! button.options || ! button.options.requires )
+                               if ( ! button.model || ! button.options || ! button.options.requires ) {
                                        return;
+                               }
 
                                var requires = button.options.requires,
                                        disabled = false;
                                        return attachment.get('uploading') === true;
                                });
 
-                               if ( requires.selection && selection && ! selection.length )
+                               if ( requires.selection && selection && ! selection.length ) {
                                        disabled = true;
-                               else if ( requires.library && library && ! library.length )
+                               } else if ( requires.library && library && ! library.length ) {
                                        disabled = true;
-
+                               }
                                button.model.set( 'disabled', disabled );
                        });
                }
        });
 
-       // wp.media.view.Toolbar.Select
-       // ----------------------------
+       /**
+        * wp.media.view.Toolbar.Select
+        *
+        * @constructor
+        * @augments wp.media.view.Toolbar
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
        media.view.Toolbar.Select = media.view.Toolbar.extend({
                initialize: function() {
                        var options = this.options;
                                        requires: options.requires
                                }
                        });
-
+                       /**
+                        * call 'initialize' directly on the parent class
+                        */
                        media.view.Toolbar.prototype.initialize.apply( this, arguments );
                },
 
                        var options = this.options,
                                controller = this.controller;
 
-                       if ( options.close )
+                       if ( options.close ) {
                                controller.close();
+                       }
 
-                       if ( options.event )
+                       if ( options.event ) {
                                controller.state().trigger( options.event );
+                       }
 
-                       if ( options.state )
+                       if ( options.state ) {
                                controller.setState( options.state );
+                       }
 
-                       if ( options.reset )
+                       if ( options.reset ) {
                                controller.reset();
+                       }
                }
        });
 
-       // wp.media.view.Toolbar.Embed
-       // ---------------------------
+       /**
+        * wp.media.view.Toolbar.Embed
+        *
+        * @constructor
+        * @augments wp.media.view.Toolbar.Select
+        * @augments wp.media.view.Toolbar
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
        media.view.Toolbar.Embed = media.view.Toolbar.Select.extend({
                initialize: function() {
                        _.defaults( this.options, {
                                text: l10n.insertIntoPost,
                                requires: false
                        });
-
+                       /**
+                        * call 'initialize' directly on the parent class
+                        */
                        media.view.Toolbar.Select.prototype.initialize.apply( this, arguments );
                },
 
                refresh: function() {
                        var url = this.controller.state().props.get('url');
                        this.get('select').model.set( 'disabled', ! url || url === 'http://' );
-
+                       /**
+                        * call 'refresh' directly on the parent class
+                        */
                        media.view.Toolbar.Select.prototype.refresh.apply( this, arguments );
                }
        });
 
        /**
         * wp.media.view.Button
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Button = media.View.extend({
                tagName:    'a',
                },
 
                initialize: function() {
-                       // Create a model with the provided `defaults`.
+                       /**
+                        * Create a model with the provided `defaults`.
+                        *
+                        * @member {Backbone.Model}
+                        */
                        this.model = new Backbone.Model( this.defaults );
 
                        // If any of the `options` have a key from `defaults`, apply its
                        // value to the `model` and remove it from the `options object.
                        _.each( this.defaults, function( def, key ) {
                                var value = this.options[ key ];
-                               if ( _.isUndefined( value ) )
+                               if ( _.isUndefined( value ) ) {
                                        return;
+                               }
 
                                this.model.set( key, value );
                                delete this.options[ key ];
 
                        this.model.on( 'change', this.render, this );
                },
-
+               /**
+                * @returns {wp.media.view.Button} Returns itself to allow chaining
+                */
                render: function() {
                        var classes = [ 'button', this.className ],
                                model = this.model.toJSON();
 
-                       if ( model.style )
+                       if ( model.style ) {
                                classes.push( 'button-' + model.style );
+                       }
 
-                       if ( model.size )
+                       if ( model.size ) {
                                classes.push( 'button-' + model.size );
+                       }
 
                        classes = _.uniq( classes.concat( this.options.classes ) );
                        this.el.className = classes.join(' ');
 
                        return this;
                },
-
+               /**
+                * @param {Object} event
+                */
                click: function( event ) {
-                       if ( '#' === this.attributes.href )
+                       if ( '#' === this.attributes.href ) {
                                event.preventDefault();
+                       }
 
-                       if ( this.options.click && ! this.model.get('disabled') )
+                       if ( this.options.click && ! this.model.get('disabled') ) {
                                this.options.click.apply( this, arguments );
+                       }
                }
        });
 
        /**
         * wp.media.view.ButtonGroup
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.ButtonGroup = media.View.extend({
                tagName:   'div',
                className: 'button-group button-large media-button-group',
 
                initialize: function() {
+                       /**
+                        * @member {wp.media.view.Button[]}
+                        */
                        this.buttons = _.map( this.options.buttons || [], function( button ) {
-                               if ( button instanceof Backbone.View )
+                               if ( button instanceof Backbone.View ) {
                                        return button;
-                               else
+                               } else {
                                        return new media.view.Button( button ).render();
+                               }
                        });
 
                        delete this.options.buttons;
 
-                       if ( this.options.classes )
+                       if ( this.options.classes ) {
                                this.$el.addClass( this.options.classes );
+                       }
                },
 
+               /**
+                * @returns {wp.media.view.ButtonGroup}
+                */
                render: function() {
                        this.$el.html( $( _.pluck( this.buttons, 'el' ) ).detach() );
                        return this;
 
        /**
         * wp.media.view.PriorityList
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
-
        media.view.PriorityList = media.View.extend({
                tagName:   'div',
 
                        this.set( _.extend( {}, this._views, this.options.views ), { silent: true });
                        delete this.options.views;
 
-                       if ( ! this.options.silent )
+                       if ( ! this.options.silent ) {
                                this.render();
+                       }
                },
-
+               /**
+                * @param {string} id
+                * @param {wp.media.View|Object} view
+                * @param {Object} options
+                * @returns {wp.media.view.PriorityList} Returns itself to allow chaining
+                */
                set: function( id, view, options ) {
                        var priority, views, index;
 
                                return this;
                        }
 
-                       if ( ! (view instanceof Backbone.View) )
+                       if ( ! (view instanceof Backbone.View) ) {
                                view = this.toView( view, id, options );
-
+                       }
                        view.controller = view.controller || this.controller;
 
                        this.unset( id );
 
                        return this;
                },
-
+               /**
+                * @param {string} id
+                * @returns {wp.media.View}
+                */
                get: function( id ) {
                        return this._views[ id ];
                },
-
+               /**
+                * @param {string} id
+                * @returns {wp.media.view.PriorityList}
+                */
                unset: function( id ) {
                        var view = this.get( id );
 
-                       if ( view )
+                       if ( view ) {
                                view.remove();
+                       }
 
                        delete this._views[ id ];
                        return this;
                },
-
+               /**
+                * @param {Object} options
+                * @returns {wp.media.View}
+                */
                toView: function( options ) {
                        return new media.View( options );
                }
 
        /**
         * wp.media.view.MenuItem
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.MenuItem = media.View.extend({
                tagName:   'a',
                events: {
                        'click': '_click'
                },
-
+               /**
+                * @param {Object} event
+                */
                _click: function( event ) {
                        var clickOverride = this.options.click;
 
-                       if ( event )
+                       if ( event ) {
                                event.preventDefault();
+                       }
 
-                       if ( clickOverride )
+                       if ( clickOverride ) {
                                clickOverride.call( this );
-                       else
+                       } else {
                                this.click();
+                       }
                },
 
                click: function() {
                        var state = this.options.state;
-                       if ( state )
+                       if ( state ) {
                                this.controller.setState( state );
+                       }
                },
-
+               /**
+                * @returns {wp.media.view.MenuItem} returns itself to allow chaining
+                */
                render: function() {
                        var options = this.options;
 
-                       if ( options.text )
+                       if ( options.text ) {
                                this.$el.text( options.text );
-                       else if ( options.html )
+                       } else if ( options.html ) {
                                this.$el.html( options.html );
+                       }
 
                        return this;
                }
 
        /**
         * wp.media.view.Menu
+        *
+        * @constructor
+        * @augments wp.media.view.PriorityList
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Menu = media.view.PriorityList.extend({
                tagName:   'div',
                property:  'state',
                ItemView:  media.view.MenuItem,
                region:    'menu',
-
+               /**
+                * @param {Object} options
+                * @param {string} id
+                * @returns {wp.media.View}
+                */
                toView: function( options, id ) {
                        options = options || {};
                        options[ this.property ] = options[ this.property ] || id;
                },
 
                ready: function() {
+                       /**
+                        * call 'ready' directly on the parent class
+                        */
                        media.view.PriorityList.prototype.ready.apply( this, arguments );
                        this.visibility();
                },
 
                set: function() {
+                       /**
+                        * call 'set' directly on the parent class
+                        */
                        media.view.PriorityList.prototype.set.apply( this, arguments );
                        this.visibility();
                },
 
                unset: function() {
+                       /**
+                        * call 'unset' directly on the parent class
+                        */
                        media.view.PriorityList.prototype.unset.apply( this, arguments );
                        this.visibility();
                },
                                views = this.views.get(),
                                hide = ! views || views.length < 2;
 
-                       if ( this === view )
+                       if ( this === view ) {
                                this.controller.$el.toggleClass( 'hide-' + region, hide );
+                       }
                },
-
+               /**
+                * @param {string} id
+                */
                select: function( id ) {
                        var view = this.get( id );
 
-                       if ( ! view )
+                       if ( ! view ) {
                                return;
+                       }
 
                        this.deselect();
                        view.$el.addClass('active');
 
                deselect: function() {
                        this.$el.children().removeClass('active');
+               },
+
+               hide: function( id ) {
+                       var view = this.get( id );
+
+                       if ( ! view ) {
+                               return;
+                       }
+
+                       view.$el.addClass('hidden');
+               },
+
+               show: function( id ) {
+                       var view = this.get( id );
+
+                       if ( ! view ) {
+                               return;
+                       }
+
+                       view.$el.removeClass('hidden');
                }
        });
 
        /**
         * wp.media.view.RouterItem
+        *
+        * @constructor
+        * @augments wp.media.view.MenuItem
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.RouterItem = media.view.MenuItem.extend({
                click: function() {
                        var contentMode = this.options.contentMode;
-                       if ( contentMode )
+                       if ( contentMode ) {
                                this.controller.content.mode( contentMode );
+                       }
                }
        });
 
        /**
         * wp.media.view.Router
+        *
+        * @constructor
+        * @augments wp.media.view.Menu
+        * @augments wp.media.view.PriorityList
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Router = media.view.Menu.extend({
                tagName:   'div',
 
                initialize: function() {
                        this.controller.on( 'content:render', this.update, this );
+                       /**
+                        * call 'initialize' directly on the parent class
+                        */
                        media.view.Menu.prototype.initialize.apply( this, arguments );
                },
 
                update: function() {
                        var mode = this.controller.content.mode();
-                       if ( mode )
+                       if ( mode ) {
                                this.select( mode );
+                       }
                }
        });
 
-
        /**
         * wp.media.view.Sidebar
+        *
+        * @constructor
+        * @augments wp.media.view.PriorityList
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Sidebar = media.view.PriorityList.extend({
                className: 'media-sidebar'
 
        /**
         * wp.media.view.Attachment
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Attachment = media.View.extend({
                tagName:   'li',
                        // Update the selection.
                        this.model.on( 'add', this.select, this );
                        this.model.on( 'remove', this.deselect, this );
-                       if ( selection )
+                       if ( selection ) {
                                selection.on( 'reset', this.updateSelect, this );
+                       }
 
                        // Update the model's details view.
                        this.model.on( 'selection:single selection:unsingle', this.details, this );
                        this.details( this.model, this.controller.state().get('selection') );
                },
-
+               /**
+                * @returns {wp.media.view.Attachment} Returns itself to allow chaining
+                */
                dispose: function() {
                        var selection = this.options.selection;
 
                        // Make sure all settings are saved before removing the view.
                        this.updateAll();
 
-                       if ( selection )
+                       if ( selection ) {
                                selection.off( null, null, this );
-
+                       }
+                       /**
+                        * call 'dispose' directly on the parent class
+                        */
                        media.View.prototype.dispose.apply( this, arguments );
                        return this;
                },
-
+               /**
+                * @returns {wp.media.view.Attachment} Returns itself to allow chaining
+                */
                render: function() {
                        var options = _.defaults( this.model.toJSON(), {
                                        orientation:   'landscape',
                        options.buttons  = this.buttons;
                        options.describe = this.controller.state().get('describe');
 
-                       if ( 'image' === options.type )
+                       if ( 'image' === options.type ) {
                                options.size = this.imageSize();
+                       }
 
                        options.can = {};
                        if ( options.nonces ) {
                                options.can.save = !! options.nonces.update;
                        }
 
-                       if ( this.controller.state().get('allowLocalEdits') )
+                       if ( this.controller.state().get('allowLocalEdits') ) {
                                options.allowLocalEdits = true;
+                       }
 
                        this.views.detach();
                        this.$el.html( this.template( options ) );
 
                        this.$el.toggleClass( 'uploading', options.uploading );
-                       if ( options.uploading )
+                       if ( options.uploading ) {
                                this.$bar = this.$('.media-progress-bar div');
-                       else
+                       } else {
                                delete this.$bar;
+                       }
 
                        // Check if the model is selected.
                        this.updateSelect();
                },
 
                progress: function() {
-                       if ( this.$bar && this.$bar.length )
+                       if ( this.$bar && this.$bar.length ) {
                                this.$bar.width( this.model.get('percent') + '%' );
+                       }
                },
-
+               /**
+                * @param {Object} event
+                */
                toggleSelectionHandler: function( event ) {
                        var method;
 
-                       if ( event.shiftKey )
+                       if ( event.shiftKey ) {
                                method = 'between';
-                       else if ( event.ctrlKey || event.metaKey )
+                       } else if ( event.ctrlKey || event.metaKey ) {
                                method = 'toggle';
+                       }
 
                        this.toggleSelection({
                                method: method
                        });
                },
-
+               /**
+                * @param {Object} options
+                */
                toggleSelection: function( options ) {
                        var collection = this.collection,
                                selection = this.options.selection,
                                method = options && options.method,
                                single, models, singleIndex, modelIndex;
 
-                       if ( ! selection )
+                       if ( ! selection ) {
                                return;
+                       }
 
                        single = selection.single();
                        method = _.isUndefined( method ) ? selection.multiple : method;
                        // exist between the current and the selected model.
                        if ( 'between' === method && single && selection.multiple ) {
                                // If the models are the same, short-circuit.
-                               if ( single === model )
+                               if ( single === model ) {
                                        return;
+                               }
 
                                singleIndex = collection.indexOf( single );
                                modelIndex  = collection.indexOf( this.model );
 
-                               if ( singleIndex < modelIndex )
+                               if ( singleIndex < modelIndex ) {
                                        models = collection.models.slice( singleIndex, modelIndex + 1 );
-                               else
+                               } else {
                                        models = collection.models.slice( modelIndex, singleIndex + 1 );
+                               }
 
-                               selection.add( models ).single( model );
+                               selection.add( models );
+                               selection.single( model );
                                return;
 
                        // If the `method` is set to `toggle`, just flip the selection
                        // status, regardless of whether the model is the single model.
                        } else if ( 'toggle' === method ) {
-                               selection[ this.selected() ? 'remove' : 'add' ]( model ).single( model );
+                               selection[ this.selected() ? 'remove' : 'add' ]( model );
+                               selection.single( model );
                                return;
                        }
 
-                       if ( method !== 'add' )
+                       if ( method !== 'add' ) {
                                method = 'reset';
+                       }
 
                        if ( this.selected() ) {
                                // If the model is the single model, remove it.
                                // If the model is not selected, run the `method` on the
                                // selection. By default, we `reset` the selection, but the
                                // `method` can be set to `add` the model to the selection.
-                               selection[ method ]( model ).single( model );
+                               selection[ method ]( model );
+                               selection.single( model );
                        }
                },
 
                updateSelect: function() {
                        this[ this.selected() ? 'select' : 'deselect' ]();
                },
-
+               /**
+                * @returns {unresolved|Boolean}
+                */
                selected: function() {
                        var selection = this.options.selection;
-                       if ( selection )
+                       if ( selection ) {
                                return !! selection.get( this.model.cid );
+                       }
                },
-
+               /**
+                * @param {Backbone.Model} model
+                * @param {Backbone.Collection} collection
+                */
                select: function( model, collection ) {
                        var selection = this.options.selection;
 
                        // Check if a selection exists and if it's the collection provided.
                        // If they're not the same collection, bail; we're in another
                        // selection's event loop.
-                       if ( ! selection || ( collection && collection !== selection ) )
+                       if ( ! selection || ( collection && collection !== selection ) ) {
                                return;
+                       }
 
                        this.$el.addClass('selected');
                },
-
+               /**
+                * @param {Backbone.Model} model
+                * @param {Backbone.Collection} collection
+                */
                deselect: function( model, collection ) {
                        var selection = this.options.selection;
 
                        // Check if a selection exists and if it's the collection provided.
                        // If they're not the same collection, bail; we're in another
                        // selection's event loop.
-                       if ( ! selection || ( collection && collection !== selection ) )
+                       if ( ! selection || ( collection && collection !== selection ) ) {
                                return;
-
+                       }
                        this.$el.removeClass('selected');
                },
-
+               /**
+                * @param {Backbone.Model} model
+                * @param {Backbone.Collection} collection
+                */
                details: function( model, collection ) {
                        var selection = this.options.selection,
                                details;
 
-                       if ( selection !== collection )
+                       if ( selection !== collection ) {
                                return;
+                       }
 
                        details = selection.single();
                        this.$el.toggleClass( 'details', details === this.model );
                },
-
+               /**
+                * @param {Object} event
+                */
                preventDefault: function( event ) {
                        event.preventDefault();
                },
-
+               /**
+                * @param {string} size
+                * @returns {Object}
+                */
                imageSize: function( size ) {
                        var sizes = this.model.get('sizes');
 
                                };
                        }
                },
-
+               /**
+                * @param {Object} event
+                */
                updateSetting: function( event ) {
                        var $setting = $( event.target ).closest('[data-setting]'),
                                setting, value;
 
-                       if ( ! $setting.length )
+                       if ( ! $setting.length ) {
                                return;
+                       }
 
                        setting = $setting.data('setting');
                        value   = event.target.value;
 
-                       if ( this.model.get( setting ) !== value )
+                       if ( this.model.get( setting ) !== value ) {
                                this.save( setting, value );
+                       }
                },
 
-               // Pass all the arguments to the model's save method.
-               //
-               // Records the aggregate status of all save requests and updates the
-               // view's classes accordingly.
+               /**
+                * Pass all the arguments to the model's save method.
+                *
+                * Records the aggregate status of all save requests and updates the
+                * view's classes accordingly.
+                */
                save: function() {
                        var view = this,
                                save = this._save = this._save || { status: 'ready' },
                                requests = save.requests ? $.when( request, save.requests ) : request;
 
                        // If we're waiting to remove 'Saved.', stop.
-                       if ( save.savedTimer )
+                       if ( save.savedTimer ) {
                                clearTimeout( save.savedTimer );
+                       }
 
                        this.updateSave('waiting');
                        save.requests = requests;
                        requests.always( function() {
                                // If we've performed another request since this one, bail.
-                               if ( save.requests !== requests )
+                               if ( save.requests !== requests ) {
                                        return;
+                               }
 
                                view.updateSave( requests.state() === 'resolved' ? 'complete' : 'error' );
                                save.savedTimer = setTimeout( function() {
                                        delete save.savedTimer;
                                }, 2000 );
                        });
-
                },
-
+               /**
+                * @param {string} status
+                * @returns {wp.media.view.Attachment} Returns itself to allow chaining
+                */
                updateSave: function( status ) {
                        var save = this._save = this._save || { status: 'ready' };
 
                                var $input = $('input, textarea, select, [value]', el ),
                                        setting, value;
 
-                               if ( ! $input.length )
+                               if ( ! $input.length ) {
                                        return;
+                               }
 
                                setting = $(el).data('setting');
                                value = $input.val();
 
                                // Record the value if it changed.
-                               if ( model.get( setting ) !== value )
+                               if ( model.get( setting ) !== value ) {
                                        return [ setting, value ];
+                               }
                        }).compact().object().value();
 
-                       if ( ! _.isEmpty( changed ) )
+                       if ( ! _.isEmpty( changed ) ) {
                                model.save( changed );
+                       }
                },
-
+               /**
+                * @param {Object} event
+                */
                removeFromLibrary: function( event ) {
                        // Stop propagation so the model isn't selected.
                        event.stopPropagation();
 
                        this.collection.remove( this.model );
                },
-
+               /**
+                * @param {Object} event
+                */
                removeFromSelection: function( event ) {
                        var selection = this.options.selection;
-                       if ( ! selection )
+                       if ( ! selection ) {
                                return;
+                       }
 
                        // Stop propagation so the model isn't selected.
                        event.stopPropagation();
                caption: '_syncCaption',
                title:   '_syncTitle'
        }, function( method, setting ) {
+               /**
+                * @param {Backbone.Model} model
+                * @param {string} value
+                * @returns {wp.media.view.Attachment} Returns itself to allow chaining
+                */
                media.view.Attachment.prototype[ method ] = function( model, value ) {
                        var $setting = this.$('[data-setting="' + setting + '"]');
 
-                       if ( ! $setting.length )
+                       if ( ! $setting.length ) {
                                return this;
+                       }
 
                        // If the updated value is in sync with the value in the DOM, there
                        // is no need to re-render. If we're currently editing the value,
                        // it will automatically be in sync, suppressing the re-render for
                        // the view we're editing, while updating any others.
-                       if ( value === $setting.find('input, textarea, select, [value]').val() )
+                       if ( value === $setting.find('input, textarea, select, [value]').val() ) {
                                return this;
+                       }
 
                        return this.render();
                };
 
        /**
         * wp.media.view.Attachment.Library
+        *
+        * @constructor
+        * @augments wp.media.view.Attachment
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Attachment.Library = media.view.Attachment.extend({
                buttons: {
 
        /**
         * wp.media.view.Attachment.EditLibrary
+        *
+        * @constructor
+        * @augments wp.media.view.Attachment
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Attachment.EditLibrary = media.view.Attachment.extend({
                buttons: {
 
        /**
         * wp.media.view.Attachments
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Attachments = media.View.extend({
                tagName:   'ul',
                                var view = this._viewsByCid[ attachment.cid ];
                                delete this._viewsByCid[ attachment.cid ];
 
-                               if ( view )
+                               if ( view ) {
                                        view.remove();
+                               }
                        }, this );
 
                        this.collection.on( 'reset', this.render, this );
                        _.bindAll( this, 'css' );
                        this.model.on( 'change:edge change:gutter', this.css, this );
                        this._resizeCss = _.debounce( _.bind( this.css, this ), this.refreshSensitivity );
-                       if ( this.options.resize )
+                       if ( this.options.resize ) {
                                $(window).on( 'resize.attachments', this._resizeCss );
+                       }
                        this.css();
                },
 
                dispose: function() {
                        this.collection.props.off( null, null, this );
                        $(window).off( 'resize.attachments', this._resizeCss );
+                       /**
+                        * call 'dispose' directly on the parent class
+                        */
                        media.View.prototype.dispose.apply( this, arguments );
                },
 
                css: function() {
                        var $css = $( '#' + this.el.id + '-css' );
 
-                       if ( $css.length )
+                       if ( $css.length ) {
                                $css.remove();
+                       }
 
                        media.view.Attachments.$head().append( this.cssTemplate({
                                id:     this.el.id,
                                gutter: this.model.get('gutter')
                        }) );
                },
-
+               /**
+                * @returns {Number}
+                */
                edge: function() {
                        var edge = this.model.get('edge'),
                                gutter, width, columns;
 
-                       if ( ! this.$el.is(':visible') )
+                       if ( ! this.$el.is(':visible') ) {
                                return edge;
+                       }
 
                        gutter  = this.model.get('gutter') * 2;
                        width   = this.$el.width() - gutter;
                initSortable: function() {
                        var collection = this.collection;
 
-                       if ( ! this.options.sortable || ! $.fn.sortable )
+                       if ( ! this.options.sortable || ! $.fn.sortable ) {
                                return;
+                       }
 
                        this.$el.sortable( _.extend({
                                // If the `collection` has a `comparator`, disable sorting.
                                        // Silently shift the model to its new index.
                                        collection.remove( model, {
                                                silent: true
-                                       }).add( model, {
+                                       });
+                                       collection.add( model, {
                                                silent: true,
                                                at:     ui.item.index()
                                        });
                },
 
                refreshSortable: function() {
-                       if ( ! this.options.sortable || ! $.fn.sortable )
+                       if ( ! this.options.sortable || ! $.fn.sortable ) {
                                return;
+                       }
 
                        // If the `collection` has a `comparator`, disable sorting.
                        var collection = this.collection,
                        this.$el.sortable( 'option', 'disabled', ! enabled );
                },
 
+               /**
+                * @param {wp.media.model.Attachment} attachment
+                * @returns {wp.media.View}
+                */
                createAttachmentView: function( attachment ) {
                        var view = new this.options.AttachmentView({
                                controller: this.controller,
                },
 
                scroll: function() {
-                       // @todo: is this still necessary?
-                       if ( ! this.$el.is(':visible') )
+                       var view = this,
+                               toolbar;
+
+                       if ( ! this.$el.is(':visible') || ! this.collection.hasMore() ) {
                                return;
+                       }
 
-                       if ( this.collection.hasMore() && this.el.scrollHeight < this.el.scrollTop + ( this.el.clientHeight * this.options.refreshThreshold ) ) {
-                               this.collection.more().done( this.scroll );
+                       toolbar = this.views.parent.toolbar;
+
+                       // Show the spinner only if we are close to the bottom.
+                       if ( this.el.scrollHeight - ( this.el.scrollTop + this.el.clientHeight ) < this.el.clientHeight / 3 ) {
+                               toolbar.get('spinner').show();
+                       }
+
+                       if ( this.el.scrollHeight < this.el.scrollTop + ( this.el.clientHeight * this.options.refreshThreshold ) ) {
+                               this.collection.more().done(function() {
+                                       view.scroll();
+                                       toolbar.get('spinner').hide();
+                               });
                        }
                }
        }, {
 
        /**
         * wp.media.view.Search
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Search = media.View.extend({
                tagName:   'input',
                        'search': 'search'
                },
 
+               /**
+                * @returns {wp.media.view.Search} Returns itself to allow chaining
+                */
                render: function() {
                        this.el.value = this.model.escape('search');
                        return this;
                },
 
                search: function( event ) {
-                       if ( event.target.value )
+                       if ( event.target.value ) {
                                this.model.set( 'search', event.target.value );
-                       else
+                       } else {
                                this.model.unset('search');
+                       }
                }
        });
 
        /**
         * wp.media.view.AttachmentFilters
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.AttachmentFilters = media.View.extend({
                tagName:   'select',
                        // Build `<option>` elements.
                        this.$el.html( _.chain( this.filters ).map( function( filter, value ) {
                                return {
-                                       el: $('<option></option>').val(value).text(filter.text)[0],
+                                       el: $( '<option></option>' ).val( value ).html( filter.text )[0],
                                        priority: filter.priority || 50
                                };
                        }, this ).sortBy('priority').pluck('el').value() );
                change: function() {
                        var filter = this.filters[ this.el.value ];
 
-                       if ( filter )
+                       if ( filter ) {
                                this.model.set( filter.props );
+                       }
                },
 
                select: function() {
                                        return prop === ( _.isUndefined( props[ key ] ) ? null : props[ key ] );
                                });
 
-                               if ( equal )
+                               if ( equal ) {
                                        return value = id;
+                               }
                        });
 
                        this.$el.val( value );
                }
        });
 
+       /**
+        * wp.media.view.AttachmentFilters.Uploaded
+        *
+        * @constructor
+        * @augments wp.media.view.AttachmentFilters
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
        media.view.AttachmentFilters.Uploaded = media.view.AttachmentFilters.extend({
                createFilters: function() {
                        var type = this.model.get('type'),
                                types = media.view.settings.mimeTypes,
                                text;
 
-                       if ( types && type )
+                       if ( types && type ) {
                                text = types[ type ];
+                       }
 
                        this.filters = {
                                all: {
                }
        });
 
+       /**
+        * wp.media.view.AttachmentFilters.All
+        *
+        * @constructor
+        * @augments wp.media.view.AttachmentFilters
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
        media.view.AttachmentFilters.All = media.view.AttachmentFilters.extend({
                createFilters: function() {
                        var filters = {};
        });
 
 
-
        /**
         * wp.media.view.AttachmentsBrowser
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.AttachmentsBrowser = media.View.extend({
                tagName:   'div',
 
                        this.collection.on( 'add remove reset', this.updateContent, this );
                },
-
+               /**
+                * @returns {wp.media.view.AttachmentsBrowser} Returns itself to allow chaining
+                */
                dispose: function() {
                        this.options.selection.off( null, null, this );
                        media.View.prototype.dispose.apply( this, arguments );
                createToolbar: function() {
                        var filters, FiltersConstructor;
 
+                       /**
+                        * @member {wp.media.view.Toolbar}
+                        */
                        this.toolbar = new media.view.Toolbar({
                                controller: this.controller
                        });
                        this.views.add( this.toolbar );
 
                        filters = this.options.filters;
-                       if ( 'uploaded' === filters )
+                       if ( 'uploaded' === filters ) {
                                FiltersConstructor = media.view.AttachmentFilters.Uploaded;
-                       else if ( 'all' === filters )
+                       } else if ( 'all' === filters ) {
                                FiltersConstructor = media.view.AttachmentFilters.All;
+                       }
 
                        if ( FiltersConstructor ) {
                                this.toolbar.set( 'filters', new FiltersConstructor({
                                }).render() );
                        }
 
+                       this.toolbar.set( 'spinner', new media.view.Spinner({
+                               priority: -70
+                       }) );
+
                        if ( this.options.search ) {
                                this.toolbar.set( 'search', new media.view.Search({
                                        controller: this.controller,
                                        priority: -40
                                }) );
                        }
+
+                       if ( this.options.suggestedWidth && this.options.suggestedHeight ) {
+                               this.toolbar.set( 'suggestedDimensions', new media.View({
+                                       el: $( '<div class="instructions">' + l10n.suggestedDimensions + ' ' + this.options.suggestedWidth + ' &times; ' + this.options.suggestedHeight + '</div>' )[0],
+                                       priority: -40
+                               }) );
+                       }
                },
 
                updateContent: function() {
                        var view = this;
 
-                       if( ! this.attachments )
+                       if( ! this.attachments ) {
                                this.createAttachments();
+                       }
 
                        if ( ! this.collection.length ) {
-                               this.collection.more().done( function() {
-                                       if ( ! view.collection.length )
+                               this.toolbar.get( 'spinner' ).show();
+                               this.collection.more().done(function() {
+                                       if ( ! view.collection.length ) {
                                                view.createUploader();
+                                       }
+                                       view.toolbar.get( 'spinner' ).hide();
                                });
+                       } else {
+                               view.toolbar.get( 'spinner' ).hide();
                        }
                },
 
                        selection.on( 'selection:single', this.createSingle, this );
                        selection.on( 'selection:unsingle', this.disposeSingle, this );
 
-                       if ( selection.single() )
+                       if ( selection.single() ) {
                                this.createSingle();
+                       }
                },
 
                createSingle: function() {
 
        /**
         * wp.media.view.Selection
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Selection = media.View.extend({
                tagName:   'div',
                                clearable: true
                        });
 
+                       /**
+                        * @member {wp.media.view.Attachments.Selection}
+                        */
                        this.attachments = new media.view.Attachments.Selection({
                                controller: this.controller,
                                collection: this.collection,
 
                refresh: function() {
                        // If the selection hasn't been rendered, bail.
-                       if ( ! this.$el.children().length )
+                       if ( ! this.$el.children().length ) {
                                return;
+                       }
 
                        var collection = this.collection,
                                editing = 'edit-selection' === this.controller.content.mode();
 
                edit: function( event ) {
                        event.preventDefault();
-                       if ( this.options.editable )
+                       if ( this.options.editable ) {
                                this.options.editable.call( this, this.collection );
+                       }
                },
 
                clear: function( event ) {
 
        /**
         * wp.media.view.Attachment.Selection
+        *
+        * @constructor
+        * @augments wp.media.view.Attachment
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Attachment.Selection = media.view.Attachment.extend({
                className: 'attachment selection',
 
        /**
         * wp.media.view.Attachments.Selection
+        *
+        * @constructor
+        * @augments wp.media.view.Attachments
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Attachments.Selection = media.view.Attachments.extend({
                events: {},
                                // The single `Attachment` view to be used in the `Attachments` view.
                                AttachmentView: media.view.Attachment.Selection
                        });
+                       /**
+                        * call 'initialize' directly on the parent class
+                        */
                        return media.view.Attachments.prototype.initialize.apply( this, arguments );
                }
        });
 
        /**
         * wp.media.view.Attachments.EditSelection
+        *
+        * @constructor
+        * @augments wp.media.view.Attachment.Selection
+        * @augments wp.media.view.Attachment
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Attachment.EditSelection = media.view.Attachment.Selection.extend({
                buttons: {
 
        /**
         * wp.media.view.Settings
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Settings = media.View.extend({
                events: {
                                model: this.model.toJSON()
                        }, this.options );
                },
-
+               /**
+                * @returns {wp.media.view.Settings} Returns itself to allow chaining
+                */
                render: function() {
                        media.View.prototype.render.apply( this, arguments );
                        // Select the correct values.
                        _( this.model.attributes ).chain().keys().each( this.update, this );
                        return this;
                },
-
+               /**
+                * @param {string} key
+                */
                update: function( key ) {
                        var value = this.model.get( key ),
                                $setting = this.$('[data-setting="' + key + '"]'),
                                $buttons, $value;
 
                        // Bail if we didn't find a matching setting.
-                       if ( ! $setting.length )
+                       if ( ! $setting.length ) {
                                return;
+                       }
 
                        // Attempt to determine how the setting is rendered and update
                        // the selected value.
                                        this.model.set( key, $setting.find(':selected').val() );
                                }
 
-
                        // Handle button groups.
                        } else if ( $setting.hasClass('button-group') ) {
                                $buttons = $setting.find('button').removeClass('active');
 
                        // Handle text inputs and textareas.
                        } else if ( $setting.is('input[type="text"], textarea') ) {
-                               if ( ! $setting.is(':focus') )
+                               if ( ! $setting.is(':focus') ) {
                                        $setting.val( value );
-
+                               }
                        // Handle checkboxes.
                        } else if ( $setting.is('input[type="checkbox"]') ) {
-                               $setting.attr( 'checked', !! value );
+                               $setting.prop( 'checked', !! value );
                        }
                },
-
+               /**
+                * @param {Object} event
+                */
                updateHandler: function( event ) {
                        var $setting = $( event.target ).closest('[data-setting]'),
                                value = event.target.value,
 
                        event.preventDefault();
 
-                       if ( ! $setting.length )
+                       if ( ! $setting.length ) {
                                return;
+                       }
 
                        // Use the correct value for checkboxes.
-                       if ( $setting.is('input[type="checkbox"]') )
+                       if ( $setting.is('input[type="checkbox"]') ) {
                                value = $setting[0].checked;
+                       }
 
                        // Update the corresponding setting.
                        this.model.set( $setting.data('setting'), value );
 
                        // If the setting has a corresponding user setting,
                        // update that as well.
-                       if ( userSetting = $setting.data('userSetting') )
+                       if ( userSetting = $setting.data('userSetting') ) {
                                setUserSetting( userSetting, value );
+                       }
                },
 
                updateChanges: function( model ) {
-                       if ( model.hasChanged() )
+                       if ( model.hasChanged() ) {
                                _( model.changed ).chain().keys().each( this.update, this );
+                       }
                }
        });
 
        /**
         * wp.media.view.Settings.AttachmentDisplay
+        *
+        * @constructor
+        * @augments wp.media.view.Settings
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Settings.AttachmentDisplay = media.view.Settings.extend({
                className: 'attachment-display-settings',
                        _.defaults( this.options, {
                                userSettings: false
                        });
-
+                       /**
+                        * call 'initialize' directly on the parent class
+                        */
                        media.view.Settings.prototype.initialize.apply( this, arguments );
                        this.model.on( 'change:link', this.updateLinkTo, this );
 
-                       if ( attachment )
+                       if ( attachment ) {
                                attachment.on( 'change:uploading', this.render, this );
+                       }
                },
 
                dispose: function() {
                        var attachment = this.options.attachment;
-                       if ( attachment )
+                       if ( attachment ) {
                                attachment.off( null, null, this );
-
+                       }
+                       /**
+                        * call 'dispose' directly on the parent class
+                        */
                        media.view.Settings.prototype.dispose.apply( this, arguments );
                },
-
+               /**
+                * @returns {wp.media.view.AttachmentDisplay} Returns itself to allow chaining
+                */
                render: function() {
                        var attachment = this.options.attachment;
                        if ( attachment ) {
                                        type:  attachment.get('type')
                                });
                        }
-
+                       /**
+                        * call 'render' directly on the parent class
+                        */
                        media.view.Settings.prototype.render.call( this );
                        this.updateLinkTo();
                        return this;
                                attachment = this.options.attachment;
 
                        if ( 'none' === linkTo || 'embed' === linkTo || ( ! attachment && 'custom' !== linkTo ) ) {
-                               $input.hide();
+                               $input.addClass( 'hidden' );
                                return;
                        }
 
                                $input.prop( 'readonly', 'custom' !== linkTo );
                        }
 
-                       $input.show();
+                       $input.removeClass( 'hidden' );
 
                        // If the input is visible, focus and select its contents.
-                       if ( $input.is(':visible') )
+                       if ( $input.is(':visible') ) {
                                $input.focus()[0].select();
+                       }
                }
        });
 
        /**
         * wp.media.view.Settings.Gallery
+        *
+        * @constructor
+        * @augments wp.media.view.Settings
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Settings.Gallery = media.view.Settings.extend({
-               className: 'gallery-settings',
+               className: 'collection-settings gallery-settings',
                template:  media.template('gallery-settings')
        });
 
+       /**
+        * wp.media.view.Settings.Playlist
+        *
+        * @constructor
+        * @augments wp.media.view.Settings
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
+       media.view.Settings.Playlist = media.view.Settings.extend({
+               className: 'collection-settings playlist-settings',
+               template:  media.template('playlist-settings')
+       });
+
        /**
         * wp.media.view.Attachment.Details
+        *
+        * @constructor
+        * @augments wp.media.view.Attachment
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Attachment.Details = media.view.Attachment.extend({
                tagName:   'div',
                        'change [data-setting] select':   'updateSetting',
                        'change [data-setting] textarea': 'updateSetting',
                        'click .delete-attachment':       'deleteAttachment',
+                       'click .trash-attachment':        'trashAttachment',
                        'click .edit-attachment':         'editAttachment',
                        'click .refresh-attachment':      'refreshAttachment'
                },
 
                initialize: function() {
+                       /**
+                        * @member {wp.media.view.FocusManager}
+                        */
                        this.focusManager = new media.view.FocusManager({
                                el: this.el
                        });
-
+                       /**
+                        * call 'initialize' directly on the parent class
+                        */
                        media.view.Attachment.prototype.initialize.apply( this, arguments );
                },
-
+               /**
+                * @returns {wp.media.view..Attachment.Details} Returns itself to allow chaining
+                */
                render: function() {
+                       /**
+                        * call 'render' directly on the parent class
+                        */
                        media.view.Attachment.prototype.render.apply( this, arguments );
                        this.focusManager.focus();
                        return this;
                },
-
+               /**
+                * @param {Object} event
+                */
                deleteAttachment: function( event ) {
                        event.preventDefault();
 
-                       if ( confirm( l10n.warnDelete ) )
+                       if ( confirm( l10n.warnDelete ) ) {
                                this.model.destroy();
+                       }
                },
+               /**
+                * @param {Object} event
+                */
+               trashAttachment: function( event ) {
+                       event.preventDefault();
 
-               editAttachment: function() {
-                       this.$el.addClass('needs-refresh');
+                       this.model.destroy();
                },
+               /**
+                * @param {Object} event
+                */
+               editAttachment: function( event ) {
+                       var editState = this.controller.states.get( 'edit-image' );
+                       if ( window.imageEdit && editState ) {
+                               event.preventDefault();
 
+                               editState.set( 'image', this.model );
+                               this.controller.setState( 'edit-image' );
+                       } else {
+                               this.$el.addClass('needs-refresh');
+                       }
+               },
+               /**
+                * @param {Object} event
+                */
                refreshAttachment: function( event ) {
                        this.$el.removeClass('needs-refresh');
                        event.preventDefault();
                        this.model.fetch();
                }
+
        });
 
        /**
         * wp.media.view.AttachmentCompat
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.AttachmentCompat = media.View.extend({
                tagName:   'form',
                },
 
                initialize: function() {
+                       /**
+                        * @member {wp.media.view.FocusManager}
+                        */
                        this.focusManager = new media.view.FocusManager({
                                el: this.el
                        });
 
                        this.model.on( 'change:compat', this.render, this );
                },
-
+               /**
+                * @returns {wp.media.view.AttachmentCompat} Returns itself to allow chaining
+                */
                dispose: function() {
-                       if ( this.$(':focus').length )
+                       if ( this.$(':focus').length ) {
                                this.save();
-
+                       }
+                       /**
+                        * call 'dispose' directly on the parent class
+                        */
                        return media.View.prototype.dispose.apply( this, arguments );
                },
-
+               /**
+                * @returns {wp.media.view.AttachmentCompat} Returns itself to allow chaining
+                */
                render: function() {
                        var compat = this.model.get('compat');
-                       if ( ! compat || ! compat.item )
+                       if ( ! compat || ! compat.item ) {
                                return;
+                       }
 
                        this.views.detach();
                        this.$el.html( compat.item );
                        this.focusManager.focus();
                        return this;
                },
-
+               /**
+                * @param {Object} event
+                */
                preventDefault: function( event ) {
                        event.preventDefault();
                },
-
+               /**
+                * @param {Object} event
+                */
                save: function( event ) {
                        var data = {};
 
-                       if ( event )
+                       if ( event ) {
                                event.preventDefault();
+                       }
 
                        _.each( this.$el.serializeArray(), function( pair ) {
                                data[ pair.name ] = pair.value;
 
        /**
         * wp.media.view.Iframe
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Iframe = media.View.extend({
                className: 'media-iframe',
-
+               /**
+                * @returns {wp.media.view.Iframe} Returns itself to allow chaining
+                */
                render: function() {
                        this.views.detach();
                        this.$el.html( '<iframe src="' + this.controller.state().get('src') + '" />' );
 
        /**
         * wp.media.view.Embed
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.Embed = media.View.extend({
                className: 'media-embed',
 
                initialize: function() {
+                       /**
+                        * @member {wp.media.view.EmbedUrl}
+                        */
                        this.url = new media.view.EmbedUrl({
                                controller: this.controller,
                                model:      this.model.props
                        this.model.on( 'change:loading', this.loading, this );
                },
 
+               /**
+                * @param {Object} view
+                */
                settings: function( view ) {
-                       if ( this._settings )
+                       if ( this._settings ) {
                                this._settings.remove();
+                       }
                        this._settings = view;
                        this.views.add( view );
                },
                        var type = this.model.get('type'),
                                constructor;
 
-                       if ( 'image' === type )
+                       if ( 'image' === type ) {
                                constructor = media.view.EmbedImage;
-                       else if ( 'link' === type )
+                       } else if ( 'link' === type ) {
                                constructor = media.view.EmbedLink;
-                       else
+                       } else {
                                return;
+                       }
 
                        this.settings( new constructor({
                                controller: this.controller,
 
        /**
         * wp.media.view.EmbedUrl
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.EmbedUrl = media.View.extend({
                tagName:   'label',
 
                        this.model.on( 'change:url', this.render, this );
                },
-
+               /**
+                * @returns {wp.media.view.EmbedUrl} Returns itself to allow chaining
+                */
                render: function() {
                        var $input = this.$input;
 
-                       if ( $input.is(':focus') )
+                       if ( $input.is(':focus') ) {
                                return;
+                       }
 
                        this.input.value = this.model.get('url') || 'http://';
+                       /**
+                        * Call `render` directly on parent class with passed arguments
+                        */
                        media.View.prototype.render.apply( this, arguments );
                        return this;
                },
                        this.model.set( 'url', event.target.value );
                },
 
+               /**
+                * If the input is visible, focus and select its contents.
+                */
                focus: function() {
                        var $input = this.$input;
-                       // If the input is visible, focus and select its contents.
-                       if ( $input.is(':visible') )
+                       if ( $input.is(':visible') ) {
                                $input.focus()[0].select();
+                       }
                }
        });
 
        /**
         * wp.media.view.EmbedLink
+        *
+        * @constructor
+        * @augments wp.media.view.Settings
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.EmbedLink = media.view.Settings.extend({
                className: 'embed-link-settings',
 
        /**
         * wp.media.view.EmbedImage
+        *
+        * @contructor
+        * @augments wp.media.view.Settings.AttachmentDisplay
+        * @augments wp.media.view.Settings
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
        media.view.EmbedImage =  media.view.Settings.AttachmentDisplay.extend({
-               className: 'embed-image-settings',
+               className: 'embed-media-settings',
                template:  media.template('embed-image-settings'),
 
                initialize: function() {
+                       /**
+                        * Call `initialize` directly on parent class with passed arguments
+                        */
                        media.view.Settings.AttachmentDisplay.prototype.initialize.apply( this, arguments );
                        this.model.on( 'change:url', this.updateImage, this );
                },
                        this.$('img').attr( 'src', this.model.get('url') );
                }
        });
-}(jQuery));
\ No newline at end of file
+
+       /**
+        * wp.media.view.ImageDetails
+        *
+        * @contructor
+        * @augments wp.media.view.Settings.AttachmentDisplay
+        * @augments wp.media.view.Settings
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
+       media.view.ImageDetails = media.view.Settings.AttachmentDisplay.extend({
+               className: 'image-details',
+               template:  media.template('image-details'),
+               events: _.defaults( media.view.Settings.AttachmentDisplay.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() {
+                       // used in AttachmentDisplay.prototype.updateLinkTo
+                       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 );
+
+                       media.view.Settings.AttachmentDisplay.prototype.initialize.apply( this, arguments );
+               },
+
+               prepare: function() {
+                       var attachment = false;
+
+                       if ( this.model.attachment ) {
+                               attachment = this.model.attachment.toJSON();
+                       }
+                       return _.defaults({
+                               model: this.model.toJSON(),
+                               attachment: attachment
+                       }, this.options );
+               },
+
+               render: function() {
+                       var self = this,
+                               args = arguments;
+
+                       if ( this.model.attachment && 'pending' === this.model.dfd.state() ) {
+                               this.model.dfd.done( function() {
+                                       media.view.Settings.AttachmentDisplay.prototype.render.apply( self, args );
+                                       self.postRender();
+                               } ).fail( function() {
+                                       self.model.attachment = false;
+                                       media.view.Settings.AttachmentDisplay.prototype.render.apply( self, args );
+                                       self.postRender();
+                               } );
+                       } else {
+                               media.view.Settings.AttachmentDisplay.prototype.render.apply( this, arguments );
+                               this.postRender();
+                       }
+
+                       return this;
+               },
+
+               postRender: function() {
+                       setTimeout( _.bind( this.resetFocus, this ), 10 );
+                       this.toggleLinkSettings();
+                       if ( getUserSetting( 'advImgDetails' ) === 'show' ) {
+                               this.toggleAdvanced( true );
+                       }
+                       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() {
+                       if ( this.model.get( 'link' ) === 'none' ) {
+                               this.$( '.link-settings' ).addClass('hidden');
+                       } else {
+                               this.$( '.link-settings' ).removeClass('hidden');
+                       }
+               },
+
+               toggleCustomSize: function() {
+                       if ( this.model.get( 'size' ) !== 'custom' ) {
+                               this.$( '.custom-size' ).addClass('hidden');
+                       } else {
+                               this.$( '.custom-size' ).removeClass('hidden');
+                       }
+               },
+
+               onCustomSize: function( event ) {
+                       var dimension = $( event.target ).data('setting'),
+                               num = $( event.target ).val(),
+                               value;
+
+                       // Ignore bogus input
+                       if ( ! /^\d+/.test( num ) || parseInt( num, 10 ) < 1 ) {
+                               event.preventDefault();
+                               return;
+                       }
+
+                       if ( dimension === 'customWidth' ) {
+                               value = Math.round( 1 / this.model.get( 'aspectRatio' ) * num );
+                               this.model.set( 'customHeight', value, { silent: true } );
+                               this.$( '[data-setting="customHeight"]' ).val( value );
+                       } else {
+                               value = Math.round( this.model.get( 'aspectRatio' ) * num );
+                               this.model.set( 'customWidth', value, { silent: true  } );
+                               this.$( '[data-setting="customWidth"]' ).val( value );
+
+                       }
+               },
+
+               onToggleAdvanced: function( event ) {
+                       event.preventDefault();
+                       this.toggleAdvanced();
+               },
+
+               toggleAdvanced: function( show ) {
+                       var $advanced = this.$el.find( '.advanced-section' ),
+                               mode;
+
+                       if ( $advanced.hasClass('advanced-visible') || show === false ) {
+                               $advanced.removeClass('advanced-visible');
+                               $advanced.find('.advanced-settings').addClass('hidden');
+                               mode = 'hide';
+                       } else {
+                               $advanced.addClass('advanced-visible');
+                               $advanced.find('.advanced-settings').removeClass('hidden');
+                               mode = 'show';
+                       }
+
+                       setUserSetting( 'advImgDetails', mode );
+               },
+
+               editAttachment: function( event ) {
+                       var editState = this.controller.states.get( 'edit-image' );
+
+                       if ( window.imageEdit && editState ) {
+                               event.preventDefault();
+                               editState.set( 'image', this.model.attachment );
+                               this.controller.setState( 'edit-image' );
+                       }
+               },
+
+               replaceAttachment: function( event ) {
+                       event.preventDefault();
+                       this.controller.setState( 'replace-image' );
+               }
+       });
+
+       /**
+        * wp.media.view.Cropper
+        *
+        * Uses the imgAreaSelect plugin to allow a user to crop an image.
+        *
+        * Takes imgAreaSelect options from
+        * wp.customize.HeaderControl.calculateImageSelectOptions via
+        * wp.customize.HeaderControl.openMM.
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
+       media.view.Cropper = media.View.extend({
+               className: 'crop-content',
+               template: media.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);
+                       $(window).on('resize.cropper', _.debounce(this.onImageLoad, 250));
+               },
+               remove: function() {
+                       $(window).off('resize.cropper');
+                       this.$el.remove();
+                       this.$el.off();
+                       wp.media.View.prototype.remove.apply(this, arguments);
+               },
+               prepare: function() {
+                       return {
+                               title: l10n.cropYourImage,
+                               url: this.options.attachment.get('url')
+                       };
+               },
+               onImageLoad: function() {
+                       var imgOptions = this.controller.get('imgSelectOptions');
+                       if (typeof imgOptions === 'function') {
+                               imgOptions = imgOptions(this.options.attachment, this.controller);
+                       }
+
+                       imgOptions = _.extend(imgOptions, {parent: this.$el});
+                       this.trigger('image-loaded');
+                       this.controller.imgSelect = this.$image.imgAreaSelect(imgOptions);
+               },
+               onError: function() {
+                       var filename = this.options.attachment.get('filename');
+
+                       this.views.add( '.upload-errors', new media.view.UploaderStatusError({
+                               filename: media.view.UploaderStatus.prototype.filename(filename),
+                               message: _wpMediaViewsL10n.cropError
+                       }), { at: 0 });
+               }
+       });
+
+       media.view.EditImage = media.View.extend({
+
+               className: 'image-editor',
+               template: media.template('image-editor'),
+
+               initialize: function( options ) {
+                       this.editor = window.imageEdit;
+                       this.controller = options.controller;
+                       media.View.prototype.initialize.apply( this, arguments );
+               },
+
+               prepare: function() {
+                       return this.model.toJSON();
+               },
+
+               render: function() {
+                       media.View.prototype.render.apply( this, arguments );
+                       return this;
+               },
+
+               loadEditor: function() {
+                       this.editor.open( this.model.get('id'), this.model.get('nonces').edit, this );
+               },
+
+               back: function() {
+                       var lastState = this.controller.lastState();
+                       this.controller.setState( lastState );
+               },
+
+               refresh: function() {
+                       this.model.fetch();
+               },
+
+               save: function() {
+                       var self = this,
+                               lastState = this.controller.lastState();
+
+                       this.model.fetch().done( function() {
+                               self.controller.setState( lastState );
+                       });
+               }
+
+       });
+
+       /**
+        * wp.media.view.Spinner
+        *
+        * @constructor
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
+       media.view.Spinner = media.View.extend({
+               tagName:   'span',
+               className: 'spinner',
+               spinnerTimeout: false,
+               delay: 400,
+
+               show: function() {
+                       if ( ! this.spinnerTimeout ) {
+                               this.spinnerTimeout = _.delay(function( $el ) {
+                                       $el.show();
+                               }, this.delay, this.$el );
+                       }
+
+                       return this;
+               },
+
+               hide: function() {
+                       this.$el.hide();
+                       this.spinnerTimeout = clearTimeout( this.spinnerTimeout );
+
+                       return this;
+               }
+       });
+}(jQuery, _));
index f84463a5df0509714b58d09f65e8a9e9da9b69cc..396053b52d13045ee0c28ebc573e750d0b8ea1c1 100644 (file)
@@ -1,2 +1,3 @@
-!function(a){var b,c=wp.media,d=c.model.Attachment,e=c.model.Attachments;b=c.view.l10n="undefined"==typeof _wpMediaViewsL10n?{}:_wpMediaViewsL10n,c.view.settings=b.settings||{},delete b.settings,c.model.settings.post=c.view.settings.post,a.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.transition=function(b,c){var d=a.Deferred();return c=c||2e3,a.support.transition?(b instanceof a||(b=a(b)),b.first().one(a.support.transition.end,d.resolve),_.delay(d.resolve,c)):d.resolve(),d.promise()},c.controller.Region=function(a){_.extend(this,_.pick(a||{},"id","view","selector"))},c.controller.Region.extend=Backbone.Model.extend,_.extend(c.controller.Region.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}}),c.controller.StateMachine=function(a){this.states=new Backbone.Collection(a)},c.controller.StateMachine.extend=Backbone.Model.extend,_.extend(c.controller.StateMachine.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.controller.StateMachine.prototype[a]=function(){return this.states=this.states||new Backbone.Collection,this.states[a].apply(this.states,arguments),this}}),c.controller.State=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");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.controller.State.prototype["_"+a]=function(){var b=this.get(a);b&&this.frame[a].render(b)}}),c.controller.Library=c.controller.State.extend({defaults:{id:"library",multiple:!1,describe:!1,toolbar:"select",sidebar:"settings",content:"upload",router:"browse",menu:"default",searchable:!0,filterable:!1,sortable:!0,title:b.mediaLibraryTitle,contentUserSetting:!0,syncSelection:!0},initialize:function(){var a,b=this.get("selection");this.get("library")||this.set("library",c.query()),b instanceof c.model.Selection||(a=b,a||(a=this.get("library").props.toJSON(),a=_.omit(a,"orderby","query")),this.set("selection",new c.model.Selection(null,{multiple:this.get("multiple"),props:a}))),this.get("edge")||this.set("edge",120),this.get("gutter")||this.set("gutter",8),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("contentUserSetting")&&(this.frame.on("content:activate",this.saveContentMode,this),this.set("content",getUserSetting("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=c.view.settings.defaultProps;this._displays=[],this._defaultDisplaySettings={align:a.align||getUserSetting("align","none"),size:a.size||getUserSetting("imgsize","medium"),link:a.link||getUserSetting("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(c.view.settings.embedExts,a.get("filename").split(".").pop())},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)},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("selection").add(a)},saveContentMode:function(){if("browse"===this.get("router")){var a=this.frame.content.mode(),b=this.frame.router.get();b&&b.get(a)&&setUserSetting("libraryContent",a)}}}),c.controller.GalleryEdit=c.controller.Library.extend({defaults:{id:"gallery-edit",multiple:!1,describe:!0,edge:199,editing:!1,sortable:!0,searchable:!1,toolbar:"gallery-edit",content:"browse",title:b.editGalleryTitle,priority:60,dragInfo:!0,syncSelection:!1},initialize:function(){this.get("library")||this.set("library",new c.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",c.view.Attachment.EditLibrary),c.controller.Library.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),c.controller.Library.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.gallerySettings,this),c.controller.Library.prototype.deactivate.apply(this,arguments)},gallerySettings:function(a){var d=this.get("library");d&&a&&(d.gallery=d.gallery||new Backbone.Model,a.sidebar.set({gallery:new c.view.Settings.Gallery({controller:this,model:d.gallery,priority:40})}),a.toolbar.set("reverse",{text:b.reverseOrder,priority:80,click:function(){d.reset(d.toArray().reverse())}}))}}),c.controller.GalleryAdd=c.controller.Library.extend({defaults:_.defaults({id:"gallery-library",filterable:"uploaded",multiple:"add",menu:"gallery",toolbar:"gallery-add",title:b.addToGalleryTitle,priority:100,syncSelection:!1},c.controller.Library.prototype.defaults),initialize:function(){this.get("library")||this.set("library",c.query({type:"image"})),c.controller.Library.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)&&c.model.Selection.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(b),this.editLibrary=b,c.controller.Library.prototype.activate.apply(this,arguments)}}),c.controller.FeaturedImage=c.controller.Library.extend({defaults:_.defaults({id:"featured-image",filterable:"uploaded",multiple:!1,toolbar:"featured-image",title:b.setFeaturedImageTitle,priority:60,syncSelection:!1},c.controller.Library.prototype.defaults),initialize:function(){var a,b;this.get("library")||this.set("library",c.query({type:"image"})),c.controller.Library.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),c.controller.Library.prototype.activate.apply(this,arguments)},deactivate:function(){this.frame.off("open",this.updateSelection,this),c.controller.Library.prototype.deactivate.apply(this,arguments)},updateSelection:function(){var a,b=this.get("selection"),e=c.view.settings.post.featuredImageId;""!==e&&-1!==e&&(a=d.get(e),a.fetch()),b.reset(a?[a]:[])}}),c.controller.Embed=c.controller.State.extend({defaults:{id:"embed",url:"",menu:"default",content:"embed",toolbar:"main-embed",type:"link",title:b.insertFromUrlTitle,priority:120},sensitivity:200,initialize:function(){this.debouncedScan=_.debounce(_.bind(this.scan,this),this.sensitivity),this.props=new Backbone.Model({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 b,c=this,d={type:"link",scanners:[]};this.props.get("url")&&this.trigger("scan",d),d.scanners.length?(b=d.scanners=a.when.apply(a,d.scanners),b.always(function(){c.get("scanners")===b&&c.set("loading",!1)})):d.scanners=null,d.loading=!!d.scanners,this.set(d)},scanImage:function(b){var c=this.frame,d=this,e=this.props.get("url"),f=new Image,g=a.Deferred();b.scanners.push(g.promise()),f.onload=function(){g.resolve(),d===c.state()&&e===d.props.get("url")&&(d.set({type:"image"}),d.props.set({width:f.width,height:f.height}))},f.onerror=g.reject,f.src=e},refresh:function(){this.frame.toolbar.get().refresh()},reset:function(){this.props.clear().set({url:""}),this.active&&this.refresh()}}),c.View=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)}}),c.view.Frame=c.View.extend({initialize:function(){this._createRegions(),this._createStates()},_createRegions:function(){this.regions=this.regions?this.regions.slice():[],_.each(this.regions,function(a){this[a]=new c.controller.Region({view:this,id:a,selector:".media-frame-"+a})},this)},_createStates:function(){this.states=new Backbone.Collection(null,{model:c.controller.State}),this.states.on("add",function(a){a.frame=this,a.trigger("ready")},this),this.options.states&&this.states.add(this.options.states)},reset:function(){return this.states.invoke("trigger","reset"),this}}),_.extend(c.view.Frame.prototype,c.controller.StateMachine.prototype),c.view.MediaFrame=c.view.Frame.extend({className:"media-frame",template:c.template("media-frame"),regions:["menu","title","content","toolbar","router"],initialize:function(){c.view.Frame.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 c.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 c.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("menu:create:default",this.createMenu,this)},render:function(){return!this.state()&&this.options.state&&this.setState(this.options.state),c.view.Frame.prototype.render.apply(this,arguments)},createTitle:function(a){a.view=new c.View({controller:this,tagName:"h1"})},createMenu:function(a){a.view=new c.view.Menu({controller:this})},createToolbar:function(a){a.view=new c.view.Toolbar({controller:this})},createRouter:function(a){a.view=new c.view.Router({controller:this})},createIframeStates:function(b){var d,e=c.view.settings,f=e.tabs,g=e.tabUrl;f&&g&&(d=a("#post_ID"),d.length&&(g+="&post_id="+d.val()),_.each(f,function(a,c){this.state("iframe:"+c).set(_.defaults({tab:c,src:g+"&tab="+c,title:a,content:"iframe",menu:"default"},b))},this),this.on("content:create:iframe",this.iframeContent,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 c.view.Iframe({controller:this})},iframeMenu:function(a){var b={};a&&(_.each(c.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.view.MediaFrame.prototype[a]=function(){return this.modal&&this.modal[a].apply(this.modal,arguments),this}}),c.view.MediaFrame.Select=c.view.MediaFrame.extend({initialize:function(){c.view.MediaFrame.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 c.model.Selection||(this.options.selection=new c.model.Selection(a,{multiple:this.options.multiple})),this._selection={attachments:new e,difference:[]}},createStates:function(){var a=this.options;this.options.states||this.states.add([new c.controller.Library({library:c.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:b.uploadFilesTitle,priority:20},browse:{text:b.mediaLibraryTitle,priority:40}})},browseContent:function(a){var b=this.state();this.$el.removeClass("hide-toolbar"),a.view=new c.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"),display:b.get("displaySettings"),dragInfo:b.get("dragInfo"),AttachmentView:b.get("AttachmentView")})},uploadContent:function(){this.$el.removeClass("hide-toolbar"),this.content.set(new c.view.UploaderInline({controller:this}))},createSelectToolbar:function(a,b){b=b||this.options.button||{},b.controller=this,a.view=new c.view.Toolbar.Select(b)}}),c.view.MediaFrame.Post=c.view.MediaFrame.Select.extend({initialize:function(){_.defaults(this.options,{multiple:!0,editing:!1,state:"insert"}),c.view.MediaFrame.Select.prototype.initialize.apply(this,arguments),this.createIframeStates()},createStates:function(){var a=this.options;this.states.add([new c.controller.Library({id:"insert",title:b.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:c.query(a.library),multiple:a.multiple?"reset":!1,editable:!0,allowLocalEdits:!0,displaySettings:!0,displayUserSettings:!0}),new c.controller.Library({id:"gallery",title:b.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:!1,library:c.query(_.defaults({type:"image"},a.library))}),new c.controller.Embed,new c.controller.GalleryEdit({library:a.selection,editing:a.editing,menu:"gallery"}),new c.controller.GalleryAdd]),c.view.settings.post.featuredImageId&&this.states.add(new c.controller.FeaturedImage)},bindHandlers:function(){c.view.MediaFrame.Select.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:gallery",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:featured-image",this.featuredImageToolbar,this),this.on("toolbar:create:main-embed",this.mainEmbedToolbar,this);var a={menu:{"default":"mainMenu",gallery:"galleryMenu"},content:{embed:"embedContent","edit-selection":"editSelectionContent"},toolbar:{"main-insert":"mainInsertToolbar","main-gallery":"mainGalleryToolbar","gallery-edit":"galleryEditToolbar","gallery-add":"galleryAddToolbar"}};_.each(a,function(a,b){_.each(a,function(a,c){this.on(b+":render:"+c,this[a],this)},this)},this)},mainMenu:function(a){a.set({"library-separator":new c.View({className:"separator",priority:100})})},galleryMenu:function(a){var d=this.lastState(),e=d&&d.id,f=this;a.set({cancel:{text:b.cancelGalleryTitle,priority:20,click:function(){e?f.setState(e):f.close()}},separateCancel:new c.View({className:"separator",priority:40})})},embedContent:function(){var a=new c.view.Embed({controller:this,model:this.state()}).render();this.content.set(a),a.url.focus()},editSelectionContent:function(){var a,d=this.state(),e=d.get("selection");a=new c.view.AttachmentsBrowser({controller:this,collection:e,selection:e,model:d,sortable:!0,search:!1,dragInfo:!0,AttachmentView:c.view.Attachment.EditSelection}).render(),a.toolbar.set("backToLibrary",{text:b.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse")}}),this.content.set(a)},selectionStatusToolbar:function(a){var b=this.state().get("editable");a.set("selection",new c.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 c=this;this.selectionStatusToolbar(a),a.set("insert",{style:"primary",priority:80,text:b.insertIntoPost,requires:{selection:!0},click:function(){var a=c.state(),b=a.get("selection");c.close(),a.trigger("insert",b).reset()}})},mainGalleryToolbar:function(a){var d=this;this.selectionStatusToolbar(a),a.set("gallery",{style:"primary",text:b.createNewGallery,priority:60,requires:{selection:!0},click:function(){var a=d.state().get("selection"),b=d.state("gallery-edit"),e=a.where({type:"image"});b.set("library",new c.model.Selection(e,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("gallery-edit")}})},featuredImageToolbar:function(a){this.createSelectToolbar(a,{text:b.setFeaturedImage,state:this.options.state})},mainEmbedToolbar:function(a){a.view=new c.view.Toolbar.Embed({controller:this})},galleryEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new c.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?b.updateGallery:b.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 c.view.Toolbar({controller:this,items:{insert:{style:"primary",text:b.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")}}}}))}}),c.view.Modal=c.View.extend({tagName:"div",template:c.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})},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 b=this.$el,c=this.options;return b.is(":visible")?this:(this.views.attached||this.attach(),c.freeze&&(this._freeze={scrollTop:a(window).scrollTop()}),b.show().focus(),this.propagate("open"))},close:function(b){var c=this._freeze;return this.views.attached&&this.$el.is(":visible")?(this.$el.hide(),this.propagate("close"),c&&a(window).scrollTop(c.scrollTop),b&&b.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){return 27===a.which?(a.preventDefault(),this.escape(),void 0):void 0}}),c.view.FocusManager=c.View.extend({events:{keydown:"recordTab",focusin:"updateIndex"},focus:function(){_.isUndefined(this.index)||(this.$tabbables=this.$(":tabbable"),this.$tabbables.eq(this.index).focus())},recordTab:function(a){if(9===a.keyCode&&(_.isUndefined(this.index)&&this.updateIndex(a),!_.isUndefined(this.index))){var b=this.index+(a.shiftKey?-1:1);b>=0&&b<this.$tabbables.length?this.index=b:delete this.index}},updateIndex:function(a){this.$tabbables=this.$(":tabbable");var b=this.$tabbables.index(a.target);-1===b?delete this.index:this.index=b}}),c.view.UploaderWindow=c.View.extend({tagName:"div",className:"uploader-window",template:c.template("uploader-window"),initialize:function(){var b;this.$browser=a('<a href="#" class="browser" />').hide().appendTo("body"),b=this.options.uploader=_.defaults(this.options.uploader||{},{dropzone:this.$el,browser:this.$browser,params:{}}),!b.dropzone||b.dropzone instanceof a||(b.dropzone=a(b.dropzone)),this.controller.on("activate",this.refresh,this)},refresh:function(){this.uploader&&this.uploader.refresh()},ready:function(){var a,b=c.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)))},show:function(){var a=this.$el.show();_.defer(function(){a.css({opacity:1})})},hide:function(){var a=this.$el.css({opacity:0});c.transition(a).done(function(){"0"===a.css("opacity")&&a.hide()})}}),c.view.UploaderInline=c.View.extend({tagName:"div",className:"uploader-inline",template:c.template("uploader-inline"),initialize:function(){_.defaults(this.options,{message:"",status:!0}),!this.options.$browser&&this.controller.uploader&&(this.options.$browser=this.controller.uploader.$browser),_.isUndefined(this.options.postId)&&(this.options.postId=c.view.settings.post.id),this.options.status&&this.views.set(".upload-inline-status",new c.view.UploaderStatus({controller:this.controller}))},dispose:function(){return this.disposing?c.View.prototype.dispose.apply(this,arguments):(this.disposing=!0,this.remove())},remove:function(){var a=c.View.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}}),c.view.UploaderStatus=c.View.extend({className:"media-uploader-status",template:c.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),c.View.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 c.truncate(_.escape(a),24)},error:function(a){this.views.add(".upload-errors",new c.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()}}),c.view.UploaderStatusError=c.View.extend({className:"upload-error",template:c.template("uploader-status-error")}),c.view.Toolbar=c.View.extend({tagName:"div",className:"media-toolbar",initialize:function(){var a=this.controller.state(),b=this.selection=a.get("selection"),d=this.library=a.get("library");this._views={},this.primary=new c.view.PriorityList,this.secondary=new c.view.PriorityList,this.primary.$el.addClass("media-toolbar-primary"),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),d&&d.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),c.View.prototype.dispose.apply(this,arguments)},ready:function(){this.refresh()},set:function(a,b,d){var e;return d=d||{},_.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 c.view.Button(b).render()),b.controller=b.controller||this.controller,this._views[a]=b,e=b.options.priority<0?"secondary":"primary",this[e].set(a,b,d)),d.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)}})}}),c.view.Toolbar.Select=c.view.Toolbar.extend({initialize:function(){var a=this.options;_.bindAll(this,"clickSelect"),_.defaults(a,{event:"select",state:!1,reset:!0,close:!0,text:b.select,requires:{selection:!0}}),a.items=_.defaults(a.items||{},{select:{style:"primary",text:a.text,priority:80,click:this.clickSelect,requires:a.requires}}),c.view.Toolbar.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()}}),c.view.Toolbar.Embed=c.view.Toolbar.Select.extend({initialize:function(){_.defaults(this.options,{text:b.insertIntoPost,requires:!1}),c.view.Toolbar.Select.prototype.initialize.apply(this,arguments)},refresh:function(){var a=this.controller.state().props.get("url");this.get("select").model.set("disabled",!a||"http://"===a),c.view.Toolbar.Select.prototype.refresh.apply(this,arguments)}}),c.view.Button=c.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.model.on("change",this.render,this)},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)}}),c.view.ButtonGroup=c.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 c.view.Button(a).render()}),delete this.options.buttons,this.options.classes&&this.$el.addClass(this.options.classes)},render:function(){return this.$el.html(a(_.pluck(this.buttons,"el")).detach()),this}}),c.view.PriorityList=c.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 c.View(a)}}),c.view.MenuItem=c.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()},click:function(){var a=this.options.state;a&&this.controller.setState(a)},render:function(){var a=this.options;return a.text?this.$el.text(a.text):a.html&&this.$el.html(a.html),this}}),c.view.Menu=c.view.PriorityList.extend({tagName:"div",className:"media-menu",property:"state",ItemView:c.view.MenuItem,region:"menu",toView:function(a,b){return a=a||{},a[this.property]=a[this.property]||b,new this.ItemView(a).render()},ready:function(){c.view.PriorityList.prototype.ready.apply(this,arguments),this.visibility()},set:function(){c.view.PriorityList.prototype.set.apply(this,arguments),this.visibility()},unset:function(){c.view.PriorityList.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")}}),c.view.RouterItem=c.view.MenuItem.extend({click:function(){var a=this.options.contentMode;a&&this.controller.content.mode(a)}}),c.view.Router=c.view.Menu.extend({tagName:"div",className:"media-router",property:"contentMode",ItemView:c.view.RouterItem,region:"router",initialize:function(){this.controller.on("content:render",this.update,this),c.view.Menu.prototype.initialize.apply(this,arguments)},update:function(){var a=this.controller.content.mode();a&&this.select(a)}}),c.view.Sidebar=c.view.PriorityList.extend({className:"media-sidebar"}),c.view.Attachment=c.View.extend({tagName:"li",className:"attachment",template:c.template("attachment"),events:{"click .attachment-preview":"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":"removeFromSelection","click a":"preventDefault"},buttons:{},initialize:function(){var a=this.options.selection;this.model.on("change:sizes change:uploading",this.render,this),this.model.on("change:title",this._syncTitle,this),this.model.on("change:caption",this._syncCaption,this),this.model.on("change:percent",this.progress,this),this.model.on("add",this.select,this),this.model.on("remove",this.deselect,this),a&&a.on("reset",this.updateSelect,this),this.model.on("selection:single selection:unsingle",this.details,this),this.details(this.model,this.controller.state().get("selection"))},dispose:function(){var a=this.options.selection;return this.updateAll(),a&&a.off(null,null,this),c.View.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:""});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),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;a.shiftKey?b="between":(a.ctrlKey||a.metaKey)&&(b="toggle"),this.toggleSelection({method:b})},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).single(h),void 0}if("toggle"===i)return g[this.selected()?"remove":"add"](h).single(h),void 0;"add"!==i&&(i="reset"),this.selected()?g[b===h?"remove":"single"](h):g[i](h).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;!c||b&&b!==c||this.$el.addClass("selected")},deselect:function(a,b){var c=this.options.selection;!c||b&&b!==c||this.$el.removeClass("selected")},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");return a=a||"medium",b&&b[a]?_.clone(b[a]):{url:this.model.get("url"),width:this.model.get("width"),height:this.model.get("height"),orientation:this.model.get("orientation")}},updateSetting:function(b){var c,d,e=a(b.target).closest("[data-setting]");e.length&&(c=e.data("setting"),d=b.target.value,this.model.get(c)!==d&&this.save(c,d))},save:function(){var b=this,c=this._save=this._save||{status:"ready"},d=this.model.save.apply(this.model,arguments),e=c.requests?a.when(d,c.requests):d;c.savedTimer&&clearTimeout(c.savedTimer),this.updateSave("waiting"),c.requests=e,e.always(function(){c.requests===e&&(b.updateSave("resolved"===e.state()?"complete":"error"),c.savedTimer=setTimeout(function(){b.updateSave("ready"),delete c.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 b,c=this.$("[data-setting]"),d=this.model;b=_.chain(c).map(function(b){var c,e,f=a("input, textarea, select, [value]",b);if(f.length)return c=a(b).data("setting"),e=f.val(),d.get(c)!==e?[c,e]:void 0}).compact().object().value(),_.isEmpty(b)||d.save(b)},removeFromLibrary:function(a){a.stopPropagation(),this.collection.remove(this.model)},removeFromSelection:function(a){var b=this.options.selection;b&&(a.stopPropagation(),b.remove(this.model))}}),_.each({caption:"_syncCaption",title:"_syncTitle"},function(a,b){c.view.Attachment.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}}),c.view.Attachment.Library=c.view.Attachment.extend({buttons:{check:!0}}),c.view.Attachment.EditLibrary=c.view.Attachment.extend({buttons:{close:!0}}),c.view.Attachments=c.View.extend({tagName:"ul",className:"attachments",cssTemplate:c.template("attachments-css"),events:{scroll:"scroll"},initialize:function(){this.el.id=_.uniqueId("__attachments-view-"),_.defaults(this.options,{refreshSensitivity:200,refreshThreshold:3,AttachmentView:c.view.Attachment,sortable:!1,resize:!0}),this._viewsByCid={},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.scroll=_.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value(),this.initSortable(),_.bindAll(this,"css"),this.model.on("change:edge change:gutter",this.css,this),this._resizeCss=_.debounce(_.bind(this.css,this),this.refreshSensitivity),this.options.resize&&a(window).on("resize.attachments",this._resizeCss),this.css()},dispose:function(){this.collection.props.off(null,null,this),a(window).off("resize.attachments",this._resizeCss),c.View.prototype.dispose.apply(this,arguments)},css:function(){var b=a("#"+this.el.id+"-css");b.length&&b.remove(),c.view.Attachments.$head().append(this.cssTemplate({id:this.el.id,edge:this.edge(),gutter:this.model.get("gutter")}))},edge:function(){var a,b,c,d=this.model.get("edge");return this.$el.is(":visible")?(a=2*this.model.get("gutter"),b=this.$el.width()-a,c=Math.ceil(b/(d+a)),d=Math.floor((b-c*a)/c)):d},initSortable:function(){var b=this.collection;this.options.sortable&&a.fn.sortable&&(this.$el.sortable(_.extend({disabled:!!b.comparator,containment:this.$el,tolerance:"pointer",start:function(a,b){b.item.data("sortableIndexStart",b.item.index())},update:function(a,c){var d=b.at(c.item.data("sortableIndexStart")),e=b.comparator;delete b.comparator,b.remove(d,{silent:!0}).add(d,{silent:!0,at:c.item.index()}),b.comparator=e,b.trigger("reset",b),b.saveMenuOrder()}},this.options.sortable)),b.props.on("change:orderby",function(){this.$el.sortable("option","disabled",!!b.comparator)},this),this.collection.props.on("change:orderby",this.refreshSortable,this),this.refreshSortable())},refreshSortable:function(){if(this.options.sortable&&a.fn.sortable){var b=this.collection,c=b.props.get("orderby"),d="menuOrder"===c||!b.comparator;this.$el.sortable("option","disabled",!d)}},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(){this.$el.is(":visible")&&this.collection.hasMore()&&this.el.scrollHeight<this.el.scrollTop+this.el.clientHeight*this.options.refreshThreshold&&this.collection.more().done(this.scroll)}},{$head:function(){var b;return function(){return b=b||a("head")}}()}),c.view.Search=c.View.extend({tagName:"input",className:"search",attributes:{type:"search",placeholder:b.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")}}),c.view.AttachmentFilters=c.View.extend({tagName:"select",className:"attachment-filters",events:{change:"change"},keys:[],initialize:function(){this.createFilters(),_.extend(this.filters,this.options.filters),this.$el.html(_.chain(this.filters).map(function(b,c){return{el:a("<option></option>").val(c).text(b.text)[0],priority:b.priority||50}},this).sortBy("priority").pluck("el").value()),this.model.on("change",this.select,this),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)}}),c.view.AttachmentFilters.Uploaded=c.view.AttachmentFilters.extend({createFilters:function(){var a,d=this.model.get("type"),e=c.view.settings.mimeTypes;e&&d&&(a=e[d]),this.filters={all:{text:a||b.allMediaItems,props:{uploadedTo:null,orderby:"date",order:"DESC"},priority:10},uploaded:{text:b.uploadedToThisPost,props:{uploadedTo:c.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20}}}}),c.view.AttachmentFilters.All=c.view.AttachmentFilters.extend({createFilters:function(){var a={};_.each(c.view.settings.mimeTypes||{},function(b,c){a[c]={text:b,props:{type:c,uploadedTo:null,orderby:"date",order:"DESC"}}}),a.all={text:b.allMediaItems,props:{type:null,uploadedTo:null,orderby:"date",order:"DESC"},priority:10},a.uploaded={text:b.uploadedToThisPost,props:{type:null,uploadedTo:c.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20},this.filters=a}}),c.view.AttachmentsBrowser=c.View.extend({tagName:"div",className:"attachments-browser",initialize:function(){_.defaults(this.options,{filters:!1,search:!0,display:!1,AttachmentView:c.view.Attachment.Library}),this.createToolbar(),this.updateContent(),this.createSidebar(),this.collection.on("add remove reset",this.updateContent,this)},dispose:function(){return this.options.selection.off(null,null,this),c.View.prototype.dispose.apply(this,arguments),this},createToolbar:function(){var d,e;this.toolbar=new c.view.Toolbar({controller:this.controller}),this.views.add(this.toolbar),d=this.options.filters,"uploaded"===d?e=c.view.AttachmentFilters.Uploaded:"all"===d&&(e=c.view.AttachmentFilters.All),e&&this.toolbar.set("filters",new e({controller:this.controller,model:this.collection.props,priority:-80}).render()),this.options.search&&this.toolbar.set("search",new c.view.Search({controller:this.controller,model:this.collection.props,priority:60}).render()),this.options.dragInfo&&this.toolbar.set("dragInfo",new c.View({el:a('<div class="instructions">'+b.dragInfo+"</div>")[0],priority:-40}))},updateContent:function(){var a=this;this.attachments||this.createAttachments(),this.collection.length||this.collection.more().done(function(){a.collection.length||a.createUploader()})},removeContent:function(){_.each(["attachments","uploader"],function(a){this[a]&&(this[a].remove(),delete this[a])},this)},createUploader:function(){this.removeContent(),this.uploader=new c.view.UploaderInline({controller:this.controller,status:!1,message:b.noItemsFound}),this.views.add(this.uploader)},createAttachments:function(){this.removeContent(),this.attachments=new c.view.Attachments({controller:this.controller,collection:this.collection,selection:this.options.selection,model:this.model,sortable:this.options.sortable,AttachmentView:this.options.AttachmentView}),this.views.add(this.attachments)},createSidebar:function(){var a=this.options,b=a.selection,d=this.sidebar=new c.view.Sidebar({controller:this.controller});this.views.add(d),this.controller.uploader&&d.set("uploads",new c.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 c.view.Attachment.Details({controller:this.controller,model:b,priority:80})),a.set("compat",new c.view.AttachmentCompat({controller:this.controller,model:b,priority:120})),this.options.display&&a.set("display",new c.view.Settings.AttachmentDisplay({controller:this.controller,model:this.model.display(b),attachment:b,priority:160,userSettings:this.model.get("displayUserSettings")}))},disposeSingle:function(){var a=this.sidebar;a.unset("details"),a.unset("compat"),a.unset("display")}}),c.view.Selection=c.View.extend({tagName:"div",className:"media-selection",template:c.template("media-selection"),events:{"click .edit-selection":"edit","click .clear-selection":"clear"},initialize:function(){_.defaults(this.options,{editable:!1,clearable:!0}),this.attachments=new c.view.Attachments.Selection({controller:this.controller,collection:this.collection,selection:this.collection,model:new Backbone.Model({edge:40,gutter:5})}),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,c="edit-selection"===this.controller.content.mode();this.$el.toggleClass("empty",!a.length),this.$el.toggleClass("one",1===a.length),this.$el.toggleClass("editing",c),this.$(".count").text(b.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()}}),c.view.Attachment.Selection=c.view.Attachment.extend({className:"attachment selection",toggleSelection:function(){this.options.selection.single(this.model)}}),c.view.Attachments.Selection=c.view.Attachments.extend({events:{},initialize:function(){return _.defaults(this.options,{sortable:!0,resize:!1,AttachmentView:c.view.Attachment.Selection}),c.view.Attachments.prototype.initialize.apply(this,arguments)}}),c.view.Attachment.EditSelection=c.view.Attachment.Selection.extend({buttons:{close:!0}}),c.view.Settings=c.View.extend({events:{"click button":"updateHandler","change input":"updateHandler","change select":"updateHandler","change textarea":"updateHandler"},initialize:function(){this.model=this.model||new Backbone.Model,this.model.on("change",this.updateChanges,this)},prepare:function(){return _.defaults({model:this.model.toJSON()},this.options)},render:function(){return c.View.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.attr("checked",!!d))},updateHandler:function(b){var c,d=a(b.target).closest("[data-setting]"),e=b.target.value;b.preventDefault(),d.length&&(d.is('input[type="checkbox"]')&&(e=d[0].checked),this.model.set(d.data("setting"),e),(c=d.data("userSetting"))&&setUserSetting(c,e))},updateChanges:function(a){a.hasChanged()&&_(a.changed).chain().keys().each(this.update,this)}}),c.view.Settings.AttachmentDisplay=c.view.Settings.extend({className:"attachment-display-settings",template:c.template("attachment-display-settings"),initialize:function(){var a=this.options.attachment;_.defaults(this.options,{userSettings:!1}),c.view.Settings.prototype.initialize.apply(this,arguments),this.model.on("change:link",this.updateLinkTo,this),a&&a.on("change:uploading",this.render,this)},dispose:function(){var a=this.options.attachment;a&&a.off(null,null,this),c.view.Settings.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")}),c.view.Settings.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?(b.hide(),void 0):(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.show(),b.is(":visible")&&b.focus()[0].select(),void 0)}}),c.view.Settings.Gallery=c.view.Settings.extend({className:"gallery-settings",template:c.template("gallery-settings")}),c.view.Attachment.Details=c.view.Attachment.extend({tagName:"div",className:"attachment-details",template:c.template("attachment-details"),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 .edit-attachment":"editAttachment","click .refresh-attachment":"refreshAttachment"},initialize:function(){this.focusManager=new c.view.FocusManager({el:this.el}),c.view.Attachment.prototype.initialize.apply(this,arguments)},render:function(){return c.view.Attachment.prototype.render.apply(this,arguments),this.focusManager.focus(),this},deleteAttachment:function(a){a.preventDefault(),confirm(b.warnDelete)&&this.model.destroy()},editAttachment:function(){this.$el.addClass("needs-refresh")},refreshAttachment:function(a){this.$el.removeClass("needs-refresh"),a.preventDefault(),this.model.fetch()}}),c.view.AttachmentCompat=c.View.extend({tagName:"form",className:"compat-item",events:{submit:"preventDefault","change input":"save","change select":"save","change textarea":"save"},initialize:function(){this.focusManager=new c.view.FocusManager({el:this.el}),this.model.on("change:compat",this.render,this)},dispose:function(){return this.$(":focus").length&&this.save(),c.View.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.focusManager.focus(),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.model.saveCompat(b)}}),c.view.Iframe=c.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}}),c.view.Embed=c.View.extend({className:"media-embed",initialize:function(){this.url=new c.view.EmbedUrl({controller:this.controller,model:this.model.props}).render(),this.views.set([this.url]),this.refresh(),this.model.on("change:type",this.refresh,this),this.model.on("change:loading",this.loading,this)},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=c.view.EmbedImage;else{if("link"!==b)return;a=c.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"))}}),c.view.EmbedUrl=c.View.extend({tagName:"label",className:"embed-url",events:{input:"url",keyup:"url",change:"url"},initialize:function(){this.$input=a("<input/>").attr("type","text").val(this.model.get("url")),this.input=this.$input[0],this.spinner=a('<span class="spinner" />')[0],this.$el.append([this.input,this.spinner]),this.model.on("change:url",this.render,this)},render:function(){var a=this.$input;if(!a.is(":focus"))return this.input.value=this.model.get("url")||"http://",c.View.prototype.render.apply(this,arguments),this},ready:function(){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()}}),c.view.EmbedLink=c.view.Settings.extend({className:"embed-link-settings",template:c.template("embed-link-settings")}),c.view.EmbedImage=c.view.Settings.AttachmentDisplay.extend({className:"embed-image-settings",template:c.template("embed-image-settings"),initialize:function(){c.view.Settings.AttachmentDisplay.prototype.initialize.apply(this,arguments),this.model.on("change:url",this.updateImage,this)},updateImage:function(){this.$("img").attr("src",this.model.get("url"))}})}(jQuery);
\ No newline at end of file
+!function(a,b){var c,d=wp.media;c=d.view.l10n="undefined"==typeof _wpMediaViewsL10n?{}:_wpMediaViewsL10n,d.view.settings=c.settings||{},delete c.settings,d.model.settings.post=d.view.settings.post,a.support.transition=function(){var a,c=document.documentElement.style,d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};return a=b.find(b.keys(d),function(a){return!b.isUndefined(c[a])}),a&&{end:d[a]}}(),d.events=b.extend({},Backbone.Events),d.transition=function(c,d){var e=a.Deferred();return d=d||2e3,a.support.transition?(c instanceof a||(c=a(c)),c.first().one(a.support.transition.end,e.resolve),b.delay(e.resolve,d)):e.resolve(),e.promise()},d.controller.Region=function(a){b.extend(this,b.pick(a||{},"id","view","selector"))},d.controller.Region.extend=Backbone.Model.extend,b.extend(d.controller.Region.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 c,d;if(this._mode)return d=b.toArray(arguments),c=this.id+":"+a,d[0]=c+":"+this._mode,this.view.trigger.apply(this.view,d),d[0]=c,this.view.trigger.apply(this.view,d),this}}),d.controller.StateMachine=function(a){this.states=new Backbone.Collection(a)},d.controller.StateMachine.extend=Backbone.Model.extend,b.extend(d.controller.StateMachine.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}}),b.each(["on","off","trigger"],function(a){d.controller.StateMachine.prototype[a]=function(){return this.states=this.states||new Backbone.Collection,this.states[a].apply(this.states,arguments),this}}),d.controller.State=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");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)}}),b.each(["toolbar","content"],function(a){d.controller.State.prototype["_"+a]=function(){var b=this.get(a);b&&this.frame[a].render(b)}}),d.selectionSync={syncSelection:function(){var a=this.get("selection"),c=this.frame._selection;this.get("syncSelection")&&c&&a&&(a.multiple&&(a.reset([],{silent:!0}),a.validateAll(c.attachments),c.difference=b.difference(c.attachments.models,a.models)),a.single(c.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)}},d.controller.Library=d.controller.State.extend({defaults:{id:"library",multiple:!1,describe:!1,toolbar:"select",sidebar:"settings",content:"upload",router:"browse",menu:"default",searchable:!0,filterable:!1,sortable:!0,title:c.mediaLibraryTitle,contentUserSetting:!0,syncSelection:!0},initialize:function(){var a,c=this.get("selection");this.get("library")||this.set("library",d.query()),c instanceof d.model.Selection||(a=c,a||(a=this.get("library").props.toJSON(),a=b.omit(a,"orderby","query")),this.set("selection",new d.model.Selection(null,{multiple:this.get("multiple"),props:a}))),this.get("edge")||this.set("edge",120),this.get("gutter")||this.set("gutter",8),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("contentUserSetting")&&(this.frame.on("content:activate",this.saveContentMode,this),this.set("content",getUserSetting("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=d.view.settings.defaultProps;this._displays=[],this._defaultDisplaySettings={align:a.align||getUserSetting("align","none"),size:a.size||getUserSetting("imgsize","medium"),link:a.link||getUserSetting("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 c=a.get("type");if("audio"!==c&&"video"!==c)return!1}return b.contains(d.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("selection").add(a)},saveContentMode:function(){if("browse"===this.get("router")){var a=this.frame.content.mode(),b=this.frame.router.get();b&&b.get(a)&&setUserSetting("libraryContent",a)}}}),b.extend(d.controller.Library.prototype,d.selectionSync),d.controller.ImageDetails=d.controller.State.extend({defaults:b.defaults({id:"image-details",toolbar:"image-details",title:c.imageDetailsTitle,content:"image-details",menu:"image-details",router:!1,attachment:!1,priority:60,editing:!1},d.controller.Library.prototype.defaults),initialize:function(a){this.image=a.image,d.controller.State.prototype.initialize.apply(this,arguments)},activate:function(){this.frame.modal.$el.addClass("image-details")}}),d.controller.GalleryEdit=d.controller.Library.extend({defaults:{id:"gallery-edit",multiple:!1,describe:!0,edge:199,editing:!1,sortable:!0,searchable:!1,toolbar:"gallery-edit",content:"browse",title:c.editGalleryTitle,priority:60,dragInfo:!0,syncSelection:!1},initialize:function(){this.get("library")||this.set("library",new d.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",d.view.Attachment.EditLibrary),d.controller.Library.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.controller.Library.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.gallerySettings,this),d.controller.Library.prototype.deactivate.apply(this,arguments)},gallerySettings:function(a){var b=this.get("library");b&&a&&(b.gallery=b.gallery||new Backbone.Model,a.sidebar.set({gallery:new d.view.Settings.Gallery({controller:this,model:b.gallery,priority:40})}),a.toolbar.set("reverse",{text:c.reverseOrder,priority:80,click:function(){b.reset(b.toArray().reverse())}}))}}),d.controller.GalleryAdd=d.controller.Library.extend({defaults:b.defaults({id:"gallery-library",filterable:"uploaded",multiple:"add",menu:"gallery",toolbar:"gallery-add",title:c.addToGalleryTitle,priority:100,syncSelection:!1},d.controller.Library.prototype.defaults),initialize:function(){this.get("library")||this.set("library",d.query({type:"image"})),d.controller.Library.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.model.Selection.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(b),this.editLibrary=b,d.controller.Library.prototype.activate.apply(this,arguments)}}),d.controller.CollectionEdit=d.controller.Library.extend({defaults:{multiple:!1,describe:!0,edge:199,editing:!1,sortable:!0,searchable:!1,content:"browse",priority:60,dragInfo:!0,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 d.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",d.view.Attachment.EditLibrary),d.controller.Library.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.controller.Library.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.renderSettings,this),d.controller.Library.prototype.deactivate.apply(this,arguments)},renderSettings:function(b){var e=this.get("library"),f=this.get("collectionType"),g=this.get("dragInfoText"),h=this.get("SettingsView"),i={};e&&b&&(e[f]=e[f]||new Backbone.Model,i[f]=new h({controller:this,model:e[f],priority:40}),b.sidebar.set(i),g&&b.toolbar.set("dragInfo",new d.View({el:a('<div class="instructions">'+g+"</div>")[0],priority:-40})),b.toolbar.set("reverse",{text:c.reverseOrder,priority:80,click:function(){e.reset(e.toArray().reverse())}}))}}),d.controller.CollectionAdd=d.controller.Library.extend({defaults:b.defaults({filterable:"uploaded",multiple:"add",priority:100,syncSelection:!1},d.controller.Library.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",d.query({type:this.get("type")})),d.controller.Library.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.model.Selection.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(c),this.set("editLibrary",c),d.controller.Library.prototype.activate.apply(this,arguments)}}),d.controller.FeaturedImage=d.controller.Library.extend({defaults:b.defaults({id:"featured-image",filterable:"uploaded",multiple:!1,toolbar:"featured-image",title:c.setFeaturedImageTitle,priority:60,syncSelection:!0},d.controller.Library.prototype.defaults),initialize:function(){var a,b;this.get("library")||this.set("library",d.query({type:"image"})),d.controller.Library.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),d.controller.Library.prototype.activate.apply(this,arguments)},deactivate:function(){this.frame.off("open",this.updateSelection,this),d.controller.Library.prototype.deactivate.apply(this,arguments)},updateSelection:function(){var a,b=this.get("selection"),c=d.view.settings.post.featuredImageId;""!==c&&-1!==c&&(a=d.model.Attachment.get(c),a.fetch()),b.reset(a?[a]:[])}}),d.controller.ReplaceImage=d.controller.Library.extend({defaults:b.defaults({id:"replace-image",filterable:"uploaded",multiple:!1,toolbar:"replace",title:c.replaceImageTitle,priority:60,syncSelection:!0},d.controller.Library.prototype.defaults),initialize:function(a){var b,c;this.image=a.image,this.get("library")||this.set("library",d.query({type:"image"})),d.controller.Library.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.controller.Library.prototype.activate.apply(this,arguments)},updateSelection:function(){var a=this.get("selection"),b=this.image.attachment;a.reset(b?[b]:[])}}),d.controller.EditImage=d.controller.State.extend({defaults:{id:"edit-image",url:"",menu:!1,toolbar:"edit-image",title:c.editImage,content:"edit-image"},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(),e=b&&b.id;a.toolbar.set(new d.view.Toolbar({controller:a,items:{back:{style:"primary",text:c.back,priority:20,click:function(){e?a.setState(e):a.close()}}}}))}}),d.controller.MediaLibrary=d.controller.Library.extend({defaults:b.defaults({filterable:"uploaded",priority:80,syncSelection:!1,displaySettings:!1},d.controller.Library.prototype.defaults),initialize:function(a){this.media=a.media,this.type=a.type,this.set("library",d.query({type:this.type})),d.controller.Library.prototype.initialize.apply(this,arguments)},activate:function(){d.frame.lastMime&&(this.set("library",d.query({type:d.frame.lastMime})),delete d.frame.lastMime),d.controller.Library.prototype.activate.apply(this,arguments)}}),d.controller.Embed=d.controller.State.extend({defaults:{id:"embed",url:"",menu:"default",content:"embed",toolbar:"main-embed",type:"link",title:c.insertFromUrlTitle,priority:120},sensitivity:200,initialize:function(){this.debouncedScan=b.debounce(b.bind(this.scan,this),this.sensitivity),this.props=new Backbone.Model({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 b,c=this,d={type:"link",scanners:[]};this.props.get("url")&&this.trigger("scan",d),d.scanners.length?(b=d.scanners=a.when.apply(a,d.scanners),b.always(function(){c.get("scanners")===b&&c.set("loading",!1)})):d.scanners=null,d.loading=!!d.scanners,this.set(d)},scanImage:function(b){var c=this.frame,d=this,e=this.props.get("url"),f=new Image,g=a.Deferred();b.scanners.push(g.promise()),f.onload=function(){g.resolve(),d===c.state()&&e===d.props.get("url")&&(d.set({type:"image"}),d.props.set({width:f.width,height:f.height}))},f.onerror=g.reject,f.src=e},refresh:function(){this.frame.toolbar.get().refresh()},reset:function(){this.props.clear().set({url:""}),this.active&&this.refresh()}}),d.controller.Cropper=d.controller.State.extend({defaults:{id:"cropper",title:c.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,d;a=this.get("canSkipCrop")||!1,d={controller:this.frame,items:{insert:{style:"primary",text:c.cropImage,priority:80,requires:{library:!1,selection:!1},click:function(){var a=this,b=this.controller.state().get("selection").first();b.set({cropDetails:this.controller.state().imgSelect.getSelection()}),this.$el.text(c.cropping),this.$el.attr("disabled",!0),this.controller.state().doCrop(b).done(function(b){a.controller.trigger("cropped",b),a.controller.close()}).fail(function(){a.controller.trigger("content:error:crop")})}}}},a&&b.extend(d.items,{skip:{style:"secondary",text:c.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(d))},doCrop:function(a){return wp.ajax.post("custom-header-crop",{nonce:a.get("nonces").edit,id:a.get("id"),cropDetails:a.get("cropDetails")})}}),d.View=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)}}),d.view.Frame=d.View.extend({initialize:function(){this._createRegions(),this._createStates()},_createRegions:function(){this.regions=this.regions?this.regions.slice():[],b.each(this.regions,function(a){this[a]=new d.controller.Region({view:this,id:a,selector:".media-frame-"+a})},this)},_createStates:function(){this.states=new Backbone.Collection(null,{model:d.controller.State}),this.states.on("add",function(a){a.frame=this,a.trigger("ready")},this),this.options.states&&this.states.add(this.options.states)},reset:function(){return this.states.invoke("trigger","reset"),this}}),b.extend(d.view.Frame.prototype,d.controller.StateMachine.prototype),d.view.MediaFrame=d.view.Frame.extend({className:"media-frame",template:d.template("media-frame"),regions:["menu","title","content","toolbar","router"],initialize:function(){d.view.Frame.prototype.initialize.apply(this,arguments),b.defaults(this.options,{title:"",modal:!0,uploader:!0}),this.$el.addClass("wp-core-ui"),this.options.modal&&(this.modal=new d.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 d.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",b.bind(this.views.ready,this.views),this),this.on("title:create:default",this.createTitle,this),this.title.mode("default"),this.on("menu:create:default",this.createMenu,this)},render:function(){return!this.state()&&this.options.state&&this.setState(this.options.state),d.view.Frame.prototype.render.apply(this,arguments)},createTitle:function(a){a.view=new d.View({controller:this,tagName:"h1"})},createMenu:function(a){a.view=new d.view.Menu({controller:this})},createToolbar:function(a){a.view=new d.view.Toolbar({controller:this})},createRouter:function(a){a.view=new d.view.Router({controller:this})},createIframeStates:function(c){var e,f=d.view.settings,g=f.tabs,h=f.tabUrl;g&&h&&(e=a("#post_ID"),e.length&&(h+="&post_id="+e.val()),b.each(g,function(a,d){this.state("iframe:"+d).set(b.defaults({tab:d,src:h+"&tab="+d,title:a,content:"iframe",menu:"default"},c))},this),this.on("content:create:iframe",this.iframeContent,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 d.view.Iframe({controller:this})},iframeMenu:function(a){var c={};a&&(b.each(d.view.settings.tabs,function(a,b){c["iframe:"+b]={text:this.state("iframe:"+b).get("title"),priority:200}},this),a.set(c))},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)}}),b.each(["open","close","attach","detach","escape"],function(a){d.view.MediaFrame.prototype[a]=function(){return this.modal&&this.modal[a].apply(this.modal,arguments),this}}),d.view.MediaFrame.Select=d.view.MediaFrame.extend({initialize:function(){d.view.MediaFrame.prototype.initialize.apply(this,arguments),b.defaults(this.options,{selection:[],library:{},multiple:!1,state:"library"}),this.createSelection(),this.createStates(),this.bindHandlers()},createSelection:function(){var a=this.options.selection;a instanceof d.model.Selection||(this.options.selection=new d.model.Selection(a,{multiple:this.options.multiple})),this._selection={attachments:new d.model.Attachments,difference:[]}},createStates:function(){var a=this.options;this.options.states||this.states.add([new d.controller.Library({library:d.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:c.uploadFilesTitle,priority:20},browse:{text:c.mediaLibraryTitle,priority:40}})},browseContent:function(a){var b=this.state();this.$el.removeClass("hide-toolbar"),a.view=new d.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"),display:b.get("displaySettings"),dragInfo:b.get("dragInfo"),suggestedWidth:b.get("suggestedWidth"),suggestedHeight:b.get("suggestedHeight"),AttachmentView:b.get("AttachmentView")})},uploadContent:function(){this.$el.removeClass("hide-toolbar"),this.content.set(new d.view.UploaderInline({controller:this}))},createSelectToolbar:function(a,b){b=b||this.options.button||{},b.controller=this,a.view=new d.view.Toolbar.Select(b)}}),d.view.MediaFrame.Post=d.view.MediaFrame.Select.extend({initialize:function(){this.counts={audio:{count:d.view.settings.attachmentCounts.audio,state:"playlist"},video:{count:d.view.settings.attachmentCounts.video,state:"video-playlist"}},b.defaults(this.options,{multiple:!0,editing:!1,state:"insert"}),d.view.MediaFrame.Select.prototype.initialize.apply(this,arguments),this.createIframeStates()},createStates:function(){var a=this.options;this.states.add([new d.controller.Library({id:"insert",title:c.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:d.query(a.library),multiple:a.multiple?"reset":!1,editable:!0,allowLocalEdits:!0,displaySettings:!0,displayUserSettings:!0}),new d.controller.Library({id:"gallery",title:c.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:!1,library:d.query(b.defaults({type:"image"},a.library))}),new d.controller.Embed,new d.controller.EditImage({model:a.editImage}),new d.controller.GalleryEdit({library:a.selection,editing:a.editing,menu:"gallery"}),new d.controller.GalleryAdd,new d.controller.Library({id:"playlist",title:c.createPlaylistTitle,priority:60,toolbar:"main-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:d.query(b.defaults({type:"audio"},a.library))}),new d.controller.CollectionEdit({type:"audio",collectionType:"playlist",title:c.editPlaylistTitle,SettingsView:d.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"playlist",dragInfoText:c.playlistDragInfo,dragInfo:!1}),new d.controller.CollectionAdd({type:"audio",collectionType:"playlist",title:c.addToPlaylistTitle}),new d.controller.Library({id:"video-playlist",title:c.createVideoPlaylistTitle,priority:60,toolbar:"main-video-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:d.query(b.defaults({type:"video"},a.library))}),new d.controller.CollectionEdit({type:"video",collectionType:"playlist",title:c.editVideoPlaylistTitle,SettingsView:d.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"video-playlist",dragInfoText:c.playlistDragInfo,dragInfo:!1}),new d.controller.CollectionAdd({type:"video",collectionType:"playlist",title:c.addToVideoPlaylistTitle})]),d.view.settings.post.featuredImageId&&this.states.add(new d.controller.FeaturedImage)},bindHandlers:function(){var a,c;d.view.MediaFrame.Select.prototype.bindHandlers.apply(this,arguments),this.on("activate",this.activate,this),c=b.find(this.counts,function(a){return 0===a.count}),"undefined"!=typeof c&&this.listenTo(d.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"}},b.each(a,function(a,c){b.each(a,function(a,b){this.on(c+":render:"+b,this[a],this)},this)},this)},activate:function(){b.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 d.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(),e=b&&b.id,f=this;a.set({cancel:{text:c.cancelGalleryTitle,priority:20,click:function(){e?f.setState(e):f.close()}},separateCancel:new d.View({className:"separator",priority:40})})},playlistMenu:function(a){var b=this.lastState(),e=b&&b.id,f=this;a.set({cancel:{text:c.cancelPlaylistTitle,priority:20,click:function(){e?f.setState(e):f.close()}},separateCancel:new d.View({className:"separator",priority:40})})},videoPlaylistMenu:function(a){var b=this.lastState(),e=b&&b.id,f=this;a.set({cancel:{text:c.cancelVideoPlaylistTitle,priority:20,click:function(){e?f.setState(e):f.close()}},separateCancel:new d.View({className:"separator",priority:40})})},embedContent:function(){var a=new d.view.Embed({controller:this,model:this.state()}).render();this.content.set(a),a.url.focus()},editSelectionContent:function(){var a,b=this.state(),e=b.get("selection");a=new d.view.AttachmentsBrowser({controller:this,collection:e,selection:e,model:b,sortable:!0,search:!1,dragInfo:!0,AttachmentView:d.view.Attachment.EditSelection}).render(),a.toolbar.set("backToLibrary",{text:c.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse")}}),this.content.set(a)},editImageContent:function(){var a=this.state().get("image"),b=new d.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 d.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:c.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:c.createNewGallery,priority:60,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("gallery-edit"),e=a.where({type:"image"});c.set("library",new d.model.Selection(e,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("gallery-edit")}})},mainPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("playlist",{style:"primary",text:c.createNewPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("playlist-edit"),e=a.where({type:"audio"});c.set("library",new d.model.Selection(e,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("playlist-edit")}})},mainVideoPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("video-playlist",{style:"primary",text:c.createNewVideoPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("video-playlist-edit"),e=a.where({type:"video"});c.set("library",new d.model.Selection(e,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("video-playlist-edit")}})},featuredImageToolbar:function(a){this.createSelectToolbar(a,{text:c.setFeaturedImage,state:this.options.state})},mainEmbedToolbar:function(a){a.view=new d.view.Toolbar.Embed({controller:this})},galleryEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?c.updateGallery:c.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 d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:c.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 d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?c.updatePlaylist:c.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 d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:c.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 d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?c.updateVideoPlaylist:c.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 d.view.Toolbar({controller:this,items:{insert:{style:"primary",text:c.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")}}}}))}}),d.view.MediaFrame.ImageDetails=d.view.MediaFrame.Select.extend({defaults:{id:"image",url:"",menu:"image-details",content:"image-details",toolbar:"image-details",type:"link",title:c.imageDetailsTitle,priority:120},initialize:function(a){this.image=new d.model.PostImage(a.metadata),this.options.selection=new d.model.Selection(this.image.attachment,{multiple:!1}),d.view.MediaFrame.Select.prototype.initialize.apply(this,arguments)},bindHandlers:function(){d.view.MediaFrame.Select.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("menu:render:image-details",this.renderMenu,this),this.on("toolbar:render:image-details",this.renderImageDetailsToolbar,this),this.on("toolbar:render:replace",this.renderReplaceImageToolbar,this)},createStates:function(){this.states.add([new d.controller.ImageDetails({image:this.image,editable:!1,menu:"image-details"}),new d.controller.ReplaceImage({id:"replace-image",library:d.query({type:"image"}),image:this.image,multiple:!1,title:c.imageReplaceTitle,menu:"image-details",toolbar:"replace",priority:80,displaySettings:!0}),new d.controller.EditImage({image:this.image,selection:this.options.selection})])},imageDetailsContent:function(a){a.view=new d.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 d.view.EditImage({model:c,controller:this}).render(),this.content.set(a),a.loadEditor())},renderMenu:function(a){var b=this.lastState(),e=b&&b.id,f=this;a.set({cancel:{text:c.imageDetailsCancel,priority:20,click:function(){e?f.setState(e):f.close()}},separateCancel:new d.View({className:"separator",priority:40})})},renderImageDetailsToolbar:function(){this.toolbar.set(new d.view.Toolbar({controller:this,items:{select:{style:"primary",text:c.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(),e=b&&b.id;this.toolbar.set(new d.view.Toolbar({controller:this,items:{back:{text:c.back,priority:20,click:function(){e?a.setState(e):a.close()}},replace:{style:"primary",text:c.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()}}}}))}}),d.view.Modal=d.View.extend({tagName:"div",template:d.template("media-modal"),attributes:{tabindex:0},events:{"click .media-modal-backdrop, .media-modal-close":"escapeHandler",keydown:"keydown"},initialize:function(){b.defaults(this.options,{container:document.body,title:"",propagate:!0,freeze:!0})},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 b=this.$el,c=this.options;return b.is(":visible")?this:(this.views.attached||this.attach(),c.freeze&&(this._freeze={scrollTop:a(window).scrollTop()}),b.show().focus(),this.propagate("open"))},close:function(b){var c=this._freeze;return this.views.attached&&this.$el.is(":visible")?(this.$el.hide(),this.propagate("close"),c&&a(window).scrollTop(c.scrollTop),b&&b.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())}}),d.view.FocusManager=d.View.extend({events:{keydown:"recordTab",focusin:"updateIndex"},focus:function(){b.isUndefined(this.index)||(this.$tabbables=this.$(":tabbable"),this.$tabbables.eq(this.index).focus())},recordTab:function(a){if(9===a.keyCode&&(b.isUndefined(this.index)&&this.updateIndex(a),!b.isUndefined(this.index))){var c=this.index+(a.shiftKey?-1:1);c>=0&&c<this.$tabbables.length?this.index=c:delete this.index}},updateIndex:function(a){this.$tabbables=this.$(":tabbable");var b=this.$tabbables.index(a.target);-1===b?delete this.index:this.index=b}}),d.view.UploaderWindow=d.View.extend({tagName:"div",className:"uploader-window",template:d.template("uploader-window"),initialize:function(){var c;this.$browser=a('<a href="#" class="browser" />').hide().appendTo("body"),c=this.options.uploader=b.defaults(this.options.uploader||{},{dropzone:this.$el,browser:this.$browser,params:{}}),!c.dropzone||c.dropzone instanceof a||(c.dropzone=a(c.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 c,e=d.view.settings.post.id;this.uploader||(e&&(this.options.uploader.params.post_id=e),this.uploader=new wp.Uploader(this.options.uploader),c=this.uploader.dropzone,c.on("dropzone:enter",b.bind(this.show,this)),c.on("dropzone:leave",b.bind(this.hide,this)),a(this.uploader).on("uploader:ready",b.bind(this._ready,this)))},_ready:function(){this.controller.trigger("uploader:ready")},show:function(){var a=this.$el.show();b.defer(function(){a.css({opacity:1})})},hide:function(){var a=this.$el.css({opacity:0});d.transition(a).done(function(){"0"===a.css("opacity")&&a.hide()})}}),d.view.EditorUploader=d.View.extend({tagName:"div",className:"uploader-editor",template:d.template("uploader-editor"),localDrag:!1,overContainer:!1,overDropzone:!1,initialize:function(){var c=this;return this.initialized=!1,window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&this.browserSupport()?(this.$document=a(document),this.dropzones=[],this.files=[],this.$document.on("drop",".uploader-editor",b.bind(this.drop,this)),this.$document.on("dragover",".uploader-editor",b.bind(this.dropzoneDragover,this)),this.$document.on("dragleave",".uploader-editor",b.bind(this.dropzoneDragleave,this)),this.$document.on("click",".uploader-editor",b.bind(this.click,this)),this.$document.on("dragover",b.bind(this.containerDragover,this)),this.$document.on("dragleave",b.bind(this.containerDragleave,this)),this.$document.on("dragstart dragend drop",function(a){c.localDrag="dragstart"===a.type}),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)},refresh:function(c){var d;for(d in this.dropzones)this.dropzones[d].toggle(this.overContainer||this.overDropzone);return b.isUndefined(c)||a(c.target).closest(".uploader-editor").toggleClass("droppable",this.overDropzone),this},render:function(){return this.initialized?(d.View.prototype.render.apply(this,arguments),a(".wp-editor-wrap, #wp-fullscreen-body").each(b.bind(this.attach,this)),this):this},attach:function(b,c){var d=this.$el.clone();return this.dropzones.push(d),a(c).append(d),this},drop:function(b){var c=null;return this.containerDragleave(b),this.dropzoneDragleave(b),this.files=b.originalEvent.dataTransfer.files,this.files.length<1?void 0:(c=a(b.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:wp.media.view.l10n.addMedia,multiple:!0}),this.workflow.on("uploader:ready",this.addFiles,this)),!1)},addFiles:function(){return this.files.length&&(this.workflow.uploader.uploader.uploader.addFile(b.toArray(this.files)),this.files=[]),this},containerDragover:function(){this.localDrag||(this.overContainer=!0,this.refresh())},containerDragleave:function(){this.overContainer=!1,b.delay(b.bind(this.refresh,this),50)},dropzoneDragover:function(a){return this.localDrag?void 0:(this.overDropzone=!0,this.refresh(a),!1)},dropzoneDragleave:function(a){this.overDropzone=!1,b.delay(b.bind(this.refresh,this,a),50)},click:function(a){this.containerDragleave(a),this.dropzoneDragleave(a),this.localDrag=!1}}),d.view.UploaderInline=d.View.extend({tagName:"div",className:"uploader-inline",template:d.template("uploader-inline"),initialize:function(){b.defaults(this.options,{message:"",status:!0}),!this.options.$browser&&this.controller.uploader&&(this.options.$browser=this.controller.uploader.$browser),b.isUndefined(this.options.postId)&&(this.options.postId=d.view.settings.post.id),this.options.status&&this.views.set(".upload-inline-status",new d.view.UploaderStatus({controller:this.controller}))},prepare:function(){var a=this.controller.state().get("suggestedWidth"),b=this.controller.state().get("suggestedHeight");return a&&b?{suggestedWidth:a,suggestedHeight:b}:void 0},dispose:function(){return this.disposing?d.View.prototype.dispose.apply(this,arguments):(this.disposing=!0,this.remove())},remove:function(){var a=d.View.prototype.remove.apply(this,arguments);return b.defer(b.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}}),d.view.UploaderStatus=d.View.extend({className:"media-uploader-status",template:d.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.View.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(){b.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,c=this.$bar;c&&a.length&&c.width(a.reduce(function(a,c){if(!c.get("uploading"))return a+100;var d=c.get("percent");return a+(b.isNumber(d)?d: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 d.truncate(b.escape(a),24)},error:function(a){this.views.add(".upload-errors",new d.view.UploaderStatusError({filename:this.filename(a.get("file").name),message:a.get("message")}),{at:0})},dismiss:function(a){var c=this.views.get(".upload-errors");a.preventDefault(),c&&b.invoke(c,"remove"),wp.Uploader.errors.reset()}}),d.view.UploaderStatusError=d.View.extend({className:"upload-error",template:d.template("uploader-status-error")}),d.view.Toolbar=d.View.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 d.view.PriorityList,this.secondary=new d.view.PriorityList,this.primary.$el.addClass("media-toolbar-primary"),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.View.prototype.dispose.apply(this,arguments)},ready:function(){this.refresh()},set:function(a,c,e){var f;return e=e||{},b.isObject(a)?b.each(a,function(a,b){this.set(b,a,{silent:!0})},this):(c instanceof Backbone.View||(c.classes=["media-button-"+a].concat(c.classes||[]),c=new d.view.Button(c).render()),c.controller=c.controller||this.controller,this._views[a]=c,f=c.options.priority<0?"secondary":"primary",this[f].set(a,c,e)),e.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(),c=a.get("library"),d=a.get("selection");b.each(this._views,function(a){if(a.model&&a.options&&a.options.requires){var e=a.options.requires,f=!1;f=b.some(d.models,function(a){return a.get("uploading")===!0}),e.selection&&d&&!d.length?f=!0:e.library&&c&&!c.length&&(f=!0),a.model.set("disabled",f)}})}}),d.view.Toolbar.Select=d.view.Toolbar.extend({initialize:function(){var a=this.options;b.bindAll(this,"clickSelect"),b.defaults(a,{event:"select",state:!1,reset:!0,close:!0,text:c.select,requires:{selection:!0}}),a.items=b.defaults(a.items||{},{select:{style:"primary",text:a.text,priority:80,click:this.clickSelect,requires:a.requires}}),d.view.Toolbar.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()}}),d.view.Toolbar.Embed=d.view.Toolbar.Select.extend({initialize:function(){b.defaults(this.options,{text:c.insertIntoPost,requires:!1}),d.view.Toolbar.Select.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.view.Toolbar.Select.prototype.refresh.apply(this,arguments)}}),d.view.Button=d.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),b.each(this.defaults,function(a,c){var d=this.options[c];b.isUndefined(d)||(this.model.set(c,d),delete this.options[c])},this),this.model.on("change",this.render,this)},render:function(){var a=["button",this.className],c=this.model.toJSON();return c.style&&a.push("button-"+c.style),c.size&&a.push("button-"+c.size),a=b.uniq(a.concat(this.options.classes)),this.el.className=a.join(" "),this.$el.attr("disabled",c.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)}}),d.view.ButtonGroup=d.View.extend({tagName:"div",className:"button-group button-large media-button-group",initialize:function(){this.buttons=b.map(this.options.buttons||[],function(a){return a instanceof Backbone.View?a:new d.view.Button(a).render()}),delete this.options.buttons,this.options.classes&&this.$el.addClass(this.options.classes)},render:function(){return this.$el.html(a(b.pluck(this.buttons,"el")).detach()),this}}),d.view.PriorityList=d.View.extend({tagName:"div",initialize:function(){this._views={},this.set(b.extend({},this._views,this.options.views),{silent:!0}),delete this.options.views,this.options.silent||this.render()},set:function(a,c,d){var e,f,g;return d=d||{},b.isObject(a)?(b.each(a,function(a,b){this.set(b,a)},this),this):(c instanceof Backbone.View||(c=this.toView(c,a,d)),c.controller=c.controller||this.controller,this.unset(a),e=c.options.priority||10,f=this.views.get()||[],b.find(f,function(a,b){return a.options.priority>e?(g=b,!0):void 0}),this._views[a]=c,this.views.add(c,{at:b.isNumber(g)?g:f.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 d.View(a)}}),d.view.MenuItem=d.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()},click:function(){var a=this.options.state;a&&this.controller.setState(a)},render:function(){var a=this.options;return a.text?this.$el.text(a.text):a.html&&this.$el.html(a.html),this}}),d.view.Menu=d.view.PriorityList.extend({tagName:"div",className:"media-menu",property:"state",ItemView:d.view.MenuItem,region:"menu",toView:function(a,b){return a=a||{},a[this.property]=a[this.property]||b,new this.ItemView(a).render()},ready:function(){d.view.PriorityList.prototype.ready.apply(this,arguments),this.visibility()},set:function(){d.view.PriorityList.prototype.set.apply(this,arguments),this.visibility()},unset:function(){d.view.PriorityList.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")}}),d.view.RouterItem=d.view.MenuItem.extend({click:function(){var a=this.options.contentMode;a&&this.controller.content.mode(a)}}),d.view.Router=d.view.Menu.extend({tagName:"div",className:"media-router",property:"contentMode",ItemView:d.view.RouterItem,region:"router",initialize:function(){this.controller.on("content:render",this.update,this),d.view.Menu.prototype.initialize.apply(this,arguments)},update:function(){var a=this.controller.content.mode();a&&this.select(a)}}),d.view.Sidebar=d.view.PriorityList.extend({className:"media-sidebar"}),d.view.Attachment=d.View.extend({tagName:"li",className:"attachment",template:d.template("attachment"),events:{"click .attachment-preview":"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":"removeFromSelection","click a":"preventDefault"},buttons:{},initialize:function(){var a=this.options.selection;this.model.on("change:sizes change:uploading",this.render,this),this.model.on("change:title",this._syncTitle,this),this.model.on("change:caption",this._syncCaption,this),this.model.on("change:percent",this.progress,this),this.model.on("add",this.select,this),this.model.on("remove",this.deselect,this),a&&a.on("reset",this.updateSelect,this),this.model.on("selection:single selection:unsingle",this.details,this),this.details(this.model,this.controller.state().get("selection"))},dispose:function(){var a=this.options.selection;return this.updateAll(),a&&a.off(null,null,this),d.View.prototype.dispose.apply(this,arguments),this},render:function(){var a=b.defaults(this.model.toJSON(),{orientation:"landscape",uploading:!1,type:"",subtype:"",icon:"",filename:"",caption:"",title:"",dateFormatted:"",width:"",height:"",compat:!1,alt:"",description:""});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),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;a.shiftKey?b="between":(a.ctrlKey||a.metaKey)&&(b="toggle"),this.toggleSelection({method:b})},toggleSelection:function(a){var c,d,e,f,g=this.collection,h=this.options.selection,i=this.model,j=a&&a.method;if(h){if(c=h.single(),j=b.isUndefined(j)?h.multiple:j,"between"===j&&c&&h.multiple){if(c===i)return;return e=g.indexOf(c),f=g.indexOf(this.model),d=f>e?g.models.slice(e,f+1):g.models.slice(f,e+1),h.add(d),void h.single(i)}if("toggle"===j)return h[this.selected()?"remove":"add"](i),void h.single(i);"add"!==j&&(j="reset"),this.selected()?h[c===i?"remove":"single"](i):(h[j](i),h.single(i))}},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;!c||b&&b!==c||this.$el.addClass("selected")},deselect:function(a,b){var c=this.options.selection;!c||b&&b!==c||this.$el.removeClass("selected")},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 c=this.model.get("sizes");return a=a||"medium",c&&c[a]?b.clone(c[a]):{url:this.model.get("url"),width:this.model.get("width"),height:this.model.get("height"),orientation:this.model.get("orientation")}},updateSetting:function(b){var c,d,e=a(b.target).closest("[data-setting]");e.length&&(c=e.data("setting"),d=b.target.value,this.model.get(c)!==d&&this.save(c,d))},save:function(){var b=this,c=this._save=this._save||{status:"ready"},d=this.model.save.apply(this.model,arguments),e=c.requests?a.when(d,c.requests):d;c.savedTimer&&clearTimeout(c.savedTimer),this.updateSave("waiting"),c.requests=e,e.always(function(){c.requests===e&&(b.updateSave("resolved"===e.state()?"complete":"error"),c.savedTimer=setTimeout(function(){b.updateSave("ready"),delete c.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 c,d=this.$("[data-setting]"),e=this.model;c=b.chain(d).map(function(b){var c,d,f=a("input, textarea, select, [value]",b);if(f.length)return c=a(b).data("setting"),d=f.val(),e.get(c)!==d?[c,d]:void 0}).compact().object().value(),b.isEmpty(c)||e.save(c)},removeFromLibrary:function(a){a.stopPropagation(),this.collection.remove(this.model)},removeFromSelection:function(a){var b=this.options.selection;b&&(a.stopPropagation(),b.remove(this.model))}}),b.each({caption:"_syncCaption",title:"_syncTitle"},function(a,b){d.view.Attachment.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}}),d.view.Attachment.Library=d.view.Attachment.extend({buttons:{check:!0}}),d.view.Attachment.EditLibrary=d.view.Attachment.extend({buttons:{close:!0}}),d.view.Attachments=d.View.extend({tagName:"ul",className:"attachments",cssTemplate:d.template("attachments-css"),events:{scroll:"scroll"},initialize:function(){this.el.id=b.uniqueId("__attachments-view-"),b.defaults(this.options,{refreshSensitivity:200,refreshThreshold:3,AttachmentView:d.view.Attachment,sortable:!1,resize:!0}),this._viewsByCid={},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.scroll=b.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value(),this.initSortable(),b.bindAll(this,"css"),this.model.on("change:edge change:gutter",this.css,this),this._resizeCss=b.debounce(b.bind(this.css,this),this.refreshSensitivity),this.options.resize&&a(window).on("resize.attachments",this._resizeCss),this.css()},dispose:function(){this.collection.props.off(null,null,this),a(window).off("resize.attachments",this._resizeCss),d.View.prototype.dispose.apply(this,arguments)},css:function(){var b=a("#"+this.el.id+"-css");b.length&&b.remove(),d.view.Attachments.$head().append(this.cssTemplate({id:this.el.id,edge:this.edge(),gutter:this.model.get("gutter")}))},edge:function(){var a,b,c,d=this.model.get("edge");return this.$el.is(":visible")?(a=2*this.model.get("gutter"),b=this.$el.width()-a,c=Math.ceil(b/(d+a)),d=Math.floor((b-c*a)/c)):d},initSortable:function(){var c=this.collection;this.options.sortable&&a.fn.sortable&&(this.$el.sortable(b.extend({disabled:!!c.comparator,containment:this.$el,tolerance:"pointer",start:function(a,b){b.item.data("sortableIndexStart",b.item.index())},update:function(a,b){var d=c.at(b.item.data("sortableIndexStart")),e=c.comparator;delete c.comparator,c.remove(d,{silent:!0}),c.add(d,{silent:!0,at:b.item.index()}),c.comparator=e,c.trigger("reset",c),c.saveMenuOrder()}},this.options.sortable)),c.props.on("change:orderby",function(){this.$el.sortable("option","disabled",!!c.comparator)},this),this.collection.props.on("change:orderby",this.refreshSortable,this),this.refreshSortable())},refreshSortable:function(){if(this.options.sortable&&a.fn.sortable){var b=this.collection,c=b.props.get("orderby"),d="menuOrder"===c||!b.comparator;this.$el.sortable("option","disabled",!d)}},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;this.$el.is(":visible")&&this.collection.hasMore()&&(a=this.views.parent.toolbar,this.el.scrollHeight-(this.el.scrollTop+this.el.clientHeight)<this.el.clientHeight/3&&a.get("spinner").show(),this.el.scrollHeight<this.el.scrollTop+this.el.clientHeight*this.options.refreshThreshold&&this.collection.more().done(function(){b.scroll(),a.get("spinner").hide()}))}},{$head:function(){var b;return function(){return b=b||a("head")}}()}),d.view.Search=d.View.extend({tagName:"input",className:"search",attributes:{type:"search",placeholder:c.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")}}),d.view.AttachmentFilters=d.View.extend({tagName:"select",className:"attachment-filters",events:{change:"change"},keys:[],initialize:function(){this.createFilters(),b.extend(this.filters,this.options.filters),this.$el.html(b.chain(this.filters).map(function(b,c){return{el:a("<option></option>").val(c).html(b.text)[0],priority:b.priority||50}},this).sortBy("priority").pluck("el").value()),this.model.on("change",this.select,this),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,c="all",d=a.toJSON();b.find(this.filters,function(a,e){var f=b.all(a.props,function(a,c){return a===(b.isUndefined(d[c])?null:d[c])});return f?c=e:void 0}),this.$el.val(c)}}),d.view.AttachmentFilters.Uploaded=d.view.AttachmentFilters.extend({createFilters:function(){var a,b=this.model.get("type"),e=d.view.settings.mimeTypes;e&&b&&(a=e[b]),this.filters={all:{text:a||c.allMediaItems,props:{uploadedTo:null,orderby:"date",order:"DESC"},priority:10},uploaded:{text:c.uploadedToThisPost,props:{uploadedTo:d.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20}}}}),d.view.AttachmentFilters.All=d.view.AttachmentFilters.extend({createFilters:function(){var a={};b.each(d.view.settings.mimeTypes||{},function(b,c){a[c]={text:b,props:{type:c,uploadedTo:null,orderby:"date",order:"DESC"}}}),a.all={text:c.allMediaItems,props:{type:null,uploadedTo:null,orderby:"date",order:"DESC"},priority:10},a.uploaded={text:c.uploadedToThisPost,props:{type:null,uploadedTo:d.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20},this.filters=a}}),d.view.AttachmentsBrowser=d.View.extend({tagName:"div",className:"attachments-browser",initialize:function(){b.defaults(this.options,{filters:!1,search:!0,display:!1,AttachmentView:d.view.Attachment.Library}),this.createToolbar(),this.updateContent(),this.createSidebar(),this.collection.on("add remove reset",this.updateContent,this)},dispose:function(){return this.options.selection.off(null,null,this),d.View.prototype.dispose.apply(this,arguments),this},createToolbar:function(){var b,e;this.toolbar=new d.view.Toolbar({controller:this.controller}),this.views.add(this.toolbar),b=this.options.filters,"uploaded"===b?e=d.view.AttachmentFilters.Uploaded:"all"===b&&(e=d.view.AttachmentFilters.All),e&&this.toolbar.set("filters",new e({controller:this.controller,model:this.collection.props,priority:-80}).render()),this.toolbar.set("spinner",new d.view.Spinner({priority:-70})),this.options.search&&this.toolbar.set("search",new d.view.Search({controller:this.controller,model:this.collection.props,priority:60}).render()),this.options.dragInfo&&this.toolbar.set("dragInfo",new d.View({el:a('<div class="instructions">'+c.dragInfo+"</div>")[0],priority:-40})),this.options.suggestedWidth&&this.options.suggestedHeight&&this.toolbar.set("suggestedDimensions",new d.View({el:a('<div class="instructions">'+c.suggestedDimensions+" "+this.options.suggestedWidth+" &times; "+this.options.suggestedHeight+"</div>")[0],priority:-40}))
+},updateContent:function(){var a=this;this.attachments||this.createAttachments(),this.collection.length?a.toolbar.get("spinner").hide():(this.toolbar.get("spinner").show(),this.collection.more().done(function(){a.collection.length||a.createUploader(),a.toolbar.get("spinner").hide()}))},removeContent:function(){b.each(["attachments","uploader"],function(a){this[a]&&(this[a].remove(),delete this[a])},this)},createUploader:function(){this.removeContent(),this.uploader=new d.view.UploaderInline({controller:this.controller,status:!1,message:c.noItemsFound}),this.views.add(this.uploader)},createAttachments:function(){this.removeContent(),this.attachments=new d.view.Attachments({controller:this.controller,collection:this.collection,selection:this.options.selection,model:this.model,sortable:this.options.sortable,AttachmentView:this.options.AttachmentView}),this.views.add(this.attachments)},createSidebar:function(){var a=this.options,b=a.selection,c=this.sidebar=new d.view.Sidebar({controller:this.controller});this.views.add(c),this.controller.uploader&&c.set("uploads",new d.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 d.view.Attachment.Details({controller:this.controller,model:b,priority:80})),a.set("compat",new d.view.AttachmentCompat({controller:this.controller,model:b,priority:120})),this.options.display&&a.set("display",new d.view.Settings.AttachmentDisplay({controller:this.controller,model:this.model.display(b),attachment:b,priority:160,userSettings:this.model.get("displayUserSettings")}))},disposeSingle:function(){var a=this.sidebar;a.unset("details"),a.unset("compat"),a.unset("display")}}),d.view.Selection=d.View.extend({tagName:"div",className:"media-selection",template:d.template("media-selection"),events:{"click .edit-selection":"edit","click .clear-selection":"clear"},initialize:function(){b.defaults(this.options,{editable:!1,clearable:!0}),this.attachments=new d.view.Attachments.Selection({controller:this.controller,collection:this.collection,selection:this.collection,model:new Backbone.Model({edge:40,gutter:5})}),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(c.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()}}),d.view.Attachment.Selection=d.view.Attachment.extend({className:"attachment selection",toggleSelection:function(){this.options.selection.single(this.model)}}),d.view.Attachments.Selection=d.view.Attachments.extend({events:{},initialize:function(){return b.defaults(this.options,{sortable:!0,resize:!1,AttachmentView:d.view.Attachment.Selection}),d.view.Attachments.prototype.initialize.apply(this,arguments)}}),d.view.Attachment.EditSelection=d.view.Attachment.Selection.extend({buttons:{close:!0}}),d.view.Settings=d.View.extend({events:{"click button":"updateHandler","change input":"updateHandler","change select":"updateHandler","change textarea":"updateHandler"},initialize:function(){this.model=this.model||new Backbone.Model,this.model.on("change",this.updateChanges,this)},prepare:function(){return b.defaults({model:this.model.toJSON()},this.options)},render:function(){return d.View.prototype.render.apply(this,arguments),b(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))},updateHandler:function(b){var c,d=a(b.target).closest("[data-setting]"),e=b.target.value;b.preventDefault(),d.length&&(d.is('input[type="checkbox"]')&&(e=d[0].checked),this.model.set(d.data("setting"),e),(c=d.data("userSetting"))&&setUserSetting(c,e))},updateChanges:function(a){a.hasChanged()&&b(a.changed).chain().keys().each(this.update,this)}}),d.view.Settings.AttachmentDisplay=d.view.Settings.extend({className:"attachment-display-settings",template:d.template("attachment-display-settings"),initialize:function(){var a=this.options.attachment;b.defaults(this.options,{userSettings:!1}),d.view.Settings.prototype.initialize.apply(this,arguments),this.model.on("change:link",this.updateLinkTo,this),a&&a.on("change:uploading",this.render,this)},dispose:function(){var a=this.options.attachment;a&&a.off(null,null,this),d.view.Settings.prototype.dispose.apply(this,arguments)},render:function(){var a=this.options.attachment;return a&&b.extend(this.options,{sizes:a.get("sizes"),type:a.get("type")}),d.view.Settings.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(b.is(":visible")&&b.focus()[0].select()))}}),d.view.Settings.Gallery=d.view.Settings.extend({className:"collection-settings gallery-settings",template:d.template("gallery-settings")}),d.view.Settings.Playlist=d.view.Settings.extend({className:"collection-settings playlist-settings",template:d.template("playlist-settings")}),d.view.Attachment.Details=d.view.Attachment.extend({tagName:"div",className:"attachment-details",template:d.template("attachment-details"),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 .edit-attachment":"editAttachment","click .refresh-attachment":"refreshAttachment"},initialize:function(){this.focusManager=new d.view.FocusManager({el:this.el}),d.view.Attachment.prototype.initialize.apply(this,arguments)},render:function(){return d.view.Attachment.prototype.render.apply(this,arguments),this.focusManager.focus(),this},deleteAttachment:function(a){a.preventDefault(),confirm(c.warnDelete)&&this.model.destroy()},trashAttachment:function(a){a.preventDefault(),this.model.destroy()},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()}}),d.view.AttachmentCompat=d.View.extend({tagName:"form",className:"compat-item",events:{submit:"preventDefault","change input":"save","change select":"save","change textarea":"save"},initialize:function(){this.focusManager=new d.view.FocusManager({el:this.el}),this.model.on("change:compat",this.render,this)},dispose:function(){return this.$(":focus").length&&this.save(),d.View.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.focusManager.focus(),this},preventDefault:function(a){a.preventDefault()},save:function(a){var c={};a&&a.preventDefault(),b.each(this.$el.serializeArray(),function(a){c[a.name]=a.value}),this.model.saveCompat(c)}}),d.view.Iframe=d.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}}),d.view.Embed=d.View.extend({className:"media-embed",initialize:function(){this.url=new d.view.EmbedUrl({controller:this.controller,model:this.model.props}).render(),this.views.set([this.url]),this.refresh(),this.model.on("change:type",this.refresh,this),this.model.on("change:loading",this.loading,this)},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=d.view.EmbedImage;else{if("link"!==b)return;a=d.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"))}}),d.view.EmbedUrl=d.View.extend({tagName:"label",className:"embed-url",events:{input:"url",keyup:"url",change:"url"},initialize:function(){this.$input=a("<input/>").attr("type","text").val(this.model.get("url")),this.input=this.$input[0],this.spinner=a('<span class="spinner" />')[0],this.$el.append([this.input,this.spinner]),this.model.on("change:url",this.render,this)},render:function(){var a=this.$input;if(!a.is(":focus"))return this.input.value=this.model.get("url")||"http://",d.View.prototype.render.apply(this,arguments),this},ready:function(){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()}}),d.view.EmbedLink=d.view.Settings.extend({className:"embed-link-settings",template:d.template("embed-link-settings")}),d.view.EmbedImage=d.view.Settings.AttachmentDisplay.extend({className:"embed-media-settings",template:d.template("embed-image-settings"),initialize:function(){d.view.Settings.AttachmentDisplay.prototype.initialize.apply(this,arguments),this.model.on("change:url",this.updateImage,this)},updateImage:function(){this.$("img").attr("src",this.model.get("url"))}}),d.view.ImageDetails=d.view.Settings.AttachmentDisplay.extend({className:"image-details",template:d.template("image-details"),events:b.defaults(d.view.Settings.AttachmentDisplay.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.view.Settings.AttachmentDisplay.prototype.initialize.apply(this,arguments)},prepare:function(){var a=!1;return this.model.attachment&&(a=this.model.attachment.toJSON()),b.defaults({model:this.model.toJSON(),attachment:a},this.options)},render:function(){var a=this,b=arguments;return this.model.attachment&&"pending"===this.model.dfd.state()?this.model.dfd.done(function(){d.view.Settings.AttachmentDisplay.prototype.render.apply(a,b),a.postRender()}).fail(function(){a.model.attachment=!1,d.view.Settings.AttachmentDisplay.prototype.render.apply(a,b),a.postRender()}):(d.view.Settings.AttachmentDisplay.prototype.render.apply(this,arguments),this.postRender()),this},postRender:function(){setTimeout(b.bind(this.resetFocus,this),10),this.toggleLinkSettings(),"show"===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(b){var c,d=a(b.target).data("setting"),e=a(b.target).val();return!/^\d+/.test(e)||parseInt(e,10)<1?void b.preventDefault():void("customWidth"===d?(c=Math.round(1/this.model.get("aspectRatio")*e),this.model.set("customHeight",c,{silent:!0}),this.$('[data-setting="customHeight"]').val(c)):(c=Math.round(this.model.get("aspectRatio")*e),this.model.set("customWidth",c,{silent:!0}),this.$('[data-setting="customWidth"]').val(c)))},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"),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")}}),d.view.Cropper=d.View.extend({className:"crop-content",template:d.template("crop-content"),initialize:function(){b.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),a(window).on("resize.cropper",b.debounce(this.onImageLoad,250))},remove:function(){a(window).off("resize.cropper"),this.$el.remove(),this.$el.off(),wp.media.View.prototype.remove.apply(this,arguments)},prepare:function(){return{title:c.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=b.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 d.view.UploaderStatusError({filename:d.view.UploaderStatus.prototype.filename(a),message:_wpMediaViewsL10n.cropError}),{at:0})}}),d.view.EditImage=d.View.extend({className:"image-editor",template:d.template("image-editor"),initialize:function(a){this.editor=window.imageEdit,this.controller=a.controller,d.View.prototype.initialize.apply(this,arguments)},prepare:function(){return this.model.toJSON()},render:function(){return d.View.prototype.render.apply(this,arguments),this},loadEditor:function(){this.editor.open(this.model.get("id"),this.model.get("nonces").edit,this)},back:function(){var a=this.controller.lastState();this.controller.setState(a)},refresh:function(){this.model.fetch()},save:function(){var a=this,b=this.controller.lastState();this.model.fetch().done(function(){a.controller.setState(b)})}}),d.view.Spinner=d.View.extend({tagName:"span",className:"spinner",spinnerTimeout:!1,delay:400,show:function(){return this.spinnerTimeout||(this.spinnerTimeout=b.delay(function(a){a.show()},this.delay,this.$el)),this},hide:function(){return this.$el.hide(),this.spinnerTimeout=clearTimeout(this.spinnerTimeout),this}})}(jQuery,_);
\ No newline at end of file
index c5d205a0ad73921b77ac6f484a1d71775ed2b23e..2a5cb8da778c1659dbf164ce9d5fb19d246e20d6 100644 (file)
Binary files a/wp-includes/js/mediaelement/flashmediaelement.swf and b/wp-includes/js/mediaelement/flashmediaelement.swf differ
index f9d9a0b992239cd12c0d3a5b511b72624acd4b44..131fedc7476ea9e85f04f6659b177b938d76d12a 100644 (file)
@@ -7,54 +7,57 @@
 * for browsers that don't understand HTML5 or can't play the provided codec
 * Can play MP4 (H.264), Ogg, WebM, FLV, WMV, WMA, ACC, and MP3
 *
-* Copyright 2010-2013, John Dyer (http://j.hn)
+* Copyright 2010-2014, John Dyer (http://j.hn)
 * License: MIT
 *
-*/var mejs=mejs||{};mejs.version="2.13.0";mejs.meIndex=0;
+*/var mejs=mejs||{};mejs.version="2.14.2";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"]}],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");b.innerHTML='<a href="'+this.escapeHTML(a)+'">x</a>';return b.firstChild.href},getScriptPath:function(a){for(var b=0,c,d="",e="",f,g,h=document.getElementsByTagName("script"),l=h.length,j=a.length;b<l;b++){f=h[b].src;c=f.lastIndexOf("/");if(c>-1){g=f.substring(c+
-1);f=f.substring(0,c+1)}else{g=f;f=""}for(c=0;c<j;c++){e=a[c];e=g.indexOf(e);if(e>-1){d=f;break}}if(d!=="")break}return d},secondsToTimeCode:function(a,b,c,d){if(typeof c=="undefined")c=false;else if(typeof d=="undefined")d=25;var e=Math.floor(a/3600)%24,f=Math.floor(a/60)%60,g=Math.floor(a%60);a=Math.floor((a%1*d).toFixed(3));return(b||e>0?(e<10?"0"+e:e)+":":"")+(f<10?"0"+f:f)+":"+(g<10?"0"+g:g)+(c?":"+(a<10?"0"+a:a):"")},timeCodeToSeconds:function(a,b,c,d){if(typeof c=="undefined")c=false;else if(typeof d==
-"undefined")d=25;a=a.split(":");b=parseInt(a[0],10);var e=parseInt(a[1],10),f=parseInt(a[2],10),g=0,h=0;if(c)g=parseInt(a[3])/d;return h=b*3600+e*60+f+g},convertSMPTEtoSeconds:function(a){if(typeof a!="string")return false;a=a.replace(",",".");var b=0,c=a.indexOf(".")!=-1?a.split(".")[1].length:0,d=1;a=a.split(":").reverse();for(var e=0;e<a.length;e++){d=1;if(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);if(b&&/object|embed/i.test(b.nodeName))if(mejs.MediaFeatures.isIE){b.style.display=
+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");b.innerHTML='<a href="'+this.escapeHTML(a)+'">x</a>';return b.firstChild.href},getScriptPath:function(a){for(var b=0,c,d="",e="",g,f,i=document.getElementsByTagName("script"),k=i.length,h=a.length;b<k;b++){g=i[b].src;c=g.lastIndexOf("/");if(c>-1){f=g.substring(c+
+1);g=g.substring(0,c+1)}else{f=g;g=""}for(c=0;c<h;c++){e=a[c];e=f.indexOf(e);if(e>-1){d=g;break}}if(d!=="")break}return d},secondsToTimeCode:function(a,b,c,d){if(typeof c=="undefined")c=false;else if(typeof d=="undefined")d=25;var e=Math.floor(a/3600)%24,g=Math.floor(a/60)%60,f=Math.floor(a%60);a=Math.floor((a%1*d).toFixed(3));return(b||e>0?(e<10?"0"+e:e)+":":"")+(g<10?"0"+g:g)+":"+(f<10?"0"+f:f)+(c?":"+(a<10?"0"+a:a):"")},timeCodeToSeconds:function(a,b,c,d){if(typeof c=="undefined")c=false;else if(typeof d==
+"undefined")d=25;a=a.split(":");b=parseInt(a[0],10);var e=parseInt(a[1],10),g=parseInt(a[2],10),f=0,i=0;if(c)f=parseInt(a[3])/d;return i=b*3600+e*60+g+f},convertSMPTEtoSeconds:function(a){if(typeof a!="string")return false;a=a.replace(",",".");var b=0,c=a.indexOf(".")!=-1?a.split(".")[1].length:0,d=1;a=a.split(":").reverse();for(var e=0;e<a.length;e++){d=1;if(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);if(b&&/object|embed/i.test(b.nodeName))if(mejs.MediaFeatures.isIE){b.style.display=
 "none";(function(){b.readyState==4?mejs.Utility.removeObjectInIE(a):setTimeout(arguments.callee,10)})()}else b.parentNode.removeChild(b)},removeObjectInIE:function(a){if(a=document.getElementById(a)){for(var b in a)if(typeof a[b]=="function")a[b]=null;a.parentNode.removeChild(a)}}};
-mejs.PluginDetector={hasPluginVersion:function(a,b){var c=this.plugins[a];b[1]=b[1]||0;b[2]=b[2]||0;return c[0]>b[0]||c[0]==b[0]&&c[1]>b[1]||c[0]==b[0]&&c[1]==b[1]&&c[2]>=b[2]?true:false},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=[0,0,0],f;if(typeof this.nav.plugins!="undefined"&&typeof this.nav.plugins[a]=="object"){if((c=this.nav.plugins[a].description)&&
-!(typeof this.nav.mimeTypes!="undefined"&&this.nav.mimeTypes[b]&&!this.nav.mimeTypes[b].enabledPlugin)){e=c.replace(a,"").replace(/^\s+/,"").replace(/\sr/gi,".").split(".");for(a=0;a<e.length;a++)e[a]=parseInt(e[a].match(/\d+/),10)}}else if(typeof window.ActiveXObject!="undefined")try{if(f=new ActiveXObject(c))e=d(f)}catch(g){}return e}};
+mejs.PluginDetector={hasPluginVersion:function(a,b){var c=this.plugins[a];b[1]=b[1]||0;b[2]=b[2]||0;return c[0]>b[0]||c[0]==b[0]&&c[1]>b[1]||c[0]==b[0]&&c[1]==b[1]&&c[2]>=b[2]?true:false},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=[0,0,0],g;if(typeof this.nav.plugins!="undefined"&&typeof this.nav.plugins[a]=="object"){if((c=this.nav.plugins[a].description)&&
+!(typeof this.nav.mimeTypes!="undefined"&&this.nav.mimeTypes[b]&&!this.nav.mimeTypes[b].enabledPlugin)){e=c.replace(a,"").replace(/^\s+/,"").replace(/\sr/gi,".").split(".");for(a=0;a<e.length;a++)e[a]=parseInt(e[a].match(/\d+/),10)}}else if(typeof window.ActiveXObject!="undefined")try{if(g=new ActiveXObject(c))e=d(g)}catch(f){}return e}};
 mejs.PluginDetector.addPlugin("flash","Shockwave Flash","application/x-shockwave-flash","ShockwaveFlash.ShockwaveFlash",function(a){var b=[];if(a=a.GetVariable("$version")){a=a.split(" ")[1].split(",");b=[parseInt(a[0],10),parseInt(a[1],10),parseInt(a[2],10)]}return b});
-mejs.PluginDetector.addPlugin("silverlight","Silverlight Plug-In","application/x-silverlight-2","AgControl.AgControl",function(a){var b=[0,0,0,0],c=function(d,e,f,g){for(;d.isVersionSupported(e[0]+"."+e[1]+"."+e[2]+"."+e[3]);)e[f]+=g;e[f]-=g};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);return b});
-mejs.MediaFeatures={init:function(){var a=this,b=document,c=mejs.PluginDetector.nav,d=mejs.PluginDetector.ua.toLowerCase(),e,f=["source","track","audio","video"];a.isiPad=d.match(/ipad/i)!==null;a.isiPhone=d.match(/iphone/i)!==null;a.isiOS=a.isiPhone||a.isiPad;a.isAndroid=d.match(/android/i)!==null;a.isBustedAndroid=d.match(/android 2\.[12]/)!==null;a.isBustedNativeHTTPS=location.protocol==="https:"&&(d.match(/android [12]\./)!==null||d.match(/macintosh.* version.* safari/)!==null);a.isIE=c.appName.toLowerCase().indexOf("microsoft")!=
--1;a.isChrome=d.match(/chrome/gi)!==null;a.isFirefox=d.match(/firefox/gi)!==null;a.isWebkit=d.match(/webkit/gi)!==null;a.isGecko=d.match(/gecko/gi)!==null&&!a.isWebkit;a.isOpera=d.match(/opera/gi)!==null;a.hasTouch="ontouchstart"in window&&window.ontouchstart!=null;a.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect;for(c=0;c<f.length;c++)e=document.createElement(f[c]);a.supportsMediaTag=typeof e.canPlayType!=="undefined"||a.isBustedAndroid;
-try{e.canPlayType("video/mp4")}catch(g){a.supportsMediaTag=false}a.hasSemiNativeFullScreen=typeof e.webkitEnterFullscreen!=="undefined";a.hasWebkitNativeFullScreen=typeof e.webkitRequestFullScreen!=="undefined";a.hasMozNativeFullScreen=typeof e.mozRequestFullScreen!=="undefined";a.hasTrueNativeFullScreen=a.hasWebkitNativeFullScreen||a.hasMozNativeFullScreen;a.nativeFullScreenEnabled=a.hasTrueNativeFullScreen;if(a.hasMozNativeFullScreen)a.nativeFullScreenEnabled=e.mozFullScreenEnabled;if(this.isChrome)a.hasSemiNativeFullScreen=
-false;if(a.hasTrueNativeFullScreen){a.fullScreenEventName=a.hasWebkitNativeFullScreen?"webkitfullscreenchange":"mozfullscreenchange";a.isFullScreen=function(){if(e.mozRequestFullScreen)return b.mozFullScreen;else if(e.webkitRequestFullScreen)return b.webkitIsFullScreen};a.requestFullScreen=function(h){if(a.hasWebkitNativeFullScreen)h.webkitRequestFullScreen();else a.hasMozNativeFullScreen&&h.mozRequestFullScreen()};a.cancelFullScreen=function(){if(a.hasWebkitNativeFullScreen)document.webkitCancelFullScreen();
-else a.hasMozNativeFullScreen&&document.mozCancelFullScreen()}}if(a.hasSemiNativeFullScreen&&d.match(/mac os x 10_5/i)){a.hasNativeFullScreen=false;a.hasSemiNativeFullScreen=false}}};mejs.MediaFeatures.init();
+mejs.PluginDetector.addPlugin("silverlight","Silverlight Plug-In","application/x-silverlight-2","AgControl.AgControl",function(a){var b=[0,0,0,0],c=function(d,e,g,f){for(;d.isVersionSupported(e[0]+"."+e[1]+"."+e[2]+"."+e[3]);)e[g]+=f;e[g]-=f};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);return b});
+mejs.MediaFeatures={init:function(){var a=this,b=document,c=mejs.PluginDetector.nav,d=mejs.PluginDetector.ua.toLowerCase(),e,g=["source","track","audio","video"];a.isiPad=d.match(/ipad/i)!==null;a.isiPhone=d.match(/iphone/i)!==null;a.isiOS=a.isiPhone||a.isiPad;a.isAndroid=d.match(/android/i)!==null;a.isBustedAndroid=d.match(/android 2\.[12]/)!==null;a.isBustedNativeHTTPS=location.protocol==="https:"&&(d.match(/android [12]\./)!==null||d.match(/macintosh.* version.* safari/)!==null);a.isIE=c.appName.toLowerCase().indexOf("microsoft")!=
+-1||c.appName.toLowerCase().match(/trident/gi)!==null;a.isChrome=d.match(/chrome/gi)!==null;a.isFirefox=d.match(/firefox/gi)!==null;a.isWebkit=d.match(/webkit/gi)!==null;a.isGecko=d.match(/gecko/gi)!==null&&!a.isWebkit&&!a.isIE;a.isOpera=d.match(/opera/gi)!==null;a.hasTouch="ontouchstart"in window;a.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect;for(c=0;c<g.length;c++)e=document.createElement(g[c]);a.supportsMediaTag=typeof e.canPlayType!==
+"undefined"||a.isBustedAndroid;try{e.canPlayType("video/mp4")}catch(f){a.supportsMediaTag=false}a.hasSemiNativeFullScreen=typeof e.webkitEnterFullscreen!=="undefined";a.hasNativeFullscreen=typeof e.requestFullscreen!=="undefined";a.hasWebkitNativeFullScreen=typeof e.webkitRequestFullScreen!=="undefined";a.hasMozNativeFullScreen=typeof e.mozRequestFullScreen!=="undefined";a.hasMsNativeFullScreen=typeof e.msRequestFullscreen!=="undefined";a.hasTrueNativeFullScreen=a.hasWebkitNativeFullScreen||a.hasMozNativeFullScreen||
+a.hasMsNativeFullScreen;a.nativeFullScreenEnabled=a.hasTrueNativeFullScreen;if(a.hasMozNativeFullScreen)a.nativeFullScreenEnabled=document.mozFullScreenEnabled;else if(a.hasMsNativeFullScreen)a.nativeFullScreenEnabled=document.msFullscreenEnabled;if(a.isChrome)a.hasSemiNativeFullScreen=false;if(a.hasTrueNativeFullScreen){a.fullScreenEventName="";if(a.hasWebkitNativeFullScreen)a.fullScreenEventName="webkitfullscreenchange";else if(a.hasMozNativeFullScreen)a.fullScreenEventName="mozfullscreenchange";
+else if(a.hasMsNativeFullScreen)a.fullScreenEventName="MSFullscreenChange";a.isFullScreen=function(){if(e.mozRequestFullScreen)return b.mozFullScreen;else if(e.webkitRequestFullScreen)return b.webkitIsFullScreen;else if(e.hasMsNativeFullScreen)return b.msFullscreenElement!==null};a.requestFullScreen=function(i){if(a.hasWebkitNativeFullScreen)i.webkitRequestFullScreen();else if(a.hasMozNativeFullScreen)i.mozRequestFullScreen();else a.hasMsNativeFullScreen&&i.msRequestFullscreen()};a.cancelFullScreen=
+function(){if(a.hasWebkitNativeFullScreen)document.webkitCancelFullScreen();else if(a.hasMozNativeFullScreen)document.mozCancelFullScreen();else a.hasMsNativeFullScreen&&document.msExitFullscreen()}}if(a.hasSemiNativeFullScreen&&d.match(/mac os x 10_5/i)){a.hasNativeFullScreen=false;a.hasSemiNativeFullScreen=false}}};mejs.MediaFeatures.init();
 mejs.HtmlMediaElement={pluginType:"native",isFullScreen:false,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(typeof a=="string")this.src=a;else{var c;for(b=0;b<a.length;b++){c=a[b];if(this.canPlayType(c.type)){this.src=c.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:false,playbackRate:-1,defaultPlaybackRate:-1,seekable:[],played:[],paused:true,ended:false,seeking:false,duration:0,error:null,tagName:"",muted:false,volume:1,currentTime:0,play:function(){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.playVideo():this.pluginApi.playMedia();this.paused=false}},load:function(){if(this.pluginApi!=null){this.pluginType!="youtube"&&this.pluginApi.loadMedia();this.paused=
-false}},pause:function(){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.pauseVideo():this.pluginApi.pauseMedia();this.paused=true}},stop:function(){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.stopVideo():this.pluginApi.stopMedia();this.paused=true}},canPlayType:function(a){var b,c,d,e=mejs.plugins[this.pluginType];for(b=0;b<e.length;b++){d=e[b];if(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){this.pluginApi!=null&&this.pluginApi.positionFullscreenButton&&this.pluginApi.positionFullscreenButton(Math.floor(a),Math.floor(b),c)},hideFullscreenButton:function(){this.pluginApi!=null&&this.pluginApi.hideFullscreenButton&&this.pluginApi.hideFullscreenButton()},setSrc:function(a){if(typeof a=="string"){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(a));this.src=mejs.Utility.absolutizeUrl(a)}else{var b,c;for(b=0;b<a.length;b++){c=a[b];if(this.canPlayType(c.type)){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(c.src));
-this.src=mejs.Utility.absolutizeUrl(a);break}}}},setCurrentTime:function(a){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.seekTo(a):this.pluginApi.setCurrentTime(a);this.currentTime=a}},setVolume:function(a){if(this.pluginApi!=null){this.pluginType=="youtube"?this.pluginApi.setVolume(a*100):this.pluginApi.setVolume(a);this.volume=a}},setMuted:function(a){if(this.pluginApi!=null){if(this.pluginType=="youtube"){a?this.pluginApi.mute():this.pluginApi.unMute();this.muted=a;this.dispatchEvent("volumechange")}else this.pluginApi.setMuted(a);
-this.muted=a}},setVideoSize:function(a,b){if(this.pluginElement.style){this.pluginElement.style.width=a+"px";this.pluginElement.style.height=b+"px"}this.pluginApi!=null&&this.pluginApi.setVideoSize&&this.pluginApi.setVideoSize(a,b)},setFullscreen:function(a){this.pluginApi!=null&&this.pluginApi.setFullscreen&&this.pluginApi.setFullscreen(a)},enterFullScreen:function(){this.pluginApi!=null&&this.pluginApi.setFullscreen&&this.setFullscreen(true)},exitFullScreen:function(){this.pluginApi!=null&&this.pluginApi.setFullscreen&&
-this.setFullscreen(false)},addEventListener:function(a,b){this.events[a]=this.events[a]||[];this.events[a].push(b)},removeEventListener:function(a,b){if(!a){this.events={};return true}var c=this.events[a];if(!c)return true;if(!b){this.events[a]=[];return true}for(i=0;i<c.length;i++)if(c[i]===b){this.events[a].splice(i,1);return true}return false},dispatchEvent:function(a){var b,c,d=this.events[a];if(d){c=Array.prototype.slice.call(arguments,1);for(b=0;b<d.length;b++)d[b].apply(null,c)}},hasAttribute:function(a){return a in
-this.attributes},removeAttribute:function(a){delete this.attributes[a]},getAttribute:function(a){if(this.hasAttribute(a))return this.attributes[a];return""},setAttribute:function(a,b){this.attributes[a]=b},remove:function(){mejs.Utility.removeSwf(this.pluginElement.id);mejs.MediaPluginBridge.unregisterPluginElement(this.pluginElement.id)}};
+mejs.PluginMediaElement.prototype={pluginElement:null,pluginType:"",isFullScreen:false,playbackRate:-1,defaultPlaybackRate:-1,seekable:[],played:[],paused:true,ended:false,seeking:false,duration:0,error:null,tagName:"",muted:false,volume:1,currentTime:0,play:function(){if(this.pluginApi!=null){this.pluginType=="youtube"||this.pluginType=="vimeo"?this.pluginApi.playVideo():this.pluginApi.playMedia();this.paused=false}},load:function(){if(this.pluginApi!=null){this.pluginType=="youtube"||this.pluginType==
+"vimeo"||this.pluginApi.loadMedia();this.paused=false}},pause:function(){if(this.pluginApi!=null){this.pluginType=="youtube"||this.pluginType=="vimeo"?this.pluginApi.pauseVideo():this.pluginApi.pauseMedia();this.paused=true}},stop:function(){if(this.pluginApi!=null){this.pluginType=="youtube"||this.pluginType=="vimeo"?this.pluginApi.stopVideo():this.pluginApi.stopMedia();this.paused=true}},canPlayType:function(a){var b,c,d,e=mejs.plugins[this.pluginType];for(b=0;b<e.length;b++){d=e[b];if(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){this.pluginApi!=null&&this.pluginApi.positionFullscreenButton&&this.pluginApi.positionFullscreenButton(Math.floor(a),Math.floor(b),c)},hideFullscreenButton:function(){this.pluginApi!=null&&this.pluginApi.hideFullscreenButton&&this.pluginApi.hideFullscreenButton()},setSrc:function(a){if(typeof a=="string"){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(a));this.src=mejs.Utility.absolutizeUrl(a)}else{var b,
+c;for(b=0;b<a.length;b++){c=a[b];if(this.canPlayType(c.type)){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(c.src));this.src=mejs.Utility.absolutizeUrl(a);break}}}},setCurrentTime:function(a){if(this.pluginApi!=null){this.pluginType=="youtube"||this.pluginType=="vimeo"?this.pluginApi.seekTo(a):this.pluginApi.setCurrentTime(a);this.currentTime=a}},setVolume:function(a){if(this.pluginApi!=null){this.pluginType=="youtube"||this.pluginType=="vimeo"?this.pluginApi.setVolume(a*100):this.pluginApi.setVolume(a);
+this.volume=a}},setMuted:function(a){if(this.pluginApi!=null){if(this.pluginType=="youtube"||this.pluginType=="vimeo"){a?this.pluginApi.mute():this.pluginApi.unMute();this.muted=a;this.dispatchEvent("volumechange")}else this.pluginApi.setMuted(a);this.muted=a}},setVideoSize:function(a,b){if(this.pluginElement.style){this.pluginElement.style.width=a+"px";this.pluginElement.style.height=b+"px"}this.pluginApi!=null&&this.pluginApi.setVideoSize&&this.pluginApi.setVideoSize(a,b)},setFullscreen:function(a){this.pluginApi!=
+null&&this.pluginApi.setFullscreen&&this.pluginApi.setFullscreen(a)},enterFullScreen:function(){this.pluginApi!=null&&this.pluginApi.setFullscreen&&this.setFullscreen(true)},exitFullScreen:function(){this.pluginApi!=null&&this.pluginApi.setFullscreen&&this.setFullscreen(false)},addEventListener:function(a,b){this.events[a]=this.events[a]||[];this.events[a].push(b)},removeEventListener:function(a,b){if(!a){this.events={};return true}var c=this.events[a];if(!c)return true;if(!b){this.events[a]=[];return true}for(var d=
+0;d<c.length;d++)if(c[d]===b){this.events[a].splice(d,1);return true}return false},dispatchEvent:function(a){var b,c,d=this.events[a];if(d){c=Array.prototype.slice.call(arguments,1);for(b=0;b<d.length;b++)d[b].apply(null,c)}},hasAttribute:function(a){return a in this.attributes},removeAttribute:function(a){delete this.attributes[a]},getAttribute:function(a){if(this.hasAttribute(a))return this.attributes[a];return""},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}b.pluginApi!=null&&b.success&&b.success(b,c)}},fireEvent:function(a,b,c){var d,e;if(a=this.pluginMediaElements[a]){b={type:b,target:a};for(d in c){a[d]=c[d];b[d]=c[d]}e=c.bufferedTime||0;b.target.buffered=b.buffered={start:function(){return 0},end:function(){return e},length:1};a.dispatchEvent(b.type,b)}}};
 mejs.MediaElementDefaults={mode:"auto",plugins:["flash","silverlight","youtube","vimeo"],enablePluginDebug:false,httpsBasicAuthSite:false,type:"",pluginPath:mejs.Utility.getScriptPath(["mediaelement.js","mediaelement.min.js","mediaelement-and-player.js","mediaelement-and-player.min.js"]),flashName:"flashmediaelement.swf",flashStreamer:"",enablePluginSmoothing:false,enablePseudoStreaming:false,pseudoStreamingStartQueryParam:"start",silverlightName:"silverlightmediaelement.xap",defaultVideoWidth:480,
 defaultVideoHeight:270,pluginWidth:-1,pluginHeight:-1,pluginVars:[],timerRate:250,startVolume:0.8,success:function(){},error:function(){}};mejs.MediaElement=function(a,b){return mejs.HtmlMediaElementShim.create(a,b)};
-mejs.HtmlMediaElementShim={create:function(a,b){var c=mejs.MediaElementDefaults,d=typeof a=="string"?document.getElementById(a):a,e=d.tagName.toLowerCase(),f=e==="audio"||e==="video",g=f?d.getAttribute("src"):d.getAttribute("href");e=d.getAttribute("poster");var h=d.getAttribute("autoplay"),l=d.getAttribute("preload"),j=d.getAttribute("controls"),k;for(k in b)c[k]=b[k];g=typeof g=="undefined"||g===null||g==""?null:g;e=typeof e=="undefined"||e===null?"":e;l=typeof l=="undefined"||l===null||l==="false"?
-"none":l;h=!(typeof h=="undefined"||h===null||h==="false");j=!(typeof j=="undefined"||j===null||j==="false");k=this.determinePlayback(d,c,mejs.MediaFeatures.supportsMediaTag,f,g);k.url=k.url!==null?mejs.Utility.absolutizeUrl(k.url):"";if(k.method=="native"){if(mejs.MediaFeatures.isBustedAndroid){d.src=k.url;d.addEventListener("click",function(){d.play()},false)}return this.updateNative(k,c,h,l)}else if(k.method!=="")return this.createPlugin(k,c,e,h,l,j);else{this.createErrorMessage(k,c,e);return this}},
-determinePlayback:function(a,b,c,d,e){var f=[],g,h,l,j={method:"",url:"",htmlMediaElement:a,isVideo:a.tagName.toLowerCase()!="audio"},k;if(typeof b.type!="undefined"&&b.type!=="")if(typeof b.type=="string")f.push({type:b.type,url:e});else for(g=0;g<b.type.length;g++)f.push({type:b.type[g],url:e});else if(e!==null){l=this.formatType(e,a.getAttribute("type"));f.push({type:l,url:e})}else for(g=0;g<a.childNodes.length;g++){h=a.childNodes[g];if(h.nodeType==1&&h.tagName.toLowerCase()=="source"){e=h.getAttribute("src");
-l=this.formatType(e,h.getAttribute("type"));h=h.getAttribute("media");if(!h||!window.matchMedia||window.matchMedia&&window.matchMedia(h).matches)f.push({type:l,url:e})}}if(!d&&f.length>0&&f[0].url!==null&&this.getTypeFromFile(f[0].url).indexOf("audio")>-1)j.isVideo=false;if(mejs.MediaFeatures.isBustedAndroid)a.canPlayType=function(m){return m.match(/video\/(mp4|m4v)/gi)!==null?"maybe":""};if(c&&(b.mode==="auto"||b.mode==="auto_plugin"||b.mode==="native")&&!(mejs.MediaFeatures.isBustedNativeHTTPS&&
-b.httpsBasicAuthSite===true)){if(!d){g=document.createElement(j.isVideo?"video":"audio");a.parentNode.insertBefore(g,a);a.style.display="none";j.htmlMediaElement=a=g}for(g=0;g<f.length;g++)if(a.canPlayType(f[g].type).replace(/no/,"")!==""||a.canPlayType(f[g].type.replace(/mp3/,"mpeg")).replace(/no/,"")!==""){j.method="native";j.url=f[g].url;break}if(j.method==="native"){if(j.url!==null)a.src=j.url;if(b.mode!=="auto_plugin")return j}}if(b.mode==="auto"||b.mode==="auto_plugin"||b.mode==="shim")for(g=
-0;g<f.length;g++){l=f[g].type;for(a=0;a<b.plugins.length;a++){e=b.plugins[a];h=mejs.plugins[e];for(c=0;c<h.length;c++){k=h[c];if(k.version==null||mejs.PluginDetector.hasPluginVersion(e,k.version))for(d=0;d<k.types.length;d++)if(l==k.types[d]){j.method=e;j.url=f[g].url;return j}}}}if(b.mode==="auto_plugin"&&j.method==="native")return j;if(j.method===""&&f.length>0)j.url=f[0].url;return j},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];a=a.substring(a.lastIndexOf(".")+1).toLowerCase();return(/(mp4|m4v|ogg|ogv|webm|webmv|flv|wmv|mpeg|mov)/gi.test(a)?"video":"audio")+"/"+this.getTypeFromExtension(a)},getTypeFromExtension:function(a){switch(a){case "mp4":case "m4v":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){c=a.htmlMediaElement;var g=1,h=1,l="me_"+a.method+"_"+mejs.meIndex++,j=new mejs.PluginMediaElement(l,a.method,a.url),k=document.createElement("div"),
-m;j.tagName=c.tagName;for(m=0;m<c.attributes.length;m++){var n=c.attributes[m];n.specified==true&&j.setAttribute(n.name,n.value)}for(m=c.parentNode;m!==null&&m.tagName.toLowerCase()!="body";){if(m.parentNode.tagName.toLowerCase()=="p"){m.parentNode.parentNode.insertBefore(m,m.parentNode);break}m=m.parentNode}if(a.isVideo){g=b.pluginWidth>0?b.pluginWidth:b.videoWidth>0?b.videoWidth:c.getAttribute("width")!==null?c.getAttribute("width"):b.defaultVideoWidth;h=b.pluginHeight>0?b.pluginHeight:b.videoHeight>
-0?b.videoHeight:c.getAttribute("height")!==null?c.getAttribute("height"):b.defaultVideoHeight;g=mejs.Utility.encodeUrl(g);h=mejs.Utility.encodeUrl(h)}else if(b.enablePluginDebug){g=320;h=240}j.success=b.success;mejs.MediaPluginBridge.registerPluginElement(l,j,c);k.className="me-plugin";k.id=l+"_container";a.isVideo?c.parentNode.insertBefore(k,c):document.body.insertBefore(k,document.body.childNodes[0]);d=["id="+l,"isvideo="+(a.isVideo?"true":"false"),"autoplay="+(d?"true":"false"),"preload="+e,"width="+
-g,"startvolume="+b.startVolume,"timerrate="+b.timerRate,"flashstreamer="+b.flashStreamer,"height="+h,"pseudostreamstart="+b.pseudoStreamingStartQueryParam];if(a.url!==null)a.method=="flash"?d.push("file="+mejs.Utility.encodeUrl(a.url)):d.push("file="+a.url);b.enablePluginDebug&&d.push("debug=true");b.enablePluginSmoothing&&d.push("smoothing=true");b.enablePseudoStreaming&&d.push("pseudostreaming=true");f&&d.push("controls=true");if(b.pluginVars)d=d.concat(b.pluginVars);switch(a.method){case "silverlight":k.innerHTML=
-'<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" id="'+l+'" name="'+l+'" width="'+g+'" height="'+h+'" class="mejs-shim"><param name="initParams" value="'+d.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":if(mejs.MediaFeatures.isIE){a=
-document.createElement("div");k.appendChild(a);a.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+l+'" width="'+g+'" height="'+h+'" class="mejs-shim"><param name="movie" value="'+b.pluginPath+b.flashName+"?x="+new Date+'" /><param name="flashvars" value="'+d.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" /></object>'}else k.innerHTML=
-'<embed id="'+l+'" name="'+l+'" 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="'+d.join("&")+'" width="'+g+'" height="'+h+'" class="mejs-shim"></embed>';break;case "youtube":b=a.url.substr(a.url.lastIndexOf("=")+1);youtubeSettings={container:k,containerId:k.id,pluginMediaElement:j,pluginId:l,
-videoId:b,height:h,width:g};mejs.PluginDetector.hasPluginVersion("flash",[10,0,0])?mejs.YouTubeApi.createFlash(youtubeSettings):mejs.YouTubeApi.enqueueIframe(youtubeSettings);break;case "vimeo":j.vimeoid=a.url.substr(a.url.lastIndexOf("/")+1);k.innerHTML='<iframe src="http://player.vimeo.com/video/'+j.vimeoid+'?portrait=0&byline=0&title=0" width="'+g+'" height="'+h+'" frameborder="0" class="mejs-shim"></iframe>'}c.style.display="none";c.removeAttribute("autoplay");return j},updateNative:function(a,
-b){var c=a.htmlMediaElement,d;for(d in mejs.HtmlMediaElement)c[d]=mejs.HtmlMediaElement[d];b.success(c,c);return c}};
+mejs.HtmlMediaElementShim={create:function(a,b){var c=mejs.MediaElementDefaults,d=typeof a=="string"?document.getElementById(a):a,e=d.tagName.toLowerCase(),g=e==="audio"||e==="video",f=g?d.getAttribute("src"):d.getAttribute("href");e=d.getAttribute("poster");var i=d.getAttribute("autoplay"),k=d.getAttribute("preload"),h=d.getAttribute("controls"),j;for(j in b)c[j]=b[j];f=typeof f=="undefined"||f===null||f==""?null:f;e=typeof e=="undefined"||e===null?"":e;k=typeof k=="undefined"||k===null||k==="false"?
+"none":k;i=!(typeof i=="undefined"||i===null||i==="false");h=!(typeof h=="undefined"||h===null||h==="false");j=this.determinePlayback(d,c,mejs.MediaFeatures.supportsMediaTag,g,f);j.url=j.url!==null?mejs.Utility.absolutizeUrl(j.url):"";if(j.method=="native"){if(mejs.MediaFeatures.isBustedAndroid){d.src=j.url;d.addEventListener("click",function(){d.play()},false)}return this.updateNative(j,c,i,k)}else if(j.method!=="")return this.createPlugin(j,c,e,i,k,h);else{this.createErrorMessage(j,c,e);return this}},
+determinePlayback:function(a,b,c,d,e){var g=[],f,i,k,h={method:"",url:"",htmlMediaElement:a,isVideo:a.tagName.toLowerCase()!="audio"},j;if(typeof b.type!="undefined"&&b.type!=="")if(typeof b.type=="string")g.push({type:b.type,url:e});else for(f=0;f<b.type.length;f++)g.push({type:b.type[f],url:e});else if(e!==null){k=this.formatType(e,a.getAttribute("type"));g.push({type:k,url:e})}else for(f=0;f<a.childNodes.length;f++){i=a.childNodes[f];if(i.nodeType==1&&i.tagName.toLowerCase()=="source"){e=i.getAttribute("src");
+k=this.formatType(e,i.getAttribute("type"));i=i.getAttribute("media");if(!i||!window.matchMedia||window.matchMedia&&window.matchMedia(i).matches)g.push({type:k,url:e})}}if(!d&&g.length>0&&g[0].url!==null&&this.getTypeFromFile(g[0].url).indexOf("audio")>-1)h.isVideo=false;if(mejs.MediaFeatures.isBustedAndroid)a.canPlayType=function(m){return m.match(/video\/(mp4|m4v)/gi)!==null?"maybe":""};if(c&&(b.mode==="auto"||b.mode==="auto_plugin"||b.mode==="native")&&!(mejs.MediaFeatures.isBustedNativeHTTPS&&
+b.httpsBasicAuthSite===true)){if(!d){f=document.createElement(h.isVideo?"video":"audio");a.parentNode.insertBefore(f,a);a.style.display="none";h.htmlMediaElement=a=f}for(f=0;f<g.length;f++)if(a.canPlayType(g[f].type).replace(/no/,"")!==""||a.canPlayType(g[f].type.replace(/mp3/,"mpeg")).replace(/no/,"")!==""||a.canPlayType(g[f].type.replace(/m4a/,"mp4")).replace(/no/,"")!==""){h.method="native";h.url=g[f].url;break}if(h.method==="native"){if(h.url!==null)a.src=h.url;if(b.mode!=="auto_plugin")return h}}if(b.mode===
+"auto"||b.mode==="auto_plugin"||b.mode==="shim")for(f=0;f<g.length;f++){k=g[f].type;for(a=0;a<b.plugins.length;a++){e=b.plugins[a];i=mejs.plugins[e];for(c=0;c<i.length;c++){j=i[c];if(j.version==null||mejs.PluginDetector.hasPluginVersion(e,j.version))for(d=0;d<j.types.length;d++)if(k==j.types[d]){h.method=e;h.url=g[f].url;return h}}}}if(b.mode==="auto_plugin"&&h.method==="native")return h;if(h.method===""&&g.length>0)h.url=g[0].url;return h},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];a=a.substring(a.lastIndexOf(".")+1).toLowerCase();return(/(mp4|m4v|ogg|ogv|webm|webmv|flv|wmv|mpeg|mov)/gi.test(a)?"video":"audio")+"/"+this.getTypeFromExtension(a)},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(g){}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,g){c=a.htmlMediaElement;var f=1,i=1,k="me_"+a.method+"_"+mejs.meIndex++,
+h=new mejs.PluginMediaElement(k,a.method,a.url),j=document.createElement("div"),m;h.tagName=c.tagName;for(m=0;m<c.attributes.length;m++){var q=c.attributes[m];q.specified==true&&h.setAttribute(q.name,q.value)}for(m=c.parentNode;m!==null&&m.tagName.toLowerCase()!=="body"&&m.parentNode!=null;){if(m.parentNode.tagName.toLowerCase()==="p"){m.parentNode.parentNode.insertBefore(m,m.parentNode);break}m=m.parentNode}if(a.isVideo){f=b.pluginWidth>0?b.pluginWidth:b.videoWidth>0?b.videoWidth:c.getAttribute("width")!==
+null?c.getAttribute("width"):b.defaultVideoWidth;i=b.pluginHeight>0?b.pluginHeight:b.videoHeight>0?b.videoHeight:c.getAttribute("height")!==null?c.getAttribute("height"):b.defaultVideoHeight;f=mejs.Utility.encodeUrl(f);i=mejs.Utility.encodeUrl(i)}else if(b.enablePluginDebug){f=320;i=240}h.success=b.success;mejs.MediaPluginBridge.registerPluginElement(k,h,c);j.className="me-plugin";j.id=k+"_container";a.isVideo?c.parentNode.insertBefore(j,c):document.body.insertBefore(j,document.body.childNodes[0]);
+d=["id="+k,"isvideo="+(a.isVideo?"true":"false"),"autoplay="+(d?"true":"false"),"preload="+e,"width="+f,"startvolume="+b.startVolume,"timerrate="+b.timerRate,"flashstreamer="+b.flashStreamer,"height="+i,"pseudostreamstart="+b.pseudoStreamingStartQueryParam];if(a.url!==null)a.method=="flash"?d.push("file="+mejs.Utility.encodeUrl(a.url)):d.push("file="+a.url);b.enablePluginDebug&&d.push("debug=true");b.enablePluginSmoothing&&d.push("smoothing=true");b.enablePseudoStreaming&&d.push("pseudostreaming=true");
+g&&d.push("controls=true");if(b.pluginVars)d=d.concat(b.pluginVars);switch(a.method){case "silverlight":j.innerHTML='<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" id="'+k+'" name="'+k+'" width="'+f+'" height="'+i+'" class="mejs-shim"><param name="initParams" value="'+d.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":if(mejs.MediaFeatures.isIE){a=document.createElement("div");j.appendChild(a);a.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+k+'" width="'+f+'" height="'+i+'" class="mejs-shim"><param name="movie" value="'+b.pluginPath+b.flashName+"?x="+new Date+'" /><param name="flashvars" value="'+d.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>'}else j.innerHTML=
+'<embed id="'+k+'" name="'+k+'" 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="'+d.join("&")+'" width="'+f+'" height="'+i+'" scale="default"class="mejs-shim"></embed>';break;case "youtube":if(a.url.lastIndexOf("youtu.be")!=-1){a=a.url.substr(a.url.lastIndexOf("/")+1);if(a.indexOf("?")!=
+-1)a=a.substr(0,a.indexOf("?"))}else a=a.url.substr(a.url.lastIndexOf("=")+1);youtubeSettings={container:j,containerId:j.id,pluginMediaElement:h,pluginId:k,videoId:a,height:i,width:f};mejs.PluginDetector.hasPluginVersion("flash",[10,0,0])?mejs.YouTubeApi.createFlash(youtubeSettings):mejs.YouTubeApi.enqueueIframe(youtubeSettings);break;case "vimeo":b=k+"_player";h.vimeoid=a.url.substr(a.url.lastIndexOf("/")+1);j.innerHTML='<iframe src="//player.vimeo.com/video/'+h.vimeoid+"?api=1&portrait=0&byline=0&title=0&player_id="+
+b+'" width="'+f+'" height="'+i+'" frameborder="0" class="mejs-shim" id="'+b+'"></iframe>';if(typeof $f=="function"){var l=$f(j.childNodes[0]);l.addEvent("ready",function(){function o(n,p,r,s){n={type:r,target:p};if(r=="timeupdate"){p.currentTime=n.currentTime=s.seconds;p.duration=n.duration=s.duration}p.dispatchEvent(n.type,n)}l.playVideo=function(){l.api("play")};l.pauseVideo=function(){l.api("pause")};l.seekTo=function(n){l.api("seekTo",n)};l.addEvent("play",function(){o(l,h,"play");o(l,h,"playing")});
+l.addEvent("pause",function(){o(l,h,"pause")});l.addEvent("finish",function(){o(l,h,"ended")});l.addEvent("playProgress",function(n){o(l,h,"timeupdate",n)});h.pluginApi=l;mejs.MediaPluginBridge.initPlugin(k)})}else console.warn("You need to include froogaloop for vimeo to work")}c.style.display="none";c.removeAttribute("autoplay");return h},updateNative:function(a,b){var c=a.htmlMediaElement,d;for(d in mejs.HtmlMediaElement)c[d]=mejs.HtmlMediaElement[d];b.success(c,c);return c}};
 mejs.YouTubeApi={isIframeStarted:false,isIframeLoaded:false,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=true}},iframeQueue:[],enqueueIframe:function(a){if(this.isLoaded)this.createIframe(a);else{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(d){mejs.YouTubeApi.handleStateChange(d.data,c,b)}}})},createEvent:function(a,b,c){c={type:c,target:b};if(a&&a.getDuration){b.currentTime=c.currentTime=a.getCurrentTime();b.duration=c.duration=a.getDuration();c.paused=b.paused;
 c.ended=b.ended;c.muted=a.isMuted();c.volume=a.getVolume()/100;c.bytesTotal=a.getVideoBytesTotal();c.bufferedBytes=a.getVideoBytesLoaded();var d=c.bufferedBytes/c.bytesTotal*c.duration;c.target.buffered=c.buffered={start:function(){return 0},end:function(){return d},length:1}}b.dispatchEvent(c.type,c)},iFrameReady:function(){for(this.isIframeLoaded=this.isLoaded=true;this.iframeQueue.length>0;)this.createIframe(this.iframeQueue.pop())},flashPlayers:{},createFlash:function(a){this.flashPlayers[a.pluginId]=
@@ -62,10 +65,9 @@ a;var b,c="//www.youtube.com/apiplayer?enablejsapi=1&amp;playerapiid="+a.pluginI
 c+'" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /></object>'}else 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);a=b.containerId+"_callback";window[a]=function(e){mejs.YouTubeApi.handleStateChange(e,c,d)};c.addEventListener("onStateChange",a);setInterval(function(){mejs.YouTubeApi.createEvent(c,d,"timeupdate")},250)},handleStateChange:function(a,b,c){switch(a){case -1:c.paused=true;c.ended=true;mejs.YouTubeApi.createEvent(b,c,"loadedmetadata");break;case 0:c.paused=false;
 c.ended=true;mejs.YouTubeApi.createEvent(b,c,"ended");break;case 1:c.paused=false;c.ended=false;mejs.YouTubeApi.createEvent(b,c,"play");mejs.YouTubeApi.createEvent(b,c,"playing");break;case 2:c.paused=true;c.ended=false;mejs.YouTubeApi.createEvent(b,c,"pause");break;case 3:mejs.YouTubeApi.createEvent(b,c,"progress")}}};function onYouTubePlayerAPIReady(){mejs.YouTubeApi.iFrameReady()}function onYouTubePlayerReady(a){mejs.YouTubeApi.flashReady(a)}window.mejs=mejs;window.MediaElement=mejs.MediaElement;
-(function(a,b){var c={locale:{language:"",strings:{}},methods:{}};c.locale.getLanguage=function(){return c.locale.language||navigator.language};if(typeof mejsL10n!="undefined")c.locale.language=mejsL10n.language;c.locale.INIT_LANGUAGE=c.locale.getLanguage();c.methods.checkPlain=function(d){var e,f,g={"&":"&amp;",'"':"&quot;","<":"&lt;",">":"&gt;"};d=String(d);for(e in g)if(g.hasOwnProperty(e)){f=RegExp(e,"g");d=d.replace(f,g[e])}return d};c.methods.formatString=function(d,e){for(var f in e){switch(f.charAt(0)){case "@":e[f]=
-c.methods.checkPlain(e[f]);break;case "!":break;default:e[f]='<em class="placeholder">'+c.methods.checkPlain(e[f])+"</em>"}d=d.replace(f,e[f])}return d};c.methods.t=function(d,e,f){if(c.locale.strings&&c.locale.strings[f.context]&&c.locale.strings[f.context][d])d=c.locale.strings[f.context][d];if(e)d=c.methods.formatString(d,e);return d};c.t=function(d,e,f){if(typeof d==="string"&&d.length>0){var g=c.locale.getLanguage();f=f||{context:g};return c.methods.t(d,e,f)}else throw{name:"InvalidArgumentException",
-message:"First argument is either not a string or empty."};};b.i18n=c})(document,mejs);(function(a){if(typeof mejsL10n!="undefined")a[mejsL10n.language]=mejsL10n.strings})(mejs.i18n.locale.strings);(function(a){a.de={Fullscreen:"Vollbild","Go Fullscreen":"Vollbild an","Turn off Fullscreen":"Vollbild aus",Close:"Schlie\u00dfen"}})(mejs.i18n.locale.strings);
-(function(a){a.zh={Fullscreen:"\u5168\u87a2\u5e55","Go Fullscreen":"\u5168\u5c4f\u6a21\u5f0f","Turn off Fullscreen":"\u9000\u51fa\u5168\u5c4f\u6a21\u5f0f",Close:"\u95dc\u9589"}})(mejs.i18n.locale.strings);
+(function(a,b){var c={locale:{language:"",strings:{}},methods:{}};c.getLanguage=function(){return(c.locale.language||window.navigator.userLanguage||window.navigator.language).substr(0,2).toLowerCase()};if(typeof mejsL10n!="undefined")c.locale.language=mejsL10n.language;c.methods.checkPlain=function(d){var e,g,f={"&":"&amp;",'"':"&quot;","<":"&lt;",">":"&gt;"};d=String(d);for(e in f)if(f.hasOwnProperty(e)){g=RegExp(e,"g");d=d.replace(g,f[e])}return d};c.methods.t=function(d,e){if(c.locale.strings&&
+c.locale.strings[e.context]&&c.locale.strings[e.context][d])d=c.locale.strings[e.context][d];return c.methods.checkPlain(d)};c.t=function(d,e){if(typeof d==="string"&&d.length>0){var g=c.getLanguage();e=e||{context:g};return c.methods.t(d,e)}else throw{name:"InvalidArgumentException",message:"First argument is either not a string or empty."};};b.i18n=c})(document,mejs);(function(a){if(typeof mejsL10n!="undefined")a[mejsL10n.language]=mejsL10n.strings})(mejs.i18n.locale.strings);
+(function(a){if(typeof a.de==="undefined")a.de={Fullscreen:"Vollbild","Go Fullscreen":"Vollbild an","Turn off Fullscreen":"Vollbild aus",Close:"Schlie\u00dfen"}})(mejs.i18n.locale.strings);(function(a){if(typeof a.zh==="undefined")a.zh={Fullscreen:"\u5168\u87a2\u5e55","Go Fullscreen":"\u5168\u5c4f\u6a21\u5f0f","Turn off Fullscreen":"\u9000\u51fa\u5168\u5c4f\u6a21\u5f0f",Close:"\u95dc\u9589"}})(mejs.i18n.locale.strings);
 
 /*!
  * MediaElementPlayer
@@ -79,53 +81,54 @@ message:"First argument is either not a string or empty."};};b.i18n=c})(document
  *
  */if(typeof jQuery!="undefined")mejs.$=jQuery;else if(typeof ender!="undefined")mejs.$=ender;
 (function(f){mejs.MepDefaults={poster:"",showPosterWhenEnded:false,defaultVideoWidth:480,defaultVideoHeight:270,videoWidth:-1,videoHeight:-1,defaultAudioWidth:400,defaultAudioHeight:30,defaultSeekBackwardInterval:function(a){return a.duration*0.05},defaultSeekForwardInterval:function(a){return a.duration*0.05},audioWidth:-1,audioHeight:-1,startVolume:0.8,loop:false,autoRewind:true,enableAutosize:true,alwaysShowHours:false,showTimecodeFrameCount:false,framesPerSecond:25,autosizeProgress:true,alwaysShowControls:false,
-hideVideoControlsOnLoad:false,clickToPlayPause:true,iPadUseNativeControls:false,iPhoneUseNativeControls:false,AndroidUseNativeControls:false,features:["playpause","current","progress","duration","tracks","volume","fullscreen"],isVideo:true,enableKeyboard:true,pauseOtherPlayers:true,keyActions:[{keys:[32,179],action:function(a,b){b.paused||b.ended?b.play():b.pause()}},{keys:[38],action:function(a,b){b.setVolume(Math.min(b.volume+0.1,1))}},{keys:[40],action:function(a,b){b.setVolume(Math.max(b.volume-
+hideVideoControlsOnLoad:false,clickToPlayPause:true,iPadUseNativeControls:false,iPhoneUseNativeControls:false,AndroidUseNativeControls:false,features:["playpause","current","progress","duration","tracks","volume","fullscreen"],isVideo:true,enableKeyboard:true,pauseOtherPlayers:true,keyActions:[{keys:[32,179],action:function(a,b){b.paused||b.ended?a.play():a.pause()}},{keys:[38],action:function(a,b){b.setVolume(Math.min(b.volume+0.1,1))}},{keys:[40],action:function(a,b){b.setVolume(Math.max(b.volume-
 0.1,0))}},{keys:[37,227],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){if(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){if(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){if(typeof a.enterFullScreen!=
 "undefined")a.isFullScreen?a.exitFullScreen():a.enterFullScreen()}}]};mejs.mepIndex=0;mejs.players={};mejs.MediaElementPlayer=function(a,b){if(!(this instanceof mejs.MediaElementPlayer))return new mejs.MediaElementPlayer(a,b);this.$media=this.$node=f(a);this.node=this.media=this.$media[0];if(typeof this.node.player!="undefined")return this.node.player;else this.node.player=this;if(typeof b=="undefined")b=this.$node.data("mejsoptions");this.options=f.extend({},mejs.MepDefaults,b);this.id="mep_"+mejs.mepIndex++;
 mejs.players[this.id]=this;this.init();return this};mejs.MediaElementPlayer.prototype={hasFocus:false,controlsAreVisible:true,init:function(){var a=this,b=mejs.MediaFeatures,c=f.extend(true,{},a.options,{success:function(d,g){a.meReady(d,g)},error:function(d){a.handleError(d)}}),e=a.media.tagName.toLowerCase();a.isDynamic=e!=="audio"&&e!=="video";a.isVideo=a.isDynamic?a.options.isVideo:e!=="audio"&&a.options.isVideo;if(b.isiPad&&a.options.iPadUseNativeControls||b.isiPhone&&a.options.iPhoneUseNativeControls){a.$media.attr("controls",
-"controls");if(b.isiPad&&a.media.getAttribute("autoplay")!==null){a.media.load();a.media.play()}}else if(!(b.isAndroid&&a.options.AndroidUseNativeControls)){a.$media.removeAttr("controls");a.container=f('<div id="'+a.id+'" class="mejs-container '+(mejs.MediaFeatures.svg?"svg":"no-svg")+'"><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(a.$media[0].className).insertBefore(a.$media);
-a.container.addClass((b.isAndroid?"mejs-android ":"")+(b.isiOS?"mejs-ios ":"")+(b.isiPad?"mejs-ipad ":"")+(b.isiPhone?"mejs-iphone ":"")+(a.isVideo?"mejs-video ":"mejs-audio "));if(b.isiOS){b=a.$media.clone();a.container.find(".mejs-mediaelement").append(b);a.$media.remove();a.$node=a.$media=b;a.node=a.media=b[0]}else a.container.find(".mejs-mediaelement").append(a.$media);a.controls=a.container.find(".mejs-controls");a.layers=a.container.find(".mejs-layers");b=a.isVideo?"video":"audio";e=b.substring(0,
-1).toUpperCase()+b.substring(1);a.width=a.options[b+"Width"]>0||a.options[b+"Width"].toString().indexOf("%")>-1?a.options[b+"Width"]:a.media.style.width!==""&&a.media.style.width!==null?a.media.style.width:a.media.getAttribute("width")!==null?a.$media.attr("width"):a.options["default"+e+"Width"];a.height=a.options[b+"Height"]>0||a.options[b+"Height"].toString().indexOf("%")>-1?a.options[b+"Height"]:a.media.style.height!==""&&a.media.style.height!==null?a.media.style.height:a.$media[0].getAttribute("height")!==
-null?a.$media.attr("height"):a.options["default"+e+"Height"];a.setPlayerSize(a.width,a.height);c.pluginWidth=a.width;c.pluginHeight=a.height}mejs.MediaElement(a.$media[0],c);typeof a.container!="undefined"&&a.controlsAreVisible&&a.container.trigger("controlsshown")},showControls:function(a){var b=this;a=typeof a=="undefined"||a;if(!b.controlsAreVisible){if(a){b.controls.css("visibility","visible").stop(true,true).fadeIn(200,function(){b.controlsAreVisible=true;b.container.trigger("controlsshown")});
-b.container.find(".mejs-control").css("visibility","visible").stop(true,true).fadeIn(200,function(){b.controlsAreVisible=true})}else{b.controls.css("visibility","visible").css("display","block");b.container.find(".mejs-control").css("visibility","visible").css("display","block");b.controlsAreVisible=true;b.container.trigger("controlsshown")}b.setControlsSize()}},hideControls:function(a){var b=this;a=typeof a=="undefined"||a;if(!(!b.controlsAreVisible||b.options.alwaysShowControls))if(a){b.controls.stop(true,
-true).fadeOut(200,function(){f(this).css("visibility","hidden").css("display","block");b.controlsAreVisible=false;b.container.trigger("controlshidden")});b.container.find(".mejs-control").stop(true,true).fadeOut(200,function(){f(this).css("visibility","hidden").css("display","block")})}else{b.controls.css("visibility","hidden").css("display","block");b.container.find(".mejs-control").css("visibility","hidden").css("display","block");b.controlsAreVisible=false;b.container.trigger("controlshidden")}},
-controlsTimer:null,startControlsTimer:function(a){var b=this;a=typeof a!="undefined"?a:1500;b.killControlsTimer("start");b.controlsTimer=setTimeout(function(){b.hideControls();b.killControlsTimer("hide")},a)},killControlsTimer:function(){if(this.controlsTimer!==null){clearTimeout(this.controlsTimer);delete this.controlsTimer;this.controlsTimer=null}},controlsEnabled:true,disableControls:function(){this.killControlsTimer();this.hideControls(false);this.controlsEnabled=false},enableControls:function(){this.showControls(false);
-this.controlsEnabled=true},meReady:function(a,b){var c=this,e=mejs.MediaFeatures,d=b.getAttribute("autoplay");d=!(typeof d=="undefined"||d===null||d==="false");var g;if(!c.created){c.created=true;c.media=a;c.domNode=b;if(!(e.isAndroid&&c.options.AndroidUseNativeControls)&&!(e.isiPad&&c.options.iPadUseNativeControls)&&!(e.isiPhone&&c.options.iPhoneUseNativeControls)){c.buildposter(c,c.controls,c.layers,c.media);c.buildkeyboard(c,c.controls,c.layers,c.media);c.buildoverlays(c,c.controls,c.layers,c.media);
-c.findTracks();for(g in c.options.features){e=c.options.features[g];if(c["build"+e])try{c["build"+e](c,c.controls,c.layers,c.media)}catch(k){}}c.container.trigger("controlsready");c.setPlayerSize(c.width,c.height);c.setControlsSize();if(c.isVideo){if(mejs.MediaFeatures.hasTouch)c.$media.bind("touchstart",function(){if(c.controlsAreVisible)c.hideControls(false);else c.controlsEnabled&&c.showControls(false)});else{mejs.MediaElementPlayer.prototype.clickToPlayPauseCallback=function(){if(c.options.clickToPlayPause)c.media.paused?
-c.media.play():c.media.pause()};c.media.addEventListener("click",c.clickToPlayPauseCallback,false);c.container.bind("mouseenter mouseover",function(){if(c.controlsEnabled)if(!c.options.alwaysShowControls){c.killControlsTimer("enter");c.showControls();c.startControlsTimer(2500)}}).bind("mousemove",function(){if(c.controlsEnabled){c.controlsAreVisible||c.showControls();c.options.alwaysShowControls||c.startControlsTimer(2500)}}).bind("mouseleave",function(){c.controlsEnabled&&!c.media.paused&&!c.options.alwaysShowControls&&
-c.startControlsTimer(1E3)})}c.options.hideVideoControlsOnLoad&&c.hideControls(false);d&&!c.options.alwaysShowControls&&c.hideControls();c.options.enableAutosize&&c.media.addEventListener("loadedmetadata",function(j){if(c.options.videoHeight<=0&&c.domNode.getAttribute("height")===null&&!isNaN(j.target.videoHeight)){c.setPlayerSize(j.target.videoWidth,j.target.videoHeight);c.setControlsSize();c.media.setVideoSize(j.target.videoWidth,j.target.videoHeight)}},false)}a.addEventListener("play",function(){for(var j in mejs.players){var m=
-mejs.players[j];m.id!=c.id&&c.options.pauseOtherPlayers&&!m.paused&&!m.ended&&m.pause();m.hasFocus=false}c.hasFocus=true},false);c.media.addEventListener("ended",function(){if(c.options.autoRewind)try{c.media.setCurrentTime(0)}catch(j){}c.media.pause();c.setProgressRail&&c.setProgressRail();c.setCurrentRail&&c.setCurrentRail();if(c.options.loop)c.media.play();else!c.options.alwaysShowControls&&c.controlsEnabled&&c.showControls()},false);c.media.addEventListener("loadedmetadata",function(){c.updateDuration&&
-c.updateDuration();c.updateCurrent&&c.updateCurrent();if(!c.isFullScreen){c.setPlayerSize(c.width,c.height);c.setControlsSize()}},false);setTimeout(function(){c.setPlayerSize(c.width,c.height);c.setControlsSize()},50);c.globalBind("resize",function(){c.isFullScreen||mejs.MediaFeatures.hasTrueNativeFullScreen&&document.webkitIsFullScreen||c.setPlayerSize(c.width,c.height);c.setControlsSize()});c.media.pluginType=="youtube"&&c.container.find(".mejs-overlay-play").hide()}if(d&&a.pluginType=="native"){a.load();
-a.play()}if(c.options.success)typeof c.options.success=="string"?window[c.options.success](c.media,c.domNode,c):c.options.success(c.media,c.domNode,c)}},handleError:function(a){this.controls.hide();this.options.error&&this.options.error(a)},setPlayerSize:function(a,b){if(typeof a!="undefined")this.width=a;if(typeof b!="undefined")this.height=b;if(this.height.toString().indexOf("%")>0||this.$node.css("max-width")==="100%"||parseInt(this.$node.css("max-width").replace(/px/,""),10)/this.$node.offsetParent().width()===
-1||this.$node[0].currentStyle&&this.$node[0].currentStyle.maxWidth==="100%"){var c=this.isVideo?this.media.videoWidth&&this.media.videoWidth>0?this.media.videoWidth:this.options.defaultVideoWidth:this.options.defaultAudioWidth,e=this.isVideo?this.media.videoHeight&&this.media.videoHeight>0?this.media.videoHeight:this.options.defaultVideoHeight:this.options.defaultAudioHeight,d=this.container.parent().closest(":visible").width();c=this.isVideo||!this.options.autosizeProgress?parseInt(d*e/c,10):e;if(this.container.parent()[0].tagName.toLowerCase()===
+"controls");b.isiPad&&a.media.getAttribute("autoplay")!==null&&a.play()}else if(!(b.isAndroid&&a.options.AndroidUseNativeControls)){a.$media.removeAttr("controls");a.container=f('<div id="'+a.id+'" class="mejs-container '+(mejs.MediaFeatures.svg?"svg":"no-svg")+'"><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(a.$media[0].className).insertBefore(a.$media);a.container.addClass((b.isAndroid?
+"mejs-android ":"")+(b.isiOS?"mejs-ios ":"")+(b.isiPad?"mejs-ipad ":"")+(b.isiPhone?"mejs-iphone ":"")+(a.isVideo?"mejs-video ":"mejs-audio "));if(b.isiOS){b=a.$media.clone();a.container.find(".mejs-mediaelement").append(b);a.$media.remove();a.$node=a.$media=b;a.node=a.media=b[0]}else a.container.find(".mejs-mediaelement").append(a.$media);a.controls=a.container.find(".mejs-controls");a.layers=a.container.find(".mejs-layers");b=a.isVideo?"video":"audio";e=b.substring(0,1).toUpperCase()+b.substring(1);
+a.width=a.options[b+"Width"]>0||a.options[b+"Width"].toString().indexOf("%")>-1?a.options[b+"Width"]:a.media.style.width!==""&&a.media.style.width!==null?a.media.style.width:a.media.getAttribute("width")!==null?a.$media.attr("width"):a.options["default"+e+"Width"];a.height=a.options[b+"Height"]>0||a.options[b+"Height"].toString().indexOf("%")>-1?a.options[b+"Height"]:a.media.style.height!==""&&a.media.style.height!==null?a.media.style.height:a.$media[0].getAttribute("height")!==null?a.$media.attr("height"):
+a.options["default"+e+"Height"];a.setPlayerSize(a.width,a.height);c.pluginWidth=a.width;c.pluginHeight=a.height}mejs.MediaElement(a.$media[0],c);typeof a.container!="undefined"&&a.controlsAreVisible&&a.container.trigger("controlsshown")},showControls:function(a){var b=this;a=typeof a=="undefined"||a;if(!b.controlsAreVisible){if(a){b.controls.css("visibility","visible").stop(true,true).fadeIn(200,function(){b.controlsAreVisible=true;b.container.trigger("controlsshown")});b.container.find(".mejs-control").css("visibility",
+"visible").stop(true,true).fadeIn(200,function(){b.controlsAreVisible=true})}else{b.controls.css("visibility","visible").css("display","block");b.container.find(".mejs-control").css("visibility","visible").css("display","block");b.controlsAreVisible=true;b.container.trigger("controlsshown")}b.setControlsSize()}},hideControls:function(a){var b=this;a=typeof a=="undefined"||a;if(!(!b.controlsAreVisible||b.options.alwaysShowControls))if(a){b.controls.stop(true,true).fadeOut(200,function(){f(this).css("visibility",
+"hidden").css("display","block");b.controlsAreVisible=false;b.container.trigger("controlshidden")});b.container.find(".mejs-control").stop(true,true).fadeOut(200,function(){f(this).css("visibility","hidden").css("display","block")})}else{b.controls.css("visibility","hidden").css("display","block");b.container.find(".mejs-control").css("visibility","hidden").css("display","block");b.controlsAreVisible=false;b.container.trigger("controlshidden")}},controlsTimer:null,startControlsTimer:function(a){var b=
+this;a=typeof a!="undefined"?a:1500;b.killControlsTimer("start");b.controlsTimer=setTimeout(function(){b.hideControls();b.killControlsTimer("hide")},a)},killControlsTimer:function(){if(this.controlsTimer!==null){clearTimeout(this.controlsTimer);delete this.controlsTimer;this.controlsTimer=null}},controlsEnabled:true,disableControls:function(){this.killControlsTimer();this.hideControls(false);this.controlsEnabled=false},enableControls:function(){this.showControls(false);this.controlsEnabled=true},
+meReady:function(a,b){var c=this,e=mejs.MediaFeatures,d=b.getAttribute("autoplay");d=!(typeof d=="undefined"||d===null||d==="false");var g;if(!c.created){c.created=true;c.media=a;c.domNode=b;if(!(e.isAndroid&&c.options.AndroidUseNativeControls)&&!(e.isiPad&&c.options.iPadUseNativeControls)&&!(e.isiPhone&&c.options.iPhoneUseNativeControls)){c.buildposter(c,c.controls,c.layers,c.media);c.buildkeyboard(c,c.controls,c.layers,c.media);c.buildoverlays(c,c.controls,c.layers,c.media);c.findTracks();for(g in c.options.features){e=
+c.options.features[g];if(c["build"+e])try{c["build"+e](c,c.controls,c.layers,c.media)}catch(k){}}c.container.trigger("controlsready");c.setPlayerSize(c.width,c.height);c.setControlsSize();if(c.isVideo){if(mejs.MediaFeatures.hasTouch)c.$media.bind("touchstart",function(){if(c.controlsAreVisible)c.hideControls(false);else c.controlsEnabled&&c.showControls(false)});else{c.clickToPlayPauseCallback=function(){if(c.options.clickToPlayPause)c.media.paused?c.play():c.pause()};c.media.addEventListener("click",
+c.clickToPlayPauseCallback,false);c.container.bind("mouseenter mouseover",function(){if(c.controlsEnabled)if(!c.options.alwaysShowControls){c.killControlsTimer("enter");c.showControls();c.startControlsTimer(2500)}}).bind("mousemove",function(){if(c.controlsEnabled){c.controlsAreVisible||c.showControls();c.options.alwaysShowControls||c.startControlsTimer(2500)}}).bind("mouseleave",function(){c.controlsEnabled&&!c.media.paused&&!c.options.alwaysShowControls&&c.startControlsTimer(1E3)})}c.options.hideVideoControlsOnLoad&&
+c.hideControls(false);d&&!c.options.alwaysShowControls&&c.hideControls();c.options.enableAutosize&&c.media.addEventListener("loadedmetadata",function(j){if(c.options.videoHeight<=0&&c.domNode.getAttribute("height")===null&&!isNaN(j.target.videoHeight)){c.setPlayerSize(j.target.videoWidth,j.target.videoHeight);c.setControlsSize();c.media.setVideoSize(j.target.videoWidth,j.target.videoHeight)}},false)}a.addEventListener("play",function(){for(var j in mejs.players){var m=mejs.players[j];m.id!=c.id&&
+c.options.pauseOtherPlayers&&!m.paused&&!m.ended&&m.pause();m.hasFocus=false}c.hasFocus=true},false);c.media.addEventListener("ended",function(){if(c.options.autoRewind)try{c.media.setCurrentTime(0)}catch(j){}c.media.pause();c.setProgressRail&&c.setProgressRail();c.setCurrentRail&&c.setCurrentRail();if(c.options.loop)c.play();else!c.options.alwaysShowControls&&c.controlsEnabled&&c.showControls()},false);c.media.addEventListener("loadedmetadata",function(){c.updateDuration&&c.updateDuration();c.updateCurrent&&
+c.updateCurrent();if(!c.isFullScreen){c.setPlayerSize(c.width,c.height);c.setControlsSize()}},false);setTimeout(function(){c.setPlayerSize(c.width,c.height);c.setControlsSize()},50);c.globalBind("resize",function(){c.isFullScreen||mejs.MediaFeatures.hasTrueNativeFullScreen&&document.webkitIsFullScreen||c.setPlayerSize(c.width,c.height);c.setControlsSize()});c.media.pluginType=="youtube"&&c.container.find(".mejs-overlay-play").hide()}d&&a.pluginType=="native"&&c.play();if(c.options.success)typeof c.options.success==
+"string"?window[c.options.success](c.media,c.domNode,c):c.options.success(c.media,c.domNode,c)}},handleError:function(a){this.controls.hide();this.options.error&&this.options.error(a)},setPlayerSize:function(a,b){if(typeof a!="undefined")this.width=a;if(typeof b!="undefined")this.height=b;if(this.height.toString().indexOf("%")>0||this.$node.css("max-width")==="100%"||parseInt(this.$node.css("max-width").replace(/px/,""),10)/this.$node.offsetParent().width()===1||this.$node[0].currentStyle&&this.$node[0].currentStyle.maxWidth===
+"100%"){var c=this.isVideo?this.media.videoWidth&&this.media.videoWidth>0?this.media.videoWidth:this.options.defaultVideoWidth:this.options.defaultAudioWidth,e=this.isVideo?this.media.videoHeight&&this.media.videoHeight>0?this.media.videoHeight:this.options.defaultVideoHeight:this.options.defaultAudioHeight,d=this.container.parent().closest(":visible").width();c=this.isVideo||!this.options.autosizeProgress?parseInt(d*e/c,10):e;if(isNaN(c))c=this.container.parent().closest(":visible").height();if(this.container.parent()[0].tagName.toLowerCase()===
 "body"){d=f(window).width();c=f(window).height()}if(c!=0&&d!=0){this.container.width(d).height(c);this.$media.add(this.container.find(".mejs-shim")).width("100%").height("100%");this.isVideo&&this.media.setVideoSize&&this.media.setVideoSize(d,c);this.layers.children(".mejs-layer").width("100%").height("100%")}}else{this.container.width(this.width).height(this.height);this.layers.children(".mejs-layer").width(this.width).height(this.height)}d=this.layers.find(".mejs-overlay-play");c=d.find(".mejs-overlay-button");
-d.height(this.container.height()-this.controls.height());c.css("margin-top","-"+(c.height()/2-this.controls.height()/2).toString()+"px")},setControlsSize:function(){var a=0,b=0,c=this.controls.find(".mejs-time-rail"),e=this.controls.find(".mejs-time-total");this.controls.find(".mejs-time-current");this.controls.find(".mejs-time-loaded");var d=c.siblings();if(this.options&&!this.options.autosizeProgress)b=parseInt(c.css("width"));if(b===0||!b){d.each(function(){var g=f(this);if(g.css("position")!=
-"absolute"&&g.is(":visible"))a+=f(this).outerWidth(true)});b=this.controls.width()-a-(c.outerWidth(true)-c.width())}c.width(b);e.width(b-(e.outerWidth(true)-e.width()));this.setProgressRail&&this.setProgressRail();this.setCurrentRail&&this.setCurrentRail()},buildposter:function(a,b,c,e){var d=f('<div class="mejs-poster mejs-layer"></div>').appendTo(c);b=a.$media.attr("poster");if(a.options.poster!=="")b=a.options.poster;b!==""&&b!=null?this.setPoster(b):d.hide();e.addEventListener("play",function(){d.hide()},
-false);a.options.showPosterWhenEnded&&a.options.autoRewind&&e.addEventListener("ended",function(){d.show()},false)},setPoster:function(a){var b=this.container.find(".mejs-poster"),c=b.find("img");if(c.length==0)c=f('<img width="100%" height="100%" />').appendTo(b);c.attr("src",a);b.css({"background-image":"url("+a+")"})},buildoverlays:function(a,b,c,e){var d=this;if(a.isVideo){var g=f('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-loading"><span></span></div></div>').hide().appendTo(c),
-k=f('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-error"></div></div>').hide().appendTo(c),j=f('<div class="mejs-overlay mejs-layer mejs-overlay-play"><div class="mejs-overlay-button"></div></div>').appendTo(c).click(function(){if(d.options.clickToPlayPause)e.paused?e.play():e.pause()});e.addEventListener("play",function(){j.hide();g.hide();b.find(".mejs-time-buffering").hide();k.hide()},false);e.addEventListener("playing",function(){j.hide();g.hide();b.find(".mejs-time-buffering").hide();
-k.hide()},false);e.addEventListener("seeking",function(){g.show();b.find(".mejs-time-buffering").show()},false);e.addEventListener("seeked",function(){g.hide();b.find(".mejs-time-buffering").hide()},false);e.addEventListener("pause",function(){mejs.MediaFeatures.isiPhone||j.show()},false);e.addEventListener("waiting",function(){g.show();b.find(".mejs-time-buffering").show()},false);e.addEventListener("loadeddata",function(){g.show();b.find(".mejs-time-buffering").show()},false);e.addEventListener("canplay",
-function(){g.hide();b.find(".mejs-time-buffering").hide()},false);e.addEventListener("error",function(){g.hide();b.find(".mejs-time-buffering").hide();k.show();k.find("mejs-overlay-error").html("Error loading this resource")},false)}},buildkeyboard:function(a,b,c,e){this.globalBind("keydown",function(d){if(a.hasFocus&&a.options.enableKeyboard)for(var g=0,k=a.options.keyActions.length;g<k;g++)for(var j=a.options.keyActions[g],m=0,q=j.keys.length;m<q;m++)if(d.keyCode==j.keys[m]){d.preventDefault();
-j.action(a,e,d.keyCode);return false}return true});this.globalBind("click",function(d){if(f(d.target).closest(".mejs-container").length==0)a.hasFocus=false})},findTracks:function(){var a=this,b=a.$media.find("track");a.tracks=[];b.each(function(c,e){e=f(e);a.tracks.push({srclang:e.attr("srclang")?e.attr("srclang").toLowerCase():"",src:e.attr("src"),kind:e.attr("kind"),label:e.attr("label")||"",entries:[],isLoaded:false})})},changeSkin:function(a){this.container[0].className="mejs-container "+a;this.setPlayerSize(this.width,
-this.height);this.setControlsSize()},play:function(){this.media.play()},pause:function(){try{this.media.pause()}catch(a){}},load:function(){this.media.load()},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;for(a in this.options.features){b=
-this.options.features[a];if(this["clean"+b])try{this["clean"+b](this)}catch(c){}}if(this.isDynamic)this.$node.insertBefore(this.container);else{this.$media.prop("controls",true);this.$node.clone().show().insertBefore(this.container);this.$node.remove()}this.media.pluginType!=="native"&&this.media.remove();delete mejs.players[this.id];this.container.remove();this.globalUnbind();delete this.node.player}};(function(){function a(c,e){var d={d:[],w:[]};f.each((c||"").split(" "),function(g,k){var j=k+"."+
-e;if(j.indexOf(".")===0){d.d.push(j);d.w.push(j)}else d[b.test(k)?"w":"d"].push(j)});d.d=d.d.join(" ");d.w=d.w.join(" ");return d}var b=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/;mejs.MediaElementPlayer.prototype.globalBind=function(c,e,d){c=a(c,this.id);c.d&&f(document).bind(c.d,e,d);c.w&&f(window).bind(c.w,e,d)};mejs.MediaElementPlayer.prototype.globalUnbind=function(c,e){c=a(c,this.id);c.d&&f(document).unbind(c.d,e);c.w&&f(window).unbind(c.w,
-e)}})();if(typeof jQuery!="undefined")jQuery.fn.mediaelementplayer=function(a){a===false?this.each(function(){var b=jQuery(this).data("mediaelementplayer");b&&b.remove();jQuery(this).removeData("mediaelementplayer")}):this.each(function(){jQuery(this).data("mediaelementplayer",new mejs.MediaElementPlayer(this,a))});return this};f(document).ready(function(){f(".mejs-player").mediaelementplayer()});window.MediaElementPlayer=mejs.MediaElementPlayer})(mejs.$);
+d.height(this.container.height()-this.controls.height());c.css("margin-top","-"+(c.height()/2-this.controls.height()/2).toString()+"px")},setControlsSize:function(){var a=0,b=0,c=this.controls.find(".mejs-time-rail"),e=this.controls.find(".mejs-time-total");this.controls.find(".mejs-time-current");this.controls.find(".mejs-time-loaded");var d=c.siblings(),g=d.last(),k=null;if(!(!this.container.is(":visible")||!c.length||!c.is(":visible"))){if(this.options&&!this.options.autosizeProgress)b=parseInt(c.css("width"));
+if(b===0||!b){d.each(function(){var j=f(this);if(j.css("position")!="absolute"&&j.is(":visible"))a+=f(this).outerWidth(true)});b=this.controls.width()-a-(c.outerWidth(true)-c.width())}do{c.width(b);e.width(b-(e.outerWidth(true)-e.width()));if(g.css("position")!="absolute"){k=g.position();b--}}while(k!=null&&k.top>0&&b>0);this.setProgressRail&&this.setProgressRail();this.setCurrentRail&&this.setCurrentRail()}},buildposter:function(a,b,c,e){var d=f('<div class="mejs-poster mejs-layer"></div>').appendTo(c);
+b=a.$media.attr("poster");if(a.options.poster!=="")b=a.options.poster;b!==""&&b!=null?this.setPoster(b):d.hide();e.addEventListener("play",function(){d.hide()},false);a.options.showPosterWhenEnded&&a.options.autoRewind&&e.addEventListener("ended",function(){d.show()},false)},setPoster:function(a){var b=this.container.find(".mejs-poster"),c=b.find("img");if(c.length==0)c=f('<img width="100%" height="100%" />').appendTo(b);c.attr("src",a);b.css({"background-image":"url("+a+")"})},buildoverlays:function(a,
+b,c,e){var d=this;if(a.isVideo){var g=f('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-loading"><span></span></div></div>').hide().appendTo(c),k=f('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-error"></div></div>').hide().appendTo(c),j=f('<div class="mejs-overlay mejs-layer mejs-overlay-play"><div class="mejs-overlay-button"></div></div>').appendTo(c).bind("click touchstart",function(){d.options.clickToPlayPause&&e.paused&&e.play()});e.addEventListener("play",function(){j.hide();
+g.hide();b.find(".mejs-time-buffering").hide();k.hide()},false);e.addEventListener("playing",function(){j.hide();g.hide();b.find(".mejs-time-buffering").hide();k.hide()},false);e.addEventListener("seeking",function(){g.show();b.find(".mejs-time-buffering").show()},false);e.addEventListener("seeked",function(){g.hide();b.find(".mejs-time-buffering").hide()},false);e.addEventListener("pause",function(){mejs.MediaFeatures.isiPhone||j.show()},false);e.addEventListener("waiting",function(){g.show();b.find(".mejs-time-buffering").show()},
+false);e.addEventListener("loadeddata",function(){g.show();b.find(".mejs-time-buffering").show()},false);e.addEventListener("canplay",function(){g.hide();b.find(".mejs-time-buffering").hide()},false);e.addEventListener("error",function(){g.hide();b.find(".mejs-time-buffering").hide();k.show();k.find("mejs-overlay-error").html("Error loading this resource")},false)}},buildkeyboard:function(a,b,c,e){this.globalBind("keydown",function(d){if(a.hasFocus&&a.options.enableKeyboard)for(var g=0,k=a.options.keyActions.length;g<
+k;g++)for(var j=a.options.keyActions[g],m=0,q=j.keys.length;m<q;m++)if(d.keyCode==j.keys[m]){d.preventDefault();j.action(a,e,d.keyCode);return false}return true});this.globalBind("click",function(d){a.hasFocus=f(d.target).closest(".mejs-container").length!=0})},findTracks:function(){var a=this,b=a.$media.find("track");a.tracks=[];b.each(function(c,e){e=f(e);a.tracks.push({srclang:e.attr("srclang")?e.attr("srclang").toLowerCase():"",src:e.attr("src"),kind:e.attr("kind"),label:e.attr("label")||"",entries:[],
+isLoaded:false})})},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=true},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;for(a in this.options.features){b=this.options.features[a];if(this["clean"+b])try{this["clean"+b](this)}catch(c){}}if(this.isDynamic)this.$node.insertBefore(this.container);else{this.$media.prop("controls",true);this.$node.clone().show().insertBefore(this.container);this.$node.remove()}this.media.pluginType!=="native"&&this.media.remove();delete mejs.players[this.id];typeof this.container==
+"object"&&this.container.remove();this.globalUnbind();delete this.node.player}};(function(){function a(c,e){var d={d:[],w:[]};f.each((c||"").split(" "),function(g,k){var j=k+"."+e;if(j.indexOf(".")===0){d.d.push(j);d.w.push(j)}else d[b.test(k)?"w":"d"].push(j)});d.d=d.d.join(" ");d.w=d.w.join(" ");return d}var b=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/;mejs.MediaElementPlayer.prototype.globalBind=function(c,e,d){c=a(c,this.id);
+c.d&&f(document).bind(c.d,e,d);c.w&&f(window).bind(c.w,e,d)};mejs.MediaElementPlayer.prototype.globalUnbind=function(c,e){c=a(c,this.id);c.d&&f(document).unbind(c.d,e);c.w&&f(window).unbind(c.w,e)}})();if(typeof jQuery!="undefined")jQuery.fn.mediaelementplayer=function(a){a===false?this.each(function(){var b=jQuery(this).data("mediaelementplayer");b&&b.remove();jQuery(this).removeData("mediaelementplayer")}):this.each(function(){jQuery(this).data("mediaelementplayer",new mejs.MediaElementPlayer(this,
+a))});return this};f(document).ready(function(){f(".mejs-player").mediaelementplayer()});window.MediaElementPlayer=mejs.MediaElementPlayer})(mejs.$);
 (function(f){f.extend(mejs.MepDefaults,{playpauseText:mejs.i18n.t("Play/Pause")});f.extend(MediaElementPlayer.prototype,{buildplaypause:function(a,b,c,e){var d=f('<div class="mejs-button mejs-playpause-button mejs-play" ><button type="button" aria-controls="'+this.id+'" title="'+this.options.playpauseText+'" aria-label="'+this.options.playpauseText+'"></button></div>').appendTo(b).click(function(g){g.preventDefault();e.paused?e.play():e.pause();return false});e.addEventListener("play",function(){d.removeClass("mejs-play").addClass("mejs-pause")},
 false);e.addEventListener("playing",function(){d.removeClass("mejs-play").addClass("mejs-pause")},false);e.addEventListener("pause",function(){d.removeClass("mejs-pause").addClass("mejs-play")},false);e.addEventListener("paused",function(){d.removeClass("mejs-pause").addClass("mejs-play")},false)}})})(mejs.$);
 (function(f){f.extend(mejs.MepDefaults,{stopText:"Stop"});f.extend(MediaElementPlayer.prototype,{buildstop:function(a,b,c,e){f('<div class="mejs-button mejs-stop-button mejs-stop"><button type="button" aria-controls="'+this.id+'" title="'+this.options.stopText+'" aria-label="'+this.options.stopText+'"></button></div>').appendTo(b).click(function(){e.paused||e.pause();if(e.currentTime>0){e.setCurrentTime(0);e.pause();b.find(".mejs-time-current").width("0px");b.find(".mejs-time-handle").css("left",
 "0px");b.find(".mejs-time-float-current").html(mejs.Utility.secondsToTimeCode(0));b.find(".mejs-currenttime").html(mejs.Utility.secondsToTimeCode(0));c.find(".mejs-poster").show()}})}})})(mejs.$);
 (function(f){f.extend(MediaElementPlayer.prototype,{buildprogress:function(a,b,c,e){f('<div class="mejs-time-rail"><span class="mejs-time-total"><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(b);b.find(".mejs-time-buffering").hide();var d=
-this,g=b.find(".mejs-time-total");c=b.find(".mejs-time-loaded");var k=b.find(".mejs-time-current"),j=b.find(".mejs-time-handle"),m=b.find(".mejs-time-float"),q=b.find(".mejs-time-float-current"),p=function(h){h=h.pageX;var l=g.offset(),r=g.outerWidth(true),n=0,o=n=0;if(e.duration){if(h<l.left)h=l.left;else if(h>r+l.left)h=r+l.left;o=h-l.left;n=o/r;n=n<=0.02?0:n*e.duration;t&&n!==e.currentTime&&e.setCurrentTime(n);if(!mejs.MediaFeatures.hasTouch){m.css("left",o);q.html(mejs.Utility.secondsToTimeCode(n));
-m.show()}}},t=false;g.bind("mousedown",function(h){if(h.which===1){t=true;p(h);d.globalBind("mousemove.dur",function(l){p(l)});d.globalBind("mouseup.dur",function(){t=false;m.hide();d.globalUnbind(".dur")});return false}}).bind("mouseenter",function(){d.globalBind("mousemove.dur",function(h){p(h)});mejs.MediaFeatures.hasTouch||m.show()}).bind("mouseleave",function(){if(!t){d.globalUnbind(".dur");m.hide()}});e.addEventListener("progress",function(h){a.setProgressRail(h);a.setCurrentRail(h)},false);
-e.addEventListener("timeupdate",function(h){a.setProgressRail(h);a.setCurrentRail(h)},false);d.loaded=c;d.total=g;d.current=k;d.handle=j},setProgressRail:function(a){var b=a!=undefined?a.target:this.media,c=null;if(b&&b.buffered&&b.buffered.length>0&&b.buffered.end&&b.duration)c=b.buffered.end(0)/b.duration;else if(b&&b.bytesTotal!=undefined&&b.bytesTotal>0&&b.bufferedBytes!=undefined)c=b.bufferedBytes/b.bytesTotal;else if(a&&a.lengthComputable&&a.total!=0)c=a.loaded/a.total;if(c!==null){c=Math.min(1,
-Math.max(0,c));this.loaded&&this.total&&this.loaded.width(this.total.width()*c)}},setCurrentRail:function(){if(this.media.currentTime!=undefined&&this.media.duration)if(this.total&&this.handle){var a=Math.round(this.total.width()*this.media.currentTime/this.media.duration),b=a-Math.round(this.handle.outerWidth(true)/2);this.current.width(a);this.handle.css("left",b)}}})})(mejs.$);
+this,g=b.find(".mejs-time-total");c=b.find(".mejs-time-loaded");var k=b.find(".mejs-time-current"),j=b.find(".mejs-time-handle"),m=b.find(".mejs-time-float"),q=b.find(".mejs-time-float-current"),p=function(h){h=h.originalEvent.changedTouches?h.originalEvent.changedTouches[0].pageX:h.pageX;var l=g.offset(),r=g.outerWidth(true),n=0,o=n=0;if(e.duration){if(h<l.left)h=l.left;else if(h>r+l.left)h=r+l.left;o=h-l.left;n=o/r;n=n<=0.02?0:n*e.duration;t&&n!==e.currentTime&&e.setCurrentTime(n);if(!mejs.MediaFeatures.hasTouch){m.css("left",
+o);q.html(mejs.Utility.secondsToTimeCode(n));m.show()}}},t=false;g.bind("mousedown touchstart",function(h){if(h.which===1||h.which===0){t=true;p(h);d.globalBind("mousemove.dur touchmove.dur",function(l){p(l)});d.globalBind("mouseup.dur touchend.dur",function(){t=false;m.hide();d.globalUnbind(".dur")});return false}}).bind("mouseenter",function(){d.globalBind("mousemove.dur",function(h){p(h)});mejs.MediaFeatures.hasTouch||m.show()}).bind("mouseleave",function(){if(!t){d.globalUnbind(".dur");m.hide()}});
+e.addEventListener("progress",function(h){a.setProgressRail(h);a.setCurrentRail(h)},false);e.addEventListener("timeupdate",function(h){a.setProgressRail(h);a.setCurrentRail(h)},false);d.loaded=c;d.total=g;d.current=k;d.handle=j},setProgressRail:function(a){var b=a!=undefined?a.target:this.media,c=null;if(b&&b.buffered&&b.buffered.length>0&&b.buffered.end&&b.duration)c=b.buffered.end(0)/b.duration;else if(b&&b.bytesTotal!=undefined&&b.bytesTotal>0&&b.bufferedBytes!=undefined)c=b.bufferedBytes/b.bytesTotal;
+else if(a&&a.lengthComputable&&a.total!=0)c=a.loaded/a.total;if(c!==null){c=Math.min(1,Math.max(0,c));this.loaded&&this.total&&this.loaded.width(this.total.width()*c)}},setCurrentRail:function(){if(this.media.currentTime!=undefined&&this.media.duration)if(this.total&&this.handle){var a=Math.round(this.total.width()*this.media.currentTime/this.media.duration),b=a-Math.round(this.handle.outerWidth(true)/2);this.current.width(a);this.handle.css("left",b)}}})})(mejs.$);
 (function(f){f.extend(mejs.MepDefaults,{duration:-1,timeAndDurationSeparator:"<span> | </span>"});f.extend(MediaElementPlayer.prototype,{buildcurrent:function(a,b,c,e){f('<div class="mejs-time"><span class="mejs-currenttime">'+(a.options.alwaysShowHours?"00:":"")+(a.options.showTimecodeFrameCount?"00:00:00":"00:00")+"</span></div>").appendTo(b);this.currenttime=this.controls.find(".mejs-currenttime");e.addEventListener("timeupdate",function(){a.updateCurrent()},false)},buildduration:function(a,b,
 c,e){if(b.children().last().find(".mejs-currenttime").length>0)f(this.options.timeAndDurationSeparator+'<span class="mejs-duration">'+(this.options.duration>0?mejs.Utility.secondsToTimeCode(this.options.duration,this.options.alwaysShowHours||this.media.duration>3600,this.options.showTimecodeFrameCount,this.options.framesPerSecond||25):(a.options.alwaysShowHours?"00:":"")+(a.options.showTimecodeFrameCount?"00:00:00":"00:00"))+"</span>").appendTo(b.find(".mejs-time"));else{b.find(".mejs-currenttime").parent().addClass("mejs-currenttime-container");
 f('<div class="mejs-time mejs-duration-container"><span class="mejs-duration">'+(this.options.duration>0?mejs.Utility.secondsToTimeCode(this.options.duration,this.options.alwaysShowHours||this.media.duration>3600,this.options.showTimecodeFrameCount,this.options.framesPerSecond||25):(a.options.alwaysShowHours?"00:":"")+(a.options.showTimecodeFrameCount?"00:00:00":"00:00"))+"</span></div>").appendTo(b)}this.durationD=this.controls.find(".mejs-duration");e.addEventListener("timeupdate",function(){a.updateDuration()},
 false)},updateCurrent:function(){if(this.currenttime)this.currenttime.html(mejs.Utility.secondsToTimeCode(this.media.currentTime,this.options.alwaysShowHours||this.media.duration>3600,this.options.showTimecodeFrameCount,this.options.framesPerSecond||25))},updateDuration:function(){this.container.toggleClass("mejs-long-video",this.media.duration>3600);if(this.durationD&&(this.options.duration>0||this.media.duration))this.durationD.html(mejs.Utility.secondsToTimeCode(this.options.duration>0?this.options.duration:
 this.media.duration,this.options.alwaysShowHours,this.options.showTimecodeFrameCount,this.options.framesPerSecond||25))}})})(mejs.$);
-(function(f){f.extend(mejs.MepDefaults,{muteText:mejs.i18n.t("Mute Toggle"),hideVolumeOnTouchDevices:true,audioVolume:"horizontal",videoVolume:"vertical"});f.extend(MediaElementPlayer.prototype,{buildvolume:function(a,b,c,e){if(!(mejs.MediaFeatures.hasTouch&&this.options.hideVolumeOnTouchDevices)){var d=this,g=d.isVideo?d.options.videoVolume:d.options.audioVolume,k=g=="horizontal"?f('<div class="mejs-button mejs-volume-button mejs-mute"><button type="button" aria-controls="'+d.id+'" title="'+d.options.muteText+
-'" aria-label="'+d.options.muteText+'"></button></div><div class="mejs-horizontal-volume-slider"><div class="mejs-horizontal-volume-total"></div><div class="mejs-horizontal-volume-current"></div><div class="mejs-horizontal-volume-handle"></div></div>').appendTo(b):f('<div class="mejs-button mejs-volume-button mejs-mute"><button type="button" aria-controls="'+d.id+'" title="'+d.options.muteText+'" aria-label="'+d.options.muteText+'"></button><div class="mejs-volume-slider"><div class="mejs-volume-total"></div><div class="mejs-volume-current"></div><div class="mejs-volume-handle"></div></div></div>').appendTo(b),
+(function(f){f.extend(mejs.MepDefaults,{muteText:mejs.i18n.t("Mute Toggle"),hideVolumeOnTouchDevices:true,audioVolume:"horizontal",videoVolume:"vertical"});f.extend(MediaElementPlayer.prototype,{buildvolume:function(a,b,c,e){if(!((mejs.MediaFeatures.isAndroid||mejs.MediaFeatures.isiOS)&&this.options.hideVolumeOnTouchDevices)){var d=this,g=d.isVideo?d.options.videoVolume:d.options.audioVolume,k=g=="horizontal"?f('<div class="mejs-button mejs-volume-button mejs-mute"><button type="button" aria-controls="'+
+d.id+'" title="'+d.options.muteText+'" aria-label="'+d.options.muteText+'"></button></div><div class="mejs-horizontal-volume-slider"><div class="mejs-horizontal-volume-total"></div><div class="mejs-horizontal-volume-current"></div><div class="mejs-horizontal-volume-handle"></div></div>').appendTo(b):f('<div class="mejs-button mejs-volume-button mejs-mute"><button type="button" aria-controls="'+d.id+'" title="'+d.options.muteText+'" aria-label="'+d.options.muteText+'"></button><div class="mejs-volume-slider"><div class="mejs-volume-total"></div><div class="mejs-volume-current"></div><div class="mejs-volume-handle"></div></div></div>').appendTo(b),
 j=d.container.find(".mejs-volume-slider, .mejs-horizontal-volume-slider"),m=d.container.find(".mejs-volume-total, .mejs-horizontal-volume-total"),q=d.container.find(".mejs-volume-current, .mejs-horizontal-volume-current"),p=d.container.find(".mejs-volume-handle, .mejs-horizontal-volume-handle"),t=function(n,o){if(!j.is(":visible")&&typeof o=="undefined"){j.show();t(n,true);j.hide()}else{n=Math.max(0,n);n=Math.min(n,1);n==0?k.removeClass("mejs-mute").addClass("mejs-unmute"):k.removeClass("mejs-unmute").addClass("mejs-mute");
 if(g=="vertical"){var s=m.height(),u=m.position(),v=s-s*n;p.css("top",Math.round(u.top+v-p.height()/2));q.height(s-v);q.css("top",u.top+v)}else{s=m.width();u=m.position();s=s*n;p.css("left",Math.round(u.left+s-p.width()/2));q.width(Math.round(s))}}},h=function(n){var o=null,s=m.offset();if(g=="vertical"){o=m.height();parseInt(m.css("top").replace(/px/,""),10);o=(o-(n.pageY-s.top))/o;if(s.top==0||s.left==0)return}else{o=m.width();o=(n.pageX-s.left)/o}o=Math.max(0,o);o=Math.min(o,1);t(o);o==0?e.setMuted(true):
 e.setMuted(false);e.setVolume(o)},l=false,r=false;k.hover(function(){j.show();r=true},function(){r=false;!l&&g=="vertical"&&j.hide()});j.bind("mouseover",function(){r=true}).bind("mousedown",function(n){h(n);d.globalBind("mousemove.vol",function(o){h(o)});d.globalBind("mouseup.vol",function(){l=false;d.globalUnbind(".vol");!r&&g=="vertical"&&j.hide()});l=true;return false});k.find("button").click(function(){e.setMuted(!e.muted)});e.addEventListener("volumechange",function(){if(!l)if(e.muted){t(0);
@@ -137,11 +140,11 @@ mejs.MediaFeatures.isFullScreen()||a.isFullScreen?a.exitFullScreen():a.enterFull
 left:h+r});q.bottom.width(o).height(s-n-l).css({top:l+n})};d.globalBind("resize",function(){t()});p=0;for(c=b.length;p<c;p++)q[b[p]]=f('<div class="mejs-fullscreen-hover" />').appendTo(d.container).mouseover(m).hide();g.on("mouseover",function(){if(!d.isFullScreen){var h=g.offset(),l=a.container.offset();e.positionFullscreenButton(h.left-l.left,h.top-l.top,false);g.css("pointer-events","none");d.controls.css("pointer-events","none");d.media.addEventListener("click",d.clickToPlayPauseCallback);for(p in q)q[p].show();
 t();j=true}});e.addEventListener("fullscreenchange",function(){d.isFullScreen=!d.isFullScreen;d.isFullScreen?d.media.removeEventListener("click",d.clickToPlayPauseCallback):d.media.addEventListener("click",d.clickToPlayPauseCallback);m()});d.globalBind("mousemove",function(h){if(j){var l=g.offset();if(h.pageY<l.top||h.pageY>l.top+g.outerHeight(true)||h.pageX<l.left||h.pageX>l.left+g.outerWidth(true)){g.css("pointer-events","");d.controls.css("pointer-events","");j=false}}})}else g.on("mouseover",
 function(){if(k!==null){clearTimeout(k);delete k}var h=g.offset(),l=a.container.offset();e.positionFullscreenButton(h.left-l.left,h.top-l.top,true)}).on("mouseout",function(){if(k!==null){clearTimeout(k);delete k}k=setTimeout(function(){e.hideFullscreenButton()},1500)})}a.fullscreenBtn=g;d.globalBind("keydown",function(h){if((mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||d.isFullScreen)&&h.keyCode==27)a.exitFullScreen()})}},cleanfullscreen:function(a){a.exitFullScreen()},
-containerSizeTimeout:null,enterFullScreen:function(){var a=this;if(!(a.media.pluginType!=="native"&&(mejs.MediaFeatures.isFirefox||a.options.usePluginFullScreen))){f(document.documentElement).addClass("mejs-fullscreen");normalHeight=a.container.height();normalWidth=a.container.width();if(a.media.pluginType==="native")if(mejs.MediaFeatures.hasTrueNativeFullScreen){mejs.MediaFeatures.requestFullScreen(a.container[0]);a.isInIframe&&setTimeout(function c(){if(a.isNativeFullScreen)f(window).width()!==
-screen.width?a.exitFullScreen():setTimeout(c,500)},500)}else if(mejs.MediaFeatures.hasSemiNativeFullScreen){a.media.webkitEnterFullscreen();return}if(a.isInIframe){var b=a.options.newWindowCallback(this);if(b!=="")if(mejs.MediaFeatures.hasTrueNativeFullScreen)setTimeout(function(){if(!a.isNativeFullScreen){a.pause();window.open(b,a.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no")}},250);else{a.pause();window.open(b,a.id,
-"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no");return}}a.container.addClass("mejs-container-fullscreen").width("100%").height("100%");a.containerSizeTimeout=setTimeout(function(){a.container.css({width:"100%",height:"100%"});a.setControlsSize()},500);if(a.media.pluginType==="native")a.$media.width("100%").height("100%");else{a.container.find(".mejs-shim").width("100%").height("100%");a.media.setVideoSize(f(window).width(),
-f(window).height())}a.layers.children("div").width("100%").height("100%");a.fullscreenBtn&&a.fullscreenBtn.removeClass("mejs-fullscreen").addClass("mejs-unfullscreen");a.setControlsSize();a.isFullScreen=true}},exitFullScreen:function(){clearTimeout(this.containerSizeTimeout);if(this.media.pluginType!=="native"&&mejs.MediaFeatures.isFirefox)this.media.setFullscreen(false);else{if(mejs.MediaFeatures.hasTrueNativeFullScreen&&(mejs.MediaFeatures.isFullScreen()||this.isFullScreen))mejs.MediaFeatures.cancelFullScreen();
-f(document.documentElement).removeClass("mejs-fullscreen");this.container.removeClass("mejs-container-fullscreen").width(normalWidth).height(normalHeight);if(this.media.pluginType==="native")this.$media.width(normalWidth).height(normalHeight);else{this.container.find(".mejs-shim").width(normalWidth).height(normalHeight);this.media.setVideoSize(normalWidth,normalHeight)}this.layers.children("div").width(normalWidth).height(normalHeight);this.fullscreenBtn.removeClass("mejs-unfullscreen").addClass("mejs-fullscreen");
+containerSizeTimeout:null,enterFullScreen:function(){var a=this;if(!(a.media.pluginType!=="native"&&(mejs.MediaFeatures.isFirefox||a.options.usePluginFullScreen))){f(document.documentElement).addClass("mejs-fullscreen");normalHeight=a.container.height();normalWidth=a.container.width();if(a.media.pluginType==="native")if(mejs.MediaFeatures.hasTrueNativeFullScreen){mejs.MediaFeatures.requestFullScreen(a.container[0]);a.isInIframe&&setTimeout(function c(){if(a.isNativeFullScreen){var e=(window.devicePixelRatio||
+1)*f(window).width(),d=screen.width;Math.abs(d-e)>d*0.0020?a.exitFullScreen():setTimeout(c,500)}},500)}else if(mejs.MediaFeatures.hasSemiNativeFullScreen){a.media.webkitEnterFullscreen();return}if(a.isInIframe){var b=a.options.newWindowCallback(this);if(b!=="")if(mejs.MediaFeatures.hasTrueNativeFullScreen)setTimeout(function(){if(!a.isNativeFullScreen){a.pause();window.open(b,a.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no")}},
+250);else{a.pause();window.open(b,a.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no");return}}a.container.addClass("mejs-container-fullscreen").width("100%").height("100%");a.containerSizeTimeout=setTimeout(function(){a.container.css({width:"100%",height:"100%"});a.setControlsSize()},500);if(a.media.pluginType==="native")a.$media.width("100%").height("100%");else{a.container.find(".mejs-shim").width("100%").height("100%");
+a.media.setVideoSize(f(window).width(),f(window).height())}a.layers.children("div").width("100%").height("100%");a.fullscreenBtn&&a.fullscreenBtn.removeClass("mejs-fullscreen").addClass("mejs-unfullscreen");a.setControlsSize();a.isFullScreen=true}},exitFullScreen:function(){clearTimeout(this.containerSizeTimeout);if(this.media.pluginType!=="native"&&mejs.MediaFeatures.isFirefox)this.media.setFullscreen(false);else{if(mejs.MediaFeatures.hasTrueNativeFullScreen&&(mejs.MediaFeatures.isFullScreen()||
+this.isFullScreen))mejs.MediaFeatures.cancelFullScreen();f(document.documentElement).removeClass("mejs-fullscreen");this.container.removeClass("mejs-container-fullscreen").width(normalWidth).height(normalHeight);if(this.media.pluginType==="native")this.$media.width(normalWidth).height(normalHeight);else{this.container.find(".mejs-shim").width(normalWidth).height(normalHeight);this.media.setVideoSize(normalWidth,normalHeight)}this.layers.children("div").width(normalWidth).height(normalHeight);this.fullscreenBtn.removeClass("mejs-unfullscreen").addClass("mejs-fullscreen");
 this.setControlsSize();this.isFullScreen=false}}})})(mejs.$);
 (function(f){f.extend(mejs.MepDefaults,{startLanguage:"",tracksText:mejs.i18n.t("Captions/Subtitles"),hideCaptionsButtonWhenEmpty:true,toggleCaptionsButtonWhenOnlyOne:false,slidesSelector:""});f.extend(MediaElementPlayer.prototype,{hasChapters:false,buildtracks:function(a,b,c,e){if(a.tracks.length!=0){var d;if(this.domNode.textTracks)for(d=this.domNode.textTracks.length-1;d>=0;d--)this.domNode.textTracks[d].mode="hidden";a.chapters=f('<div class="mejs-chapters mejs-layer"></div>').prependTo(c).hide();a.captions=
 f('<div class="mejs-captions-layer mejs-layer"><div class="mejs-captions-position mejs-captions-position-hover"><span class="mejs-captions-text"></span></div></div>').prependTo(c).hide();a.captionsText=a.captions.find(".mejs-captions-text");a.captionsButton=f('<div class="mejs-button mejs-captions-button"><button type="button" aria-controls="'+this.id+'" title="'+this.options.tracksText+'" aria-label="'+this.options.tracksText+'"></button><div class="mejs-captions-selector"><ul><li><input type="radio" name="'+
index 5d88e84e5df1e235fa4081fb8775a78372d4b4bb..3f84ab75013fd1b49db60731b804dcf718b0c84c 100644 (file)
@@ -1 +1 @@
-.mejs-container{position:relative;background:#000;font-family:Helvetica,Arial;text-align:left;vertical-align:top;text-indent:0;}.me-plugin{position:absolute;}.mejs-embed,.mejs-embed body{width:100%;height:100%;margin:0;padding:0;background:#000;overflow:hidden;}.mejs-fullscreen{overflow:hidden!important;}.mejs-container-fullscreen{position:fixed;left:0;top:0;right:0;bottom:0;overflow:hidden;z-index:1000;}.mejs-container-fullscreen .mejs-mediaelement,.mejs-container-fullscreen video{width:100%;height:100%;}.mejs-clear{clear:both;}.mejs-background{position:absolute;top:0;left:0;}.mejs-mediaelement{position:absolute;top:0;left:0;width:100%;height:100%;}.mejs-poster{position:absolute;top:0;left:0;background-size:contain;background-position:50% 50%;background-repeat:no-repeat;}:root .mejs-poster img{display:none;}.mejs-poster img{border:0;padding:0;border:0;}.mejs-overlay{position:absolute;top:0;left:0;}.mejs-overlay-play{cursor:pointer;}.mejs-overlay-button{position:absolute;top:50%;left:50%;width:100px;height:100px;margin:-50px 0 0 -50px;background:url(bigplay.svg) no-repeat;}.no-svg .mejs-overlay-button{background-image:url(bigplay.png);}.mejs-overlay:hover .mejs-overlay-button{background-position:0 -100px;}.mejs-overlay-loading{position:absolute;top:50%;left:50%;width:80px;height:80px;margin:-40px 0 0 -40px;background:#333;background:url(background.png);background:rgba(0,0,0,0.9);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.9)),to(rgba(0,0,0,0.9)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-moz-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-o-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-ms-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:linear-gradient(rgba(50,50,50,0.9),rgba(0,0,0,0.9));}.mejs-overlay-loading span{display:block;width:80px;height:80px;background:transparent url(loading.gif) 50% 50% no-repeat;}.mejs-container .mejs-controls{position:absolute;list-style-type:none;margin:0;padding:0;bottom:0;left:0;background:url(background.png);background:rgba(0,0,0,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.7)),to(rgba(0,0,0,0.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-moz-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-o-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-ms-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:linear-gradient(rgba(50,50,50,0.7),rgba(0,0,0,0.7));height:30px;width:100%;}.mejs-container .mejs-controls div{list-style-type:none;background-image:none;display:block;float:left;margin:0;padding:0;width:26px;height:26px;font-size:11px;line-height:11px;font-family:Helvetica,Arial;border:0;}.mejs-controls .mejs-button button{cursor:pointer;display:block;font-size:0;line-height:0;text-decoration:none;margin:7px 5px;padding:0;position:absolute;height:16px;width:16px;border:0;background:transparent url(controls.svg) no-repeat;}.no-svg .mejs-controls .mejs-button button{background-image:url(controls.png);}.mejs-controls .mejs-button button:focus{outline:solid 1px yellow;}.mejs-container .mejs-controls .mejs-time{color:#fff;display:block;height:17px;width:auto;padding:8px 3px 0 3px;overflow:hidden;text-align:center;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}.mejs-container .mejs-controls .mejs-time span{color:#fff;font-size:11px;line-height:12px;display:block;float:left;margin:1px 2px 0 0;width:auto;}.mejs-controls .mejs-play button{background-position:0 0;}.mejs-controls .mejs-pause button{background-position:0 -16px;}.mejs-controls .mejs-stop button{background-position:-112px 0;}.mejs-controls div.mejs-time-rail{direction:ltr;width:200px;padding-top:5px;}.mejs-controls .mejs-time-rail span{display:block;position:absolute;width:180px;height:10px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;cursor:pointer;}.mejs-controls .mejs-time-rail .mejs-time-total{margin:5px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8));}.mejs-controls .mejs-time-rail .mejs-time-buffering{width:100%;background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:15px 15px;-moz-background-size:15px 15px;-o-background-size:15px 15px;background-size:15px 15px;-webkit-animation:buffering-stripes 2s linear infinite;-moz-animation:buffering-stripes 2s linear infinite;-ms-animation:buffering-stripes 2s linear infinite;-o-animation:buffering-stripes 2s linear infinite;animation:buffering-stripes 2s linear infinite;}@-webkit-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-moz-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-ms-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-o-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}.mejs-controls .mejs-time-rail .mejs-time-loaded{background:#3caac8;background:rgba(60,170,200,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(44,124,145,0.8)),to(rgba(78,183,212,0.8)));background:-webkit-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-moz-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-o-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-ms-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:linear-gradient(rgba(44,124,145,0.8),rgba(78,183,212,0.8));width:0;}.mejs-controls .mejs-time-rail .mejs-time-current{background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));width:0;}.mejs-controls .mejs-time-rail .mejs-time-handle{display:none;position:absolute;margin:0;width:10px;background:#fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;cursor:pointer;border:solid 2px #333;top:-2px;text-align:center;}.mejs-controls .mejs-time-rail .mejs-time-float{position:absolute;display:none;background:#eee;width:36px;height:17px;border:solid 1px #333;top:-26px;margin-left:-18px;text-align:center;color:#111;}.mejs-controls .mejs-time-rail .mejs-time-float-current{margin:2px;width:30px;display:block;text-align:center;left:0;}.mejs-controls .mejs-time-rail .mejs-time-float-corner{position:absolute;display:block;width:0;height:0;line-height:0;border:solid 5px #eee;border-color:#eee transparent transparent transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:15px;left:13px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float{width:48px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-current{width:44px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-corner{left:18px;}.mejs-controls .mejs-fullscreen-button button{background-position:-32px 0;}.mejs-controls .mejs-unfullscreen button{background-position:-32px -16px;}.mejs-controls .mejs-mute button{background-position:-16px -16px;}.mejs-controls .mejs-unmute button{background-position:-16px 0;}.mejs-controls .mejs-volume-button{position:relative;}.mejs-controls .mejs-volume-button .mejs-volume-slider{display:none;height:115px;width:25px;background:url(background.png);background:rgba(50,50,50,0.7);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:-115px;left:0;z-index:1;position:absolute;margin:0;}.mejs-controls .mejs-volume-button:hover{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-total{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.5);margin:0;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-current{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.9);margin:0;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-handle{position:absolute;left:4px;top:-3px;width:16px;height:6px;background:#ddd;background:rgba(255,255,255,0.9);cursor:N-resize;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;margin:0;}.mejs-controls div.mejs-horizontal-volume-slider{height:26px;width:60px;position:relative;}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8));}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-handle{display:none;}.mejs-controls .mejs-captions-button{position:relative;}.mejs-controls .mejs-captions-button button{background-position:-48px 0;}.mejs-controls .mejs-captions-button .mejs-captions-selector{visibility:hidden;position:absolute;bottom:26px;right:-10px;width:130px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li label{width:100px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px;}.mejs-controls .mejs-captions-button .mejs-captions-translations{font-size:10px;margin:0 0 5px 0;}.mejs-chapters{position:absolute;top:0;left:0;-xborder-right:solid 1px #fff;width:10000px;z-index:1;}.mejs-chapters .mejs-chapter{position:absolute;float:left;background:#222;background:rgba(0,0,0,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.7)),to(rgba(0,0,0,0.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-moz-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-o-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-ms-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:linear-gradient(rgba(50,50,50,0.7),rgba(0,0,0,0.7));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#323232,endColorstr=#000000);overflow:hidden;border:0;}.mejs-chapters .mejs-chapter .mejs-chapter-block{font-size:11px;color:#fff;padding:5px;display:block;border-right:solid 1px #333;border-bottom:solid 1px #333;cursor:pointer;}.mejs-chapters .mejs-chapter .mejs-chapter-block-last{border-right:none;}.mejs-chapters .mejs-chapter .mejs-chapter-block:hover{background:#666;background:rgba(102,102,102,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(102,102,102,0.7)),to(rgba(50,50,50,0.6)));background:-webkit-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-moz-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-o-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-ms-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:linear-gradient(rgba(102,102,102,0.7),rgba(50,50,50,0.6));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#666666,endColorstr=#323232);}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-title{font-size:12px;font-weight:bold;display:block;white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px 0;line-height:12px;}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-timespan{font-size:12px;line-height:12px;margin:3px 0 4px 0;display:block;white-space:nowrap;text-overflow:ellipsis;}.mejs-captions-layer{position:absolute;bottom:0;left:0;text-align:center;line-height:22px;font-size:12px;color:#fff;}.mejs-captions-layer a{color:#fff;text-decoration:underline;}.mejs-captions-layer[lang=ar]{font-size:20px;font-weight:normal;}.mejs-captions-position{position:absolute;width:100%;bottom:15px;left:0;}.mejs-captions-position-hover{bottom:45px;}.mejs-captions-text{padding:3px 5px;background:url(background.png);background:rgba(20,20,20,0.8);}.me-cannotplay a{color:#fff;font-weight:bold;}.me-cannotplay span{padding:15px;display:block;}.mejs-controls .mejs-loop-off button{background-position:-64px -16px;}.mejs-controls .mejs-loop-on button{background-position:-64px 0;}.mejs-controls .mejs-backlight-off button{background-position:-80px -16px;}.mejs-controls .mejs-backlight-on button{background-position:-80px 0;}.mejs-controls .mejs-picturecontrols-button{background-position:-96px 0;}.mejs-contextmenu{position:absolute;width:150px;padding:10px;border-radius:4px;top:0;left:0;background:#fff;border:solid 1px #999;z-index:1001;}.mejs-contextmenu .mejs-contextmenu-separator{height:1px;font-size:0;margin:5px 6px;background:#333;}.mejs-contextmenu .mejs-contextmenu-item{font-family:Helvetica,Arial;font-size:12px;padding:4px 6px;cursor:pointer;color:#333;}.mejs-contextmenu .mejs-contextmenu-item:hover{background:#2C7C91;color:#fff;}.mejs-controls .mejs-sourcechooser-button{position:relative;}.mejs-controls .mejs-sourcechooser-button button{background-position:-128px 0;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector{visibility:hidden;position:absolute;bottom:26px;right:-10px;width:130px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li label{width:100px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px;}.mejs-postroll-layer{position:absolute;bottom:0;left:0;width:100%;height:100%;background:url(background.png);background:rgba(50,50,50,0.7);z-index:1000;overflow:hidden;}.mejs-postroll-layer-content{width:100%;height:100%;}.mejs-postroll-close{position:absolute;right:0;top:0;background:url(background.png);background:rgba(50,50,50,0.7);color:#fff;padding:4px;z-index:100;cursor:pointer;}
\ No newline at end of file
+.mejs-container{position:relative;background:#000;font-family:Helvetica,Arial;text-align:left;vertical-align:top;text-indent:0;}.me-plugin{position:absolute;}.mejs-embed,.mejs-embed body{width:100%;height:100%;margin:0;padding:0;background:#000;overflow:hidden;}.mejs-fullscreen{overflow:hidden!important;}.mejs-container-fullscreen{position:fixed;left:0;top:0;right:0;bottom:0;overflow:hidden;z-index:1000;}.mejs-container-fullscreen .mejs-mediaelement,.mejs-container-fullscreen video{width:100%;height:100%;}.mejs-clear{clear:both;}.mejs-background{position:absolute;top:0;left:0;}.mejs-mediaelement{position:absolute;top:0;left:0;width:100%;height:100%;}.mejs-poster{position:absolute;top:0;left:0;background-size:contain;background-position:50% 50%;background-repeat:no-repeat;}:root .mejs-poster img{display:none;}.mejs-poster img{border:0;padding:0;border:0;}.mejs-overlay{position:absolute;top:0;left:0;}.mejs-overlay-play{cursor:pointer;}.mejs-overlay-button{position:absolute;top:50%;left:50%;width:100px;height:100px;margin:-50px 0 0 -50px;background:url(bigplay.svg) no-repeat;}.no-svg .mejs-overlay-button{background-image:url(bigplay.png);}.mejs-overlay:hover .mejs-overlay-button{background-position:0 -100px;}.mejs-overlay-loading{position:absolute;top:50%;left:50%;width:80px;height:80px;margin:-40px 0 0 -40px;background:#333;background:url(background.png);background:rgba(0,0,0,0.9);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.9)),to(rgba(0,0,0,0.9)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-moz-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-o-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-ms-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:linear-gradient(rgba(50,50,50,0.9),rgba(0,0,0,0.9));}.mejs-overlay-loading span{display:block;width:80px;height:80px;background:transparent url(loading.gif) 50% 50% no-repeat;}.mejs-container .mejs-controls{position:absolute;list-style-type:none;margin:0;padding:0;bottom:0;left:0;background:url(background.png);background:rgba(0,0,0,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.7)),to(rgba(0,0,0,0.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-moz-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-o-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-ms-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:linear-gradient(rgba(50,50,50,0.7),rgba(0,0,0,0.7));height:30px;width:100%;}.mejs-container .mejs-controls div{list-style-type:none;background-image:none;display:block;float:left;margin:0;padding:0;width:26px;height:26px;font-size:11px;line-height:11px;font-family:Helvetica,Arial;border:0;}.mejs-controls .mejs-button button{cursor:pointer;display:block;font-size:0;line-height:0;text-decoration:none;margin:7px 5px;padding:0;position:absolute;height:16px;width:16px;border:0;background:transparent url(controls.svg) no-repeat;}.no-svg .mejs-controls .mejs-button button{background-image:url(controls.png);}.mejs-controls .mejs-button button:focus{outline:dotted 1px #999;}.mejs-container .mejs-controls .mejs-time{color:#fff;display:block;height:17px;width:auto;padding:8px 3px 0 3px;overflow:hidden;text-align:center;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}.mejs-container .mejs-controls .mejs-time span{color:#fff;font-size:11px;line-height:12px;display:block;float:left;margin:1px 2px 0 0;width:auto;}.mejs-controls .mejs-play button{background-position:0 0;}.mejs-controls .mejs-pause button{background-position:0 -16px;}.mejs-controls .mejs-stop button{background-position:-112px 0;}.mejs-controls div.mejs-time-rail{direction:ltr;width:200px;padding-top:5px;}.mejs-controls .mejs-time-rail span{display:block;position:absolute;width:180px;height:10px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;cursor:pointer;}.mejs-controls .mejs-time-rail .mejs-time-total{margin:5px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8));}.mejs-controls .mejs-time-rail .mejs-time-buffering{width:100%;background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:15px 15px;-moz-background-size:15px 15px;-o-background-size:15px 15px;background-size:15px 15px;-webkit-animation:buffering-stripes 2s linear infinite;-moz-animation:buffering-stripes 2s linear infinite;-ms-animation:buffering-stripes 2s linear infinite;-o-animation:buffering-stripes 2s linear infinite;animation:buffering-stripes 2s linear infinite;}@-webkit-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-moz-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-ms-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-o-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}.mejs-controls .mejs-time-rail .mejs-time-loaded{background:#3caac8;background:rgba(60,170,200,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(44,124,145,0.8)),to(rgba(78,183,212,0.8)));background:-webkit-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-moz-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-o-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-ms-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:linear-gradient(rgba(44,124,145,0.8),rgba(78,183,212,0.8));width:0;}.mejs-controls .mejs-time-rail .mejs-time-current{background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));width:0;}.mejs-controls .mejs-time-rail .mejs-time-handle{display:none;position:absolute;margin:0;width:10px;background:#fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;cursor:pointer;border:solid 2px #333;top:-2px;text-align:center;}.mejs-controls .mejs-time-rail .mejs-time-float{position:absolute;display:none;background:#eee;width:36px;height:17px;border:solid 1px #333;top:-26px;margin-left:-18px;text-align:center;color:#111;}.mejs-controls .mejs-time-rail .mejs-time-float-current{margin:2px;width:30px;display:block;text-align:center;left:0;}.mejs-controls .mejs-time-rail .mejs-time-float-corner{position:absolute;display:block;width:0;height:0;line-height:0;border:solid 5px #eee;border-color:#eee transparent transparent transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:15px;left:13px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float{width:48px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-current{width:44px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-corner{left:18px;}.mejs-controls .mejs-fullscreen-button button{background-position:-32px 0;}.mejs-controls .mejs-unfullscreen button{background-position:-32px -16px;}.mejs-controls .mejs-mute button{background-position:-16px -16px;}.mejs-controls .mejs-unmute button{background-position:-16px 0;}.mejs-controls .mejs-volume-button{position:relative;}.mejs-controls .mejs-volume-button .mejs-volume-slider{display:none;height:115px;width:25px;background:url(background.png);background:rgba(50,50,50,0.7);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:-115px;left:0;z-index:1;position:absolute;margin:0;}.mejs-controls .mejs-volume-button:hover{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-total{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.5);margin:0;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-current{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.9);margin:0;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-handle{position:absolute;left:4px;top:-3px;width:16px;height:6px;background:#ddd;background:rgba(255,255,255,0.9);cursor:N-resize;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;margin:0;}.mejs-controls div.mejs-horizontal-volume-slider{height:26px;width:60px;position:relative;}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8));}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-handle{display:none;}.mejs-controls .mejs-captions-button{position:relative;}.mejs-controls .mejs-captions-button button{background-position:-48px 0;}.mejs-controls .mejs-captions-button .mejs-captions-selector{visibility:hidden;position:absolute;bottom:26px;right:-10px;width:130px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li label{width:100px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px;}.mejs-controls .mejs-captions-button .mejs-captions-translations{font-size:10px;margin:0 0 5px 0;}.mejs-chapters{position:absolute;top:0;left:0;-xborder-right:solid 1px #fff;width:10000px;z-index:1;}.mejs-chapters .mejs-chapter{position:absolute;float:left;background:#222;background:rgba(0,0,0,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.7)),to(rgba(0,0,0,0.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-moz-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-o-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-ms-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:linear-gradient(rgba(50,50,50,0.7),rgba(0,0,0,0.7));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#323232,endColorstr=#000000);overflow:hidden;border:0;}.mejs-chapters .mejs-chapter .mejs-chapter-block{font-size:11px;color:#fff;padding:5px;display:block;border-right:solid 1px #333;border-bottom:solid 1px #333;cursor:pointer;}.mejs-chapters .mejs-chapter .mejs-chapter-block-last{border-right:none;}.mejs-chapters .mejs-chapter .mejs-chapter-block:hover{background:#666;background:rgba(102,102,102,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(102,102,102,0.7)),to(rgba(50,50,50,0.6)));background:-webkit-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-moz-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-o-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-ms-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:linear-gradient(rgba(102,102,102,0.7),rgba(50,50,50,0.6));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#666666,endColorstr=#323232);}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-title{font-size:12px;font-weight:bold;display:block;white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px 0;line-height:12px;}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-timespan{font-size:12px;line-height:12px;margin:3px 0 4px 0;display:block;white-space:nowrap;text-overflow:ellipsis;}.mejs-captions-layer{position:absolute;bottom:0;left:0;text-align:center;line-height:22px;font-size:12px;color:#fff;}.mejs-captions-layer a{color:#fff;text-decoration:underline;}.mejs-captions-layer[lang=ar]{font-size:20px;font-weight:normal;}.mejs-captions-position{position:absolute;width:100%;bottom:15px;left:0;}.mejs-captions-position-hover{bottom:45px;}.mejs-captions-text{padding:3px 5px;background:url(background.png);background:rgba(20,20,20,0.8);}.me-cannotplay a{color:#fff;font-weight:bold;}.me-cannotplay span{padding:15px;display:block;}.mejs-controls .mejs-loop-off button{background-position:-64px -16px;}.mejs-controls .mejs-loop-on button{background-position:-64px 0;}.mejs-controls .mejs-backlight-off button{background-position:-80px -16px;}.mejs-controls .mejs-backlight-on button{background-position:-80px 0;}.mejs-controls .mejs-picturecontrols-button{background-position:-96px 0;}.mejs-contextmenu{position:absolute;width:150px;padding:10px;border-radius:4px;top:0;left:0;background:#fff;border:solid 1px #999;z-index:1001;}.mejs-contextmenu .mejs-contextmenu-separator{height:1px;font-size:0;margin:5px 6px;background:#333;}.mejs-contextmenu .mejs-contextmenu-item{font-family:Helvetica,Arial;font-size:12px;padding:4px 6px;cursor:pointer;color:#333;}.mejs-contextmenu .mejs-contextmenu-item:hover{background:#2C7C91;color:#fff;}.mejs-controls .mejs-sourcechooser-button{position:relative;}.mejs-controls .mejs-sourcechooser-button button{background-position:-128px 0;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector{visibility:hidden;position:absolute;bottom:26px;right:-10px;width:130px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li label{width:100px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px;}.mejs-postroll-layer{position:absolute;bottom:0;left:0;width:100%;height:100%;background:url(background.png);background:rgba(50,50,50,0.7);z-index:1000;overflow:hidden;}.mejs-postroll-layer-content{width:100%;height:100%;}.mejs-postroll-close{position:absolute;right:0;top:0;background:url(background.png);background:rgba(50,50,50,0.7);color:#fff;padding:4px;z-index:100;cursor:pointer;}
\ No newline at end of file
index 18ad94855bde746f1173e1aa6982ab7031ae6a3c..ce4a9f70c631828b0f7c03c367b038b9c630722d 100644 (file)
@@ -1,5 +1,9 @@
+.mejs-container * {
+       font-family: Helvetica, Arial;
+}
+
 .mejs-container, .mejs-embed, .mejs-embed body {
-       background: #464646;
+       background: #000;
 }
 
 .mejs-controls .mejs-time-rail .mejs-time-loaded {
 .me-cannotplay {
        width: auto !important;
 }
+
+.media-embed-details .wp-audio-shortcode {
+       display: inline-block;
+       max-width: 400px;
+}
+
+.media-embed-details .embed-media-settings .setting span {
+       max-width: 400px;
+       width: auto;
+}
+
+.media-embed-details .embed-media-settings {
+       padding-top: 0;
+       top: 28px;
+}
+
+.media-embed-details .instructions {
+       padding: 16px 0;
+       max-width: 600px;
+}
+
+.media-embed-details .setting p,
+.media-embed-details .setting a {
+       color: #a00;
+       font-size: 10px;
+       text-transform: uppercase;
+}
+
+.media-embed-details .setting a:hover {
+       color: #f00;
+}
+
+.media-embed-details .embed-media-settings .checkbox-setting {
+       width: 100px;
+       clear: none;
+}
+
+.video-details .wp-video-holder {
+       width: 100%;
+       max-width: 640px;
+}
+
+.wp-playlist {
+       border: 1px solid #ccc;
+       padding: 10px;
+       margin: 12px 0 18px;
+       font-size: 14px;
+       line-height: 1.5;
+}
+
+.wp-playlist video {
+       display: inline-block;
+       max-width: 100%;
+}
+
+.wp-playlist audio {
+       display: none;
+       max-width: 100%;
+       width: 400px;
+}
+
+.wp-playlist .mejs-container {
+       margin: 0;
+       width: 100%;
+}
+
+.wp-playlist .mejs-controls .mejs-button button {
+       outline: 0;
+}
+
+.wp-playlist-light {
+       background: #fff;
+       color: #000;
+}
+
+.wp-playlist-dark {
+       color: #fff;
+       background: #000;
+}
+
+.wp-playlist-caption {
+       max-width: 88%;
+       overflow: hidden;
+       text-overflow: ellipsis;
+       white-space: nowrap;
+       font-size: 14px;
+       line-height: 1.5;
+}
+
+.wp-playlist-item .wp-playlist-caption {
+       text-decoration: none;
+       color: #000;
+}
+
+.wp-playlist-item-meta {
+       display: block;
+       font-size: 14px;
+       line-height: 1.5;
+}
+
+.wp-playlist-item-title {
+       font-size: 14px;
+       line-height: 1.5;
+}
+
+.wp-playlist-item-album {
+       font-style: italic;
+       overflow: hidden;
+       text-overflow: ellipsis;
+       white-space: nowrap;
+}
+
+.wp-playlist-item-artist {
+       font-size: 12px;
+       text-transform: uppercase;
+}
+
+.wp-playlist-item-length {
+       position: absolute;
+       right: 3px;
+       top: 0;
+       font-size: 14px;
+       line-height: 1.5;
+}
+
+.wp-playlist-tracks {
+       margin-top: 10px;
+}
+
+.wp-playlist-item {
+       position: relative;
+       cursor: pointer;
+       padding: 0 3px;
+       border-bottom: 1px solid #ccc;
+}
+
+.wp-playlist-item:last-child {
+       border-bottom: 0;
+}
+
+.wp-playlist-light .wp-playlist-item {
+       color: #333;
+}
+
+.wp-playlist-dark .wp-playlist-item {
+       color: #dedede;
+}
+
+.wp-playlist-playing {
+       font-weight: bold;
+       background: #f7f7f7;
+}
+
+.wp-playlist-light .wp-playlist-playing {
+       background: #fff;
+       color: #000;
+}
+
+.wp-playlist-dark .wp-playlist-playing {
+       background: #000;
+       color: #fff;
+}
+
+.wp-playlist-current-item {
+       overflow: hidden;
+       margin-bottom: 10px;
+       height: 60px;
+}
+
+.wp-playlist .wp-playlist-current-item img {
+       float: left;
+       max-width: 60px;
+       height: auto;
+       margin-right: 10px;
+       padding: 0;
+       border: 0;
+}
+
+.wp-playlist-current-item .wp-playlist-item-title,
+.wp-playlist-current-item .wp-playlist-item-artist {
+       overflow: hidden;
+       text-overflow: ellipsis;
+       white-space: nowrap;
+}
\ No newline at end of file
index 505decd040fccb7a67f9d6b4da9fd3c2b54fd1c4..72ea6bde31ba57ec30d20a80c7e1e944519d3596 100644 (file)
@@ -7,8 +7,22 @@
        $(function () {
                var settings = {};
 
-               if ( typeof _wpmejsSettings !== 'undefined' )
+               if ( $( document.body ).hasClass( 'mce-content-body' ) ) {
+                       return;
+               }
+
+               if ( typeof _wpmejsSettings !== 'undefined' ) {
                        settings.pluginPath = _wpmejsSettings.pluginPath;
+               }
+
+               settings.success = function (mejs) {
+                       var autoplay = mejs.attributes.autoplay && 'false' !== mejs.attributes.autoplay;
+                       if ( 'flash' === mejs.pluginType && autoplay ) {
+                               mejs.addEventListener( 'canplay', function () {
+                                       mejs.play();
+                               }, false );
+                       }
+               };
 
                $('.wp-audio-shortcode, .wp-video-shortcode').mediaelementplayer( settings );
        });
diff --git a/wp-includes/js/mediaelement/wp-playlist.js b/wp-includes/js/mediaelement/wp-playlist.js
new file mode 100644 (file)
index 0000000..02d6c23
--- /dev/null
@@ -0,0 +1,174 @@
+/*globals window, document, jQuery, _, Backbone, _wpmejsSettings */
+
+(function ($, _, Backbone) {
+       "use strict";
+
+       var WPPlaylistView = Backbone.View.extend({
+               initialize : function (options) {
+                       this.index = 0;
+                       this.settings = {};
+                       this.data = options.metadata || $.parseJSON( this.$('script').html() );
+                       this.playerNode = this.$( this.data.type );
+
+                       this.tracks = new Backbone.Collection( this.data.tracks );
+                       this.current = this.tracks.first();
+
+                       if ( 'audio' === this.data.type ) {
+                               this.currentTemplate = wp.template( 'wp-playlist-current-item' );
+                               this.currentNode = this.$( '.wp-playlist-current-item' );
+                       }
+
+                       this.renderCurrent();
+
+                       if ( this.data.tracklist ) {
+                               this.itemTemplate = wp.template( 'wp-playlist-item' );
+                               this.playingClass = 'wp-playlist-playing';
+                               this.renderTracks();
+                       }
+
+                       this.playerNode.attr( 'src', this.current.get( 'src' ) );
+
+                       _.bindAll( this, 'bindPlayer', 'bindResetPlayer', 'setPlayer', 'ended', 'clickTrack' );
+
+                       if ( ! _.isUndefined( window._wpmejsSettings ) ) {
+                               this.settings.pluginPath = _wpmejsSettings.pluginPath;
+                       }
+                       this.settings.success = this.bindPlayer;
+                       this.setPlayer();
+               },
+
+               bindPlayer : function (mejs) {
+                       this.player = mejs;
+                       this.player.addEventListener( 'ended', this.ended );
+               },
+
+               bindResetPlayer : function (mejs) {
+                       this.bindPlayer( mejs );
+                       this.playCurrentSrc();
+               },
+
+               setPlayer: function () {
+                       if ( this._player ) {
+                               this._player.pause();
+                               this._player.remove();
+                               this.playerNode = this.$( this.data.type );
+                               this.playerNode.attr( 'src', this.current.get( 'src' ) );
+                               this.settings.success = this.bindResetPlayer;
+                       }
+                       /**
+                        * This is also our bridge to the outside world
+                        */
+                       this._player = new MediaElementPlayer( this.playerNode.get(0), this.settings );
+               },
+
+               playCurrentSrc : function () {
+                       this.renderCurrent();
+                       this.player.setSrc( this.playerNode.attr( 'src' ) );
+                       this.player.load();
+                       this.player.play();
+               },
+
+               renderCurrent : function () {
+                       var dimensions;
+                       if ( 'video' === this.data.type ) {
+                               if ( this.data.images && this.current.get( 'image' ) ) {
+                                       this.playerNode.attr( 'poster', this.current.get( 'image' ).src );
+                               }
+                               dimensions = this.current.get( 'dimensions' ).resized;
+                               this.playerNode.attr( dimensions );
+                       } else {
+                               if ( ! this.data.images ) {
+                                       this.current.set( 'image', false );
+                               }
+                               this.currentNode.html( this.currentTemplate( this.current.toJSON() ) );
+                       }
+               },
+
+               renderTracks : function () {
+                       var self = this, i = 1, tracklist = $( '<div class="wp-playlist-tracks"></div>' );
+                       this.tracks.each(function (model) {
+                               if ( ! self.data.images ) {
+                                       model.set( 'image', false );
+                               }
+                               model.set( 'artists', self.data.artists );
+                               model.set( 'index', self.data.tracknumbers ? i : false );
+                               tracklist.append( self.itemTemplate( model.toJSON() ) );
+                               i += 1;
+                       });
+                       this.$el.append( tracklist );
+
+                       this.$( '.wp-playlist-item' ).eq(0).addClass( this.playingClass );
+               },
+
+               events : {
+                       'click .wp-playlist-item' : 'clickTrack',
+                       'click .wp-playlist-next' : 'next',
+                       'click .wp-playlist-prev' : 'prev'
+               },
+
+               clickTrack : function (e) {
+                       e.preventDefault();
+
+                       this.index = this.$( '.wp-playlist-item' ).index( e.currentTarget );
+                       this.setCurrent();
+               },
+
+               ended : function () {
+                       if ( this.index + 1 < this.tracks.length ) {
+                               this.next();
+                       } else {
+                               this.index = 0;
+                               this.current = this.tracks.at( this.index );
+                               this.loadCurrent();
+                       }
+               },
+
+               next : function () {
+                       this.index = this.index + 1 >= this.tracks.length ? 0 : this.index + 1;
+                       this.setCurrent();
+               },
+
+               prev : function () {
+                       this.index = this.index - 1 < 0 ? this.tracks.length - 1 : this.index - 1;
+                       this.setCurrent();
+               },
+
+               loadCurrent : function () {
+                       var last = this.playerNode.attr( 'src' ).split('.').pop(),
+                               current = this.current.get( 'src' ).split('.').pop();
+
+                       this.player.pause();
+
+                       if ( last !== current ) {
+                               this.setPlayer();
+                       } else {
+                               this.playerNode.attr( 'src', this.current.get( 'src' ) );
+                               this.playCurrentSrc();
+                       }
+               },
+
+               setCurrent : function () {
+                       this.current = this.tracks.at( this.index );
+
+                       if ( this.data.tracklist ) {
+                               this.$( '.wp-playlist-item' )
+                                       .removeClass( this.playingClass )
+                                       .eq( this.index )
+                                               .addClass( this.playingClass );
+                       }
+
+                       this.loadCurrent();
+               }
+       });
+
+    $(document).ready(function () {
+               if ( ! $( 'body' ).hasClass( 'wp-admin' ) || $( 'body' ).hasClass( 'about-php' ) ) {
+                       $('.wp-playlist').each(function () {
+                               return new WPPlaylistView({ el: this });
+                       });
+               }
+    });
+
+       window.WPPlaylistView = WPPlaylistView;
+
+}(jQuery, _, Backbone));
\ No newline at end of file
diff --git a/wp-includes/js/plupload/changelog.txt b/wp-includes/js/plupload/changelog.txt
deleted file mode 100644 (file)
index 7aaff4c..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-Version 1.5.7 (2013-04-10)
-       HTML5: Workaround for squish problem in iOS6, when uploading resized images.
-       HTML5: Fix failing workaround for FormData+Blob bug on Android...
-       HTML5: Allow multiple uploads on iOS.
-       Include VB build script that doesn't depend on Ant and is said to be native to Windows.
-Version 1.5.6 (2013-02-28)
-       Fix regression: getPos() wrong on ie6/7.
-       HTML5: Send file as binary string if it was mangled, even if multipart is set to false.
-       HTML5: Add workaround Android browsers, that are unable to properly send blobs in FormData.
-       HTML4/Flash/Silverlight: Destroy fails to cleanup everything when container not defined.
-       UI, Queue: Use html() instead of text(), otherwise special characters fail to display properly.
-       UI, Queue: Use on() instead of delegate() or live(). Update examples to use jQuery 1.9.0 by default.
-       Queue: Blur rename input field when ESC is pressed.
-       Additional language packs: Slovak.
-Version 1.5.5 (2013-01-23)
-       UI Widget: Fix sortable feature, broken in jQuery UI 1.9.
-       Queue: Replace live() with delegate(), as live() was removed from jQuery 1.9.
-       HTML5: window.getComputedStyle in Firefox doesn't support dashed rulenames - use zIndex instead of z-index.
-       HTML5/Flash/Silverlight/Gears: Process JPEGs, if quality parameter is present, whatever the scale factor.
-       Flash: Survive invalid EXIF tag offsets.
-       Flash: Allow only letters, digits and underscore in runtime id to avoid script injection.
-       SilverLight: Prepend ampersand to the query string, for non multipart cases (as in Flash and HTML5).
-       Add mime types for m2v,3gp,3g2 extensions.
-Version 1.5.4 (2012-04-12)
-       Flash: Disable scripting if swf was loaded from another domain.
-Version 1.5.3 (2012-04-05)
-       HTML5: Check if xhr object is initialized, before calling abort() on it.
-       HTML4: Postpone form removal until uploaders state changes, to avoid error on resuming stopped uploads.
-       BrowserPlus: Fix mechanical typo, that caused error during mime type check.
-       BrowserPlus: browserPlus.Uploader.Cancel() has two required parameters, dies with the error if not passed.
-       Flash: Improve runtime's behaviour during upload cancellation.
-       Flash: Survive the case when GPSVersionID contains unexpected value.
-       Flash: Fix random freeze in Chrome's bundled Flash Player.
-       Flash: Avoid the silent break when URLStream not yet open, but close is called on it.
-       Flash: Move Destroy handler out of Flash:Init handler, since it might be called not only after Flash:Init but also before it.
-       Flash: Avoid warning during build with mxmlc.
-       Try removeEventListener first in IE and only if it fails - detachEvent.
-       Fix plupload.getPos to return proper value in IE8+.
-       Do not initiate plupload.STARTED state, if file queue is empty.
-       Additional language packs: Estonian, Polish, Korean, French-Canadian, Greek, Persian/Farsi.
-Version 1.5.2 (2012-01-06)
-       UI Widget: Do not show UI if no runtime can be initialized.
-       UI Widget: Timely update file size and total size if resize in action.
-       UI Widget: Constrain renaming feature to queued files only.
-       UI Widget: Disable Add button properly, if requested, rather then just hide.
-       HTML4/HTML5/BrowserPlus: Avoid adding mime type twice to dialog trigger.
-       HTML5: fix regression, when unresized images were failing on FF3.6.
-       HTML5: Constrain Gecko 2,5,6 workaround to multipart mode only.
-       HTML5/Flash: Take into account weird possibilities of ExifVersion being a string, rather then standard Undefined.
-       Flash: Simplify event dispatching in BitmapDataUnlimited class, in order to avoid freezing on resizing in FP11.
-       Add ability to disable file dialog trigger on request (uploader.disableBrowse(true/false)).
-       Support for immediate abort of upload process, be it chunked upload or regular one.
-       Abort all activity, before destroying uploader.
-       Revive temporary file removal logic in upload.php.
-       Fix potential vulnerability in dump.php and upload.php.
-       Additional MIME types: application/vnd.openxmlformats-officedocument.*, application/x-javascript, application/json, text/css,css, application/vnd.oasis.opendocument.formula-templat.
-       Additional language packs: Hungarian, Croatian, Serbian, Romanian.
-Version 1.5.1.1 (2011-09-27)
-       HTML5: Fix mechanical typo, that successfully broke drag and drop, wherever could.
-Version 1.5.1 (2011-09-26)
-       HTML4: Add support for server responses in HTML format.
-       HTML5: Disable multiple file selection in Safari 5.x for Windows (see #363).
-       HTML5: Gecko 2/5/6 should upload chunks as binary strings when in chunking mode and client side resize is requested.
-       Flash: Enforce URLStream mode when custom headers are passed.
-       Flash: Fix embedding problems in IE9 (and all other IEs).
-       Flash/Gears/BrowserPlus/SilverLight: Expose multi_selection feature, to be used in required_features (mainly to overcome Safari for Windows problem).
-       SilverLight: Properly handle custom and null headers.
-       UploadComplete moved to fire after the last StateChanged event.
-       Additional language packs: Finnish.
-Version 1.5b (2011-09-11)
-       UI Widget: Fix sortable logic.
-       UI Widget: Fix bug, when message was displayed simultaneously across all Plupload UI instances on the page.
-       UI Widget: notify() method is now public - users can throw their own messages into the widget header.
-       HTML4/HTML5: Revise input[type=file] placement logic to support cursor styling on Geko 2+.
-       HTML5: Revise Drag'n'Drop detection logic.
-       HTML5: Make Exif and GPS information available to user, introduce two new events: ExifData and GpsData.
-       HTML5: Add support for File.prototype.slice() method (mozSlice/webkitSlice) in order to be able to upload files in chunks without preloading.
-       HTML5: Remove any JPEG headers before restoring them, 'cause user agent (like Chrome), might be inserting it's own.
-       Flash: Remove a limit on the depth of image header check, since it still fails in some cases and performance gain is negligible.
-       Flash: Fix regression, when runtime hanged when not images where passed in as images.   
-       SilverLight: Fix bug, when JSON serializer was failing on null.
-       SilverLight: Remove cast to integer for chunk boundary, which resulted in a wrong size for last chunks on huge files.
-       SilverLight: Increase read buffer, add disposal of ImageStream and FileStream, optimize for performance.
-       Updated build.xml to include language packs in release package under js/ folder.
-       Gears/BrowserPlus: Add support for * file filter.
-       BeforeUpload now can cancel upload if required.
-       Additional MIME types: text/csv, image/photoshop, video/x-ms-wmv, video/avi, video/webm support
-       Additional language packs: Japanese
-       Cleaned examples.
-Version 1.4.3.2 (2011-04-13)
-       Fixed bug in HTML5 runtime, when was reduced by a factor of 100 after every upload.
-Version 1.4.3.1 (2011-04-12)
-       Fixed build script, mistakenly populating jquery.plupload.queue directory from jquery.ui.plupload sources.
-       Fixed script urls in all examples, build script now will alter them automatically from dev to release when needed.
-       Fixed isEmptyObj undefined error in HTML4 runtime.
-       Fixed bug in UI Widget preventing UploadComplete from triggering.
-Version 1.4.3 (2011-04-11)
-       Added Latvian language pack and updated French.
-       Fixed bug in Flash runtime when JPEG header was not investigated deep enough to reach SOFn marker in large images.
-       Fixed bug, when PNGs were cropped to width in Flash runtimes, rather then resized. 
-       Fixed Flash to allow multiple uploading of the same file, with different settings.
-       Fixed Flash runtime to clean anonymous listeners properly. 
-       Fixed HTML5 runtime to resolve to mimeType in case-insensitive way.
-       Fixed HTML5/Flash/SilverLight/Gears runtimes for inconsistency in naming of chunks feature, comparing to other runtimes.
-       Fixed HTML4/HTML5 runtimes for input[type=file] to outsize contaner effectively enough to fill the whole click area.
-       Fixed all runtimes to preserve position (relative/absolute) rule on containers that already have it.
-       Fixed SilverLight runtime to support large files (over 2GB).
-       Restructured the examples, src and build scripts to make it more clear that jQuery is optional.
-       Added support for *.* filter.
-       Added support for preserving ICC and IPTC headers when resizing JPEGs.
-       Added Image.onerror/onabort handlers to HTML5 in order to gracefully bypass faulty images.
-       Added ability to drop image size (by lowering quality), while preserving original dimension (HTML5/Flash/Gears).
-       Ported EXIF, ICC, IPTC preservation code to Flash runtime. 
-Version 1.4.2 (2011-02-20)
-       Added Brazilian Portuguese, German, Russian and Spanish translations.
-       Added support for file_data_name option to SilverLight runtime.
-       Added support for better quality image resizing to Flash runtime.
-       Added support for properly handling images with dimensions up to 8191x8191 pixels to Flash runtime.
-       Added 'updatelist' event to UI Widget, which will be triggered every time file list will get redrawn. 
-       Added support for dynamically changing options to UI Widget.
-       Fixed HTML4 runtime bug, when UploadFile handler was attached twice. 
-       Fixed HTML5 to use FileReader.readAsBinaryString() instead of File.getAsBinary() on newer WebKit browsers (like Chrome 9).
-       Fixed Flash runtime from sending duplicate Filename param, when using FileReference.upload(). 
-       Updated S3 example to illustrate support for a proper progress indication. 
-Version 1.4.1 (2011-02-01)
-       Added an example on how to use Plupload with Amazon S3 written in PHP but can easily be ported to other languages.
-       Fixed bug where hidden input elements wasn't created when the multiple_queues option wasn't used.
-       Fixed bug where FF4 would produce an exception about missing BlobBuilder.
-Version 1.4.0 (2011-01-26)
-       Added removeEvent and removeAllEvents methods and modified addEvent accordingly, in order to support dynamic unload.
-       Added unbindAll method.
-       Added UploadComplete event, which fires when internal iterator reaches the end of the queue.
-       Added public destroy method to plupload object, new event - Destroy, and corresponding handlers to all runtimes.
-       Added Czech, Italian, French, Dutch translations.
-       Added support for translatable error messages.
-       Added two new options: browse_button_hover and browse_button_active, in order to support browse_button interactivity.   
-       Added support for 'multi_selection: false' to Silverlight runtime.
-       Added support for video/mp4, video/x-m4v and audio/mp4 MIME Types. 
-       Added artificial sendAsBinary method to XMLHttpRequest.prototype for browsers that have support for BlobBuilder and typed arrays.
-       Added version tracking variable into plupload object and version comment to the header of every file.
-       Fixed measurements of browse_button element in order to size and position input[type=file] element to fit it fully.
-       Fixed Flash runtime behavior for multiple_select=false and other simpleUpload usage cases: basically new FileReference has to be created for every select dialog. 
-       Fixed browser sniffer to match only Safari, for fakeSafariDragDrop (seems like Safari on Mac doesn't require it either).
-       Fixed so that ExternalInterface escapes strings properly, before passing them to JS. 
-       Fixed eventual reinitialization of flash/silverlight runtimes, especially for cases when object wrapper needed to be programmatically hidden and then shown again.
-       Fixed so that Plupload will now ignore files with duplicate names when adding to the queue, in one set. Mainly introduced to work around Safari on Windows bug (https://bugs.webkit.org/show_bug.cgi?id=37957).
-       Fixed bug, when final UploadProgress was firing after FileUploaded for Flash simpleUpload. 
-       Fixed bug where upload would fail if an error was produced inside the FilesAdded event.
-       Fixed bug in Flash runtime when it used a wrong size when resizing, but not chunking.
-       Fixed bug in Silverlight runtime that would keep sending 0 byte packages when a picture was chunked before resized.
-       Disabled blur filter (is going to be replaced with some bilinear resampling in next release).
-       Completely revised UI Widget, to be more jQuery UI oriented. Optionally depends on UI Button, UI Sortable, UI ProgressBar.      
-Version 1.3.0 (2010-11-24)
-       Added new jQuery UI widget that supports jQuery UI themes.
-       Added new multiple_queues option that enables you to upload multiple times in the queue widgets.
-       Added support for crossdomain loading of the XAP and SWF files and crossdomain upload.
-       Added new multiple_queues option that enables you to upload multiple times in the queue widgets.
-       Added support for crossdomain loading of the XAP and SWF files and crossdomain upload.
-       Added preinit/init options to to ease up the binding of custom events to queueWidget and the Uploader class.
-       Added drag/drop support for Safari until they fix the broken drag/drop support on Windows.
-       Added events example file that show how to bind all events and display event specific data.
-       Added support for retaining Exif data on images when they where resized using the HTML5 runtime.
-       Fixed logic issue with the upload.php example file. Chunking wasn't working correctly.
-       Fixed issue with HTML4 not handling the form encoding correctly on older IE versions. Patch contributed by jinxdone.
-       Fixed so the HTML4 runtime only submits the defined multipart_params arguments.
-       Fixes issue where it wasn't possible to dynamically override url or mutlipart_params for the HTML4 runtime.
-       Fixed so all runtimes pass the name, chunk and chunks parameters as multipart parameters instead of querystring parameters.
-       Fixed so files are read using the newer FileReader class if it's available if not it tries the older getAsXXX on Gecko.
-       Fixed bug where IE 9 beta 1 wouldn't render Silverlight properly.
-       Fixed bug where Flash would do extra empty requests if images below a specific size would be uploaded.
-       Fixed bug where Google Gears would resize and re-encode images even if the it wasn't changed in scale.
-       Fixed bug where the HTML5 runtime wouldn't free memory after each request on Gecko.
-Version 1.2.4 (2010-09-08)
-       Added new BeforeUpload event to make it easier to override settings before a file is uploaded.
-       Added new automatic usage of FileReference in Flash if it's possible. Contributed by Marcel Jackwerth.
-       Added new chunking support for Chrome 5 and Firefox 3.6 using the HTML 5 runtime.
-       Added new multipart upload support for WebKit using the HTML 5 runtime and the FormData object.
-       Added new image scaling method for the Flash runtime contributed by rcoopman.
-       Added new alert error message if the user selected invalid files.
-       Added new automatic unique name generation to the example.php script. Contributed by Brandon Kelly.
-       Changed so the default upload method is multipart and the default chunk size is 0.
-       Fixed progress issue with the HTML5 runtime running on Gecko.
-       Fixed so longer extensions can be used such as .tar.gz.
-       Fixed so the file extension is retained when using the unique_names option.
-Version 1.2.3 (2010-05-27)
-       Added new drag/drop support for HTML5 running on Chrome beta.
-       Added new multipart state for the features object. It's now possible to detect multipart support.
-       Added new getFeatures function to all runtime. Basic concept by Javier Martinez Fernandez.
-       Fixed bug where runtimes where initialized even if they didn't match the required_features setting.
-Version 1.2.2.1 (2010-05-04)
-       Added new headers option, enables you to set custom headers for the upload requests.
-       Fixed bug where the file extension checking was case sensitive.
-Version 1.2.2 (2010-04-26)
-       Added new file_data_name option that enables you to set the multipart file data param. Patch contributed by Alex Ganov.
-       Added new FILE_SIZE_ERROR type that will be triggered if the user selected a file that is to large or zero bytes.
-       Added new FILE_EXTENSION_ERROR type that will be triggered if you add a file with an invalid file extension.
-       Added new required_features setting, enables you to specify a list of required features that the runtime must have.
-       Fixed so the plupload.buildUrl function uses the UTF compatible encodeURIComponent method instead of escape.
-       Fixed so that all file types can be selected if you don't specify a filter setting.
-       Fixed so more valid HTTP status codes are accepted as valid responses.
-       Fixed so all runtimes fills the features object with available features.
-       Fixed some issues with the HTML4 runtime if there wasn't any existing forms on the page.
-       Fixed some conflict issues with HTML4 runtime and forms with the input names of action or target.
-       Fixed bug where some Gecko versions would produce exceptions when checking the HTTP status of a XHR.
-Version 1.2.1 (2010-03-22)
-       Fixed bug with incorrect aspect ratio in Flash image scaling.
-       Fixed bug where chunked uploads could get scrambled in the Flash runtime. Patch contributed by Grady Werner.
-       Fixed bug where a beta version of Chrome wouldn't handle drag/drop correctly because of missing drag effect.
-       Fixed so the HTML 4 runtime displays N/A for file sizes and the progress is based on uploaded files instead of bytes.
-       Fixed so chunking can be disabled properly in Flash but that will affect the progress bar.
-       Fixed so queue widget displays the drag/drop message if file queue is emptied.
-       Fixed small files are uploaded as one single chunk and not forced into 4 chunks in the Flash runtime.
-Version 1.2 (2010-03-09)
-       Added new rename file support for jQuery queue widget, click on a file name to rename it if it's enabled.
-       Added official ChunkUploaded event, it similar to FileUploaded but executed for each chunk.
-       Added bytes per second support to total queue progress.
-       Added better error handling to core API using the new Error event.
-       Added better error handling to jQuery queue widget.
-       Fixed so chunking uploads is dispatch from JS not from inside Flash/Silverlight.
-Version 1.1.1 (2010-02-25)
-       Added new setup setting to queue widget. Makes it easier to bind custom events to uploader instance.
-       Fixed so it's possible to disable chunking compleatly. It's now disabled by default.
-       Fixed bug where multipart mode was enabled all the time in the Flash runtime.
-       Fixed bug where chunked uploading in Silverlight would fail.
-       Fixed bug where the delete button was visible while uploading.
-       Fixed bug where unique_names setting wasn't working when the core API was used.
-       Fixed bug where the queue widget wouldn't display the currently uploaded file if the unique_names was enabled.
-Version 1.1 (2010-02-24)
-       Added new multipart and multipart_params support.
-       Added new container option, enables you to specify where flash/silverlight objects would be added.
-       Added chunking support to BrowserPlus runtime, contributed by Steve Spencer.
-       Added FileUploaded event that fires when a file is uploaded.
-       Added more easily understandable buttons to queue widget.
-       Added html4 runtime, contributed by Ryan Demmer.
-       Fixed issues with i18n support and added a Swedish and Danish language pack.
-       Fixed bug where the Flash runtime could do empty requests if the image was scaled down.
-       Fixed bug where uploading small images in Silverlight would produce an exception.
-       Fixed so the runtime list can include whitespace or missing runtimes. Patch contributed by Ã˜yvind Sean Kinsey.
-       Fixed so to large files are ignored and never dispatched to the FilesAdded event.
-Version 1.0 (2010-02-03)
-       First official release of Plupload.
index 7b1a7b09530b5d3f65b6d12294003e303d6c9618..d6a9958c7eeac3f3661c09c5553961d880296319 100644 (file)
@@ -1,5 +1,4 @@
-/* global plupload, pluploadL10n, ajaxurl, post_id, wpUploaderInit, deleteUserSetting, setUserSetting, getUserSetting */
-/* global resize_width, resize_height, shortform */
+/* global plupload, pluploadL10n, ajaxurl, post_id, wpUploaderInit, deleteUserSetting, setUserSetting, getUserSetting, shortform */
 var topWin = window.dialogArguments || opener || parent || top, uploader, uploader_init;
 
 // progress and success handlers for media multi uploads
@@ -42,19 +41,19 @@ function uploadProgress(up, file) {
 }
 
 // check to see if a large file failed to upload
-function fileUploading(up, file) {
-       var hundredmb = 100 * 1024 * 1024, max = parseInt(up.settings.max_file_size, 10);
+function fileUploading( up, file ) {
+       var hundredmb = 100 * 1024 * 1024,
+               max = parseInt( up.settings.max_file_size, 10 );
 
        if ( max > hundredmb && file.size > hundredmb ) {
-               setTimeout(function(){
-                       
+               setTimeout( function() {
                        if ( file.status < 3 && file.loaded === 0 ) { // not uploading
-                               wpFileError(file, pluploadL10n.big_upload_failed.replace('%1$s', '<a class="uploader-html" href="#">').replace('%2$s', '</a>'));
+                               wpFileError( file, pluploadL10n.big_upload_failed.replace( '%1$s', '<a class="uploader-html" href="#">' ).replace( '%2$s', '</a>' ) );
                                up.stop(); // stops the whole queue
-                               up.removeFile(file);
+                               up.removeFile( file );
                                up.start(); // restart the queue
                        }
-               }, 10000); // wait for 10 sec. for the file to start uploading
+               }, 10000 ); // wait for 10 sec. for the file to start uploading
        }
 }
 
@@ -67,7 +66,7 @@ function updateMediaForm() {
                jQuery('.insert-gallery').hide();
        } else if ( items.length > 1 ) {
                items.removeClass('open');
-               // Only show Gallery button when there are at least two files.
+               // Only show Gallery/Playlist buttons when there are at least two files.
                jQuery('.insert-gallery').show();
        }
 
@@ -100,15 +99,20 @@ function uploadSuccess(fileObj, serverData) {
                jQuery('#attachments-count').text(1 * jQuery('#attachments-count').text() + 1);
 }
 
-function setResize(arg) {
+function setResize( arg ) {
        if ( arg ) {
-               if ( uploader.features.jpgresize )
-                       uploader.settings.resize = { width: resize_width, height: resize_height, quality: 100 };
-               else
+               if ( window.resize_width && window.resize_height ) {
+                       uploader.settings.resize = {
+                               enabled: true,
+                               width: window.resize_width,
+                               height: window.resize_height,
+                               quality: 100
+                       };
+               } else {
                        uploader.settings.multipart_params.image_resize = true;
+               }
        } else {
-               delete(uploader.settings.resize);
-               delete(uploader.settings.multipart_params.image_resize);
+               delete( uploader.settings.multipart_params.image_resize );
        }
 }
 
@@ -171,7 +175,7 @@ function prepareMediaItemInit(fileObj) {
                        success: function( ){
                                var type,
                                        item = jQuery('#media-item-' + fileObj.id);
-                               
+
                                if ( type = jQuery('#type-of-' + fileObj.id).val() )
                                        jQuery('#' + type + '-counter').text(jQuery('#' + type + '-counter').text()-0+1);
 
@@ -299,10 +303,10 @@ function uploadError(fileObj, errorCode, message, uploader) {
                        wpQueueError(pluploadL10n.upload_failed);
                        break;
                case plupload.IO_ERROR:
-                       max = parseInt(uploader.settings.max_file_size, 10);
+                       max = parseInt( uploader.settings.filters.max_file_size, 10 );
 
                        if ( max > hundredmb && fileObj.size > hundredmb )
-                               wpFileError(fileObj, pluploadL10n.big_upload_failed.replace('%1$s', '<a class="uploader-html" href="#">').replace('%2$s', '</a>'));
+                               wpFileError( fileObj, pluploadL10n.big_upload_failed.replace('%1$s', '<a class="uploader-html" href="#">').replace('%2$s', '</a>') );
                        else
                                wpQueueError(pluploadL10n.io_error);
                        break;
@@ -396,6 +400,16 @@ jQuery(document).ready(function($){
 
        // init and set the uploader
        uploader_init = function() {
+               var isIE = navigator.userAgent.indexOf('Trident/') != -1 || navigator.userAgent.indexOf('MSIE ') != -1;
+
+               // Make sure flash sends cookies (seems in IE it does whitout switching to urlstream mode)
+               if ( ! isIE && 'flash' === plupload.predictRuntime( wpUploaderInit ) &&
+                       ( ! wpUploaderInit.required_features || ! wpUploaderInit.required_features.hasOwnProperty( 'send_binary_string' ) ) ) {
+
+                       wpUploaderInit.required_features = wpUploaderInit.required_features || {};
+                       wpUploaderInit.required_features.send_binary_string = true;
+               }
+
                uploader = new plupload.Uploader(wpUploaderInit);
 
                $('#image_resize').bind('change', function() {
@@ -426,31 +440,25 @@ jQuery(document).ready(function($){
                                $('#drag-drop-area').unbind('.wp-uploader');
                        }
 
-                       if ( up.runtime == 'html4' )
+                       if ( up.runtime === 'html4' ) {
                                $('.upload-flash-bypass').hide();
+                       }
                });
 
                uploader.init();
 
-               uploader.bind('FilesAdded', function(up, files) {
-                       var hundredmb = 100 * 1024 * 1024, max = parseInt(up.settings.max_file_size, 10);
-
+               uploader.bind('FilesAdded', function( up, files ) {
                        $('#media-upload-error').html('');
                        uploadStart();
 
-                       plupload.each(files, function(file){
-                               if ( max > hundredmb && file.size > hundredmb && up.runtime != 'html5' )
-                                       uploadSizeError( up, file, true );
-                               else
-                                       fileQueued(file);
+                       plupload.each( files, function( file ) {
+                               fileQueued( file );
                        });
 
                        up.refresh();
                        up.start();
                });
 
-               // uploader.bind('BeforeUpload', function(up, file) {});
-
                uploader.bind('UploadFile', function(up, file) {
                        fileUploading(up, file);
                });
index 83261fe70a28fabf8cdc162c73a7b2d5928fafa1..d61eca8ff8db7f153591961fd5fb84af82cafdae 100644 (file)
@@ -1 +1 @@
-function fileQueued(a){jQuery(".media-blank").remove();var b=jQuery("#media-items").children(),c=post_id||0;1==b.length&&b.removeClass("open").find(".slidetoggle").slideUp(200),jQuery('<div class="media-item">').attr("id","media-item-"+a.id).addClass("child-of-"+c).append('<div class="progress"><div class="percent">0%</div><div class="bar"></div></div>',jQuery('<div class="filename original">').text(" "+a.name)).appendTo(jQuery("#media-items")),jQuery("#insert-gallery").prop("disabled",!0)}function uploadStart(){try{"undefined"!=typeof topWin.tb_remove&&topWin.jQuery("#TB_overlay").unbind("click",topWin.tb_remove)}catch(a){}return!0}function uploadProgress(a,b){var c=jQuery("#media-item-"+b.id);jQuery(".bar",c).width(200*b.loaded/b.size),jQuery(".percent",c).html(b.percent+"%")}function fileUploading(a,b){var c=104857600,d=parseInt(a.settings.max_file_size,10);d>c&&b.size>c&&setTimeout(function(){b.status<3&&0===b.loaded&&(wpFileError(b,pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>")),a.stop(),a.removeFile(b),a.start())},1e4)}function updateMediaForm(){var a=jQuery("#media-items").children();1==a.length?(a.addClass("open").find(".slidetoggle").show(),jQuery(".insert-gallery").hide()):a.length>1&&(a.removeClass("open"),jQuery(".insert-gallery").show()),a.not(".media-blank").length>0?jQuery(".savebutton").show():jQuery(".savebutton").hide()}function uploadSuccess(a,b){var c=jQuery("#media-item-"+a.id);return b=b.replace(/^<pre>(\d+)<\/pre>$/,"$1"),b.match(/media-upload-error|error-div/)?(c.html(b),void 0):(jQuery(".percent",c).html(pluploadL10n.crunching),prepareMediaItem(a,b),updateMediaForm(),post_id&&c.hasClass("child-of-"+post_id)&&jQuery("#attachments-count").text(1*jQuery("#attachments-count").text()+1),void 0)}function setResize(a){a?uploader.features.jpgresize?uploader.settings.resize={width:resize_width,height:resize_height,quality:100}:uploader.settings.multipart_params.image_resize=!0:(delete uploader.settings.resize,delete uploader.settings.multipart_params.image_resize)}function prepareMediaItem(a,b){var c="undefined"==typeof shortform?1:2,d=jQuery("#media-item-"+a.id);2==c&&shortform>2&&(c=shortform);try{"undefined"!=typeof topWin.tb_remove&&topWin.jQuery("#TB_overlay").click(topWin.tb_remove)}catch(e){}isNaN(b)||!b?(d.append(b),prepareMediaItemInit(a)):d.load("async-upload.php",{attachment_id:b,fetch:c},function(){prepareMediaItemInit(a),updateMediaForm()})}function prepareMediaItemInit(a){var b=jQuery("#media-item-"+a.id);jQuery(".thumbnail",b).clone().attr("class","pinkynail toggle").prependTo(b),jQuery(".filename.original",b).replaceWith(jQuery(".filename.new",b)),jQuery("a.delete",b).click(function(){return jQuery.ajax({url:ajaxurl,type:"post",success:deleteSuccess,error:deleteError,id:a.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"trash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")}}),!1}),jQuery("a.undo",b).click(function(){return jQuery.ajax({url:ajaxurl,type:"post",id:a.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"untrash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")},success:function(){var b,c=jQuery("#media-item-"+a.id);(b=jQuery("#type-of-"+a.id).val())&&jQuery("#"+b+"-counter").text(jQuery("#"+b+"-counter").text()-0+1),post_id&&c.hasClass("child-of-"+post_id)&&jQuery("#attachments-count").text(jQuery("#attachments-count").text()-0+1),jQuery(".filename .trashnotice",c).remove(),jQuery(".filename .title",c).css("font-weight","normal"),jQuery("a.undo",c).addClass("hidden"),jQuery(".menu_order_input",c).show(),c.css({backgroundColor:"#ceb"}).animate({backgroundColor:"#fff"},{queue:!1,duration:500,complete:function(){jQuery(this).css({backgroundColor:""})}}).removeClass("undo")}}),!1}),jQuery("#media-item-"+a.id+".startopen").removeClass("startopen").addClass("open").find("slidetoggle").fadeIn()}function wpQueueError(a){jQuery("#media-upload-error").show().html('<div class="error"><p>'+a+"</p></div>")}function wpFileError(a,b){itemAjaxError(a.id,b)}function itemAjaxError(a,b){var c=jQuery("#media-item-"+a),d=c.find(".filename").text(),e=c.data("last-err");e!=a&&c.html('<div class="error-div"><a class="dismiss" href="#">'+pluploadL10n.dismiss+"</a><strong>"+pluploadL10n.error_uploading.replace("%s",jQuery.trim(d))+"</strong> "+b+"</div>").data("last-err",a)}function deleteSuccess(a){var b,c,d;return"-1"==a?itemAjaxError(this.id,"You do not have permission. Has your session expired?"):"0"==a?itemAjaxError(this.id,"Could not be deleted. Has it been deleted already?"):(c=this.id,d=jQuery("#media-item-"+c),(b=jQuery("#type-of-"+c).val())&&jQuery("#"+b+"-counter").text(jQuery("#"+b+"-counter").text()-1),post_id&&d.hasClass("child-of-"+post_id)&&jQuery("#attachments-count").text(jQuery("#attachments-count").text()-1),1==jQuery("form.type-form #media-items").children().length&&jQuery(".hidden","#media-items").length>0&&(jQuery(".toggle").toggle(),jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden")),jQuery(".toggle",d).toggle(),jQuery(".slidetoggle",d).slideUp(200).siblings().removeClass("hidden"),d.css({backgroundColor:"#faa"}).animate({backgroundColor:"#f4f4f4"},{queue:!1,duration:500}).addClass("undo"),jQuery(".filename:empty",d).remove(),jQuery(".filename .title",d).css("font-weight","bold"),jQuery(".filename",d).append('<span class="trashnotice"> '+pluploadL10n.deleted+" </span>").siblings("a.toggle").hide(),jQuery(".filename",d).append(jQuery("a.undo",d).removeClass("hidden")),jQuery(".menu_order_input",d).hide(),void 0)}function deleteError(){}function uploadComplete(){jQuery("#insert-gallery").prop("disabled",!1)}function switchUploader(a){a?(deleteUserSetting("uploader"),jQuery(".media-upload-form").removeClass("html-uploader"),"object"==typeof uploader&&uploader.refresh()):(setUserSetting("uploader","1"),jQuery(".media-upload-form").addClass("html-uploader"))}function uploadError(a,b,c,d){var e,f=104857600;switch(b){case plupload.FAILED:wpFileError(a,pluploadL10n.upload_failed);break;case plupload.FILE_EXTENSION_ERROR:wpFileError(a,pluploadL10n.invalid_filetype);break;case plupload.FILE_SIZE_ERROR:uploadSizeError(d,a);break;case plupload.IMAGE_FORMAT_ERROR:wpFileError(a,pluploadL10n.not_an_image);break;case plupload.IMAGE_MEMORY_ERROR:wpFileError(a,pluploadL10n.image_memory_exceeded);break;case plupload.IMAGE_DIMENSIONS_ERROR:wpFileError(a,pluploadL10n.image_dimensions_exceeded);break;case plupload.GENERIC_ERROR:wpQueueError(pluploadL10n.upload_failed);break;case plupload.IO_ERROR:e=parseInt(d.settings.max_file_size,10),e>f&&a.size>f?wpFileError(a,pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>")):wpQueueError(pluploadL10n.io_error);break;case plupload.HTTP_ERROR:wpQueueError(pluploadL10n.http_error);break;case plupload.INIT_ERROR:jQuery(".media-upload-form").addClass("html-uploader");break;case plupload.SECURITY_ERROR:wpQueueError(pluploadL10n.security_error);break;default:wpFileError(a,pluploadL10n.default_error)}}function uploadSizeError(a,b,c){var d;d=c?pluploadL10n.big_upload_queued.replace("%s",b.name)+" "+pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>"):pluploadL10n.file_exceeds_size_limit.replace("%s",b.name),jQuery("#media-items").append('<div id="media-item-'+b.id+'" class="media-item error"><p>'+d+"</p></div>"),a.removeFile(b)}var topWin=window.dialogArguments||opener||parent||top,uploader,uploader_init;jQuery(document).ready(function(a){a(".media-upload-form").bind("click.uploader",function(b){var c,d,e=a(b.target);e.is('input[type="radio"]')?(c=e.closest("tr"),c.hasClass("align")?setUserSetting("align",e.val()):c.hasClass("image-size")&&setUserSetting("imgsize",e.val())):e.is("button.button")?(d=b.target.className||"",d=d.match(/url([^ '"]+)/),d&&d[1]&&(setUserSetting("urlbutton",d[1]),e.siblings(".urlfield").val(e.data("link-url")))):e.is("a.dismiss")?e.parents(".media-item").fadeOut(200,function(){a(this).remove()}):e.is(".upload-flash-bypass a")||e.is("a.uploader-html")?(a("#media-items, p.submit, span.big-file-warning").css("display","none"),switchUploader(0),b.preventDefault()):e.is(".upload-html-bypass a")?(a("#media-items, p.submit, span.big-file-warning").css("display",""),switchUploader(1),b.preventDefault()):e.is("a.describe-toggle-on")?(e.parent().addClass("open"),e.siblings(".slidetoggle").fadeIn(250,function(){var b,c,d=a(window).scrollTop(),e=a(window).height(),f=a(this).offset().top,g=a(this).height();e&&f&&g&&(b=f+g,c=d+e,b>c&&(f-d>b-c?window.scrollBy(0,b-c+10):window.scrollBy(0,f-d-40)))}),b.preventDefault()):e.is("a.describe-toggle-off")&&(e.siblings(".slidetoggle").fadeOut(250,function(){e.parent().removeClass("open")}),b.preventDefault())}),uploader_init=function(){uploader=new plupload.Uploader(wpUploaderInit),a("#image_resize").bind("change",function(){var b=a(this).prop("checked");setResize(b),b?setUserSetting("upload_resize","1"):deleteUserSetting("upload_resize")}),uploader.bind("Init",function(b){var c=a("#plupload-upload-ui");setResize(getUserSetting("upload_resize",!1)),b.features.dragdrop&&!a(document.body).hasClass("mobile")?(c.addClass("drag-drop"),a("#drag-drop-area").bind("dragover.wp-uploader",function(){c.addClass("drag-over")}).bind("dragleave.wp-uploader, drop.wp-uploader",function(){c.removeClass("drag-over")})):(c.removeClass("drag-drop"),a("#drag-drop-area").unbind(".wp-uploader")),"html4"==b.runtime&&a(".upload-flash-bypass").hide()}),uploader.init(),uploader.bind("FilesAdded",function(b,c){var d=104857600,e=parseInt(b.settings.max_file_size,10);a("#media-upload-error").html(""),uploadStart(),plupload.each(c,function(a){e>d&&a.size>d&&"html5"!=b.runtime?uploadSizeError(b,a,!0):fileQueued(a)}),b.refresh(),b.start()}),uploader.bind("UploadFile",function(a,b){fileUploading(a,b)}),uploader.bind("UploadProgress",function(a,b){uploadProgress(a,b)}),uploader.bind("Error",function(a,b){uploadError(b.file,b.code,b.message,a),a.refresh()}),uploader.bind("FileUploaded",function(a,b,c){uploadSuccess(b,c.response)}),uploader.bind("UploadComplete",function(){uploadComplete()})},"object"==typeof wpUploaderInit&&uploader_init()});
\ No newline at end of file
+function fileQueued(a){jQuery(".media-blank").remove();var b=jQuery("#media-items").children(),c=post_id||0;1==b.length&&b.removeClass("open").find(".slidetoggle").slideUp(200),jQuery('<div class="media-item">').attr("id","media-item-"+a.id).addClass("child-of-"+c).append('<div class="progress"><div class="percent">0%</div><div class="bar"></div></div>',jQuery('<div class="filename original">').text(" "+a.name)).appendTo(jQuery("#media-items")),jQuery("#insert-gallery").prop("disabled",!0)}function uploadStart(){try{"undefined"!=typeof topWin.tb_remove&&topWin.jQuery("#TB_overlay").unbind("click",topWin.tb_remove)}catch(a){}return!0}function uploadProgress(a,b){var c=jQuery("#media-item-"+b.id);jQuery(".bar",c).width(200*b.loaded/b.size),jQuery(".percent",c).html(b.percent+"%")}function fileUploading(a,b){var c=104857600,d=parseInt(a.settings.max_file_size,10);d>c&&b.size>c&&setTimeout(function(){b.status<3&&0===b.loaded&&(wpFileError(b,pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>")),a.stop(),a.removeFile(b),a.start())},1e4)}function updateMediaForm(){var a=jQuery("#media-items").children();1==a.length?(a.addClass("open").find(".slidetoggle").show(),jQuery(".insert-gallery").hide()):a.length>1&&(a.removeClass("open"),jQuery(".insert-gallery").show()),a.not(".media-blank").length>0?jQuery(".savebutton").show():jQuery(".savebutton").hide()}function uploadSuccess(a,b){var c=jQuery("#media-item-"+a.id);return b=b.replace(/^<pre>(\d+)<\/pre>$/,"$1"),b.match(/media-upload-error|error-div/)?void c.html(b):(jQuery(".percent",c).html(pluploadL10n.crunching),prepareMediaItem(a,b),updateMediaForm(),void(post_id&&c.hasClass("child-of-"+post_id)&&jQuery("#attachments-count").text(1*jQuery("#attachments-count").text()+1)))}function setResize(a){a?window.resize_width&&window.resize_height?uploader.settings.resize={enabled:!0,width:window.resize_width,height:window.resize_height,quality:100}:uploader.settings.multipart_params.image_resize=!0:delete uploader.settings.multipart_params.image_resize}function prepareMediaItem(a,b){var c="undefined"==typeof shortform?1:2,d=jQuery("#media-item-"+a.id);2==c&&shortform>2&&(c=shortform);try{"undefined"!=typeof topWin.tb_remove&&topWin.jQuery("#TB_overlay").click(topWin.tb_remove)}catch(e){}isNaN(b)||!b?(d.append(b),prepareMediaItemInit(a)):d.load("async-upload.php",{attachment_id:b,fetch:c},function(){prepareMediaItemInit(a),updateMediaForm()})}function prepareMediaItemInit(a){var b=jQuery("#media-item-"+a.id);jQuery(".thumbnail",b).clone().attr("class","pinkynail toggle").prependTo(b),jQuery(".filename.original",b).replaceWith(jQuery(".filename.new",b)),jQuery("a.delete",b).click(function(){return jQuery.ajax({url:ajaxurl,type:"post",success:deleteSuccess,error:deleteError,id:a.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"trash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")}}),!1}),jQuery("a.undo",b).click(function(){return jQuery.ajax({url:ajaxurl,type:"post",id:a.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"untrash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")},success:function(){var b,c=jQuery("#media-item-"+a.id);(b=jQuery("#type-of-"+a.id).val())&&jQuery("#"+b+"-counter").text(jQuery("#"+b+"-counter").text()-0+1),post_id&&c.hasClass("child-of-"+post_id)&&jQuery("#attachments-count").text(jQuery("#attachments-count").text()-0+1),jQuery(".filename .trashnotice",c).remove(),jQuery(".filename .title",c).css("font-weight","normal"),jQuery("a.undo",c).addClass("hidden"),jQuery(".menu_order_input",c).show(),c.css({backgroundColor:"#ceb"}).animate({backgroundColor:"#fff"},{queue:!1,duration:500,complete:function(){jQuery(this).css({backgroundColor:""})}}).removeClass("undo")}}),!1}),jQuery("#media-item-"+a.id+".startopen").removeClass("startopen").addClass("open").find("slidetoggle").fadeIn()}function wpQueueError(a){jQuery("#media-upload-error").show().html('<div class="error"><p>'+a+"</p></div>")}function wpFileError(a,b){itemAjaxError(a.id,b)}function itemAjaxError(a,b){var c=jQuery("#media-item-"+a),d=c.find(".filename").text(),e=c.data("last-err");e!=a&&c.html('<div class="error-div"><a class="dismiss" href="#">'+pluploadL10n.dismiss+"</a><strong>"+pluploadL10n.error_uploading.replace("%s",jQuery.trim(d))+"</strong> "+b+"</div>").data("last-err",a)}function deleteSuccess(a){var b,c,d;return"-1"==a?itemAjaxError(this.id,"You do not have permission. Has your session expired?"):"0"==a?itemAjaxError(this.id,"Could not be deleted. Has it been deleted already?"):(c=this.id,d=jQuery("#media-item-"+c),(b=jQuery("#type-of-"+c).val())&&jQuery("#"+b+"-counter").text(jQuery("#"+b+"-counter").text()-1),post_id&&d.hasClass("child-of-"+post_id)&&jQuery("#attachments-count").text(jQuery("#attachments-count").text()-1),1==jQuery("form.type-form #media-items").children().length&&jQuery(".hidden","#media-items").length>0&&(jQuery(".toggle").toggle(),jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden")),jQuery(".toggle",d).toggle(),jQuery(".slidetoggle",d).slideUp(200).siblings().removeClass("hidden"),d.css({backgroundColor:"#faa"}).animate({backgroundColor:"#f4f4f4"},{queue:!1,duration:500}).addClass("undo"),jQuery(".filename:empty",d).remove(),jQuery(".filename .title",d).css("font-weight","bold"),jQuery(".filename",d).append('<span class="trashnotice"> '+pluploadL10n.deleted+" </span>").siblings("a.toggle").hide(),jQuery(".filename",d).append(jQuery("a.undo",d).removeClass("hidden")),void jQuery(".menu_order_input",d).hide())}function deleteError(){}function uploadComplete(){jQuery("#insert-gallery").prop("disabled",!1)}function switchUploader(a){a?(deleteUserSetting("uploader"),jQuery(".media-upload-form").removeClass("html-uploader"),"object"==typeof uploader&&uploader.refresh()):(setUserSetting("uploader","1"),jQuery(".media-upload-form").addClass("html-uploader"))}function uploadError(a,b,c,d){var e,f=104857600;switch(b){case plupload.FAILED:wpFileError(a,pluploadL10n.upload_failed);break;case plupload.FILE_EXTENSION_ERROR:wpFileError(a,pluploadL10n.invalid_filetype);break;case plupload.FILE_SIZE_ERROR:uploadSizeError(d,a);break;case plupload.IMAGE_FORMAT_ERROR:wpFileError(a,pluploadL10n.not_an_image);break;case plupload.IMAGE_MEMORY_ERROR:wpFileError(a,pluploadL10n.image_memory_exceeded);break;case plupload.IMAGE_DIMENSIONS_ERROR:wpFileError(a,pluploadL10n.image_dimensions_exceeded);break;case plupload.GENERIC_ERROR:wpQueueError(pluploadL10n.upload_failed);break;case plupload.IO_ERROR:e=parseInt(d.settings.filters.max_file_size,10),e>f&&a.size>f?wpFileError(a,pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>")):wpQueueError(pluploadL10n.io_error);break;case plupload.HTTP_ERROR:wpQueueError(pluploadL10n.http_error);break;case plupload.INIT_ERROR:jQuery(".media-upload-form").addClass("html-uploader");break;case plupload.SECURITY_ERROR:wpQueueError(pluploadL10n.security_error);break;default:wpFileError(a,pluploadL10n.default_error)}}function uploadSizeError(a,b,c){var d;d=c?pluploadL10n.big_upload_queued.replace("%s",b.name)+" "+pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>"):pluploadL10n.file_exceeds_size_limit.replace("%s",b.name),jQuery("#media-items").append('<div id="media-item-'+b.id+'" class="media-item error"><p>'+d+"</p></div>"),a.removeFile(b)}var topWin=window.dialogArguments||opener||parent||top,uploader,uploader_init;jQuery(document).ready(function(a){a(".media-upload-form").bind("click.uploader",function(b){var c,d,e=a(b.target);e.is('input[type="radio"]')?(c=e.closest("tr"),c.hasClass("align")?setUserSetting("align",e.val()):c.hasClass("image-size")&&setUserSetting("imgsize",e.val())):e.is("button.button")?(d=b.target.className||"",d=d.match(/url([^ '"]+)/),d&&d[1]&&(setUserSetting("urlbutton",d[1]),e.siblings(".urlfield").val(e.data("link-url")))):e.is("a.dismiss")?e.parents(".media-item").fadeOut(200,function(){a(this).remove()}):e.is(".upload-flash-bypass a")||e.is("a.uploader-html")?(a("#media-items, p.submit, span.big-file-warning").css("display","none"),switchUploader(0),b.preventDefault()):e.is(".upload-html-bypass a")?(a("#media-items, p.submit, span.big-file-warning").css("display",""),switchUploader(1),b.preventDefault()):e.is("a.describe-toggle-on")?(e.parent().addClass("open"),e.siblings(".slidetoggle").fadeIn(250,function(){var b,c,d=a(window).scrollTop(),e=a(window).height(),f=a(this).offset().top,g=a(this).height();e&&f&&g&&(b=f+g,c=d+e,b>c&&(f-d>b-c?window.scrollBy(0,b-c+10):window.scrollBy(0,f-d-40)))}),b.preventDefault()):e.is("a.describe-toggle-off")&&(e.siblings(".slidetoggle").fadeOut(250,function(){e.parent().removeClass("open")}),b.preventDefault())}),uploader_init=function(){var b=-1!=navigator.userAgent.indexOf("Trident/")||-1!=navigator.userAgent.indexOf("MSIE ");b||"flash"!==plupload.predictRuntime(wpUploaderInit)||wpUploaderInit.required_features&&wpUploaderInit.required_features.hasOwnProperty("send_binary_string")||(wpUploaderInit.required_features=wpUploaderInit.required_features||{},wpUploaderInit.required_features.send_binary_string=!0),uploader=new plupload.Uploader(wpUploaderInit),a("#image_resize").bind("change",function(){var b=a(this).prop("checked");setResize(b),b?setUserSetting("upload_resize","1"):deleteUserSetting("upload_resize")}),uploader.bind("Init",function(b){var c=a("#plupload-upload-ui");setResize(getUserSetting("upload_resize",!1)),b.features.dragdrop&&!a(document.body).hasClass("mobile")?(c.addClass("drag-drop"),a("#drag-drop-area").bind("dragover.wp-uploader",function(){c.addClass("drag-over")}).bind("dragleave.wp-uploader, drop.wp-uploader",function(){c.removeClass("drag-over")})):(c.removeClass("drag-drop"),a("#drag-drop-area").unbind(".wp-uploader")),"html4"===b.runtime&&a(".upload-flash-bypass").hide()}),uploader.init(),uploader.bind("FilesAdded",function(b,c){a("#media-upload-error").html(""),uploadStart(),plupload.each(c,function(a){fileQueued(a)}),b.refresh(),b.start()}),uploader.bind("UploadFile",function(a,b){fileUploading(a,b)}),uploader.bind("UploadProgress",function(a,b){uploadProgress(a,b)}),uploader.bind("Error",function(a,b){uploadError(b.file,b.code,b.message,a),a.refresh()}),uploader.bind("FileUploaded",function(a,b,c){uploadSuccess(b,c.response)}),uploader.bind("UploadComplete",function(){uploadComplete()})},"object"==typeof wpUploaderInit&&uploader_init()});
\ No newline at end of file
diff --git a/wp-includes/js/plupload/plupload.flash.js b/wp-includes/js/plupload/plupload.flash.js
deleted file mode 100644 (file)
index 7d3f008..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(f,b,d,e){var a={},g={};function c(){var h;try{h=navigator.plugins["Shockwave Flash"];h=h.description}catch(j){try{h=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version")}catch(i){h="0.0"}}h=h.match(/\d+/g);return parseFloat(h[0]+"."+h[1])}d.flash={trigger:function(j,h,i){setTimeout(function(){var m=a[j],l,k;if(m){m.trigger("Flash:"+h,i)}},0)}};d.runtimes.Flash=d.addRuntime("flash",{getFeatures:function(){return{jpgresize:true,pngresize:true,maxWidth:8091,maxHeight:8091,chunks:true,progress:true,multipart:true,multi_selection:true}},init:function(m,o){var k,l,h=0,i=b.body;if(c()<10){o({success:false});return}g[m.id]=false;a[m.id]=m;k=b.getElementById(m.settings.browse_button);l=b.createElement("div");l.id=m.id+"_flash_container";d.extend(l.style,{position:"absolute",top:"0px",background:m.settings.shim_bgcolor||"transparent",zIndex:99999,width:"100%",height:"100%"});l.className="plupload flash";if(m.settings.container){i=b.getElementById(m.settings.container);if(d.getStyle(i,"position")==="static"){i.style.position="relative"}}i.appendChild(l);(function(){var p,q;p='<object id="'+m.id+'_flash" type="application/x-shockwave-flash" data="'+m.settings.flash_swf_url+'" ';if(d.ua.ie){p+='classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '}p+='width="100%" height="100%" style="outline:0"><param name="movie" value="'+m.settings.flash_swf_url+'" /><param name="flashvars" value="id='+escape(m.id)+'" /><param name="wmode" value="transparent" /><param name="allowscriptaccess" value="always" /></object>';if(d.ua.ie){q=b.createElement("div");l.appendChild(q);q.outerHTML=p;q=null}else{l.innerHTML=p}}());function n(){return b.getElementById(m.id+"_flash")}function j(){if(h++>5000){o({success:false});return}if(g[m.id]===false){setTimeout(j,1)}}j();k=l=null;m.bind("Destroy",function(p){var q;d.removeAllEvents(b.body,p.id);delete g[p.id];delete a[p.id];q=b.getElementById(p.id+"_flash_container");if(q){q.parentNode.removeChild(q)}});m.bind("Flash:Init",function(){var r={},q;try{n().setFileFilters(m.settings.filters,m.settings.multi_selection)}catch(p){o({success:false});return}if(g[m.id]){return}g[m.id]=true;m.bind("UploadFile",function(s,u){var v=s.settings,t=m.settings.resize||{};n().uploadFile(r[u.id],v.url,{name:u.target_name||u.name,mime:d.mimeTypes[u.name.replace(/^.+\.([^.]+)/,"$1").toLowerCase()]||"application/octet-stream",chunk_size:v.chunk_size,width:t.width,height:t.height,quality:t.quality,multipart:v.multipart,multipart_params:v.multipart_params||{},file_data_name:v.file_data_name,format:/\.(jpg|jpeg)$/i.test(u.name)?"jpg":"png",headers:v.headers,urlstream_upload:v.urlstream_upload})});m.bind("CancelUpload",function(){n().cancelUpload()});m.bind("Flash:UploadProcess",function(t,s){var u=t.getFile(r[s.id]);if(u.status!=d.FAILED){u.loaded=s.loaded;u.size=s.size;t.trigger("UploadProgress",u)}});m.bind("Flash:UploadChunkComplete",function(s,u){var v,t=s.getFile(r[u.id]);v={chunk:u.chunk,chunks:u.chunks,response:u.text};s.trigger("ChunkUploaded",t,v);if(t.status!==d.FAILED&&s.state!==d.STOPPED){n().uploadNextChunk()}if(u.chunk==u.chunks-1){t.status=d.DONE;s.trigger("FileUploaded",t,{response:u.text})}});m.bind("Flash:SelectFiles",function(s,v){var u,t,w=[],x;for(t=0;t<v.length;t++){u=v[t];x=d.guid();r[x]=u.id;r[u.id]=x;w.push(new d.File(x,u.name,u.size))}if(w.length){m.trigger("FilesAdded",w)}});m.bind("Flash:SecurityError",function(s,t){m.trigger("Error",{code:d.SECURITY_ERROR,message:d.translate("Security error."),details:t.message,file:m.getFile(r[t.id])})});m.bind("Flash:GenericError",function(s,t){m.trigger("Error",{code:d.GENERIC_ERROR,message:d.translate("Generic error."),details:t.message,file:m.getFile(r[t.id])})});m.bind("Flash:IOError",function(s,t){m.trigger("Error",{code:d.IO_ERROR,message:d.translate("IO error."),details:t.message,file:m.getFile(r[t.id])})});m.bind("Flash:ImageError",function(s,t){m.trigger("Error",{code:parseInt(t.code,10),message:d.translate("Image error."),file:m.getFile(r[t.id])})});m.bind("Flash:StageEvent:rollOver",function(s){var t,u;t=b.getElementById(m.settings.browse_button);u=s.settings.browse_button_hover;if(t&&u){d.addClass(t,u)}});m.bind("Flash:StageEvent:rollOut",function(s){var t,u;t=b.getElementById(m.settings.browse_button);u=s.settings.browse_button_hover;if(t&&u){d.removeClass(t,u)}});m.bind("Flash:StageEvent:mouseDown",function(s){var t,u;t=b.getElementById(m.settings.browse_button);u=s.settings.browse_button_active;if(t&&u){d.addClass(t,u);d.addEvent(b.body,"mouseup",function(){d.removeClass(t,u)},s.id)}});m.bind("Flash:StageEvent:mouseUp",function(s){var t,u;t=b.getElementById(m.settings.browse_button);u=s.settings.browse_button_active;if(t&&u){d.removeClass(t,u)}});m.bind("Flash:ExifData",function(s,t){m.trigger("ExifData",m.getFile(r[t.id]),t.data)});m.bind("Flash:GpsData",function(s,t){m.trigger("GpsData",m.getFile(r[t.id]),t.data)});m.bind("QueueChanged",function(s){m.refresh()});m.bind("FilesRemoved",function(s,u){var t;for(t=0;t<u.length;t++){n().removeFile(r[u[t].id])}});m.bind("StateChanged",function(s){m.refresh()});m.bind("Refresh",function(s){var t,u,v;n().setFileFilters(m.settings.filters,m.settings.multi_selection);t=b.getElementById(s.settings.browse_button);if(t){u=d.getPos(t,b.getElementById(s.settings.container));v=d.getSize(t);d.extend(b.getElementById(s.id+"_flash_container").style,{top:u.y+"px",left:u.x+"px",width:v.w+"px",height:v.h+"px"})}});m.bind("DisableBrowse",function(s,t){n().disableBrowse(t)});o({success:true})})}})})(window,document,plupload);
\ No newline at end of file
index 416b08fed1f0064dfc557be1a45d7dc993081122..6493572bdf005ad7765d58f79f2ef65660fba931 100644 (file)
Binary files a/wp-includes/js/plupload/plupload.flash.swf and b/wp-includes/js/plupload/plupload.flash.swf differ
diff --git a/wp-includes/js/plupload/plupload.full.min.js b/wp-includes/js/plupload/plupload.full.min.js
new file mode 100644 (file)
index 0000000..69d6ad1
--- /dev/null
@@ -0,0 +1,28 @@
+/**
+ * mOxie - multi-runtime File API & XMLHttpRequest L2 Polyfill
+ * v1.2.0
+ *
+ * Copyright 2013, Moxiecode Systems AB
+ * Released under GPL License.
+ *
+ * License: http://www.plupload.com/license
+ * Contributing: http://www.plupload.com/contributing
+ *
+ * Date: 2014-01-16
+ */
+!function(e,t){"use strict";function n(e,t){for(var n,i=[],r=0;r<e.length;++r){if(n=s[e[r]]||o(e[r]),!n)throw"module definition dependecy not found: "+e[r];i.push(n)}t.apply(null,i)}function i(e,i,r){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(i===t)throw"invalid module definition, dependencies must be specified";if(r===t)throw"invalid module definition, definition function must be specified";n(i,function(){s[e]=r.apply(null,arguments)})}function r(e){return!!s[e]}function o(t){for(var n=e,i=t.split(/[.\/]/),r=0;r<i.length;++r){if(!n[i[r]])return;n=n[i[r]]}return n}function a(n){for(var i=0;i<n.length;i++){for(var r=e,o=n[i],a=o.split(/[.\/]/),u=0;u<a.length-1;++u)r[a[u]]===t&&(r[a[u]]={}),r=r[a[u]];r[a[a.length-1]]=s[o]}}var s={},u="moxie/core/utils/Basic",c="moxie/core/I18n",l="moxie/core/utils/Mime",d="moxie/core/utils/Env",f="moxie/core/utils/Dom",p="moxie/core/Exceptions",h="moxie/core/EventTarget",m="moxie/core/utils/Encode",g="moxie/runtime/Runtime",v="moxie/runtime/RuntimeClient",y="moxie/file/Blob",w="moxie/file/File",E="moxie/file/FileInput",_="moxie/file/FileDrop",x="moxie/runtime/RuntimeTarget",R="moxie/file/FileReader",b="moxie/core/utils/Url",T="moxie/file/FileReaderSync",S="moxie/xhr/FormData",A="moxie/xhr/XMLHttpRequest",O="moxie/runtime/Transporter",I="moxie/image/Image",D="moxie/runtime/html5/Runtime",N="moxie/runtime/html5/file/Blob",L="moxie/core/utils/Events",M="moxie/runtime/html5/file/FileInput",C="moxie/runtime/html5/file/FileDrop",F="moxie/runtime/html5/file/FileReader",H="moxie/runtime/html5/xhr/XMLHttpRequest",P="moxie/runtime/html5/utils/BinaryReader",k="moxie/runtime/html5/image/JPEGHeaders",U="moxie/runtime/html5/image/ExifParser",B="moxie/runtime/html5/image/JPEG",z="moxie/runtime/html5/image/PNG",G="moxie/runtime/html5/image/ImageInfo",q="moxie/runtime/html5/image/MegaPixel",X="moxie/runtime/html5/image/Image",j="moxie/runtime/flash/Runtime",V="moxie/runtime/flash/file/Blob",W="moxie/runtime/flash/file/FileInput",Y="moxie/runtime/flash/file/FileReader",$="moxie/runtime/flash/file/FileReaderSync",J="moxie/runtime/flash/xhr/XMLHttpRequest",Z="moxie/runtime/flash/runtime/Transporter",K="moxie/runtime/flash/image/Image",Q="moxie/runtime/silverlight/Runtime",et="moxie/runtime/silverlight/file/Blob",tt="moxie/runtime/silverlight/file/FileInput",nt="moxie/runtime/silverlight/file/FileDrop",it="moxie/runtime/silverlight/file/FileReader",rt="moxie/runtime/silverlight/file/FileReaderSync",ot="moxie/runtime/silverlight/xhr/XMLHttpRequest",at="moxie/runtime/silverlight/runtime/Transporter",st="moxie/runtime/silverlight/image/Image",ut="moxie/runtime/html4/Runtime",ct="moxie/runtime/html4/file/FileInput",lt="moxie/runtime/html4/file/FileReader",dt="moxie/runtime/html4/xhr/XMLHttpRequest",ft="moxie/runtime/html4/image/Image";i(u,[],function(){var e=function(e){var t;return e===t?"undefined":null===e?"null":e.nodeType?"node":{}.toString.call(e).match(/\s([a-z|A-Z]+)/)[1].toLowerCase()},t=function(i){var r;return n(arguments,function(o,s){s>0&&n(o,function(n,o){n!==r&&(e(i[o])===e(n)&&~a(e(n),["array","object"])?t(i[o],n):i[o]=n)})}),i},n=function(e,t){var n,i,r,o;if(e){try{n=e.length}catch(a){n=o}if(n===o){for(i in e)if(e.hasOwnProperty(i)&&t(e[i],i)===!1)return}else for(r=0;n>r;r++)if(t(e[r],r)===!1)return}},i=function(t){var n;if(!t||"object"!==e(t))return!0;for(n in t)return!1;return!0},r=function(t,n){function i(r){"function"===e(t[r])&&t[r](function(e){++r<o&&!e?i(r):n(e)})}var r=0,o=t.length;"function"!==e(n)&&(n=function(){}),t&&t.length||n(),i(r)},o=function(e,t){var i=0,r=e.length,o=new Array(r);n(e,function(e,n){e(function(e){if(e)return t(e);var a=[].slice.call(arguments);a.shift(),o[n]=a,i++,i===r&&(o.unshift(null),t.apply(this,o))})})},a=function(e,t){if(t){if(Array.prototype.indexOf)return Array.prototype.indexOf.call(t,e);for(var n=0,i=t.length;i>n;n++)if(t[n]===e)return n}return-1},s=function(t,n){var i=[];"array"!==e(t)&&(t=[t]),"array"!==e(n)&&(n=[n]);for(var r in t)-1===a(t[r],n)&&i.push(t[r]);return i.length?i:!1},u=function(e,t){var i=[];return n(e,function(e){-1!==a(e,t)&&i.push(e)}),i.length?i:null},c=function(e){var t,n=[];for(t=0;t<e.length;t++)n[t]=e[t];return n},l=function(){var e=0;return function(t){var n=(new Date).getTime().toString(32),i;for(i=0;5>i;i++)n+=Math.floor(65535*Math.random()).toString(32);return(t||"o_")+n+(e++).toString(32)}}(),d=function(e){return e?String.prototype.trim?String.prototype.trim.call(e):e.toString().replace(/^\s*/,"").replace(/\s*$/,""):e},f=function(e){if("string"!=typeof e)return e;var t={t:1099511627776,g:1073741824,m:1048576,k:1024},n;return e=/^([0-9]+)([mgk]?)$/.exec(e.toLowerCase().replace(/[^0-9mkg]/g,"")),n=e[2],e=+e[1],t.hasOwnProperty(n)&&(e*=t[n]),e};return{guid:l,typeOf:e,extend:t,each:n,isEmptyObj:i,inSeries:r,inParallel:o,inArray:a,arrayDiff:s,arrayIntersect:u,toArray:c,trim:d,parseSizeStr:f}}),i(c,[u],function(e){var t={};return{addI18n:function(n){return e.extend(t,n)},translate:function(e){return t[e]||e},_:function(e){return this.translate(e)},sprintf:function(t){var n=[].slice.call(arguments,1);return t.replace(/%[a-z]/g,function(){var t=n.shift();return"undefined"!==e.typeOf(t)?t:""})}}}),i(l,[u,c],function(e,t){var n="application/msword,doc dot,application/pdf,pdf,application/pgp-signature,pgp,application/postscript,ps ai eps,application/rtf,rtf,application/vnd.ms-excel,xls xlb,application/vnd.ms-powerpoint,ppt pps pot,application/zip,zip,application/x-shockwave-flash,swf swfl,application/vnd.openxmlformats-officedocument.wordprocessingml.document,docx,application/vnd.openxmlformats-officedocument.wordprocessingml.template,dotx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,xlsx,application/vnd.openxmlformats-officedocument.presentationml.presentation,pptx,application/vnd.openxmlformats-officedocument.presentationml.template,potx,application/vnd.openxmlformats-officedocument.presentationml.slideshow,ppsx,application/x-javascript,js,application/json,json,audio/mpeg,mp3 mpga mpega mp2,audio/x-wav,wav,audio/x-m4a,m4a,audio/ogg,oga ogg,audio/aiff,aiff aif,audio/flac,flac,audio/aac,aac,audio/ac3,ac3,audio/x-ms-wma,wma,image/bmp,bmp,image/gif,gif,image/jpeg,jpg jpeg jpe,image/photoshop,psd,image/png,png,image/svg+xml,svg svgz,image/tiff,tiff tif,text/plain,asc txt text diff log,text/html,htm html xhtml,text/css,css,text/csv,csv,text/rtf,rtf,video/mpeg,mpeg mpg mpe m2v,video/quicktime,qt mov,video/mp4,mp4,video/x-m4v,m4v,video/x-flv,flv,video/x-ms-wmv,wmv,video/avi,avi,video/webm,webm,video/3gpp,3gpp 3gp,video/3gpp2,3g2,video/vnd.rn-realvideo,rv,video/ogg,ogv,video/x-matroska,mkv,application/vnd.oasis.opendocument.formula-template,otf,application/octet-stream,exe",i={mimes:{},extensions:{},addMimeType:function(e){var t=e.split(/,/),n,i,r;for(n=0;n<t.length;n+=2){for(r=t[n+1].split(/ /),i=0;i<r.length;i++)this.mimes[r[i]]=t[n];this.extensions[t[n]]=r}},extList2mimes:function(t,n){var i=this,r,o,a,s,u=[];for(o=0;o<t.length;o++)for(r=t[o].extensions.split(/\s*,\s*/),a=0;a<r.length;a++){if("*"===r[a])return[];if(s=i.mimes[r[a]])-1===e.inArray(s,u)&&u.push(s);else{if(!n||!/^\w+$/.test(r[a]))return[];u.push("."+r[a])}}return u},mimes2exts:function(t){var n=this,i=[];return e.each(t,function(t){if("*"===t)return i=[],!1;var r=t.match(/^(\w+)\/(\*|\w+)$/);r&&("*"===r[2]?e.each(n.extensions,function(e,t){new RegExp("^"+r[1]+"/").test(t)&&[].push.apply(i,n.extensions[t])}):n.extensions[t]&&[].push.apply(i,n.extensions[t]))}),i},mimes2extList:function(n){var i=[],r=[];return"string"===e.typeOf(n)&&(n=e.trim(n).split(/\s*,\s*/)),r=this.mimes2exts(n),i.push({title:t.translate("Files"),extensions:r.length?r.join(","):"*"}),i.mimes=n,i},getFileExtension:function(e){var t=e&&e.match(/\.([^.]+)$/);return t?t[1].toLowerCase():""},getFileMime:function(e){return this.mimes[this.getFileExtension(e)]||""}};return i.addMimeType(n),i}),i(d,[u],function(e){function t(e,t,n){var i=0,r=0,o=0,a={dev:-6,alpha:-5,a:-5,beta:-4,b:-4,RC:-3,rc:-3,"#":-2,p:1,pl:1},s=function(e){return e=(""+e).replace(/[_\-+]/g,"."),e=e.replace(/([^.\d]+)/g,".$1.").replace(/\.{2,}/g,"."),e.length?e.split("."):[-8]},u=function(e){return e?isNaN(e)?a[e]||-7:parseInt(e,10):0};for(e=s(e),t=s(t),r=Math.max(e.length,t.length),i=0;r>i;i++)if(e[i]!=t[i]){if(e[i]=u(e[i]),t[i]=u(t[i]),e[i]<t[i]){o=-1;break}if(e[i]>t[i]){o=1;break}}if(!n)return o;switch(n){case">":case"gt":return o>0;case">=":case"ge":return o>=0;case"<=":case"le":return 0>=o;case"==":case"=":case"eq":return 0===o;case"<>":case"!=":case"ne":return 0!==o;case"":case"<":case"lt":return 0>o;default:return null}}var n=function(e){var t="",n="?",i="function",r="undefined",o="object",a="major",s="model",u="name",c="type",l="vendor",d="version",f="architecture",p="console",h="mobile",m="tablet",g={has:function(e,t){return-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()}},v={rgx:function(){for(var t,n=0,a,s,u,c,l,d,f=arguments;n<f.length;n+=2){var p=f[n],h=f[n+1];if(typeof t===r){t={};for(u in h)c=h[u],typeof c===o?t[c[0]]=e:t[c]=e}for(a=s=0;a<p.length;a++)if(l=p[a].exec(this.getUA())){for(u=0;u<h.length;u++)d=l[++s],c=h[u],typeof c===o&&c.length>0?2==c.length?t[c[0]]=typeof c[1]==i?c[1].call(this,d):c[1]:3==c.length?t[c[0]]=typeof c[1]!==i||c[1].exec&&c[1].test?d?d.replace(c[1],c[2]):e:d?c[1].call(this,d,c[2]):e:4==c.length&&(t[c[0]]=d?c[3].call(this,d.replace(c[1],c[2])):e):t[c]=d?d:e;break}if(l)break}return t},str:function(t,i){for(var r in i)if(typeof i[r]===o&&i[r].length>0){for(var a=0;a<i[r].length;a++)if(g.has(i[r][a],t))return r===n?e:r}else if(g.has(i[r],t))return r===n?e:r;return t}},y={browser:{oldsafari:{major:{1:["/8","/1","/3"],2:"/4","?":"/"},version:{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}}},device:{sprint:{model:{"Evo Shift 4G":"7373KT"},vendor:{HTC:"APA",Sprint:"Sprint"}}},os:{windows:{version:{ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2000:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",RT:"ARM"}}}},w={browser:[[/(opera\smini)\/((\d+)?[\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/((\d+)?[\w\.-]+)/i,/(opera).+version\/((\d+)?[\w\.]+)/i,/(opera)[\/\s]+((\d+)?[\w\.]+)/i],[u,d,a],[/\s(opr)\/((\d+)?[\w\.]+)/i],[[u,"Opera"],d,a],[/(kindle)\/((\d+)?[\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?((\d+)?[\w\.]+)*/i,/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?((\d+)?[\w\.]*)/i,/(?:ms|\()(ie)\s((\d+)?[\w\.]+)/i,/(rekonq)((?:\/)[\w\.]+)*/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron)\/((\d+)?[\w\.-]+)/i],[u,d,a],[/(trident).+rv[:\s]((\d+)?[\w\.]+).+like\sgecko/i],[[u,"IE"],d,a],[/(yabrowser)\/((\d+)?[\w\.]+)/i],[[u,"Yandex"],d,a],[/(comodo_dragon)\/((\d+)?[\w\.]+)/i],[[u,/_/g," "],d,a],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?((\d+)?[\w\.]+)/i],[u,d,a],[/(dolfin)\/((\d+)?[\w\.]+)/i],[[u,"Dolphin"],d,a],[/((?:android.+)crmo|crios)\/((\d+)?[\w\.]+)/i],[[u,"Chrome"],d,a],[/((?:android.+))version\/((\d+)?[\w\.]+)\smobile\ssafari/i],[[u,"Android Browser"],d,a],[/version\/((\d+)?[\w\.]+).+?mobile\/\w+\s(safari)/i],[d,a,[u,"Mobile Safari"]],[/version\/((\d+)?[\w\.]+).+?(mobile\s?safari|safari)/i],[d,a,u],[/webkit.+?(mobile\s?safari|safari)((\/[\w\.]+))/i],[u,[a,v.str,y.browser.oldsafari.major],[d,v.str,y.browser.oldsafari.version]],[/(konqueror)\/((\d+)?[\w\.]+)/i,/(webkit|khtml)\/((\d+)?[\w\.]+)/i],[u,d,a],[/(navigator|netscape)\/((\d+)?[\w\.-]+)/i],[[u,"Netscape"],d,a],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?((\d+)?[\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/((\d+)?[\w\.-]+)/i,/(mozilla)\/((\d+)?[\w\.]+).+rv\:.+gecko\/\d+/i,/(uc\s?browser|polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|qqbrowser)[\/\s]?((\d+)?[\w\.]+)/i,/(links)\s\(((\d+)?[\w\.]+)/i,/(gobrowser)\/?((\d+)?[\w\.]+)*/i,/(ice\s?browser)\/v?((\d+)?[\w\._]+)/i,/(mosaic)[\/\s]((\d+)?[\w\.]+)/i],[u,d,a]],engine:[[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[u,d],[/rv\:([\w\.]+).*(gecko)/i],[d,u]],os:[[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*|windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[u,[d,v.str,y.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[u,"Windows"],[d,v.str,y.os.windows.version]],[/\((bb)(10);/i],[[u,"BlackBerry"],d],[/(blackberry)\w*\/?([\w\.]+)*/i,/(tizen)\/([\w\.]+)/i,/(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego)[\/\s-]?([\w\.]+)*/i],[u,d],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i],[[u,"Symbian"],d],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[u,"Firefox OS"],d],[/(nintendo|playstation)\s([wids3portablevu]+)/i,/(mint)[\/\s\(]?(\w+)*/i,/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk)[\/\s-]?([\w\.-]+)*/i,/(hurd|linux)\s?([\w\.]+)*/i,/(gnu)\s?([\w\.]+)*/i],[u,d],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[u,"Chromium OS"],d],[/(sunos)\s?([\w\.]+\d)*/i],[[u,"Solaris"],d],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i],[u,d],[/(ip[honead]+)(?:.*os\s*([\w]+)*\slike\smac|;\sopera)/i],[[u,"iOS"],[d,/_/g,"."]],[/(mac\sos\sx)\s?([\w\s\.]+\w)*/i],[u,[d,/_/g,"."]],[/(haiku)\s(\w+)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i,/(macintosh|mac(?=_powerpc)|plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos)/i,/(unix)\s?([\w\.]+)*/i],[u,d]]},E=function(e){var n=e||(window&&window.navigator&&window.navigator.userAgent?window.navigator.userAgent:t);this.getBrowser=function(){return v.rgx.apply(this,w.browser)},this.getEngine=function(){return v.rgx.apply(this,w.engine)},this.getOS=function(){return v.rgx.apply(this,w.os)},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS()}},this.getUA=function(){return n},this.setUA=function(e){return n=e,this},this.setUA(n)};return(new E).getResult()}(),i=function(){var t={define_property:function(){return!1}(),create_canvas:function(){var e=document.createElement("canvas");return!(!e.getContext||!e.getContext("2d"))}(),return_response_type:function(t){try{if(-1!==e.inArray(t,["","text","document"]))return!0;if(window.XMLHttpRequest){var n=new XMLHttpRequest;if(n.open("get","/"),"responseType"in n)return n.responseType=t,n.responseType!==t?!1:!0}}catch(i){}return!1},use_data_uri:function(){var e=new Image;return e.onload=function(){t.use_data_uri=1===e.width&&1===e.height},setTimeout(function(){e.src="data:image/gif;base64,R0lGODlhAQABAIAAAP8AAAAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=="},1),!1}(),use_data_uri_over32kb:function(){return t.use_data_uri&&("IE"!==r.browser||r.version>=9)},use_data_uri_of:function(e){return t.use_data_uri&&33e3>e||t.use_data_uri_over32kb()},use_fileinput:function(){var e=document.createElement("input");return e.setAttribute("type","file"),!e.disabled}};return function(n){var i=[].slice.call(arguments);return i.shift(),"function"===e.typeOf(t[n])?t[n].apply(this,i):!!t[n]}}(),r={can:i,browser:n.browser.name,version:parseFloat(n.browser.major),os:n.os.name,osVersion:n.os.version,verComp:t,swf_url:"../flash/Moxie.swf",xap_url:"../silverlight/Moxie.xap",global_event_dispatcher:"moxie.core.EventTarget.instance.dispatchEvent"};return r.OS=r.os,r}),i(f,[d],function(e){var t=function(e){return"string"!=typeof e?e:document.getElementById(e)},n=function(e,t){if(!e.className)return!1;var n=new RegExp("(^|\\s+)"+t+"(\\s+|$)");return n.test(e.className)},i=function(e,t){n(e,t)||(e.className=e.className?e.className.replace(/\s+$/,"")+" "+t:t)},r=function(e,t){if(e.className){var n=new RegExp("(^|\\s+)"+t+"(\\s+|$)");e.className=e.className.replace(n,function(e,t,n){return" "===t&&" "===n?" ":""})}},o=function(e,t){return e.currentStyle?e.currentStyle[t]:window.getComputedStyle?window.getComputedStyle(e,null)[t]:void 0},a=function(t,n){function i(e){var t,n,i=0,r=0;return e&&(n=e.getBoundingClientRect(),t="CSS1Compat"===s.compatMode?s.documentElement:s.body,i=n.left+t.scrollLeft,r=n.top+t.scrollTop),{x:i,y:r}}var r=0,o=0,a,s=document,u,c;if(t=t,n=n||s.body,t&&t.getBoundingClientRect&&"IE"===e.browser&&(!s.documentMode||s.documentMode<8))return u=i(t),c=i(n),{x:u.x-c.x,y:u.y-c.y};for(a=t;a&&a!=n&&a.nodeType;)r+=a.offsetLeft||0,o+=a.offsetTop||0,a=a.offsetParent;for(a=t.parentNode;a&&a!=n&&a.nodeType;)r-=a.scrollLeft||0,o-=a.scrollTop||0,a=a.parentNode;return{x:r,y:o}},s=function(e){return{w:e.offsetWidth||e.clientWidth,h:e.offsetHeight||e.clientHeight}};return{get:t,hasClass:n,addClass:i,removeClass:r,getStyle:o,getPos:a,getSize:s}}),i(p,[u],function(e){function t(e,t){var n;for(n in e)if(e[n]===t)return n;return null}return{RuntimeError:function(){function n(e){this.code=e,this.name=t(i,e),this.message=this.name+": RuntimeError "+this.code}var i={NOT_INIT_ERR:1,NOT_SUPPORTED_ERR:9,JS_ERR:4};return e.extend(n,i),n.prototype=Error.prototype,n}(),OperationNotAllowedException:function(){function t(e){this.code=e,this.name="OperationNotAllowedException"}return e.extend(t,{NOT_ALLOWED_ERR:1}),t.prototype=Error.prototype,t}(),ImageError:function(){function n(e){this.code=e,this.name=t(i,e),this.message=this.name+": ImageError "+this.code}var i={WRONG_FORMAT:1,MAX_RESOLUTION_ERR:2};return e.extend(n,i),n.prototype=Error.prototype,n}(),FileException:function(){function n(e){this.code=e,this.name=t(i,e),this.message=this.name+": FileException "+this.code}var i={NOT_FOUND_ERR:1,SECURITY_ERR:2,ABORT_ERR:3,NOT_READABLE_ERR:4,ENCODING_ERR:5,NO_MODIFICATION_ALLOWED_ERR:6,INVALID_STATE_ERR:7,SYNTAX_ERR:8};return e.extend(n,i),n.prototype=Error.prototype,n}(),DOMException:function(){function n(e){this.code=e,this.name=t(i,e),this.message=this.name+": DOMException "+this.code}var i={INDEX_SIZE_ERR:1,DOMSTRING_SIZE_ERR:2,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,INVALID_CHARACTER_ERR:5,NO_DATA_ALLOWED_ERR:6,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INUSE_ATTRIBUTE_ERR:10,INVALID_STATE_ERR:11,SYNTAX_ERR:12,INVALID_MODIFICATION_ERR:13,NAMESPACE_ERR:14,INVALID_ACCESS_ERR:15,VALIDATION_ERR:16,TYPE_MISMATCH_ERR:17,SECURITY_ERR:18,NETWORK_ERR:19,ABORT_ERR:20,URL_MISMATCH_ERR:21,QUOTA_EXCEEDED_ERR:22,TIMEOUT_ERR:23,INVALID_NODE_TYPE_ERR:24,DATA_CLONE_ERR:25};return e.extend(n,i),n.prototype=Error.prototype,n}(),EventException:function(){function t(e){this.code=e,this.name="EventException"}return e.extend(t,{UNSPECIFIED_EVENT_TYPE_ERR:0}),t.prototype=Error.prototype,t}()}}),i(h,[p,u],function(e,t){function n(){var n={};t.extend(this,{uid:null,init:function(){this.uid||(this.uid=t.guid("uid_"))},addEventListener:function(e,i,r,o){var a=this,s;return e=t.trim(e),/\s/.test(e)?(t.each(e.split(/\s+/),function(e){a.addEventListener(e,i,r,o)}),void 0):(e=e.toLowerCase(),r=parseInt(r,10)||0,s=n[this.uid]&&n[this.uid][e]||[],s.push({fn:i,priority:r,scope:o||this}),n[this.uid]||(n[this.uid]={}),n[this.uid][e]=s,void 0)},hasEventListener:function(e){return e?!(!n[this.uid]||!n[this.uid][e]):!!n[this.uid]},removeEventListener:function(e,i){e=e.toLowerCase();var r=n[this.uid]&&n[this.uid][e],o;if(r){if(i){for(o=r.length-1;o>=0;o--)if(r[o].fn===i){r.splice(o,1);break}}else r=[];r.length||(delete n[this.uid][e],t.isEmptyObj(n[this.uid])&&delete n[this.uid])}},removeAllEventListeners:function(){n[this.uid]&&delete n[this.uid]},dispatchEvent:function(i){var r,o,a,s,u={},c=!0,l;if("string"!==t.typeOf(i)){if(s=i,"string"!==t.typeOf(s.type))throw new e.EventException(e.EventException.UNSPECIFIED_EVENT_TYPE_ERR);i=s.type,s.total!==l&&s.loaded!==l&&(u.total=s.total,u.loaded=s.loaded),u.async=s.async||!1}if(-1!==i.indexOf("::")?function(e){r=e[0],i=e[1]}(i.split("::")):r=this.uid,i=i.toLowerCase(),o=n[r]&&n[r][i]){o.sort(function(e,t){return t.priority-e.priority}),a=[].slice.call(arguments),a.shift(),u.type=i,a.unshift(u);var d=[];t.each(o,function(e){a[0].target=e.scope,u.async?d.push(function(t){setTimeout(function(){t(e.fn.apply(e.scope,a)===!1)},1)}):d.push(function(t){t(e.fn.apply(e.scope,a)===!1)})}),d.length&&t.inSeries(d,function(e){c=!e})}return c},bind:function(){this.addEventListener.apply(this,arguments)},unbind:function(){this.removeEventListener.apply(this,arguments)},unbindAll:function(){this.removeAllEventListeners.apply(this,arguments)},trigger:function(){return this.dispatchEvent.apply(this,arguments)},convertEventPropsToHandlers:function(e){var n;"array"!==t.typeOf(e)&&(e=[e]);for(var i=0;i<e.length;i++)n="on"+e[i],"function"===t.typeOf(this[n])?this.addEventListener(e[i],this[n]):"undefined"===t.typeOf(this[n])&&(this[n]=null)}})}return n.instance=new n,n}),i(m,[],function(){var e=function(e){return unescape(encodeURIComponent(e))},t=function(e){return decodeURIComponent(escape(e))},n=function(e,n){if("function"==typeof window.atob)return n?t(window.atob(e)):window.atob(e);var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r,o,a,s,u,c,l,d,f=0,p=0,h="",m=[];if(!e)return e;e+="";do s=i.indexOf(e.charAt(f++)),u=i.indexOf(e.charAt(f++)),c=i.indexOf(e.charAt(f++)),l=i.indexOf(e.charAt(f++)),d=s<<18|u<<12|c<<6|l,r=255&d>>16,o=255&d>>8,a=255&d,m[p++]=64==c?String.fromCharCode(r):64==l?String.fromCharCode(r,o):String.fromCharCode(r,o,a);while(f<e.length);return h=m.join(""),n?t(h):h},i=function(t,n){if(n&&e(t),"function"==typeof window.btoa)return window.btoa(t);var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r,o,a,s,u,c,l,d,f=0,p=0,h="",m=[];if(!t)return t;do r=t.charCodeAt(f++),o=t.charCodeAt(f++),a=t.charCodeAt(f++),d=r<<16|o<<8|a,s=63&d>>18,u=63&d>>12,c=63&d>>6,l=63&d,m[p++]=i.charAt(s)+i.charAt(u)+i.charAt(c)+i.charAt(l);while(f<t.length);h=m.join("");var g=t.length%3;return(g?h.slice(0,g-3):h)+"===".slice(g||3)};return{utf8_encode:e,utf8_decode:t,atob:n,btoa:i}}),i(g,[u,f,h],function(e,t,n){function i(n,r,a,s,u){var c=this,l,d=e.guid(r+"_"),f=u||"browser";n=n||{},o[d]=this,a=e.extend({access_binary:!1,access_image_binary:!1,display_media:!1,do_cors:!1,drag_and_drop:!1,filter_by_extension:!0,resize_image:!1,report_upload_progress:!1,return_response_headers:!1,return_response_type:!1,return_status_code:!0,send_custom_headers:!1,select_file:!1,select_folder:!1,select_multiple:!0,send_binary_string:!1,send_browser_cookies:!0,send_multipart:!0,slice_blob:!1,stream_upload:!1,summon_file_dialog:!1,upload_filesize:!0,use_http_method:!0},a),n.preferred_caps&&(f=i.getMode(s,n.preferred_caps,f)),l=function(){var t={};return{exec:function(e,n,i,r){return l[n]&&(t[e]||(t[e]={context:this,instance:new l[n]}),t[e].instance[i])?t[e].instance[i].apply(this,r):void 0},removeInstance:function(e){delete t[e]},removeAllInstances:function(){var n=this;e.each(t,function(t,i){"function"===e.typeOf(t.instance.destroy)&&t.instance.destroy.call(t.context),n.removeInstance(i)})}}}(),e.extend(this,{initialized:!1,uid:d,type:r,mode:i.getMode(s,n.required_caps,f),shimid:d+"_container",clients:0,options:n,can:function(t,n){var r=arguments[2]||a;if("string"===e.typeOf(t)&&"undefined"===e.typeOf(n)&&(t=i.parseCaps(t)),"object"===e.typeOf(t)){for(var o in t)if(!this.can(o,t[o],r))return!1;return!0}return"function"===e.typeOf(r[t])?r[t].call(this,n):n===r[t]},getShimContainer:function(){var n,i=t.get(this.shimid);return i||(n=this.options.container?t.get(this.options.container):document.body,i=document.createElement("div"),i.id=this.shimid,i.className="moxie-shim moxie-shim-"+this.type,e.extend(i.style,{position:"absolute",top:"0px",left:"0px",width:"1px",height:"1px",overflow:"hidden"}),n.appendChild(i),n=null),i},getShim:function(){return l},shimExec:function(e,t){var n=[].slice.call(arguments,2);return c.getShim().exec.call(this,this.uid,e,t,n)},exec:function(e,t){var n=[].slice.call(arguments,2);return c[e]&&c[e][t]?c[e][t].apply(this,n):c.shimExec.apply(this,arguments)},destroy:function(){if(c){var e=t.get(this.shimid);e&&e.parentNode.removeChild(e),l&&l.removeAllInstances(),this.unbindAll(),delete o[this.uid],this.uid=null,d=c=l=e=null}}}),this.mode&&n.required_caps&&!this.can(n.required_caps)&&(this.mode=!1)}var r={},o={};return i.order="html5,flash,silverlight,html4",i.getRuntime=function(e){return o[e]?o[e]:!1},i.addConstructor=function(e,t){t.prototype=n.instance,r[e]=t},i.getConstructor=function(e){return r[e]||null},i.getInfo=function(e){var t=i.getRuntime(e);return t?{uid:t.uid,type:t.type,mode:t.mode,can:function(){return t.can.apply(t,arguments)}}:null},i.parseCaps=function(t){var n={};return"string"!==e.typeOf(t)?t||{}:(e.each(t.split(","),function(e){n[e]=!0}),n)},i.can=function(e,t){var n,r=i.getConstructor(e),o;return r?(n=new r({required_caps:t}),o=n.mode,n.destroy(),!!o):!1},i.thatCan=function(e,t){var n=(t||i.order).split(/\s*,\s*/);for(var r in n)if(i.can(n[r],e))return n[r];return null},i.getMode=function(t,n,i){var r=null;if("undefined"===e.typeOf(i)&&(i="browser"),n&&!e.isEmptyObj(t)){if(e.each(n,function(n,i){if(t.hasOwnProperty(i)){var o=t[i](n);if("string"==typeof o&&(o=[o]),r){if(!(r=e.arrayIntersect(r,o)))return r=!1}else r=o}}),r)return-1!==e.inArray(i,r)?i:r[0];if(r===!1)return!1}return i},i.capTrue=function(){return!0},i.capFalse=function(){return!1},i.capTest=function(e){return function(){return!!e}},i}),i(v,[p,u,g],function(e,t,n){return function i(){var i;t.extend(this,{connectRuntime:function(r){function o(t){var s,u;return t.length?(s=t.shift(),(u=n.getConstructor(s))?(i=new u(r),i.bind("Init",function(){i.initialized=!0,setTimeout(function(){i.clients++,a.trigger("RuntimeInit",i)},1)}),i.bind("Error",function(){i.destroy(),o(t)}),i.mode?(i.init(),void 0):(i.trigger("Error"),void 0)):(o(t),void 0)):(a.trigger("RuntimeError",new e.RuntimeError(e.RuntimeError.NOT_INIT_ERR)),i=null,void 0)}var a=this,s;if("string"===t.typeOf(r)?s=r:"string"===t.typeOf(r.ruid)&&(s=r.ruid),s){if(i=n.getRuntime(s))return i.clients++,i;throw new e.RuntimeError(e.RuntimeError.NOT_INIT_ERR)}o((r.runtime_order||n.order).split(/\s*,\s*/))},getRuntime:function(){return i&&i.uid?i:(i=null,null)},disconnectRuntime:function(){i&&--i.clients<=0&&(i.destroy(),i=null)}})}}),i(y,[u,m,v],function(e,t,n){function i(o,a){function s(t,n,o){var a,s=r[this.uid];return"string"===e.typeOf(s)&&s.length?(a=new i(null,{type:o,size:n-t}),a.detach(s.substr(t,a.size)),a):null}n.call(this),o&&this.connectRuntime(o),a?"string"===e.typeOf(a)&&(a={data:a}):a={},e.extend(this,{uid:a.uid||e.guid("uid_"),ruid:o,size:a.size||0,type:a.type||"",slice:function(e,t,n){return this.isDetached()?s.apply(this,arguments):this.getRuntime().exec.call(this,"Blob","slice",this.getSource(),e,t,n)},getSource:function(){return r[this.uid]?r[this.uid]:null},detach:function(e){this.ruid&&(this.getRuntime().exec.call(this,"Blob","destroy",r[this.uid]),this.disconnectRuntime(),this.ruid=null),e=e||"";var n=e.match(/^data:([^;]*);base64,/);n&&(this.type=n[1],e=t.atob(e.substring(e.indexOf("base64,")+7))),this.size=e.length,r[this.uid]=e},isDetached:function(){return!this.ruid&&"string"===e.typeOf(r[this.uid])},destroy:function(){this.detach(),delete r[this.uid]}}),a.data?this.detach(a.data):r[this.uid]=a}var r={};return i}),i(w,[u,l,y],function(e,t,n){function i(i,r){var o,a;if(r||(r={}),a=r.type&&""!==r.type?r.type:t.getFileMime(r.name),r.name)o=r.name.replace(/\\/g,"/"),o=o.substr(o.lastIndexOf("/")+1);else{var s=a.split("/")[0];o=e.guid((""!==s?s:"file")+"_"),t.extensions[a]&&(o+="."+t.extensions[a][0])}n.apply(this,arguments),e.extend(this,{type:a||"",name:o||e.guid("file_"),lastModifiedDate:r.lastModifiedDate||(new Date).toLocaleString()})}return i.prototype=n.prototype,i}),i(E,[u,l,f,p,h,c,w,g,v],function(e,t,n,i,r,o,a,s,u){function c(r){var c=this,d,f,p;if(-1!==e.inArray(e.typeOf(r),["string","node"])&&(r={browse_button:r}),f=n.get(r.browse_button),!f)throw new i.DOMException(i.DOMException.NOT_FOUND_ERR);p={accept:[{title:o.translate("All Files"),extensions:"*"}],name:"file",multiple:!1,required_caps:!1,container:f.parentNode||document.body},r=e.extend({},p,r),"string"==typeof r.required_caps&&(r.required_caps=s.parseCaps(r.required_caps)),"string"==typeof r.accept&&(r.accept=t.mimes2extList(r.accept)),d=n.get(r.container),d||(d=document.body),"static"===n.getStyle(d,"position")&&(d.style.position="relative"),d=f=null,u.call(c),e.extend(c,{uid:e.guid("uid_"),ruid:null,shimid:null,files:null,init:function(){c.convertEventPropsToHandlers(l),c.bind("RuntimeInit",function(t,i){c.ruid=i.uid,c.shimid=i.shimid,c.bind("Ready",function(){c.trigger("Refresh")},999),c.bind("Change",function(){var t=i.exec.call(c,"FileInput","getFiles");c.files=[],e.each(t,function(e){return 0===e.size?!0:(c.files.push(new a(c.ruid,e)),void 0)})},999),c.bind("Refresh",function(){var t,o,a,s;a=n.get(r.browse_button),s=n.get(i.shimid),a&&(t=n.getPos(a,n.get(r.container)),o=n.getSize(a),s&&e.extend(s.style,{top:t.y+"px",left:t.x+"px",width:o.w+"px",height:o.h+"px"})),s=a=null}),i.exec.call(c,"FileInput","init",r)}),c.connectRuntime(e.extend({},r,{required_caps:{select_file:!0}}))},disable:function(t){var n=this.getRuntime();n&&n.exec.call(this,"FileInput","disable","undefined"===e.typeOf(t)?!0:t)},refresh:function(){c.trigger("Refresh")},destroy:function(){var t=this.getRuntime();t&&(t.exec.call(this,"FileInput","destroy"),this.disconnectRuntime()),"array"===e.typeOf(this.files)&&e.each(this.files,function(e){e.destroy()}),this.files=null}})}var l=["ready","change","cancel","mouseenter","mouseleave","mousedown","mouseup"];return c.prototype=r.instance,c}),i(_,[c,f,p,u,w,v,h,l],function(e,t,n,i,r,o,a,s){function u(n){var a=this,u;"string"==typeof n&&(n={drop_zone:n}),u={accept:[{title:e.translate("All Files"),extensions:"*"}],required_caps:{drag_and_drop:!0}},n="object"==typeof n?i.extend({},u,n):u,n.container=t.get(n.drop_zone)||document.body,"static"===t.getStyle(n.container,"position")&&(n.container.style.position="relative"),"string"==typeof n.accept&&(n.accept=s.mimes2extList(n.accept)),o.call(a),i.extend(a,{uid:i.guid("uid_"),ruid:null,files:null,init:function(){a.convertEventPropsToHandlers(c),a.bind("RuntimeInit",function(e,t){a.ruid=t.uid,a.bind("Drop",function(){var e=t.exec.call(a,"FileDrop","getFiles");a.files=[],i.each(e,function(e){a.files.push(new r(a.ruid,e))})},999),t.exec.call(a,"FileDrop","init",n),a.dispatchEvent("ready")}),a.connectRuntime(n)},destroy:function(){var e=this.getRuntime();e&&(e.exec.call(this,"FileDrop","destroy"),this.disconnectRuntime()),this.files=null}})}var c=["ready","dragenter","dragleave","drop","error"];return u.prototype=a.instance,u}),i(x,[u,v,h],function(e,t,n){function i(){this.uid=e.guid("uid_"),t.call(this),this.destroy=function(){this.disconnectRuntime(),this.unbindAll()}}return i.prototype=n.instance,i}),i(R,[u,m,p,h,y,w,x],function(e,t,n,i,r,o,a){function s(){function i(e,i){function l(e){o.readyState=s.DONE,o.error=e,o.trigger("error"),d()}function d(){c.destroy(),c=null,o.trigger("loadend")}function f(t){c.bind("Error",function(e,t){l(t)}),c.bind("Progress",function(e){o.result=t.exec.call(c,"FileReader","getResult"),o.trigger(e)}),c.bind("Load",function(e){o.readyState=s.DONE,o.result=t.exec.call(c,"FileReader","getResult"),o.trigger(e),d()}),t.exec.call(c,"FileReader","read",e,i)}if(c=new a,this.convertEventPropsToHandlers(u),this.readyState===s.LOADING)return l(new n.DOMException(n.DOMException.INVALID_STATE_ERR));if(this.readyState=s.LOADING,this.trigger("loadstart"),i instanceof r)if(i.isDetached()){var p=i.getSource();switch(e){case"readAsText":case"readAsBinaryString":this.result=p;break;case"readAsDataURL":this.result="data:"+i.type+";base64,"+t.btoa(p)}this.readyState=s.DONE,this.trigger("load"),d()}else f(c.connectRuntime(i.ruid));else l(new n.DOMException(n.DOMException.NOT_FOUND_ERR))}var o=this,c;e.extend(this,{uid:e.guid("uid_"),readyState:s.EMPTY,result:null,error:null,readAsBinaryString:function(e){i.call(this,"readAsBinaryString",e)},readAsDataURL:function(e){i.call(this,"readAsDataURL",e)},readAsText:function(e){i.call(this,"readAsText",e)
+},abort:function(){this.result=null,-1===e.inArray(this.readyState,[s.EMPTY,s.DONE])&&(this.readyState===s.LOADING&&(this.readyState=s.DONE),c&&c.getRuntime().exec.call(this,"FileReader","abort"),this.trigger("abort"),this.trigger("loadend"))},destroy:function(){this.abort(),c&&(c.getRuntime().exec.call(this,"FileReader","destroy"),c.disconnectRuntime()),o=c=null}})}var u=["loadstart","progress","load","abort","error","loadend"];return s.EMPTY=0,s.LOADING=1,s.DONE=2,s.prototype=i.instance,s}),i(b,[],function(){var e=function(t,n){for(var i=["source","scheme","authority","userInfo","user","pass","host","port","relative","path","directory","file","query","fragment"],r=i.length,o={http:80,https:443},a={},s=/^(?:([^:\/?#]+):)?(?:\/\/()(?:(?:()(?:([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?()(?:(()(?:(?:[^?#\/]*\/)*)()(?:[^?#]*))(?:\\?([^#]*))?(?:#(.*))?)/,u=s.exec(t||"");r--;)u[r]&&(a[i[r]]=u[r]);if(!a.scheme){n&&"string"!=typeof n||(n=e(n||document.location.href)),a.scheme=n.scheme,a.host=n.host,a.port=n.port;var c="";/^[^\/]/.test(a.path)&&(c=n.path,/(\/|\/[^\.]+)$/.test(c)?c+="/":c=c.replace(/\/[^\/]+$/,"/")),a.path=c+(a.path||"")}return a.port||(a.port=o[a.scheme]||80),a.port=parseInt(a.port,10),a.path||(a.path="/"),delete a.source,a},t=function(t){var n={http:80,https:443},i=e(t);return i.scheme+"://"+i.host+(i.port!==n[i.scheme]?":"+i.port:"")+i.path+(i.query?i.query:"")},n=function(t){function n(e){return[e.scheme,e.host,e.port].join("/")}return"string"==typeof t&&(t=e(t)),n(e())===n(t)};return{parseUrl:e,resolveUrl:t,hasSameOrigin:n}}),i(T,[u,v,m],function(e,t,n){return function(){function i(e,t){if(!t.isDetached()){var i=this.connectRuntime(t.ruid).exec.call(this,"FileReaderSync","read",e,t);return this.disconnectRuntime(),i}var r=t.getSource();switch(e){case"readAsBinaryString":return r;case"readAsDataURL":return"data:"+t.type+";base64,"+n.btoa(r);case"readAsText":for(var o="",a=0,s=r.length;s>a;a++)o+=String.fromCharCode(r[a]);return o}}t.call(this),e.extend(this,{uid:e.guid("uid_"),readAsBinaryString:function(e){return i.call(this,"readAsBinaryString",e)},readAsDataURL:function(e){return i.call(this,"readAsDataURL",e)},readAsText:function(e){return i.call(this,"readAsText",e)}})}}),i(S,[p,u,y],function(e,t,n){function i(){var e,i=[];t.extend(this,{append:function(r,o){var a=this,s=t.typeOf(o);o instanceof n?e={name:r,value:o}:"array"===s?(r+="[]",t.each(o,function(e){a.append(r,e)})):"object"===s?t.each(o,function(e,t){a.append(r+"["+t+"]",e)}):"null"===s||"undefined"===s||"number"===s&&isNaN(o)?a.append(r,"false"):i.push({name:r,value:o.toString()})},hasBlob:function(){return!!this.getBlob()},getBlob:function(){return e&&e.value||null},getBlobName:function(){return e&&e.name||null},each:function(n){t.each(i,function(e){n(e.value,e.name)}),e&&n(e.value,e.name)},destroy:function(){e=null,i=[]}})}return i}),i(A,[u,p,h,m,b,g,x,y,T,S,d,l],function(e,t,n,i,r,o,a,s,u,c,l,d){function f(){this.uid=e.guid("uid_")}function p(){function n(e,t){return y.hasOwnProperty(e)?1===arguments.length?l.can("define_property")?y[e]:v[e]:(l.can("define_property")?y[e]=t:v[e]=t,void 0):void 0}function u(t){function i(){k.destroy(),k=null,s.dispatchEvent("loadend"),s=null}function r(r){k.bind("LoadStart",function(e){n("readyState",p.LOADING),s.dispatchEvent("readystatechange"),s.dispatchEvent(e),I&&s.upload.dispatchEvent(e)}),k.bind("Progress",function(e){n("readyState")!==p.LOADING&&(n("readyState",p.LOADING),s.dispatchEvent("readystatechange")),s.dispatchEvent(e)}),k.bind("UploadProgress",function(e){I&&s.upload.dispatchEvent({type:"progress",lengthComputable:!1,total:e.total,loaded:e.loaded})}),k.bind("Load",function(t){n("readyState",p.DONE),n("status",Number(r.exec.call(k,"XMLHttpRequest","getStatus")||0)),n("statusText",h[n("status")]||""),n("response",r.exec.call(k,"XMLHttpRequest","getResponse",n("responseType"))),~e.inArray(n("responseType"),["text",""])?n("responseText",n("response")):"document"===n("responseType")&&n("responseXML",n("response")),U=r.exec.call(k,"XMLHttpRequest","getAllResponseHeaders"),s.dispatchEvent("readystatechange"),n("status")>0?(I&&s.upload.dispatchEvent(t),s.dispatchEvent(t)):(N=!0,s.dispatchEvent("error")),i()}),k.bind("Abort",function(e){s.dispatchEvent(e),i()}),k.bind("Error",function(e){N=!0,n("readyState",p.DONE),s.dispatchEvent("readystatechange"),D=!0,s.dispatchEvent(e),i()}),r.exec.call(k,"XMLHttpRequest","send",{url:E,method:_,async:w,user:R,password:b,headers:x,mimeType:S,encoding:T,responseType:s.responseType,withCredentials:s.withCredentials,options:P},t)}var s=this;M=(new Date).getTime(),k=new a,"string"==typeof P.required_caps&&(P.required_caps=o.parseCaps(P.required_caps)),P.required_caps=e.extend({},P.required_caps,{return_response_type:s.responseType}),t instanceof c&&(P.required_caps.send_multipart=!0),L||(P.required_caps.do_cors=!0),P.ruid?r(k.connectRuntime(P)):(k.bind("RuntimeInit",function(e,t){r(t)}),k.bind("RuntimeError",function(e,t){s.dispatchEvent("RuntimeError",t)}),k.connectRuntime(P))}function g(){n("responseText",""),n("responseXML",null),n("response",null),n("status",0),n("statusText",""),M=C=null}var v=this,y={timeout:0,readyState:p.UNSENT,withCredentials:!1,status:0,statusText:"",responseType:"",responseXML:null,responseText:null,response:null},w=!0,E,_,x={},R,b,T=null,S=null,A=!1,O=!1,I=!1,D=!1,N=!1,L=!1,M,C,F=null,H=null,P={},k,U="",B;e.extend(this,y,{uid:e.guid("uid_"),upload:new f,open:function(o,a,s,u,c){var l;if(!o||!a)throw new t.DOMException(t.DOMException.SYNTAX_ERR);if(/[\u0100-\uffff]/.test(o)||i.utf8_encode(o)!==o)throw new t.DOMException(t.DOMException.SYNTAX_ERR);if(~e.inArray(o.toUpperCase(),["CONNECT","DELETE","GET","HEAD","OPTIONS","POST","PUT","TRACE","TRACK"])&&(_=o.toUpperCase()),~e.inArray(_,["CONNECT","TRACE","TRACK"]))throw new t.DOMException(t.DOMException.SECURITY_ERR);if(a=i.utf8_encode(a),l=r.parseUrl(a),L=r.hasSameOrigin(l),E=r.resolveUrl(a),(u||c)&&!L)throw new t.DOMException(t.DOMException.INVALID_ACCESS_ERR);if(R=u||l.user,b=c||l.pass,w=s||!0,w===!1&&(n("timeout")||n("withCredentials")||""!==n("responseType")))throw new t.DOMException(t.DOMException.INVALID_ACCESS_ERR);A=!w,O=!1,x={},g.call(this),n("readyState",p.OPENED),this.convertEventPropsToHandlers(["readystatechange"]),this.dispatchEvent("readystatechange")},setRequestHeader:function(r,o){var a=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","content-transfer-encoding","date","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"];if(n("readyState")!==p.OPENED||O)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(/[\u0100-\uffff]/.test(r)||i.utf8_encode(r)!==r)throw new t.DOMException(t.DOMException.SYNTAX_ERR);return r=e.trim(r).toLowerCase(),~e.inArray(r,a)||/^(proxy\-|sec\-)/.test(r)?!1:(x[r]?x[r]+=", "+o:x[r]=o,!0)},getAllResponseHeaders:function(){return U||""},getResponseHeader:function(t){return t=t.toLowerCase(),N||~e.inArray(t,["set-cookie","set-cookie2"])?null:U&&""!==U&&(B||(B={},e.each(U.split(/\r\n/),function(t){var n=t.split(/:\s+/);2===n.length&&(n[0]=e.trim(n[0]),B[n[0].toLowerCase()]={header:n[0],value:e.trim(n[1])})})),B.hasOwnProperty(t))?B[t].header+": "+B[t].value:null},overrideMimeType:function(i){var r,o;if(~e.inArray(n("readyState"),[p.LOADING,p.DONE]))throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(i=e.trim(i.toLowerCase()),/;/.test(i)&&(r=i.match(/^([^;]+)(?:;\scharset\=)?(.*)$/))&&(i=r[1],r[2]&&(o=r[2])),!d.mimes[i])throw new t.DOMException(t.DOMException.SYNTAX_ERR);F=i,H=o},send:function(n,r){if(P="string"===e.typeOf(r)?{ruid:r}:r?r:{},this.convertEventPropsToHandlers(m),this.upload.convertEventPropsToHandlers(m),this.readyState!==p.OPENED||O)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(n instanceof s)P.ruid=n.ruid,S=n.type||"application/octet-stream";else if(n instanceof c){if(n.hasBlob()){var o=n.getBlob();P.ruid=o.ruid,S=o.type||"application/octet-stream"}}else"string"==typeof n&&(T="UTF-8",S="text/plain;charset=UTF-8",n=i.utf8_encode(n));this.withCredentials||(this.withCredentials=P.required_caps&&P.required_caps.send_browser_cookies&&!L),I=!A&&this.upload.hasEventListener(),N=!1,D=!n,A||(O=!0),u.call(this,n)},abort:function(){if(N=!0,A=!1,~e.inArray(n("readyState"),[p.UNSENT,p.OPENED,p.DONE]))n("readyState",p.UNSENT);else{if(n("readyState",p.DONE),O=!1,!k)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);k.getRuntime().exec.call(k,"XMLHttpRequest","abort",D),D=!0}},destroy:function(){k&&("function"===e.typeOf(k.destroy)&&k.destroy(),k=null),this.unbindAll(),this.upload&&(this.upload.unbindAll(),this.upload=null)}})}var h={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Reserved",307:"Temporary Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Request Entity Too Large",414:"Request-URI Too Long",415:"Unsupported Media Type",416:"Requested Range Not Satisfiable",417:"Expectation Failed",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",426:"Upgrade Required",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",510:"Not Extended"};f.prototype=n.instance;var m=["loadstart","progress","abort","error","load","timeout","loadend"],g=1,v=2;return p.UNSENT=0,p.OPENED=1,p.HEADERS_RECEIVED=2,p.LOADING=3,p.DONE=4,p.prototype=n.instance,p}),i(O,[u,m,v,h],function(e,t,n,i){function r(){function i(){l=d=0,c=this.result=null}function o(t,n){var i=this;u=n,i.bind("TransportingProgress",function(t){d=t.loaded,l>d&&-1===e.inArray(i.state,[r.IDLE,r.DONE])&&a.call(i)},999),i.bind("TransportingComplete",function(){d=l,i.state=r.DONE,c=null,i.result=u.exec.call(i,"Transporter","getAsBlob",t||"")},999),i.state=r.BUSY,i.trigger("TransportingStarted"),a.call(i)}function a(){var e=this,n,i=l-d;f>i&&(f=i),n=t.btoa(c.substr(d,f)),u.exec.call(e,"Transporter","receive",n,l)}var s,u,c,l,d,f;n.call(this),e.extend(this,{uid:e.guid("uid_"),state:r.IDLE,result:null,transport:function(t,n,r){var a=this;if(r=e.extend({chunk_size:204798},r),(s=r.chunk_size%3)&&(r.chunk_size+=3-s),f=r.chunk_size,i.call(this),c=t,l=t.length,"string"===e.typeOf(r)||r.ruid)o.call(a,n,this.connectRuntime(r));else{var u=function(e,t){a.unbind("RuntimeInit",u),o.call(a,n,t)};this.bind("RuntimeInit",u),this.connectRuntime(r)}},abort:function(){var e=this;e.state=r.IDLE,u&&(u.exec.call(e,"Transporter","clear"),e.trigger("TransportingAborted")),i.call(e)},destroy:function(){this.unbindAll(),u=null,this.disconnectRuntime(),i.call(this)}})}return r.IDLE=0,r.BUSY=1,r.DONE=2,r.prototype=i.instance,r}),i(I,[u,f,p,T,A,g,v,O,d,h,y,w,m],function(e,t,n,i,r,o,a,s,u,c,l,d,f){function p(){function i(e){e||(e=this.getRuntime().exec.call(this,"Image","getInfo")),this.size=e.size,this.width=e.width,this.height=e.height,this.type=e.type,this.meta=e.meta,""===this.name&&(this.name=e.name)}function c(t){var i=e.typeOf(t);try{if(t instanceof p){if(!t.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);m.apply(this,arguments)}else if(t instanceof l){if(!~e.inArray(t.type,["image/jpeg","image/png"]))throw new n.ImageError(n.ImageError.WRONG_FORMAT);g.apply(this,arguments)}else if(-1!==e.inArray(i,["blob","file"]))c.call(this,new d(null,t),arguments[1]);else if("string"===i)/^data:[^;]*;base64,/.test(t)?c.call(this,new l(null,{data:t}),arguments[1]):v.apply(this,arguments);else{if("node"!==i||"img"!==t.nodeName.toLowerCase())throw new n.DOMException(n.DOMException.TYPE_MISMATCH_ERR);c.call(this,t.src,arguments[1])}}catch(r){this.trigger("error",r)}}function m(t,n){var i=this.connectRuntime(t.ruid);this.ruid=i.uid,i.exec.call(this,"Image","loadFromImage",t,"undefined"===e.typeOf(n)?!0:n)}function g(t,n){function i(e){r.ruid=e.uid,e.exec.call(r,"Image","loadFromBlob",t)}var r=this;r.name=t.name||"",t.isDetached()?(this.bind("RuntimeInit",function(e,t){i(t)}),n&&"string"==typeof n.required_caps&&(n.required_caps=o.parseCaps(n.required_caps)),this.connectRuntime(e.extend({required_caps:{access_image_binary:!0,resize_image:!0}},n))):i(this.connectRuntime(t.ruid))}function v(e,t){var n=this,i;i=new r,i.open("get",e),i.responseType="blob",i.onprogress=function(e){n.trigger(e)},i.onload=function(){g.call(n,i.response,!0)},i.onerror=function(e){n.trigger(e)},i.onloadend=function(){i.destroy()},i.bind("RuntimeError",function(e,t){n.trigger("RuntimeError",t)}),i.send(null,t)}a.call(this),e.extend(this,{uid:e.guid("uid_"),ruid:null,name:"",size:0,width:0,height:0,type:"",meta:{},clone:function(){this.load.apply(this,arguments)},load:function(){this.bind("Load Resize",function(){i.call(this)},999),this.convertEventPropsToHandlers(h),c.apply(this,arguments)},downsize:function(t,i,r,o){try{if(!this.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);if(this.width>p.MAX_RESIZE_WIDTH||this.height>p.MAX_RESIZE_HEIGHT)throw new n.ImageError(n.ImageError.MAX_RESOLUTION_ERR);(!t&&!i||"undefined"===e.typeOf(r))&&(r=!1),t=t||this.width,i=i||this.height,o="undefined"===e.typeOf(o)?!0:!!o,this.getRuntime().exec.call(this,"Image","downsize",t,i,r,o)}catch(a){this.trigger("error",a)}},crop:function(e,t,n){this.downsize(e,t,!0,n)},getAsCanvas:function(){if(!u.can("create_canvas"))throw new n.RuntimeError(n.RuntimeError.NOT_SUPPORTED_ERR);var e=this.connectRuntime(this.ruid);return e.exec.call(this,"Image","getAsCanvas")},getAsBlob:function(e,t){if(!this.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);return e||(e="image/jpeg"),"image/jpeg"!==e||t||(t=90),this.getRuntime().exec.call(this,"Image","getAsBlob",e,t)},getAsDataURL:function(e,t){if(!this.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);return this.getRuntime().exec.call(this,"Image","getAsDataURL",e,t)},getAsBinaryString:function(e,t){var n=this.getAsDataURL(e,t);return f.atob(n.substring(n.indexOf("base64,")+7))},embed:function(i){function r(){if(u.can("create_canvas")){var t=a.getAsCanvas();if(t)return i.appendChild(t),t=null,a.destroy(),o.trigger("embedded"),void 0}var r=a.getAsDataURL(c,l);if(!r)throw new n.ImageError(n.ImageError.WRONG_FORMAT);if(u.can("use_data_uri_of",r.length))i.innerHTML='<img src="'+r+'" width="'+a.width+'" height="'+a.height+'" />',a.destroy(),o.trigger("embedded");else{var d=new s;d.bind("TransportingComplete",function(){v=o.connectRuntime(this.result.ruid),o.bind("Embedded",function(){e.extend(v.getShimContainer().style,{top:"0px",left:"0px",width:a.width+"px",height:a.height+"px"}),v=null},999),v.exec.call(o,"ImageView","display",this.result.uid,m,g),a.destroy()}),d.transport(f.atob(r.substring(r.indexOf("base64,")+7)),c,e.extend({},h,{required_caps:{display_media:!0},runtime_order:"flash,silverlight",container:i}))}}var o=this,a,c,l,d,h=arguments[1]||{},m=this.width,g=this.height,v;try{if(!(i=t.get(i)))throw new n.DOMException(n.DOMException.INVALID_NODE_TYPE_ERR);if(!this.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);if(this.width>p.MAX_RESIZE_WIDTH||this.height>p.MAX_RESIZE_HEIGHT)throw new n.ImageError(n.ImageError.MAX_RESOLUTION_ERR);if(c=h.type||this.type||"image/jpeg",l=h.quality||90,d="undefined"!==e.typeOf(h.crop)?h.crop:!1,h.width)m=h.width,g=h.height||m;else{var y=t.getSize(i);y.w&&y.h&&(m=y.w,g=y.h)}return a=new p,a.bind("Resize",function(){r.call(o)}),a.bind("Load",function(){a.downsize(m,g,d,!1)}),a.clone(this,!1),a}catch(w){this.trigger("error",w)}},destroy:function(){this.ruid&&(this.getRuntime().exec.call(this,"Image","destroy"),this.disconnectRuntime()),this.unbindAll()}})}var h=["progress","load","error","resize","embedded"];return p.MAX_RESIZE_WIDTH=6500,p.MAX_RESIZE_HEIGHT=6500,p.prototype=c.instance,p}),i(D,[u,p,g,d],function(e,t,n,i){function r(t){var r=this,s=n.capTest,u=n.capTrue,c=e.extend({access_binary:s(window.FileReader||window.File&&window.File.getAsDataURL),access_image_binary:function(){return r.can("access_binary")&&!!a.Image},display_media:s(i.can("create_canvas")||i.can("use_data_uri_over32kb")),do_cors:s(window.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest),drag_and_drop:s(function(){var e=document.createElement("div");return("draggable"in e||"ondragstart"in e&&"ondrop"in e)&&("IE"!==i.browser||i.version>9)}()),filter_by_extension:s(function(){return"Chrome"===i.browser&&i.version>=28||"IE"===i.browser&&i.version>=10}()),return_response_headers:u,return_response_type:function(e){return"json"===e&&window.JSON?!0:i.can("return_response_type",e)},return_status_code:u,report_upload_progress:s(window.XMLHttpRequest&&(new XMLHttpRequest).upload),resize_image:function(){return r.can("access_binary")&&i.can("create_canvas")},select_file:function(){return i.can("use_fileinput")&&window.File},select_folder:function(){return r.can("select_file")&&"Chrome"===i.browser&&i.version>=21},select_multiple:function(){return!(!r.can("select_file")||"Safari"===i.browser&&"Windows"===i.os||"iOS"===i.os&&i.verComp(i.osVersion,"7.0.4","<"))},send_binary_string:s(window.XMLHttpRequest&&((new XMLHttpRequest).sendAsBinary||window.Uint8Array&&window.ArrayBuffer)),send_custom_headers:s(window.XMLHttpRequest),send_multipart:function(){return!!(window.XMLHttpRequest&&(new XMLHttpRequest).upload&&window.FormData)||r.can("send_binary_string")},slice_blob:s(window.File&&(File.prototype.mozSlice||File.prototype.webkitSlice||File.prototype.slice)),stream_upload:function(){return r.can("slice_blob")&&r.can("send_multipart")},summon_file_dialog:s(function(){return"Firefox"===i.browser&&i.version>=4||"Opera"===i.browser&&i.version>=12||"IE"===i.browser&&i.version>=10||!!~e.inArray(i.browser,["Chrome","Safari"])}()),upload_filesize:u},arguments[2]);n.call(this,t,arguments[1]||o,c),e.extend(this,{init:function(){this.trigger("Init")},destroy:function(e){return function(){e.call(r),e=r=null}}(this.destroy)}),e.extend(this.getShim(),a)}var o="html5",a={};return n.addConstructor(o,r),a}),i(N,[D,y],function(e,t){function n(){function e(e,t,n){var i;if(!window.File.prototype.slice)return(i=window.File.prototype.webkitSlice||window.File.prototype.mozSlice)?i.call(e,t,n):null;try{return e.slice(),e.slice(t,n)}catch(r){return e.slice(t,n-t)}}this.slice=function(){return new t(this.getRuntime().uid,e.apply(this,arguments))}}return e.Blob=n}),i(L,[u],function(e){function t(){this.returnValue=!1}function n(){this.cancelBubble=!0}var i={},r="moxie_"+e.guid(),o=function(o,a,s,u){var c,l;a=a.toLowerCase(),o.addEventListener?(c=s,o.addEventListener(a,c,!1)):o.attachEvent&&(c=function(){var e=window.event;e.target||(e.target=e.srcElement),e.preventDefault=t,e.stopPropagation=n,s(e)},o.attachEvent("on"+a,c)),o[r]||(o[r]=e.guid()),i.hasOwnProperty(o[r])||(i[o[r]]={}),l=i[o[r]],l.hasOwnProperty(a)||(l[a]=[]),l[a].push({func:c,orig:s,key:u})},a=function(t,n,o){var a,s;if(n=n.toLowerCase(),t[r]&&i[t[r]]&&i[t[r]][n]){a=i[t[r]][n];for(var u=a.length-1;u>=0&&(a[u].orig!==o&&a[u].key!==o||(t.removeEventListener?t.removeEventListener(n,a[u].func,!1):t.detachEvent&&t.detachEvent("on"+n,a[u].func),a[u].orig=null,a[u].func=null,a.splice(u,1),o===s));u--);if(a.length||delete i[t[r]][n],e.isEmptyObj(i[t[r]])){delete i[t[r]];try{delete t[r]}catch(c){t[r]=s}}}},s=function(t,n){t&&t[r]&&e.each(i[t[r]],function(e,i){a(t,i,n)})};return{addEvent:o,removeEvent:a,removeAllEvents:s}}),i(M,[D,u,f,L,l,d],function(e,t,n,i,r,o){function a(){var e=[],a;t.extend(this,{init:function(s){var u=this,c=u.getRuntime(),l,d,f,p,h,m;a=s,e=[],f=a.accept.mimes||r.extList2mimes(a.accept,c.can("filter_by_extension")),d=c.getShimContainer(),d.innerHTML='<input id="'+c.uid+'" type="file" style="font-size:999px;opacity:0;"'+(a.multiple&&c.can("select_multiple")?"multiple":"")+(a.directory&&c.can("select_folder")?"webkitdirectory directory":"")+(f?' accept="'+f.join(",")+'"':"")+" />",l=n.get(c.uid),t.extend(l.style,{position:"absolute",top:0,left:0,width:"100%",height:"100%"}),p=n.get(a.browse_button),c.can("summon_file_dialog")&&("static"===n.getStyle(p,"position")&&(p.style.position="relative"),h=parseInt(n.getStyle(p,"z-index"),10)||1,p.style.zIndex=h,d.style.zIndex=h-1,i.addEvent(p,"click",function(e){var t=n.get(c.uid);t&&!t.disabled&&t.click(),e.preventDefault()},u.uid)),m=c.can("summon_file_dialog")?p:d,i.addEvent(m,"mouseover",function(){u.trigger("mouseenter")},u.uid),i.addEvent(m,"mouseout",function(){u.trigger("mouseleave")},u.uid),i.addEvent(m,"mousedown",function(){u.trigger("mousedown")},u.uid),i.addEvent(n.get(a.container),"mouseup",function(){u.trigger("mouseup")},u.uid),l.onchange=function g(){if(e=[],a.directory?t.each(this.files,function(t){"."!==t.name&&e.push(t)}):e=[].slice.call(this.files),"IE"!==o.browser)this.value="";else{var n=this.cloneNode(!0);this.parentNode.replaceChild(n,this),n.onchange=g}u.trigger("change")},u.trigger({type:"ready",async:!0}),d=null},getFiles:function(){return e},disable:function(e){var t=this.getRuntime(),i;(i=n.get(t.uid))&&(i.disabled=!!e)},destroy:function(){var t=this.getRuntime(),r=t.getShim(),o=t.getShimContainer();i.removeAllEvents(o,this.uid),i.removeAllEvents(a&&n.get(a.container),this.uid),i.removeAllEvents(a&&n.get(a.browse_button),this.uid),o&&(o.innerHTML=""),r.removeInstance(this.uid),e=a=o=r=null}})}return e.FileInput=a}),i(C,[D,u,f,L,l],function(e,t,n,i,r){function o(){function e(e){for(var n=[],i=0;i<e.length;i++)[].push.apply(n,e[i].extensions.split(/\s*,\s*/));return-1===t.inArray("*",n)?n:[]}function o(e){var n=r.getFileExtension(e.name);return!n||!d.length||-1!==t.inArray(n,d)}function a(e,n){var i=[];t.each(e,function(e){var t=e.webkitGetAsEntry();if(t)if(t.isFile){var n=e.getAsFile();o(n)&&l.push(n)}else i.push(t)}),i.length?s(i,n):n()}function s(e,n){var i=[];t.each(e,function(e){i.push(function(t){u(e,t)})}),t.inSeries(i,function(){n()})}function u(e,t){e.isFile?e.file(function(e){o(e)&&l.push(e),t()},function(){t()}):e.isDirectory?c(e,t):t()}function c(e,t){function n(e){r.readEntries(function(t){t.length?([].push.apply(i,t),n(e)):e()},e)}var i=[],r=e.createReader();n(function(){s(i,t)})}var l=[],d=[],f;t.extend(this,{init:function(n){var r=this,s;f=n,d=e(f.accept),s=f.container,i.addEvent(s,"dragover",function(e){e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect="copy"},r.uid),i.addEvent(s,"drop",function(e){e.preventDefault(),e.stopPropagation(),l=[],e.dataTransfer.items&&e.dataTransfer.items[0].webkitGetAsEntry?a(e.dataTransfer.items,function(){r.trigger("drop")}):(t.each(e.dataTransfer.files,function(e){o(e)&&l.push(e)}),r.trigger("drop"))},r.uid),i.addEvent(s,"dragenter",function(e){e.preventDefault(),e.stopPropagation(),r.trigger("dragenter")},r.uid),i.addEvent(s,"dragleave",function(e){e.preventDefault(),e.stopPropagation(),r.trigger("dragleave")},r.uid)},getFiles:function(){return l},destroy:function(){i.removeAllEvents(f&&n.get(f.container),this.uid),l=d=f=null}})}return e.FileDrop=o}),i(F,[D,m,u],function(e,t,n){function i(){function e(e){return t.atob(e.substring(e.indexOf("base64,")+7))}var i,r=!1;n.extend(this,{read:function(e,t){var o=this;i=new window.FileReader,i.addEventListener("progress",function(e){o.trigger(e)}),i.addEventListener("load",function(e){o.trigger(e)}),i.addEventListener("error",function(e){o.trigger(e,i.error)}),i.addEventListener("loadend",function(){i=null}),"function"===n.typeOf(i[e])?(r=!1,i[e](t.getSource())):"readAsBinaryString"===e&&(r=!0,i.readAsDataURL(t.getSource()))},getResult:function(){return i&&i.result?r?e(i.result):i.result:null},abort:function(){i&&i.abort()},destroy:function(){i=null}})}return e.FileReader=i}),i(H,[D,u,l,b,w,y,S,p,d],function(e,t,n,i,r,o,a,s,u){function c(){function e(e,t){var n=this,i,r;i=t.getBlob().getSource(),r=new window.FileReader,r.onload=function(){t.append(t.getBlobName(),new o(null,{type:i.type,data:r.result})),f.send.call(n,e,t)},r.readAsBinaryString(i)}function c(){return!window.XMLHttpRequest||"IE"===u.browser&&u.version<8?function(){for(var e=["Msxml2.XMLHTTP.6.0","Microsoft.XMLHTTP"],t=0;t<e.length;t++)try{return new ActiveXObject(e[t])}catch(n){}}():new window.XMLHttpRequest}function l(e){var t=e.responseXML,n=e.responseText;return"IE"===u.browser&&n&&t&&!t.documentElement&&/[^\/]+\/[^\+]+\+xml/.test(e.getResponseHeader("Content-Type"))&&(t=new window.ActiveXObject("Microsoft.XMLDOM"),t.async=!1,t.validateOnParse=!1,t.loadXML(n)),t&&("IE"===u.browser&&0!==t.parseError||!t.documentElement||"parsererror"===t.documentElement.tagName)?null:t}function d(e){var t="----moxieboundary"+(new Date).getTime(),n="--",i="\r\n",r="",a=this.getRuntime();if(!a.can("send_binary_string"))throw new s.RuntimeError(s.RuntimeError.NOT_SUPPORTED_ERR);return p.setRequestHeader("Content-Type","multipart/form-data; boundary="+t),e.each(function(e,a){r+=e instanceof o?n+t+i+'Content-Disposition: form-data; name="'+a+'"; filename="'+unescape(encodeURIComponent(e.name||"blob"))+'"'+i+"Content-Type: "+(e.type||"application/octet-stream")+i+i+e.getSource()+i:n+t+i+'Content-Disposition: form-data; name="'+a+'"'+i+i+unescape(encodeURIComponent(e))+i}),r+=n+t+n+i}var f=this,p,h;t.extend(this,{send:function(n,r){var s=this,l="Mozilla"===u.browser&&u.version>=4&&u.version<7,f="Android Browser"===u.browser,m=!1;if(h=n.url.replace(/^.+?\/([\w\-\.]+)$/,"$1").toLowerCase(),p=c(),p.open(n.method,n.url,n.async,n.user,n.password),r instanceof o)r.isDetached()&&(m=!0),r=r.getSource();else if(r instanceof a){if(r.hasBlob())if(r.getBlob().isDetached())r=d.call(s,r),m=!0;else if((l||f)&&"blob"===t.typeOf(r.getBlob().getSource())&&window.FileReader)return e.call(s,n,r),void 0;if(r instanceof a){var g=new window.FormData;r.each(function(e,t){e instanceof o?g.append(t,e.getSource()):g.append(t,e)}),r=g}}p.upload?(n.withCredentials&&(p.withCredentials=!0),p.addEventListener("load",function(e){s.trigger(e)}),p.addEventListener("error",function(e){s.trigger(e)}),p.addEventListener("progress",function(e){s.trigger(e)}),p.upload.addEventListener("progress",function(e){s.trigger({type:"UploadProgress",loaded:e.loaded,total:e.total})})):p.onreadystatechange=function v(){switch(p.readyState){case 1:break;case 2:break;case 3:var e,t;try{i.hasSameOrigin(n.url)&&(e=p.getResponseHeader("Content-Length")||0),p.responseText&&(t=p.responseText.length)}catch(r){e=t=0}s.trigger({type:"progress",lengthComputable:!!e,total:parseInt(e,10),loaded:t});break;case 4:p.onreadystatechange=function(){},0===p.status?s.trigger("error"):s.trigger("load")}},t.isEmptyObj(n.headers)||t.each(n.headers,function(e,t){p.setRequestHeader(t,e)}),""!==n.responseType&&"responseType"in p&&(p.responseType="json"!==n.responseType||u.can("return_response_type","json")?n.responseType:"text"),m?p.sendAsBinary?p.sendAsBinary(r):function(){for(var e=new Uint8Array(r.length),t=0;t<r.length;t++)e[t]=255&r.charCodeAt(t);p.send(e.buffer)}():p.send(r),s.trigger("loadstart")},getStatus:function(){try{if(p)return p.status}catch(e){}return 0},getResponse:function(e){var t=this.getRuntime();try{switch(e){case"blob":var i=new r(t.uid,p.response),o=p.getResponseHeader("Content-Disposition");if(o){var a=o.match(/filename=([\'\"'])([^\1]+)\1/);a&&(h=a[2])}return i.name=h,i.type||(i.type=n.getFileMime(h)),i;case"json":return u.can("return_response_type","json")?p.response:200===p.status&&window.JSON?JSON.parse(p.responseText):null;case"document":return l(p);default:return""!==p.responseText?p.responseText:null}}catch(s){return null}},getAllResponseHeaders:function(){try{return p.getAllResponseHeaders()}catch(e){}return""},abort:function(){p&&p.abort()},destroy:function(){f=h=null}})}return e.XMLHttpRequest=c}),i(P,[],function(){return function(){function e(e,t){var n=r?0:-8*(t-1),i=0,a;for(a=0;t>a;a++)i|=o.charCodeAt(e+a)<<Math.abs(n+8*a);return i}function n(e,t,n){n=3===arguments.length?n:o.length-t-1,o=o.substr(0,t)+e+o.substr(n+t)}function i(e,t,i){var o="",a=r?0:-8*(i-1),s;for(s=0;i>s;s++)o+=String.fromCharCode(255&t>>Math.abs(a+8*s));n(o,e,i)}var r=!1,o;return{II:function(e){return e===t?r:(r=e,void 0)},init:function(e){r=!1,o=e},SEGMENT:function(e,t,i){switch(arguments.length){case 1:return o.substr(e,o.length-e-1);case 2:return o.substr(e,t);case 3:n(i,e,t);break;default:return o}},BYTE:function(t){return e(t,1)},SHORT:function(t){return e(t,2)},LONG:function(n,r){return r===t?e(n,4):(i(n,r,4),void 0)},SLONG:function(t){var n=e(t,4);return n>2147483647?n-4294967296:n},STRING:function(t,n){var i="";for(n+=t;n>t;t++)i+=String.fromCharCode(e(t,1));return i}}}}),i(k,[P],function(e){return function t(n){var i=[],r,o,a,s=0;if(r=new e,r.init(n),65496===r.SHORT(0)){for(o=2;o<=n.length;)if(a=r.SHORT(o),a>=65488&&65495>=a)o+=2;else{if(65498===a||65497===a)break;s=r.SHORT(o+2)+2,a>=65505&&65519>=a&&i.push({hex:a,name:"APP"+(15&a),start:o,length:s,segment:r.SEGMENT(o,s)}),o+=s}return r.init(null),{headers:i,restore:function(e){var t,n;for(r.init(e),o=65504==r.SHORT(2)?4+r.SHORT(4):2,n=0,t=i.length;t>n;n++)r.SEGMENT(o,0,i[n].segment),o+=i[n].length;return e=r.SEGMENT(),r.init(null),e},strip:function(e){var n,i,o;for(i=new t(e),n=i.headers,i.purge(),r.init(e),o=n.length;o--;)r.SEGMENT(n[o].start,n[o].length,"");return e=r.SEGMENT(),r.init(null),e},get:function(e){for(var t=[],n=0,r=i.length;r>n;n++)i[n].name===e.toUpperCase()&&t.push(i[n].segment);return t},set:function(e,t){var n=[],r,o,a;for("string"==typeof t?n.push(t):n=t,r=o=0,a=i.length;a>r&&(i[r].name===e.toUpperCase()&&(i[r].segment=n[o],i[r].length=n[o].length,o++),!(o>=n.length));r++);},purge:function(){i=[],r.init(null),r=null}}}}}),i(U,[u,P],function(e,n){return function i(){function i(e,n){var i=a.SHORT(e),r,o,s,u,d,f,p,h,m=[],g={};for(r=0;i>r;r++)if(p=f=e+12*r+2,s=n[a.SHORT(p)],s!==t){switch(u=a.SHORT(p+=2),d=a.LONG(p+=2),p+=4,m=[],u){case 1:case 7:for(d>4&&(p=a.LONG(p)+c.tiffHeader),o=0;d>o;o++)m[o]=a.BYTE(p+o);break;case 2:d>4&&(p=a.LONG(p)+c.tiffHeader),g[s]=a.STRING(p,d-1);continue;case 3:for(d>2&&(p=a.LONG(p)+c.tiffHeader),o=0;d>o;o++)m[o]=a.SHORT(p+2*o);break;case 4:for(d>1&&(p=a.LONG(p)+c.tiffHeader),o=0;d>o;o++)m[o]=a.LONG(p+4*o);break;case 5:for(p=a.LONG(p)+c.tiffHeader,o=0;d>o;o++)m[o]=a.LONG(p+4*o)/a.LONG(p+4*o+4);break;case 9:for(p=a.LONG(p)+c.tiffHeader,o=0;d>o;o++)m[o]=a.SLONG(p+4*o);break;case 10:for(p=a.LONG(p)+c.tiffHeader,o=0;d>o;o++)m[o]=a.SLONG(p+4*o)/a.SLONG(p+4*o+4);break;default:continue}h=1==d?m[0]:m,g[s]=l.hasOwnProperty(s)&&"object"!=typeof h?l[s][h]:h}return g}function r(){var e=c.tiffHeader;return a.II(18761==a.SHORT(e)),42!==a.SHORT(e+=2)?!1:(c.IFD0=c.tiffHeader+a.LONG(e+=2),u=i(c.IFD0,s.tiff),"ExifIFDPointer"in u&&(c.exifIFD=c.tiffHeader+u.ExifIFDPointer,delete u.ExifIFDPointer),"GPSInfoIFDPointer"in u&&(c.gpsIFD=c.tiffHeader+u.GPSInfoIFDPointer,delete u.GPSInfoIFDPointer),!0)}function o(e,t,n){var i,r,o,u=0;if("string"==typeof t){var l=s[e.toLowerCase()];for(var d in l)if(l[d]===t){t=d;break}}i=c[e.toLowerCase()+"IFD"],r=a.SHORT(i);for(var f=0;r>f;f++)if(o=i+12*f+2,a.SHORT(o)==t){u=o+8;break}return u?(a.LONG(u,n),!0):!1}var a,s,u,c={},l;return a=new n,s={tiff:{274:"Orientation",270:"ImageDescription",271:"Make",272:"Model",305:"Software",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer"},exif:{36864:"ExifVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",36867:"DateTimeOriginal",33434:"ExposureTime",33437:"FNumber",34855:"ISOSpeedRatings",37377:"ShutterSpeedValue",37378:"ApertureValue",37383:"MeteringMode",37384:"LightSource",37385:"Flash",37386:"FocalLength",41986:"ExposureMode",41987:"WhiteBalance",41990:"SceneCaptureType",41988:"DigitalZoomRatio",41992:"Contrast",41993:"Saturation",41994:"Sharpness"},gps:{0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude"}},l={ColorSpace:{1:"sRGB",0:"Uncalibrated"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{1:"Daylight",2:"Fliorescent",3:"Tungsten",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 -5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire.",1:"Flash fired.",5:"Strobe return light not detected.",7:"Strobe return light detected.",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},ExposureMode:{0:"Auto exposure",1:"Manual exposure",2:"Auto bracket"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},GPSLatitudeRef:{N:"North latitude",S:"South latitude"},GPSLongitudeRef:{E:"East longitude",W:"West longitude"}},{init:function(e){return c={tiffHeader:10},e!==t&&e.length?(a.init(e),65505===a.SHORT(0)&&"EXIF\0"===a.STRING(4,5).toUpperCase()?r():!1):!1
+},TIFF:function(){return u},EXIF:function(){var t;if(t=i(c.exifIFD,s.exif),t.ExifVersion&&"array"===e.typeOf(t.ExifVersion)){for(var n=0,r="";n<t.ExifVersion.length;n++)r+=String.fromCharCode(t.ExifVersion[n]);t.ExifVersion=r}return t},GPS:function(){var t;return t=i(c.gpsIFD,s.gps),t.GPSVersionID&&"array"===e.typeOf(t.GPSVersionID)&&(t.GPSVersionID=t.GPSVersionID.join(".")),t},setExif:function(e,t){return"PixelXDimension"!==e&&"PixelYDimension"!==e?!1:o("exif",e,t)},getBinary:function(){return a.SEGMENT()},purge:function(){a.init(null),a=u=null,c={}}}}}),i(B,[u,p,k,P,U],function(e,t,n,i,r){function o(o){function a(){for(var e=0,t,n;e<=u.length;){if(t=c.SHORT(e+=2),t>=65472&&65475>=t)return e+=5,{height:c.SHORT(e),width:c.SHORT(e+=2)};n=c.SHORT(e+=2),e+=n-2}return null}function s(){d&&l&&c&&(d.purge(),l.purge(),c.init(null),u=f=l=d=c=null)}var u,c,l,d,f,p;if(u=o,c=new i,c.init(u),65496!==c.SHORT(0))throw new t.ImageError(t.ImageError.WRONG_FORMAT);l=new n(o),d=new r,p=!!d.init(l.get("app1")[0]),f=a.call(this),e.extend(this,{type:"image/jpeg",size:u.length,width:f&&f.width||0,height:f&&f.height||0,setExif:function(t,n){return p?("object"===e.typeOf(t)?e.each(t,function(e,t){d.setExif(t,e)}):d.setExif(t,n),l.set("app1",d.getBinary()),void 0):!1},writeHeaders:function(){return arguments.length?l.restore(arguments[0]):u=l.restore(u)},stripHeaders:function(e){return l.strip(e)},purge:function(){s.call(this)}}),p&&(this.meta={tiff:d.TIFF(),exif:d.EXIF(),gps:d.GPS()})}return o}),i(z,[p,u,P],function(e,t,n){function i(i){function r(){var e,t;return e=a.call(this,8),"IHDR"==e.type?(t=e.start,{width:u.LONG(t),height:u.LONG(t+=4)}):null}function o(){u&&(u.init(null),s=d=c=l=u=null)}function a(e){var t,n,i,r;return t=u.LONG(e),n=u.STRING(e+=4,4),i=e+=4,r=u.LONG(e+t),{length:t,type:n,start:i,CRC:r}}var s,u,c,l,d;s=i,u=new n,u.init(s),function(){var t=0,n=0,i=[35152,20039,3338,6666];for(n=0;n<i.length;n++,t+=2)if(i[n]!=u.SHORT(t))throw new e.ImageError(e.ImageError.WRONG_FORMAT)}(),d=r.call(this),t.extend(this,{type:"image/png",size:s.length,width:d.width,height:d.height,purge:function(){o.call(this)}}),o.call(this)}return i}),i(G,[u,p,B,z],function(e,t,n,i){return function(r){var o=[n,i],a;a=function(){for(var e=0;e<o.length;e++)try{return new o[e](r)}catch(n){}throw new t.ImageError(t.ImageError.WRONG_FORMAT)}(),e.extend(this,{type:"",size:0,width:0,height:0,setExif:function(){},writeHeaders:function(e){return e},stripHeaders:function(e){return e},purge:function(){}}),e.extend(this,a),this.purge=function(){a.purge(),a=null}}}),i(q,[],function(){function e(e,i,r){var o=e.naturalWidth,a=e.naturalHeight,s=r.width,u=r.height,c=r.x||0,l=r.y||0,d=i.getContext("2d");t(e)&&(o/=2,a/=2);var f=1024,p=document.createElement("canvas");p.width=p.height=f;for(var h=p.getContext("2d"),m=n(e,o,a),g=0;a>g;){for(var v=g+f>a?a-g:f,y=0;o>y;){var w=y+f>o?o-y:f;h.clearRect(0,0,f,f),h.drawImage(e,-y,-g);var E=y*s/o+c<<0,_=Math.ceil(w*s/o),x=g*u/a/m+l<<0,R=Math.ceil(v*u/a/m);d.drawImage(p,0,0,w,v,E,x,_,R),y+=f}g+=f}p=h=null}function t(e){var t=e.naturalWidth,n=e.naturalHeight;if(t*n>1048576){var i=document.createElement("canvas");i.width=i.height=1;var r=i.getContext("2d");return r.drawImage(e,-t+1,0),0===r.getImageData(0,0,1,1).data[3]}return!1}function n(e,t,n){var i=document.createElement("canvas");i.width=1,i.height=n;var r=i.getContext("2d");r.drawImage(e,0,0);for(var o=r.getImageData(0,0,1,n).data,a=0,s=n,u=n;u>a;){var c=o[4*(u-1)+3];0===c?s=u:a=u,u=s+a>>1}i=null;var l=u/n;return 0===l?1:l}return{isSubsampled:t,renderTo:e}}),i(X,[D,u,p,m,w,G,q,l,d],function(e,t,n,i,r,o,a,s,u){function c(){function e(){if(!E&&!y)throw new n.ImageError(n.DOMException.INVALID_STATE_ERR);return E||y}function c(e){return i.atob(e.substring(e.indexOf("base64,")+7))}function l(e,t){return"data:"+(t||"")+";base64,"+i.btoa(e)}function d(e){var t=this;y=new Image,y.onerror=function(){g.call(this),t.trigger("error",new n.ImageError(n.ImageError.WRONG_FORMAT))},y.onload=function(){t.trigger("load")},y.src=/^data:[^;]*;base64,/.test(e)?e:l(e,x.type)}function f(e,t){var i=this,r;return window.FileReader?(r=new FileReader,r.onload=function(){t(this.result)},r.onerror=function(){i.trigger("error",new n.FileException(n.FileException.NOT_READABLE_ERR))},r.readAsDataURL(e),void 0):t(e.getAsDataURL())}function p(n,i,r,o){var a=this,s,u,c=0,l=0,d,f,p,g;if(b=o,g=this.meta&&this.meta.tiff&&this.meta.tiff.Orientation||1,-1!==t.inArray(g,[5,6,7,8])){var v=n;n=i,i=v}return d=e(),u=r?Math.max:Math.min,s=u(n/d.width,i/d.height),s>1&&(!r||o)?(this.trigger("Resize"),void 0):(E||(E=document.createElement("canvas")),f=Math.round(d.width*s),p=Math.round(d.height*s),r?(E.width=n,E.height=i,f>n&&(c=Math.round((f-n)/2)),p>i&&(l=Math.round((p-i)/2))):(E.width=f,E.height=p),b||m(E.width,E.height,g),h.call(this,d,E,-c,-l,f,p),this.width=E.width,this.height=E.height,R=!0,a.trigger("Resize"),void 0)}function h(e,t,n,i,r,o){if("iOS"===u.OS)a.renderTo(e,t,{width:r,height:o,x:n,y:i});else{var s=t.getContext("2d");s.drawImage(e,n,i,r,o)}}function m(e,t,n){switch(n){case 5:case 6:case 7:case 8:E.width=t,E.height=e;break;default:E.width=e,E.height=t}var i=E.getContext("2d");switch(n){case 2:i.translate(e,0),i.scale(-1,1);break;case 3:i.translate(e,t),i.rotate(Math.PI);break;case 4:i.translate(0,t),i.scale(1,-1);break;case 5:i.rotate(.5*Math.PI),i.scale(1,-1);break;case 6:i.rotate(.5*Math.PI),i.translate(0,-t);break;case 7:i.rotate(.5*Math.PI),i.translate(e,-t),i.scale(-1,1);break;case 8:i.rotate(-.5*Math.PI),i.translate(-e,0)}}function g(){w&&(w.purge(),w=null),_=y=E=x=null,R=!1}var v=this,y,w,E,_,x,R=!1,b=!0;t.extend(this,{loadFromBlob:function(e){var t=this,i=t.getRuntime(),r=arguments.length>1?arguments[1]:!0;if(!i.can("access_binary"))throw new n.RuntimeError(n.RuntimeError.NOT_SUPPORTED_ERR);return x=e,e.isDetached()?(_=e.getSource(),d.call(this,_),void 0):(f.call(this,e.getSource(),function(e){r&&(_=c(e)),d.call(t,e)}),void 0)},loadFromImage:function(e,t){this.meta=e.meta,x=new r(null,{name:e.name,size:e.size,type:e.type}),d.call(this,t?_=e.getAsBinaryString():e.getAsDataURL())},getInfo:function(){var t=this.getRuntime(),n;return!w&&_&&t.can("access_image_binary")&&(w=new o(_)),n={width:e().width||0,height:e().height||0,type:x.type||s.getFileMime(x.name),size:_&&_.length||x.size||0,name:x.name||"",meta:w&&w.meta||this.meta||{}}},downsize:function(){p.apply(this,arguments)},getAsCanvas:function(){return E&&(E.id=this.uid+"_canvas"),E},getAsBlob:function(e,t){return e!==this.type&&p.call(this,this.width,this.height,!1),new r(null,{name:x.name||"",type:e,data:v.getAsBinaryString.call(this,e,t)})},getAsDataURL:function(e){var t=arguments[1]||90;if(!R)return y.src;if("image/jpeg"!==e)return E.toDataURL("image/png");try{return E.toDataURL("image/jpeg",t/100)}catch(n){return E.toDataURL("image/jpeg")}},getAsBinaryString:function(e,t){if(!R)return _||(_=c(v.getAsDataURL(e,t))),_;if("image/jpeg"!==e)_=c(v.getAsDataURL(e,t));else{var n;t||(t=90);try{n=E.toDataURL("image/jpeg",t/100)}catch(i){n=E.toDataURL("image/jpeg")}_=c(n),w&&(_=w.stripHeaders(_),b&&(w.meta&&w.meta.exif&&w.setExif({PixelXDimension:this.width,PixelYDimension:this.height}),_=w.writeHeaders(_)),w.purge(),w=null)}return R=!1,_},destroy:function(){v=null,g.call(this),this.getRuntime().getShim().removeInstance(this.uid)}})}return e.Image=c}),i(j,[u,d,f,p,g],function(e,t,n,i,r){function o(){var e;try{e=navigator.plugins["Shockwave Flash"],e=e.description}catch(t){try{e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version")}catch(n){e="0.0"}}return e=e.match(/\d+/g),parseFloat(e[0]+"."+e[1])}function a(a){var c=this,l;a=e.extend({swf_url:t.swf_url},a),r.call(this,a,s,{access_binary:function(e){return e&&"browser"===c.mode},access_image_binary:function(e){return e&&"browser"===c.mode},display_media:r.capTrue,do_cors:r.capTrue,drag_and_drop:!1,report_upload_progress:function(){return"client"===c.mode},resize_image:r.capTrue,return_response_headers:!1,return_response_type:function(t){return"json"===t&&window.JSON?!0:!e.arrayDiff(t,["","text","document"])||"browser"===c.mode},return_status_code:function(t){return"browser"===c.mode||!e.arrayDiff(t,[200,404])},select_file:r.capTrue,select_multiple:r.capTrue,send_binary_string:function(e){return e&&"browser"===c.mode},send_browser_cookies:function(e){return e&&"browser"===c.mode},send_custom_headers:function(e){return e&&"browser"===c.mode},send_multipart:r.capTrue,slice_blob:r.capTrue,stream_upload:function(e){return e&&"browser"===c.mode},summon_file_dialog:!1,upload_filesize:function(t){return e.parseSizeStr(t)<=2097152||"client"===c.mode},use_http_method:function(t){return!e.arrayDiff(t,["GET","POST"])}},{access_binary:function(e){return e?"browser":"client"},access_image_binary:function(e){return e?"browser":"client"},report_upload_progress:function(e){return e?"browser":"client"},return_response_type:function(t){return e.arrayDiff(t,["","text","json","document"])?"browser":["client","browser"]},return_status_code:function(t){return e.arrayDiff(t,[200,404])?"browser":["client","browser"]},send_binary_string:function(e){return e?"browser":"client"},send_browser_cookies:function(e){return e?"browser":"client"},send_custom_headers:function(e){return e?"browser":"client"},stream_upload:function(e){return e?"client":"browser"},upload_filesize:function(t){return e.parseSizeStr(t)>=2097152?"client":"browser"}},"client"),o()<10&&(this.mode=!1),e.extend(this,{getShim:function(){return n.get(this.uid)},shimExec:function(e,t){var n=[].slice.call(arguments,2);return c.getShim().exec(this.uid,e,t,n)},init:function(){var n,r,o;o=this.getShimContainer(),e.extend(o.style,{position:"absolute",top:"-8px",left:"-8px",width:"9px",height:"9px",overflow:"hidden"}),n='<object id="'+this.uid+'" type="application/x-shockwave-flash" data="'+a.swf_url+'" ',"IE"===t.browser&&(n+='classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '),n+='width="100%" height="100%" style="outline:0"><param name="movie" value="'+a.swf_url+'" />'+'<param name="flashvars" value="uid='+escape(this.uid)+"&target="+t.global_event_dispatcher+'" />'+'<param name="wmode" value="transparent" />'+'<param name="allowscriptaccess" value="always" />'+"</object>","IE"===t.browser?(r=document.createElement("div"),o.appendChild(r),r.outerHTML=n,r=o=null):o.innerHTML=n,l=setTimeout(function(){c&&!c.initialized&&c.trigger("Error",new i.RuntimeError(i.RuntimeError.NOT_INIT_ERR))},5e3)},destroy:function(e){return function(){e.call(c),clearTimeout(l),a=l=e=c=null}}(this.destroy)},u)}var s="flash",u={};return r.addConstructor(s,a),u}),i(V,[j,y],function(e,t){var n={slice:function(e,n,i,r){var o=this.getRuntime();return 0>n?n=Math.max(e.size+n,0):n>0&&(n=Math.min(n,e.size)),0>i?i=Math.max(e.size+i,0):i>0&&(i=Math.min(i,e.size)),e=o.shimExec.call(this,"Blob","slice",n,i,r||""),e&&(e=new t(o.uid,e)),e}};return e.Blob=n}),i(W,[j],function(e){var t={init:function(e){this.getRuntime().shimExec.call(this,"FileInput","init",{name:e.name,accept:e.accept,multiple:e.multiple}),this.trigger("ready")}};return e.FileInput=t}),i(Y,[j,m],function(e,t){function n(e,n){switch(n){case"readAsText":return t.atob(e,"utf8");case"readAsBinaryString":return t.atob(e);case"readAsDataURL":return e}return null}var i="",r={read:function(e,t){var r=this,o=r.getRuntime();return"readAsDataURL"===e&&(i="data:"+(t.type||"")+";base64,"),r.bind("Progress",function(t,r){r&&(i+=n(r,e))}),o.shimExec.call(this,"FileReader","readAsBase64",t.uid)},getResult:function(){return i},destroy:function(){i=null}};return e.FileReader=r}),i($,[j,m],function(e,t){function n(e,n){switch(n){case"readAsText":return t.atob(e,"utf8");case"readAsBinaryString":return t.atob(e);case"readAsDataURL":return e}return null}var i={read:function(e,t){var i,r=this.getRuntime();return(i=r.shimExec.call(this,"FileReaderSync","readAsBase64",t.uid))?("readAsDataURL"===e&&(i="data:"+(t.type||"")+";base64,"+i),n(i,e,t.type)):null}};return e.FileReaderSync=i}),i(J,[j,u,y,w,T,S,O],function(e,t,n,i,r,o,a){var s={send:function(e,i){function r(){e.transport=l.mode,l.shimExec.call(c,"XMLHttpRequest","send",e,i)}function s(e,t){l.shimExec.call(c,"XMLHttpRequest","appendBlob",e,t.uid),i=null,r()}function u(e,t){var n=new a;n.bind("TransportingComplete",function(){t(this.result)}),n.transport(e.getSource(),e.type,{ruid:l.uid})}var c=this,l=c.getRuntime();if(t.isEmptyObj(e.headers)||t.each(e.headers,function(e,t){l.shimExec.call(c,"XMLHttpRequest","setRequestHeader",t,e.toString())}),i instanceof o){var d;if(i.each(function(e,t){e instanceof n?d=t:l.shimExec.call(c,"XMLHttpRequest","append",t,e)}),i.hasBlob()){var f=i.getBlob();f.isDetached()?u(f,function(e){f.destroy(),s(d,e)}):s(d,f)}else i=null,r()}else i instanceof n?i.isDetached()?u(i,function(e){i.destroy(),i=e.uid,r()}):(i=i.uid,r()):r()},getResponse:function(e){var n,o,a=this.getRuntime();if(o=a.shimExec.call(this,"XMLHttpRequest","getResponseAsBlob")){if(o=new i(a.uid,o),"blob"===e)return o;try{if(n=new r,~t.inArray(e,["","text"]))return n.readAsText(o);if("json"===e&&window.JSON)return JSON.parse(n.readAsText(o))}finally{o.destroy()}}return null},abort:function(e){var t=this.getRuntime();t.shimExec.call(this,"XMLHttpRequest","abort"),this.dispatchEvent("readystatechange"),this.dispatchEvent("abort")}};return e.XMLHttpRequest=s}),i(Z,[j,y],function(e,t){var n={getAsBlob:function(e){var n=this.getRuntime(),i=n.shimExec.call(this,"Transporter","getAsBlob",e);return i?new t(n.uid,i):null}};return e.Transporter=n}),i(K,[j,u,O,y,T],function(e,t,n,i,r){var o={loadFromBlob:function(e){function t(e){r.shimExec.call(i,"Image","loadFromBlob",e.uid),i=r=null}var i=this,r=i.getRuntime();if(e.isDetached()){var o=new n;o.bind("TransportingComplete",function(){t(o.result.getSource())}),o.transport(e.getSource(),e.type,{ruid:r.uid})}else t(e.getSource())},loadFromImage:function(e){var t=this.getRuntime();return t.shimExec.call(this,"Image","loadFromImage",e.uid)},getAsBlob:function(e,t){var n=this.getRuntime(),r=n.shimExec.call(this,"Image","getAsBlob",e,t);return r?new i(n.uid,r):null},getAsDataURL:function(){var e=this.getRuntime(),t=e.Image.getAsBlob.apply(this,arguments),n;return t?(n=new r,n.readAsDataURL(t)):null}};return e.Image=o}),i(Q,[u,d,f,p,g],function(e,t,n,i,r){function o(e){var t=!1,n=null,i,r,o,a,s,u=0;try{try{n=new ActiveXObject("AgControl.AgControl"),n.IsVersionSupported(e)&&(t=!0),n=null}catch(c){var l=navigator.plugins["Silverlight Plug-In"];if(l){for(i=l.description,"1.0.30226.2"===i&&(i="2.0.30226.2"),r=i.split(".");r.length>3;)r.pop();for(;r.length<4;)r.push(0);for(o=e.split(".");o.length>4;)o.pop();do a=parseInt(o[u],10),s=parseInt(r[u],10),u++;while(u<o.length&&a===s);s>=a&&!isNaN(a)&&(t=!0)}}}catch(d){t=!1}return t}function a(a){var c=this,l;a=e.extend({xap_url:t.xap_url},a),r.call(this,a,s,{access_binary:r.capTrue,access_image_binary:r.capTrue,display_media:r.capTrue,do_cors:r.capTrue,drag_and_drop:!1,report_upload_progress:r.capTrue,resize_image:r.capTrue,return_response_headers:function(e){return e&&"client"===c.mode},return_response_type:function(e){return"json"!==e?!0:!!window.JSON},return_status_code:function(t){return"client"===c.mode||!e.arrayDiff(t,[200,404])},select_file:r.capTrue,select_multiple:r.capTrue,send_binary_string:r.capTrue,send_browser_cookies:function(e){return e&&"browser"===c.mode},send_custom_headers:function(e){return e&&"client"===c.mode},send_multipart:r.capTrue,slice_blob:r.capTrue,stream_upload:!0,summon_file_dialog:!1,upload_filesize:r.capTrue,use_http_method:function(t){return"client"===c.mode||!e.arrayDiff(t,["GET","POST"])}},{return_response_headers:function(e){return e?"client":"browser"},return_status_code:function(t){return e.arrayDiff(t,[200,404])?"client":["client","browser"]},send_browser_cookies:function(e){return e?"browser":"client"},send_custom_headers:function(e){return e?"client":"browser"},use_http_method:function(t){return e.arrayDiff(t,["GET","POST"])?"client":["client","browser"]}}),o("2.0.31005.0")&&"Opera"!==t.browser||(this.mode=!1),e.extend(this,{getShim:function(){return n.get(this.uid).content.Moxie},shimExec:function(e,t){var n=[].slice.call(arguments,2);return c.getShim().exec(this.uid,e,t,n)},init:function(){var e;e=this.getShimContainer(),e.innerHTML='<object id="'+this.uid+'" data="data:application/x-silverlight," type="application/x-silverlight-2" width="100%" height="100%" style="outline:none;">'+'<param name="source" value="'+a.xap_url+'"/>'+'<param name="background" value="Transparent"/>'+'<param name="windowless" value="true"/>'+'<param name="enablehtmlaccess" value="true"/>'+'<param name="initParams" value="uid='+this.uid+",target="+t.global_event_dispatcher+'"/>'+"</object>",l=setTimeout(function(){c&&!c.initialized&&c.trigger("Error",new i.RuntimeError(i.RuntimeError.NOT_INIT_ERR))},"Windows"!==t.OS?1e4:5e3)},destroy:function(e){return function(){e.call(c),clearTimeout(l),a=l=e=c=null}}(this.destroy)},u)}var s="silverlight",u={};return r.addConstructor(s,a),u}),i(et,[Q,u,V],function(e,t,n){return e.Blob=t.extend({},n)}),i(tt,[Q],function(e){var t={init:function(e){function t(e){for(var t="",n=0;n<e.length;n++)t+=(""!==t?"|":"")+e[n].title+" | *."+e[n].extensions.replace(/,/g,";*.");return t}this.getRuntime().shimExec.call(this,"FileInput","init",t(e.accept),e.name,e.multiple),this.trigger("ready")}};return e.FileInput=t}),i(nt,[Q,f,L],function(e,t,n){var i={init:function(){var e=this,i=e.getRuntime(),r;return r=i.getShimContainer(),n.addEvent(r,"dragover",function(e){e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect="copy"},e.uid),n.addEvent(r,"dragenter",function(e){e.preventDefault();var n=t.get(i.uid).dragEnter(e);n&&e.stopPropagation()},e.uid),n.addEvent(r,"drop",function(e){e.preventDefault();var n=t.get(i.uid).dragDrop(e);n&&e.stopPropagation()},e.uid),i.shimExec.call(this,"FileDrop","init")}};return e.FileDrop=i}),i(it,[Q,u,Y],function(e,t,n){return e.FileReader=t.extend({},n)}),i(rt,[Q,u,$],function(e,t,n){return e.FileReaderSync=t.extend({},n)}),i(ot,[Q,u,J],function(e,t,n){return e.XMLHttpRequest=t.extend({},n)}),i(at,[Q,u,Z],function(e,t,n){return e.Transporter=t.extend({},n)}),i(st,[Q,u,K],function(e,t,n){return e.Image=t.extend({},n,{getInfo:function(){var e=this.getRuntime(),n=["tiff","exif","gps"],i={meta:{}},r=e.shimExec.call(this,"Image","getInfo");return r.meta&&t.each(n,function(e){var t=r.meta[e],n,o,a,s;if(t&&t.keys)for(i.meta[e]={},o=0,a=t.keys.length;a>o;o++)n=t.keys[o],s=t[n],s&&(/^(\d|[1-9]\d+)$/.test(s)?s=parseInt(s,10):/^\d*\.\d+$/.test(s)&&(s=parseFloat(s)),i.meta[e][n]=s)}),i.width=parseInt(r.width,10),i.height=parseInt(r.height,10),i.size=parseInt(r.size,10),i.type=r.type,i.name=r.name,i}})}),i(ut,[u,p,g,d],function(e,t,n,i){function r(t){var r=this,s=n.capTest,u=n.capTrue;n.call(this,t,o,{access_binary:s(window.FileReader||window.File&&File.getAsDataURL),access_image_binary:!1,display_media:s(a.Image&&(i.can("create_canvas")||i.can("use_data_uri_over32kb"))),do_cors:!1,drag_and_drop:!1,filter_by_extension:s(function(){return"Chrome"===i.browser&&i.version>=28||"IE"===i.browser&&i.version>=10}()),resize_image:function(){return a.Image&&r.can("access_binary")&&i.can("create_canvas")},report_upload_progress:!1,return_response_headers:!1,return_response_type:function(t){return"json"===t&&window.JSON?!0:!!~e.inArray(t,["text","document",""])},return_status_code:function(t){return!e.arrayDiff(t,[200,404])},select_file:function(){return i.can("use_fileinput")},select_multiple:!1,send_binary_string:!1,send_custom_headers:!1,send_multipart:!0,slice_blob:!1,stream_upload:function(){return r.can("select_file")},summon_file_dialog:s(function(){return"Firefox"===i.browser&&i.version>=4||"Opera"===i.browser&&i.version>=12||!!~e.inArray(i.browser,["Chrome","Safari"])}()),upload_filesize:u,use_http_method:function(t){return!e.arrayDiff(t,["GET","POST"])}}),e.extend(this,{init:function(){this.trigger("Init")},destroy:function(e){return function(){e.call(r),e=r=null}}(this.destroy)}),e.extend(this.getShim(),a)}var o="html4",a={};return n.addConstructor(o,r),a}),i(ct,[ut,u,f,L,l,d],function(e,t,n,i,r,o){function a(){function e(){var r=this,l=r.getRuntime(),d,f,p,h,m,g;g=t.guid("uid_"),d=l.getShimContainer(),a&&(p=n.get(a+"_form"),p&&t.extend(p.style,{top:"100%"})),h=document.createElement("form"),h.setAttribute("id",g+"_form"),h.setAttribute("method","post"),h.setAttribute("enctype","multipart/form-data"),h.setAttribute("encoding","multipart/form-data"),t.extend(h.style,{overflow:"hidden",position:"absolute",top:0,left:0,width:"100%",height:"100%"}),m=document.createElement("input"),m.setAttribute("id",g),m.setAttribute("type","file"),m.setAttribute("name",c.name||"Filedata"),m.setAttribute("accept",u.join(",")),t.extend(m.style,{fontSize:"999px",opacity:0}),h.appendChild(m),d.appendChild(h),t.extend(m.style,{position:"absolute",top:0,left:0,width:"100%",height:"100%"}),"IE"===o.browser&&o.version<10&&t.extend(m.style,{filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=0)"}),m.onchange=function(){var t;this.value&&(t=this.files?this.files[0]:{name:this.value},s=[t],this.onchange=function(){},e.call(r),r.bind("change",function i(){var e=n.get(g),t=n.get(g+"_form"),o;r.unbind("change",i),r.files.length&&e&&t&&(o=r.files[0],e.setAttribute("id",o.uid),t.setAttribute("id",o.uid+"_form"),t.setAttribute("target",o.uid+"_iframe")),e=t=null},998),m=h=null,r.trigger("change"))},l.can("summon_file_dialog")&&(f=n.get(c.browse_button),i.removeEvent(f,"click",r.uid),i.addEvent(f,"click",function(e){m&&!m.disabled&&m.click(),e.preventDefault()},r.uid)),a=g,d=p=f=null}var a,s=[],u=[],c;t.extend(this,{init:function(t){var o=this,a=o.getRuntime(),s;c=t,u=t.accept.mimes||r.extList2mimes(t.accept,a.can("filter_by_extension")),s=a.getShimContainer(),function(){var e,r,u;e=n.get(t.browse_button),a.can("summon_file_dialog")&&("static"===n.getStyle(e,"position")&&(e.style.position="relative"),r=parseInt(n.getStyle(e,"z-index"),10)||1,e.style.zIndex=r,s.style.zIndex=r-1),u=a.can("summon_file_dialog")?e:s,i.addEvent(u,"mouseover",function(){o.trigger("mouseenter")},o.uid),i.addEvent(u,"mouseout",function(){o.trigger("mouseleave")},o.uid),i.addEvent(u,"mousedown",function(){o.trigger("mousedown")},o.uid),i.addEvent(n.get(t.container),"mouseup",function(){o.trigger("mouseup")},o.uid),e=null}(),e.call(this),s=null,o.trigger({type:"ready",async:!0})},getFiles:function(){return s},disable:function(e){var t;(t=n.get(a))&&(t.disabled=!!e)},destroy:function(){var e=this.getRuntime(),t=e.getShim(),r=e.getShimContainer();i.removeAllEvents(r,this.uid),i.removeAllEvents(c&&n.get(c.container),this.uid),i.removeAllEvents(c&&n.get(c.browse_button),this.uid),r&&(r.innerHTML=""),t.removeInstance(this.uid),a=s=u=c=r=t=null}})}return e.FileInput=a}),i(lt,[ut,F],function(e,t){return e.FileReader=t}),i(dt,[ut,u,f,b,p,L,y,S],function(e,t,n,i,r,o,a,s){function u(){function e(e){var t=this,i,r,a,s,u=!1;if(l){if(i=l.id.replace(/_iframe$/,""),r=n.get(i+"_form")){for(a=r.getElementsByTagName("input"),s=a.length;s--;)switch(a[s].getAttribute("type")){case"hidden":a[s].parentNode.removeChild(a[s]);break;case"file":u=!0}a=[],u||r.parentNode.removeChild(r),r=null}setTimeout(function(){o.removeEvent(l,"load",t.uid),l.parentNode&&l.parentNode.removeChild(l);var n=t.getRuntime().getShimContainer();n.children.length||n.parentNode.removeChild(n),n=l=null,e()},1)}}var u,c,l;t.extend(this,{send:function(d,f){function p(){var n=m.getShimContainer()||document.body,r=document.createElement("div");r.innerHTML='<iframe id="'+g+'_iframe" name="'+g+'_iframe" src="javascript:&quot;&quot;" style="display:none"></iframe>',l=r.firstChild,n.appendChild(l),o.addEvent(l,"load",function(){var n;try{n=l.contentWindow.document||l.contentDocument||window.frames[l.id].document,/^4(0[0-9]|1[0-7]|2[2346])\s/.test(n.title)?u=n.title.replace(/^(\d+).*$/,"$1"):(u=200,c=t.trim(n.body.innerHTML),h.trigger({type:"progress",loaded:c.length,total:c.length}),w&&h.trigger({type:"uploadprogress",loaded:w.size||1025,total:w.size||1025}))}catch(r){if(!i.hasSameOrigin(d.url))return e.call(h,function(){h.trigger("error")}),void 0;u=404}e.call(h,function(){h.trigger("load")})},h.uid)}var h=this,m=h.getRuntime(),g,v,y,w;if(u=c=null,f instanceof s&&f.hasBlob()){if(w=f.getBlob(),g=w.uid,y=n.get(g),v=n.get(g+"_form"),!v)throw new r.DOMException(r.DOMException.NOT_FOUND_ERR)}else g=t.guid("uid_"),v=document.createElement("form"),v.setAttribute("id",g+"_form"),v.setAttribute("method",d.method),v.setAttribute("enctype","multipart/form-data"),v.setAttribute("encoding","multipart/form-data"),v.setAttribute("target",g+"_iframe"),m.getShimContainer().appendChild(v);f instanceof s&&f.each(function(e,n){if(e instanceof a)y&&y.setAttribute("name",n);else{var i=document.createElement("input");t.extend(i,{type:"hidden",name:n,value:e}),y?v.insertBefore(i,y):v.appendChild(i)}}),v.setAttribute("action",d.url),p(),v.submit(),h.trigger("loadstart")},getStatus:function(){return u},getResponse:function(e){if("json"===e&&"string"===t.typeOf(c)&&window.JSON)try{return JSON.parse(c.replace(/^\s*<pre[^>]*>/,"").replace(/<\/pre>\s*$/,""))}catch(n){return null}return c},abort:function(){var t=this;l&&l.contentWindow&&(l.contentWindow.stop?l.contentWindow.stop():l.contentWindow.document.execCommand?l.contentWindow.document.execCommand("Stop"):l.src="about:blank"),e.call(this,function(){t.dispatchEvent("abort")})}})}return e.XMLHttpRequest=u}),i(ft,[ut,X],function(e,t){return e.Image=t}),a([u,c,l,d,f,p,h,m,g,v,y,w,E,_,x,R,b,T,S,A,O,I,L])}(this);;(function(){"use strict";var e={},t=moxie.core.utils.Basic.inArray;return function n(r){var i,s;for(i in r)s=typeof r[i],s==="object"&&!~t(i,["Exceptions","Env","Mime"])?n(r[i]):s==="function"&&(e[i]=r[i])}(window.moxie),e.Env=window.moxie.core.utils.Env,e.Mime=window.moxie.core.utils.Mime,e.Exceptions=window.moxie.core.Exceptions,window.mOxie=e,window.o||(window.o=e),e})();
+/**
+ * Plupload - multi-runtime File Uploader
+ * v2.1.1
+ *
+ * Copyright 2013, Moxiecode Systems AB
+ * Released under GPL License.
+ *
+ * License: http://www.plupload.com/license
+ * Contributing: http://www.plupload.com/contributing
+ *
+ * Date: 2014-01-16
+ */
+;(function(e,t,n){function s(e){function r(e,t,r){var i={chunks:"slice_blob",jpgresize:"send_binary_string",pngresize:"send_binary_string",progress:"report_upload_progress",multi_selection:"select_multiple",dragdrop:"drag_and_drop",drop_element:"drag_and_drop",headers:"send_custom_headers",canSendBinary:"send_binary",triggerDialog:"summon_file_dialog"};i[e]?n[i[e]]=t:r||(n[e]=t)}var t=e.required_features,n={};return typeof t=="string"?o.each(t.split(/\s*,\s*/),function(e){r(e,!0)}):typeof t=="object"?o.each(t,function(e,t){r(t,e)}):t===!0&&(e.multipart||(n.send_binary_string=!0),e.chunk_size>0&&(n.slice_blob=!0),e.resize.enabled&&(n.send_binary_string=!0),o.each(e,function(e,t){r(t,!!e,!0)})),n}var r=e.setTimeout,i={},o={VERSION:"2.1.1",STOPPED:1,STARTED:2,QUEUED:1,UPLOADING:2,FAILED:4,DONE:5,GENERIC_ERROR:-100,HTTP_ERROR:-200,IO_ERROR:-300,SECURITY_ERROR:-400,INIT_ERROR:-500,FILE_SIZE_ERROR:-600,FILE_EXTENSION_ERROR:-601,FILE_DUPLICATE_ERROR:-602,IMAGE_FORMAT_ERROR:-700,IMAGE_MEMORY_ERROR:-701,IMAGE_DIMENSIONS_ERROR:-702,mimeTypes:t.mimes,ua:t.ua,typeOf:t.typeOf,extend:t.extend,guid:t.guid,get:function(n){var r=[],i;t.typeOf(n)!=="array"&&(n=[n]);var s=n.length;while(s--)i=t.get(n[s]),i&&r.push(i);return r.length?r:null},each:t.each,getPos:t.getPos,getSize:t.getSize,xmlEncode:function(e){var t={"<":"lt",">":"gt","&":"amp",'"':"quot","'":"#39"},n=/[<>&\"\']/g;return e?(""+e).replace(n,function(e){return t[e]?"&"+t[e]+";":e}):e},toArray:t.toArray,inArray:t.inArray,addI18n:t.addI18n,translate:t.translate,isEmptyObj:t.isEmptyObj,hasClass:t.hasClass,addClass:t.addClass,removeClass:t.removeClass,getStyle:t.getStyle,addEvent:t.addEvent,removeEvent:t.removeEvent,removeAllEvents:t.removeAllEvents,cleanName:function(e){var t,n;n=[/[\300-\306]/g,"A",/[\340-\346]/g,"a",/\307/g,"C",/\347/g,"c",/[\310-\313]/g,"E",/[\350-\353]/g,"e",/[\314-\317]/g,"I",/[\354-\357]/g,"i",/\321/g,"N",/\361/g,"n",/[\322-\330]/g,"O",/[\362-\370]/g,"o",/[\331-\334]/g,"U",/[\371-\374]/g,"u"];for(t=0;t<n.length;t+=2)e=e.replace(n[t],n[t+1]);return e=e.replace(/\s+/g,"_"),e=e.replace(/[^a-z0-9_\-\.]+/gi,""),e},buildUrl:function(e,t){var n="";return o.each(t,function(e,t){n+=(n?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(e)}),n&&(e+=(e.indexOf("?")>0?"&":"?")+n),e},formatSize:function(e){function t(e,t){return Math.round(e*Math.pow(10,t))/Math.pow(10,t)}if(e===n||/\D/.test(e))return o.translate("N/A");var r=Math.pow(1024,4);return e>r?t(e/r,1)+" "+o.translate("tb"):e>(r/=1024)?t(e/r,1)+" "+o.translate("gb"):e>(r/=1024)?t(e/r,1)+" "+o.translate("mb"):e>1024?Math.round(e/1024)+" "+o.translate("kb"):e+" "+o.translate("b")},parseSize:t.parseSizeStr,predictRuntime:function(e,n){var r,i;return r=new o.Uploader(e),i=t.Runtime.thatCan(r.getOption().required_features,n||e.runtimes),r.destroy(),i},addFileFilter:function(e,t){i[e]=t}};o.addFileFilter("mime_types",function(e,t,n){e.length&&!e.regexp.test(t.name)?(this.trigger("Error",{code:o.FILE_EXTENSION_ERROR,message:o.translate("File extension error."),file:t}),n(!1)):n(!0)}),o.addFileFilter("max_file_size",function(e,t,n){var r;e=o.parseSize(e),t.size!==r&&e&&t.size>e?(this.trigger("Error",{code:o.FILE_SIZE_ERROR,message:o.translate("File size error."),file:t}),n(!1)):n(!0)}),o.addFileFilter("prevent_duplicates",function(e,t,n){if(e){var r=this.files.length;while(r--)if(t.name===this.files[r].name&&t.size===this.files[r].size){this.trigger("Error",{code:o.FILE_DUPLICATE_ERROR,message:o.translate("Duplicate file error."),file:t}),n(!1);return}}n(!0)}),o.Uploader=function(e){function g(){var e,t=0,n;if(this.state==o.STARTED){for(n=0;n<f.length;n++)!e&&f[n].status==o.QUEUED?(e=f[n],this.trigger("BeforeUpload",e)&&(e.status=o.UPLOADING,this.trigger("UploadFile",e))):t++;t==f.length&&(this.state!==o.STOPPED&&(this.state=o.STOPPED,this.trigger("StateChanged")),this.trigger("UploadComplete",f))}}function y(e){e.percent=e.size>0?Math.ceil(e.loaded/e.size*100):100,b()}function b(){var e,t;d.reset();for(e=0;e<f.length;e++)t=f[e],t.size!==n?(d.size+=t.origSize,d.loaded+=t.loaded*t.origSize/t.size):d.size=n,t.status==o.DONE?d.uploaded++:t.status==o.FAILED?d.failed++:d.queued++;d.size===n?d.percent=f.length>0?Math.ceil(d.uploaded/f.length*100):0:(d.bytesPerSec=Math.ceil(d.loaded/((+(new Date)-p||1)/1e3)),d.percent=d.size>0?Math.ceil(d.loaded/d.size*100):0)}function w(){var e=c[0]||h[0];return e?e.getRuntime().uid:!1}function E(e,n){if(e.ruid){var r=t.Runtime.getInfo(e.ruid);if(r)return r.can(n)}return!1}function S(){this.bind("FilesAdded",C),this.bind("CancelUpload",M),this.bind("BeforeUpload",k),this.bind("UploadFile",L),this.bind("UploadProgress",A),this.bind("StateChanged",O),this.bind("QueueChanged",b),this.bind("Error",D),this.bind("FileUploaded",_),this.bind("Destroy",P)}function x(e,n){var r=this,i=0,s=[],u={accept:e.filters.mime_types,runtime_order:e.runtimes,required_caps:e.required_features,preferred_caps:l,swf_url:e.flash_swf_url,xap_url:e.silverlight_xap_url};o.each(e.runtimes.split(/\s*,\s*/),function(t){e[t]&&(u[t]=e[t])}),e.browse_button&&o.each(e.browse_button,function(n){s.push(function(s){var a=new t.FileInput(o.extend({},u,{name:e.file_data_name,multiple:e.multi_selection,container:e.container,browse_button:n}));a.onready=function(){var e=t.Runtime.getInfo(this.ruid);t.extend(r.features,{chunks:e.can("slice_blob"),multipart:e.can("send_multipart"),multi_selection:e.can("select_multiple")}),i++,c.push(this),s()},a.onchange=function(){r.addFile(this.files)},a.bind("mouseenter mouseleave mousedown mouseup",function(r){v||(e.browse_button_hover&&("mouseenter"===r.type?t.addClass(n,e.browse_button_hover):"mouseleave"===r.type&&t.removeClass(n,e.browse_button_hover)),e.browse_button_active&&("mousedown"===r.type?t.addClass(n,e.browse_button_active):"mouseup"===r.type&&t.removeClass(n,e.browse_button_active)))}),a.bind("error runtimeerror",function(){a=null,s()}),a.init()})}),e.drop_element&&o.each(e.drop_element,function(e){s.push(function(n){var s=new t.FileDrop(o.extend({},u,{drop_zone:e}));s.onready=function(){var e=t.Runtime.getInfo(this.ruid);r.features.dragdrop=e.can("drag_and_drop"),i++,h.push(this),n()},s.ondrop=function(){r.addFile(this.files)},s.bind("error runtimeerror",function(){s=null,n()}),s.init()})}),t.inSeries(s,function(){typeof n=="function"&&n(i)})}function T(e,n,r){var i=new t.Image;try{i.onload=function(){i.downsize(n.width,n.height,n.crop,n.preserve_headers)},i.onresize=function(){r(this.getAsBlob(e.type,n.quality)),this.destroy()},i.onerror=function(){r(e)},i.load(e)}catch(s){r(e)}}function N(e,n,r){function f(e,t,n){var r=a[e];switch(e){case"max_file_size":e==="max_file_size"&&(a.max_file_size=a.filters.max_file_size=t);break;case"chunk_size":if(t=o.parseSize(t))a[e]=t;break;case"filters":o.typeOf(t)==="array"&&(t={mime_types:t}),n?o.extend(a.filters,t):a.filters=t,t.mime_types&&(a.filters.mime_types.regexp=function(e){var t=[];return o.each(e,function(e){o.each(e.extensions.split(/,/),function(e){/^\s*\*\s*$/.test(e)?t.push("\\.*"):t.push("\\."+e.replace(new RegExp("["+"/^$.*+?|()[]{}\\".replace(/./g,"\\$&")+"]","g"),"\\$&"))})}),new RegExp("("+t.join("|")+")$","i")}(a.filters.mime_types));break;case"resize":n?o.extend(a.resize,t,{enabled:!0}):a.resize=t;break;case"prevent_duplicates":a.prevent_duplicates=a.filters.prevent_duplicates=!!t;break;case"browse_button":case"drop_element":t=o.get(t);case"container":case"runtimes":case"multi_selection":case"flash_swf_url":case"silverlight_xap_url":a[e]=t,n||(u=!0);break;default:a[e]=t}n||i.trigger("OptionChanged",e,t,r)}var i=this,u=!1;typeof e=="object"?o.each(e,function(e,t){f(t,e,r)}):f(e,n,r),r?(a.required_features=s(o.extend({},a)),l=s(o.extend({},a,{required_features:!0}))):u&&(i.trigger("Destroy"),x.call(i,a,function(e){e?(i.runtime=t.Runtime.getInfo(w()).type,i.trigger("Init",{runtime:i.runtime}),i.trigger("PostInit")):i.trigger("Error",{code:o.INIT_ERROR,message:o.translate("Init error.")})}))}function C(e,t){[].push.apply(f,t),e.trigger("QueueChanged"),e.refresh()}function k(e,t){if(a.unique_names){var n=t.name.match(/\.([^.]+)$/),r="part";n&&(r=n[1]),t.target_name=t.id+"."+r}}function L(e,n){function h(){u-->0?r(p,1e3):(n.loaded=f,e.trigger("Error",{code:o.HTTP_ERROR,message:o.translate("HTTP Error."),file:n,response:m.responseText,status:m.status,responseHeaders:m.getAllResponseHeaders()}))}function p(){var d,v,g,y;if(n.status==o.DONE||n.status==o.FAILED||e.state==o.STOPPED)return;g={name:n.target_name||n.name},s&&a.chunks&&c.size>s?(y=Math.min(s,c.size-f),d=c.slice(f,f+y)):(y=c.size,d=c),s&&a.chunks&&(e.settings.send_chunk_number?(g.chunk=Math.ceil(f/s),g.chunks=Math.ceil(c.size/s)):(g.offset=f,g.total=c.size)),m=new t.XMLHttpRequest,m.upload&&(m.upload.onprogress=function(t){n.loaded=Math.min(n.size,f+t.loaded),e.trigger("UploadProgress",n)}),m.onload=function(){if(m.status>=400){h();return}u=e.settings.max_retries,y<c.size?(d.destroy(),f+=y,n.loaded=Math.min(f,c.size),e.trigger("ChunkUploaded",n,{offset:n.loaded,total:c.size,response:m.responseText,status:m.status,responseHeaders:m.getAllResponseHeaders()}),t.Env.browser==="Android Browser"&&e.trigger("UploadProgress",n)):n.loaded=n.size,d=v=null,!f||f>=c.size?(n.size!=n.origSize&&(c.destroy(),c=null),e.trigger("UploadProgress",n),n.status=o.DONE,e.trigger("FileUploaded",n,{response:m.responseText,status:m.status,responseHeaders:m.getAllResponseHeaders()})):r(p,1)},m.onerror=function(){h()},m.onloadend=function(){this.destroy(),m=null},e.settings.multipart&&a.multipart?(g.name=n.target_name||n.name,m.open("post",i,!0),o.each(e.settings.headers,function(e,t){m.setRequestHeader(t,e)}),v=new t.FormData,o.each(o.extend(g,e.settings.multipart_params),function(e,t){v.append(t,e)}),v.append(e.settings.file_data_name,d),m.send(v,{runtime_order:e.settings.runtimes,required_caps:e.settings.required_features,preferred_caps:l,swf_url:e.settings.flash_swf_url,xap_url:e.settings.silverlight_xap_url})):(i=o.buildUrl(e.settings.url,o.extend(g,e.settings.multipart_params)),m.open("post",i,!0),m.setRequestHeader("Content-Type","application/octet-stream"),o.each(e.settings.headers,function(e,t){m.setRequestHeader(t,e)}),m.send(d,{runtime_order:e.settings.runtimes,required_caps:e.settings.required_features,preferred_caps:l,swf_url:e.settings.flash_swf_url,xap_url:e.settings.silverlight_xap_url}))}var i=e.settings.url,s=e.settings.chunk_size,u=e.settings.max_retries,a=e.features,f=0,c;n.loaded&&(f=n.loaded=s*Math.floor(n.loaded/s)),c=n.getSource(),e.settings.resize.enabled&&E(c,"send_binary_string")&&!!~t.inArray(c.type,["image/jpeg","image/png"])?T.call(this,c,e.settings.resize,function(e){c=e,n.size=e.size,p()}):p()}function A(e,t){y(t)}function O(e){if(e.state==o.STARTED)p=+(new Date);else if(e.state==o.STOPPED)for(var t=e.files.length-1;t>=0;t--)e.files[t].status==o.UPLOADING&&(e.files[t].status=o.QUEUED,b())}function M(){m&&m.abort()}function _(e){b(),r(function(){g.call(e)},1)}function D(e,t){t.file&&(t.file.status=o.FAILED,y(t.file),e.state==o.STARTED&&(e.trigger("CancelUpload"),r(function(){g.call(e)},1)))}function P(e){e.stop(),o.each(f,function(e){e.destroy()}),f=[],c.length&&(o.each(c,function(e){e.destroy()}),c=[]),h.length&&(o.each(h,function(e){e.destroy()}),h=[]),l={},v=!1,p=m=null,d.reset()}var u=o.guid(),a,f=[],l={},c=[],h=[],p,d,v=!1,m;a={runtimes:t.Runtime.order,max_retries:0,chunk_size:0,multipart:!0,multi_selection:!0,file_data_name:"file",flash_swf_url:"js/Moxie.swf",silverlight_xap_url:"js/Moxie.xap",filters:{mime_types:[],prevent_duplicates:!1,max_file_size:0},resize:{enabled:!1,preserve_headers:!0,crop:!1},send_chunk_number:!0},N.call(this,e,null,!0),d=new o.QueueProgress,o.extend(this,{id:u,uid:u,state:o.STOPPED,features:{},runtime:null,files:f,settings:a,total:d,init:function(){var e=this;typeof a.preinit=="function"?a.preinit(e):o.each(a.preinit,function(t,n){e.bind(n,t)});if(!a.browse_button||!a.url){this.trigger("Error",{code:o.INIT_ERROR,message:o.translate("Init error.")});return}S.call(this),x.call(this,a,function(n){typeof a.init=="function"?a.init(e):o.each(a.init,function(t,n){e.bind(n,t)}),n?(e.runtime=t.Runtime.getInfo(w()).type,e.trigger("Init",{runtime:e.runtime}),e.trigger("PostInit")):e.trigger("Error",{code:o.INIT_ERROR,message:o.translate("Init error.")})})},setOption:function(e,t){N.call(this,e,t,!this.runtime)},getOption:function(e){return e?a[e]:a},refresh:function(){c.length&&o.each(c,function(e){e.trigger("Refresh")}),this.trigger("Refresh")},start:function(){this.state!=o.STARTED&&(this.state=o.STARTED,this.trigger("StateChanged"),g.call(this))},stop:function(){this.state!=o.STOPPED&&(this.state=o.STOPPED,this.trigger("StateChanged"),this.trigger("CancelUpload"))},disableBrowse:function(){v=arguments[0]!==n?arguments[0]:!0,c.length&&o.each(c,function(e){e.disable(v)}),this.trigger("DisableBrowse",v)},getFile:function(e){var t;for(t=f.length-1;t>=0;t--)if(f[t].id===e)return f[t]},addFile:function(e,n){function l(e,n){var r=[];t.each(s.settings.filters,function(t,n){i[n]&&r.push(function(r){i[n].call(s,t,e,function(e){r(!e)})})}),t.inSeries(r,n)}function c(e){var i=t.typeOf(e);if(e instanceof t.File){if(!e.ruid&&!e.isDetached()){if(!f)return!1;e.ruid=f,e.connectRuntime(f)}c(new o.File(e))}else e instanceof t.Blob?(c(e.getSource()),e.destroy()):e instanceof o.File?(n&&(e.name=n),u.push(function(t){l(e,function(n){n||(a.push(e),s.trigger("FileFiltered",e)),r(t,1)})})):t.inArray(i,["file","blob"])!==-1?c(new t.File(null,e)):i==="node"&&t.typeOf(e.files)==="filelist"?t.each(e.files,c):i==="array"&&(n=null,t.each(e,c))}var s=this,u=[],a=[],f;f=w(),c(e),u.length&&t.inSeries(u,function(){a.length&&s.trigger("FilesAdded",a)})},removeFile:function(e){var t=typeof e=="string"?e:e.id;for(var n=f.length-1;n>=0;n--)if(f[n].id===t)return this.splice(n,1)[0]},splice:function(e,t){var r=f.splice(e===n?0:e,t===n?f.length:t),i=!1;return this.state==o.STARTED&&(i=!0,this.stop()),this.trigger("FilesRemoved",r),o.each(r,function(e){e.destroy()}),this.trigger("QueueChanged"),this.refresh(),i&&this.start(),r},bind:function(e,t,n){var r=this;o.Uploader.prototype.bind.call(this,e,function(){var e=[].slice.call(arguments);return e.splice(0,1,r),t.apply(this,e)},0,n)},destroy:function(){this.trigger("Destroy"),a=d=null,this.unbindAll()}})},o.Uploader.prototype=t.EventTarget.instance,o.File=function(){function n(n){o.extend(this,{id:o.guid(),name:n.name||n.fileName,type:n.type||"",size:n.size||n.fileSize,origSize:n.size||n.fileSize,loaded:0,percent:0,status:o.QUEUED,lastModifiedDate:n.lastModifiedDate||(new Date).toLocaleString(),getNative:function(){var e=this.getSource().getSource();return t.inArray(t.typeOf(e),["blob","file"])!==-1?e:null},getSource:function(){return e[this.id]?e[this.id]:null},destroy:function(){var t=this.getSource();t&&(t.destroy(),delete e[this.id])}}),e[this.id]=n}var e={};return n}(),o.QueueProgress=function(){var e=this;e.size=0,e.loaded=0,e.uploaded=0,e.failed=0,e.queued=0,e.percent=0,e.bytesPerSec=0,e.reset=function(){e.size=e.loaded=e.uploaded=e.failed=e.queued=e.percent=e.bytesPerSec=0}},e.plupload=o})(window,mOxie);
\ No newline at end of file
diff --git a/wp-includes/js/plupload/plupload.html4.js b/wp-includes/js/plupload/plupload.html4.js
deleted file mode 100644 (file)
index 0a8f403..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(d,a,b,c){function e(f){return a.getElementById(f)}b.runtimes.Html4=b.addRuntime("html4",{getFeatures:function(){return{multipart:true,triggerDialog:(b.ua.gecko&&d.FormData||b.ua.webkit)}},init:function(f,g){f.bind("Init",function(p){var j=a.body,n,h="javascript",k,x,q,z=[],r=/MSIE/.test(navigator.userAgent),t=[],m=p.settings.filters,o,l,s,w;no_type_restriction:for(o=0;o<m.length;o++){l=m[o].extensions.split(/,/);for(w=0;w<l.length;w++){if(l[w]==="*"){t=[];break no_type_restriction}s=b.mimeTypes[l[w]];if(s&&b.inArray(s,t)===-1){t.push(s)}}}t=t.join(",");function v(){var B,y,i,A;q=b.guid();z.push(q);B=a.createElement("form");B.setAttribute("id","form_"+q);B.setAttribute("method","post");B.setAttribute("enctype","multipart/form-data");B.setAttribute("encoding","multipart/form-data");B.setAttribute("target",p.id+"_iframe");B.style.position="absolute";y=a.createElement("input");y.setAttribute("id","input_"+q);y.setAttribute("type","file");y.setAttribute("accept",t);y.setAttribute("size",1);A=e(p.settings.browse_button);if(p.features.triggerDialog&&A){b.addEvent(e(p.settings.browse_button),"click",function(C){if(!y.disabled){y.click()}C.preventDefault()},p.id)}b.extend(y.style,{width:"100%",height:"100%",opacity:0,fontSize:"99px",cursor:"pointer"});b.extend(B.style,{overflow:"hidden"});i=p.settings.shim_bgcolor;if(i){B.style.background=i}if(r){b.extend(y.style,{filter:"alpha(opacity=0)"})}b.addEvent(y,"change",function(F){var D=F.target,C,E=[],G;if(D.value){e("form_"+q).style.top=-1048575+"px";C=D.value.replace(/\\/g,"/");C=C.substring(C.length,C.lastIndexOf("/")+1);E.push(new b.File(q,C));if(!p.features.triggerDialog){b.removeAllEvents(B,p.id)}else{b.removeEvent(A,"click",p.id)}b.removeEvent(y,"change",p.id);v();if(E.length){f.trigger("FilesAdded",E)}}},p.id);B.appendChild(y);j.appendChild(B);p.refresh()}function u(){var i=a.createElement("div");i.innerHTML='<iframe id="'+p.id+'_iframe" name="'+p.id+'_iframe" src="'+h+':&quot;&quot;" style="display:none"></iframe>';n=i.firstChild;j.appendChild(n);b.addEvent(n,"load",function(C){var D=C.target,B,y;if(!k){return}try{B=D.contentWindow.document||D.contentDocument||d.frames[D.id].document}catch(A){p.trigger("Error",{code:b.SECURITY_ERROR,message:b.translate("Security error."),file:k});return}y=B.documentElement.innerText||B.documentElement.textContent;if(y){k.status=b.DONE;k.loaded=1025;k.percent=100;p.trigger("UploadProgress",k);p.trigger("FileUploaded",k,{response:y})}},p.id)}if(p.settings.container){j=e(p.settings.container);if(b.getStyle(j,"position")==="static"){j.style.position="relative"}}p.bind("UploadFile",function(i,A){var B,y;if(A.status==b.DONE||A.status==b.FAILED||i.state==b.STOPPED){return}B=e("form_"+A.id);y=e("input_"+A.id);y.setAttribute("name",i.settings.file_data_name);B.setAttribute("action",i.settings.url);b.each(b.extend({name:A.target_name||A.name},i.settings.multipart_params),function(E,C){var D=a.createElement("input");b.extend(D,{type:"hidden",name:C,value:E});B.insertBefore(D,B.firstChild)});k=A;e("form_"+q).style.top=-1048575+"px";B.submit()});p.bind("FileUploaded",function(i){i.refresh()});p.bind("StateChanged",function(i){if(i.state==b.STARTED){u()}else{if(i.state==b.STOPPED){d.setTimeout(function(){b.removeEvent(n,"load",i.id);if(n.parentNode){n.parentNode.removeChild(n)}},0)}}b.each(i.files,function(A,y){if(A.status===b.DONE||A.status===b.FAILED){var B=e("form_"+A.id);if(B){B.parentNode.removeChild(B)}}})});p.bind("Refresh",function(y){var F,A,B,C,i,G,H,E,D;F=e(y.settings.browse_button);if(F){i=b.getPos(F,e(y.settings.container));G=b.getSize(F);H=e("form_"+q);E=e("input_"+q);b.extend(H.style,{top:i.y+"px",left:i.x+"px",width:G.w+"px",height:G.h+"px"});if(y.features.triggerDialog){if(b.getStyle(F,"position")==="static"){b.extend(F.style,{position:"relative"})}D=parseInt(F.style.zIndex,10);if(isNaN(D)){D=0}b.extend(F.style,{zIndex:D});b.extend(H.style,{zIndex:D-1})}B=y.settings.browse_button_hover;C=y.settings.browse_button_active;A=y.features.triggerDialog?F:H;if(B){b.addEvent(A,"mouseover",function(){b.addClass(F,B)},y.id);b.addEvent(A,"mouseout",function(){b.removeClass(F,B)},y.id)}if(C){b.addEvent(A,"mousedown",function(){b.addClass(F,C)},y.id);b.addEvent(a.body,"mouseup",function(){b.removeClass(F,C)},y.id)}}});f.bind("FilesRemoved",function(y,B){var A,C;for(A=0;A<B.length;A++){C=e("form_"+B[A].id);if(C){C.parentNode.removeChild(C)}}});f.bind("DisableBrowse",function(i,A){var y=a.getElementById("input_"+q);if(y){y.disabled=A}});f.bind("Destroy",function(i){var y,A,B,C={inputContainer:"form_"+q,inputFile:"input_"+q,browseButton:i.settings.browse_button};for(y in C){A=e(C[y]);if(A){b.removeAllEvents(A,i.id)}}b.removeAllEvents(a.body,i.id);b.each(z,function(E,D){B=e("form_"+E);if(B){B.parentNode.removeChild(B)}})});v()});g({success:true})}})})(window,document,plupload);
\ No newline at end of file
diff --git a/wp-includes/js/plupload/plupload.html5.js b/wp-includes/js/plupload/plupload.html5.js
deleted file mode 100644 (file)
index a4b2a1f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(k,m,l,g){var d={},j;function c(s){var r=s.naturalWidth,u=s.naturalHeight;if(r*u>1024*1024){var t=m.createElement("canvas");t.width=t.height=1;var q=t.getContext("2d");q.drawImage(s,-r+1,0);return q.getImageData(0,0,1,1).data[3]===0}else{return false}}function f(u,r,z){var q=m.createElement("canvas");q.width=1;q.height=z;var A=q.getContext("2d");A.drawImage(u,0,0);var t=A.getImageData(0,0,1,z).data;var x=0;var v=z;var y=z;while(y>x){var s=t[(y-1)*4+3];if(s===0){v=y}else{x=y}y=(v+x)>>1}var w=(y/z);return(w===0)?1:w}function o(K,s,t){var v=K.naturalWidth,z=K.naturalHeight;var E=t.width,B=t.height;var F=s.getContext("2d");F.save();var r=c(K);if(r){v/=2;z/=2}var I=1024;var q=m.createElement("canvas");q.width=q.height=I;var u=q.getContext("2d");var G=f(K,v,z);var A=0;while(A<z){var J=A+I>z?z-A:I;var C=0;while(C<v){var D=C+I>v?v-C:I;u.clearRect(0,0,I,I);u.drawImage(K,-C,-A);var x=(C*E/v)<<0;var y=Math.ceil(D*E/v);var w=(A*B/z/G)<<0;var H=Math.ceil(J*B/z/G);F.drawImage(q,0,0,D,J,x,w,y,H);C+=I}A+=I}F.restore();q=u=null}function p(r,s){var q;if("FileReader" in k){q=new FileReader();q.readAsDataURL(r);q.onload=function(){s(q.result)}}else{return s(r.getAsDataURL())}}function n(r,s){var q;if("FileReader" in k){q=new FileReader();q.readAsBinaryString(r);q.onload=function(){s(q.result)}}else{return s(r.getAsBinary())}}function e(u,s,q,y){var t,r,x,v,w=this;p(d[u.id],function(z){t=m.createElement("canvas");t.style.display="none";m.body.appendChild(t);x=new Image();x.onerror=x.onabort=function(){y({success:false})};x.onload=function(){var F,A,C,B,E;if(!s.width){s.width=x.width}if(!s.height){s.height=x.height}v=Math.min(s.width/x.width,s.height/x.height);if(v<1){F=Math.round(x.width*v);A=Math.round(x.height*v)}else{if(s.quality&&q==="image/jpeg"){F=x.width;A=x.height}else{y({success:false});return}}t.width=F;t.height=A;o(x,t,{width:F,height:A});if(q==="image/jpeg"){B=new h(atob(z.substring(z.indexOf("base64,")+7)));if(B.headers&&B.headers.length){E=new a();if(E.init(B.get("exif")[0])){E.setExif("PixelXDimension",F);E.setExif("PixelYDimension",A);B.set("exif",E.getBinary());if(w.hasEventListener("ExifData")){w.trigger("ExifData",u,E.EXIF())}if(w.hasEventListener("GpsData")){w.trigger("GpsData",u,E.GPS())}}}}if(s.quality&&q==="image/jpeg"){try{z=t.toDataURL(q,s.quality/100)}catch(D){z=t.toDataURL(q)}}else{z=t.toDataURL(q)}z=z.substring(z.indexOf("base64,")+7);z=atob(z);if(B&&B.headers&&B.headers.length){z=B.restore(z);B.purge()}t.parentNode.removeChild(t);y({success:true,data:z})};x.src=z})}l.runtimes.Html5=l.addRuntime("html5",{getFeatures:function(){var v,r,u,t,s,q;r=u=s=q=false;if(k.XMLHttpRequest){v=new XMLHttpRequest();u=!!v.upload;r=!!(v.sendAsBinary||v.upload)}if(r){t=!!(v.sendAsBinary||(k.Uint8Array&&k.ArrayBuffer));s=!!(File&&(File.prototype.getAsDataURL||k.FileReader)&&t);q=!!(File&&(File.prototype.mozSlice||File.prototype.webkitSlice||File.prototype.slice))}j=l.ua.safari&&l.ua.windows;return{html5:r,dragdrop:(function(){var w=m.createElement("div");return("draggable" in w)||("ondragstart" in w&&"ondrop" in w)}()),jpgresize:s,pngresize:s,multipart:s||!!k.FileReader||!!k.FormData,canSendBinary:t,cantSendBlobInFormData:!!(l.ua.gecko&&k.FormData&&k.FileReader&&!FileReader.prototype.readAsArrayBuffer)||l.ua.android,progress:u,chunks:q,multi_selection:!(l.ua.safari&&l.ua.windows),triggerDialog:(l.ua.gecko&&k.FormData||l.ua.webkit)}},init:function(s,u){var q,t;function r(z){var x,w,y=[],A,v={};for(w=0;w<z.length;w++){x=z[w];if(v[x.name]&&l.ua.safari&&l.ua.windows){continue}v[x.name]=true;A=l.guid();d[A]=x;y.push(new l.File(A,x.fileName||x.name,x.fileSize||x.size))}if(y.length){s.trigger("FilesAdded",y)}}q=this.getFeatures();if(!q.html5){u({success:false});return}s.bind("Init",function(A){var J,I,F=[],z,G,w=A.settings.filters,x,E,v=m.body,H;J=m.createElement("div");J.id=A.id+"_html5_container";l.extend(J.style,{position:"absolute",background:s.settings.shim_bgcolor||"transparent",width:"100px",height:"100px",overflow:"hidden",zIndex:99999,opacity:s.settings.shim_bgcolor?"":0});J.className="plupload html5";if(s.settings.container){v=m.getElementById(s.settings.container);if(l.getStyle(v,"position")==="static"){v.style.position="relative"}}v.appendChild(J);no_type_restriction:for(z=0;z<w.length;z++){x=w[z].extensions.split(/,/);for(G=0;G<x.length;G++){if(x[G]==="*"){F=[];break no_type_restriction}E=l.mimeTypes[x[G]];if(E&&l.inArray(E,F)===-1){F.push(E)}}}J.innerHTML='<input id="'+s.id+'_html5"  style="font-size:999px" type="file" accept="'+F.join(",")+'" '+(s.settings.multi_selection&&s.features.multi_selection?'multiple="multiple"':"")+" />";J.scrollTop=100;H=m.getElementById(s.id+"_html5");if(A.features.triggerDialog){l.extend(H.style,{position:"absolute",width:"100%",height:"100%"})}else{l.extend(H.style,{cssFloat:"right",styleFloat:"right"})}H.onchange=function(){r(this.files);this.value=""};I=m.getElementById(A.settings.browse_button);if(I){var C=A.settings.browse_button_hover,D=A.settings.browse_button_active,B=A.features.triggerDialog?I:J;if(C){l.addEvent(B,"mouseover",function(){l.addClass(I,C)},A.id);l.addEvent(B,"mouseout",function(){l.removeClass(I,C)},A.id)}if(D){l.addEvent(B,"mousedown",function(){l.addClass(I,D)},A.id);l.addEvent(m.body,"mouseup",function(){l.removeClass(I,D)},A.id)}if(A.features.triggerDialog){l.addEvent(I,"click",function(K){var y=m.getElementById(A.id+"_html5");if(y&&!y.disabled){y.click()}K.preventDefault()},A.id)}}});s.bind("PostInit",function(){var v=m.getElementById(s.settings.drop_element);if(v){if(j){l.addEvent(v,"dragenter",function(z){var y,w,x;y=m.getElementById(s.id+"_drop");if(!y){y=m.createElement("input");y.setAttribute("type","file");y.setAttribute("id",s.id+"_drop");y.setAttribute("multiple","multiple");l.addEvent(y,"change",function(){r(this.files);l.removeEvent(y,"change",s.id);y.parentNode.removeChild(y)},s.id);l.addEvent(y,"dragover",function(A){A.stopPropagation()},s.id);v.appendChild(y)}w=l.getPos(v,m.getElementById(s.settings.container));x=l.getSize(v);if(l.getStyle(v,"position")==="static"){l.extend(v.style,{position:"relative"})}l.extend(y.style,{position:"absolute",display:"block",top:0,left:0,width:x.w+"px",height:x.h+"px",opacity:0})},s.id);return}l.addEvent(v,"dragover",function(w){w.preventDefault()},s.id);l.addEvent(v,"drop",function(x){var w=x.dataTransfer;if(w&&w.files){r(w.files)}x.preventDefault()},s.id)}});s.bind("Refresh",function(v){var w,x,y,A,z;w=m.getElementById(s.settings.browse_button);if(w){x=l.getPos(w,m.getElementById(v.settings.container));y=l.getSize(w);A=m.getElementById(s.id+"_html5_container");l.extend(A.style,{top:x.y+"px",left:x.x+"px",width:y.w+"px",height:y.h+"px"});if(s.features.triggerDialog){if(l.getStyle(w,"position")==="static"){l.extend(w.style,{position:"relative"})}z=parseInt(l.getStyle(w,"zIndex"),10);if(isNaN(z)){z=0}l.extend(w.style,{zIndex:z});l.extend(A.style,{zIndex:z-1})}}});s.bind("DisableBrowse",function(v,x){var w=m.getElementById(v.id+"_html5");if(w){w.disabled=x}});s.bind("CancelUpload",function(){if(t&&t.abort){t.abort()}});s.bind("UploadFile",function(v,x){var y=v.settings,B,w;function A(D,G,C){var E;if(File.prototype.slice){try{D.slice();return D.slice(G,C)}catch(F){return D.slice(G,C-G)}}else{if(E=File.prototype.webkitSlice||File.prototype.mozSlice){return E.call(D,G,C)}else{return null}}}function z(C){var F=0,E=0;function D(){var L,P,N,O,K,M,H,G=v.settings.url;function J(S){if(t.sendAsBinary){t.sendAsBinary(S)}else{if(v.features.canSendBinary){var Q=new Uint8Array(S.length);for(var R=0;R<S.length;R++){Q[R]=(S.charCodeAt(R)&255)}t.send(Q.buffer)}}}function I(R){var V=0,W="----pluploadboundary"+l.guid(),T,S="--",U="\r\n",Q="";t=new XMLHttpRequest;if(t.upload){t.upload.onprogress=function(X){x.loaded=Math.min(x.size,E+X.loaded-V);v.trigger("UploadProgress",x)}}t.onreadystatechange=function(){var X,Z;if(t.readyState==4&&v.state!==l.STOPPED){try{X=t.status}catch(Y){X=0}if(X>=400){v.trigger("Error",{code:l.HTTP_ERROR,message:l.translate("HTTP Error."),file:x,status:X})}else{if(N){Z={chunk:F,chunks:N,response:t.responseText,status:X};v.trigger("ChunkUploaded",x,Z);E+=M;if(Z.cancelled){x.status=l.FAILED;return}x.loaded=Math.min(x.size,(F+1)*K)}else{x.loaded=x.size}v.trigger("UploadProgress",x);R=L=T=Q=null;if(!N||++F>=N){x.status=l.DONE;v.trigger("FileUploaded",x,{response:t.responseText,status:X})}else{D()}}}};if(v.settings.multipart&&q.multipart){O.name=x.target_name||x.name;t.open("post",G,true);l.each(v.settings.headers,function(Y,X){t.setRequestHeader(X,Y)});if(typeof(R)!=="string"&&!!k.FormData){T=new FormData();l.each(l.extend(O,v.settings.multipart_params),function(Y,X){T.append(X,Y)});T.append(v.settings.file_data_name,R);t.send(T);return}if(typeof(R)==="string"){t.setRequestHeader("Content-Type","multipart/form-data; boundary="+W);l.each(l.extend(O,v.settings.multipart_params),function(Y,X){Q+=S+W+U+'Content-Disposition: form-data; name="'+X+'"'+U+U;Q+=unescape(encodeURIComponent(Y))+U});H=l.mimeTypes[x.name.replace(/^.+\.([^.]+)/,"$1").toLowerCase()]||"application/octet-stream";Q+=S+W+U+'Content-Disposition: form-data; name="'+v.settings.file_data_name+'"; filename="'+unescape(encodeURIComponent(x.name))+'"'+U+"Content-Type: "+H+U+U+R+U+S+W+S+U;V=Q.length-R.length;R=Q;J(R);return}}G=l.buildUrl(v.settings.url,l.extend(O,v.settings.multipart_params));t.open("post",G,true);t.setRequestHeader("Content-Type","application/octet-stream");l.each(v.settings.headers,function(Y,X){t.setRequestHeader(X,Y)});if(typeof(R)==="string"){J(R)}else{t.send(R)}}if(x.status==l.DONE||x.status==l.FAILED||v.state==l.STOPPED){return}O={name:x.target_name||x.name};if(y.chunk_size&&x.size>y.chunk_size&&(q.chunks||typeof(C)=="string")){K=y.chunk_size;N=Math.ceil(x.size/K);M=Math.min(K,x.size-(F*K));if(typeof(C)=="string"){L=C.substring(F*K,F*K+M)}else{L=A(C,F*K,F*K+M)}O.chunk=F;O.chunks=N}else{M=x.size;L=C}if(v.settings.multipart&&q.multipart&&typeof(L)!=="string"&&k.FileReader&&q.cantSendBlobInFormData&&q.chunks&&v.settings.chunk_size){(function(){var Q=new FileReader();Q.onload=function(){I(Q.result);Q=null};Q.readAsBinaryString(L)}())}else{I(L)}}D()}B=d[x.id];if(q.jpgresize&&v.settings.resize&&/\.(png|jpg|jpeg)$/i.test(x.name)){e.call(v,x,v.settings.resize,/\.png$/i.test(x.name)?"image/png":"image/jpeg",function(C){if(C.success){x.size=C.data.length;z(C.data)}else{if(q.chunks){z(B)}else{n(B,z)}}})}else{if(!q.chunks&&q.jpgresize){n(B,z)}else{z(B)}}});s.bind("Destroy",function(v){var x,y,w=m.body,z={inputContainer:v.id+"_html5_container",inputFile:v.id+"_html5",browseButton:v.settings.browse_button,dropElm:v.settings.drop_element};for(x in z){y=m.getElementById(z[x]);if(y){l.removeAllEvents(y,v.id)}}l.removeAllEvents(m.body,v.id);if(v.settings.container){w=m.getElementById(v.settings.container)}w.removeChild(m.getElementById(z.inputContainer))});u({success:true})}});function b(){var t=false,r;function u(w,y){var v=t?0:-8*(y-1),z=0,x;for(x=0;x<y;x++){z|=(r.charCodeAt(w+x)<<Math.abs(v+x*8))}return z}function q(x,v,w){var w=arguments.length===3?w:r.length-v-1;r=r.substr(0,v)+x+r.substr(w+v)}function s(w,x,z){var A="",v=t?0:-8*(z-1),y;for(y=0;y<z;y++){A+=String.fromCharCode((x>>Math.abs(v+y*8))&255)}q(A,w,z)}return{II:function(v){if(v===g){return t}else{t=v}},init:function(v){t=false;r=v},SEGMENT:function(v,x,w){switch(arguments.length){case 1:return r.substr(v,r.length-v-1);case 2:return r.substr(v,x);case 3:q(w,v,x);break;default:return r}},BYTE:function(v){return u(v,1)},SHORT:function(v){return u(v,2)},LONG:function(v,w){if(w===g){return u(v,4)}else{s(v,w,4)}},SLONG:function(v){var w=u(v,4);return(w>2147483647?w-4294967296:w)},STRING:function(v,w){var x="";for(w+=v;v<w;v++){x+=String.fromCharCode(u(v,1))}return x}}}function h(v){var x={65505:{app:"EXIF",name:"APP1",signature:"Exif\0"},65506:{app:"ICC",name:"APP2",signature:"ICC_PROFILE\0"},65517:{app:"IPTC",name:"APP13",signature:"Photoshop 3.0\0"}},w=[],u,q,s=g,t=0,r;u=new b();u.init(v);if(u.SHORT(0)!==65496){return}q=2;r=Math.min(1048576,v.length);while(q<=r){s=u.SHORT(q);if(s>=65488&&s<=65495){q+=2;continue}if(s===65498||s===65497){break}t=u.SHORT(q+2)+2;if(x[s]&&u.STRING(q+4,x[s].signature.length)===x[s].signature){w.push({hex:s,app:x[s].app.toUpperCase(),name:x[s].name.toUpperCase(),start:q,length:t,segment:u.SEGMENT(q,t)})}q+=t}u.init(null);return{headers:w,restore:function(B){u.init(B);var z=new h(B);if(!z.headers){return false}for(var A=z.headers.length;A>0;A--){var C=z.headers[A-1];u.SEGMENT(C.start,C.length,"")}z.purge();q=u.SHORT(2)==65504?4+u.SHORT(4):2;for(var A=0,y=w.length;A<y;A++){u.SEGMENT(q,0,w[A].segment);q+=w[A].length}return u.SEGMENT()},get:function(A){var B=[];for(var z=0,y=w.length;z<y;z++){if(w[z].app===A.toUpperCase()){B.push(w[z].segment)}}return B},set:function(B,A){var C=[];if(typeof(A)==="string"){C.push(A)}else{C=A}for(var z=ii=0,y=w.length;z<y;z++){if(w[z].app===B.toUpperCase()){w[z].segment=C[ii];w[z].length=C[ii].length;ii++}if(ii>=C.length){break}}},purge:function(){w=[];u.init(null)}}}function a(){var t,q,r={},w;t=new b();q={tiff:{274:"Orientation",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer"},exif:{36864:"ExifVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",36867:"DateTimeOriginal",33434:"ExposureTime",33437:"FNumber",34855:"ISOSpeedRatings",37377:"ShutterSpeedValue",37378:"ApertureValue",37383:"MeteringMode",37384:"LightSource",37385:"Flash",41986:"ExposureMode",41987:"WhiteBalance",41990:"SceneCaptureType",41988:"DigitalZoomRatio",41992:"Contrast",41993:"Saturation",41994:"Sharpness"},gps:{0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude"}};w={ColorSpace:{1:"sRGB",0:"Uncalibrated"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{1:"Daylight",2:"Fliorescent",3:"Tungsten",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 -5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire.",1:"Flash fired.",5:"Strobe return light not detected.",7:"Strobe return light detected.",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},ExposureMode:{0:"Auto exposure",1:"Manual exposure",2:"Auto bracket"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},GPSLatitudeRef:{N:"North latitude",S:"South latitude"},GPSLongitudeRef:{E:"East longitude",W:"West longitude"}};function s(x,F){var z=t.SHORT(x),C,I,J,E,D,y,A,G,H=[],B={};for(C=0;C<z;C++){A=y=x+12*C+2;J=F[t.SHORT(A)];if(J===g){continue}E=t.SHORT(A+=2);D=t.LONG(A+=2);A+=4;H=[];switch(E){case 1:case 7:if(D>4){A=t.LONG(A)+r.tiffHeader}for(I=0;I<D;I++){H[I]=t.BYTE(A+I)}break;case 2:if(D>4){A=t.LONG(A)+r.tiffHeader}B[J]=t.STRING(A,D-1);continue;case 3:if(D>2){A=t.LONG(A)+r.tiffHeader}for(I=0;I<D;I++){H[I]=t.SHORT(A+I*2)}break;case 4:if(D>1){A=t.LONG(A)+r.tiffHeader}for(I=0;I<D;I++){H[I]=t.LONG(A+I*4)}break;case 5:A=t.LONG(A)+r.tiffHeader;for(I=0;I<D;I++){H[I]=t.LONG(A+I*4)/t.LONG(A+I*4+4)}break;case 9:A=t.LONG(A)+r.tiffHeader;for(I=0;I<D;I++){H[I]=t.SLONG(A+I*4)}break;case 10:A=t.LONG(A)+r.tiffHeader;for(I=0;I<D;I++){H[I]=t.SLONG(A+I*4)/t.SLONG(A+I*4+4)}break;default:continue}G=(D==1?H[0]:H);if(w.hasOwnProperty(J)&&typeof G!="object"){B[J]=w[J][G]}else{B[J]=G}}return B}function v(){var y=g,x=r.tiffHeader;t.II(t.SHORT(x)==18761);if(t.SHORT(x+=2)!==42){return false}r.IFD0=r.tiffHeader+t.LONG(x+=2);y=s(r.IFD0,q.tiff);r.exifIFD=("ExifIFDPointer" in y?r.tiffHeader+y.ExifIFDPointer:g);r.gpsIFD=("GPSInfoIFDPointer" in y?r.tiffHeader+y.GPSInfoIFDPointer:g);return true}function u(z,x,C){var E,B,A,D=0;if(typeof(x)==="string"){var y=q[z.toLowerCase()];for(hex in y){if(y[hex]===x){x=hex;break}}}E=r[z.toLowerCase()+"IFD"];B=t.SHORT(E);for(i=0;i<B;i++){A=E+12*i+2;if(t.SHORT(A)==x){D=A+8;break}}if(!D){return false}t.LONG(D,C);return true}return{init:function(x){r={tiffHeader:10};if(x===g||!x.length){return false}t.init(x);if(t.SHORT(0)===65505&&t.STRING(4,5).toUpperCase()==="EXIF\0"){return v()}return false},EXIF:function(){var y;y=s(r.exifIFD,q.exif);if(y.ExifVersion&&l.typeOf(y.ExifVersion)==="array"){for(var z=0,x="";z<y.ExifVersion.length;z++){x+=String.fromCharCode(y.ExifVersion[z])}y.ExifVersion=x}return y},GPS:function(){var x;x=s(r.gpsIFD,q.gps);if(x.GPSVersionID){x.GPSVersionID=x.GPSVersionID.join(".")}return x},setExif:function(x,y){if(x!=="PixelXDimension"&&x!=="PixelYDimension"){return false}return u("exif",x,y)},getBinary:function(){return t.SEGMENT()}}}})(window,document,plupload);
\ No newline at end of file
diff --git a/wp-includes/js/plupload/plupload.js b/wp-includes/js/plupload/plupload.js
deleted file mode 100644 (file)
index 5b3ffb7..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-/*1.5.7*/
-(function(){var f=0,k=[],m={},i={},a={"<":"lt",">":"gt","&":"amp",'"':"quot","'":"#39"},l=/[<>&\"\']/g,b,c=window.setTimeout,d={},e;function h(){this.returnValue=false}function j(){this.cancelBubble=true}(function(n){var o=n.split(/,/),p,r,q;for(p=0;p<o.length;p+=2){q=o[p+1].split(/ /);for(r=0;r<q.length;r++){i[q[r]]=o[p]}}})("application/msword,doc dot,application/pdf,pdf,application/pgp-signature,pgp,application/postscript,ps ai eps,application/rtf,rtf,application/vnd.ms-excel,xls xlb,application/vnd.ms-powerpoint,ppt pps pot,application/zip,zip,application/x-shockwave-flash,swf swfl,application/vnd.openxmlformats-officedocument.wordprocessingml.document,docx,application/vnd.openxmlformats-officedocument.wordprocessingml.template,dotx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,xlsx,application/vnd.openxmlformats-officedocument.presentationml.presentation,pptx,application/vnd.openxmlformats-officedocument.presentationml.template,potx,application/vnd.openxmlformats-officedocument.presentationml.slideshow,ppsx,application/x-javascript,js,application/json,json,audio/mpeg,mpga mpega mp2 mp3,audio/x-wav,wav,audio/mp4,m4a,image/bmp,bmp,image/gif,gif,image/jpeg,jpeg jpg jpe,image/photoshop,psd,image/png,png,image/svg+xml,svg svgz,image/tiff,tiff tif,text/plain,asc txt text diff log,text/html,htm html xhtml,text/css,css,text/csv,csv,text/rtf,rtf,video/mpeg,mpeg mpg mpe m2v,video/quicktime,qt mov,video/mp4,mp4,video/x-m4v,m4v,video/x-flv,flv,video/x-ms-wmv,wmv,video/avi,avi,video/webm,webm,video/3gpp,3gp,video/3gpp2,3g2,video/vnd.rn-realvideo,rv,application/vnd.oasis.opendocument.formula-template,otf,application/octet-stream,exe");var g={VERSION:"1.5.7",STOPPED:1,STARTED:2,QUEUED:1,UPLOADING:2,FAILED:4,DONE:5,GENERIC_ERROR:-100,HTTP_ERROR:-200,IO_ERROR:-300,SECURITY_ERROR:-400,INIT_ERROR:-500,FILE_SIZE_ERROR:-600,FILE_EXTENSION_ERROR:-601,IMAGE_FORMAT_ERROR:-700,IMAGE_MEMORY_ERROR:-701,IMAGE_DIMENSIONS_ERROR:-702,mimeTypes:i,ua:(function(){var r=navigator,q=r.userAgent,s=r.vendor,o,n,p;o=/WebKit/.test(q);p=o&&s.indexOf("Apple")!==-1;n=window.opera&&window.opera.buildNumber;return{windows:navigator.platform.indexOf("Win")!==-1,android:/Android/.test(q),ie:!o&&!n&&(/MSIE/gi).test(q)&&(/Explorer/gi).test(r.appName),webkit:o,gecko:!o&&/Gecko/.test(q),safari:p,opera:!!n}}()),typeOf:function(n){return({}).toString.call(n).match(/\s([a-z|A-Z]+)/)[1].toLowerCase()},extend:function(n){g.each(arguments,function(o,p){if(p>0){g.each(o,function(r,q){n[q]=r})}});return n},cleanName:function(n){var o,p;p=[/[\300-\306]/g,"A",/[\340-\346]/g,"a",/\307/g,"C",/\347/g,"c",/[\310-\313]/g,"E",/[\350-\353]/g,"e",/[\314-\317]/g,"I",/[\354-\357]/g,"i",/\321/g,"N",/\361/g,"n",/[\322-\330]/g,"O",/[\362-\370]/g,"o",/[\331-\334]/g,"U",/[\371-\374]/g,"u"];for(o=0;o<p.length;o+=2){n=n.replace(p[o],p[o+1])}n=n.replace(/\s+/g,"_");n=n.replace(/[^a-z0-9_\-\.]+/gi,"");return n},addRuntime:function(n,o){o.name=n;k[n]=o;k.push(o);return o},guid:function(){var n=new Date().getTime().toString(32),o;for(o=0;o<5;o++){n+=Math.floor(Math.random()*65535).toString(32)}return(g.guidPrefix||"p")+n+(f++).toString(32)},buildUrl:function(o,n){var p="";g.each(n,function(r,q){p+=(p?"&":"")+encodeURIComponent(q)+"="+encodeURIComponent(r)});if(p){o+=(o.indexOf("?")>0?"&":"?")+p}return o},each:function(q,r){var p,o,n;if(q){p=q.length;if(p===b){for(o in q){if(q.hasOwnProperty(o)){if(r(q[o],o)===false){return}}}}else{for(n=0;n<p;n++){if(r(q[n],n)===false){return}}}}},formatSize:function(n){if(n===b||/\D/.test(n)){return g.translate("N/A")}if(n>1073741824){return Math.round(n/1073741824,1)+" GB"}if(n>1048576){return Math.round(n/1048576,1)+" MB"}if(n>1024){return Math.round(n/1024,1)+" KB"}return n+" b"},getPos:function(o,s){var t=0,r=0,v,u=document,p,q;o=o;s=s||u.body;function n(B){var z,A,w=0,C=0;if(B){A=B.getBoundingClientRect();z=u.compatMode==="CSS1Compat"?u.documentElement:u.body;w=A.left+z.scrollLeft;C=A.top+z.scrollTop}return{x:w,y:C}}if(o&&o.getBoundingClientRect&&g.ua.ie&&(!u.documentMode||u.documentMode<8)){p=n(o);q=n(s);return{x:p.x-q.x,y:p.y-q.y}}v=o;while(v&&v!=s&&v.nodeType){t+=v.offsetLeft||0;r+=v.offsetTop||0;v=v.offsetParent}v=o.parentNode;while(v&&v!=s&&v.nodeType){t-=v.scrollLeft||0;r-=v.scrollTop||0;v=v.parentNode}return{x:t,y:r}},getSize:function(n){return{w:n.offsetWidth||n.clientWidth,h:n.offsetHeight||n.clientHeight}},parseSize:function(n){var o;if(typeof(n)=="string"){n=/^([0-9]+)([mgk]?)$/.exec(n.toLowerCase().replace(/[^0-9mkg]/g,""));o=n[2];n=+n[1];if(o=="g"){n*=1073741824}if(o=="m"){n*=1048576}if(o=="k"){n*=1024}}return n},xmlEncode:function(n){return n?(""+n).replace(l,function(o){return a[o]?"&"+a[o]+";":o}):n},toArray:function(p){var o,n=[];for(o=0;o<p.length;o++){n[o]=p[o]}return n},inArray:function(p,q){if(q){if(Array.prototype.indexOf){return Array.prototype.indexOf.call(q,p)}for(var n=0,o=q.length;n<o;n++){if(q[n]===p){return n}}}return -1},addI18n:function(n){return g.extend(m,n)},translate:function(n){return m[n]||n},isEmptyObj:function(n){if(n===b){return true}for(var o in n){return false}return true},hasClass:function(p,o){var n;if(p.className==""){return false}n=new RegExp("(^|\\s+)"+o+"(\\s+|$)");return n.test(p.className)},addClass:function(o,n){if(!g.hasClass(o,n)){o.className=o.className==""?n:o.className.replace(/\s+$/,"")+" "+n}},removeClass:function(p,o){var n=new RegExp("(^|\\s+)"+o+"(\\s+|$)");p.className=p.className.replace(n,function(r,q,s){return q===" "&&s===" "?" ":""})},getStyle:function(o,n){if(o.currentStyle){return o.currentStyle[n]}else{if(window.getComputedStyle){return window.getComputedStyle(o,null)[n]}}},addEvent:function(s,n,t){var r,q,p,o;o=arguments[3];n=n.toLowerCase();if(e===b){e="Plupload_"+g.guid()}if(s.addEventListener){r=t;s.addEventListener(n,r,false)}else{if(s.attachEvent){r=function(){var u=window.event;if(!u.target){u.target=u.srcElement}u.preventDefault=h;u.stopPropagation=j;t(u)};s.attachEvent("on"+n,r)}}if(s[e]===b){s[e]=g.guid()}if(!d.hasOwnProperty(s[e])){d[s[e]]={}}q=d[s[e]];if(!q.hasOwnProperty(n)){q[n]=[]}q[n].push({func:r,orig:t,key:o})},removeEvent:function(s,n){var q,t,p;if(typeof(arguments[2])=="function"){t=arguments[2]}else{p=arguments[2]}n=n.toLowerCase();if(s[e]&&d[s[e]]&&d[s[e]][n]){q=d[s[e]][n]}else{return}for(var o=q.length-1;o>=0;o--){if(q[o].key===p||q[o].orig===t){if(s.removeEventListener){s.removeEventListener(n,q[o].func,false)}else{if(s.detachEvent){s.detachEvent("on"+n,q[o].func)}}q[o].orig=null;q[o].func=null;q.splice(o,1);if(t!==b){break}}}if(!q.length){delete d[s[e]][n]}if(g.isEmptyObj(d[s[e]])){delete d[s[e]];try{delete s[e]}catch(r){s[e]=b}}},removeAllEvents:function(o){var n=arguments[1];if(o[e]===b||!o[e]){return}g.each(d[o[e]],function(q,p){g.removeEvent(o,p,n)})}};g.Uploader=function(r){var o={},u,t=[],q,p=false;u=new g.QueueProgress();r=g.extend({chunk_size:0,multipart:true,multi_selection:true,file_data_name:"file",filters:[]},r);function s(){var w,x=0,v;if(this.state==g.STARTED){for(v=0;v<t.length;v++){if(!w&&t[v].status==g.QUEUED){w=t[v];w.status=g.UPLOADING;if(this.trigger("BeforeUpload",w)){this.trigger("UploadFile",w)}}else{x++}}if(x==t.length){this.stop();this.trigger("UploadComplete",t)}}}function n(){var w,v;u.reset();for(w=0;w<t.length;w++){v=t[w];if(v.size!==b){u.size+=v.size;u.loaded+=v.loaded}else{u.size=b}if(v.status==g.DONE){u.uploaded++}else{if(v.status==g.FAILED){u.failed++}else{u.queued++}}}if(u.size===b){u.percent=t.length>0?Math.ceil(u.uploaded/t.length*100):0}else{u.bytesPerSec=Math.ceil(u.loaded/((+new Date()-q||1)/1000));u.percent=u.size>0?Math.ceil(u.loaded/u.size*100):0}}g.extend(this,{state:g.STOPPED,runtime:"",features:{},files:t,settings:r,total:u,id:g.guid(),init:function(){var A=this,B,x,w,z=0,y;if(typeof(r.preinit)=="function"){r.preinit(A)}else{g.each(r.preinit,function(D,C){A.bind(C,D)})}r.page_url=r.page_url||document.location.pathname.replace(/\/[^\/]+$/g,"/");if(!/^(\w+:\/\/|\/)/.test(r.url)){r.url=r.page_url+r.url}r.chunk_size=g.parseSize(r.chunk_size);r.max_file_size=g.parseSize(r.max_file_size);A.bind("FilesAdded",function(C,F){var E,D,H=0,I,G=r.filters;if(G&&G.length){I=[];g.each(G,function(J){g.each(J.extensions.split(/,/),function(K){if(/^\s*\*\s*$/.test(K)){I.push("\\.*")}else{I.push("\\."+K.replace(new RegExp("["+("/^$.*+?|()[]{}\\".replace(/./g,"\\$&"))+"]","g"),"\\$&"))}})});I=new RegExp(I.join("|")+"$","i")}for(E=0;E<F.length;E++){D=F[E];D.loaded=0;D.percent=0;D.status=g.QUEUED;if(I&&!I.test(D.name)){C.trigger("Error",{code:g.FILE_EXTENSION_ERROR,message:g.translate("File extension error."),file:D});continue}if(D.size!==b&&D.size>r.max_file_size){C.trigger("Error",{code:g.FILE_SIZE_ERROR,message:g.translate("File size error."),file:D});continue}t.push(D);H++}if(H){c(function(){A.trigger("QueueChanged");A.refresh()},1)}else{return false}});if(r.unique_names){A.bind("UploadFile",function(C,D){var F=D.name.match(/\.([^.]+)$/),E="tmp";if(F){E=F[1]}D.target_name=D.id+"."+E})}A.bind("UploadProgress",function(C,D){D.percent=D.size>0?Math.ceil(D.loaded/D.size*100):100;n()});A.bind("StateChanged",function(C){if(C.state==g.STARTED){q=(+new Date())}else{if(C.state==g.STOPPED){for(B=C.files.length-1;B>=0;B--){if(C.files[B].status==g.UPLOADING){C.files[B].status=g.QUEUED;n()}}}}});A.bind("QueueChanged",n);A.bind("Error",function(C,D){if(D.file){D.file.status=g.FAILED;n();if(C.state==g.STARTED){c(function(){s.call(A)},1)}}});A.bind("FileUploaded",function(C,D){D.status=g.DONE;D.loaded=D.size;C.trigger("UploadProgress",D);c(function(){s.call(A)},1)});if(r.runtimes){x=[];y=r.runtimes.split(/\s?,\s?/);for(B=0;B<y.length;B++){if(k[y[B]]){x.push(k[y[B]])}}}else{x=k}function v(){var F=x[z++],E,C,D;if(F){E=F.getFeatures();C=A.settings.required_features;if(C){C=C.split(",");for(D=0;D<C.length;D++){if(!E[C[D]]){v();return}}}F.init(A,function(G){if(G&&G.success){A.features=E;A.runtime=F.name;A.trigger("Init",{runtime:F.name});A.trigger("PostInit");A.refresh()}else{v()}})}else{A.trigger("Error",{code:g.INIT_ERROR,message:g.translate("Init error.")})}}v();if(typeof(r.init)=="function"){r.init(A)}else{g.each(r.init,function(D,C){A.bind(C,D)})}},refresh:function(){this.trigger("Refresh")},start:function(){if(t.length&&this.state!=g.STARTED){this.state=g.STARTED;this.trigger("StateChanged");s.call(this)}},stop:function(){if(this.state!=g.STOPPED){this.state=g.STOPPED;this.trigger("CancelUpload");this.trigger("StateChanged")}},disableBrowse:function(){p=arguments[0]!==b?arguments[0]:true;this.trigger("DisableBrowse",p)},getFile:function(w){var v;for(v=t.length-1;v>=0;v--){if(t[v].id===w){return t[v]}}},removeFile:function(w){var v;for(v=t.length-1;v>=0;v--){if(t[v].id===w.id){return this.splice(v,1)[0]}}},splice:function(x,v){var w;w=t.splice(x===b?0:x,v===b?t.length:v);this.trigger("FilesRemoved",w);this.trigger("QueueChanged");return w},trigger:function(w){var y=o[w.toLowerCase()],x,v;if(y){v=Array.prototype.slice.call(arguments);v[0]=this;for(x=0;x<y.length;x++){if(y[x].func.apply(y[x].scope,v)===false){return false}}}return true},hasEventListener:function(v){return !!o[v.toLowerCase()]},bind:function(v,x,w){var y;v=v.toLowerCase();y=o[v]||[];y.push({func:x,scope:w||this});o[v]=y},unbind:function(v){v=v.toLowerCase();var y=o[v],w,x=arguments[1];if(y){if(x!==b){for(w=y.length-1;w>=0;w--){if(y[w].func===x){y.splice(w,1);break}}}else{y=[]}if(!y.length){delete o[v]}}},unbindAll:function(){var v=this;g.each(o,function(x,w){v.unbind(w)})},destroy:function(){this.stop();this.trigger("Destroy");this.unbindAll()}})};g.File=function(q,o,p){var n=this;n.id=q;n.name=o;n.size=p;n.loaded=0;n.percent=0;n.status=0};g.Runtime=function(){this.getFeatures=function(){};this.init=function(n,o){}};g.QueueProgress=function(){var n=this;n.size=0;n.loaded=0;n.uploaded=0;n.failed=0;n.queued=0;n.percent=0;n.bytesPerSec=0;n.reset=function(){n.size=n.loaded=n.uploaded=n.failed=n.queued=n.percent=n.bytesPerSec=0}};g.runtimes={};window.plupload=g})();
\ No newline at end of file
diff --git a/wp-includes/js/plupload/plupload.silverlight.js b/wp-includes/js/plupload/plupload.silverlight.js
deleted file mode 100644 (file)
index ccaa95a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(g,b,d,e){var a={},h={};function c(o){var n,m=typeof o,j,l,k;if(o===e||o===null){return"null"}if(m==="string"){n="\bb\tt\nn\ff\rr\"\"''\\\\";return'"'+o.replace(/([\u0080-\uFFFF\x00-\x1f\"])/g,function(q,p){var i=n.indexOf(p);if(i+1){return"\\"+n.charAt(i+1)}q=p.charCodeAt().toString(16);return"\\u"+"0000".substring(q.length)+q})+'"'}if(m=="object"){j=o.length!==e;n="";if(j){for(l=0;l<o.length;l++){if(n){n+=","}n+=c(o[l])}n="["+n+"]"}else{for(k in o){if(o.hasOwnProperty(k)){if(n){n+=","}n+=c(k)+":"+c(o[k])}}n="{"+n+"}"}return n}return""+o}function f(r){var u=false,i=null,n=null,j,k,l,t,m,p=0;try{try{n=new ActiveXObject("AgControl.AgControl");if(n.IsVersionSupported(r)){u=true}n=null}catch(q){var o=navigator.plugins["Silverlight Plug-In"];if(o){j=o.description;if(j==="1.0.30226.2"){j="2.0.30226.2"}k=j.split(".");while(k.length>3){k.pop()}while(k.length<4){k.push(0)}l=r.split(".");while(l.length>4){l.pop()}do{t=parseInt(l[p],10);m=parseInt(k[p],10);p++}while(p<l.length&&t===m);if(t<=m&&!isNaN(t)){u=true}}}}catch(s){u=false}return u}d.silverlight={trigger:function(n,k){var m=a[n],l,j;if(m){j=d.toArray(arguments).slice(1);j[0]="Silverlight:"+k;setTimeout(function(){m.trigger.apply(m,j)},0)}}};d.runtimes.Silverlight=d.addRuntime("silverlight",{getFeatures:function(){return{jpgresize:true,pngresize:true,chunks:true,progress:true,multipart:true,multi_selection:true}},init:function(p,q){var o,m="",n=p.settings.filters,l,k=b.body;if(!f("2.0.31005.0")||(g.opera&&g.opera.buildNumber)){q({success:false});return}h[p.id]=false;a[p.id]=p;o=b.createElement("div");o.id=p.id+"_silverlight_container";d.extend(o.style,{position:"absolute",top:"0px",background:p.settings.shim_bgcolor||"transparent",zIndex:99999,width:"100px",height:"100px",overflow:"hidden",opacity:p.settings.shim_bgcolor||b.documentMode>8?"":0.01});o.className="plupload silverlight";if(p.settings.container){k=b.getElementById(p.settings.container);if(d.getStyle(k,"position")==="static"){k.style.position="relative"}}k.appendChild(o);for(l=0;l<n.length;l++){m+=(m!=""?"|":"")+n[l].title+" | *."+n[l].extensions.replace(/,/g,";*.")}o.innerHTML='<object id="'+p.id+'_silverlight" data="data:application/x-silverlight," type="application/x-silverlight-2" style="outline:none;" width="1024" height="1024"><param name="source" value="'+p.settings.silverlight_xap_url+'"/><param name="background" value="Transparent"/><param name="windowless" value="true"/><param name="enablehtmlaccess" value="true"/><param name="initParams" value="id='+p.id+",filter="+m+",multiselect="+p.settings.multi_selection+'"/></object>';function j(){return b.getElementById(p.id+"_silverlight").content.Upload}p.bind("Silverlight:Init",function(){var i,r={};if(h[p.id]){return}h[p.id]=true;p.bind("Silverlight:StartSelectFiles",function(s){i=[]});p.bind("Silverlight:SelectFile",function(s,v,t,u){var w;w=d.guid();r[w]=v;r[v]=w;i.push(new d.File(w,t,u))});p.bind("Silverlight:SelectSuccessful",function(){if(i.length){p.trigger("FilesAdded",i)}});p.bind("Silverlight:UploadChunkError",function(s,v,t,w,u){p.trigger("Error",{code:d.IO_ERROR,message:"IO Error.",details:u,file:s.getFile(r[v])})});p.bind("Silverlight:UploadFileProgress",function(s,w,t,v){var u=s.getFile(r[w]);if(u.status!=d.FAILED){u.size=v;u.loaded=t;s.trigger("UploadProgress",u)}});p.bind("Refresh",function(s){var t,u,v;t=b.getElementById(s.settings.browse_button);if(t){u=d.getPos(t,b.getElementById(s.settings.container));v=d.getSize(t);d.extend(b.getElementById(s.id+"_silverlight_container").style,{top:u.y+"px",left:u.x+"px",width:v.w+"px",height:v.h+"px"})}});p.bind("Silverlight:UploadChunkSuccessful",function(s,v,t,y,x){var w,u=s.getFile(r[v]);w={chunk:t,chunks:y,response:x};s.trigger("ChunkUploaded",u,w);if(u.status!=d.FAILED&&s.state!==d.STOPPED){j().UploadNextChunk()}if(t==y-1){u.status=d.DONE;s.trigger("FileUploaded",u,{response:x})}});p.bind("Silverlight:UploadSuccessful",function(s,v,t){var u=s.getFile(r[v]);u.status=d.DONE;s.trigger("FileUploaded",u,{response:t})});p.bind("FilesRemoved",function(s,u){var t;for(t=0;t<u.length;t++){j().RemoveFile(r[u[t].id])}});p.bind("UploadFile",function(s,u){var v=s.settings,t=v.resize||{};j().UploadFile(r[u.id],s.settings.url,c({name:u.target_name||u.name,mime:d.mimeTypes[u.name.replace(/^.+\.([^.]+)/,"$1").toLowerCase()]||"application/octet-stream",chunk_size:v.chunk_size,image_width:t.width,image_height:t.height,image_quality:t.quality,multipart:!!v.multipart,multipart_params:v.multipart_params||{},file_data_name:v.file_data_name,headers:v.headers}))});p.bind("CancelUpload",function(){j().CancelUpload()});p.bind("Silverlight:MouseEnter",function(s){var t,u;t=b.getElementById(p.settings.browse_button);u=s.settings.browse_button_hover;if(t&&u){d.addClass(t,u)}});p.bind("Silverlight:MouseLeave",function(s){var t,u;t=b.getElementById(p.settings.browse_button);u=s.settings.browse_button_hover;if(t&&u){d.removeClass(t,u)}});p.bind("Silverlight:MouseLeftButtonDown",function(s){var t,u;t=b.getElementById(p.settings.browse_button);u=s.settings.browse_button_active;if(t&&u){d.addClass(t,u);d.addEvent(b.body,"mouseup",function(){d.removeClass(t,u)})}});p.bind("Sliverlight:StartSelectFiles",function(s){var t,u;t=b.getElementById(p.settings.browse_button);u=s.settings.browse_button_active;if(t&&u){d.removeClass(t,u)}});p.bind("DisableBrowse",function(s,t){j().DisableBrowse(t)});p.bind("Destroy",function(s){var t;d.removeAllEvents(b.body,s.id);delete h[s.id];delete a[s.id];t=b.getElementById(s.id+"_silverlight_container");if(t){t.parentNode.removeChild(t)}});q({success:true})})}})})(window,document,plupload);
\ No newline at end of file
index 20c8fd82bd140c4ac7f54bbf73598a935e26cc77..3a9f389f43dce1bee4f6b7f57ceeb0f8cb7c123e 100644 (file)
Binary files a/wp-includes/js/plupload/plupload.silverlight.xap and b/wp-includes/js/plupload/plupload.silverlight.xap differ
index 5751949b53baeee1326f9302db61130772ab2c4d..413334b8b312dde888a30f7c939c28fa26d67cf3 100644 (file)
@@ -2,11 +2,12 @@
 
 window.wp = window.wp || {};
 
-(function( exports, $ ) {
+( function( exports, $ ) {
        var Uploader;
 
-       if ( typeof _wpPluploadSettings === 'undefined' )
+       if ( typeof _wpPluploadSettings === 'undefined' ) {
                return;
+       }
 
        /**
         * An object that helps create a WordPress uploader using plupload.
@@ -24,6 +25,7 @@ window.wp = window.wp || {};
         */
        Uploader = function( options ) {
                var self = this,
+                       isIE = navigator.userAgent.indexOf('Trident/') != -1 || navigator.userAgent.indexOf('MSIE ') != -1,
                        elements = {
                                container: 'container',
                                browser:   'browse_button',
@@ -37,8 +39,9 @@ window.wp = window.wp || {};
 
                this.supported = this.supports.upload;
 
-               if ( ! this.supported )
+               if ( ! this.supported ) {
                        return;
+               }
 
                // Use deep extend to ensure that multipart_params and other objects are cloned.
                this.plupload = $.extend( true, { multipart_params: {} }, Uploader.defaults );
@@ -52,15 +55,17 @@ window.wp = window.wp || {};
 
                // Proxy all methods so this always refers to the current instance.
                for ( key in this ) {
-                       if ( $.isFunction( this[ key ] ) )
+                       if ( $.isFunction( this[ key ] ) ) {
                                this[ key ] = $.proxy( this[ key ], this );
+                       }
                }
 
                // Ensure all elements are jQuery elements and have id attributes
                // Then set the proper plupload arguments to the ids.
                for ( key in elements ) {
-                       if ( ! this[ key ] )
+                       if ( ! this[ key ] ) {
                                continue;
+                       }
 
                        this[ key ] = $( this[ key ] ).first();
 
@@ -69,14 +74,25 @@ window.wp = window.wp || {};
                                continue;
                        }
 
-                       if ( ! this[ key ].prop('id') )
+                       if ( ! this[ key ].prop('id') ) {
                                this[ key ].prop( 'id', '__wp-uploader-id-' + Uploader.uuid++ );
+                       }
+
                        this.plupload[ elements[ key ] ] = this[ key ].prop('id');
                }
 
                // If the uploader has neither a browse button nor a dropzone, bail.
-               if ( ! ( this.browser && this.browser.length ) && ! ( this.dropzone && this.dropzone.length ) )
+               if ( ! ( this.browser && this.browser.length ) && ! ( this.dropzone && this.dropzone.length ) ) {
                        return;
+               }
+
+               // Make sure flash sends cookies (seems in IE it does without switching to urlstream mode)
+               if ( ! isIE && 'flash' === plupload.predictRuntime( this.plupload ) &&
+                       ( ! this.plupload.required_features || ! this.plupload.required_features.hasOwnProperty( 'send_binary_string' ) ) ) {
+
+                       this.plupload.required_features = this.plupload.required_features || {};
+                       this.plupload.required_features.send_binary_string = true;
+               }
 
                this.uploader = new plupload.Uploader( this.plupload );
                delete this.plupload;
@@ -86,8 +102,9 @@ window.wp = window.wp || {};
                delete this.params;
 
                error = function( message, data, file ) {
-                       if ( file.attachment )
+                       if ( file.attachment ) {
                                file.attachment.destroy();
+                       }
 
                        Uploader.errors.unshift({
                                message: message || pluploadL10n.default_error,
@@ -98,36 +115,39 @@ window.wp = window.wp || {};
                        self.error( message, data, file );
                };
 
-               this.uploader.init();
-
-               this.supports.dragdrop = this.uploader.features.dragdrop && ! Uploader.browser.mobile;
+               this.uploader.bind( 'init', function( uploader ) {
+                       var timer, active, dragdrop,
+                               dropzone = self.dropzone;
 
-               // Generate drag/drop helper classes.
-               (function( dropzone, supported ) {
-                       var timer, active;
+                       dragdrop = self.supports.dragdrop = uploader.features.dragdrop && ! Uploader.browser.mobile;
 
-                       if ( ! dropzone )
+                       // Generate drag/drop helper classes.
+                       if ( ! dropzone ) {
                                return;
+                       }
 
-                       dropzone.toggleClass( 'supports-drag-drop', !! supported );
+                       dropzone.toggleClass( 'supports-drag-drop', !! dragdrop );
 
-                       if ( ! supported )
+                       if ( ! dragdrop ) {
                                return dropzone.unbind('.wp-uploader');
+                       }
 
                        // 'dragenter' doesn't fire correctly,
                        // simulate it with a limited 'dragover'
-                       dropzone.bind( 'dragover.wp-uploader', function(){
-                               if ( timer )
+                       dropzone.bind( 'dragover.wp-uploader', function() {
+                               if ( timer ) {
                                        clearTimeout( timer );
+                               }
 
-                               if ( active )
+                               if ( active ) {
                                        return;
+                               }
 
                                dropzone.trigger('dropzone:enter').addClass('drag-over');
                                active = true;
                        });
 
-                       dropzone.bind('dragleave.wp-uploader, drop.wp-uploader', function(){
+                       dropzone.bind('dragleave.wp-uploader, drop.wp-uploader', function() {
                                // Using an instant timer prevents the drag-over class from
                                // being quickly removed and re-added when elements inside the
                                // dropzone are repositioned.
@@ -138,7 +158,11 @@ window.wp = window.wp || {};
                                        dropzone.trigger('dropzone:leave').removeClass('drag-over');
                                }, 0 );
                        });
-               }( this.dropzone, this.supports.dragdrop ));
+
+                       $(self).trigger( 'uploader:ready' );
+               });
+
+               this.uploader.init();
 
                if ( this.browser ) {
                        this.browser.on( 'mouseenter', this.refresh );
@@ -153,8 +177,9 @@ window.wp = window.wp || {};
                                var attributes, image;
 
                                // Ignore failed uploads.
-                               if ( plupload.FAILED === file.status )
+                               if ( plupload.FAILED === file.status ) {
                                        return;
+                               }
 
                                // Generate attributes for a new `Attachment` model.
                                attributes = _.extend({
@@ -234,8 +259,11 @@ window.wp = window.wp || {};
                        for ( key in Uploader.errorMap ) {
                                if ( pluploadError.code === plupload[ key ] ) {
                                        message = Uploader.errorMap[ key ];
-                                       if ( _.isFunction( message ) )
+
+                                       if ( _.isFunction( message ) ) {
                                                message = message( pluploadError.file, pluploadError );
+                                       }
+
                                        break;
                                }
                        }
@@ -244,7 +272,9 @@ window.wp = window.wp || {};
                        up.refresh();
                });
 
-               this.init();
+               this.uploader.bind( 'PostInit', function() {
+                       self.init();
+               });
        };
 
        // Adds the 'defaults' and 'browser' properties.
@@ -282,8 +312,9 @@ window.wp = window.wp || {};
                 *    Sets values for a map of data.
                 */
                param: function( key, value ) {
-                       if ( arguments.length === 1 && typeof key === 'string' )
+                       if ( arguments.length === 1 && typeof key === 'string' ) {
                                return this.uploader.settings.multipart_params[ key ];
+                       }
 
                        if ( arguments.length > 1 ) {
                                this.uploader.settings.multipart_params[ key ] = value;
index 62531bf793cee64658af94394f2943b2aa90beae..0c101e82b55e9e6eba5ec7f2fdcf0c149b0121e4 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a,b){var c;"undefined"!=typeof _wpPluploadSettings&&(c=function(a){var d,e,f=this,g={container:"container",browser:"browse_button",dropzone:"drop_element"};if(this.supports={upload:c.browser.supported},this.supported=this.supports.upload,this.supported){this.plupload=b.extend(!0,{multipart_params:{}},c.defaults),this.container=document.body,b.extend(!0,this,a);for(d in this)b.isFunction(this[d])&&(this[d]=b.proxy(this[d],this));for(d in g)this[d]&&(this[d]=b(this[d]).first(),this[d].length?(this[d].prop("id")||this[d].prop("id","__wp-uploader-id-"+c.uuid++),this.plupload[g[d]]=this[d].prop("id")):delete this[d]);(this.browser&&this.browser.length||this.dropzone&&this.dropzone.length)&&(this.uploader=new plupload.Uploader(this.plupload),delete this.plupload,this.param(this.params||{}),delete this.params,e=function(a,b,d){d.attachment&&d.attachment.destroy(),c.errors.unshift({message:a||pluploadL10n.default_error,data:b,file:d}),f.error(a,b,d)},this.uploader.init(),this.supports.dragdrop=this.uploader.features.dragdrop&&!c.browser.mobile,function(a,b){var c,d;if(a){if(a.toggleClass("supports-drag-drop",!!b),!b)return a.unbind(".wp-uploader");a.bind("dragover.wp-uploader",function(){c&&clearTimeout(c),d||(a.trigger("dropzone:enter").addClass("drag-over"),d=!0)}),a.bind("dragleave.wp-uploader, drop.wp-uploader",function(){c=setTimeout(function(){d=!1,a.trigger("dropzone:leave").removeClass("drag-over")},0)})}}(this.dropzone,this.supports.dragdrop),this.browser?this.browser.on("mouseenter",this.refresh):(this.uploader.disableBrowse(!0),b("#"+this.uploader.id+"_html5_container").hide()),this.uploader.bind("FilesAdded",function(a,b){_.each(b,function(a){var b,d;plupload.FAILED!==a.status&&(b=_.extend({file:a,uploading:!0,date:new Date,filename:a.name,menuOrder:0,uploadedTo:wp.media.model.settings.post.id},_.pick(a,"loaded","size","percent")),d=/(?:jpe?g|png|gif)$/i.exec(a.name),d&&(b.type="image",b.subtype="jpg"===d[0]?"jpeg":d[0]),a.attachment=wp.media.model.Attachment.create(b),c.queue.add(a.attachment),f.added(a.attachment))}),a.refresh(),a.start()}),this.uploader.bind("UploadProgress",function(a,b){b.attachment.set(_.pick(b,"loaded","percent")),f.progress(b.attachment)}),this.uploader.bind("FileUploaded",function(a,b,d){var g;try{d=JSON.parse(d.response)}catch(h){return e(pluploadL10n.default_error,h,b)}return!_.isObject(d)||_.isUndefined(d.success)?e(pluploadL10n.default_error,null,b):d.success?(_.each(["file","loaded","size","percent"],function(a){b.attachment.unset(a)}),b.attachment.set(_.extend(d.data,{uploading:!1})),wp.media.model.Attachment.get(d.data.id,b.attachment),g=c.queue.all(function(a){return!a.get("uploading")}),g&&c.queue.reset(),f.success(b.attachment),void 0):e(d.data&&d.data.message,d.data,b)}),this.uploader.bind("Error",function(a,b){var d,f=pluploadL10n.default_error;for(d in c.errorMap)if(b.code===plupload[d]){f=c.errorMap[d],_.isFunction(f)&&(f=f(b.file,b));break}e(f,b,b.file),a.refresh()}),this.init())}},b.extend(c,_wpPluploadSettings),c.uuid=0,c.errorMap={FAILED:pluploadL10n.upload_failed,FILE_EXTENSION_ERROR:pluploadL10n.invalid_filetype,IMAGE_FORMAT_ERROR:pluploadL10n.not_an_image,IMAGE_MEMORY_ERROR:pluploadL10n.image_memory_exceeded,IMAGE_DIMENSIONS_ERROR:pluploadL10n.image_dimensions_exceeded,GENERIC_ERROR:pluploadL10n.upload_failed,IO_ERROR:pluploadL10n.io_error,HTTP_ERROR:pluploadL10n.http_error,SECURITY_ERROR:pluploadL10n.security_error,FILE_SIZE_ERROR:function(a){return pluploadL10n.file_exceeds_size_limit.replace("%s",a.name)}},b.extend(c.prototype,{param:function(a,c){return 1===arguments.length&&"string"==typeof a?this.uploader.settings.multipart_params[a]:(arguments.length>1?this.uploader.settings.multipart_params[a]=c:b.extend(this.uploader.settings.multipart_params,a),void 0)},init:function(){},error:function(){},success:function(){},added:function(){},progress:function(){},complete:function(){},refresh:function(){var a,c,d,e;if(this.browser){for(a=this.browser[0];a;){if(a===document.body){c=!0;break}a=a.parentNode}c||(e="wp-uploader-browser-"+this.uploader.id,d=b("#"+e),d.length||(d=b('<div class="wp-uploader-browser" />').css({position:"fixed",top:"-1000px",left:"-1000px",height:0,width:0}).attr("id","wp-uploader-browser-"+this.uploader.id).appendTo("body")),d.append(this.browser))}this.uploader.refresh()}}),c.queue=new wp.media.model.Attachments([],{query:!1}),c.errors=new Backbone.Collection,a.Uploader=c)}(wp,jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a,b){var c;"undefined"!=typeof _wpPluploadSettings&&(c=function(a){var d,e,f=this,g=-1!=navigator.userAgent.indexOf("Trident/")||-1!=navigator.userAgent.indexOf("MSIE "),h={container:"container",browser:"browse_button",dropzone:"drop_element"};if(this.supports={upload:c.browser.supported},this.supported=this.supports.upload,this.supported){this.plupload=b.extend(!0,{multipart_params:{}},c.defaults),this.container=document.body,b.extend(!0,this,a);for(d in this)b.isFunction(this[d])&&(this[d]=b.proxy(this[d],this));for(d in h)this[d]&&(this[d]=b(this[d]).first(),this[d].length?(this[d].prop("id")||this[d].prop("id","__wp-uploader-id-"+c.uuid++),this.plupload[h[d]]=this[d].prop("id")):delete this[d]);(this.browser&&this.browser.length||this.dropzone&&this.dropzone.length)&&(g||"flash"!==plupload.predictRuntime(this.plupload)||this.plupload.required_features&&this.plupload.required_features.hasOwnProperty("send_binary_string")||(this.plupload.required_features=this.plupload.required_features||{},this.plupload.required_features.send_binary_string=!0),this.uploader=new plupload.Uploader(this.plupload),delete this.plupload,this.param(this.params||{}),delete this.params,e=function(a,b,d){d.attachment&&d.attachment.destroy(),c.errors.unshift({message:a||pluploadL10n.default_error,data:b,file:d}),f.error(a,b,d)},this.uploader.bind("init",function(a){var d,e,g,h=f.dropzone;if(g=f.supports.dragdrop=a.features.dragdrop&&!c.browser.mobile,h){if(h.toggleClass("supports-drag-drop",!!g),!g)return h.unbind(".wp-uploader");h.bind("dragover.wp-uploader",function(){d&&clearTimeout(d),e||(h.trigger("dropzone:enter").addClass("drag-over"),e=!0)}),h.bind("dragleave.wp-uploader, drop.wp-uploader",function(){d=setTimeout(function(){e=!1,h.trigger("dropzone:leave").removeClass("drag-over")},0)}),b(f).trigger("uploader:ready")}}),this.uploader.init(),this.browser?this.browser.on("mouseenter",this.refresh):(this.uploader.disableBrowse(!0),b("#"+this.uploader.id+"_html5_container").hide()),this.uploader.bind("FilesAdded",function(a,b){_.each(b,function(a){var b,d;plupload.FAILED!==a.status&&(b=_.extend({file:a,uploading:!0,date:new Date,filename:a.name,menuOrder:0,uploadedTo:wp.media.model.settings.post.id},_.pick(a,"loaded","size","percent")),d=/(?:jpe?g|png|gif)$/i.exec(a.name),d&&(b.type="image",b.subtype="jpg"===d[0]?"jpeg":d[0]),a.attachment=wp.media.model.Attachment.create(b),c.queue.add(a.attachment),f.added(a.attachment))}),a.refresh(),a.start()}),this.uploader.bind("UploadProgress",function(a,b){b.attachment.set(_.pick(b,"loaded","percent")),f.progress(b.attachment)}),this.uploader.bind("FileUploaded",function(a,b,d){var g;try{d=JSON.parse(d.response)}catch(h){return e(pluploadL10n.default_error,h,b)}return!_.isObject(d)||_.isUndefined(d.success)?e(pluploadL10n.default_error,null,b):d.success?(_.each(["file","loaded","size","percent"],function(a){b.attachment.unset(a)}),b.attachment.set(_.extend(d.data,{uploading:!1})),wp.media.model.Attachment.get(d.data.id,b.attachment),g=c.queue.all(function(a){return!a.get("uploading")}),g&&c.queue.reset(),void f.success(b.attachment)):e(d.data&&d.data.message,d.data,b)}),this.uploader.bind("Error",function(a,b){var d,f=pluploadL10n.default_error;for(d in c.errorMap)if(b.code===plupload[d]){f=c.errorMap[d],_.isFunction(f)&&(f=f(b.file,b));break}e(f,b,b.file),a.refresh()}),this.uploader.bind("PostInit",function(){f.init()}))}},b.extend(c,_wpPluploadSettings),c.uuid=0,c.errorMap={FAILED:pluploadL10n.upload_failed,FILE_EXTENSION_ERROR:pluploadL10n.invalid_filetype,IMAGE_FORMAT_ERROR:pluploadL10n.not_an_image,IMAGE_MEMORY_ERROR:pluploadL10n.image_memory_exceeded,IMAGE_DIMENSIONS_ERROR:pluploadL10n.image_dimensions_exceeded,GENERIC_ERROR:pluploadL10n.upload_failed,IO_ERROR:pluploadL10n.io_error,HTTP_ERROR:pluploadL10n.http_error,SECURITY_ERROR:pluploadL10n.security_error,FILE_SIZE_ERROR:function(a){return pluploadL10n.file_exceeds_size_limit.replace("%s",a.name)}},b.extend(c.prototype,{param:function(a,c){return 1===arguments.length&&"string"==typeof a?this.uploader.settings.multipart_params[a]:void(arguments.length>1?this.uploader.settings.multipart_params[a]=c:b.extend(this.uploader.settings.multipart_params,a))},init:function(){},error:function(){},success:function(){},added:function(){},progress:function(){},complete:function(){},refresh:function(){var a,c,d,e;if(this.browser){for(a=this.browser[0];a;){if(a===document.body){c=!0;break}a=a.parentNode}c||(e="wp-uploader-browser-"+this.uploader.id,d=b("#"+e),d.length||(d=b('<div class="wp-uploader-browser" />').css({position:"fixed",top:"-1000px",left:"-1000px",height:0,width:0}).attr("id","wp-uploader-browser-"+this.uploader.id).appendTo("body")),d.append(this.browser))}this.uploader.refresh()}}),c.queue=new wp.media.model.Attachments([],{query:!1}),c.errors=new Backbone.Collection,a.Uploader=c)}(wp,jQuery);
\ No newline at end of file
index b55a55e3eb2724babf8f231e8ab54d6ddf7ff93d..9fc9c69d4a5f8ed05287b88d140791dcec1b7f71 100644 (file)
@@ -1,4 +1,4 @@
-/* global adminpage, wpActiveEditor, quicktagsL10n, wpLink, fullscreen, prompt */
+/* global adminpage, wpActiveEditor, quicktagsL10n, wpLink, prompt */
 /*
  * Quicktags
  *
@@ -185,6 +185,9 @@ function edButton(id, display, tagStart, tagEnd, access) {
                tb = document.createElement('div');
                tb.id = toolbar_id;
                tb.className = 'quicktags-toolbar';
+               tb.onclick = function() {
+                       window.wpActiveEditor = id;
+               };
 
                canvas.parentNode.insertBefore(tb, canvas);
                t.toolbar = tb;
@@ -403,7 +406,10 @@ function edButton(id, display, tagStart, tagEnd, access) {
        };
        qt.Button.prototype.html = function(idPrefix) {
                var access = this.access ? ' accesskey="' + this.access + '"' : '';
-               return '<input type="button" id="' + idPrefix + this.id + '"' + access + ' class="ed_button" title="' + this.title + '" value="' + this.display + '" />';
+               if ( this.id === 'fullscreen' ) {
+                       return '<button type="button" id="' + idPrefix + this.id + '"' + access + ' class="ed_button qt-fullscreen" title="' + this.title + '"></button>';
+               }
+               return '<input type="button" id="' + idPrefix + this.id + '"' + access + ' class="ed_button button button-small" title="' + this.title + '" value="' + this.display + '" />';
        };
        qt.Button.prototype.callback = function(){};
 
@@ -563,8 +569,8 @@ function edButton(id, display, tagStart, tagEnd, access) {
        qt.LinkButton.prototype.callback = function(e, c, ed, defaultValue) {
                var URL, t = this;
 
-               if ( typeof(wpLink) !== 'undefined' ) {
-                       wpLink.open();
+               if ( typeof wpLink !== 'undefined' ) {
+                       wpLink.open( ed.id );
                        return;
                }
 
@@ -605,11 +611,11 @@ function edButton(id, display, tagStart, tagEnd, access) {
        };
        qt.FullscreenButton.prototype = new qt.Button();
        qt.FullscreenButton.prototype.callback = function(e, c) {
-               if ( !c.id || typeof(fullscreen) === 'undefined' ) {
+               if ( ! c.id || typeof wp === 'undefined' || ! wp.editor || ! wp.editor.fullscreen ) {
                        return;
                }
 
-               fullscreen.on();
+               wp.editor.fullscreen.on();
        };
 
        qt.TextDirectionButton = function() {
@@ -640,7 +646,7 @@ function edButton(id, display, tagStart, tagEnd, access) {
        edButtons[90] = new qt.TagButton('ol','ol','<ol>\n','</ol>\n\n','o'),
        edButtons[100] = new qt.TagButton('li','li','\t<li>','</li>\n','l'),
        edButtons[110] = new qt.TagButton('code','code','<code>','</code>','c'),
-       edButtons[120] = new qt.TagButton('more','more','<!--more-->','','t'),
+       edButtons[120] = new qt.TagButton('more','more','<!--more-->\n\n','','t'),
        edButtons[140] = new qt.CloseButton();
 
 })();
index 49fe85286fd821034bc66c50af1767290e9e72ba..710a2f389e457028b6d278c2c7793393603c871e 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 setTimeout(f,50),void 0}c.ready()},f()),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",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,a.instances[0]||(a.instances[0]=a.instances[h],b(function(){a._buttonsInit()})),void 0):!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+"_")),"rtl"===document.getElementsByTagName("html")[0].dir&&(e.textdirection=new a.TextDirectionButton,f+=e.textdirection.html(c+"_")),h.toolbar.innerHTML=f,h.theButtons=e}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.focus(),g.selectionStart=c+a.length,g.selectionEnd=c+a.length,g.scrollTop=e):(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=c,f.title=d||"",f.instance=e||""},a.Button.prototype.html=function(a){var b=this.access?' accesskey="'+this.access+'"':"";return'<input type="button" id="'+a+this.id+'"'+b+' class="ed_button" title="'+this.title+'" 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.focus(),b.selectionStart=f,b.selectionEnd=f,b.scrollTop=g):(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")},a.LinkButton.prototype=new a.TagButton,a.LinkButton.prototype.callback=function(b,c,d,e){var f,g=this;return"undefined"!=typeof wpLink?(wpLink.open(),void 0):(e||(e="http://"),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),void 0)},a.ImgButton=function(){a.TagButton.call(this,"img","img","","","m")},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 fullscreen&&fullscreen.on()},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>","b"),edButtons[20]=new a.TagButton("em","i","<em>","</em>","i"),edButtons[30]=new a.LinkButton,edButtons[40]=new a.TagButton("block","b-quote","\n\n<blockquote>","</blockquote>\n\n","q"),edButtons[50]=new a.TagButton("del","del",'<del datetime="'+c+'">',"</del>","d"),edButtons[60]=new a.TagButton("ins","ins",'<ins datetime="'+c+'">',"</ins>","s"),edButtons[70]=new a.ImgButton,edButtons[80]=new a.TagButton("ul","ul","<ul>\n","</ul>\n\n","u"),edButtons[90]=new a.TagButton("ol","ol","<ol>\n","</ol>\n\n","o"),edButtons[100]=new a.TagButton("li","li"," <li>","</li>\n","l"),edButtons[110]=new a.TagButton("code","code","<code>","</code>","c"),edButtons[120]=new a.TagButton("more","more","<!--more-->","","t"),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(){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+"_")),"rtl"===document.getElementsByTagName("html")[0].dir&&(e.textdirection=new a.TextDirectionButton,f+=e.textdirection.html(c+"_")),h.toolbar.innerHTML=f,h.theButtons=e}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.focus(),g.selectionStart=c+a.length,g.selectionEnd=c+a.length,g.scrollTop=e):(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=c,f.title=d||"",f.instance=e||""},a.Button.prototype.html=function(a){var b=this.access?' accesskey="'+this.access+'"':"";return"fullscreen"===this.id?'<button type="button" id="'+a+this.id+'"'+b+' class="ed_button qt-fullscreen" title="'+this.title+'"></button>':'<input type="button" id="'+a+this.id+'"'+b+' class="ed_button button button-small" title="'+this.title+'" 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.focus(),b.selectionStart=f,b.selectionEnd=f,b.scrollTop=g):(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")},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","","","m")},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.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>","b"),edButtons[20]=new a.TagButton("em","i","<em>","</em>","i"),edButtons[30]=new a.LinkButton,edButtons[40]=new a.TagButton("block","b-quote","\n\n<blockquote>","</blockquote>\n\n","q"),edButtons[50]=new a.TagButton("del","del",'<del datetime="'+c+'">',"</del>","d"),edButtons[60]=new a.TagButton("ins","ins",'<ins datetime="'+c+'">',"</ins>","s"),edButtons[70]=new a.ImgButton,edButtons[80]=new a.TagButton("ul","ul","<ul>\n","</ul>\n\n","u"),edButtons[90]=new a.TagButton("ol","ol","<ol>\n","</ol>\n\n","o"),edButtons[100]=new a.TagButton("li","li","        <li>","</li>\n","l"),edButtons[110]=new a.TagButton("code","code","<code>","</code>","c"),edButtons[120]=new a.TagButton("more","more","<!--more-->\n\n","","t"),edButtons[140]=new a.CloseButton}();
\ No newline at end of file
index f38172c38d8b4c4290ae62eb639c4f9e07f10f42..e27bd371f34d4da506ba790ff97e070ae1632ef9 100644 (file)
@@ -32,7 +32,7 @@ function fileQueued(fileObj) {
 function uploadStart(fileObj) {
        try {
                if ( typeof topWin.tb_remove != 'undefined' )
-                       topWin.jQuery('#TB_overlay').unbind('click', topWin.tb_remove); 
+                       topWin.jQuery('#TB_overlay').unbind('click', topWin.tb_remove);
        } catch(e){}
 
        return true;
@@ -212,11 +212,12 @@ function updateMediaForm() {
        else
                jQuery('.savebutton').hide();
 
-       // Only show Gallery button when there are at least two files.
-       if ( items.length > 1 )
+       // Only show Gallery buttons when there are at least two files.
+       if ( items.length > 1 ) {
                jQuery('.insert-gallery').show();
-       else
+       } else {
                jQuery('.insert-gallery').hide();
+       }
 }
 
 function uploadSuccess(fileObj, serverData) {
index 25ea69cdaf8b985254e243ba4feca580592313df..45e3f48a5164afc1e37824c05f65a7f8e89a4c1f 100644 (file)
@@ -1,82 +1,29 @@
-
-/* ----------------------------------------------------------------------------------------------------------------*/
-/* ---------->>> thickbox specific link and font settings <<<------------------------------------------------------*/
-/* ----------------------------------------------------------------------------------------------------------------*/
-#TB_window {
-       font: 12px "Open Sans", sans-serif;
-       color: #333333;
-}
-
-#TB_secondLine {
-       font: 10px "Open Sans", sans-serif;
-       color:#666666;
-}
-
-.rtl #TB_window,
-.rtl #TB_secondLine {
-       font-family: Tahoma, sans-serif;
-}
-
-:lang(he-il) .rtl #TB_window,
-:lang(he-il) .rtl #TB_secondLine {
-       font-family: Arial, sans-serif;
-}
-
-#TB_window a:link {color: #666666;}
-#TB_window a:visited {color: #666666;}
-#TB_window a:hover {color: #000;}
-#TB_window a:active {color: #666666;}
-#TB_window a:focus{color: #666666;}
-
-/* ----------------------------------------------------------------------------------------------------------------*/
-/* ---------->>> thickbox settings <<<-----------------------------------------------------------------------------*/
-/* ----------------------------------------------------------------------------------------------------------------*/
 #TB_overlay {
+       background: #000;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
        position: fixed;
-       z-index:510; /* should overlap theme modal, which is 500 on mobile. */
-       top: 0px;
-       left: 0px;
-       height:100%;
-       width:100%;
-}
-
-.TB_overlayMacFFBGHack {background: url(macFFBgHack.png) repeat;}
-.TB_overlayBG {
-       background-color:#000;
-       -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
-       filter:alpha(opacity=75);
-       -moz-opacity: 0.75;
-       opacity: 0.75;
-}
-
-* html #TB_overlay { /* ie6 hack */
-     position: absolute;
-     height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
+       top: 0;
+       right: 0;
+       bottom: 0;
+       left: 0;
+       z-index: 100050; /* Above DFW. */
 }
 
 #TB_window {
        position: fixed;
-       background: #ffffff;
-       z-index: 510; /* should overlap theme modal, which is 500 on mobile. */
-       color:#000000;
+       background: #fff;
+       z-index: 100050; /* Above DFW. */
        visibility: hidden;
-       text-align:left;
-       top:50%;
-       left:50%;
-       border: 1px solid #555;
-       -moz-box-shadow: rgba(0,0,0,1) 0 4px 30px;
-       -webkit-box-shadow: rgba(0,0,0,1) 0 4px 30px;
-       -khtml-box-shadow: rgba(0,0,0,1) 0 4px 30px;
-       box-shadow: rgba(0,0,0,1) 0 4px 30px;
-}
-
-* html #TB_window { /* ie6 hack */
-position: absolute;
-margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
+       text-align: left;
+       top: 50%;
+       left: 50%;
+       -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
+       box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
 }
 
 #TB_window img#TB_Image {
-       display:block;
+       display: block;
        margin: 15px 0 0 15px;
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
@@ -85,112 +32,107 @@ margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = d
 }
 
 #TB_caption{
-       height:25px;
-       padding:7px 30px 10px 25px;
-       float:left;
+       height: 25px;
+       padding: 7px 30px 10px 25px;
+       float: left;
 }
 
-#TB_closeWindow{
-       height:25px;
-       padding:11px 25px 10px 0;
-       float:right;
+#TB_closeWindow {
+       height: 25px;
+       padding: 11px 25px 10px 0;
+       float: right;
 }
 
-#TB_closeAjaxWindow{
-       padding:6px 10px 0;
-       text-align:right;
-       float:right;
+#TB_closeAjaxWindow {
+       float: right;
 }
 
 #TB_closeAjaxWindow a {
        text-decoration: none;
 }
 
-#TB_ajaxWindowTitle{
-       float:left;
-       padding:6px 10px 0;
+#TB_ajaxWindowTitle {
+       float: left;
+       font-weight: 600;
+       line-height: 29px;
+       overflow: hidden; 
+       padding: 0 29px 0 10px;
+       text-overflow: ellipsis;
+       white-space: nowrap;
+       width: calc( 100% - 39px );
 }
 
-#TB_title{
-       background-color:#e8e8e8;
-       height:27px;
+#TB_title {
+       background: #fcfcfc;
+       border-bottom: 1px solid #dfdfdf;
+       height: 29px;
 }
 
-#TB_ajaxContent{
-       clear:both;
-       padding:2px 15px 15px 15px;
-       overflow:auto;
-       text-align:left;
-       line-height:1.4em;
+#TB_ajaxContent {
+       clear: both;
+       padding: 2px 15px 15px 15px;
+       overflow: auto;
+       text-align: left;
+       line-height: 1.4em;
 }
 
-#TB_ajaxContent.TB_modal{
-       padding:15px;
+#TB_ajaxContent.TB_modal {
+       padding: 15px;
 }
 
-#TB_ajaxContent p{
-       padding:5px 0px 5px 0px;
+#TB_ajaxContent p {
+       padding: 5px 0px 5px 0px;
 }
 
-#TB_load{
+#TB_load {
        position: fixed;
-       display:none;
-       z-index:103;
+       display: none;
+       z-index: 103;
        top: 50%;
        left: 50%;
        background-color: #E8E8E8;
        border: 1px solid #555;
-       margin: -45px 0pt 0pt -125px;
+       margin: -45px 0 0 -125px;
        padding: 40px 15px 15px;
 }
 
-* html #TB_load { /* ie6 hack */
-position: absolute;
-margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
-}
-
-#TB_HideSelect{
-       z-index:99;
-       position:fixed;
+#TB_HideSelect {
+       z-index: 99;
+       position: fixed;
        top: 0;
        left: 0;
-       background-color:#fff;
-       border:none;
-       filter:alpha(opacity=0);
-       -moz-opacity: 0;
+       background-color: #fff;
+       border: none;
+       filter: alpha(opacity=0);
        opacity: 0;
-       height:100%;
-       width:100%;
+       height: 100%;
+       width: 100%;
 }
 
-* html #TB_HideSelect { /* ie6 hack */
-     position: absolute;
-     height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
-}
-
-#TB_iframeContent{
-       clear:both;
-       border:none;
-       margin-bottom:-1px;
-       _margin-bottom:1px;
+#TB_iframeContent {
+       clear: both;
+       border: none;
 }
 
 .tb-close-icon {
-       height: 16px;
-       margin: -3px -3px 0 0;
-       width: 16px;
+       color: #666;
+       text-align: center;
+       line-height: 29px;
+       width: 29px;
+       height: 29px;
+       position: absolute;
+       top: 0;
+       right: 0;
 }
 
 .tb-close-icon:before {
        content: '\f158';
-       color: #ccc;
-       font: normal 20px/1 'dashicons';
+       font: normal 20px/29px 'dashicons';
        speak: none;
-       vertical-align: middle;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
 }
 
-.tb-close-icon:hover:before {
-       color: #fff;
-}
\ No newline at end of file
+.tb-close-icon:hover {
+       color: #2ea2cc;
+}
index e874446b80dcce06f8f2b3a29cb9d101978ced5a..0371bd28d0643d5e1ef7c5e1f104836c26cea526 100644 (file)
@@ -156,11 +156,8 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
                        }
 
                        jQuery(document).bind('keydown.thickbox', function(e){
-                               e.stopImmediatePropagation();
-
                                if ( e.which == 27 ){ // close
-                                       if ( ! jQuery(document).triggerHandler( 'wp_CloseOnEscape', [{ event: e, what: 'thickbox', cb: tb_remove }] ) )
-                                               tb_remove();
+                                       tb_remove();
 
                                } else if ( e.which == 190 ){ // display previous image
                                        if(!(TB_NextHTML == "")){
@@ -244,13 +241,9 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
                }
 
                if(!params['modal']){
-                       jQuery(document).bind('keyup.thickbox', function(e){
-
+                       jQuery(document).bind('keydown.thickbox', function(e){
                                if ( e.which == 27 ){ // close
-                                       e.stopImmediatePropagation();
-                                       if ( ! jQuery(document).triggerHandler( 'wp_CloseOnEscape', [{ event: e, what: 'thickbox', cb: tb_remove }] ) )
-                                               tb_remove();
-
+                                       tb_remove();
                                        return false;
                                }
                        });
index 8afafa61fd97b485b8f345b27582963c67042be2..f31606d6810bc813db32173a64c0d065e5568b44 100644 (file)
-tinyMCE.addI18n({en:{
-common:{
-edit_confirm:"Do you want to use the WYSIWYG mode for this textarea?",
-apply:"Apply",
-insert:"Insert",
-update:"Update",
-cancel:"Cancel",
-close:"Close",
-browse:"Browse",
-class_name:"Class",
-not_set:"-- Not set --",
-clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.",
-clipboard_no_support:"Currently not supported by your browser, use keyboard shortcuts instead.",
-popup_blocked:"Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.",
-invalid_data:"ERROR: Invalid values entered, these are marked in red.",
-invalid_data_number:"{#field} must be a number",
-invalid_data_min:"{#field} must be a number greater than {#min}",
-invalid_data_size:"{#field} must be a number or percentage",
-more_colors:"More colors"
-},
-colors:{
-"000000":"Black",
-"993300":"Burnt orange",
-"333300":"Dark olive",
-"003300":"Dark green",
-"003366":"Dark azure",
-"000080":"Navy Blue",
-"333399":"Indigo",
-"333333":"Very dark gray",
-"800000":"Maroon",
-"FF6600":"Orange",
-"808000":"Olive",
-"008000":"Green",
-"008080":"Teal",
-"0000FF":"Blue",
-"666699":"Grayish blue",
-"808080":"Gray",
-"FF0000":"Red",
-"FF9900":"Amber",
-"99CC00":"Yellow green",
-"339966":"Sea green",
-"33CCCC":"Turquoise",
-"3366FF":"Royal blue",
-"800080":"Purple",
-"999999":"Medium gray",
-"FF00FF":"Magenta",
-"FFCC00":"Gold",
-"FFFF00":"Yellow",
-"00FF00":"Lime",
-"00FFFF":"Aqua",
-"00CCFF":"Sky blue",
-"993366":"Brown",
-"C0C0C0":"Silver",
-"FF99CC":"Pink",
-"FFCC99":"Peach",
-"FFFF99":"Light yellow",
-"CCFFCC":"Pale green",
-"CCFFFF":"Pale cyan",
-"99CCFF":"Light sky blue",
-"CC99FF":"Plum",
-"FFFFFF":"White"
-},
-contextmenu:{
-align:"Alignment",
-left:"Left",
-center:"Center",
-right:"Right",
-full:"Full"
-},
-insertdatetime:{
-date_fmt:"%Y-%m-%d",
-time_fmt:"%H:%M:%S",
-insertdate_desc:"Insert date",
-inserttime_desc:"Insert time",
-months_long:"January,February,March,April,May,June,July,August,September,October,November,December",
-months_short:"Jan_January_abbreviation,Feb_February_abbreviation,Mar_March_abbreviation,Apr_April_abbreviation,May_May_abbreviation,Jun_June_abbreviation,Jul_July_abbreviation,Aug_August_abbreviation,Sep_September_abbreviation,Oct_October_abbreviation,Nov_November_abbreviation,Dec_December_abbreviation",
-day_long:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday",
-day_short:"Sun,Mon,Tue,Wed,Thu,Fri,Sat"
-},
-print:{
-print_desc:"Print"
-},
-preview:{
-preview_desc:"Preview"
-},
-directionality:{
-ltr_desc:"Direction left to right",
-rtl_desc:"Direction right to left"
-},
-layer:{
-insertlayer_desc:"Insert new layer",
-forward_desc:"Move forward",
-backward_desc:"Move backward",
-absolute_desc:"Toggle absolute positioning",
-content:"New layer..."
-},
-save:{
-save_desc:"Save",
-cancel_desc:"Cancel all changes"
-},
-nonbreaking:{
-nonbreaking_desc:"Insert non-breaking space character"
-},
-iespell:{
-iespell_desc:"Run spell checking",
-download:"ieSpell not detected. Do you want to install it now?"
-},
-advhr:{
-advhr_desc:"Horizontal rule"
-},
-emotions:{
-emotions_desc:"Emotions"
-},
-searchreplace:{
-search_desc:"Find",
-replace_desc:"Find/Replace"
-},
-advimage:{
-image_desc:"Insert/edit image"
-},
-advlink:{
-link_desc:"Insert/edit link"
-},
-xhtmlxtras:{
-cite_desc:"Citation",
-abbr_desc:"Abbreviation",
-acronym_desc:"Acronym",
-del_desc:"Deletion",
-ins_desc:"Insertion",
-attribs_desc:"Insert/Edit Attributes"
-},
-style:{
-desc:"Edit CSS Style"
-},
-paste:{
-paste_text_desc:"Paste as Plain Text",
-paste_word_desc:"Paste from Word",
-selectall_desc:"Select All",
-plaintext_mode_sticky:"Paste is now in plain text mode. Click again to toggle back to regular paste mode. After you paste something you will be returned to regular paste mode.",
-plaintext_mode:"Paste is now in plain text mode. Click again to toggle back to regular paste mode."
-},
-paste_dlg:{
-text_title:"Use CTRL + V on your keyboard to paste the text into the window.",
-text_linebreaks:"Keep linebreaks",
-word_title:"Use CTRL + V on your keyboard to paste the text into the window."
-},
-table:{
-desc:"Inserts a new table",
-row_before_desc:"Insert row before",
-row_after_desc:"Insert row after",
-delete_row_desc:"Delete row",
-col_before_desc:"Insert column before",
-col_after_desc:"Insert column after",
-delete_col_desc:"Remove column",
-split_cells_desc:"Split merged table cells",
-merge_cells_desc:"Merge table cells",
-row_desc:"Table row properties",
-cell_desc:"Table cell properties",
-props_desc:"Table properties",
-paste_row_before_desc:"Paste table row before",
-paste_row_after_desc:"Paste table row after",
-cut_row_desc:"Cut table row",
-copy_row_desc:"Copy table row",
-del:"Delete table",
-row:"Row",
-col:"Column",
-cell:"Cell"
-},
-autosave:{
-unload_msg:"The changes you made will be lost if you navigate away from this page."
-},
-fullscreen:{
-desc:"Toggle fullscreen mode (Alt + Shift + G)"
-},
-media:{
-desc:"Insert / edit embedded media",
-edit:"Edit embedded media"
-},
-fullpage:{
-desc:"Document properties"
-},
-template:{
-desc:"Insert predefined template content"
-},
-visualchars:{
-desc:"Visual control characters on/off."
-},
-spellchecker:{
-desc:"Toggle spellchecker (Alt + Shift + N)",
-menu:"Spellchecker settings",
-ignore_word:"Ignore word",
-ignore_words:"Ignore all",
-langs:"Languages",
-wait:"Please wait...",
-sug:"Suggestions",
-no_sug:"No suggestions",
-no_mpell:"No misspellings found.",
-learn_word:"Learn word" 
-},
-pagebreak:{
-desc:"Insert Page Break"
-},
-advlist:{
-types:"Types",
-def:"Default",
-lower_alpha:"Lower alpha",
-lower_greek:"Lower greek",
-lower_roman:"Lower roman",
-upper_alpha:"Upper alpha",
-upper_roman:"Upper roman",
-circle:"Circle",
-disc:"Disc",
-square:"Square"
-},
-aria:{
-rich_text_area:"Rich Text Area"
-},
-wordcount:{
-words:"Words: "
-}
-}});
+/**
+ * TinyMCE 3.x language strings
+ *
+ * Loaded only when external plugins are added to TinyMCE.
+ */
+( function() {
+       var main = {}, lang = 'en';
 
-tinyMCE.addI18n("en.advanced",{
-style_select:"Styles",
-font_size:"Font size",
-fontdefault:"Font family",
-block:"Format",
-paragraph:"Paragraph",
-div:"Div",
-address:"Address",
-pre:"Preformatted",
-h1:"Heading 1",
-h2:"Heading 2",
-h3:"Heading 3",
-h4:"Heading 4",
-h5:"Heading 5",
-h6:"Heading 6",
-blockquote:"Blockquote",
-code:"Code",
-samp:"Code sample",
-dt:"Definition term ",
-dd:"Definition description",
-bold_desc:"Bold (Ctrl + B)",
-italic_desc:"Italic (Ctrl + I)",
-underline_desc:"Underline",
-striketrough_desc:"Strikethrough (Alt + Shift + D)",
-justifyleft_desc:"Align Left (Alt + Shift + L)",
-justifycenter_desc:"Align Center (Alt + Shift + C)",
-justifyright_desc:"Align Right (Alt + Shift + R)",
-justifyfull_desc:"Align Full (Alt + Shift + J)",
-bullist_desc:"Unordered list (Alt + Shift + U)",
-numlist_desc:"Ordered list (Alt + Shift + O)",
-outdent_desc:"Outdent",
-indent_desc:"Indent",
-undo_desc:"Undo (Ctrl + Z)",
-redo_desc:"Redo (Ctrl + Y)",
-link_desc:"Insert/edit link (Alt + Shift + A)",
-unlink_desc:"Unlink (Alt + Shift + S)",
-image_desc:"Insert/edit image (Alt + Shift + M)",
-cleanup_desc:"Cleanup messy code",
-code_desc:"Edit HTML Source",
-sub_desc:"Subscript",
-sup_desc:"Superscript",
-hr_desc:"Insert horizontal ruler",
-removeformat_desc:"Remove formatting",
-forecolor_desc:"Select text color",
-backcolor_desc:"Select background color",
-charmap_desc:"Insert custom character",
-visualaid_desc:"Toggle guidelines/invisible elements",
-anchor_desc:"Insert/edit anchor",
-cut_desc:"Cut",
-copy_desc:"Copy",
-paste_desc:"Paste",
-image_props_desc:"Image properties",
-newdocument_desc:"New document",
-help_desc:"Help",
-blockquote_desc:"Blockquote (Alt + Shift + Q)",
-clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.",
-path:"Path",
-newdocument:"Are you sure you want to clear all contents?",
-toolbar_focus:"Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X",
-more_colors:"More colors",
-shortcuts_desc:"Accessibility Help",
-help_shortcut:" Press ALT F10 for toolbar. Press ALT 0 for help.",
-rich_text_area:"Rich Text Area",
-toolbar:"Toolbar"
-});
+       if ( typeof tinyMCEPreInit !== 'undefined' && tinyMCEPreInit.ref.language !== 'en' ) {
+               lang = tinyMCEPreInit.ref.language;
+       }
 
-tinyMCE.addI18n("en.advanced_dlg",{
-about_title:"About TinyMCE",
-about_general:"About",
-about_help:"Help",
-about_license:"License",
-about_plugins:"Plugins",
-about_plugin:"Plugin",
-about_author:"Author",
-about_version:"Version",
-about_loaded:"Loaded plugins",
-anchor_title:"Insert/edit anchor",
-anchor_name:"Anchor name",
-code_title:"HTML Source Editor",
-code_wordwrap:"Word wrap",
-colorpicker_title:"Select a color",
-colorpicker_picker_tab:"Picker",
-colorpicker_picker_title:"Color picker",
-colorpicker_palette_tab:"Palette",
-colorpicker_palette_title:"Palette colors",
-colorpicker_named_tab:"Named",
-colorpicker_named_title:"Named colors",
-colorpicker_color:"Color:",
-colorpicker_name:"Name:",
-charmap_title:"Select custom character",
-charmap_usage:"Use left and right arrows to navigate.",
-image_title:"Insert/edit image",
-image_src:"Image URL",
-image_alt:"Image description",
-image_list:"Image list",
-image_border:"Border",
-image_dimensions:"Dimensions",
-image_vspace:"Vertical space",
-image_hspace:"Horizontal space",
-image_align:"Alignment",
-image_align_baseline:"Baseline",
-image_align_top:"Top",
-image_align_middle:"Middle",
-image_align_bottom:"Bottom",
-image_align_texttop:"Text top",
-image_align_textbottom:"Text bottom",
-image_align_left:"Left",
-image_align_right:"Right",
-link_title:"Insert/edit link",
-link_url:"Link URL",
-link_target:"Target",
-link_target_same:"Open link in the same window",
-link_target_blank:"Open link in a new window",
-link_titlefield:"Title",
-link_is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?",
-link_is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?",
-link_list:"Link list",
-accessibility_help:"Accessibility Help",
-accessibility_usage_title:"General Usage"
-});
+       main[lang] = {
+               common: {
+                       edit_confirm: "Do you want to use the WYSIWYG mode for this textarea?",
+                       apply: "Apply",
+                       insert: "Insert",
+                       update: "Update",
+                       cancel: "Cancel",
+                       close: "Close",
+                       browse: "Browse",
+                       class_name: "Class",
+                       not_set: "-- Not set --",
+                       clipboard_msg: "Copy/Cut/Paste is not available in Mozilla and Firefox.",
+                       clipboard_no_support: "Currently not supported by your browser, use keyboard shortcuts instead.",
+                       popup_blocked: "Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.",
+                       invalid_data: "ERROR: Invalid values entered, these are marked in red.",
+                       invalid_data_number: "{#field} must be a number",
+                       invalid_data_min: "{#field} must be a number greater than {#min}",
+                       invalid_data_size: "{#field} must be a number or percentage",
+                       more_colors: "More colors"
+               },
+               colors: {
+                       "000000": "Black",
+                       "993300": "Burnt orange",
+                       "333300": "Dark olive",
+                       "003300": "Dark green",
+                       "003366": "Dark azure",
+                       "000080": "Navy Blue",
+                       "333399": "Indigo",
+                       "333333": "Very dark gray",
+                       "800000": "Maroon",
+                       "FF6600": "Orange",
+                       "808000": "Olive",
+                       "008000": "Green",
+                       "008080": "Teal",
+                       "0000FF": "Blue",
+                       "666699": "Grayish blue",
+                       "808080": "Gray",
+                       "FF0000": "Red",
+                       "FF9900": "Amber",
+                       "99CC00": "Yellow green",
+                       "339966": "Sea green",
+                       "33CCCC": "Turquoise",
+                       "3366FF": "Royal blue",
+                       "800080": "Purple",
+                       "999999": "Medium gray",
+                       "FF00FF": "Magenta",
+                       "FFCC00": "Gold",
+                       "FFFF00": "Yellow",
+                       "00FF00": "Lime",
+                       "00FFFF": "Aqua",
+                       "00CCFF": "Sky blue",
+                       "993366": "Brown",
+                       "C0C0C0": "Silver",
+                       "FF99CC": "Pink",
+                       "FFCC99": "Peach",
+                       "FFFF99": "Light yellow",
+                       "CCFFCC": "Pale green",
+                       "CCFFFF": "Pale cyan",
+                       "99CCFF": "Light sky blue",
+                       "CC99FF": "Plum",
+                       "FFFFFF": "White"
+               },
+               contextmenu: {
+                       align: "Alignment",
+                       left: "Left",
+                       center: "Center",
+                       right: "Right",
+                       full: "Full"
+               },
+               insertdatetime: {
+                       date_fmt: "%Y-%m-%d",
+                       time_fmt: "%H:%M:%S",
+                       insertdate_desc: "Insert date",
+                       inserttime_desc: "Insert time",
+                       months_long: "January,February,March,April,May,June,July,August,September,October,November,December",
+                       months_short: "Jan_January_abbreviation,Feb_February_abbreviation,Mar_March_abbreviation,Apr_April_abbreviation,May_May_abbreviation,Jun_June_abbreviation,Jul_July_abbreviation,Aug_August_abbreviation,Sep_September_abbreviation,Oct_October_abbreviation,Nov_November_abbreviation,Dec_December_abbreviation",
+                       day_long: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday",
+                       day_short: "Sun,Mon,Tue,Wed,Thu,Fri,Sat"
+               },
+               print: {
+                       print_desc: "Print"
+               },
+               preview: {
+                       preview_desc: "Preview"
+               },
+               directionality: {
+                       ltr_desc: "Direction left to right",
+                       rtl_desc: "Direction right to left"
+               },
+               layer: {
+                       insertlayer_desc: "Insert new layer",
+                       forward_desc: "Move forward",
+                       backward_desc: "Move backward",
+                       absolute_desc: "Toggle absolute positioning",
+                       content: "New layer..."
+               },
+               save: {
+                       save_desc: "Save",
+                       cancel_desc: "Cancel all changes"
+               },
+               nonbreaking: {
+                       nonbreaking_desc: "Insert non-breaking space character"
+               },
+               iespell: {
+                       iespell_desc: "Run spell checking",
+                       download: "ieSpell not detected. Do you want to install it now?"
+               },
+               advhr: {
+                       advhr_desc: "Horizontal rule"
+               },
+               emotions: {
+                       emotions_desc: "Emotions"
+               },
+               searchreplace: {
+                       search_desc: "Find",
+                       replace_desc: "Find/Replace"
+               },
+               advimage: {
+                       image_desc: "Insert/edit image"
+               },
+               advlink: {
+                       link_desc: "Insert/edit link"
+               },
+               xhtmlxtras: {
+                       cite_desc: "Citation",
+                       abbr_desc: "Abbreviation",
+                       acronym_desc: "Acronym",
+                       del_desc: "Deletion",
+                       ins_desc: "Insertion",
+                       attribs_desc: "Insert/Edit Attributes"
+               },
+               style: {
+                       desc: "Edit CSS Style"
+               },
+               paste: {
+                       paste_text_desc: "Paste as Plain Text",
+                       paste_word_desc: "Paste from Word",
+                       selectall_desc: "Select All",
+                       plaintext_mode_sticky: "Paste is now in plain text mode. Click again to toggle back to regular paste mode. After you paste something you will be returned to regular paste mode.",
+                       plaintext_mode: "Paste is now in plain text mode. Click again to toggle back to regular paste mode."
+               },
+               paste_dlg: {
+                       text_title: "Use CTRL + V on your keyboard to paste the text into the window.",
+                       text_linebreaks: "Keep linebreaks",
+                       word_title: "Use CTRL + V on your keyboard to paste the text into the window."
+               },
+               table: {
+                       desc: "Inserts a new table",
+                       row_before_desc: "Insert row before",
+                       row_after_desc: "Insert row after",
+                       delete_row_desc: "Delete row",
+                       col_before_desc: "Insert column before",
+                       col_after_desc: "Insert column after",
+                       delete_col_desc: "Remove column",
+                       split_cells_desc: "Split merged table cells",
+                       merge_cells_desc: "Merge table cells",
+                       row_desc: "Table row properties",
+                       cell_desc: "Table cell properties",
+                       props_desc: "Table properties",
+                       paste_row_before_desc: "Paste table row before",
+                       paste_row_after_desc: "Paste table row after",
+                       cut_row_desc: "Cut table row",
+                       copy_row_desc: "Copy table row",
+                       del: "Delete table",
+                       row: "Row",
+                       col: "Column",
+                       cell: "Cell"
+               },
+               autosave: {
+                       unload_msg: "The changes you made will be lost if you navigate away from this page."
+               },
+               fullscreen: {
+                       desc: "Toggle fullscreen mode (Alt + Shift + G)"
+               },
+               media: {
+                       desc: "Insert / edit embedded media",
+                       edit: "Edit embedded media"
+               },
+               fullpage: {
+                       desc: "Document properties"
+               },
+               template: {
+                       desc: "Insert predefined template content"
+               },
+               visualchars: {
+                       desc: "Visual control characters on/off."
+               },
+               spellchecker: {
+                       desc: "Toggle spellchecker (Alt + Shift + N)",
+                       menu: "Spellchecker settings",
+                       ignore_word: "Ignore word",
+                       ignore_words: "Ignore all",
+                       langs: "Languages",
+                       wait: "Please wait...",
+                       sug: "Suggestions",
+                       no_sug: "No suggestions",
+                       no_mpell: "No misspellings found.",
+                       learn_word: "Learn word"
+               },
+               pagebreak: {
+                       desc: "Insert Page Break"
+               },
+               advlist:{
+                       types: "Types",
+                       def: "Default",
+                       lower_alpha: "Lower alpha",
+                       lower_greek: "Lower greek",
+                       lower_roman: "Lower roman",
+                       upper_alpha: "Upper alpha",
+                       upper_roman: "Upper roman",
+                       circle: "Circle",
+                       disc: "Disc",
+                       square: "Square"
+               },
+               aria: {
+                       rich_text_area: "Rich Text Area"
+               },
+               wordcount:{
+                       words: "Words: "
+               }
+       };
 
-tinyMCE.addI18n("en.media_dlg",{
-title:"Insert / edit embedded media",
-general:"General",
-advanced:"Advanced",
-file:"File/URL",
-list:"List",
-size:"Dimensions",
-preview:"Preview",
-constrain_proportions:"Constrain proportions",
-type:"Type",
-id:"Id",
-name:"Name",
-class_name:"Class",
-vspace:"V-Space",
-hspace:"H-Space",
-play:"Auto play",
-loop:"Loop",
-menu:"Show menu",
-quality:"Quality",
-scale:"Scale",
-align:"Align",
-salign:"SAlign",
-wmode:"WMode",
-bgcolor:"Background",
-base:"Base",
-flashvars:"Flashvars",
-liveconnect:"SWLiveConnect",
-autohref:"AutoHREF",
-cache:"Cache",
-hidden:"Hidden",
-controller:"Controller",
-kioskmode:"Kiosk mode",
-playeveryframe:"Play every frame",
-targetcache:"Target cache",
-correction:"No correction",
-enablejavascript:"Enable JavaScript",
-starttime:"Start time",
-endtime:"End time",
-href:"href",
-qtsrcchokespeed:"Choke speed",
-target:"Target",
-volume:"Volume",
-autostart:"Auto start",
-enabled:"Enabled",
-fullscreen:"Fullscreen",
-invokeurls:"Invoke URLs",
-mute:"Mute",
-stretchtofit:"Stretch to fit",
-windowlessvideo:"Windowless video",
-balance:"Balance",
-baseurl:"Base URL",
-captioningid:"Captioning id",
-currentmarker:"Current marker",
-currentposition:"Current position",
-defaultframe:"Default frame",
-playcount:"Play count",
-rate:"Rate",
-uimode:"UI Mode",
-flash_options:"Flash options",
-qt_options:"QuickTime options",
-wmp_options:"Windows media player options",
-rmp_options:"Real media player options",
-shockwave_options:"Shockwave options",
-autogotourl:"Auto goto URL",
-center:"Center",
-imagestatus:"Image status",
-maintainaspect:"Maintain aspect",
-nojava:"No java",
-prefetch:"Prefetch",
-shuffle:"Shuffle",
-console:"Console",
-numloop:"Num loops",
-controls:"Controls",
-scriptcallbacks:"Script callbacks",
-swstretchstyle:"Stretch style",
-swstretchhalign:"Stretch H-Align",
-swstretchvalign:"Stretch V-Align",
-sound:"Sound",
-progress:"Progress",
-qtsrc:"QT Src",
-qt_stream_warn:"Streamed rtsp resources should be added to the QT Src field under the advanced tab.",
-align_top:"Top",
-align_right:"Right",
-align_bottom:"Bottom",
-align_left:"Left",
-align_center:"Center",
-align_top_left:"Top left",
-align_top_right:"Top right",
-align_bottom_left:"Bottom left",
-align_bottom_right:"Bottom right",
-flv_options:"Flash video options",
-flv_scalemode:"Scale mode",
-flv_buffer:"Buffer",
-flv_startimage:"Start image",
-flv_starttime:"Start time",
-flv_defaultvolume:"Default volume",
-flv_hiddengui:"Hidden GUI",
-flv_autostart:"Auto start",
-flv_loop:"Loop",
-flv_showscalemodes:"Show scale modes",
-flv_smoothvideo:"Smooth video",
-flv_jscallback:"JS Callback",
-html5_video_options:"HTML5 Video Options",
-altsource1:"Alternative source 1",
-altsource2:"Alternative source 2",
-preload:"Preload",
-poster:"Poster",
-source:"Source"
-});
+       tinyMCE.addI18n( main );
 
-tinyMCE.addI18n("en.wordpress",{
-wp_adv_desc:"Show/Hide Kitchen Sink (Alt + Shift + Z)",
-wp_more_desc:"Insert More Tag (Alt + Shift + T)",
-wp_page_desc:"Insert Page break (Alt + Shift + P)",
-wp_help_desc:"Help (Alt + Shift + H)",
-wp_more_alt:"More...",
-wp_page_alt:"Next page...",
-add_media:"Add Media",
-add_image:"Add an Image",
-add_video:"Add Video",
-add_audio:"Add Audio",
-editgallery:"Edit Gallery",
-delgallery:"Delete Gallery",
-wp_fullscreen_desc:"Distraction Free Writing mode (Alt + Shift + W)"
-});
+       tinyMCE.addI18n( lang + ".advanced", {
+               style_select: "Styles",
+               font_size: "Font size",
+               fontdefault: "Font family",
+               block: "Format",
+               paragraph: "Paragraph",
+               div: "Div",
+               address: "Address",
+               pre: "Preformatted",
+               h1: "Heading 1",
+               h2: "Heading 2",
+               h3: "Heading 3",
+               h4: "Heading 4",
+               h5: "Heading 5",
+               h6: "Heading 6",
+               blockquote: "Blockquote",
+               code: "Code",
+               samp: "Code sample",
+               dt: "Definition term ",
+               dd: "Definition description",
+               bold_desc: "Bold (Ctrl + B)",
+               italic_desc: "Italic (Ctrl + I)",
+               underline_desc: "Underline",
+               striketrough_desc: "Strikethrough (Alt + Shift + D)",
+               justifyleft_desc: "Align Left (Alt + Shift + L)",
+               justifycenter_desc: "Align Center (Alt + Shift + C)",
+               justifyright_desc: "Align Right (Alt + Shift + R)",
+               justifyfull_desc: "Align Full (Alt + Shift + J)",
+               bullist_desc: "Unordered list (Alt + Shift + U)",
+               numlist_desc: "Ordered list (Alt + Shift + O)",
+               outdent_desc: "Outdent",
+               indent_desc: "Indent",
+               undo_desc: "Undo (Ctrl + Z)",
+               redo_desc: "Redo (Ctrl + Y)",
+               link_desc: "Insert/edit link (Alt + Shift + A)",
+               unlink_desc: "Unlink (Alt + Shift + S)",
+               image_desc: "Insert/edit image (Alt + Shift + M)",
+               cleanup_desc: "Cleanup messy code",
+               code_desc: "Edit HTML Source",
+               sub_desc: "Subscript",
+               sup_desc: "Superscript",
+               hr_desc: "Insert horizontal ruler",
+               removeformat_desc: "Remove formatting",
+               forecolor_desc: "Select text color",
+               backcolor_desc: "Select background color",
+               charmap_desc: "Insert custom character",
+               visualaid_desc: "Toggle guidelines/invisible elements",
+               anchor_desc: "Insert/edit anchor",
+               cut_desc: "Cut",
+               copy_desc: "Copy",
+               paste_desc: "Paste",
+               image_props_desc: "Image properties",
+               newdocument_desc: "New document",
+               help_desc: "Help",
+               blockquote_desc: "Blockquote (Alt + Shift + Q)",
+               clipboard_msg: "Copy/Cut/Paste is not available in Mozilla and Firefox.",
+               path: "Path",
+               newdocument: "Are you sure you want to clear all contents?",
+               toolbar_focus: "Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X",
+               more_colors: "More colors",
+               shortcuts_desc: "Accessibility Help",
+               help_shortcut: " Press ALT F10 for toolbar. Press ALT 0 for help.",
+               rich_text_area: "Rich Text Area",
+               toolbar: "Toolbar"
+       });
 
-tinyMCE.addI18n("en.wpeditimage",{
-edit_img:"Edit Image",
-del_img:"Delete Image",
-adv_settings:"Advanced Settings",
-none:"None",
-size:"Size",
-thumbnail:"Thumbnail",
-medium:"Medium",
-full_size:"Full Size",
-current_link:"Current Link",
-link_to_img:"Link to Image",
-link_help:"Enter a link URL or click above for presets.",
-adv_img_settings:"Advanced Image Settings",
-source:"Source",
-width:"Width",
-height:"Height",
-orig_size:"Original Size",
-css:"CSS Class",
-adv_link_settings:"Advanced Link Settings",
-link_rel:"Link Rel",
-height:"Height",
-orig_size:"Original Size",
-css:"CSS Class",
-s60:"60%",
-s70:"70%",
-s80:"80%",
-s90:"90%",
-s100:"100%",
-s110:"110%",
-s120:"120%",
-s130:"130%",
-img_title:"Title",
-caption:"Caption",
-alt:"Alternative Text"
-});
+       tinyMCE.addI18n( lang + ".advanced_dlg", {
+               about_title: "About TinyMCE",
+               about_general: "About",
+               about_help: "Help",
+               about_license: "License",
+               about_plugins: "Plugins",
+               about_plugin: "Plugin",
+               about_author: "Author",
+               about_version: "Version",
+               about_loaded: "Loaded plugins",
+               anchor_title: "Insert/edit anchor",
+               anchor_name: "Anchor name",
+               code_title: "HTML Source Editor",
+               code_wordwrap: "Word wrap",
+               colorpicker_title: "Select a color",
+               colorpicker_picker_tab: "Picker",
+               colorpicker_picker_title: "Color picker",
+               colorpicker_palette_tab: "Palette",
+               colorpicker_palette_title: "Palette colors",
+               colorpicker_named_tab: "Named",
+               colorpicker_named_title: "Named colors",
+               colorpicker_color: "Color: ",
+               colorpicker_name: "Name: ",
+               charmap_title: "Select custom character",
+               charmap_usage: "Use left and right arrows to navigate.",
+               image_title: "Insert/edit image",
+               image_src: "Image URL",
+               image_alt: "Image description",
+               image_list: "Image list",
+               image_border: "Border",
+               image_dimensions: "Dimensions",
+               image_vspace: "Vertical space",
+               image_hspace: "Horizontal space",
+               image_align: "Alignment",
+               image_align_baseline: "Baseline",
+               image_align_top: "Top",
+               image_align_middle: "Middle",
+               image_align_bottom: "Bottom",
+               image_align_texttop: "Text top",
+               image_align_textbottom: "Text bottom",
+               image_align_left: "Left",
+               image_align_right: "Right",
+               link_title: "Insert/edit link",
+               link_url: "Link URL",
+               link_target: "Target",
+               link_target_same: "Open link in the same window",
+               link_target_blank: "Open link in a new window",
+               link_titlefield: "Title",
+               link_is_email: "The URL you entered seems to be an email address, do you want to add the required mailto: prefix?",
+               link_is_external: "The URL you entered seems to be an external link, do you want to add the required http:// prefix?",
+               link_list: "Link list",
+               accessibility_help: "Accessibility Help",
+               accessibility_usage_title: "General Usage"
+       });
+
+       tinyMCE.addI18n( lang + ".media_dlg", {
+               title: "Insert / edit embedded media",
+               general: "General",
+               advanced: "Advanced",
+               file: "File/URL",
+               list: "List",
+               size: "Dimensions",
+               preview: "Preview",
+               constrain_proportions: "Constrain proportions",
+               type: "Type",
+               id: "Id",
+               name: "Name",
+               class_name: "Class",
+               vspace: "V-Space",
+               hspace: "H-Space",
+               play: "Auto play",
+               loop: "Loop",
+               menu: "Show menu",
+               quality: "Quality",
+               scale: "Scale",
+               align: "Align",
+               salign: "SAlign",
+               wmode: "WMode",
+               bgcolor: "Background",
+               base: "Base",
+               flashvars: "Flashvars",
+               liveconnect: "SWLiveConnect",
+               autohref: "AutoHREF",
+               cache: "Cache",
+               hidden: "Hidden",
+               controller: "Controller",
+               kioskmode: "Kiosk mode",
+               playeveryframe: "Play every frame",
+               targetcache: "Target cache",
+               correction: "No correction",
+               enablejavascript: "Enable JavaScript",
+               starttime: "Start time",
+               endtime: "End time",
+               href: "href",
+               qtsrcchokespeed: "Choke speed",
+               target: "Target",
+               volume: "Volume",
+               autostart: "Auto start",
+               enabled: "Enabled",
+               fullscreen: "Fullscreen",
+               invokeurls: "Invoke URLs",
+               mute: "Mute",
+               stretchtofit: "Stretch to fit",
+               windowlessvideo: "Windowless video",
+               balance: "Balance",
+               baseurl: "Base URL",
+               captioningid: "Captioning id",
+               currentmarker: "Current marker",
+               currentposition: "Current position",
+               defaultframe: "Default frame",
+               playcount: "Play count",
+               rate: "Rate",
+               uimode: "UI Mode",
+               flash_options: "Flash options",
+               qt_options: "QuickTime options",
+               wmp_options: "Windows media player options",
+               rmp_options: "Real media player options",
+               shockwave_options: "Shockwave options",
+               autogotourl: "Auto goto URL",
+               center: "Center",
+               imagestatus: "Image status",
+               maintainaspect: "Maintain aspect",
+               nojava: "No java",
+               prefetch: "Prefetch",
+               shuffle: "Shuffle",
+               console: "Console",
+               numloop: "Num loops",
+               controls: "Controls",
+               scriptcallbacks: "Script callbacks",
+               swstretchstyle: "Stretch style",
+               swstretchhalign: "Stretch H-Align",
+               swstretchvalign: "Stretch V-Align",
+               sound: "Sound",
+               progress: "Progress",
+               qtsrc: "QT Src",
+               qt_stream_warn: "Streamed rtsp resources should be added to the QT Src field under the advanced tab.",
+               align_top: "Top",
+               align_right: "Right",
+               align_bottom: "Bottom",
+               align_left: "Left",
+               align_center: "Center",
+               align_top_left: "Top left",
+               align_top_right: "Top right",
+               align_bottom_left: "Bottom left",
+               align_bottom_right: "Bottom right",
+               flv_options: "Flash video options",
+               flv_scalemode: "Scale mode",
+               flv_buffer: "Buffer",
+               flv_startimage: "Start image",
+               flv_starttime: "Start time",
+               flv_defaultvolume: "Default volume",
+               flv_hiddengui: "Hidden GUI",
+               flv_autostart: "Auto start",
+               flv_loop: "Loop",
+               flv_showscalemodes: "Show scale modes",
+               flv_smoothvideo: "Smooth video",
+               flv_jscallback: "JS Callback",
+               html5_video_options: "HTML5 Video Options",
+               altsource1: "Alternative source 1",
+               altsource2: "Alternative source 2",
+               preload: "Preload",
+               poster: "Poster",
+               source: "Source"
+       });
+
+       tinyMCE.addI18n( lang + ".wordpress", {
+               wp_adv_desc: "Show/Hide Kitchen Sink (Alt + Shift + Z)",
+               wp_more_desc: "Insert More Tag (Alt + Shift + T)",
+               wp_page_desc: "Insert Page break (Alt + Shift + P)",
+               wp_help_desc: "Help (Alt + Shift + H)",
+               wp_more_alt: "More...",
+               wp_page_alt: "Next page...",
+               add_media: "Add Media",
+               add_image: "Add an Image",
+               add_video: "Add Video",
+               add_audio: "Add Audio",
+               editgallery: "Edit Gallery",
+               delgallery: "Delete Gallery",
+               wp_fullscreen_desc: "Distraction Free Writing mode (Alt + Shift + W)"
+       });
+
+       tinyMCE.addI18n( lang + ".wpeditimage", {
+               edit_img: "Edit Image",
+               del_img: "Delete Image",
+               adv_settings: "Advanced Settings",
+               none: "None",
+               size: "Size",
+               thumbnail: "Thumbnail",
+               medium: "Medium",
+               full_size: "Full Size",
+               current_link: "Current Link",
+               link_to_img: "Link to Image",
+               link_help: "Enter a link URL or click above for presets.",
+               adv_img_settings: "Advanced Image Settings",
+               source: "Source",
+               width: "Width",
+               height: "Height",
+               orig_size: "Original Size",
+               css: "CSS Class",
+               adv_link_settings: "Advanced Link Settings",
+               link_rel: "Link Rel",
+               height: "Height",
+               orig_size: "Original Size",
+               css: "CSS Class",
+               s60: "60%",
+               s70: "70%",
+               s80: "80%",
+               s90: "90%",
+               s100: "100%",
+               s110: "110%",
+               s120: "120%",
+               s130: "130%",
+               img_title: "Title",
+               caption: "Caption",
+               alt: "Alternative Text"
+       });
+}());
diff --git a/wp-includes/js/tinymce/langs/wp-langs.php b/wp-includes/js/tinymce/langs/wp-langs.php
deleted file mode 100644 (file)
index 9de90c2..0000000
+++ /dev/null
@@ -1,565 +0,0 @@
-<?php
-
-if ( ! defined( 'ABSPATH' ) )
-       exit;
-
-if ( ! class_exists( '_WP_Editors' ) )
-       require( ABSPATH . WPINC . '/class-wp-editor.php' );
-
-// deprecated, not used
-function mce_escape($text) {
-       return esc_js($text);
-}
-
-function wp_mce_translation() {
-
-       $default = array(
-               'common' => array(
-                       'edit_confirm' => __('Do you want to use the WYSIWYG mode for this textarea?'),
-                       'apply' => __('Apply'),
-                       'insert' => __('Insert'),
-                       'update' => __('Update'),
-                       'cancel' => __('Cancel'),
-                       'close' => __('Close'),
-                       'browse' => __('Browse'),
-                       'class_name' => __('Class'),
-                       'not_set' => __('-- Not set --'),
-                       'clipboard_msg' => __('Copy/Cut/Paste is not available in Mozilla and Firefox.'),
-                       'clipboard_no_support' => __('Currently not supported by your browser, use keyboard shortcuts instead.'),
-                       'popup_blocked' => __('Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'),
-                       'invalid_data' => __('ERROR: Invalid values entered, these are marked in red.'),
-                       'invalid_data_number' => __('{#field} must be a number'),
-                       'invalid_data_min' => __('{#field} must be a number greater than {#min}'),
-                       'invalid_data_size' => __('{#field} must be a number or percentage'),
-                       'more_colors' => __('More colors')
-               ),
-
-               'colors' => array(
-                       '000000' => __('Black'),
-                       '993300' => __('Burnt orange'),
-                       '333300' => __('Dark olive'),
-                       '003300' => __('Dark green'),
-                       '003366' => __('Dark azure'),
-                       '000080' => __('Navy Blue'),
-                       '333399' => __('Indigo'),
-                       '333333' => __('Very dark gray'),
-                       '800000' => __('Maroon'),
-                       'FF6600' => __('Orange'),
-                       '808000' => __('Olive'),
-                       '008000' => __('Green'),
-                       '008080' => __('Teal'),
-                       '0000FF' => __('Blue'),
-                       '666699' => __('Grayish blue'),
-                       '808080' => __('Gray'),
-                       'FF0000' => __('Red'),
-                       'FF9900' => __('Amber'),
-                       '99CC00' => __('Yellow green'),
-                       '339966' => __('Sea green'),
-                       '33CCCC' => __('Turquoise'),
-                       '3366FF' => __('Royal blue'),
-                       '800080' => __('Purple'),
-                       '999999' => __('Medium gray'),
-                       'FF00FF' => __('Magenta'),
-                       'FFCC00' => __('Gold'),
-                       'FFFF00' => __('Yellow'),
-                       '00FF00' => __('Lime'),
-                       '00FFFF' => __('Aqua'),
-                       '00CCFF' => __('Sky blue'),
-                       '993366' => __('Brown'),
-                       'C0C0C0' => __('Silver'),
-                       'FF99CC' => __('Pink'),
-                       'FFCC99' => __('Peach'),
-                       'FFFF99' => __('Light yellow'),
-                       'CCFFCC' => __('Pale green'),
-                       'CCFFFF' => __('Pale cyan'),
-                       '99CCFF' => __('Light sky blue'),
-                       'CC99FF' => __('Plum'),
-                       'FFFFFF' => __('White')
-               ),
-
-               'contextmenu' => array(
-                       'align' => __('Alignment'), /* translators: alignment */
-                       'left' => __('Left'), /* translators: alignment */
-                       'center' => __('Center'), /* translators: alignment */
-                       'right' => __('Right'), /* translators: alignment */
-                       'full' => __('Full') /* translators: alignment */
-               ),
-
-               'insertdatetime' => array(
-                       'date_fmt' => __('%Y-%m-%d'), /* translators: year, month, date */
-                       'time_fmt' => __('%H:%M:%S'), /* translators: hours, minutes, seconds */
-                       'insertdate_desc' => __('Insert date'),
-                       'inserttime_desc' => __('Insert time'),
-                       'months_long' => __('January').','.__('February').','.__('March').','.__('April').','.__('May').','.__('June').','.__('July').','.__('August').','.__('September').','.__('October').','.__('November').','.__('December'),
-                       'months_short' => __('Jan_January_abbreviation').','.__('Feb_February_abbreviation').','.__('Mar_March_abbreviation').','.__('Apr_April_abbreviation').','.__('May_May_abbreviation').','.__('Jun_June_abbreviation').','.__('Jul_July_abbreviation').','.__('Aug_August_abbreviation').','.__('Sep_September_abbreviation').','.__('Oct_October_abbreviation').','.__('Nov_November_abbreviation').','.__('Dec_December_abbreviation'),
-                       'day_long' => __('Sunday').','.__('Monday').','.__('Tuesday').','.__('Wednesday').','.__('Thursday').','.__('Friday').','.__('Saturday'),
-                       'day_short' => __('Sun').','.__('Mon').','.__('Tue').','.__('Wed').','.__('Thu').','.__('Fri').','.__('Sat')
-               ),
-
-               'print' => array(
-                       'print_desc' => __('Print')
-               ),
-
-               'preview' => array(
-                       'preview_desc' => __('Preview')
-               ),
-
-               'directionality' => array(
-                       'ltr_desc' => __('Direction left to right'),
-                       'rtl_desc' => __('Direction right to left')
-               ),
-
-               'layer' => array(
-                       'insertlayer_desc' => __('Insert new layer'),
-                       'forward_desc' => __('Move forward'),
-                       'backward_desc' => __('Move backward'),
-                       'absolute_desc' => __('Toggle absolute positioning'),
-                       'content' => __('New layer...')
-               ),
-
-               'save' => array(
-                       'save_desc' => __('Save'),
-                       'cancel_desc' => __('Cancel all changes')
-               ),
-
-               'nonbreaking' => array(
-                       'nonbreaking_desc' => __('Insert non-breaking space character')
-               ),
-
-               'iespell' => array(
-                       'iespell_desc' => __('Run spell checking'),
-                       'download' => __('ieSpell not detected. Do you want to install it now?')
-               ),
-
-               'advhr' => array(
-                       'advhr_desc' => __('Horizontal rule')
-               ),
-
-               'emotions' => array(
-                       'emotions_desc' => __('Emotions')
-               ),
-
-               'searchreplace' => array(
-                       'search_desc' => __('Find'),
-                       'replace_desc' => __('Find/Replace')
-               ),
-
-               'advimage' => array(
-                       'image_desc' => __('Insert/edit image')
-               ),
-
-               'advlink' => array(
-                       'link_desc' => __('Insert/edit link')
-               ),
-
-               'xhtmlxtras' => array(
-                       'cite_desc' => __('Citation'),
-                       'abbr_desc' => __('Abbreviation'),
-                       'acronym_desc' => __('Acronym'),
-                       'del_desc' => __('Deletion'),
-                       'ins_desc' => __('Insertion'),
-                       'attribs_desc' => __('Insert/Edit Attributes')
-               ),
-
-               'style' => array(
-                       'desc' => __('Edit CSS Style')
-               ),
-
-               'paste' => array(
-                       'paste_text_desc' => __('Paste as Plain Text'),
-                       'paste_word_desc' => __('Paste from Word'),
-                       'selectall_desc' => __('Select All'),
-                       'plaintext_mode_sticky' => __('Paste is now in plain text mode. Click again to toggle back to regular paste mode. After you paste something you will be returned to regular paste mode.'),
-                       'plaintext_mode' => __('Paste is now in plain text mode. Click again to toggle back to regular paste mode.')
-               ),
-
-               'paste_dlg' => array(
-                       'text_title' => __('Use CTRL+V on your keyboard to paste the text into the window.'),
-                       'text_linebreaks' => __('Keep linebreaks'),
-                       'word_title' => __('Use CTRL+V on your keyboard to paste the text into the window.')
-               ),
-
-               'table' => array(
-                       'desc' => __('Inserts a new table'),
-                       'row_before_desc' => __('Insert row before'),
-                       'row_after_desc' => __('Insert row after'),
-                       'delete_row_desc' => __('Delete row'),
-                       'col_before_desc' => __('Insert column before'),
-                       'col_after_desc' => __('Insert column after'),
-                       'delete_col_desc' => __('Remove column'),
-                       'split_cells_desc' => __('Split merged table cells'),
-                       'merge_cells_desc' => __('Merge table cells'),
-                       'row_desc' => __('Table row properties'),
-                       'cell_desc' => __('Table cell properties'),
-                       'props_desc' => __('Table properties'),
-                       'paste_row_before_desc' => __('Paste table row before'),
-                       'paste_row_after_desc' => __('Paste table row after'),
-                       'cut_row_desc' => __('Cut table row'),
-                       'copy_row_desc' => __('Copy table row'),
-                       'del' => __('Delete table'),
-                       'row' => __('Row'),
-                       'col' => __('Column'),
-                       'cell' => __('Cell')
-               ),
-
-               'autosave' => array(
-                       'unload_msg' => __('The changes you made will be lost if you navigate away from this page.')
-               ),
-
-               'fullscreen' => array(
-                       'desc' => __('Toggle fullscreen mode (Alt + Shift + G)')
-               ),
-
-               'media' => array(
-                       'desc' => __('Insert / edit embedded media'),
-                       'edit' => __('Edit embedded media')
-               ),
-
-               'fullpage' => array(
-                       'desc' => __('Document properties')
-               ),
-
-               'template' => array(
-                       'desc' => __('Insert predefined template content')
-               ),
-
-               'visualchars' => array(
-                       'desc' => __('Visual control characters on/off.')
-               ),
-
-               'spellchecker' => array(
-                       'desc' => __('Toggle spellchecker (Alt + Shift + N)'),
-                       'menu' => __('Spellchecker settings'),
-                       'ignore_word' => __('Ignore word'),
-                       'ignore_words' => __('Ignore all'),
-                       'langs' => __('Languages'),
-                       'wait' => __('Please wait...'),
-                       'sug' => __('Suggestions'),
-                       'no_sug' => __('No suggestions'),
-                       'no_mpell' => __('No misspellings found.'),
-                       'learn_word' => __('Learn word')
-               ),
-
-               'pagebreak' => array(
-                       'desc' => __('Insert Page Break')
-               ),
-
-               'advlist' => array(
-                       'types' => __('Types'),
-                       'def' => __('Default'),
-                       'lower_alpha' => __('Lower alpha'),
-                       'lower_greek' => __('Lower greek'),
-                       'lower_roman' => __('Lower roman'),
-                       'upper_alpha' => __('Upper alpha'),
-                       'upper_roman' => __('Upper roman'),
-                       'circle' => __('Circle'),
-                       'disc' => __('Disc'),
-                       'square' => __('Square')
-               ),
-
-               'aria' => array(
-                       'rich_text_area' => __('Rich Text Area')
-               ),
-
-               'wordcount' => array(
-                       'words' => __('Words:')
-               )
-       );
-
-       $advanced = array(
-               'style_select' => __('Styles'), /* translators: TinyMCE inline styles */
-               'font_size' => __('Font size'),
-               'fontdefault' => __('Font family'),
-               'block' => __('Format'),
-               'paragraph' => __('Paragraph'),
-               'div' => __('Div'),
-               'address' => __('Address'),
-               'pre' => __('Preformatted'),
-               'h1' => __('Heading 1'),
-               'h2' => __('Heading 2'),
-               'h3' => __('Heading 3'),
-               'h4' => __('Heading 4'),
-               'h5' => __('Heading 5'),
-               'h6' => __('Heading 6'),
-               'blockquote' => __('Blockquote'),
-               'code' => __('Code'),
-               'samp' => __('Code sample'),
-               'dt' => __('Definition term '),
-               'dd' => __('Definition description'),
-               'bold_desc' => __('Bold (Ctrl + B)'),
-               'italic_desc' => __('Italic (Ctrl + I)'),
-               'underline_desc' => __('Underline'),
-               'striketrough_desc' => __('Strikethrough (Alt + Shift + D)'),
-               'justifyleft_desc' => __('Align Left (Alt + Shift + L)'),
-               'justifycenter_desc' => __('Align Center (Alt + Shift + C)'),
-               'justifyright_desc' => __('Align Right (Alt + Shift + R)'),
-               'justifyfull_desc' => __('Align Full (Alt + Shift + J)'),
-               'bullist_desc' => __('Unordered list (Alt + Shift + U)'),
-               'numlist_desc' => __('Ordered list (Alt + Shift + O)'),
-               'outdent_desc' => __('Outdent'),
-               'indent_desc' => __('Indent'),
-               'undo_desc' => __('Undo (Ctrl + Z)'),
-               'redo_desc' => __('Redo (Ctrl + Y)'),
-               'link_desc' => __('Insert/edit link (Alt + Shift + A)'),
-               'unlink_desc' => __('Unlink (Alt + Shift + S)'),
-               'image_desc' => __('Insert/edit image (Alt + Shift + M)'),
-               'cleanup_desc' => __('Cleanup messy code'),
-               'code_desc' => __('Edit HTML Source'),
-               'sub_desc' => __('Subscript'),
-               'sup_desc' => __('Superscript'),
-               'hr_desc' => __('Insert horizontal ruler'),
-               'removeformat_desc' => __('Remove formatting'),
-               'forecolor_desc' => __('Select text color'),
-               'backcolor_desc' => __('Select background color'),
-               'charmap_desc' => __('Insert custom character'),
-               'visualaid_desc' => __('Toggle guidelines/invisible elements'),
-               'anchor_desc' => __('Insert/edit anchor'),
-               'cut_desc' => __('Cut'),
-               'copy_desc' => __('Copy'),
-               'paste_desc' => __('Paste'),
-               'image_props_desc' => __('Image properties'),
-               'newdocument_desc' => __('New document'),
-               'help_desc' => __('Help'),
-               'blockquote_desc' => __('Blockquote (Alt + Shift + Q)'),
-               'clipboard_msg' => __('Copy/Cut/Paste is not available in Mozilla and Firefox.'),
-               'path' => __('Path'),
-               'newdocument' => __('Are you sure you want to clear all contents?'),
-               'toolbar_focus' => __('Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X'),
-               'more_colors' => __('More colors'),
-               'shortcuts_desc' => __('Accessibility Help'),
-               'help_shortcut' => __('Press ALT F10 for toolbar. Press ALT 0 for help.'),
-               'rich_text_area' => __('Rich Text Area'),
-               'toolbar' => __('Toolbar')
-       );
-
-       $advanced_dlg = array(
-               'about_title' => __('About TinyMCE'),
-               'about_general' => __('About'),
-               'about_help' => __('Help'),
-               'about_license' => __('License'),
-               'about_plugins' => __('Plugins'),
-               'about_plugin' => __('Plugin'),
-               'about_author' => __('Author'),
-               'about_version' => __('Version'),
-               'about_loaded' => __('Loaded plugins'),
-               'anchor_title' => __('Insert/edit anchor'),
-               'anchor_name' => __('Anchor name'),
-               'code_title' => __('HTML Source Editor'),
-               'code_wordwrap' => __('Word wrap'),
-               'colorpicker_title' => __('Select a color'),
-               'colorpicker_picker_tab' => __('Picker'),
-               'colorpicker_picker_title' => __('Color picker'),
-               'colorpicker_palette_tab' => __('Palette'),
-               'colorpicker_palette_title' => __('Palette colors'),
-               'colorpicker_named_tab' => __('Named'),
-               'colorpicker_named_title' => __('Named colors'),
-               'colorpicker_color' => __('Color:'),
-               'colorpicker_name' => _x('Name:', 'html attribute'),
-               'charmap_title' => __('Select custom character'),
-               'charmap_usage' => __('Use left and right arrows to navigate.'),
-               'image_title' => __('Insert/edit image'),
-               'image_src' => __('Image URL'),
-               'image_alt' => __('Image description'),
-               'image_list' => __('Image list'),
-               'image_border' => __('Border'),
-               'image_dimensions' => __('Dimensions'),
-               'image_vspace' => __('Vertical space'),
-               'image_hspace' => __('Horizontal space'),
-               'image_align' => __('Alignment'),
-               'image_align_baseline' => __('Baseline'),
-               'image_align_top' => __('Top'),
-               'image_align_middle' => __('Middle'),
-               'image_align_bottom' => __('Bottom'),
-               'image_align_texttop' => __('Text top'),
-               'image_align_textbottom' => __('Text bottom'),
-               'image_align_left' => __('Left'),
-               'image_align_right' => __('Right'),
-               'link_title' => __('Insert/edit link'),
-               'link_url' => __('Link URL'),
-               'link_target' => __('Target'),
-               'link_target_same' => __('Open link in the same window'),
-               'link_target_blank' => __('Open link in a new window'),
-               'link_titlefield' => __('Title'),
-               'link_is_email' => __('The URL you entered seems to be an email address, do you want to add the required mailto: prefix?'),
-               'link_is_external' => __('The URL you entered seems to external link, do you want to add the required http:// prefix?'),
-               'link_list' => __('Link list'),
-               'accessibility_help' => __('Accessibility Help'),
-               'accessibility_usage_title' => __('General Usage')
-       );
-
-       $media_dlg = array(
-               'title' => __('Insert / edit embedded media'),
-               'general' => __('General'),
-               'advanced' => __('Advanced'),
-               'file' => __('File/URL'),
-               'list' => __('List'),
-               'size' => __('Dimensions'),
-               'preview' => __('Preview'),
-               'constrain_proportions' => __('Constrain proportions'),
-               'type' => __('Type'),
-               'id' => __('Id'),
-               'name' => _x('Name', 'html attribute'),
-               'class_name' => __('Class'),
-               'vspace' => __('V-Space'),
-               'hspace' => __('H-Space'),
-               'play' => __('Auto play'),
-               'loop' => __('Loop'),
-               'menu' => __('Show menu'),
-               'quality' => __('Quality'),
-               'scale' => __('Scale'),
-               'align' => __('Align'),
-               'salign' => __('SAlign'),
-               'wmode' => __('WMode'),
-               'bgcolor' => __('Background'),
-               'base' => __('Base'),
-               'flashvars' => __('Flashvars'),
-               'liveconnect' => __('SWLiveConnect'),
-               'autohref' => __('AutoHREF'),
-               'cache' => __('Cache'),
-               'hidden' => __('Hidden'),
-               'controller' => __('Controller'),
-               'kioskmode' => __('Kiosk mode'),
-               'playeveryframe' => __('Play every frame'),
-               'targetcache' => __('Target cache'),
-               'correction' => __('No correction'),
-               'enablejavascript' => __('Enable JavaScript'),
-               'starttime' => __('Start time'),
-               'endtime' => __('End time'),
-               'href' => __('href'),
-               'qtsrcchokespeed' => __('Choke speed'),
-               'target' => __('Target'),
-               'volume' => __('Volume'),
-               'autostart' => __('Auto start'),
-               'enabled' => __('Enabled'),
-               'fullscreen' => __('Fullscreen'),
-               'invokeurls' => __('Invoke URLs'),
-               'mute' => __('Mute'),
-               'stretchtofit' => __('Stretch to fit'),
-               'windowlessvideo' => __('Windowless video'),
-               'balance' => __('Balance'),
-               'baseurl' => __('Base URL'),
-               'captioningid' => __('Captioning id'),
-               'currentmarker' => __('Current marker'),
-               'currentposition' => __('Current position'),
-               'defaultframe' => __('Default frame'),
-               'playcount' => __('Play count'),
-               'rate' => __('Rate'),
-               'uimode' => __('UI Mode'),
-               'flash_options' => __('Flash options'),
-               'qt_options' => __('QuickTime options'),
-               'wmp_options' => __('Windows media player options'),
-               'rmp_options' => __('Real media player options'),
-               'shockwave_options' => __('Shockwave options'),
-               'autogotourl' => __('Auto goto URL'),
-               'center' => __('Center'),
-               'imagestatus' => __('Image status'),
-               'maintainaspect' => __('Maintain aspect'),
-               'nojava' => __('No java'),
-               'prefetch' => __('Prefetch'),
-               'shuffle' => __('Shuffle'),
-               'console' => __('Console'),
-               'numloop' => __('Num loops'),
-               'controls' => __('Controls'),
-               'scriptcallbacks' => __('Script callbacks'),
-               'swstretchstyle' => __('Stretch style'),
-               'swstretchhalign' => __('Stretch H-Align'),
-               'swstretchvalign' => __('Stretch V-Align'),
-               'sound' => __('Sound'),
-               'progress' => __('Progress'),
-               'qtsrc' => __('QT Src'),
-               'qt_stream_warn' => __('Streamed rtsp resources should be added to the QT Src field under the advanced tab.'),
-               'align_top' => __('Top'),
-               'align_right' => __('Right'),
-               'align_bottom' => __('Bottom'),
-               'align_left' => __('Left'),
-               'align_center' => __('Center'),
-               'align_top_left' => __('Top left'),
-               'align_top_right' => __('Top right'),
-               'align_bottom_left' => __('Bottom left'),
-               'align_bottom_right' => __('Bottom right'),
-               'flv_options' => __('Flash video options'),
-               'flv_scalemode' => __('Scale mode'),
-               'flv_buffer' => __('Buffer'),
-               'flv_startimage' => __('Start image'),
-               'flv_starttime' => __('Start time'),
-               'flv_defaultvolume' => __('Default volume'),
-               'flv_hiddengui' => __('Hidden GUI'),
-               'flv_autostart' => __('Auto start'),
-               'flv_loop' => __('Loop'),
-               'flv_showscalemodes' => __('Show scale modes'),
-               'flv_smoothvideo' => __('Smooth video'),
-               'flv_jscallback' => __('JS Callback'),
-               'html5_video_options' => __('HTML5 Video Options'),
-               'altsource1' => __('Alternative source 1'),
-               'altsource2' => __('Alternative source 2'),
-               'preload' => __('Preload'),
-               'poster' => __('Poster'),
-               'source' => __('Source')
-       );
-
-       $wordpress = array(
-               'wp_adv_desc' => __('Show/Hide Kitchen Sink (Alt + Shift + Z)'),
-               'wp_more_desc' => __('Insert More Tag (Alt + Shift + T)'),
-               'wp_page_desc' => __('Insert Page break (Alt + Shift + P)'),
-               'wp_help_desc' => __('Help (Alt + Shift + H)'),
-               'wp_more_alt' => __('More...'),
-               'wp_page_alt' => __('Next page...'),
-               'add_media' => __('Add Media'),
-               'add_image' => __('Add an Image'),
-               'add_video' => __('Add Video'),
-               'add_audio' => __('Add Audio'),
-               'editgallery' => __('Edit Gallery'),
-               'delgallery' => __('Delete Gallery'),
-               'wp_fullscreen_desc' => __('Distraction Free Writing mode (Alt + Shift + W)')
-       );
-
-       $wpeditimage = array(
-               'edit_img' => __('Edit Image'),
-               'del_img' => __('Delete Image'),
-               'adv_settings' => __('Advanced Settings'),
-               'none' => __('None'),
-               'size' => __('Size'),
-               'thumbnail' => __('Thumbnail'),
-               'medium' => __('Medium'),
-               'full_size' => __('Full Size'),
-               'current_link' => __('Current Link'),
-               'link_to_img' => __('Link to Image'),
-               'link_help' => __('Enter a link URL or click above for presets.'),
-               'adv_img_settings' => __('Advanced Image Settings'),
-               'source' => __('Source'),
-               'width' => __('Width'),
-               'height' => __('Height'),
-               'orig_size' => __('Original Size'),
-               'css' => __('CSS Class'),
-               'adv_link_settings' => __('Advanced Link Settings'),
-               'link_rel' => __('Link Rel'),
-               'height' => __('Height'),
-               'orig_size' => __('Original Size'),
-               'css' => __('CSS Class'),
-               's60' => __('60%'),
-               's70' => __('70%'),
-               's80' => __('80%'),
-               's90' => __('90%'),
-               's100' => __('100%'),
-               's110' => __('110%'),
-               's120' => __('120%'),
-               's130' => __('130%'),
-               'img_title' => __('Title'),
-               'caption' => __('Caption'),
-               'alt' => __('Alternative Text')
-       );
-
-       $locale = _WP_Editors::$mce_locale;
-
-       $translated = 'tinyMCE.addI18n({' . $locale . ':' . json_encode( $default ) . "});\n";
-       $translated .= 'tinyMCE.addI18n("' . $locale . '.advanced", ' . json_encode( $advanced ) . ");\n";
-       $translated .= 'tinyMCE.addI18n("' . $locale . '.advanced_dlg", ' . json_encode( $advanced_dlg ) . ");\n";
-       $translated .= 'tinyMCE.addI18n("' . $locale . '.media_dlg", ' . json_encode( $media_dlg ) . ");\n";
-       $translated .= 'tinyMCE.addI18n("' . $locale . '.wordpress", ' . json_encode( $wordpress ) . ");\n";
-       $translated .= 'tinyMCE.addI18n("' . $locale . '.wpeditimage", ' . json_encode( $wpeditimage ) . ');';
-
-       return $translated;
-}
-
-$lang = wp_mce_translation();
-
diff --git a/wp-includes/js/tinymce/mark_loaded_src.js b/wp-includes/js/tinymce/mark_loaded_src.js
deleted file mode 100644 (file)
index a2d08cd..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/* global tinyMCEPreInit, tinymce */
-(function(){
-       if ( typeof tinyMCEPreInit === 'undefined' )
-               return;
-
-       var t = tinyMCEPreInit, baseurl = t.base, markDone = tinymce.ScriptLoader.markDone, lang = t.ref.language,
-               theme = t.ref.theme, plugins = t.ref.plugins, suffix = t.suffix;
-
-       markDone( baseurl+'/langs/'+lang+'.js' );
-       markDone( baseurl+'/themes/'+theme+'/editor_template'+suffix+'.js' );
-       markDone( baseurl+'/themes/'+theme+'/langs/'+lang+'.js' );
-       markDone( baseurl+'/themes/'+theme+'/langs/'+lang+'_dlg.js' );
-
-       tinymce.each( plugins.split(','), function(plugin){
-               if ( plugin && plugin.charAt(0) != '-' ) {
-                       markDone( baseurl+'/plugins/'+plugin+'/editor_plugin'+suffix+'.js' );
-                       markDone( baseurl+'/plugins/'+plugin+'/langs/'+lang+'.js' );
-                       markDone( baseurl+'/plugins/'+plugin+'/langs/'+lang+'_dlg.js' );
-               }
-       });
-})();
diff --git a/wp-includes/js/tinymce/plugins/charmap/plugin.js b/wp-includes/js/tinymce/plugins/charmap/plugin.js
new file mode 100644 (file)
index 0000000..203a380
--- /dev/null
@@ -0,0 +1,365 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*global tinymce:true */
+
+tinymce.PluginManager.add('charmap', function(editor) {
+       var charmap = [
+               ['160', 'no-break space'],
+               ['38', 'ampersand'],
+               ['34', 'quotation mark'],
+       // finance
+               ['162', 'cent sign'],
+               ['8364', 'euro sign'],
+               ['163', 'pound sign'],
+               ['165', 'yen sign'],
+       // signs
+               ['169', 'copyright sign'],
+               ['174', 'registered sign'],
+               ['8482', 'trade mark sign'],
+               ['8240', 'per mille sign'],
+               ['181', 'micro sign'],
+               ['183', 'middle dot'],
+               ['8226', 'bullet'],
+               ['8230', 'three dot leader'],
+               ['8242', 'minutes / feet'],
+               ['8243', 'seconds / inches'],
+               ['167', 'section sign'],
+               ['182', 'paragraph sign'],
+               ['223', 'sharp s / ess-zed'],
+       // quotations
+               ['8249', 'single left-pointing angle quotation mark'],
+               ['8250', 'single right-pointing angle quotation mark'],
+               ['171', 'left pointing guillemet'],
+               ['187', 'right pointing guillemet'],
+               ['8216', 'left single quotation mark'],
+               ['8217', 'right single quotation mark'],
+               ['8220', 'left double quotation mark'],
+               ['8221', 'right double quotation mark'],
+               ['8218', 'single low-9 quotation mark'],
+               ['8222', 'double low-9 quotation mark'],
+               ['60', 'less-than sign'],
+               ['62', 'greater-than sign'],
+               ['8804', 'less-than or equal to'],
+               ['8805', 'greater-than or equal to'],
+               ['8211', 'en dash'],
+               ['8212', 'em dash'],
+               ['175', 'macron'],
+               ['8254', 'overline'],
+               ['164', 'currency sign'],
+               ['166', 'broken bar'],
+               ['168', 'diaeresis'],
+               ['161', 'inverted exclamation mark'],
+               ['191', 'turned question mark'],
+               ['710', 'circumflex accent'],
+               ['732', 'small tilde'],
+               ['176', 'degree sign'],
+               ['8722', 'minus sign'],
+               ['177', 'plus-minus sign'],
+               ['247', 'division sign'],
+               ['8260', 'fraction slash'],
+               ['215', 'multiplication sign'],
+               ['185', 'superscript one'],
+               ['178', 'superscript two'],
+               ['179', 'superscript three'],
+               ['188', 'fraction one quarter'],
+               ['189', 'fraction one half'],
+               ['190', 'fraction three quarters'],
+       // math / logical
+               ['402', 'function / florin'],
+               ['8747', 'integral'],
+               ['8721', 'n-ary sumation'],
+               ['8734', 'infinity'],
+               ['8730', 'square root'],
+               ['8764', 'similar to'],
+               ['8773', 'approximately equal to'],
+               ['8776', 'almost equal to'],
+               ['8800', 'not equal to'],
+               ['8801', 'identical to'],
+               ['8712', 'element of'],
+               ['8713', 'not an element of'],
+               ['8715', 'contains as member'],
+               ['8719', 'n-ary product'],
+               ['8743', 'logical and'],
+               ['8744', 'logical or'],
+               ['172', 'not sign'],
+               ['8745', 'intersection'],
+               ['8746', 'union'],
+               ['8706', 'partial differential'],
+               ['8704', 'for all'],
+               ['8707', 'there exists'],
+               ['8709', 'diameter'],
+               ['8711', 'backward difference'],
+               ['8727', 'asterisk operator'],
+               ['8733', 'proportional to'],
+               ['8736', 'angle'],
+       // undefined
+               ['180', 'acute accent'],
+               ['184', 'cedilla'],
+               ['170', 'feminine ordinal indicator'],
+               ['186', 'masculine ordinal indicator'],
+               ['8224', 'dagger'],
+               ['8225', 'double dagger'],
+       // alphabetical special chars
+               ['192', 'A - grave'],
+               ['193', 'A - acute'],
+               ['194', 'A - circumflex'],
+               ['195', 'A - tilde'],
+               ['196', 'A - diaeresis'],
+               ['197', 'A - ring above'],
+               ['198', 'ligature AE'],
+               ['199', 'C - cedilla'],
+               ['200', 'E - grave'],
+               ['201', 'E - acute'],
+               ['202', 'E - circumflex'],
+               ['203', 'E - diaeresis'],
+               ['204', 'I - grave'],
+               ['205', 'I - acute'],
+               ['206', 'I - circumflex'],
+               ['207', 'I - diaeresis'],
+               ['208', 'ETH'],
+               ['209', 'N - tilde'],
+               ['210', 'O - grave'],
+               ['211', 'O - acute'],
+               ['212', 'O - circumflex'],
+               ['213', 'O - tilde'],
+               ['214', 'O - diaeresis'],
+               ['216', 'O - slash'],
+               ['338', 'ligature OE'],
+               ['352', 'S - caron'],
+               ['217', 'U - grave'],
+               ['218', 'U - acute'],
+               ['219', 'U - circumflex'],
+               ['220', 'U - diaeresis'],
+               ['221', 'Y - acute'],
+               ['376', 'Y - diaeresis'],
+               ['222', 'THORN'],
+               ['224', 'a - grave'],
+               ['225', 'a - acute'],
+               ['226', 'a - circumflex'],
+               ['227', 'a - tilde'],
+               ['228', 'a - diaeresis'],
+               ['229', 'a - ring above'],
+               ['230', 'ligature ae'],
+               ['231', 'c - cedilla'],
+               ['232', 'e - grave'],
+               ['233', 'e - acute'],
+               ['234', 'e - circumflex'],
+               ['235', 'e - diaeresis'],
+               ['236', 'i - grave'],
+               ['237', 'i - acute'],
+               ['238', 'i - circumflex'],
+               ['239', 'i - diaeresis'],
+               ['240', 'eth'],
+               ['241', 'n - tilde'],
+               ['242', 'o - grave'],
+               ['243', 'o - acute'],
+               ['244', 'o - circumflex'],
+               ['245', 'o - tilde'],
+               ['246', 'o - diaeresis'],
+               ['248', 'o slash'],
+               ['339', 'ligature oe'],
+               ['353', 's - caron'],
+               ['249', 'u - grave'],
+               ['250', 'u - acute'],
+               ['251', 'u - circumflex'],
+               ['252', 'u - diaeresis'],
+               ['253', 'y - acute'],
+               ['254', 'thorn'],
+               ['255', 'y - diaeresis'],
+               ['913', 'Alpha'],
+               ['914', 'Beta'],
+               ['915', 'Gamma'],
+               ['916', 'Delta'],
+               ['917', 'Epsilon'],
+               ['918', 'Zeta'],
+               ['919', 'Eta'],
+               ['920', 'Theta'],
+               ['921', 'Iota'],
+               ['922', 'Kappa'],
+               ['923', 'Lambda'],
+               ['924', 'Mu'],
+               ['925', 'Nu'],
+               ['926', 'Xi'],
+               ['927', 'Omicron'],
+               ['928', 'Pi'],
+               ['929', 'Rho'],
+               ['931', 'Sigma'],
+               ['932', 'Tau'],
+               ['933', 'Upsilon'],
+               ['934', 'Phi'],
+               ['935', 'Chi'],
+               ['936', 'Psi'],
+               ['937', 'Omega'],
+               ['945', 'alpha'],
+               ['946', 'beta'],
+               ['947', 'gamma'],
+               ['948', 'delta'],
+               ['949', 'epsilon'],
+               ['950', 'zeta'],
+               ['951', 'eta'],
+               ['952', 'theta'],
+               ['953', 'iota'],
+               ['954', 'kappa'],
+               ['955', 'lambda'],
+               ['956', 'mu'],
+               ['957', 'nu'],
+               ['958', 'xi'],
+               ['959', 'omicron'],
+               ['960', 'pi'],
+               ['961', 'rho'],
+               ['962', 'final sigma'],
+               ['963', 'sigma'],
+               ['964', 'tau'],
+               ['965', 'upsilon'],
+               ['966', 'phi'],
+               ['967', 'chi'],
+               ['968', 'psi'],
+               ['969', 'omega'],
+       // symbols
+               ['8501', 'alef symbol'],
+               ['982',  'pi symbol'],
+               ['8476', 'real part symbol'],
+               ['978',  'upsilon - hook symbol'],
+               ['8472', 'Weierstrass p'],
+               ['8465', 'imaginary part'],
+       // arrows
+               ['8592', 'leftwards arrow'],
+               ['8593', 'upwards arrow'],
+               ['8594', 'rightwards arrow'],
+               ['8595', 'downwards arrow'],
+               ['8596', 'left right arrow'],
+               ['8629', 'carriage return'],
+               ['8656', 'leftwards double arrow'],
+               ['8657', 'upwards double arrow'],
+               ['8658', 'rightwards double arrow'],
+               ['8659', 'downwards double arrow'],
+               ['8660', 'left right double arrow'],
+               ['8756', 'therefore'],
+               ['8834', 'subset of'],
+               ['8835', 'superset of'],
+               ['8836', 'not a subset of'],
+               ['8838', 'subset of or equal to'],
+               ['8839', 'superset of or equal to'],
+               ['8853', 'circled plus'],
+               ['8855', 'circled times'],
+               ['8869', 'perpendicular'],
+               ['8901', 'dot operator'],
+               ['8968', 'left ceiling'],
+               ['8969', 'right ceiling'],
+               ['8970', 'left floor'],
+               ['8971', 'right floor'],
+               ['9001', 'left-pointing angle bracket'],
+               ['9002', 'right-pointing angle bracket'],
+               ['9674', 'lozenge'],
+               ['9824', 'black spade suit'],
+               ['9827', 'black club suit'],
+               ['9829', 'black heart suit'],
+               ['9830', 'black diamond suit'],
+               ['8194', 'en space'],
+               ['8195', 'em space'],
+               ['8201', 'thin space'],
+               ['8204', 'zero width non-joiner'],
+               ['8205', 'zero width joiner'],
+               ['8206', 'left-to-right mark'],
+               ['8207', 'right-to-left mark'],
+               ['173',  'soft hyphen']
+       ];
+
+       function showDialog() {
+               var gridHtml, x, y, win;
+
+               function getParentTd(elm) {
+                       while (elm) {
+                               if (elm.nodeName == 'TD') {
+                                       return elm;
+                               }
+
+                               elm = elm.parentNode;
+                       }
+               }
+
+               gridHtml = '<table role="presentation" cellspacing="0" class="mce-charmap"><tbody>';
+
+               var width = 25;
+               for (y = 0; y < 10; y++) {
+                       gridHtml += '<tr>';
+
+                       for (x = 0; x < width; x++) {
+                               var chr = charmap[y * width + x];
+
+                               gridHtml += '<td title="' + chr[1] + '"><div tabindex="-1" title="' + chr[1] + '" role="button">' +
+                                       (chr ? String.fromCharCode(parseInt(chr[0], 10)) : '&nbsp;') + '</div></td>';
+                       }
+
+                       gridHtml += '</tr>';
+               }
+
+               gridHtml += '</tbody></table>';
+
+               var charMapPanel = {
+                       type: 'container',
+                       html: gridHtml,
+                       onclick: function(e) {
+                               var target = e.target;
+                               if (/^(TD|DIV)$/.test(target.nodeName)) {
+                                       editor.execCommand('mceInsertContent', false, tinymce.trim(target.innerText || target.textContent));
+
+                                       if (!e.ctrlKey) {
+                                               win.close();
+                                       }
+                               }
+                       },
+                       onmouseover: function(e) {
+                               var td = getParentTd(e.target);
+
+                               if (td) {
+                                       win.find('#preview').text(td.firstChild.firstChild.data);
+                               }
+                       }
+               };
+
+               win = editor.windowManager.open({
+                       title: "Special character",
+                       spacing: 10,
+                       padding: 10,
+                       items: [
+                               charMapPanel,
+                               {
+                                       type: 'label',
+                                       name: 'preview',
+                                       text: ' ',
+                                       style: 'font-size: 40px; text-align: center',
+                                       border: 1,
+                                       minWidth: 100,
+                                       minHeight: 80
+                               }
+                       ],
+                       buttons: [
+                               {text: "Close", onclick: function() {
+                                       win.close();
+                               }}
+                       ]
+               });
+       }
+
+       editor.addButton('charmap', {
+               icon: 'charmap',
+               tooltip: 'Special character',
+               onclick: showDialog
+       });
+
+       editor.addMenuItem('charmap', {
+               icon: 'charmap',
+               text: 'Special character',
+               onclick: showDialog,
+               context: 'insert'
+       });
+});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/charmap/plugin.min.js b/wp-includes/js/tinymce/plugins/charmap/plugin.min.js
new file mode 100644 (file)
index 0000000..eee3bb1
--- /dev/null
@@ -0,0 +1 @@
+tinymce.PluginManager.add("charmap",function(e){function a(){function a(e){for(;e;){if("TD"==e.nodeName)return e;e=e.parentNode}}var i,r,o,n;i='<table role="presentation" cellspacing="0" class="mce-charmap"><tbody>';var l=25;for(o=0;10>o;o++){for(i+="<tr>",r=0;l>r;r++){var s=t[o*l+r];i+='<td title="'+s[1]+'"><div tabindex="-1" title="'+s[1]+'" role="button">'+(s?String.fromCharCode(parseInt(s[0],10)):"&nbsp;")+"</div></td>"}i+="</tr>"}i+="</tbody></table>";var c={type:"container",html:i,onclick:function(a){var t=a.target;/^(TD|DIV)$/.test(t.nodeName)&&(e.execCommand("mceInsertContent",!1,tinymce.trim(t.innerText||t.textContent)),a.ctrlKey||n.close())},onmouseover:function(e){var t=a(e.target);t&&n.find("#preview").text(t.firstChild.firstChild.data)}};n=e.windowManager.open({title:"Special character",spacing:10,padding:10,items:[c,{type:"label",name:"preview",text:" ",style:"font-size: 40px; text-align: center",border:1,minWidth:100,minHeight:80}],buttons:[{text:"Close",onclick:function(){n.close()}}]})}var t=[["160","no-break space"],["38","ampersand"],["34","quotation mark"],["162","cent sign"],["8364","euro sign"],["163","pound sign"],["165","yen sign"],["169","copyright sign"],["174","registered sign"],["8482","trade mark sign"],["8240","per mille sign"],["181","micro sign"],["183","middle dot"],["8226","bullet"],["8230","three dot leader"],["8242","minutes / feet"],["8243","seconds / inches"],["167","section sign"],["182","paragraph sign"],["223","sharp s / ess-zed"],["8249","single left-pointing angle quotation mark"],["8250","single right-pointing angle quotation mark"],["171","left pointing guillemet"],["187","right pointing guillemet"],["8216","left single quotation mark"],["8217","right single quotation mark"],["8220","left double quotation mark"],["8221","right double quotation mark"],["8218","single low-9 quotation mark"],["8222","double low-9 quotation mark"],["60","less-than sign"],["62","greater-than sign"],["8804","less-than or equal to"],["8805","greater-than or equal to"],["8211","en dash"],["8212","em dash"],["175","macron"],["8254","overline"],["164","currency sign"],["166","broken bar"],["168","diaeresis"],["161","inverted exclamation mark"],["191","turned question mark"],["710","circumflex accent"],["732","small tilde"],["176","degree sign"],["8722","minus sign"],["177","plus-minus sign"],["247","division sign"],["8260","fraction slash"],["215","multiplication sign"],["185","superscript one"],["178","superscript two"],["179","superscript three"],["188","fraction one quarter"],["189","fraction one half"],["190","fraction three quarters"],["402","function / florin"],["8747","integral"],["8721","n-ary sumation"],["8734","infinity"],["8730","square root"],["8764","similar to"],["8773","approximately equal to"],["8776","almost equal to"],["8800","not equal to"],["8801","identical to"],["8712","element of"],["8713","not an element of"],["8715","contains as member"],["8719","n-ary product"],["8743","logical and"],["8744","logical or"],["172","not sign"],["8745","intersection"],["8746","union"],["8706","partial differential"],["8704","for all"],["8707","there exists"],["8709","diameter"],["8711","backward difference"],["8727","asterisk operator"],["8733","proportional to"],["8736","angle"],["180","acute accent"],["184","cedilla"],["170","feminine ordinal indicator"],["186","masculine ordinal indicator"],["8224","dagger"],["8225","double dagger"],["192","A - grave"],["193","A - acute"],["194","A - circumflex"],["195","A - tilde"],["196","A - diaeresis"],["197","A - ring above"],["198","ligature AE"],["199","C - cedilla"],["200","E - grave"],["201","E - acute"],["202","E - circumflex"],["203","E - diaeresis"],["204","I - grave"],["205","I - acute"],["206","I - circumflex"],["207","I - diaeresis"],["208","ETH"],["209","N - tilde"],["210","O - grave"],["211","O - acute"],["212","O - circumflex"],["213","O - tilde"],["214","O - diaeresis"],["216","O - slash"],["338","ligature OE"],["352","S - caron"],["217","U - grave"],["218","U - acute"],["219","U - circumflex"],["220","U - diaeresis"],["221","Y - acute"],["376","Y - diaeresis"],["222","THORN"],["224","a - grave"],["225","a - acute"],["226","a - circumflex"],["227","a - tilde"],["228","a - diaeresis"],["229","a - ring above"],["230","ligature ae"],["231","c - cedilla"],["232","e - grave"],["233","e - acute"],["234","e - circumflex"],["235","e - diaeresis"],["236","i - grave"],["237","i - acute"],["238","i - circumflex"],["239","i - diaeresis"],["240","eth"],["241","n - tilde"],["242","o - grave"],["243","o - acute"],["244","o - circumflex"],["245","o - tilde"],["246","o - diaeresis"],["248","o slash"],["339","ligature oe"],["353","s - caron"],["249","u - grave"],["250","u - acute"],["251","u - circumflex"],["252","u - diaeresis"],["253","y - acute"],["254","thorn"],["255","y - diaeresis"],["913","Alpha"],["914","Beta"],["915","Gamma"],["916","Delta"],["917","Epsilon"],["918","Zeta"],["919","Eta"],["920","Theta"],["921","Iota"],["922","Kappa"],["923","Lambda"],["924","Mu"],["925","Nu"],["926","Xi"],["927","Omicron"],["928","Pi"],["929","Rho"],["931","Sigma"],["932","Tau"],["933","Upsilon"],["934","Phi"],["935","Chi"],["936","Psi"],["937","Omega"],["945","alpha"],["946","beta"],["947","gamma"],["948","delta"],["949","epsilon"],["950","zeta"],["951","eta"],["952","theta"],["953","iota"],["954","kappa"],["955","lambda"],["956","mu"],["957","nu"],["958","xi"],["959","omicron"],["960","pi"],["961","rho"],["962","final sigma"],["963","sigma"],["964","tau"],["965","upsilon"],["966","phi"],["967","chi"],["968","psi"],["969","omega"],["8501","alef symbol"],["982","pi symbol"],["8476","real part symbol"],["978","upsilon - hook symbol"],["8472","Weierstrass p"],["8465","imaginary part"],["8592","leftwards arrow"],["8593","upwards arrow"],["8594","rightwards arrow"],["8595","downwards arrow"],["8596","left right arrow"],["8629","carriage return"],["8656","leftwards double arrow"],["8657","upwards double arrow"],["8658","rightwards double arrow"],["8659","downwards double arrow"],["8660","left right double arrow"],["8756","therefore"],["8834","subset of"],["8835","superset of"],["8836","not a subset of"],["8838","subset of or equal to"],["8839","superset of or equal to"],["8853","circled plus"],["8855","circled times"],["8869","perpendicular"],["8901","dot operator"],["8968","left ceiling"],["8969","right ceiling"],["8970","left floor"],["8971","right floor"],["9001","left-pointing angle bracket"],["9002","right-pointing angle bracket"],["9674","lozenge"],["9824","black spade suit"],["9827","black club suit"],["9829","black heart suit"],["9830","black diamond suit"],["8194","en space"],["8195","em space"],["8201","thin space"],["8204","zero width non-joiner"],["8205","zero width joiner"],["8206","left-to-right mark"],["8207","right-to-left mark"],["173","soft hyphen"]];e.addButton("charmap",{icon:"charmap",tooltip:"Special character",onclick:a}),e.addMenuItem("charmap",{icon:"charmap",text:"Special character",onclick:a,context:"insert"})});
\ No newline at end of file
similarity index 87%
rename from wp-includes/js/tinymce/themes/advanced/skins/wp_theme/dialog.css
rename to wp-includes/js/tinymce/plugins/compat3x/css/dialog.css
index b56d9e67ff8772b17be0570a63824110d935b8bf..2b8cb13b64729c26e3ed19085e8472d790a1c672 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(//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=latin-ext,latin);
 
 /* Generic */
 body {
@@ -121,15 +121,15 @@ input.mceButton:focus,
 }
 
 /* Browse */
-a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.gif) -860px 0; border:1px solid #FFF; margin-left:1px;}
+a.pickcolor, a.browse {text-decoration:none}
+a.browse span {display:block; width:20px; height:18px; border:1px solid #FFF; margin-left:1px;}
 .mceOldBoxModel a.browse span {width:22px; height:20px;}
 a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;}
-a.browse span.disabled {border:1px solid white; -moz-opacity:0.3; opacity:0.3; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);}
+a.browse span.disabled {border:1px solid white; opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30);}
 a.browse:hover span.disabled {border:1px solid white; background-color:transparent;}
-a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.gif) -840px 0; margin-left:2px;}
+a.pickcolor span {display:block; width:20px; height:16px; margin-left:2px;}
 .mceOldBoxModel a.pickcolor span {width:21px; height:17px;}
 a.pickcolor:hover span {background-color:#B2BBD0;}
-a.pickcolor, a.browse {text-decoration:none}
 div.iframecontainer {background: #fff;}
 
 /* Charmap */
@@ -146,12 +146,11 @@ td.charmap, #charmap a {width:18px; height:18px; color:#000; border:1px solid #A
 .mceActionPanel {margin-top:5px;}
 
 /* Tabs classes */
-.tabs {width:100%; height:18px; line-height:normal; background:url(img/tabs.gif) repeat-x 0 -72px;}
+.tabs {width:100%; height:19px; line-height:normal; border-bottom: 1px solid #aaa;}
 .tabs ul {margin:0; padding:0; list-style:none;}
-.tabs li {float:left; background:url(img/tabs.gif) no-repeat 0 0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block;}
-.tabs li.current {background:url(img/tabs.gif) no-repeat 0 -18px; margin-right:2px;}
-.tabs span {float:left; display:block; background:url(img/tabs.gif) no-repeat right -36px; padding:0px 10px 0 0;}
-.tabs .current span {background:url(img/tabs.gif) no-repeat right -54px;}
+.tabs li {float:left; border: 1px solid #aaa; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block;}
+.tabs li.current {border-bottom: 1px solid #fff; margin-right:2px;}
+.tabs span {float:left; display:block; padding:0px 10px 0 0;}
 .tabs a {text-decoration:none; font-family:Verdana, Arial; font-size:10px;}
 .tabs a:link, .tabs a:visited, .tabs a:hover {color:black;}
 
@@ -210,4 +209,4 @@ body[dir="rtl"] input, body[dir="rtl"] select, body[dir="rtl"]  textarea,
 body[dir="rtl"]  #charmap #codeN,
 body[dir="rtl"] .tabs a {
        font-family: Tahoma, sans-serif;
-}
\ No newline at end of file
+}
diff --git a/wp-includes/js/tinymce/plugins/compat3x/plugin.js b/wp-includes/js/tinymce/plugins/compat3x/plugin.js
new file mode 100644 (file)
index 0000000..03e864c
--- /dev/null
@@ -0,0 +1,301 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*global tinymce:true, console:true */
+/*eslint no-console:0, new-cap:0 */
+
+/**
+ * This plugin adds missing events form the 4.x API back. Not every event is
+ * properly supported but most things should work.
+ *
+ * Unsupported things:
+ *  - No editor.onEvent
+ *  - Can't cancel execCommands with beforeExecCommand
+ */
+(function(tinymce) {
+       var reported;
+
+       function noop() {}
+
+       function log(apiCall) {
+               if (!reported && window && window.console) {
+                       reported = true;
+                       console.log("Deprecated TinyMCE API call: " + apiCall);
+               }
+       }
+
+       function Dispatcher(target, newEventName, argsMap, defaultScope) {
+               target = target || this;
+
+               if (!newEventName) {
+                       this.add = this.addToTop = this.remove = this.dispatch = noop;
+                       return;
+               }
+
+               this.add = function(callback, scope, prepend) {
+                       log('<target>.on' + newEventName + ".add(..)");
+
+                       // Convert callback({arg1:x, arg2:x}) -> callback(arg1, arg2)
+                       function patchedEventCallback(e) {
+                               var callbackArgs = [];
+
+                               if (typeof argsMap == "string") {
+                                       argsMap = argsMap.split(" ");
+                               }
+
+                               if (argsMap && typeof argsMap != "function") {
+                                       for (var i = 0; i < argsMap.length; i++) {
+                                               callbackArgs.push(e[argsMap[i]]);
+                                       }
+                               }
+
+                               if (typeof argsMap == "function") {
+                                       callbackArgs = argsMap(newEventName, e, target);
+                                       if (!callbackArgs) {
+                                               return;
+                                       }
+                               }
+
+                               if (!argsMap) {
+                                       callbackArgs = [e];
+                               }
+
+                               callbackArgs.unshift(defaultScope || target);
+
+                               if (callback.apply(scope || defaultScope || target, callbackArgs) === false) {
+                                       e.stopImmediatePropagation();
+                               }
+                       }
+
+                       target.on(newEventName, patchedEventCallback, prepend);
+
+                       return patchedEventCallback;
+               };
+
+               this.addToTop = function(callback, scope) {
+                       this.add(callback, scope, true);
+               };
+
+               this.remove = function(callback) {
+                       return target.off(newEventName, callback);
+               };
+
+               this.dispatch = function() {
+                       target.fire(newEventName);
+
+                       return true;
+               };
+       }
+
+       tinymce.util.Dispatcher = Dispatcher;
+       tinymce.onBeforeUnload = new Dispatcher(tinymce, "BeforeUnload");
+       tinymce.onAddEditor = new Dispatcher(tinymce, "AddEditor", "editor");
+       tinymce.onRemoveEditor = new Dispatcher(tinymce, "RemoveEditor", "editor");
+
+       tinymce.util.Cookie = {
+               get: noop, getHash: noop, remove: noop, set: noop, setHash: noop
+       };
+
+       function patchEditor(editor) {
+               function patchEditorEvents(oldEventNames, argsMap) {
+                       tinymce.each(oldEventNames.split(" "), function(oldName) {
+                               editor["on" + oldName] = new Dispatcher(editor, oldName, argsMap);
+                       });
+               }
+
+               function convertUndoEventArgs(type, event, target) {
+                       return [
+                               event.level,
+                               target
+                       ];
+               }
+
+               function filterSelectionEvents(needsSelection) {
+                       return function(type, e) {
+                               if ((!e.selection && !needsSelection) || e.selection == needsSelection) {
+                                       return [e];
+                               }
+                       };
+               }
+
+               if (editor.controlManager) {
+                       return;
+               }
+
+               function cmNoop() {
+                       var obj = {}, methods = 'add addMenu addSeparator collapse createMenu destroy displayColor expand focus ' +
+                               'getLength hasMenus hideMenu isActive isCollapsed isDisabled isRendered isSelected mark ' +
+                               'postRender remove removeAll renderHTML renderMenu renderNode renderTo select selectByIndex ' +
+                               'setActive setAriaProperty setColor setDisabled setSelected setState showMenu update';
+
+                       log('editor.controlManager.*');
+
+                       function _noop() {
+                               return cmNoop();
+                       }
+
+                       tinymce.each(methods.split(' '), function(method) {
+                               obj[method] = _noop;
+                       });
+
+                       return obj;
+               }
+
+               editor.controlManager = {
+                       buttons: {},
+
+                       setDisabled: function(name, state) {
+                               log("controlManager.setDisabled(..)");
+
+                               if (this.buttons[name]) {
+                                       this.buttons[name].disabled(state);
+                               }
+                       },
+
+                       setActive: function(name, state) {
+                               log("controlManager.setActive(..)");
+
+                               if (this.buttons[name]) {
+                                       this.buttons[name].active(state);
+                               }
+                       },
+
+                       onAdd: new Dispatcher(),
+                       onPostRender: new Dispatcher(),
+
+                       add: function(obj) { return obj; },
+                       createButton: cmNoop,
+                       createColorSplitButton: cmNoop,
+                       createControl: cmNoop,
+                       createDropMenu: cmNoop,
+                       createListBox: cmNoop,
+                       createMenuButton: cmNoop,
+                       createSeparator: cmNoop,
+                       createSplitButton: cmNoop,
+                       createToolbar: cmNoop,
+                       createToolbarGroup: cmNoop,
+                       destroy: noop,
+                       get: noop,
+                       setControlType: cmNoop
+               };
+
+               patchEditorEvents("PreInit BeforeRenderUI PostRender Load Init Remove Activate Deactivate", "editor");
+               patchEditorEvents("Click MouseUp MouseDown DblClick KeyDown KeyUp KeyPress ContextMenu Paste Submit Reset");
+               patchEditorEvents("BeforeExecCommand ExecCommand", "command ui value args"); // args.terminate not supported
+               patchEditorEvents("PreProcess PostProcess LoadContent SaveContent Change");
+               patchEditorEvents("BeforeSetContent BeforeGetContent SetContent GetContent", filterSelectionEvents(false));
+               patchEditorEvents("SetProgressState", "state time");
+               patchEditorEvents("VisualAid", "element hasVisual");
+               patchEditorEvents("Undo Redo", convertUndoEventArgs);
+
+               patchEditorEvents("NodeChange", function(type, e) {
+                       return [
+                               editor.controlManager,
+                               e.element,
+                               editor.selection.isCollapsed(),
+                               e
+                       ];
+               });
+
+               var originalAddButton = editor.addButton;
+               editor.addButton = function(name, settings) {
+                       var originalOnPostRender, string, translated;
+
+                       function patchedPostRender() {
+                               editor.controlManager.buttons[name] = this;
+
+                               if (originalOnPostRender) {
+                                       return originalOnPostRender.call(this);
+                               }
+                       }
+
+                       for (var key in settings) {
+                               if (key.toLowerCase() === "onpostrender") {
+                                       originalOnPostRender = settings[key];
+                                       settings.onPostRender = patchedPostRender;
+                               }
+                       }
+
+                       if (!originalOnPostRender) {
+                               settings.onPostRender = patchedPostRender;
+                       }
+
+                       if ( settings.title ) {
+                               // WP
+                               string = (editor.settings.language || "en") + "." + settings.title;
+                               translated = tinymce.i18n.translate(string);
+
+                               if ( string !== translated ) {
+                                       settings.title = translated;
+                               }
+                               // WP end
+                       }
+
+                       return originalAddButton.call(this, name, settings);
+               };
+
+               editor.on('init', function() {
+                       var undoManager = editor.undoManager, selection = editor.selection;
+
+                       undoManager.onUndo = new Dispatcher(editor, "Undo", convertUndoEventArgs, null, undoManager);
+                       undoManager.onRedo = new Dispatcher(editor, "Redo", convertUndoEventArgs, null, undoManager);
+                       undoManager.onBeforeAdd = new Dispatcher(editor, "BeforeAddUndo", null, undoManager);
+                       undoManager.onAdd = new Dispatcher(editor, "AddUndo", null, undoManager);
+
+                       selection.onBeforeGetContent = new Dispatcher(editor, "BeforeGetContent", filterSelectionEvents(true), selection);
+                       selection.onGetContent = new Dispatcher(editor, "GetContent", filterSelectionEvents(true), selection);
+                       selection.onBeforeSetContent = new Dispatcher(editor, "BeforeSetContent", filterSelectionEvents(true), selection);
+                       selection.onSetContent = new Dispatcher(editor, "SetContent", filterSelectionEvents(true), selection);
+               });
+
+               editor.on('BeforeRenderUI', function() {
+                       var windowManager = editor.windowManager;
+
+                       windowManager.onOpen = new Dispatcher();
+                       windowManager.onClose = new Dispatcher();
+                       windowManager.createInstance = function(className, a, b, c, d, e) {
+                               log("windowManager.createInstance(..)");
+
+                               var constr = tinymce.resolve(className);
+                               return new constr(a, b, c, d, e);
+                       };
+               });
+       }
+
+       tinymce.on('SetupEditor', patchEditor);
+       tinymce.PluginManager.add("compat3x", patchEditor);
+
+       tinymce.addI18n = function(prefix, o) {
+               var I18n = tinymce.util.I18n, each = tinymce.each;
+
+               if (typeof(prefix) == "string" && prefix.indexOf('.') === -1) {
+                       I18n.add(prefix, o);
+                       return;
+               }
+
+               if (!tinymce.is(prefix, 'string')) {
+                       each(prefix, function(o, lc) {
+                               each(o, function(o, g) {
+                                       each(o, function(o, k) {
+                                               if (g === 'common') {
+                                                       I18n.data[lc + '.' + k] = o;
+                                               } else {
+                                                       I18n.data[lc + '.' + g + '.' + k] = o;
+                                               }
+                                       });
+                               });
+                       });
+               } else {
+                       each(o, function(o, k) {
+                               I18n.data[prefix + '.' + k] = o;
+                       });
+               }
+       };
+})(tinymce);
diff --git a/wp-includes/js/tinymce/plugins/compat3x/plugin.min.js b/wp-includes/js/tinymce/plugins/compat3x/plugin.min.js
new file mode 100644 (file)
index 0000000..42002fb
--- /dev/null
@@ -0,0 +1 @@
+!function(a){function b(){}function c(a){!f&&window&&window.console&&(f=!0,console.log("Deprecated TinyMCE API call: "+a))}function d(a,d,e,f){return a=a||this,d?(this.add=function(b,g,h){function i(c){var h=[];if("string"==typeof e&&(e=e.split(" ")),e&&"function"!=typeof e)for(var i=0;i<e.length;i++)h.push(c[e[i]]);("function"!=typeof e||(h=e(d,c,a)))&&(e||(h=[c]),h.unshift(f||a),b.apply(g||f||a,h)===!1&&c.stopImmediatePropagation())}return c("<target>.on"+d+".add(..)"),a.on(d,i,h),i},this.addToTop=function(a,b){this.add(a,b,!0)},this.remove=function(b){return a.off(d,b)},void(this.dispatch=function(){return a.fire(d),!0})):void(this.add=this.addToTop=this.remove=this.dispatch=b)}function e(e){function f(b,c){a.each(b.split(" "),function(a){e["on"+a]=new d(e,a,c)})}function g(a,b,c){return[b.level,c]}function h(a){return function(b,c){return!c.selection&&!a||c.selection==a?[c]:void 0}}function i(){function b(){return i()}var d={},e="add addMenu addSeparator collapse createMenu destroy displayColor expand focus getLength hasMenus hideMenu isActive isCollapsed isDisabled isRendered isSelected mark postRender remove removeAll renderHTML renderMenu renderNode renderTo select selectByIndex setActive setAriaProperty setColor setDisabled setSelected setState showMenu update";return c("editor.controlManager.*"),a.each(e.split(" "),function(a){d[a]=b}),d}if(!e.controlManager){e.controlManager={buttons:{},setDisabled:function(a,b){c("controlManager.setDisabled(..)"),this.buttons[a]&&this.buttons[a].disabled(b)},setActive:function(a,b){c("controlManager.setActive(..)"),this.buttons[a]&&this.buttons[a].active(b)},onAdd:new d,onPostRender:new d,add:function(a){return a},createButton:i,createColorSplitButton:i,createControl:i,createDropMenu:i,createListBox:i,createMenuButton:i,createSeparator:i,createSplitButton:i,createToolbar:i,createToolbarGroup:i,destroy:b,get:b,setControlType:i},f("PreInit BeforeRenderUI PostRender Load Init Remove Activate Deactivate","editor"),f("Click MouseUp MouseDown DblClick KeyDown KeyUp KeyPress ContextMenu Paste Submit Reset"),f("BeforeExecCommand ExecCommand","command ui value args"),f("PreProcess PostProcess LoadContent SaveContent Change"),f("BeforeSetContent BeforeGetContent SetContent GetContent",h(!1)),f("SetProgressState","state time"),f("VisualAid","element hasVisual"),f("Undo Redo",g),f("NodeChange",function(a,b){return[e.controlManager,b.element,e.selection.isCollapsed(),b]});var j=e.addButton;e.addButton=function(b,c){function d(){return e.controlManager.buttons[b]=this,f?f.call(this):void 0}var f,g,h;for(var i in c)"onpostrender"===i.toLowerCase()&&(f=c[i],c.onPostRender=d);return f||(c.onPostRender=d),c.title&&(g=(e.settings.language||"en")+"."+c.title,h=a.i18n.translate(g),g!==h&&(c.title=h)),j.call(this,b,c)},e.on("init",function(){var a=e.undoManager,b=e.selection;a.onUndo=new d(e,"Undo",g,null,a),a.onRedo=new d(e,"Redo",g,null,a),a.onBeforeAdd=new d(e,"BeforeAddUndo",null,a),a.onAdd=new d(e,"AddUndo",null,a),b.onBeforeGetContent=new d(e,"BeforeGetContent",h(!0),b),b.onGetContent=new d(e,"GetContent",h(!0),b),b.onBeforeSetContent=new d(e,"BeforeSetContent",h(!0),b),b.onSetContent=new d(e,"SetContent",h(!0),b)}),e.on("BeforeRenderUI",function(){var b=e.windowManager;b.onOpen=new d,b.onClose=new d,b.createInstance=function(b,d,e,f,g,h){c("windowManager.createInstance(..)");var i=a.resolve(b);return new i(d,e,f,g,h)}})}}var f;a.util.Dispatcher=d,a.onBeforeUnload=new d(a,"BeforeUnload"),a.onAddEditor=new d(a,"AddEditor","editor"),a.onRemoveEditor=new d(a,"RemoveEditor","editor"),a.util.Cookie={get:b,getHash:b,remove:b,set:b,setHash:b},a.on("SetupEditor",e),a.PluginManager.add("compat3x",e),a.addI18n=function(b,c){var d=a.util.I18n,e=a.each;return"string"==typeof b&&-1===b.indexOf(".")?void d.add(b,c):void(a.is(b,"string")?e(c,function(a,c){d.data[b+"."+c]=a}):e(b,function(a,b){e(a,function(a,c){e(a,function(a,e){"common"===c?d.data[b+"."+e]=a:d.data[b+"."+c+"."+e]=a})})}))}}(tinymce);
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/directionality/editor_plugin.js b/wp-includes/js/tinymce/plugins/directionality/editor_plugin.js
deleted file mode 100644 (file)
index 90847e7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(){tinymce.create("tinymce.plugins.Directionality",{init:function(b,c){var d=this;d.editor=b;function a(e){var h=b.dom,g,f=b.selection.getSelectedBlocks();if(f.length){g=h.getAttrib(f[0],"dir");tinymce.each(f,function(i){if(!h.getParent(i.parentNode,"*[dir='"+e+"']",h.getRoot())){if(g!=e){h.setAttrib(i,"dir",e)}else{h.setAttrib(i,"dir",null)}}});b.nodeChanged()}}b.addCommand("mceDirectionLTR",function(){a("ltr")});b.addCommand("mceDirectionRTL",function(){a("rtl")});b.addButton("ltr",{title:"directionality.ltr_desc",cmd:"mceDirectionLTR"});b.addButton("rtl",{title:"directionality.rtl_desc",cmd:"mceDirectionRTL"});b.onNodeChange.add(d._nodeChange,d)},getInfo:function(){return{longname:"Directionality",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_nodeChange:function(b,a,e){var d=b.dom,c;e=d.getParent(e,d.isBlock);if(!e){a.setDisabled("ltr",1);a.setDisabled("rtl",1);return}c=d.getAttrib(e,"dir");a.setActive("ltr",c=="ltr");a.setDisabled("ltr",0);a.setActive("rtl",c=="rtl");a.setDisabled("rtl",0)}});tinymce.PluginManager.add("directionality",tinymce.plugins.Directionality)})();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/directionality/editor_plugin_src.js b/wp-includes/js/tinymce/plugins/directionality/editor_plugin_src.js
deleted file mode 100644 (file)
index c90732b..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * editor_plugin_src.js
- *
- * Copyright 2009, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
- */
-
-(function() {
-       tinymce.create('tinymce.plugins.Directionality', {
-               init : function(ed, url) {
-                       var t = this;
-
-                       t.editor = ed;
-
-                       function setDir(dir) {
-                               var dom = ed.dom, curDir, blocks = ed.selection.getSelectedBlocks();
-
-                               if (blocks.length) {
-                                       curDir = dom.getAttrib(blocks[0], "dir");
-
-                                       tinymce.each(blocks, function(block) {
-                                               // Add dir to block if the parent block doesn't already have that dir
-                                               if (!dom.getParent(block.parentNode, "*[dir='" + dir + "']", dom.getRoot())) {
-                                                       if (curDir != dir) {
-                                                               dom.setAttrib(block, "dir", dir);
-                                                       } else {
-                                                               dom.setAttrib(block, "dir", null);
-                                                       }
-                                               }
-                                       });
-
-                                       ed.nodeChanged();
-                               }
-                       }
-
-                       ed.addCommand('mceDirectionLTR', function() {
-                               setDir("ltr");
-                       });
-
-                       ed.addCommand('mceDirectionRTL', function() {
-                               setDir("rtl");
-                       });
-
-                       ed.addButton('ltr', {title : 'directionality.ltr_desc', cmd : 'mceDirectionLTR'});
-                       ed.addButton('rtl', {title : 'directionality.rtl_desc', cmd : 'mceDirectionRTL'});
-
-                       ed.onNodeChange.add(t._nodeChange, t);
-               },
-
-               getInfo : function() {
-                       return {
-                               longname : 'Directionality',
-                               author : 'Moxiecode Systems AB',
-                               authorurl : 'http://tinymce.moxiecode.com',
-                               infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality',
-                               version : tinymce.majorVersion + "." + tinymce.minorVersion
-                       };
-               },
-
-               // Private methods
-
-               _nodeChange : function(ed, cm, n) {
-                       var dom = ed.dom, dir;
-
-                       n = dom.getParent(n, dom.isBlock);
-                       if (!n) {
-                               cm.setDisabled('ltr', 1);
-                               cm.setDisabled('rtl', 1);
-                               return;
-                       }
-
-                       dir = dom.getAttrib(n, 'dir');
-                       cm.setActive('ltr', dir == "ltr");
-                       cm.setDisabled('ltr', 0);
-                       cm.setActive('rtl', dir == "rtl");
-                       cm.setDisabled('rtl', 0);
-               }
-       });
-
-       // Register plugin
-       tinymce.PluginManager.add('directionality', tinymce.plugins.Directionality);
-})();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/directionality/plugin.js b/wp-includes/js/tinymce/plugins/directionality/plugin.js
new file mode 100644 (file)
index 0000000..3fd0dab
--- /dev/null
@@ -0,0 +1,64 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*global tinymce:true */
+
+tinymce.PluginManager.add('directionality', function(editor) {
+       function setDir(dir) {
+               var dom = editor.dom, curDir, blocks = editor.selection.getSelectedBlocks();
+
+               if (blocks.length) {
+                       curDir = dom.getAttrib(blocks[0], "dir");
+
+                       tinymce.each(blocks, function(block) {
+                               // Add dir to block if the parent block doesn't already have that dir
+                               if (!dom.getParent(block.parentNode, "*[dir='" + dir + "']", dom.getRoot())) {
+                                       if (curDir != dir) {
+                                               dom.setAttrib(block, "dir", dir);
+                                       } else {
+                                               dom.setAttrib(block, "dir", null);
+                                       }
+                               }
+                       });
+
+                       editor.nodeChanged();
+               }
+       }
+
+       function generateSelector(dir) {
+               var selector = [];
+
+               tinymce.each('h1 h2 h3 h4 h5 h6 div p'.split(' '), function(name) {
+                       selector.push(name + '[dir=' + dir + ']');
+               });
+
+               return selector.join(',');
+       }
+
+       editor.addCommand('mceDirectionLTR', function() {
+               setDir("ltr");
+       });
+
+       editor.addCommand('mceDirectionRTL', function() {
+               setDir("rtl");
+       });
+
+       editor.addButton('ltr', {
+               title: 'Left to right',
+               cmd: 'mceDirectionLTR',
+               stateSelector: generateSelector('ltr')
+       });
+
+       editor.addButton('rtl', {
+               title: 'Right to left',
+               cmd: 'mceDirectionRTL',
+               stateSelector: generateSelector('rtl')
+       });
+});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/directionality/plugin.min.js b/wp-includes/js/tinymce/plugins/directionality/plugin.min.js
new file mode 100644 (file)
index 0000000..2994eb6
--- /dev/null
@@ -0,0 +1 @@
+tinymce.PluginManager.add("directionality",function(t){function e(e){var i,n=t.dom,r=t.selection.getSelectedBlocks();r.length&&(i=n.getAttrib(r[0],"dir"),tinymce.each(r,function(t){n.getParent(t.parentNode,"*[dir='"+e+"']",n.getRoot())||(i!=e?n.setAttrib(t,"dir",e):n.setAttrib(t,"dir",null))}),t.nodeChanged())}function i(t){var e=[];return tinymce.each("h1 h2 h3 h4 h5 h6 div p".split(" "),function(i){e.push(i+"[dir="+t+"]")}),e.join(",")}t.addCommand("mceDirectionLTR",function(){e("ltr")}),t.addCommand("mceDirectionRTL",function(){e("rtl")}),t.addButton("ltr",{title:"Left to right",cmd:"mceDirectionLTR",stateSelector:i("ltr")}),t.addButton("rtl",{title:"Right to left",cmd:"mceDirectionRTL",stateSelector:i("rtl")})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/fullscreen/editor_plugin.js b/wp-includes/js/tinymce/plugins/fullscreen/editor_plugin.js
deleted file mode 100644 (file)
index 1aa8cc4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(){var b=tinymce.DOM;var a=function(d,f,e){var c=function(g){var i=d.controlManager.get(g);var h=f.controlManager.get(g);if(i&&h){h.displayColor(i.value)}};c("forecolor");c("backcolor");f.setContent(d.getContent({format:"raw"}),{format:"raw"});f.selection.moveToBookmark(e);if(d.plugins.spellchecker&&f.plugins.spellchecker){f.plugins.spellchecker.setLanguage(d.plugins.spellchecker.selectedLang)}};tinymce.create("tinymce.plugins.FullScreenPlugin",{init:function(i,c){var l=this,m={},k=b.doc.documentElement,d,o,h,g,f,e,j;i.addCommand("mceFullScreen",function(){var q,r;if(i.getParam("fullscreen_is_enabled")){if(i.getParam("fullscreen_new_window")){closeFullscreen()}else{b.win.setTimeout(function(){var t=i;var s=tinyMCE.get(t.getParam("fullscreen_editor_id"));s.plugins.fullscreen.saveState(t);tinyMCE.remove(t)},10)}return}if(i.getParam("fullscreen_new_window")){l.fullscreenSettings={bookmark:i.selection.getBookmark()};q=b.win.open(c+"/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{q.resizeTo(screen.availWidth,screen.availHeight)}catch(p){}}else{o=b.getStyle(b.doc.body,"overflow",1)||"auto";h=b.getStyle(k,"overflow",1);d=b.getViewPort();g=d.x;f=d.y;if(tinymce.isOpera&&o=="visible"){o="auto"}if(tinymce.isIE&&o=="scroll"){o="auto"}if(tinymce.isIE&&(h=="visible"||h=="scroll")){h="auto"}if(o=="0px"){o=""}b.setStyle(b.doc.body,"overflow","hidden");k.style.overflow="hidden";d=b.getViewPort();b.win.scrollTo(0,0);if(tinymce.isIE){d.h-=1}if(tinymce.isIE6||document.compatMode=="BackCompat"){e="absolute;top:"+d.y}else{e="fixed;top:0"}n=b.add(b.doc.body,"div",{id:"mce_fullscreen_container",style:"position:"+e+";left:0;width:"+d.w+"px;height:"+d.h+"px;z-index:200000;"});b.add(n,"div",{id:"mce_fullscreen"});tinymce.each(i.settings,function(s,t){m[t]=s});m.id="mce_fullscreen";m.width=n.clientWidth;m.height=n.clientHeight-15;m.fullscreen_is_enabled=true;m.fullscreen_editor_id=i.id;m.theme_advanced_resizing=false;m.save_onsavecallback=function(){i.setContent(tinyMCE.get(m.id).getContent());i.execCommand("mceSave")};tinymce.each(i.getParam("fullscreen_settings"),function(t,s){m[s]=t});l.fullscreenSettings={bookmark:i.selection.getBookmark(),fullscreen_overflow:o,fullscreen_html_overflow:h,fullscreen_scrollx:g,fullscreen_scrolly:f};if(m.theme_advanced_toolbar_location==="external"){m.theme_advanced_toolbar_location="top"}tinyMCE.oldSettings=tinyMCE.settings;l.fullscreenEditor=new tinymce.Editor("mce_fullscreen",m);l.fullscreenEditor.onInit.add(function(){l.loadState(l.fullscreenEditor)});l.fullscreenEditor.render();l.fullscreenElement=new tinymce.dom.Element("mce_fullscreen_container");l.fullscreenElement.update();l.resizeFunc=tinymce.dom.Event.add(b.win,"resize",function(){var v=tinymce.DOM.getViewPort(),t=l.fullscreenEditor,s,u;s=t.dom.getSize(t.getContainer().getElementsByTagName("table")[0]);u=t.dom.getSize(t.getContainer().getElementsByTagName("iframe")[0]);t.theme.resizeTo(v.w-s.w+u.w,v.h-s.h+u.h)})}});i.addButton("fullscreen",{title:"fullscreen.desc",cmd:"mceFullScreen"});i.onNodeChange.add(function(q,p){p.setActive("fullscreen",q.getParam("fullscreen_is_enabled"))});l.loadState=function(p){if(!(p&&l.fullscreenSettings)){throw"No fullscreen editor to load to"}a(i,p,l.fullscreenSettings.bookmark);p.focus()};l.saveState=function(q){if(!(q&&l.fullscreenSettings)){throw"No fullscreen editor to restore from"}var p=l.fullscreenSettings;a(q,i,q.selection.getBookmark());if(!i.getParam("fullscreen_new_window")){tinymce.dom.Event.remove(b.win,"resize",l.resizeFunc);delete l.resizeFunc;b.remove("mce_fullscreen_container");b.doc.documentElement.style.overflow=p.fullscreen_html_overflow;b.setStyle(b.doc.body,"overflow",p.fullscreen_overflow);b.win.scrollTo(p.fullscreen_scrollx,p.fullscreen_scrolly)}tinyMCE.settings=tinyMCE.oldSettings;delete tinyMCE.oldSettings;delete l.fullscreenEditor;delete l.fullscreenElement;delete l.fullscreenSettings;b.win.setTimeout(function(){i.selection.moveToBookmark(j);i.focus()},10)}},getInfo:function(){return{longname:"Fullscreen",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("fullscreen",tinymce.plugins.FullScreenPlugin)})();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/fullscreen/editor_plugin_src.js b/wp-includes/js/tinymce/plugins/fullscreen/editor_plugin_src.js
deleted file mode 100644 (file)
index a1f39a0..0000000
+++ /dev/null
@@ -1,234 +0,0 @@
-/**
- * editor_plugin_src.js
- *
- * Copyright 2009, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
- */
-
-(function() {
-       var DOM = tinymce.DOM;
-
-       // State Transfer function
-       var transferState = function(oldEditor, newEditor, bookmark) {
-               var transferColorButtonState = function(swapme) {
-                       var c = oldEditor.controlManager.get(swapme);
-                       var newC = newEditor.controlManager.get(swapme);
-
-                       if (c && newC) {
-                               newC.displayColor(c.value);
-                       }
-
-               };
-
-               transferColorButtonState('forecolor');
-               transferColorButtonState('backcolor');
-               newEditor.setContent(oldEditor.getContent({format : 'raw'}), {format : 'raw'});
-               newEditor.selection.moveToBookmark(bookmark);
-
-               if (oldEditor.plugins.spellchecker && newEditor.plugins.spellchecker) {
-                       newEditor.plugins.spellchecker.setLanguage(oldEditor.plugins.spellchecker.selectedLang);
-               }
-       };
-
-       tinymce.create('tinymce.plugins.FullScreenPlugin', {
-               init : function(ed, url) {
-                       var t = this, s = {}, de = DOM.doc.documentElement, vp, fullscreen_overflow, fullscreen_html_overflow, fullscreen_scrollx, fullscreen_scrolly, posCss, bookmark;
-
-                       // Register commands
-                       ed.addCommand('mceFullScreen', function() {
-                               var win, oed;
-
-                               if (ed.getParam('fullscreen_is_enabled')) {
-                                       if (ed.getParam('fullscreen_new_window'))
-                                               closeFullscreen(); // Call to close in fullscreen.htm
-                                       else {
-                                               DOM.win.setTimeout(function() {
-                                                       var fullscreenEditor = ed;
-
-                                                       // find the editor that opened this one, execute restore function there
-                                                       var originalEditor = tinyMCE.get(fullscreenEditor.getParam('fullscreen_editor_id'));
-                                                       originalEditor.plugins.fullscreen.saveState(fullscreenEditor);
-
-                                                       tinyMCE.remove(fullscreenEditor);
-                                               }, 10);
-                                       }
-
-                                       return;
-                               }
-
-                               if (ed.getParam('fullscreen_new_window')) {
-                                       t.fullscreenSettings = {
-                                               bookmark: ed.selection.getBookmark()
-                                       };
-                                       win = DOM.win.open(url + "/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight);
-                                       try {
-                                               win.resizeTo(screen.availWidth, screen.availHeight);
-                                       } catch (e) {
-                                               // Ignore
-                                       }
-                               } else {
-                                       fullscreen_overflow = DOM.getStyle(DOM.doc.body, 'overflow', 1) || 'auto';
-                                       fullscreen_html_overflow = DOM.getStyle(de, 'overflow', 1);
-                                       vp = DOM.getViewPort();
-                                       fullscreen_scrollx = vp.x;
-                                       fullscreen_scrolly = vp.y;
-
-                                       // Fixes an Opera bug where the scrollbars doesn't reappear
-                                       if (tinymce.isOpera && fullscreen_overflow == 'visible')
-                                               fullscreen_overflow = 'auto';
-
-                                       // Fixes an IE bug where horizontal scrollbars would appear
-                                       if (tinymce.isIE && fullscreen_overflow == 'scroll')
-                                               fullscreen_overflow = 'auto';
-
-                                       // Fixes an IE bug where the scrollbars doesn't reappear
-                                       if (tinymce.isIE && (fullscreen_html_overflow == 'visible' || fullscreen_html_overflow == 'scroll'))
-                                               fullscreen_html_overflow = 'auto';
-
-                                       if (fullscreen_overflow == '0px')
-                                               fullscreen_overflow = '';
-
-                                       DOM.setStyle(DOM.doc.body, 'overflow', 'hidden');
-                                       de.style.overflow = 'hidden'; //Fix for IE6/7
-                                       vp = DOM.getViewPort();
-                                       DOM.win.scrollTo(0, 0);
-
-                                       if (tinymce.isIE)
-                                               vp.h -= 1;
-
-                                       // Use fixed position if it exists
-                                       if (tinymce.isIE6 || document.compatMode == 'BackCompat')
-                                               posCss = 'absolute;top:' + vp.y;
-                                       else
-                                               posCss = 'fixed;top:0';
-
-                                       n = DOM.add(DOM.doc.body, 'div', {
-                                               id : 'mce_fullscreen_container',
-                                               style : 'position:' + posCss + ';left:0;width:' + vp.w + 'px;height:' + vp.h + 'px;z-index:200000;'});
-                                       DOM.add(n, 'div', {id : 'mce_fullscreen'});
-
-                                       tinymce.each(ed.settings, function(v, n) {
-                                               s[n] = v;
-                                       });
-
-                                       s.id = 'mce_fullscreen';
-                                       s.width = n.clientWidth;
-                                       s.height = n.clientHeight - 15;
-                                       s.fullscreen_is_enabled = true;
-                                       s.fullscreen_editor_id = ed.id;
-                                       s.theme_advanced_resizing = false;
-                                       s.save_onsavecallback = function() {
-                                               ed.setContent(tinyMCE.get(s.id).getContent());
-                                               ed.execCommand('mceSave');
-                                       };
-
-                                       tinymce.each(ed.getParam('fullscreen_settings'), function(v, k) {
-                                               s[k] = v;
-                                       });
-
-                                       t.fullscreenSettings = {
-                                               bookmark: ed.selection.getBookmark(),
-                                               fullscreen_overflow: fullscreen_overflow,
-                                               fullscreen_html_overflow: fullscreen_html_overflow,
-                                               fullscreen_scrollx: fullscreen_scrollx,
-                                               fullscreen_scrolly: fullscreen_scrolly
-                                       };
-
-                                       if (s.theme_advanced_toolbar_location === 'external')
-                                               s.theme_advanced_toolbar_location = 'top';
-
-                                       tinyMCE.oldSettings = tinyMCE.settings; // Store old settings, the Editor constructor overwrites them
-                                       t.fullscreenEditor = new tinymce.Editor('mce_fullscreen', s);
-                                       t.fullscreenEditor.onInit.add(function() {
-                                               t.loadState(t.fullscreenEditor);
-                                       });
-
-                                       t.fullscreenEditor.render();
-
-                                       t.fullscreenElement = new tinymce.dom.Element('mce_fullscreen_container');
-                                       t.fullscreenElement.update();
-                                       //document.body.overflow = 'hidden';
-
-                                       t.resizeFunc = tinymce.dom.Event.add(DOM.win, 'resize', function() {
-                                               var vp = tinymce.DOM.getViewPort(), fed = t.fullscreenEditor, outerSize, innerSize;
-
-                                               // Get outer/inner size to get a delta size that can be used to calc the new iframe size
-                                               outerSize = fed.dom.getSize(fed.getContainer().getElementsByTagName('table')[0]);
-                                               innerSize = fed.dom.getSize(fed.getContainer().getElementsByTagName('iframe')[0]);
-
-                                               fed.theme.resizeTo(vp.w - outerSize.w + innerSize.w, vp.h - outerSize.h + innerSize.h);
-                                       });
-                               }
-                       });
-
-                       // Register buttons
-                       ed.addButton('fullscreen', {title : 'fullscreen.desc', cmd : 'mceFullScreen'});
-
-                       ed.onNodeChange.add(function(ed, cm) {
-                               cm.setActive('fullscreen', ed.getParam('fullscreen_is_enabled'));
-                       });
-
-                       // fullscreenEditor is a param here because in window mode we don't create it
-                       t.loadState = function(fullscreenEditor) {
-                               if (!(fullscreenEditor && t.fullscreenSettings)) {
-                                       throw "No fullscreen editor to load to";
-                               }
-
-                               transferState(ed, fullscreenEditor, t.fullscreenSettings.bookmark);
-                               fullscreenEditor.focus();
-
-                       };
-
-                       // fullscreenEditor is a param here because in window mode we don't create it
-                       t.saveState = function(fullscreenEditor) {
-                               if (!(fullscreenEditor && t.fullscreenSettings)) {
-                                       throw "No fullscreen editor to restore from";
-                               }
-                               var settings = t.fullscreenSettings;
-
-                               transferState(fullscreenEditor, ed, fullscreenEditor.selection.getBookmark());
-
-                               // cleanup only required if window mode isn't used
-                               if (!ed.getParam('fullscreen_new_window')) {
-                                       tinymce.dom.Event.remove(DOM.win, 'resize', t.resizeFunc);
-                                       delete t.resizeFunc;
-
-                                       DOM.remove('mce_fullscreen_container');
-
-                                       DOM.doc.documentElement.style.overflow = settings.fullscreen_html_overflow;
-                                       DOM.setStyle(DOM.doc.body, 'overflow', settings.fullscreen_overflow);
-                                       DOM.win.scrollTo(settings.fullscreen_scrollx, settings.fullscreen_scrolly);
-                               }
-                               tinyMCE.settings = tinyMCE.oldSettings; // Restore old settings
-
-                               // clear variables
-                               delete tinyMCE.oldSettings;
-                               delete t.fullscreenEditor;
-                               delete t.fullscreenElement;
-                               delete t.fullscreenSettings;
-
-                               // allow the fullscreen editor to be removed before restoring focus and selection
-                               DOM.win.setTimeout(function() {
-                                       ed.selection.moveToBookmark(bookmark);
-                                       ed.focus();
-                               }, 10);
-                       };
-               },
-
-               getInfo : function() {
-                       return {
-                               longname : 'Fullscreen',
-                               author : 'Moxiecode Systems AB',
-                               authorurl : 'http://tinymce.moxiecode.com',
-                               infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen',
-                               version : tinymce.majorVersion + "." + tinymce.minorVersion
-                       };
-               }
-       });
-
-       // Register plugin
-       tinymce.PluginManager.add('fullscreen', tinymce.plugins.FullScreenPlugin);
-})();
diff --git a/wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm b/wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm
deleted file mode 100644 (file)
index 9b0fb9a..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <title></title>
-       <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-       <script type="text/javascript" src="../../tiny_mce.js?ver=359-20131010"></script>
-       <script type="text/javascript">
-               function patchCallback(settings, key) {
-                       if (settings[key])
-                               settings[key] = "window.opener." + settings[key];
-               }
-
-               var settings = {}, paSe = window.opener.tinyMCE.activeEditor.settings, oeID = window.opener.tinyMCE.activeEditor.id;
-
-               // Clone array
-               for (var n in paSe)
-                       settings[n] = paSe[n];
-
-               // Override options for fullscreen
-               for (var n in paSe.fullscreen_settings)
-                       settings[n] = paSe.fullscreen_settings[n];
-
-               // Patch callbacks, make them point to window.opener
-               patchCallback(settings, 'urlconverter_callback');
-               patchCallback(settings, 'insertlink_callback');
-               patchCallback(settings, 'insertimage_callback');
-               patchCallback(settings, 'setupcontent_callback');
-               patchCallback(settings, 'save_callback');
-               patchCallback(settings, 'onchange_callback');
-               patchCallback(settings, 'init_instance_callback');
-               patchCallback(settings, 'file_browser_callback');
-               patchCallback(settings, 'cleanup_callback');
-               patchCallback(settings, 'execcommand_callback');
-               patchCallback(settings, 'oninit');
-
-               // Set options
-               delete settings.id;
-               settings['mode'] = 'exact';
-               settings['elements'] = 'fullscreenarea';
-               settings['add_unload_trigger'] = false;
-               settings['ask'] = false;
-               settings['document_base_url'] = window.opener.tinyMCE.activeEditor.documentBaseURI.getURI();
-               settings['fullscreen_is_enabled'] = true;
-               settings['fullscreen_editor_id'] = oeID;
-               settings['theme_advanced_resizing'] = false;
-               settings['strict_loading_mode'] = true;
-
-               settings.save_onsavecallback = function() {
-                       moveContent();
-                       window.opener.tinyMCE.get(oeID).execCommand('mceSave');
-                       window.close();
-               };
-
-               function unloadHandler(e) {
-                       moveContent();
-               }
-
-               function moveContent() {
-                       // find the original editor, execute restore state in it's plugin instance
-                       window.opener.tinyMCE.get(oeID).plugins.fullscreen.saveState(tinyMCE.activeEditor);
-
-                       // prevent moveContent from being called twice - e.g. if the unloadHandler runs after moveContent()
-                       tinymce.dom.Event.remove(window, "beforeunload", unloadHandler);
-               }
-
-               function closeFullscreen() {
-                       // moveContent() will be called by the unload handler
-                       window.close();
-               }
-
-               function doParentSubmit() {
-                       moveContent();
-
-                       if (window.opener.tinyMCE.selectedInstance.formElement.form)
-                               window.opener.tinyMCE.selectedInstance.formElement.form.submit();
-
-                       window.close();
-
-                       return false;
-               }
-
-               function render() {
-                       var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM;
-
-                       vp = dom.getViewPort();
-                       settings.width = vp.w;
-                       settings.height = vp.h - 15;
-
-                       settings.oninit = function() {
-                               var ed = tinyMCE.activeEditor;
-                               window.opener.tinyMCE.get(oeID).plugins.fullscreen.loadState(ed);
-
-                               tinymce.dom.Event.add(window, 'resize', function() {
-                                       var vp = dom.getViewPort();
-
-                                       tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h);
-                               });
-                       }
-
-                       tinyMCE.init(settings);
-               }
-
-               // Add onunload
-               tinymce.dom.Event.add(window, "beforeunload", unloadHandler);
-       </script>
-</head>
-<body style="margin:0;overflow:hidden;width:100%;height:100%" scrolling="no" scroll="no">
-<form onsubmit="doParentSubmit();">
-<textarea id="fullscreenarea" style="width:100%; height:100%"></textarea>
-</form>
-
-<script type="text/javascript">
-       render();
-</script>
-
-</body>
-</html>
diff --git a/wp-includes/js/tinymce/plugins/fullscreen/plugin.js b/wp-includes/js/tinymce/plugins/fullscreen/plugin.js
new file mode 100644 (file)
index 0000000..e518701
--- /dev/null
@@ -0,0 +1,136 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*global tinymce:true */
+
+tinymce.PluginManager.add('fullscreen', function(editor) {
+       var fullscreenState = false, DOM = tinymce.DOM, iframeWidth, iframeHeight, resizeHandler;
+       var containerWidth, containerHeight;
+
+       if (editor.settings.inline) {
+               return;
+       }
+
+       function getWindowSize() {
+               var w, h, win = window, doc = document;
+               var body = doc.body;
+
+               // Old IE
+               if (body.offsetWidth) {
+                       w = body.offsetWidth;
+                       h = body.offsetHeight;
+               }
+
+               // Modern browsers
+               if (win.innerWidth && win.innerHeight) {
+                       w = win.innerWidth;
+                       h = win.innerHeight;
+               }
+
+               return {w: w, h: h};
+       }
+
+       function toggleFullscreen() {
+               var body = document.body, documentElement = document.documentElement, editorContainerStyle;
+               var editorContainer, iframe, iframeStyle;
+
+               function resize() {
+                       DOM.setStyle(iframe, 'height', getWindowSize().h - (editorContainer.clientHeight - iframe.clientHeight));
+               }
+
+               fullscreenState = !fullscreenState;
+
+               editorContainer = editor.getContainer();
+               editorContainerStyle = editorContainer.style;
+               iframe = editor.getContentAreaContainer().firstChild;
+               iframeStyle = iframe.style;
+
+               if (fullscreenState) {
+                       iframeWidth = iframeStyle.width;
+                       iframeHeight = iframeStyle.height;
+                       iframeStyle.width = iframeStyle.height = '100%';
+                       containerWidth = editorContainerStyle.width;
+                       containerHeight = editorContainerStyle.height;
+                       editorContainerStyle.width = editorContainerStyle.height = '';
+
+                       DOM.addClass(body, 'mce-fullscreen');
+                       DOM.addClass(documentElement, 'mce-fullscreen');
+                       DOM.addClass(editorContainer, 'mce-fullscreen');
+
+                       DOM.bind(window, 'resize', resize);
+                       resize();
+                       resizeHandler = resize;
+               } else {
+                       iframeStyle.width = iframeWidth;
+                       iframeStyle.height = iframeHeight;
+
+                       if (containerWidth) {
+                               editorContainerStyle.width = containerWidth;
+                       }
+
+                       if (containerHeight) {
+                               editorContainerStyle.height = containerHeight;
+                       }
+
+                       DOM.removeClass(body, 'mce-fullscreen');
+                       DOM.removeClass(documentElement, 'mce-fullscreen');
+                       DOM.removeClass(editorContainer, 'mce-fullscreen');
+                       DOM.unbind(window, 'resize', resizeHandler);
+               }
+
+               editor.fire('FullscreenStateChanged', {state: fullscreenState});
+       }
+
+       editor.on('init', function() {
+               editor.addShortcut('Ctrl+Alt+F', '', toggleFullscreen);
+       });
+
+       editor.on('remove', function() {
+               if (resizeHandler) {
+                       DOM.unbind(window, 'resize', resizeHandler);
+               }
+       });
+
+       editor.addCommand('mceFullScreen', toggleFullscreen);
+
+       editor.addMenuItem('fullscreen', {
+               text: 'Fullscreen',
+               shortcut: 'Ctrl+Alt+F',
+               selectable: true,
+               onClick: toggleFullscreen,
+               onPostRender: function() {
+                       var self = this;
+
+                       editor.on('FullscreenStateChanged', function(e) {
+                               self.active(e.state);
+                       });
+               },
+               context: 'view'
+       });
+
+       editor.addButton('fullscreen', {
+               tooltip: 'Fullscreen',
+               shortcut: 'Ctrl+Alt+F',
+               onClick: toggleFullscreen,
+               onPostRender: function() {
+                       var self = this;
+
+                       editor.on('FullscreenStateChanged', function(e) {
+                               self.active(e.state);
+                       });
+               }
+       });
+
+       return {
+               isFullscreen: function() {
+                       return fullscreenState;
+               }
+       };
+});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/fullscreen/plugin.min.js b/wp-includes/js/tinymce/plugins/fullscreen/plugin.min.js
new file mode 100644 (file)
index 0000000..1bb1940
--- /dev/null
@@ -0,0 +1 @@
+tinymce.PluginManager.add("fullscreen",function(e){function t(){var e,t,n=window,i=document,l=i.body;return l.offsetWidth&&(e=l.offsetWidth,t=l.offsetHeight),n.innerWidth&&n.innerHeight&&(e=n.innerWidth,t=n.innerHeight),{w:e,h:t}}function n(){function n(){d.setStyle(a,"height",t().h-(h.clientHeight-a.clientHeight))}var u,h,a,f,m=document.body,g=document.documentElement;s=!s,h=e.getContainer(),u=h.style,a=e.getContentAreaContainer().firstChild,f=a.style,s?(i=f.width,l=f.height,f.width=f.height="100%",c=u.width,o=u.height,u.width=u.height="",d.addClass(m,"mce-fullscreen"),d.addClass(g,"mce-fullscreen"),d.addClass(h,"mce-fullscreen"),d.bind(window,"resize",n),n(),r=n):(f.width=i,f.height=l,c&&(u.width=c),o&&(u.height=o),d.removeClass(m,"mce-fullscreen"),d.removeClass(g,"mce-fullscreen"),d.removeClass(h,"mce-fullscreen"),d.unbind(window,"resize",r)),e.fire("FullscreenStateChanged",{state:s})}var i,l,r,c,o,s=!1,d=tinymce.DOM;return e.settings.inline?void 0:(e.on("init",function(){e.addShortcut("Ctrl+Alt+F","",n)}),e.on("remove",function(){r&&d.unbind(window,"resize",r)}),e.addCommand("mceFullScreen",n),e.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Ctrl+Alt+F",selectable:!0,onClick:n,onPostRender:function(){var t=this;e.on("FullscreenStateChanged",function(e){t.active(e.state)})},context:"view"}),e.addButton("fullscreen",{tooltip:"Fullscreen",shortcut:"Ctrl+Alt+F",onClick:n,onPostRender:function(){var t=this;e.on("FullscreenStateChanged",function(e){t.active(e.state)})}}),{isFullscreen:function(){return s}})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/hr/plugin.js b/wp-includes/js/tinymce/plugins/hr/plugin.js
new file mode 100644 (file)
index 0000000..915a563
--- /dev/null
@@ -0,0 +1,30 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*global tinymce:true */
+
+tinymce.PluginManager.add('hr', function(editor) {
+       editor.addCommand('InsertHorizontalRule', function() {
+               editor.execCommand('mceInsertContent', false, '<hr />');
+       });
+
+       editor.addButton('hr', {
+               icon: 'hr',
+               tooltip: 'Horizontal line',
+               cmd: 'InsertHorizontalRule'
+       });
+
+       editor.addMenuItem('hr', {
+               icon: 'hr',
+               text: 'Horizontal line',
+               cmd: 'InsertHorizontalRule',
+               context: 'insert'
+       });
+});
diff --git a/wp-includes/js/tinymce/plugins/hr/plugin.min.js b/wp-includes/js/tinymce/plugins/hr/plugin.min.js
new file mode 100644 (file)
index 0000000..e5ff6f3
--- /dev/null
@@ -0,0 +1 @@
+tinymce.PluginManager.add("hr",function(n){n.addCommand("InsertHorizontalRule",function(){n.execCommand("mceInsertContent",!1,"<hr />")}),n.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),n.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/image/plugin.js b/wp-includes/js/tinymce/plugins/image/plugin.js
new file mode 100644 (file)
index 0000000..c7f6f5a
--- /dev/null
@@ -0,0 +1,442 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*global tinymce:true */
+
+tinymce.PluginManager.add('image', function(editor) {
+       function getImageSize(url, callback) {
+               var img = document.createElement('img');
+
+               function done(width, height) {
+                       if (img.parentNode) {
+                               img.parentNode.removeChild(img);
+                       }
+
+                       callback({width: width, height: height});
+               }
+
+               img.onload = function() {
+                       done(img.clientWidth, img.clientHeight);
+               };
+
+               img.onerror = function() {
+                       done();
+               };
+
+               var style = img.style;
+               style.visibility = 'hidden';
+               style.position = 'fixed';
+               style.bottom = style.left = 0;
+               style.width = style.height = 'auto';
+
+               document.body.appendChild(img);
+               img.src = url;
+       }
+
+       function applyPreview(items) {
+               tinymce.each(items, function(item) {
+                       item.textStyle = function() {
+                               return editor.formatter.getCssText({inline: 'img', classes: [item.value]});
+                       };
+               });
+
+               return items;
+       }
+
+       function createImageList(callback) {
+               return function() {
+                       var imageList = editor.settings.image_list;
+
+                       if (typeof(imageList) == "string") {
+                               tinymce.util.XHR.send({
+                                       url: imageList,
+                                       success: function(text) {
+                                               callback(tinymce.util.JSON.parse(text));
+                                       }
+                               });
+                       } else {
+                               callback(imageList);
+                       }
+               };
+       }
+
+       function showDialog(imageList) {
+               var win, data = {}, dom = editor.dom, imgElm = editor.selection.getNode();
+               var width, height, imageListCtrl, classListCtrl;
+
+               function buildValues(listSettingName, dataItemName, defaultItems) {
+                       var selectedItem, items = [];
+
+                       tinymce.each(editor.settings[listSettingName] || defaultItems, function(target) {
+                               var item = {
+                                       text: target.text || target.title,
+                                       value: target.value
+                               };
+
+                               items.push(item);
+
+                               if (data[dataItemName] === target.value || (!selectedItem && target.selected)) {
+                                       selectedItem = item;
+                               }
+                       });
+
+                       if (selectedItem && !data[dataItemName]) {
+                               data[dataItemName] = selectedItem.value;
+                               selectedItem.selected = true;
+                       }
+
+                       return items;
+               }
+
+               function buildImageList() {
+                       var imageListItems = [{text: 'None', value: ''}];
+
+                       tinymce.each(imageList, function(image) {
+                               imageListItems.push({
+                                       text: image.text || image.title,
+                                       value: editor.convertURL(image.value || image.url, 'src'),
+                                       menu: image.menu
+                               });
+                       });
+
+                       return imageListItems;
+               }
+
+               function recalcSize() {
+                       var widthCtrl, heightCtrl, newWidth, newHeight;
+
+                       widthCtrl = win.find('#width')[0];
+                       heightCtrl = win.find('#height')[0];
+
+                       newWidth = widthCtrl.value();
+                       newHeight = heightCtrl.value();
+
+                       if (win.find('#constrain')[0].checked() && width && height && newWidth && newHeight) {
+                               if (width != newWidth) {
+                                       newHeight = Math.round((newWidth / width) * newHeight);
+                                       heightCtrl.value(newHeight);
+                               } else {
+                                       newWidth = Math.round((newHeight / height) * newWidth);
+                                       widthCtrl.value(newWidth);
+                               }
+                       }
+
+                       width = newWidth;
+                       height = newHeight;
+               }
+
+               function onSubmitForm() {
+                       function waitLoad(imgElm) {
+                               function selectImage() {
+                                       imgElm.onload = imgElm.onerror = null;
+                                       editor.selection.select(imgElm);
+                                       editor.nodeChanged();
+                               }
+
+                               imgElm.onload = function() {
+                                       if (!data.width && !data.height) {
+                                               dom.setAttribs(imgElm, {
+                                                       width: imgElm.clientWidth,
+                                                       height: imgElm.clientHeight
+                                               });
+                                               //WP
+                                               editor.fire( 'wpNewImageRefresh', { node: imgElm } );
+                                       }
+
+                                       selectImage();
+                               };
+
+                               imgElm.onerror = selectImage;
+                       }
+
+                       updateStyle();
+                       recalcSize();
+
+                       data = tinymce.extend(data, win.toJSON());
+                       var caption = data.caption; // WP
+
+                       if (!data.alt) {
+                               data.alt = '';
+                       }
+
+                       if (data.width === '') {
+                               data.width = null;
+                       }
+
+                       if (data.height === '') {
+                               data.height = null;
+                       }
+
+                       if (data.style === '') {
+                               data.style = null;
+                       }
+
+                       data = {
+                               src: data.src,
+                               alt: data.alt,
+                               width: data.width,
+                               height: data.height,
+                               style: data.style,
+                               "class": data["class"]
+                       };
+
+                       if (!data["class"]) {
+                               delete data["class"];
+                       }
+
+                       editor.undoManager.transact(function() {
+                               // WP
+                               var eventData = { node: imgElm, data: data, caption: caption };
+
+                               editor.fire( 'wpImageFormSubmit', { imgData: eventData } );
+
+                               if ( eventData.cancel ) {
+                                       waitLoad( eventData.node );
+                                       return;
+                               }
+                               // WP end
+
+                               if (!data.src) {
+                                       if (imgElm) {
+                                               dom.remove(imgElm);
+                                               editor.focus();
+                                               editor.nodeChanged();
+                                       }
+
+                                       return;
+                               }
+
+                               if (!imgElm) {
+                                       data.id = '__mcenew';
+                                       editor.focus();
+                                       editor.selection.setContent(dom.createHTML('img', data));
+                                       imgElm = dom.get('__mcenew');
+                                       dom.setAttrib(imgElm, 'id', null);
+                               } else {
+                                       dom.setAttribs(imgElm, data);
+                               }
+
+                               waitLoad(imgElm);
+                       });
+               }
+
+               function removePixelSuffix(value) {
+                       if (value) {
+                               value = value.replace(/px$/, '');
+                       }
+
+                       return value;
+               }
+
+               function srcChange() {
+                       if (imageListCtrl) {
+                               imageListCtrl.value(editor.convertURL(this.value(), 'src'));
+                       }
+
+                       getImageSize(this.value(), function(data) {
+                               if (data.width && data.height) {
+                                       width = data.width;
+                                       height = data.height;
+
+                                       win.find('#width').value(width);
+                                       win.find('#height').value(height);
+                               }
+                       });
+               }
+
+               width = dom.getAttrib(imgElm, 'width');
+               height = dom.getAttrib(imgElm, 'height');
+
+               if (imgElm.nodeName == 'IMG' && !imgElm.getAttribute('data-mce-object') && !imgElm.getAttribute('data-mce-placeholder')) {
+                       data = {
+                               src: dom.getAttrib(imgElm, 'src'),
+                               alt: dom.getAttrib(imgElm, 'alt'),
+                               "class": dom.getAttrib(imgElm, 'class'),
+                               width: width,
+                               height: height
+                       };
+
+                       // WP
+                       editor.fire( 'wpLoadImageData', { imgData: { data: data, node: imgElm } } );
+               } else {
+                       imgElm = null;
+               }
+
+               if (imageList) {
+                       imageListCtrl = {
+                               type: 'listbox',
+                               label: 'Image list',
+                               values: buildImageList(),
+                               value: data.src && editor.convertURL(data.src, 'src'),
+                               onselect: function(e) {
+                                       var altCtrl = win.find('#alt');
+
+                                       if (!altCtrl.value() || (e.lastControl && altCtrl.value() == e.lastControl.text())) {
+                                               altCtrl.value(e.control.text());
+                                       }
+
+                                       win.find('#src').value(e.control.value());
+                               },
+                               onPostRender: function() {
+                                       imageListCtrl = this;
+                               }
+                       };
+               }
+
+               if (editor.settings.image_class_list) {
+                       classListCtrl = {
+                               name: 'class',
+                               type: 'listbox',
+                               label: 'Class',
+                               values: applyPreview(buildValues('image_class_list', 'class'))
+                       };
+               }
+
+               // General settings shared between simple and advanced dialogs
+               var generalFormItems = [
+                       {name: 'src', type: 'filepicker', filetype: 'image', label: 'Source', autofocus: true, onchange: srcChange},
+                       imageListCtrl
+               ];
+
+               if (editor.settings.image_description !== false) {
+                       generalFormItems.push({name: 'alt', type: 'textbox', label: 'Image description'});
+               }
+
+               if (editor.settings.image_dimensions !== false) {
+                       generalFormItems.push({
+                               type: 'container',
+                               label: 'Dimensions',
+                               layout: 'flex',
+                               direction: 'row',
+                               align: 'center',
+                               spacing: 5,
+                               items: [
+                                       {name: 'width', type: 'textbox', maxLength: 5, size: 3, onchange: recalcSize, ariaLabel: 'Width'},
+                                       {type: 'label', text: 'x'},
+                                       {name: 'height', type: 'textbox', maxLength: 5, size: 3, onchange: recalcSize, ariaLabel: 'Height'},
+                                       {name: 'constrain', type: 'checkbox', checked: true, text: 'Constrain proportions'}
+                               ]
+                       });
+               }
+
+               generalFormItems.push(classListCtrl);
+
+               // WP
+               editor.fire( 'wpLoadImageForm', { data: generalFormItems } );
+
+               function updateStyle() {
+                       function addPixelSuffix(value) {
+                               if (value.length > 0 && /^[0-9]+$/.test(value)) {
+                                       value += 'px';
+                               }
+
+                               return value;
+                       }
+
+                       if (!editor.settings.image_advtab) {
+                               return;
+                       }
+
+                       var data = win.toJSON();
+                       var css = dom.parseStyle(data.style);
+
+                       delete css.margin;
+                       css['margin-top'] = css['margin-bottom'] = addPixelSuffix(data.vspace);
+                       css['margin-left'] = css['margin-right'] = addPixelSuffix(data.hspace);
+                       css['border-width'] = addPixelSuffix(data.border);
+
+                       win.find('#style').value(dom.serializeStyle(dom.parseStyle(dom.serializeStyle(css))));
+               }
+
+               if (editor.settings.image_advtab) {
+                       // Parse styles from img
+                       if (imgElm) {
+                               data.hspace = removePixelSuffix(imgElm.style.marginLeft || imgElm.style.marginRight);
+                               data.vspace = removePixelSuffix(imgElm.style.marginTop || imgElm.style.marginBottom);
+                               data.border = removePixelSuffix(imgElm.style.borderWidth);
+                               data.style = editor.dom.serializeStyle(editor.dom.parseStyle(editor.dom.getAttrib(imgElm, 'style')));
+                       }
+
+                       // Advanced dialog shows general+advanced tabs
+                       win = editor.windowManager.open({
+                               title: 'Insert/edit image',
+                               data: data,
+                               bodyType: 'tabpanel',
+                               body: [
+                                       {
+                                               title: 'General',
+                                               type: 'form',
+                                               items: generalFormItems
+                                       },
+
+                                       {
+                                               title: 'Advanced',
+                                               type: 'form',
+                                               pack: 'start',
+                                               items: [
+                                                       {
+                                                               label: 'Style',
+                                                               name: 'style',
+                                                               type: 'textbox'
+                                                       },
+                                                       {
+                                                               type: 'form',
+                                                               layout: 'grid',
+                                                               packV: 'start',
+                                                               columns: 2,
+                                                               padding: 0,
+                                                               alignH: ['left', 'right'],
+                                                               defaults: {
+                                                                       type: 'textbox',
+                                                                       maxWidth: 50,
+                                                                       onchange: updateStyle
+                                                               },
+                                                               items: [
+                                                                       {label: 'Vertical space', name: 'vspace'},
+                                                                       {label: 'Horizontal space', name: 'hspace'},
+                                                                       {label: 'Border', name: 'border'}
+                                                               ]
+                                                       }
+                                               ]
+                                       }
+                               ],
+                               onSubmit: onSubmitForm
+                       });
+               } else {
+                       // Simple default dialog
+                       win = editor.windowManager.open({
+                               title: 'Insert/edit image',
+                               data: data,
+                               body: generalFormItems,
+                               onSubmit: onSubmitForm
+                       });
+               }
+       }
+
+       // WP
+       editor.addCommand( 'mceImage', function() {
+               createImageList( showDialog )();
+       });
+
+       editor.addButton('image', {
+               icon: 'image',
+               tooltip: 'Insert/edit image',
+               onclick: createImageList(showDialog),
+               stateSelector: 'img:not([data-mce-object],[data-mce-placeholder])'
+       });
+
+       editor.addMenuItem('image', {
+               icon: 'image',
+               text: 'Insert image',
+               onclick: createImageList(showDialog),
+               context: 'insert',
+               prependToContext: true
+       });
+});
diff --git a/wp-includes/js/tinymce/plugins/image/plugin.min.js b/wp-includes/js/tinymce/plugins/image/plugin.min.js
new file mode 100644 (file)
index 0000000..bb1c747
--- /dev/null
@@ -0,0 +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(b){return tinymce.each(b,function(b){b.textStyle=function(){return a.formatter.getCssText({inline:"img",classes:[b.value]})}}),b}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))}}):b(c)}}function e(d){function e(b,c,d){var e,f=[];return tinymce.each(a.settings[b]||d,function(a){var b={text:a.text||a.title,value:a.value};f.push(b),(q[c]===a.value||!e&&a.selected)&&(e=b)}),e&&!q[c]&&(q[c]=e.value,e.selected=!0),f}function f(){var b=[{text:"None",value:""}];return tinymce.each(d,function(c){b.push({text:c.text||c.title,value:a.convertURL(c.value||c.url,"src"),menu:c.menu})}),b}function g(){var a,b,c,d;a=l.find("#width")[0],b=l.find("#height")[0],c=a.value(),d=b.value(),l.find("#constrain")[0].checked()&&m&&n&&c&&d&&(m!=c?(d=Math.round(c/m*d),b.value(d)):(c=Math.round(d/n*c),a.value(c))),m=c,n=d}function h(){function b(b){function c(){b.onload=b.onerror=null,a.selection.select(b),a.nodeChanged()}b.onload=function(){q.width||q.height||(r.setAttribs(b,{width:b.clientWidth,height:b.clientHeight}),a.fire("wpNewImageRefresh",{node:b})),c()},b.onerror=c}k(),g(),q=tinymce.extend(q,l.toJSON());var c=q.caption;q.alt||(q.alt=""),""===q.width&&(q.width=null),""===q.height&&(q.height=null),""===q.style&&(q.style=null),q={src:q.src,alt:q.alt,width:q.width,height:q.height,style:q.style,"class":q["class"]},q["class"]||delete 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?(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 i(a){return a&&(a=a.replace(/px$/,"")),a}function j(){o&&o.value(a.convertURL(this.value(),"src")),b(this.value(),function(a){a.width&&a.height&&(m=a.width,n=a.height,l.find("#width").value(m),l.find("#height").value(n))})}function k(){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);delete d.margin,d["margin-top"]=d["margin-bottom"]=b(c.vspace),d["margin-left"]=d["margin-right"]=b(c.hspace),d["border-width"]=b(c.border),l.find("#style").value(r.serializeStyle(r.parseStyle(r.serializeStyle(d))))}}var l,m,n,o,p,q={},r=a.dom,s=a.selection.getNode();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"),"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:f(),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())},onPostRender:function(){o=this}}),a.settings.image_class_list&&(p={name:"class",type:"listbox",label:"Class",values:c(e("image_class_list","class"))});var t=[{name:"src",type:"filepicker",filetype:"image",label:"Source",autofocus:!0,onchange:j},o];a.settings.image_description!==!1&&t.push({name:"alt",type:"textbox",label:"Image description"}),a.settings.image_dimensions!==!1&&t.push({type:"container",label:"Dimensions",layout:"flex",direction:"row",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:3,onchange:g,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:3,onchange:g,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),t.push(p),a.fire("wpLoadImageForm",{data:t}),a.settings.image_advtab?(s&&(q.hspace=i(s.style.marginLeft||s.style.marginRight),q.vspace=i(s.style.marginTop||s.style.marginBottom),q.border=i(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:t},{title:"Advanced",type:"form",pack:"start",items:[{label:"Style",name:"style",type:"textbox"},{type:"form",layout:"grid",packV:"start",columns:2,padding:0,alignH:["left","right"],defaults:{type:"textbox",maxWidth:50,onchange:k},items:[{label:"Vertical space",name:"vspace"},{label:"Horizontal space",name:"hspace"},{label:"Border",name:"border"}]}]}],onSubmit:h})):l=a.windowManager.open({title:"Insert/edit image",data:q,body:t,onSubmit:h})}a.addCommand("mceImage",function(){d(e)()}),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 image",onclick:d(e),context:"insert",prependToContext:!0})});
diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js b/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js
deleted file mode 100644 (file)
index 8bb96f9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(){var d=tinymce.DOM,b=tinymce.dom.Element,a=tinymce.dom.Event,e=tinymce.each,c=tinymce.is;tinymce.create("tinymce.plugins.InlinePopups",{init:function(f,g){f.onBeforeRenderUI.add(function(){f.windowManager=new tinymce.InlineWindowManager(f);d.loadCSS(g+"/skins/"+(f.settings.inlinepopups_skin||"clearlooks2")+"/window.css")})},getInfo:function(){return{longname:"InlinePopups",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.create("tinymce.InlineWindowManager:tinymce.WindowManager",{InlineWindowManager:function(f){var g=this;g.parent(f);g.zIndex=300000;g.count=0;g.windows={}},open:function(s,j){var z=this,i,k="",r=z.editor,g=0,v=0,h,m,o,q,l,x,y,n;s=s||{};j=j||{};if(!s.inline){return z.parent(s,j)}n=z._frontWindow();if(n&&d.get(n.id+"_ifr")){n.focussedElement=d.get(n.id+"_ifr").contentWindow.document.activeElement}if(!s.type){z.bookmark=r.selection.getBookmark(1)}i=d.uniqueId();h=d.getViewPort();s.width=parseInt(s.width||320);s.height=parseInt(s.height||240)+(tinymce.isIE?8:0);s.min_width=parseInt(s.min_width||150);s.min_height=parseInt(s.min_height||100);s.max_width=parseInt(s.max_width||2000);s.max_height=parseInt(s.max_height||2000);s.left=s.left||Math.round(Math.max(h.x,h.x+(h.w/2)-(s.width/2)));s.top=s.top||Math.round(Math.max(h.y,h.y+(h.h/2)-(s.height/2)));s.movable=s.resizable=true;j.mce_width=s.width;j.mce_height=s.height;j.mce_inline=true;j.mce_window_id=i;j.mce_auto_focus=s.auto_focus;z.features=s;z.params=j;z.onOpen.dispatch(z,s,j);if(s.type){k+=" mceModal";if(s.type){k+=" mce"+s.type.substring(0,1).toUpperCase()+s.type.substring(1)}s.resizable=false}if(s.statusbar){k+=" mceStatusbar"}if(s.resizable){k+=" mceResizable"}if(s.minimizable){k+=" mceMinimizable"}if(s.maximizable){k+=" mceMaximizable"}if(s.movable){k+=" mceMovable"}z._addAll(d.doc.body,["div",{id:i,role:"dialog","aria-labelledby":s.type?i+"_content":i+"_title","class":(r.settings.inlinepopups_skin||"clearlooks2")+(tinymce.isIE&&window.getSelection?" ie9":""),style:"width:100px;height:100px"},["div",{id:i+"_wrapper","class":"mceWrapper"+k},["div",{id:i+"_top","class":"mceTop"},["div",{"class":"mceLeft"}],["div",{"class":"mceCenter"}],["div",{"class":"mceRight"}],["span",{id:i+"_title"},s.title||""]],["div",{id:i+"_middle","class":"mceMiddle"},["div",{id:i+"_left","class":"mceLeft",tabindex:"0"}],["span",{id:i+"_content"}],["div",{id:i+"_right","class":"mceRight",tabindex:"0"}]],["div",{id:i+"_bottom","class":"mceBottom"},["div",{"class":"mceLeft"}],["div",{"class":"mceCenter"}],["div",{"class":"mceRight"}],["span",{id:i+"_status"},"Content"]],["a",{"class":"mceMove",tabindex:"-1",href:"javascript:;"}],["a",{"class":"mceMin",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceMax",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceMed",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceClose",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{id:i+"_resize_n","class":"mceResize mceResizeN",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_s","class":"mceResize mceResizeS",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_w","class":"mceResize mceResizeW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_e","class":"mceResize mceResizeE",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_nw","class":"mceResize mceResizeNW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_ne","class":"mceResize mceResizeNE",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_sw","class":"mceResize mceResizeSW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_se","class":"mceResize mceResizeSE",tabindex:"-1",href:"javascript:;"}]]]);d.setStyles(i,{top:-10000,left:-10000});if(tinymce.isGecko){d.setStyle(i,"overflow","auto")}if(!s.type){g+=d.get(i+"_left").clientWidth;g+=d.get(i+"_right").clientWidth;v+=d.get(i+"_top").clientHeight;v+=d.get(i+"_bottom").clientHeight}d.setStyles(i,{top:s.top,left:s.left,width:s.width+g,height:s.height+v});y=s.url||s.file;if(y){if(tinymce.relaxedDomain){y+=(y.indexOf("?")==-1?"?":"&")+"mce_rdomain="+tinymce.relaxedDomain}y=tinymce._addVer(y)}if(!s.type){d.add(i+"_content","iframe",{id:i+"_ifr",src:'javascript:""',frameBorder:0,style:"border:0;width:10px;height:10px"});d.setStyles(i+"_ifr",{width:s.width,height:s.height});d.setAttrib(i+"_ifr","src",y)}else{d.add(i+"_wrapper","a",{id:i+"_ok","class":"mceButton mceOk",href:"javascript:;",onmousedown:"return false;"},"Ok");if(s.type=="confirm"){d.add(i+"_wrapper","a",{"class":"mceButton mceCancel",href:"javascript:;",onmousedown:"return false;"},"Cancel")}d.add(i+"_middle","div",{"class":"mceIcon"});d.setHTML(i+"_content",s.content.replace("\n","<br />"));a.add(i,"keyup",function(f){var p=27;if(f.keyCode===p){s.button_func(false);return a.cancel(f)}});a.add(i,"keydown",function(f){var t,p=9;if(f.keyCode===p){t=d.select("a.mceCancel",i+"_wrapper")[0];if(t&&t!==f.target){t.focus()}else{d.get(i+"_ok").focus()}return a.cancel(f)}})}o=a.add(i,"mousedown",function(t){var u=t.target,f,p;f=z.windows[i];z.focus(i);if(u.nodeName=="A"||u.nodeName=="a"){if(u.className=="mceClose"){z.close(null,i);return a.cancel(t)}else{if(u.className=="mceMax"){f.oldPos=f.element.getXY();f.oldSize=f.element.getSize();p=d.getViewPort();p.w-=2;p.h-=2;f.element.moveTo(p.x,p.y);f.element.resizeTo(p.w,p.h);d.setStyles(i+"_ifr",{width:p.w-f.deltaWidth,height:p.h-f.deltaHeight});d.addClass(i+"_wrapper","mceMaximized")}else{if(u.className=="mceMed"){f.element.moveTo(f.oldPos.x,f.oldPos.y);f.element.resizeTo(f.oldSize.w,f.oldSize.h);f.iframeElement.resizeTo(f.oldSize.w-f.deltaWidth,f.oldSize.h-f.deltaHeight);d.removeClass(i+"_wrapper","mceMaximized")}else{if(u.className=="mceMove"){return z._startDrag(i,t,u.className)}else{if(d.hasClass(u,"mceResize")){return z._startDrag(i,t,u.className.substring(13))}}}}}}});q=a.add(i,"click",function(f){var p=f.target;z.focus(i);if(p.nodeName=="A"||p.nodeName=="a"){switch(p.className){case"mceClose":z.close(null,i);return a.cancel(f);case"mceButton mceOk":case"mceButton mceCancel":s.button_func(p.className=="mceButton mceOk");return a.cancel(f)}}});a.add([i+"_left",i+"_right"],"focus",function(p){var t=d.get(i+"_ifr");if(t){var f=t.contentWindow.document.body;var u=d.select(":input:enabled,*[tabindex=0]",f);if(p.target.id===(i+"_left")){u[u.length-1].focus()}else{u[0].focus()}}else{d.get(i+"_ok").focus()}});x=z.windows[i]={id:i,mousedown_func:o,click_func:q,element:new b(i,{blocker:1,container:r.getContainer()}),iframeElement:new b(i+"_ifr"),features:s,deltaWidth:g,deltaHeight:v};x.iframeElement.on("focus",function(){z.focus(i)});if(z.count==0&&z.editor.getParam("dialog_type","modal")=="modal"){d.add(d.doc.body,"div",{id:"mceModalBlocker","class":(z.editor.settings.inlinepopups_skin||"clearlooks2")+"_modalBlocker",style:{zIndex:z.zIndex-1}});d.show("mceModalBlocker");d.setAttrib(d.doc.body,"aria-hidden","true")}else{d.setStyle("mceModalBlocker","z-index",z.zIndex-1)}if(tinymce.isIE6||/Firefox\/2\./.test(navigator.userAgent)||(tinymce.isIE&&!d.boxModel)){d.setStyles("mceModalBlocker",{position:"absolute",left:h.x,top:h.y,width:h.w-2,height:h.h-2})}d.setAttrib(i,"aria-hidden","false");z.focus(i);z._fixIELayout(i,1);if(d.get(i+"_ok")){d.get(i+"_ok").focus()}z.count++;return x},focus:function(h){var g=this,f;if(f=g.windows[h]){f.zIndex=this.zIndex++;f.element.setStyle("zIndex",f.zIndex);f.element.update();h=h+"_wrapper";d.removeClass(g.lastId,"mceFocus");d.addClass(h,"mceFocus");g.lastId=h;if(f.focussedElement){f.focussedElement.focus()}else{if(d.get(h+"_ok")){d.get(f.id+"_ok").focus()}else{if(d.get(f.id+"_ifr")){d.get(f.id+"_ifr").focus()}}}}},_addAll:function(k,h){var g,l,f=this,j=tinymce.DOM;if(c(h,"string")){k.appendChild(j.doc.createTextNode(h))}else{if(h.length){k=k.appendChild(j.create(h[0],h[1]));for(g=2;g<h.length;g++){f._addAll(k,h[g])}}}},_startDrag:function(v,G,E){var o=this,u,z,C=d.doc,f,l=o.windows[v],h=l.element,y=h.getXY(),x,q,F,g,A,s,r,j,i,m,k,n,B;g={x:0,y:0};A=d.getViewPort();A.w-=2;A.h-=2;j=G.screenX;i=G.screenY;m=k=n=B=0;u=a.add(C,"mouseup",function(p){a.remove(C,"mouseup",u);a.remove(C,"mousemove",z);if(f){f.remove()}h.moveBy(m,k);h.resizeBy(n,B);q=h.getSize();d.setStyles(v+"_ifr",{width:q.w-l.deltaWidth,height:q.h-l.deltaHeight});o._fixIELayout(v,1);return a.cancel(p)});if(E!="Move"){D()}function D(){if(f){return}o._fixIELayout(v,0);d.add(C.body,"div",{id:"mceEventBlocker","class":"mceEventBlocker "+(o.editor.settings.inlinepopups_skin||"clearlooks2"),style:{zIndex:o.zIndex+1}});if(tinymce.isIE6||(tinymce.isIE&&!d.boxModel)){d.setStyles("mceEventBlocker",{position:"absolute",left:A.x,top:A.y,width:A.w-2,height:A.h-2})}f=new b("mceEventBlocker");f.update();x=h.getXY();q=h.getSize();s=g.x+x.x-A.x;r=g.y+x.y-A.y;d.add(f.get(),"div",{id:"mcePlaceHolder","class":"mcePlaceHolder",style:{left:s,top:r,width:q.w,height:q.h}});F=new b("mcePlaceHolder")}z=a.add(C,"mousemove",function(w){var p,H,t;D();p=w.screenX-j;H=w.screenY-i;switch(E){case"ResizeW":m=p;n=0-p;break;case"ResizeE":n=p;break;case"ResizeN":case"ResizeNW":case"ResizeNE":if(E=="ResizeNW"){m=p;n=0-p}else{if(E=="ResizeNE"){n=p}}k=H;B=0-H;break;case"ResizeS":case"ResizeSW":case"ResizeSE":if(E=="ResizeSW"){m=p;n=0-p}else{if(E=="ResizeSE"){n=p}}B=H;break;case"mceMove":m=p;k=H;break}if(n<(t=l.features.min_width-q.w)){if(m!==0){m+=n-t}n=t}if(B<(t=l.features.min_height-q.h)){if(k!==0){k+=B-t}B=t}n=Math.min(n,l.features.max_width-q.w);B=Math.min(B,l.features.max_height-q.h);m=Math.max(m,A.x-(s+A.x));k=Math.max(k,A.y-(r+A.y));m=Math.min(m,(A.w+A.x)-(s+q.w+A.x));k=Math.min(k,(A.h+A.y)-(r+q.h+A.y));if(m+k!==0){if(s+m<0){m=0}if(r+k<0){k=0}F.moveTo(s+m,r+k)}if(n+B!==0){F.resizeTo(q.w+n,q.h+B)}return a.cancel(w)});return a.cancel(G)},resizeBy:function(g,h,i){var f=this.windows[i];if(f){f.element.resizeBy(g,h);f.iframeElement.resizeBy(g,h)}},close:function(i,k){var g=this,f,j=d.doc,h,k;k=g._findId(k||i);if(!g.windows[k]){g.parent(i);return}g.count--;if(g.count==0){d.remove("mceModalBlocker");d.setAttrib(d.doc.body,"aria-hidden","false");g.editor.focus()}if(f=g.windows[k]){g.onClose.dispatch(g);a.remove(j,"mousedown",f.mousedownFunc);a.remove(j,"click",f.clickFunc);a.clear(k);a.clear(k+"_ifr");d.setAttrib(k+"_ifr","src",'javascript:""');f.element.remove();delete g.windows[k];h=g._frontWindow();if(h){g.focus(h.id)}}},_frontWindow:function(){var g,f=0;e(this.windows,function(h){if(h.zIndex>f){g=h;f=h.zIndex}});return g},setTitle:function(f,g){var h;f=this._findId(f);if(h=d.get(f+"_title")){h.innerHTML=d.encode(g)}},alert:function(g,f,j){var i=this,h;h=i.open({title:i,type:"alert",button_func:function(k){if(f){f.call(k||i,k)}i.close(null,h.id)},content:d.encode(i.editor.getLang(g,g)),inline:1,width:400,height:130})},confirm:function(g,f,j){var i=this,h;h=i.open({title:i,type:"confirm",button_func:function(k){if(f){f.call(k||i,k)}i.close(null,h.id)},content:d.encode(i.editor.getLang(g,g)),inline:1,width:400,height:130})},_findId:function(f){var g=this;if(typeof(f)=="string"){return f}e(g.windows,function(h){var i=d.get(h.id+"_ifr");if(i&&f==i.contentWindow){f=h.id;return false}});return f},_fixIELayout:function(i,h){var f,g;if(!tinymce.isIE6){return}e(["n","s","w","e","nw","ne","sw","se"],function(j){var k=d.get(i+"_resize_"+j);d.setStyles(k,{width:h?k.clientWidth:"",height:h?k.clientHeight:"",cursor:d.getStyle(k,"cursor",1)});d.setStyle(i+"_bottom","bottom","-1px");k=0});if(f=this.windows[i]){f.element.hide();f.element.show();e(d.select("div,a",i),function(k,j){if(k.currentStyle.backgroundImage!="none"){g=new Image();g.src=k.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/,"$1")}});d.get(i).style.filter=""}}});tinymce.PluginManager.add("inlinepopups",tinymce.plugins.InlinePopups)})();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin_src.js b/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin_src.js
deleted file mode 100644 (file)
index 2a6f3ad..0000000
+++ /dev/null
@@ -1,699 +0,0 @@
-/**
- * editor_plugin_src.js
- *
- * Copyright 2009, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
- */
-
-(function() {
-       var DOM = tinymce.DOM, Element = tinymce.dom.Element, Event = tinymce.dom.Event, each = tinymce.each, is = tinymce.is;
-
-       tinymce.create('tinymce.plugins.InlinePopups', {
-               init : function(ed, url) {
-                       // Replace window manager
-                       ed.onBeforeRenderUI.add(function() {
-                               ed.windowManager = new tinymce.InlineWindowManager(ed);
-                               DOM.loadCSS(url + '/skins/' + (ed.settings.inlinepopups_skin || 'clearlooks2') + "/window.css");
-                       });
-               },
-
-               getInfo : function() {
-                       return {
-                               longname : 'InlinePopups',
-                               author : 'Moxiecode Systems AB',
-                               authorurl : 'http://tinymce.moxiecode.com',
-                               infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups',
-                               version : tinymce.majorVersion + "." + tinymce.minorVersion
-                       };
-               }
-       });
-
-       tinymce.create('tinymce.InlineWindowManager:tinymce.WindowManager', {
-               InlineWindowManager : function(ed) {
-                       var t = this;
-
-                       t.parent(ed);
-                       t.zIndex = 300000;
-                       t.count = 0;
-                       t.windows = {};
-               },
-
-               open : function(f, p) {
-                       var t = this, id, opt = '', ed = t.editor, dw = 0, dh = 0, vp, po, mdf, clf, we, w, u, parentWindow;
-
-                       f = f || {};
-                       p = p || {};
-
-                       // Run native windows
-                       if (!f.inline)
-                               return t.parent(f, p);
-
-                       parentWindow = t._frontWindow();
-                       if (parentWindow && DOM.get(parentWindow.id + '_ifr')) {
-                               parentWindow.focussedElement = DOM.get(parentWindow.id + '_ifr').contentWindow.document.activeElement;
-                       }
-                       
-                       // Only store selection if the type is a normal window
-                       if (!f.type)
-                               t.bookmark = ed.selection.getBookmark(1);
-
-                       id = DOM.uniqueId();
-                       vp = DOM.getViewPort();
-                       f.width = parseInt(f.width || 320);
-                       f.height = parseInt(f.height || 240) + (tinymce.isIE ? 8 : 0);
-                       f.min_width = parseInt(f.min_width || 150);
-                       f.min_height = parseInt(f.min_height || 100);
-                       f.max_width = parseInt(f.max_width || 2000);
-                       f.max_height = parseInt(f.max_height || 2000);
-                       f.left = f.left || Math.round(Math.max(vp.x, vp.x + (vp.w / 2.0) - (f.width / 2.0)));
-                       f.top = f.top || Math.round(Math.max(vp.y, vp.y + (vp.h / 2.0) - (f.height / 2.0)));
-                       f.movable = f.resizable = true;
-                       p.mce_width = f.width;
-                       p.mce_height = f.height;
-                       p.mce_inline = true;
-                       p.mce_window_id = id;
-                       p.mce_auto_focus = f.auto_focus;
-
-                       // Transpose
-//                     po = DOM.getPos(ed.getContainer());
-//                     f.left -= po.x;
-//                     f.top -= po.y;
-
-                       t.features = f;
-                       t.params = p;
-                       t.onOpen.dispatch(t, f, p);
-
-                       if (f.type) {
-                               opt += ' mceModal';
-
-                               if (f.type)
-                                       opt += ' mce' + f.type.substring(0, 1).toUpperCase() + f.type.substring(1);
-
-                               f.resizable = false;
-                       }
-
-                       if (f.statusbar)
-                               opt += ' mceStatusbar';
-
-                       if (f.resizable)
-                               opt += ' mceResizable';
-
-                       if (f.minimizable)
-                               opt += ' mceMinimizable';
-
-                       if (f.maximizable)
-                               opt += ' mceMaximizable';
-
-                       if (f.movable)
-                               opt += ' mceMovable';
-
-                       // Create DOM objects
-                       t._addAll(DOM.doc.body, 
-                               ['div', {id : id, role : 'dialog', 'aria-labelledby': f.type ? id + '_content' : id + '_title', 'class' : (ed.settings.inlinepopups_skin || 'clearlooks2') + (tinymce.isIE && window.getSelection ? ' ie9' : ''), style : 'width:100px;height:100px'}, 
-                                       ['div', {id : id + '_wrapper', 'class' : 'mceWrapper' + opt},
-                                               ['div', {id : id + '_top', 'class' : 'mceTop'}, 
-                                                       ['div', {'class' : 'mceLeft'}],
-                                                       ['div', {'class' : 'mceCenter'}],
-                                                       ['div', {'class' : 'mceRight'}],
-                                                       ['span', {id : id + '_title'}, f.title || '']
-                                               ],
-
-                                               ['div', {id : id + '_middle', 'class' : 'mceMiddle'}, 
-                                                       ['div', {id : id + '_left', 'class' : 'mceLeft', tabindex : '0'}],
-                                                       ['span', {id : id + '_content'}],
-                                                       ['div', {id : id + '_right', 'class' : 'mceRight', tabindex : '0'}]
-                                               ],
-
-                                               ['div', {id : id + '_bottom', 'class' : 'mceBottom'},
-                                                       ['div', {'class' : 'mceLeft'}],
-                                                       ['div', {'class' : 'mceCenter'}],
-                                                       ['div', {'class' : 'mceRight'}],
-                                                       ['span', {id : id + '_status'}, 'Content']
-                                               ],
-
-                                               ['a', {'class' : 'mceMove', tabindex : '-1', href : 'javascript:;'}],
-                                               ['a', {'class' : 'mceMin', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}],
-                                               ['a', {'class' : 'mceMax', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}],
-                                               ['a', {'class' : 'mceMed', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}],
-                                               ['a', {'class' : 'mceClose', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}],
-                                               ['a', {id : id + '_resize_n', 'class' : 'mceResize mceResizeN', tabindex : '-1', href : 'javascript:;'}],
-                                               ['a', {id : id + '_resize_s', 'class' : 'mceResize mceResizeS', tabindex : '-1', href : 'javascript:;'}],
-                                               ['a', {id : id + '_resize_w', 'class' : 'mceResize mceResizeW', tabindex : '-1', href : 'javascript:;'}],
-                                               ['a', {id : id + '_resize_e', 'class' : 'mceResize mceResizeE', tabindex : '-1', href : 'javascript:;'}],
-                                               ['a', {id : id + '_resize_nw', 'class' : 'mceResize mceResizeNW', tabindex : '-1', href : 'javascript:;'}],
-                                               ['a', {id : id + '_resize_ne', 'class' : 'mceResize mceResizeNE', tabindex : '-1', href : 'javascript:;'}],
-                                               ['a', {id : id + '_resize_sw', 'class' : 'mceResize mceResizeSW', tabindex : '-1', href : 'javascript:;'}],
-                                               ['a', {id : id + '_resize_se', 'class' : 'mceResize mceResizeSE', tabindex : '-1', href : 'javascript:;'}]
-                                       ]
-                               ]
-                       );
-
-                       DOM.setStyles(id, {top : -10000, left : -10000});
-
-                       // Fix gecko rendering bug, where the editors iframe messed with window contents
-                       if (tinymce.isGecko)
-                               DOM.setStyle(id, 'overflow', 'auto');
-
-                       // Measure borders
-                       if (!f.type) {
-                               dw += DOM.get(id + '_left').clientWidth;
-                               dw += DOM.get(id + '_right').clientWidth;
-                               dh += DOM.get(id + '_top').clientHeight;
-                               dh += DOM.get(id + '_bottom').clientHeight;
-                       }
-
-                       // Resize window
-                       DOM.setStyles(id, {top : f.top, left : f.left, width : f.width + dw, height : f.height + dh});
-
-                       u = f.url || f.file;
-                       if (u) {
-                               if (tinymce.relaxedDomain)
-                                       u += (u.indexOf('?') == -1 ? '?' : '&') + 'mce_rdomain=' + tinymce.relaxedDomain;
-
-                               u = tinymce._addVer(u);
-                       }
-
-                       if (!f.type) {
-                               DOM.add(id + '_content', 'iframe', {id : id + '_ifr', src : 'javascript:""', frameBorder : 0, style : 'border:0;width:10px;height:10px'});
-                               DOM.setStyles(id + '_ifr', {width : f.width, height : f.height});
-                               DOM.setAttrib(id + '_ifr', 'src', u);
-                       } else {
-                               DOM.add(id + '_wrapper', 'a', {id : id + '_ok', 'class' : 'mceButton mceOk', href : 'javascript:;', onmousedown : 'return false;'}, 'Ok');
-
-                               if (f.type == 'confirm')
-                                       DOM.add(id + '_wrapper', 'a', {'class' : 'mceButton mceCancel', href : 'javascript:;', onmousedown : 'return false;'}, 'Cancel');
-
-                               DOM.add(id + '_middle', 'div', {'class' : 'mceIcon'});
-                               DOM.setHTML(id + '_content', f.content.replace('\n', '<br />'));
-                               
-                               Event.add(id, 'keyup', function(evt) {
-                                       var VK_ESCAPE = 27;
-                                       if (evt.keyCode === VK_ESCAPE) {
-                                               f.button_func(false);
-                                               return Event.cancel(evt);
-                                       }
-                               });
-
-                               Event.add(id, 'keydown', function(evt) {
-                                       var cancelButton, VK_TAB = 9;
-                                       if (evt.keyCode === VK_TAB) {
-                                               cancelButton = DOM.select('a.mceCancel', id + '_wrapper')[0];
-                                               if (cancelButton && cancelButton !== evt.target) {
-                                                       cancelButton.focus();
-                                               } else {
-                                                       DOM.get(id + '_ok').focus();
-                                               }
-                                               return Event.cancel(evt);
-                                       }
-                               });
-                       }
-
-                       // Register events
-                       mdf = Event.add(id, 'mousedown', function(e) {
-                               var n = e.target, w, vp;
-
-                               w = t.windows[id];
-                               t.focus(id);
-
-                               if (n.nodeName == 'A' || n.nodeName == 'a') {
-                                       if (n.className == 'mceClose') {
-                                               t.close(null, id);
-                                               return Event.cancel(e);
-                                       } else if (n.className == 'mceMax') {
-                                               w.oldPos = w.element.getXY();
-                                               w.oldSize = w.element.getSize();
-
-                                               vp = DOM.getViewPort();
-
-                                               // Reduce viewport size to avoid scrollbars
-                                               vp.w -= 2;
-                                               vp.h -= 2;
-
-                                               w.element.moveTo(vp.x, vp.y);
-                                               w.element.resizeTo(vp.w, vp.h);
-                                               DOM.setStyles(id + '_ifr', {width : vp.w - w.deltaWidth, height : vp.h - w.deltaHeight});
-                                               DOM.addClass(id + '_wrapper', 'mceMaximized');
-                                       } else if (n.className == 'mceMed') {
-                                               // Reset to old size
-                                               w.element.moveTo(w.oldPos.x, w.oldPos.y);
-                                               w.element.resizeTo(w.oldSize.w, w.oldSize.h);
-                                               w.iframeElement.resizeTo(w.oldSize.w - w.deltaWidth, w.oldSize.h - w.deltaHeight);
-
-                                               DOM.removeClass(id + '_wrapper', 'mceMaximized');
-                                       } else if (n.className == 'mceMove')
-                                               return t._startDrag(id, e, n.className);
-                                       else if (DOM.hasClass(n, 'mceResize'))
-                                               return t._startDrag(id, e, n.className.substring(13));
-                               }
-                       });
-
-                       clf = Event.add(id, 'click', function(e) {
-                               var n = e.target;
-
-                               t.focus(id);
-
-                               if (n.nodeName == 'A' || n.nodeName == 'a') {
-                                       switch (n.className) {
-                                               case 'mceClose':
-                                                       t.close(null, id);
-                                                       return Event.cancel(e);
-
-                                               case 'mceButton mceOk':
-                                               case 'mceButton mceCancel':
-                                                       f.button_func(n.className == 'mceButton mceOk');
-                                                       return Event.cancel(e);
-                                       }
-                               }
-                       });
-                       
-                       // Make sure the tab order loops within the dialog.
-                       Event.add([id + '_left', id + '_right'], 'focus', function(evt) {
-                               var iframe = DOM.get(id + '_ifr');
-                               if (iframe) {
-                                       var body = iframe.contentWindow.document.body;
-                                       var focusable = DOM.select(':input:enabled,*[tabindex=0]', body);
-                                       if (evt.target.id === (id + '_left')) {
-                                               focusable[focusable.length - 1].focus();
-                                       } else {
-                                               focusable[0].focus();
-                                       }
-                               } else {
-                                       DOM.get(id + '_ok').focus();
-                               }
-                       });
-                       
-                       // Add window
-                       w = t.windows[id] = {
-                               id : id,
-                               mousedown_func : mdf,
-                               click_func : clf,
-                               element : new Element(id, {blocker : 1, container : ed.getContainer()}),
-                               iframeElement : new Element(id + '_ifr'),
-                               features : f,
-                               deltaWidth : dw,
-                               deltaHeight : dh
-                       };
-
-                       w.iframeElement.on('focus', function() {
-                               t.focus(id);
-                       });
-
-                       // Setup blocker
-                       if (t.count == 0 && t.editor.getParam('dialog_type', 'modal') == 'modal') {
-                               DOM.add(DOM.doc.body, 'div', {
-                                       id : 'mceModalBlocker',
-                                       'class' : (t.editor.settings.inlinepopups_skin || 'clearlooks2') + '_modalBlocker',
-                                       style : {zIndex : t.zIndex - 1}
-                               });
-
-                               DOM.show('mceModalBlocker'); // Reduces flicker in IE
-                               DOM.setAttrib(DOM.doc.body, 'aria-hidden', 'true');
-                       } else
-                               DOM.setStyle('mceModalBlocker', 'z-index', t.zIndex - 1);
-
-                       if (tinymce.isIE6 || /Firefox\/2\./.test(navigator.userAgent) || (tinymce.isIE && !DOM.boxModel))
-                               DOM.setStyles('mceModalBlocker', {position : 'absolute', left : vp.x, top : vp.y, width : vp.w - 2, height : vp.h - 2});
-
-                       DOM.setAttrib(id, 'aria-hidden', 'false');
-                       t.focus(id);
-                       t._fixIELayout(id, 1);
-
-                       // Focus ok button
-                       if (DOM.get(id + '_ok'))
-                               DOM.get(id + '_ok').focus();
-                       t.count++;
-
-                       return w;
-               },
-
-               focus : function(id) {
-                       var t = this, w;
-
-                       if (w = t.windows[id]) {
-                               w.zIndex = this.zIndex++;
-                               w.element.setStyle('zIndex', w.zIndex);
-                               w.element.update();
-
-                               id = id + '_wrapper';
-                               DOM.removeClass(t.lastId, 'mceFocus');
-                               DOM.addClass(id, 'mceFocus');
-                               t.lastId = id;
-                               
-                               if (w.focussedElement) {
-                                       w.focussedElement.focus();
-                               } else if (DOM.get(id + '_ok')) {
-                                       DOM.get(w.id + '_ok').focus();
-                               } else if (DOM.get(w.id + '_ifr')) {
-                                       DOM.get(w.id + '_ifr').focus();
-                               }
-                       }
-               },
-
-               _addAll : function(te, ne) {
-                       var i, n, t = this, dom = tinymce.DOM;
-
-                       if (is(ne, 'string'))
-                               te.appendChild(dom.doc.createTextNode(ne));
-                       else if (ne.length) {
-                               te = te.appendChild(dom.create(ne[0], ne[1]));
-
-                               for (i=2; i<ne.length; i++)
-                                       t._addAll(te, ne[i]);
-                       }
-               },
-
-               _startDrag : function(id, se, ac) {
-                       var t = this, mu, mm, d = DOM.doc, eb, w = t.windows[id], we = w.element, sp = we.getXY(), p, sz, ph, cp, vp, sx, sy, sex, sey, dx, dy, dw, dh;
-
-                       // Get positons and sizes
-//                     cp = DOM.getPos(t.editor.getContainer());
-                       cp = {x : 0, y : 0};
-                       vp = DOM.getViewPort();
-
-                       // Reduce viewport size to avoid scrollbars while dragging
-                       vp.w -= 2;
-                       vp.h -= 2;
-
-                       sex = se.screenX;
-                       sey = se.screenY;
-                       dx = dy = dw = dh = 0;
-
-                       // Handle mouse up
-                       mu = Event.add(d, 'mouseup', function(e) {
-                               Event.remove(d, 'mouseup', mu);
-                               Event.remove(d, 'mousemove', mm);
-
-                               if (eb)
-                                       eb.remove();
-
-                               we.moveBy(dx, dy);
-                               we.resizeBy(dw, dh);
-                               sz = we.getSize();
-                               DOM.setStyles(id + '_ifr', {width : sz.w - w.deltaWidth, height : sz.h - w.deltaHeight});
-                               t._fixIELayout(id, 1);
-
-                               return Event.cancel(e);
-                       });
-
-                       if (ac != 'Move')
-                               startMove();
-
-                       function startMove() {
-                               if (eb)
-                                       return;
-
-                               t._fixIELayout(id, 0);
-
-                               // Setup event blocker
-                               DOM.add(d.body, 'div', {
-                                       id : 'mceEventBlocker',
-                                       'class' : 'mceEventBlocker ' + (t.editor.settings.inlinepopups_skin || 'clearlooks2'),
-                                       style : {zIndex : t.zIndex + 1}
-                               });
-
-                               if (tinymce.isIE6 || (tinymce.isIE && !DOM.boxModel))
-                                       DOM.setStyles('mceEventBlocker', {position : 'absolute', left : vp.x, top : vp.y, width : vp.w - 2, height : vp.h - 2});
-
-                               eb = new Element('mceEventBlocker');
-                               eb.update();
-
-                               // Setup placeholder
-                               p = we.getXY();
-                               sz = we.getSize();
-                               sx = cp.x + p.x - vp.x;
-                               sy = cp.y + p.y - vp.y;
-                               DOM.add(eb.get(), 'div', {id : 'mcePlaceHolder', 'class' : 'mcePlaceHolder', style : {left : sx, top : sy, width : sz.w, height : sz.h}});
-                               ph = new Element('mcePlaceHolder');
-                       };
-
-                       // Handle mouse move/drag
-                       mm = Event.add(d, 'mousemove', function(e) {
-                               var x, y, v;
-
-                               startMove();
-
-                               x = e.screenX - sex;
-                               y = e.screenY - sey;
-
-                               switch (ac) {
-                                       case 'ResizeW':
-                                               dx = x;
-                                               dw = 0 - x;
-                                               break;
-
-                                       case 'ResizeE':
-                                               dw = x;
-                                               break;
-
-                                       case 'ResizeN':
-                                       case 'ResizeNW':
-                                       case 'ResizeNE':
-                                               if (ac == "ResizeNW") {
-                                                       dx = x;
-                                                       dw = 0 - x;
-                                               } else if (ac == "ResizeNE")
-                                                       dw = x;
-
-                                               dy = y;
-                                               dh = 0 - y;
-                                               break;
-
-                                       case 'ResizeS':
-                                       case 'ResizeSW':
-                                       case 'ResizeSE':
-                                               if (ac == "ResizeSW") {
-                                                       dx = x;
-                                                       dw = 0 - x;
-                                               } else if (ac == "ResizeSE")
-                                                       dw = x;
-
-                                               dh = y;
-                                               break;
-
-                                       case 'mceMove':
-                                               dx = x;
-                                               dy = y;
-                                               break;
-                               }
-
-                               // Boundary check
-                               if (dw < (v = w.features.min_width - sz.w)) {
-                                       if (dx !== 0)
-                                               dx += dw - v;
-
-                                       dw = v;
-                               }
-       
-                               if (dh < (v = w.features.min_height - sz.h)) {
-                                       if (dy !== 0)
-                                               dy += dh - v;
-
-                                       dh = v;
-                               }
-
-                               dw = Math.min(dw, w.features.max_width - sz.w);
-                               dh = Math.min(dh, w.features.max_height - sz.h);
-                               dx = Math.max(dx, vp.x - (sx + vp.x));
-                               dy = Math.max(dy, vp.y - (sy + vp.y));
-                               dx = Math.min(dx, (vp.w + vp.x) - (sx + sz.w + vp.x));
-                               dy = Math.min(dy, (vp.h + vp.y) - (sy + sz.h + vp.y));
-
-                               // Move if needed
-                               if (dx + dy !== 0) {
-                                       if (sx + dx < 0)
-                                               dx = 0;
-       
-                                       if (sy + dy < 0)
-                                               dy = 0;
-
-                                       ph.moveTo(sx + dx, sy + dy);
-                               }
-
-                               // Resize if needed
-                               if (dw + dh !== 0)
-                                       ph.resizeTo(sz.w + dw, sz.h + dh);
-
-                               return Event.cancel(e);
-                       });
-
-                       return Event.cancel(se);
-               },
-
-               resizeBy : function(dw, dh, id) {
-                       var w = this.windows[id];
-
-                       if (w) {
-                               w.element.resizeBy(dw, dh);
-                               w.iframeElement.resizeBy(dw, dh);
-                       }
-               },
-
-               close : function(win, id) {
-                       var t = this, w, d = DOM.doc, fw, id;
-
-                       id = t._findId(id || win);
-
-                       // Probably not inline
-                       if (!t.windows[id]) {
-                               t.parent(win);
-                               return;
-                       }
-
-                       t.count--;
-
-                       if (t.count == 0) {
-                               DOM.remove('mceModalBlocker');
-                               DOM.setAttrib(DOM.doc.body, 'aria-hidden', 'false');
-                               t.editor.focus();
-                       }
-
-                       if (w = t.windows[id]) {
-                               t.onClose.dispatch(t);
-                               Event.remove(d, 'mousedown', w.mousedownFunc);
-                               Event.remove(d, 'click', w.clickFunc);
-                               Event.clear(id);
-                               Event.clear(id + '_ifr');
-
-                               DOM.setAttrib(id + '_ifr', 'src', 'javascript:""'); // Prevent leak
-                               w.element.remove();
-                               delete t.windows[id];
-
-                               fw = t._frontWindow();
-
-                               if (fw)
-                                       t.focus(fw.id);
-                       }
-               },
-               
-               // Find front most window
-               _frontWindow : function() {
-                       var fw, ix = 0;
-                       // Find front most window and focus that
-                       each (this.windows, function(w) {
-                               if (w.zIndex > ix) {
-                                       fw = w;
-                                       ix = w.zIndex;
-                               }
-                       });
-                       return fw;
-               },
-
-               setTitle : function(w, ti) {
-                       var e;
-
-                       w = this._findId(w);
-
-                       if (e = DOM.get(w + '_title'))
-                               e.innerHTML = DOM.encode(ti);
-               },
-
-               alert : function(txt, cb, s) {
-                       var t = this, w;
-
-                       w = t.open({
-                               title : t,
-                               type : 'alert',
-                               button_func : function(s) {
-                                       if (cb)
-                                               cb.call(s || t, s);
-
-                                       t.close(null, w.id);
-                               },
-                               content : DOM.encode(t.editor.getLang(txt, txt)),
-                               inline : 1,
-                               width : 400,
-                               height : 130
-                       });
-               },
-
-               confirm : function(txt, cb, s) {
-                       var t = this, w;
-
-                       w = t.open({
-                               title : t,
-                               type : 'confirm',
-                               button_func : function(s) {
-                                       if (cb)
-                                               cb.call(s || t, s);
-
-                                       t.close(null, w.id);
-                               },
-                               content : DOM.encode(t.editor.getLang(txt, txt)),
-                               inline : 1,
-                               width : 400,
-                               height : 130
-                       });
-               },
-
-               // Internal functions
-
-               _findId : function(w) {
-                       var t = this;
-
-                       if (typeof(w) == 'string')
-                               return w;
-
-                       each(t.windows, function(wo) {
-                               var ifr = DOM.get(wo.id + '_ifr');
-
-                               if (ifr && w == ifr.contentWindow) {
-                                       w = wo.id;
-                                       return false;
-                               }
-                       });
-
-                       return w;
-               },
-
-               _fixIELayout : function(id, s) {
-                       var w, img;
-
-                       if (!tinymce.isIE6)
-                               return;
-
-                       // Fixes the bug where hover flickers and does odd things in IE6
-                       each(['n','s','w','e','nw','ne','sw','se'], function(v) {
-                               var e = DOM.get(id + '_resize_' + v);
-
-                               DOM.setStyles(e, {
-                                       width : s ? e.clientWidth : '',
-                                       height : s ? e.clientHeight : '',
-                                       cursor : DOM.getStyle(e, 'cursor', 1)
-                               });
-
-                               DOM.setStyle(id + "_bottom", 'bottom', '-1px');
-
-                               e = 0;
-                       });
-
-                       // Fixes graphics glitch
-                       if (w = this.windows[id]) {
-                               // Fixes rendering bug after resize
-                               w.element.hide();
-                               w.element.show();
-
-                               // Forced a repaint of the window
-                               //DOM.get(id).style.filter = '';
-
-                               // IE has a bug where images used in CSS won't get loaded
-                               // sometimes when the cache in the browser is disabled
-                               // This fix tries to solve it by loading the images using the image object
-                               each(DOM.select('div,a', id), function(e, i) {
-                                       if (e.currentStyle.backgroundImage != 'none') {
-                                               img = new Image();
-                                               img.src = e.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/, '$1');
-                                       }
-                               });
-
-                               DOM.get(id).style.filter = '';
-                       }
-               }
-       });
-
-       // Register plugin
-       tinymce.PluginManager.add('inlinepopups', tinymce.plugins.InlinePopups);
-})();
-
diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif b/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif
deleted file mode 100644 (file)
index 2191398..0000000
Binary files a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif b/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif
deleted file mode 100644 (file)
index f957e49..0000000
Binary files a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif b/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif
deleted file mode 100644 (file)
index b408ae1..0000000
Binary files a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif b/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif
deleted file mode 100644 (file)
index 20acbbf..0000000
Binary files a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif b/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif
deleted file mode 100644 (file)
index d5de1cc..0000000
Binary files a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/drag.gif b/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/drag.gif
deleted file mode 100644 (file)
index a5f0683..0000000
Binary files a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/drag.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif b/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif
deleted file mode 100644 (file)
index c2a2ad4..0000000
Binary files a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif b/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif
deleted file mode 100644 (file)
index 0b4cc36..0000000
Binary files a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css b/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css
deleted file mode 100644 (file)
index ad07434..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-/* Clearlooks 2 */
-
-/* Reset */
-.clearlooks2, .clearlooks2 div, .clearlooks2 span, .clearlooks2 a {vertical-align:baseline; text-align:left; position:absolute; border:0; padding:0; margin:0; background:transparent; font-family:Arial,Verdana; font-size:11px; color:#000; text-decoration:none; font-weight:normal; width:auto; height:auto; overflow:hidden; display:block}
-
-/* General */
-.clearlooks2 {position:absolute; direction:ltr}
-.clearlooks2 .mceWrapper {position:static}
-.mceEventBlocker {position:fixed; left:0; top:0; background:url(img/horizontal.gif) no-repeat 0 -75px; width:100%; height:100%}
-.clearlooks2 .mcePlaceHolder {border:1px solid #000; background:#888; top:0; left:0; opacity:0.5; -ms-filter:'alpha(opacity=50)'; filter:alpha(opacity=50)}
-.clearlooks2_modalBlocker {position:fixed; left:0; top:0; width:100%; height:100%; background:#FFF; opacity:0.6; -ms-filter:'alpha(opacity=60)'; filter:alpha(opacity=60); display:none}
-
-/* Top */
-.clearlooks2 .mceTop, 
-.clearlooks2 .mceTop div {
-       top:0; 
-       width:100%; 
-       height:23px
-}
-.clearlooks2 .mceTop .mceLeft {
-       width:55%; 
-       background-image: none;
-       border-style: solid none none solid;
-       border-width: 1px;
-}
-.clearlooks2 .mceTop .mceCenter {
-}
-.clearlooks2 .mceTop .mceRight {
-       right:0; 
-       width:55%; 
-       height:23px; 
-       background-image: none;
-       border-style: solid solid none none;
-       border-width: 1px;
-}
-.clearlooks2 .mceTop span {
-       width:100%;
-       font: 12px/20px bold "Lucida Grande","Lucida Sans Unicode",Tahoma,Verdana,sans-serif;
-       text-align:center; 
-       vertical-align:middle; 
-       line-height:23px; 
-       font-weight:bold;
-}
-.clearlooks2 .mceFocus .mceTop .mceLeft {
-       background-image: none;
-       border-style: solid none none solid;
-       border-width: 1px;
-}
-.clearlooks2 .mceFocus .mceTop .mceCenter {
-}
-.clearlooks2 .mceFocus .mceTop .mceRight {
-       background-image: none;
-       border-style: solid solid none none;
-       border-width: 1px;
-}
-.clearlooks2 .mceFocus .mceTop span {
-color:#FFF
-}
-
-/* Middle */
-.clearlooks2 .mceMiddle, .clearlooks2 .mceMiddle div {top:0}
-.clearlooks2 .mceMiddle {width:100%; height:100%; clip:rect(23px auto auto auto)}
-.clearlooks2 .mceMiddle .mceLeft {left:0; width:5px; height:100%; background:#E4F2FD;border-left:1px solid #c6d9e9}
-.clearlooks2 .mceMiddle span {top:23px; left:5px; width:100%; height:100%; background:#FFF}
-.clearlooks2 .mceMiddle .mceRight {right:0; width:5px; height:100%; background:#E4F2FD;border-right:1px solid #c6d9e9}
-
-/* Bottom */
-.clearlooks2 .mceBottom, .clearlooks2 .mceBottom div {height:6px}
-.clearlooks2 .mceBottom {left:0; bottom:0; width:100%;background:#E4F2FD;border-bottom:1px solid #c6d9e9}
-.clearlooks2 .mceBottom div {top:0}
-.clearlooks2 .mceBottom .mceLeft {left:0; width:5px; background:#E4F2FD  ;border-left:1px solid #c6d9e9}
-.clearlooks2 .mceBottom .mceCenter {left:5px; width:100%}
-.clearlooks2 .mceBottom .mceRight {right:0; width:6px; background:#E4F2FD url(img/drag.gif) no-repeat;border-right:1px solid #c6d9e9}
-.clearlooks2 .mceBottom span {display:none}
-.clearlooks2 .mceStatusbar .mceBottom, .clearlooks2 .mceStatusbar .mceBottom div {height:23px}
-.clearlooks2 .mceStatusbar .mceBottom .mceLeft {background:url(img/corners.gif) -29px 0}
-.clearlooks2 .mceStatusbar .mceBottom .mceCenter {background:url(img/horizontal.gif) 0 -52px}
-.clearlooks2 .mceStatusbar .mceBottom .mceRight {background:url(img/corners.gif) -24px 0}
-.clearlooks2 .mceStatusbar .mceBottom span {display:block; left:7px; font-family:Arial, Verdana; font-size:11px; line-height:23px}
-
-/* Actions */
-.clearlooks2 a {width:29px; height:16px; top:3px;}
-.clearlooks2 .mceClose {right:6px; background:url(img/buttons.gif) -87px 0}
-.clearlooks2 .mceMin {display:none; right:68px; background:url(img/buttons.gif) 0 0}
-.clearlooks2 .mceMed {display:none; right:37px; background:url(img/buttons.gif) -29px 0}
-.clearlooks2 .mceMax {display:none; right:37px; background:url(img/buttons.gif) -58px 0}
-.clearlooks2 .mceMove {display:none;width:100%;cursor:move;background:url(img/corners.gif) no-repeat -100px -100px}
-.clearlooks2 .mceMovable .mceMove {display:block}
-.clearlooks2 .mceFocus .mceClose {right:6px; background:url(img/buttons.gif) -87px -16px}
-.clearlooks2 .mceFocus .mceMin {right:68px; background:url(img/buttons.gif) 0 -16px}
-.clearlooks2 .mceFocus .mceMed {right:37px; background:url(img/buttons.gif) -29px -16px}
-.clearlooks2 .mceFocus .mceMax {right:37px; background:url(img/buttons.gif) -58px -16px}
-.clearlooks2 .mceFocus .mceClose:hover {right:6px; background:url(img/buttons.gif) -87px -32px}
-.clearlooks2 .mceFocus .mceClose:hover {right:6px; background:url(img/buttons.gif) -87px -32px}
-.clearlooks2 .mceFocus .mceMin:hover {right:68px; background:url(img/buttons.gif) 0 -32px}
-.clearlooks2 .mceFocus .mceMed:hover {right:37px; background:url(img/buttons.gif) -29px -32px}
-.clearlooks2 .mceFocus .mceMax:hover {right:37px; background:url(img/buttons.gif) -58px -32px}
-
-/* Resize */
-.clearlooks2 .mceResize {top:auto; left:auto; display:none; width:5px; height:5px; background:url(img/horizontal.gif) no-repeat 0 -75px}
-.clearlooks2 .mceResizable .mceResize {display:block}
-.clearlooks2 .mceResizable .mceMin, .clearlooks2 .mceMax {display:none}
-.clearlooks2 .mceMinimizable .mceMin {display:block}
-.clearlooks2 .mceMaximizable .mceMax {display:block}
-.clearlooks2 .mceMaximized .mceMed {display:block}
-.clearlooks2 .mceMaximized .mceMax {display:none}
-.clearlooks2 a.mceResizeN {top:0; left:0; width:100%; cursor:n-resize}
-.clearlooks2 a.mceResizeNW {top:0; left:0; cursor:nw-resize}
-.clearlooks2 a.mceResizeNE {top:0; right:0; cursor:ne-resize}
-.clearlooks2 a.mceResizeW {top:0; left:0; height:100%; cursor:w-resize;}
-.clearlooks2 a.mceResizeE {top:0; right:0; height:100%; cursor:e-resize}
-.clearlooks2 a.mceResizeS {bottom:0; left:0; width:100%; cursor:s-resize}
-.clearlooks2 a.mceResizeSW {bottom:0; left:0; cursor:sw-resize}
-.clearlooks2 a.mceResizeSE {bottom:0; right:0; cursor:se-resize}
-
-/* Alert/Confirm */
-.clearlooks2 .mceButton {font-weight:bold; bottom:10px; width:80px; height:30px; background:url(img/button.gif); line-height:30px; vertical-align:middle; text-align:center; outline:0}
-.clearlooks2 .mceMiddle .mceIcon {left:15px; top:35px; width:32px; height:32px}
-.clearlooks2 .mceAlert .mceMiddle span, .clearlooks2 .mceConfirm .mceMiddle span {background:transparent;left:60px; top:35px; width:320px; height:50px; font-weight:bold; overflow:auto; white-space:normal}
-.clearlooks2 a:hover {font-weight:bold;}
-.clearlooks2 .mceAlert .mceMiddle, .clearlooks2 .mceConfirm .mceMiddle {background:#F9F9F9}
-.clearlooks2 .mceAlert .mceOk {left:50%; top:auto; margin-left: -40px}
-.clearlooks2 .mceAlert .mceIcon {background:url(img/alert.gif)}
-.clearlooks2 .mceConfirm .mceOk {left:50%; top:auto; margin-left: -90px}
-.clearlooks2 .mceConfirm .mceCancel {left:50%; top:auto}
-.clearlooks2 .mceConfirm .mceIcon {background:url(img/confirm.gif)}
diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/template.htm b/wp-includes/js/tinymce/plugins/inlinepopups/template.htm
deleted file mode 100644 (file)
index 5015783..0000000
+++ /dev/null
@@ -1,387 +0,0 @@
-<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Template for dialogs</title>
-<link rel="stylesheet" type="text/css" href="skins/clearlooks2/window.css?ver=359-20131010" />
-</head>
-<body>
-
-<div class="mceEditor">
-       <div class="clearlooks2" style="width:400px; height:100px; left:10px;">
-               <div class="mceWrapper">
-                       <div class="mceTop">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Blured</span>
-                       </div>
-
-                       <div class="mceMiddle">
-                               <div class="mceLeft"></div>
-                               <span>Content</span>
-                               <div class="mceRight"></div>
-                       </div>
-
-                       <div class="mceBottom">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Statusbar text.</span>
-                       </div>
-
-                       <a class="mceMove" href="#"></a>
-                       <a class="mceMin" href="#"></a>
-                       <a class="mceMax" href="#"></a>
-                       <a class="mceMed" href="#"></a>
-                       <a class="mceClose" href="#"></a>
-                       <a class="mceResize mceResizeN" href="#"></a>
-                       <a class="mceResize mceResizeS" href="#"></a>
-                       <a class="mceResize mceResizeW" href="#"></a>
-                       <a class="mceResize mceResizeE" href="#"></a>
-                       <a class="mceResize mceResizeNW" href="#"></a>
-                       <a class="mceResize mceResizeNE" href="#"></a>
-                       <a class="mceResize mceResizeSW" href="#"></a>
-                       <a class="mceResize mceResizeSE" href="#"></a>
-               </div>
-       </div>
-
-       <div class="clearlooks2" style="width:400px; height:100px; left:420px;">
-               <div class="mceWrapper mceMovable mceFocus">
-                       <div class="mceTop">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Focused</span>
-                       </div>
-
-                       <div class="mceMiddle">
-                               <div class="mceLeft"></div>
-                               <span>Content</span>
-                               <div class="mceRight"></div>
-                       </div>
-
-                       <div class="mceBottom">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Statusbar text.</span>
-                       </div>
-
-                       <a class="mceMove" href="#"></a>
-                       <a class="mceMin" href="#"></a>
-                       <a class="mceMax" href="#"></a>
-                       <a class="mceMed" href="#"></a>
-                       <a class="mceClose" href="#"></a>
-                       <a class="mceResize mceResizeN" href="#"></a>
-                       <a class="mceResize mceResizeS" href="#"></a>
-                       <a class="mceResize mceResizeW" href="#"></a>
-                       <a class="mceResize mceResizeE" href="#"></a>
-                       <a class="mceResize mceResizeNW" href="#"></a>
-                       <a class="mceResize mceResizeNE" href="#"></a>
-                       <a class="mceResize mceResizeSW" href="#"></a>
-                       <a class="mceResize mceResizeSE" href="#"></a>
-               </div>
-       </div>
-
-       <div class="clearlooks2" style="width:400px; height:100px; left:10px; top:120px;">
-               <div class="mceWrapper mceMovable mceFocus mceStatusbar">
-                       <div class="mceTop">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Statusbar</span>
-                       </div>
-
-                       <div class="mceMiddle">
-                               <div class="mceLeft"></div>
-                               <span>Content</span>
-                               <div class="mceRight"></div>
-                       </div>
-
-                       <div class="mceBottom">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Statusbar text.</span>
-                       </div>
-
-                       <a class="mceMove" href="#"></a>
-                       <a class="mceMin" href="#"></a>
-                       <a class="mceMax" href="#"></a>
-                       <a class="mceMed" href="#"></a>
-                       <a class="mceClose" href="#"></a>
-                       <a class="mceResize mceResizeN" href="#"></a>
-                       <a class="mceResize mceResizeS" href="#"></a>
-                       <a class="mceResize mceResizeW" href="#"></a>
-                       <a class="mceResize mceResizeE" href="#"></a>
-                       <a class="mceResize mceResizeNW" href="#"></a>
-                       <a class="mceResize mceResizeNE" href="#"></a>
-                       <a class="mceResize mceResizeSW" href="#"></a>
-                       <a class="mceResize mceResizeSE" href="#"></a>
-               </div>
-       </div>
-
-       <div class="clearlooks2" style="width:400px; height:100px; left:420px; top:120px;">
-               <div class="mceWrapper mceMovable mceFocus mceStatusbar mceResizable">
-                       <div class="mceTop">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Statusbar, Resizable</span>
-                       </div>
-
-                       <div class="mceMiddle">
-                               <div class="mceLeft"></div>
-                               <span>Content</span>
-                               <div class="mceRight"></div>
-                       </div>
-
-                       <div class="mceBottom">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Statusbar text.</span>
-                       </div>
-
-                       <a class="mceMove" href="#"></a>
-                       <a class="mceMin" href="#"></a>
-                       <a class="mceMax" href="#"></a>
-                       <a class="mceMed" href="#"></a>
-                       <a class="mceClose" href="#"></a>
-                       <a class="mceResize mceResizeN" href="#"></a>
-                       <a class="mceResize mceResizeS" href="#"></a>
-                       <a class="mceResize mceResizeW" href="#"></a>
-                       <a class="mceResize mceResizeE" href="#"></a>
-                       <a class="mceResize mceResizeNW" href="#"></a>
-                       <a class="mceResize mceResizeNE" href="#"></a>
-                       <a class="mceResize mceResizeSW" href="#"></a>
-                       <a class="mceResize mceResizeSE" href="#"></a>
-               </div>
-       </div>
-
-       <div class="clearlooks2" style="width:400px; height:100px; left:10px; top:230px;">
-               <div class="mceWrapper mceMovable mceFocus mceResizable mceMaximizable">
-                       <div class="mceTop">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Resizable, Maximizable</span>
-                       </div>
-
-                       <div class="mceMiddle">
-                               <div class="mceLeft"></div>
-                               <span>Content</span>
-                               <div class="mceRight"></div>
-                       </div>
-
-                       <div class="mceBottom">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Statusbar text.</span>
-                       </div>
-
-                       <a class="mceMove" href="#"></a>
-                       <a class="mceMin" href="#"></a>
-                       <a class="mceMax" href="#"></a>
-                       <a class="mceMed" href="#"></a>
-                       <a class="mceClose" href="#"></a>
-                       <a class="mceResize mceResizeN" href="#"></a>
-                       <a class="mceResize mceResizeS" href="#"></a>
-                       <a class="mceResize mceResizeW" href="#"></a>
-                       <a class="mceResize mceResizeE" href="#"></a>
-                       <a class="mceResize mceResizeNW" href="#"></a>
-                       <a class="mceResize mceResizeNE" href="#"></a>
-                       <a class="mceResize mceResizeSW" href="#"></a>
-                       <a class="mceResize mceResizeSE" href="#"></a>
-               </div>
-       </div>
-
-       <div class="clearlooks2" style="width:400px; height:100px; left:420px; top:230px;">
-               <div class="mceWrapper mceMovable mceStatusbar mceResizable mceMaximizable">
-                       <div class="mceTop">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Blurred, Maximizable, Statusbar, Resizable</span>
-                       </div>
-
-                       <div class="mceMiddle">
-                               <div class="mceLeft"></div>
-                               <span>Content</span>
-                               <div class="mceRight"></div>
-                       </div>
-
-                       <div class="mceBottom">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Statusbar text.</span>
-                       </div>
-
-                       <a class="mceMove" href="#"></a>
-                       <a class="mceMin" href="#"></a>
-                       <a class="mceMax" href="#"></a>
-                       <a class="mceMed" href="#"></a>
-                       <a class="mceClose" href="#"></a>
-                       <a class="mceResize mceResizeN" href="#"></a>
-                       <a class="mceResize mceResizeS" href="#"></a>
-                       <a class="mceResize mceResizeW" href="#"></a>
-                       <a class="mceResize mceResizeE" href="#"></a>
-                       <a class="mceResize mceResizeNW" href="#"></a>
-                       <a class="mceResize mceResizeNE" href="#"></a>
-                       <a class="mceResize mceResizeSW" href="#"></a>
-                       <a class="mceResize mceResizeSE" href="#"></a>
-               </div>
-       </div>
-
-       <div class="clearlooks2" style="width:400px; height:100px; left:10px; top:340px;">
-               <div class="mceWrapper mceMovable mceFocus mceResizable mceMaximized mceMinimizable mceMaximizable">
-                       <div class="mceTop">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Maximized, Maximizable, Minimizable</span>
-                       </div>
-
-                       <div class="mceMiddle">
-                               <div class="mceLeft"></div>
-                               <span>Content</span>
-                               <div class="mceRight"></div>
-                       </div>
-
-                       <div class="mceBottom">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Statusbar text.</span>
-                       </div>
-
-                       <a class="mceMove" href="#"></a>
-                       <a class="mceMin" href="#"></a>
-                       <a class="mceMax" href="#"></a>
-                       <a class="mceMed" href="#"></a>
-                       <a class="mceClose" href="#"></a>
-                       <a class="mceResize mceResizeN" href="#"></a>
-                       <a class="mceResize mceResizeS" href="#"></a>
-                       <a class="mceResize mceResizeW" href="#"></a>
-                       <a class="mceResize mceResizeE" href="#"></a>
-                       <a class="mceResize mceResizeNW" href="#"></a>
-                       <a class="mceResize mceResizeNE" href="#"></a>
-                       <a class="mceResize mceResizeSW" href="#"></a>
-                       <a class="mceResize mceResizeSE" href="#"></a>
-               </div>
-       </div>
-
-       <div class="clearlooks2" style="width:400px; height:100px; left:420px; top:340px;">
-               <div class="mceWrapper mceMovable mceStatusbar mceResizable mceMaximized mceMinimizable mceMaximizable">
-                       <div class="mceTop">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Blured</span>
-                       </div>
-
-                       <div class="mceMiddle">
-                               <div class="mceLeft"></div>
-                               <span>Content</span>
-                               <div class="mceRight"></div>
-                       </div>
-
-                       <div class="mceBottom">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Statusbar text.</span>
-                       </div>
-
-                       <a class="mceMove" href="#"></a>
-                       <a class="mceMin" href="#"></a>
-                       <a class="mceMax" href="#"></a>
-                       <a class="mceMed" href="#"></a>
-                       <a class="mceClose" href="#"></a>
-                       <a class="mceResize mceResizeN" href="#"></a>
-                       <a class="mceResize mceResizeS" href="#"></a>
-                       <a class="mceResize mceResizeW" href="#"></a>
-                       <a class="mceResize mceResizeE" href="#"></a>
-                       <a class="mceResize mceResizeNW" href="#"></a>
-                       <a class="mceResize mceResizeNE" href="#"></a>
-                       <a class="mceResize mceResizeSW" href="#"></a>
-                       <a class="mceResize mceResizeSE" href="#"></a>
-               </div>
-       </div>
-
-       <div class="clearlooks2" style="width:400px; height:130px; left:10px; top:450px;">
-               <div class="mceWrapper mceMovable mceFocus mceModal mceAlert">
-                       <div class="mceTop">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Alert</span>
-                       </div>
-
-                       <div class="mceMiddle">
-                               <div class="mceLeft"></div>
-                               <span>
-                                       This is a very long error message. This is a very long error message.
-                                       This is a very long error message. This is a very long error message.
-                                       This is a very long error message. This is a very long error message.
-                                       This is a very long error message. This is a very long error message.
-                                       This is a very long error message. This is a very long error message.
-                                       This is a very long error message. This is a very long error message.
-                               </span>
-                               <div class="mceRight"></div>
-                               <div class="mceIcon"></div>
-                       </div>
-
-                       <div class="mceBottom">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                       </div>
-
-                       <a class="mceMove" href="#"></a>
-                       <a class="mceButton mceOk" href="#">Ok</a>
-                       <a class="mceClose" href="#"></a>
-               </div>
-       </div>
-
-       <div class="clearlooks2" style="width:400px; height:130px; left:420px; top:450px;">
-               <div class="mceWrapper mceMovable mceFocus mceModal mceConfirm">
-                       <div class="mceTop">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                               <span>Confirm</span>
-                       </div>
-
-                       <div class="mceMiddle">
-                               <div class="mceLeft"></div>
-                               <span>
-                                       This is a very long error message. This is a very long error message.
-                                       This is a very long error message. This is a very long error message.
-                                       This is a very long error message. This is a very long error message.
-                                       This is a very long error message. This is a very long error message.
-                                       This is a very long error message. This is a very long error message.
-                                       This is a very long error message. This is a very long error message.
-                                       </span>
-                               <div class="mceRight"></div>
-                               <div class="mceIcon"></div>
-                       </div>
-
-                       <div class="mceBottom">
-                               <div class="mceLeft"></div>
-                               <div class="mceCenter"></div>
-                               <div class="mceRight"></div>
-                       </div>
-
-                       <a class="mceMove" href="#"></a>
-                       <a class="mceButton mceOk" href="#">Ok</a>
-                       <a class="mceButton mceCancel" href="#">Cancel</a>
-                       <a class="mceClose" href="#"></a>
-               </div>
-       </div>
-</div>
-
-</body>
-</html>
diff --git a/wp-includes/js/tinymce/plugins/media/css/media.css b/wp-includes/js/tinymce/plugins/media/css/media.css
deleted file mode 100644 (file)
index fd04898..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#id, #name, #hspace, #vspace, #class_name, #align { width: 100px }
-#hspace, #vspace { width: 50px }
-#flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode { width: 100px }
-#flash_base, #flash_flashvars, #html5_altsource1, #html5_altsource2, #html5_poster { width: 240px }
-#width, #height { width: 40px }
-#src, #media_type { width: 250px }
-#class { width: 120px }
-#prev { margin: 0; border: 1px solid black; width: 380px; height: 260px; overflow: auto }
-.panel_wrapper div.current { height: 420px; overflow: auto }
-#flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options { display: none }
-.mceAddSelectValue { background-color: #DDDDDD }
-#qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume { width: 70px }
-#wmp_balance, #wmp_baseurl, #wmp_captioningid, #wmp_currentmarker, #wmp_currentposition, #wmp_defaultframe, #wmp_playcount, #wmp_rate, #wmp_uimode, #wmp_volume { width: 70px }
-#rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks { width: 70px }
-#shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle { width: 90px }
-#qt_qtsrc { width: 200px }
-iframe {border: 1px solid gray}
diff --git a/wp-includes/js/tinymce/plugins/media/editor_plugin.js b/wp-includes/js/tinymce/plugins/media/editor_plugin.js
deleted file mode 100644 (file)
index 9ac42e0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(){var b=tinymce.explode("id,name,width,height,style,align,class,hspace,vspace,bgcolor,type"),a=tinymce.makeMap(b.join(",")),f=tinymce.html.Node,d,i,h=tinymce.util.JSON,g;d=[["Flash","d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],["ShockWave","166b1bca-3f9c-11cf-8075-444553540000","application/x-director","http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0"],["WindowsMedia","6bf52a52-394a-11d3-b153-00c04f79faa6,22d6f312-b0f6-11d0-94ab-0080c74c7e95,05589fa1-c356-11ce-bf01-00aa0055595a","application/x-mplayer2","http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"],["QuickTime","02bf25d5-8c17-4b23-bc80-d3488abddc6b","video/quicktime","http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"],["RealMedia","cfcdaa03-8be4-11cf-b84b-0020afbbccfa","audio/x-pn-realaudio-plugin","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],["Java","8ad9c840-044e-11d1-b3e9-00805f499d93","application/x-java-applet","http://java.sun.com/products/plugin/autodl/jinstall-1_5_0-windows-i586.cab#Version=1,5,0,0"],["Silverlight","dfeaf541-f3e1-4c24-acac-99c30715084a","application/x-silverlight-2"],["Iframe"],["Video"],["EmbeddedAudio"],["Audio"]];function e(j){return typeof(j)=="string"?j.replace(/[^0-9%]/g,""):j}function c(m){var l,j,k;if(m&&!m.splice){j=[];for(k=0;true;k++){if(m[k]){j[k]=m[k]}else{break}}return j}return m}tinymce.create("tinymce.plugins.MediaPlugin",{init:function(n,j){var r=this,l={},m,p,q,k;function o(s){return s&&s.nodeName==="IMG"&&n.dom.hasClass(s,"mceItemMedia")}r.editor=n;r.url=j;i="";for(m=0;m<d.length;m++){k=d[m][0];q={name:k,clsids:tinymce.explode(d[m][1]||""),mimes:tinymce.explode(d[m][2]||""),codebase:d[m][3]};for(p=0;p<q.clsids.length;p++){l["clsid:"+q.clsids[p]]=q}for(p=0;p<q.mimes.length;p++){l[q.mimes[p]]=q}l["mceItem"+k]=q;l[k.toLowerCase()]=q;i+=(i?"|":"")+k}tinymce.each(n.getParam("media_types","video=mp4,m4v,ogv,webm;silverlight=xap;flash=swf,flv;shockwave=dcr;quicktime=mov,qt,mpg,mpeg;shockwave=dcr;windowsmedia=avi,wmv,wm,asf,asx,wmx,wvx;realmedia=rm,ra,ram;java=jar;audio=mp3,ogg").split(";"),function(v){var s,u,t;v=v.split(/=/);u=tinymce.explode(v[1].toLowerCase());for(s=0;s<u.length;s++){t=l[v[0].toLowerCase()];if(t){l[u[s]]=t}}});i=new RegExp("write("+i+")\\(([^)]+)\\)");r.lookup=l;n.onPreInit.add(function(){n.schema.addValidElements("object[id|style|width|height|classid|codebase|*],param[name|value],embed[id|style|width|height|type|src|*],video[*],audio[*],source[*]");n.parser.addNodeFilter("object,embed,video,audio,script,iframe",function(s){var t=s.length;while(t--){r.objectToImg(s[t])}});n.serializer.addNodeFilter("img",function(s,u,t){var v=s.length,w;while(v--){w=s[v];if((w.attr("class")||"").indexOf("mceItemMedia")!==-1){r.imgToObject(w,t)}}})});n.onInit.add(function(){if(n.theme&&n.theme.onResolveName){n.theme.onResolveName.add(function(s,t){if(t.name==="img"&&n.dom.hasClass(t.node,"mceItemMedia")){t.name="media"}})}if(n&&n.plugins.contextmenu){n.plugins.contextmenu.onContextMenu.add(function(t,u,s){if(s.nodeName==="IMG"&&s.className.indexOf("mceItemMedia")!==-1){u.add({title:"media.edit",icon:"media",cmd:"mceMedia"})}})}});n.addCommand("mceMedia",function(){var t,s;s=n.selection.getNode();if(o(s)){t=n.dom.getAttrib(s,"data-mce-json");if(t){t=h.parse(t);tinymce.each(b,function(u){var v=n.dom.getAttrib(s,u);if(v){t[u]=v}});t.type=r.getType(s.className).name.toLowerCase()}}if(!t){t={type:"flash",video:{sources:[]},params:{}}}n.windowManager.open({file:j+"/media.htm",width:430+parseInt(n.getLang("media.delta_width",0)),height:500+parseInt(n.getLang("media.delta_height",0)),inline:1},{plugin_url:j,data:t})});n.addButton("media",{title:"media.desc",cmd:"mceMedia"});n.onNodeChange.add(function(t,s,u){s.setActive("media",o(u))})},convertUrl:function(l,o){var k=this,n=k.editor,m=n.settings,p=m.url_converter,j=m.url_converter_scope||k;if(!l){return l}if(o){return n.documentBaseURI.toAbsolute(l)}return p.call(j,l,"src","object")},getInfo:function(){return{longname:"Media",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media",version:tinymce.majorVersion+"."+tinymce.minorVersion}},dataToImg:function(m,k){var r=this,o=r.editor,p=o.documentBaseURI,j,q,n,l;m.params.src=r.convertUrl(m.params.src,k);q=m.video.attrs;if(q){q.src=r.convertUrl(q.src,k)}if(q){q.poster=r.convertUrl(q.poster,k)}j=c(m.video.sources);if(j){for(l=0;l<j.length;l++){j[l].src=r.convertUrl(j[l].src,k)}}n=r.editor.dom.create("img",{id:m.id,style:m.style,align:m.align,hspace:m.hspace,vspace:m.vspace,src:r.editor.theme.url+"/img/trans.gif","class":"mceItemMedia mceItem"+r.getType(m.type).name,"data-mce-json":h.serialize(m,"'")});n.width=m.width=e(m.width||(m.type=="audio"?"300":"320"));n.height=m.height=e(m.height||(m.type=="audio"?"32":"240"));return n},dataToHtml:function(j,k){return this.editor.serializer.serialize(this.dataToImg(j,k),{forced_root_block:"",force_absolute:k})},htmlToData:function(l){var k,j,m;m={type:"flash",video:{sources:[]},params:{}};k=this.editor.parser.parse(l);j=k.getAll("img")[0];if(j){m=h.parse(j.attr("data-mce-json"));m.type=this.getType(j.attr("class")).name.toLowerCase();tinymce.each(b,function(n){var o=j.attr(n);if(o){m[n]=o}})}return m},getType:function(m){var k,j,l;j=tinymce.explode(m," ");for(k=0;k<j.length;k++){l=this.lookup[j[k]];if(l){return l}}},imgToObject:function(z,o){var u=this,p=u.editor,C,H,j,t,I,y,G,w,k,E,s,q,A,D,m,x,l,B,F;function r(n,J){var N,M,O,L,K;K=p.getParam("flash_video_player_url",u.convertUrl(u.url+"/moxieplayer.swf"));if(K){N=p.documentBaseURI;G.params.src=K;if(p.getParam("flash_video_player_absvideourl",true)){n=N.toAbsolute(n||"",true);J=N.toAbsolute(J||"",true)}O="";M=p.getParam("flash_video_player_flashvars",{url:"$url",poster:"$poster"});tinymce.each(M,function(Q,P){Q=Q.replace(/\$url/,n||"");Q=Q.replace(/\$poster/,J||"");if(Q.length>0){O+=(O?"&":"")+P+"="+escape(Q)}});if(O.length){G.params.flashvars=O}L=p.getParam("flash_video_player_params",{allowfullscreen:true,allowscriptaccess:true});tinymce.each(L,function(Q,P){G.params[P]=""+Q})}}G=z.attr("data-mce-json");if(!G){return}G=h.parse(G);q=this.getType(z.attr("class"));B=z.attr("data-mce-style");if(!B){B=z.attr("style");if(B){B=p.dom.serializeStyle(p.dom.parseStyle(B,"img"))}}G.width=z.attr("width")||G.width;G.height=z.attr("height")||G.height;if(q.name==="Iframe"){x=new f("iframe",1);tinymce.each(b,function(n){var J=z.attr(n);if(n=="class"&&J){J=J.replace(/mceItem.+ ?/g,"")}if(J&&J.length>0){x.attr(n,J)}});for(I in G.params){x.attr(I,G.params[I])}x.attr({style:B,src:G.params.src});z.replace(x);return}if(this.editor.settings.media_use_script){x=new f("script",1).attr("type","text/javascript");y=new f("#text",3);y.value="write"+q.name+"("+h.serialize(tinymce.extend(G.params,{width:z.attr("width"),height:z.attr("height")}))+");";x.append(y);z.replace(x);return}if(q.name==="Video"&&G.video.sources[0]){C=new f("video",1).attr(tinymce.extend({id:z.attr("id"),width:e(z.attr("width")),height:e(z.attr("height")),style:B},G.video.attrs));if(G.video.attrs){l=G.video.attrs.poster}k=G.video.sources=c(G.video.sources);for(A=0;A<k.length;A++){if(/\.mp4$/.test(k[A].src)){m=k[A].src}}if(!k[0].type){C.attr("src",k[0].src);k.splice(0,1)}for(A=0;A<k.length;A++){w=new f("source",1).attr(k[A]);w.shortEnded=true;C.append(w)}if(m){r(m,l);q=u.getType("flash")}else{G.params.src=""}}if(q.name==="Audio"&&G.video.sources[0]){F=new f("audio",1).attr(tinymce.extend({id:z.attr("id"),width:e(z.attr("width")),height:e(z.attr("height")),style:B},G.video.attrs));if(G.video.attrs){l=G.video.attrs.poster}k=G.video.sources=c(G.video.sources);if(!k[0].type){F.attr("src",k[0].src);k.splice(0,1)}for(A=0;A<k.length;A++){w=new f("source",1).attr(k[A]);w.shortEnded=true;F.append(w)}G.params.src=""}if(q.name==="EmbeddedAudio"){j=new f("embed",1);j.shortEnded=true;j.attr({id:z.attr("id"),width:e(z.attr("width")),height:e(z.attr("height")),style:B,type:z.attr("type")});for(I in G.params){j.attr(I,G.params[I])}tinymce.each(b,function(n){if(G[n]&&n!="type"){j.attr(n,G[n])}});G.params.src=""}if(G.params.src){if(/\.flv$/i.test(G.params.src)){r(G.params.src,"")}if(o&&o.force_absolute){G.params.src=p.documentBaseURI.toAbsolute(G.params.src)}H=new f("object",1).attr({id:z.attr("id"),width:e(z.attr("width")),height:e(z.attr("height")),style:B});tinymce.each(b,function(n){var J=G[n];if(n=="class"&&J){J=J.replace(/mceItem.+ ?/g,"")}if(J&&n!="type"){H.attr(n,J)}});for(I in G.params){s=new f("param",1);s.shortEnded=true;y=G.params[I];if(I==="src"&&q.name==="WindowsMedia"){I="url"}s.attr({name:I,value:y});H.append(s)}if(this.editor.getParam("media_strict",true)){H.attr({data:G.params.src,type:q.mimes[0]})}else{H.attr({classid:"clsid:"+q.clsids[0],codebase:q.codebase});j=new f("embed",1);j.shortEnded=true;j.attr({id:z.attr("id"),width:e(z.attr("width")),height:e(z.attr("height")),style:B,type:q.mimes[0]});for(I in G.params){j.attr(I,G.params[I])}tinymce.each(b,function(n){if(G[n]&&n!="type"){j.attr(n,G[n])}});H.append(j)}if(G.object_html){y=new f("#text",3);y.raw=true;y.value=G.object_html;H.append(y)}if(C){C.append(H)}}if(C){if(G.video_html){y=new f("#text",3);y.raw=true;y.value=G.video_html;C.append(y)}}if(F){if(G.video_html){y=new f("#text",3);y.raw=true;y.value=G.video_html;F.append(y)}}var v=C||F||H||j;if(v){z.replace(v)}else{z.remove()}},objectToImg:function(C){var L,k,F,s,M,N,y,A,x,G,E,t,q,I,B,l,K,o,H=this.lookup,m,z,v=this.editor.settings.url_converter,n=this.editor.settings.url_converter_scope,w,r,D,j;function u(O){return new tinymce.html.Serializer({inner:true,validate:false}).serialize(O)}function J(P,O){return H[(P.attr(O)||"").toLowerCase()]}function p(P){var O=P.replace(/^.*\.([^.]+)$/,"$1");return H[O.toLowerCase()||""]}if(!C.parent){return}if(C.name==="script"){if(C.firstChild){m=i.exec(C.firstChild.value)}if(!m){return}o=m[1];K={video:{},params:h.parse(m[2])};A=K.params.width;x=K.params.height}K=K||{video:{},params:{}};M=new f("img",1);M.attr({src:this.editor.theme.url+"/img/trans.gif"});N=C.name;if(N==="video"||N=="audio"){F=C;L=C.getAll("object")[0];k=C.getAll("embed")[0];A=F.attr("width");x=F.attr("height");y=F.attr("id");K.video={attrs:{},sources:[]};z=K.video.attrs;for(N in F.attributes.map){z[N]=F.attributes.map[N]}B=C.attr("src");if(B){K.video.sources.push({src:v.call(n,B,"src",C.name)})}l=F.getAll("source");for(E=0;E<l.length;E++){B=l[E].remove();K.video.sources.push({src:v.call(n,B.attr("src"),"src","source"),type:B.attr("type"),media:B.attr("media")})}if(z.poster){z.poster=v.call(n,z.poster,"poster",C.name)}}if(C.name==="object"){L=C;k=C.getAll("embed")[0]}if(C.name==="embed"){k=C}if(C.name==="iframe"){s=C;o="Iframe"}if(L){A=A||L.attr("width");x=x||L.attr("height");G=G||L.attr("style");y=y||L.attr("id");w=w||L.attr("hspace");r=r||L.attr("vspace");D=D||L.attr("align");j=j||L.attr("bgcolor");K.name=L.attr("name");I=L.getAll("param");for(E=0;E<I.length;E++){q=I[E];N=q.remove().attr("name");if(!a[N]){K.params[N]=q.attr("value")}}K.params.src=K.params.src||L.attr("data")}if(k){A=A||k.attr("width");x=x||k.attr("height");G=G||k.attr("style");y=y||k.attr("id");w=w||k.attr("hspace");r=r||k.attr("vspace");D=D||k.attr("align");j=j||k.attr("bgcolor");for(N in k.attributes.map){if(!a[N]&&!K.params[N]){K.params[N]=k.attributes.map[N]}}}if(s){A=e(s.attr("width"));x=e(s.attr("height"));G=G||s.attr("style");y=s.attr("id");w=s.attr("hspace");r=s.attr("vspace");D=s.attr("align");j=s.attr("bgcolor");tinymce.each(b,function(O){M.attr(O,s.attr(O))});for(N in s.attributes.map){if(!a[N]&&!K.params[N]){K.params[N]=s.attributes.map[N]}}}if(K.params.movie){K.params.src=K.params.src||K.params.movie;delete K.params.movie}if(K.params.src){K.params.src=v.call(n,K.params.src,"src","object")}if(F){if(C.name==="video"){o=H.video.name}else{if(C.name==="audio"){o=H.audio.name}}}if(L&&!o){o=(J(L,"clsid")||J(L,"classid")||J(L,"type")||{}).name}if(k&&!o){o=(J(k,"type")||p(K.params.src)||{}).name}if(k&&o=="EmbeddedAudio"){K.params.type=k.attr("type")}C.replace(M);if(k){k.remove()}if(L){t=u(L.remove());if(t){K.object_html=t}}if(F){t=u(F.remove());if(t){K.video_html=t}}K.hspace=w;K.vspace=r;K.align=D;K.bgcolor=j;M.attr({id:y,"class":"mceItemMedia mceItem"+(o||"Flash"),style:G,width:A||(C.name=="audio"?"300":"320"),height:x||(C.name=="audio"?"32":"240"),hspace:w,vspace:r,align:D,bgcolor:j,"data-mce-json":h.serialize(K,"'")})}});tinymce.PluginManager.add("media",tinymce.plugins.MediaPlugin)})();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/media/editor_plugin_src.js b/wp-includes/js/tinymce/plugins/media/editor_plugin_src.js
deleted file mode 100644 (file)
index 517ef48..0000000
+++ /dev/null
@@ -1,897 +0,0 @@
-/**
- * editor_plugin_src.js
- *
- * Copyright 2009, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
- */
-
-(function() {
-       var rootAttributes = tinymce.explode('id,name,width,height,style,align,class,hspace,vspace,bgcolor,type'), excludedAttrs = tinymce.makeMap(rootAttributes.join(',')), Node = tinymce.html.Node,
-               mediaTypes, scriptRegExp, JSON = tinymce.util.JSON, mimeTypes;
-
-       // Media types supported by this plugin
-       mediaTypes = [
-               // Type, clsid:s, mime types, codebase
-               ["Flash", "d27cdb6e-ae6d-11cf-96b8-444553540000", "application/x-shockwave-flash", "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],
-               ["ShockWave", "166b1bca-3f9c-11cf-8075-444553540000", "application/x-director", "http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0"],
-               ["WindowsMedia", "6bf52a52-394a-11d3-b153-00c04f79faa6,22d6f312-b0f6-11d0-94ab-0080c74c7e95,05589fa1-c356-11ce-bf01-00aa0055595a", "application/x-mplayer2", "http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"],
-               ["QuickTime", "02bf25d5-8c17-4b23-bc80-d3488abddc6b", "video/quicktime", "http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"],
-               ["RealMedia", "cfcdaa03-8be4-11cf-b84b-0020afbbccfa", "audio/x-pn-realaudio-plugin", "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],
-               ["Java", "8ad9c840-044e-11d1-b3e9-00805f499d93", "application/x-java-applet", "http://java.sun.com/products/plugin/autodl/jinstall-1_5_0-windows-i586.cab#Version=1,5,0,0"],
-               ["Silverlight", "dfeaf541-f3e1-4c24-acac-99c30715084a", "application/x-silverlight-2"],
-               ["Iframe"],
-               ["Video"],
-               ["EmbeddedAudio"],
-               ["Audio"]
-       ];
-
-       function normalizeSize(size) {
-               return typeof(size) == "string" ? size.replace(/[^0-9%]/g, '') : size;
-       }
-
-       function toArray(obj) {
-               var undef, out, i;
-
-               if (obj && !obj.splice) {
-                       out = [];
-
-                       for (i = 0; true; i++) {
-                               if (obj[i])
-                                       out[i] = obj[i];
-                               else
-                                       break;
-                       }
-
-                       return out;
-               }
-
-               return obj;
-       };
-
-       tinymce.create('tinymce.plugins.MediaPlugin', {
-               init : function(ed, url) {
-                       var self = this, lookup = {}, i, y, item, name;
-
-                       function isMediaImg(node) {
-                               return node && node.nodeName === 'IMG' && ed.dom.hasClass(node, 'mceItemMedia');
-                       };
-
-                       self.editor = ed;
-                       self.url = url;
-
-                       // Parse media types into a lookup table
-                       scriptRegExp = '';
-                       for (i = 0; i < mediaTypes.length; i++) {
-                               name = mediaTypes[i][0];
-
-                               item = {
-                                       name : name,
-                                       clsids : tinymce.explode(mediaTypes[i][1] || ''),
-                                       mimes : tinymce.explode(mediaTypes[i][2] || ''),
-                                       codebase : mediaTypes[i][3]
-                               };
-
-                               for (y = 0; y < item.clsids.length; y++)
-                                       lookup['clsid:' + item.clsids[y]] = item;
-
-                               for (y = 0; y < item.mimes.length; y++)
-                                       lookup[item.mimes[y]] = item;
-
-                               lookup['mceItem' + name] = item;
-                               lookup[name.toLowerCase()] = item;
-
-                               scriptRegExp += (scriptRegExp ? '|' : '') + name;
-                       }
-
-                       // Handle the media_types setting
-                       tinymce.each(ed.getParam("media_types",
-                               "video=mp4,m4v,ogv,webm;" +
-                               "silverlight=xap;" +
-                               "flash=swf,flv;" +
-                               "shockwave=dcr;" +
-                               "quicktime=mov,qt,mpg,mpeg;" +
-                               "shockwave=dcr;" +
-                               "windowsmedia=avi,wmv,wm,asf,asx,wmx,wvx;" +
-                               "realmedia=rm,ra,ram;" +
-                               "java=jar;" +
-                               "audio=mp3,ogg"
-                       ).split(';'), function(item) {
-                               var i, extensions, type;
-
-                               item = item.split(/=/);
-                               extensions = tinymce.explode(item[1].toLowerCase());
-                               for (i = 0; i < extensions.length; i++) {
-                                       type = lookup[item[0].toLowerCase()];
-
-                                       if (type)
-                                               lookup[extensions[i]] = type;
-                               }
-                       });
-
-                       scriptRegExp = new RegExp('write(' + scriptRegExp + ')\\(([^)]+)\\)');
-                       self.lookup = lookup;
-
-                       ed.onPreInit.add(function() {
-                               // Allow video elements
-                               ed.schema.addValidElements('object[id|style|width|height|classid|codebase|*],param[name|value],embed[id|style|width|height|type|src|*],video[*],audio[*],source[*]');
-
-                               // Convert video elements to image placeholder
-                               ed.parser.addNodeFilter('object,embed,video,audio,script,iframe', function(nodes) {
-                                       var i = nodes.length;
-
-                                       while (i--)
-                                               self.objectToImg(nodes[i]);
-                               });
-
-                               // Convert image placeholders to video elements
-                               ed.serializer.addNodeFilter('img', function(nodes, name, args) {
-                                       var i = nodes.length, node;
-
-                                       while (i--) {
-                                               node = nodes[i];
-                                               if ((node.attr('class') || '').indexOf('mceItemMedia') !== -1)
-                                                       self.imgToObject(node, args);
-                                       }
-                               });
-                       });
-
-                       ed.onInit.add(function() {
-                               // Display "media" instead of "img" in element path
-                               if (ed.theme && ed.theme.onResolveName) {
-                                       ed.theme.onResolveName.add(function(theme, path_object) {
-                                               if (path_object.name === 'img' && ed.dom.hasClass(path_object.node, 'mceItemMedia'))
-                                                       path_object.name = 'media';
-                                       });
-                               }
-
-                               // Add contect menu if it's loaded
-                               if (ed && ed.plugins.contextmenu) {
-                                       ed.plugins.contextmenu.onContextMenu.add(function(plugin, menu, element) {
-                                               if (element.nodeName === 'IMG' && element.className.indexOf('mceItemMedia') !== -1)
-                                                       menu.add({title : 'media.edit', icon : 'media', cmd : 'mceMedia'});
-                                       });
-                               }
-                       });
-
-                       // Register commands
-                       ed.addCommand('mceMedia', function() {
-                               var data, img;
-
-                               img = ed.selection.getNode();
-                               if (isMediaImg(img)) {
-                                       data = ed.dom.getAttrib(img, 'data-mce-json');
-                                       if (data) {
-                                               data = JSON.parse(data);
-
-                                               // Add some extra properties to the data object
-                                               tinymce.each(rootAttributes, function(name) {
-                                                       var value = ed.dom.getAttrib(img, name);
-
-                                                       if (value)
-                                                               data[name] = value;
-                                               });
-
-                                               data.type = self.getType(img.className).name.toLowerCase();
-                                       }
-                               }
-
-                               if (!data) {
-                                       data = {
-                                               type : 'flash',
-                                               video: {sources:[]},
-                                               params: {}
-                                       };
-                               }
-
-                               ed.windowManager.open({
-                                       file : url + '/media.htm',
-                                       width : 430 + parseInt(ed.getLang('media.delta_width', 0)),
-                                       height : 500 + parseInt(ed.getLang('media.delta_height', 0)),
-                                       inline : 1
-                               }, {
-                                       plugin_url : url,
-                                       data : data
-                               });
-                       });
-
-                       // Register buttons
-                       ed.addButton('media', {title : 'media.desc', cmd : 'mceMedia'});
-
-                       // Update media selection status
-                       ed.onNodeChange.add(function(ed, cm, node) {
-                               cm.setActive('media', isMediaImg(node));
-                       });
-               },
-
-               convertUrl : function(url, force_absolute) {
-                       var self = this, editor = self.editor, settings = editor.settings,
-                               urlConverter = settings.url_converter,
-                               urlConverterScope = settings.url_converter_scope || self;
-
-                       if (!url)
-                               return url;
-
-                       if (force_absolute)
-                               return editor.documentBaseURI.toAbsolute(url);
-
-                       return urlConverter.call(urlConverterScope, url, 'src', 'object');
-               },
-
-               getInfo : function() {
-                       return {
-                               longname : 'Media',
-                               author : 'Moxiecode Systems AB',
-                               authorurl : 'http://tinymce.moxiecode.com',
-                               infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media',
-                               version : tinymce.majorVersion + "." + tinymce.minorVersion
-                       };
-               },
-
-               /**
-                * Converts the JSON data object to an img node.
-                */
-               dataToImg : function(data, force_absolute) {
-                       var self = this, editor = self.editor, baseUri = editor.documentBaseURI, sources, attrs, img, i;
-
-                       data.params.src = self.convertUrl(data.params.src, force_absolute);
-
-                       attrs = data.video.attrs;
-                       if (attrs)
-                               attrs.src = self.convertUrl(attrs.src, force_absolute);
-
-                       if (attrs)
-                               attrs.poster = self.convertUrl(attrs.poster, force_absolute);
-
-                       sources = toArray(data.video.sources);
-                       if (sources) {
-                               for (i = 0; i < sources.length; i++)
-                                       sources[i].src = self.convertUrl(sources[i].src, force_absolute);
-                       }
-
-                       img = self.editor.dom.create('img', {
-                               id : data.id,
-                               style : data.style,
-                               align : data.align,
-                               hspace : data.hspace,
-                               vspace : data.vspace,
-                               src : self.editor.theme.url + '/img/trans.gif',
-                               'class' : 'mceItemMedia mceItem' + self.getType(data.type).name,
-                               'data-mce-json' : JSON.serialize(data, "'")
-                       });
-
-                       img.width = data.width = normalizeSize(data.width || (data.type == 'audio' ? "300" : "320"));
-                       img.height = data.height = normalizeSize(data.height || (data.type == 'audio' ? "32" : "240"));
-
-                       return img;
-               },
-
-               /**
-                * Converts the JSON data object to a HTML string.
-                */
-               dataToHtml : function(data, force_absolute) {
-                       return this.editor.serializer.serialize(this.dataToImg(data, force_absolute), {forced_root_block : '', force_absolute : force_absolute});
-               },
-
-               /**
-                * Converts the JSON data object to a HTML string.
-                */
-               htmlToData : function(html) {
-                       var fragment, img, data;
-
-                       data = {
-                               type : 'flash',
-                               video: {sources:[]},
-                               params: {}
-                       };
-
-                       fragment = this.editor.parser.parse(html);
-                       img = fragment.getAll('img')[0];
-
-                       if (img) {
-                               data = JSON.parse(img.attr('data-mce-json'));
-                               data.type = this.getType(img.attr('class')).name.toLowerCase();
-
-                               // Add some extra properties to the data object
-                               tinymce.each(rootAttributes, function(name) {
-                                       var value = img.attr(name);
-
-                                       if (value)
-                                               data[name] = value;
-                               });
-                       }
-
-                       return data;
-               },
-
-               /**
-                * Get type item by extension, class, clsid or mime type.
-                *
-                * @method getType
-                * @param {String} value Value to get type item by.
-                * @return {Object} Type item object or undefined.
-                */
-               getType : function(value) {
-                       var i, values, typeItem;
-
-                       // Find type by checking the classes
-                       values = tinymce.explode(value, ' ');
-                       for (i = 0; i < values.length; i++) {
-                               typeItem = this.lookup[values[i]];
-
-                               if (typeItem)
-                                       return typeItem;
-                       }
-               },
-
-               /**
-                * Converts a tinymce.html.Node image element to video/object/embed.
-                */
-               imgToObject : function(node, args) {
-                       var self = this, editor = self.editor, video, object, embed, iframe, name, value, data,
-                               source, sources, params, param, typeItem, i, item, mp4Source, replacement,
-                               posterSrc, style, audio;
-
-                       // Adds the flash player
-                       function addPlayer(video_src, poster_src) {
-                               var baseUri, flashVars, flashVarsOutput, params, flashPlayer;
-
-                               flashPlayer = editor.getParam('flash_video_player_url', self.convertUrl(self.url + '/moxieplayer.swf'));
-                               if (flashPlayer) {
-                                       baseUri = editor.documentBaseURI;
-                                       data.params.src = flashPlayer;
-
-                                       // Convert the movie url to absolute urls
-                                       if (editor.getParam('flash_video_player_absvideourl', true)) {
-                                               video_src = baseUri.toAbsolute(video_src || '', true);
-                                               poster_src = baseUri.toAbsolute(poster_src || '', true);
-                                       }
-
-                                       // Generate flash vars
-                                       flashVarsOutput = '';
-                                       flashVars = editor.getParam('flash_video_player_flashvars', {url : '$url', poster : '$poster'});
-                                       tinymce.each(flashVars, function(value, name) {
-                                               // Replace $url and $poster variables in flashvars value
-                                               value = value.replace(/\$url/, video_src || '');
-                                               value = value.replace(/\$poster/, poster_src || '');
-
-                                               if (value.length > 0)
-                                                       flashVarsOutput += (flashVarsOutput ? '&' : '') + name + '=' + escape(value);
-                                       });
-
-                                       if (flashVarsOutput.length)
-                                               data.params.flashvars = flashVarsOutput;
-
-                                       params = editor.getParam('flash_video_player_params', {
-                                               allowfullscreen: true,
-                                               allowscriptaccess: true
-                                       });
-
-                                       tinymce.each(params, function(value, name) {
-                                               data.params[name] = "" + value;
-                                       });
-                               }
-                       };
-
-                       data = node.attr('data-mce-json');
-                       if (!data)
-                               return;
-
-                       data = JSON.parse(data);
-                       typeItem = this.getType(node.attr('class'));
-
-                       style = node.attr('data-mce-style');
-                       if (!style) {
-                               style = node.attr('style');
-
-                               if (style)
-                                       style = editor.dom.serializeStyle(editor.dom.parseStyle(style, 'img'));
-                       }
-
-                       // Use node width/height to override the data width/height when the placeholder is resized
-                       data.width = node.attr('width') || data.width;
-                       data.height = node.attr('height') || data.height;
-
-                       // Handle iframe
-                       if (typeItem.name === 'Iframe') {
-                               replacement = new Node('iframe', 1);
-
-                               tinymce.each(rootAttributes, function(name) {
-                                       var value = node.attr(name);
-
-                                       if (name == 'class' && value)
-                                               value = value.replace(/mceItem.+ ?/g, '');
-
-                                       if (value && value.length > 0)
-                                               replacement.attr(name, value);
-                               });
-
-                               for (name in data.params)
-                                       replacement.attr(name, data.params[name]);
-
-                               replacement.attr({
-                                       style: style,
-                                       src: data.params.src
-                               });
-
-                               node.replace(replacement);
-
-                               return;
-                       }
-
-                       // Handle scripts
-                       if (this.editor.settings.media_use_script) {
-                               replacement = new Node('script', 1).attr('type', 'text/javascript');
-
-                               value = new Node('#text', 3);
-                               value.value = 'write' + typeItem.name + '(' + JSON.serialize(tinymce.extend(data.params, {
-                                       width: node.attr('width'),
-                                       height: node.attr('height')
-                               })) + ');';
-
-                               replacement.append(value);
-                               node.replace(replacement);
-
-                               return;
-                       }
-
-                       // Add HTML5 video element
-                       if (typeItem.name === 'Video' && data.video.sources && data.video.sources[0]) {
-                               // Create new object element
-                               video = new Node('video', 1).attr(tinymce.extend({
-                                       id : node.attr('id'),
-                                       width: normalizeSize(node.attr('width')),
-                                       height: normalizeSize(node.attr('height')),
-                                       style : style
-                               }, data.video.attrs));
-
-                               // Get poster source and use that for flash fallback
-                               if (data.video.attrs)
-                                       posterSrc = data.video.attrs.poster;
-
-                               sources = data.video.sources = toArray(data.video.sources);
-                               for (i = 0; i < sources.length; i++) {
-                                       if (/\.mp4$/.test(sources[i].src))
-                                               mp4Source = sources[i].src;
-                               }
-
-                               if (!sources[0].type) {
-                                       video.attr('src', sources[0].src);
-                                       sources.splice(0, 1);
-                               }
-
-                               for (i = 0; i < sources.length; i++) {
-                                       source = new Node('source', 1).attr(sources[i]);
-                                       source.shortEnded = true;
-                                       video.append(source);
-                               }
-
-                               // Create flash fallback for video if we have a mp4 source
-                               if (mp4Source) {
-                                       addPlayer(mp4Source, posterSrc);
-                                       typeItem = self.getType('flash');
-                               } else
-                                       data.params.src = '';
-                       }
-
-                       // Add HTML5 audio element
-                       if (typeItem.name === 'Audio' && data.video.sources && data.video.sources[0]) {
-                               // Create new object element
-                               audio = new Node('audio', 1).attr(tinymce.extend({
-                                       id : node.attr('id'),
-                                       width: normalizeSize(node.attr('width')),
-                                       height: normalizeSize(node.attr('height')),
-                                       style : style
-                               }, data.video.attrs));
-
-                               // Get poster source and use that for flash fallback
-                               if (data.video.attrs)
-                                       posterSrc = data.video.attrs.poster;
-
-                               sources = data.video.sources = toArray(data.video.sources);
-                               if (!sources[0].type) {
-                                       audio.attr('src', sources[0].src);
-                                       sources.splice(0, 1);
-                               }
-
-                               for (i = 0; i < sources.length; i++) {
-                                       source = new Node('source', 1).attr(sources[i]);
-                                       source.shortEnded = true;
-                                       audio.append(source);
-                               }
-
-                               data.params.src = '';
-                       }
-
-                       if (typeItem.name === 'EmbeddedAudio') {
-                               embed = new Node('embed', 1);
-                               embed.shortEnded = true;
-                               embed.attr({
-                                       id: node.attr('id'),
-                                       width: normalizeSize(node.attr('width')),
-                                       height: normalizeSize(node.attr('height')),
-                                       style : style,
-                                       type: node.attr('type')
-                               });
-
-                               for (name in data.params)
-                                       embed.attr(name, data.params[name]);
-
-                               tinymce.each(rootAttributes, function(name) {
-                                       if (data[name] && name != 'type')
-                                               embed.attr(name, data[name]);
-                               });
-
-                               data.params.src = '';
-                       }
-
-                       // Do we have a params src then we can generate object
-                       if (data.params.src) {
-                               // Is flv movie add player for it
-                               if (/\.flv$/i.test(data.params.src))
-                                       addPlayer(data.params.src, '');
-
-                               if (args && args.force_absolute)
-                                       data.params.src = editor.documentBaseURI.toAbsolute(data.params.src);
-
-                               // Create new object element
-                               object = new Node('object', 1).attr({
-                                       id : node.attr('id'),
-                                       width: normalizeSize(node.attr('width')),
-                                       height: normalizeSize(node.attr('height')),
-                                       style : style
-                               });
-
-                               tinymce.each(rootAttributes, function(name) {
-                                       var value = data[name];
-
-                                       if (name == 'class' && value)
-                                               value = value.replace(/mceItem.+ ?/g, '');
-
-                                       if (value && name != 'type')
-                                               object.attr(name, value);
-                               });
-
-                               // Add params
-                               for (name in data.params) {
-                                       param = new Node('param', 1);
-                                       param.shortEnded = true;
-                                       value = data.params[name];
-
-                                       // Windows media needs to use url instead of src for the media URL
-                                       if (name === 'src' && typeItem.name === 'WindowsMedia')
-                                               name = 'url';
-
-                                       param.attr({name: name, value: value});
-                                       object.append(param);
-                               }
-
-                               // Setup add type and classid if strict is disabled
-                               if (this.editor.getParam('media_strict', true)) {
-                                       object.attr({
-                                               data: data.params.src,
-                                               type: typeItem.mimes[0]
-                                       });
-                               } else {
-                                       if ( typeItem.clsids )
-                                               object.attr('clsid', typeItem.clsids[0]);
-                                       object.attr('codebase', typeItem.codebase);
-
-                                       embed = new Node('embed', 1);
-                                       embed.shortEnded = true;
-                                       embed.attr({
-                                               id: node.attr('id'),
-                                               width: normalizeSize(node.attr('width')),
-                                               height: normalizeSize(node.attr('height')),
-                                               style : style,
-                                               type: typeItem.mimes[0]
-                                       });
-
-                                       for (name in data.params)
-                                               embed.attr(name, data.params[name]);
-
-                                       tinymce.each(rootAttributes, function(name) {
-                                               if (data[name] && name != 'type')
-                                                       embed.attr(name, data[name]);
-                                       });
-
-                                       object.append(embed);
-                               }
-
-                               // Insert raw HTML
-                               if (data.object_html) {
-                                       value = new Node('#text', 3);
-                                       value.raw = true;
-                                       value.value = data.object_html;
-                                       object.append(value);
-                               }
-
-                               // Append object to video element if it exists
-                               if (video)
-                                       video.append(object);
-                       }
-
-                       if (video) {
-                               // Insert raw HTML
-                               if (data.video_html) {
-                                       value = new Node('#text', 3);
-                                       value.raw = true;
-                                       value.value = data.video_html;
-                                       video.append(value);
-                               }
-                       }
-
-                       if (audio) {
-                               // Insert raw HTML
-                               if (data.video_html) {
-                                       value = new Node('#text', 3);
-                                       value.raw = true;
-                                       value.value = data.video_html;
-                                       audio.append(value);
-                               }
-                       }
-
-                       var n = video || audio || object || embed;
-                       if (n)
-                               node.replace(n);
-                       else
-                               node.remove();
-               },
-
-               /**
-                * Converts a tinymce.html.Node video/object/embed to an img element.
-                *
-                * The video/object/embed will be converted into an image placeholder with a JSON data attribute like this:
-                * <img class="mceItemMedia mceItemFlash" width="100" height="100" data-mce-json="{..}" />
-                *
-                * The JSON structure will be like this:
-                * {'params':{'flashvars':'something','quality':'high','src':'someurl'}, 'video':{'sources':[{src: 'someurl', type: 'video/mp4'}]}}
-                */
-               objectToImg : function(node) {
-                       var object, embed, video, iframe, img, name, id, width, height, style, i, html,
-                               param, params, source, sources, data, type, lookup = this.lookup,
-                               matches, attrs, urlConverter = this.editor.settings.url_converter,
-                               urlConverterScope = this.editor.settings.url_converter_scope,
-                               hspace, vspace, align, bgcolor;
-
-                       function getInnerHTML(node) {
-                               return new tinymce.html.Serializer({
-                                       inner: true,
-                                       validate: false
-                               }).serialize(node);
-                       };
-
-                       function lookupAttribute(o, attr) {
-                               return lookup[(o.attr(attr) || '').toLowerCase()];
-                       }
-
-                       function lookupExtension(src) {
-                               var ext = src.replace(/^.*\.([^.]+)$/, '$1');
-                               return lookup[ext.toLowerCase() || ''];
-                       }
-
-                       // If node isn't in document
-                       if (!node.parent)
-                               return;
-
-                       // Handle media scripts
-                       if (node.name === 'script') {
-                               if (node.firstChild)
-                                       matches = scriptRegExp.exec(node.firstChild.value);
-
-                               if (!matches)
-                                       return;
-
-                               type = matches[1];
-                               data = {video : {}, params : JSON.parse(matches[2])};
-                               width = data.params.width;
-                               height = data.params.height;
-                       }
-
-                       // Setup data objects
-                       data = data || {
-                               video : {},
-                               params : {}
-                       };
-
-                       // Setup new image object
-                       img = new Node('img', 1);
-                       img.attr({
-                               src : this.editor.theme.url + '/img/trans.gif'
-                       });
-
-                       // Video element
-                       name = node.name;
-                       if (name === 'video' || name == 'audio') {
-                               video = node;
-                               object = node.getAll('object')[0];
-                               embed = node.getAll('embed')[0];
-                               width = video.attr('width');
-                               height = video.attr('height');
-                               id = video.attr('id');
-                               data.video = {attrs : {}, sources : []};
-
-                               // Get all video attributes
-                               attrs = data.video.attrs;
-                               for (name in video.attributes.map)
-                                       attrs[name] = video.attributes.map[name];
-
-                               source = node.attr('src');
-                               if (source)
-                                       data.video.sources.push({src : urlConverter.call(urlConverterScope, source, 'src', node.name)});
-
-                               // Get all sources
-                               sources = video.getAll("source");
-                               for (i = 0; i < sources.length; i++) {
-                                       source = sources[i].remove();
-
-                                       data.video.sources.push({
-                                               src: urlConverter.call(urlConverterScope, source.attr('src'), 'src', 'source'),
-                                               type: source.attr('type'),
-                                               media: source.attr('media')
-                                       });
-                               }
-
-                               // Convert the poster URL
-                               if (attrs.poster)
-                                       attrs.poster = urlConverter.call(urlConverterScope, attrs.poster, 'poster', node.name);
-                       }
-
-                       // Object element
-                       if (node.name === 'object') {
-                               object = node;
-                               embed = node.getAll('embed')[0];
-                       }
-
-                       // Embed element
-                       if (node.name === 'embed')
-                               embed = node;
-
-                       // Iframe element
-                       if (node.name === 'iframe') {
-                               iframe = node;
-                               type = 'Iframe';
-                       }
-
-                       if (object) {
-                               // Get width/height
-                               width = width || object.attr('width');
-                               height = height || object.attr('height');
-                               style = style || object.attr('style');
-                               id = id || object.attr('id');
-                               hspace = hspace || object.attr('hspace');
-                               vspace = vspace || object.attr('vspace');
-                               align = align || object.attr('align');
-                               bgcolor = bgcolor || object.attr('bgcolor');
-                               data.name = object.attr('name');
-
-                               // Get all object params
-                               params = object.getAll("param");
-                               for (i = 0; i < params.length; i++) {
-                                       param = params[i];
-                                       name = param.remove().attr('name');
-
-                                       if (!excludedAttrs[name])
-                                               data.params[name] = param.attr('value');
-                               }
-
-                               data.params.src = data.params.src || object.attr('data');
-                       }
-
-                       if (embed) {
-                               // Get width/height
-                               width = width || embed.attr('width');
-                               height = height || embed.attr('height');
-                               style = style || embed.attr('style');
-                               id = id || embed.attr('id');
-                               hspace = hspace || embed.attr('hspace');
-                               vspace = vspace || embed.attr('vspace');
-                               align = align || embed.attr('align');
-                               bgcolor = bgcolor || embed.attr('bgcolor');
-
-                               // Get all embed attributes
-                               for (name in embed.attributes.map) {
-                                       if (!excludedAttrs[name] && !data.params[name])
-                                               data.params[name] = embed.attributes.map[name];
-                               }
-                       }
-
-                       if (iframe) {
-                               // Get width/height
-                               width = normalizeSize(iframe.attr('width'));
-                               height = normalizeSize(iframe.attr('height'));
-                               style = style || iframe.attr('style');
-                               id = iframe.attr('id');
-                               hspace = iframe.attr('hspace');
-                               vspace = iframe.attr('vspace');
-                               align = iframe.attr('align');
-                               bgcolor = iframe.attr('bgcolor');
-
-                               tinymce.each(rootAttributes, function(name) {
-                                       img.attr(name, iframe.attr(name));
-                               });
-
-                               // Get all iframe attributes
-                               for (name in iframe.attributes.map) {
-                                       if (!excludedAttrs[name] && !data.params[name])
-                                               data.params[name] = iframe.attributes.map[name];
-                               }
-                       }
-
-                       // Use src not movie
-                       if (data.params.movie) {
-                               data.params.src = data.params.src || data.params.movie;
-                               delete data.params.movie;
-                       }
-
-                       // Convert the URL to relative/absolute depending on configuration
-                       if (data.params.src)
-                               data.params.src = urlConverter.call(urlConverterScope, data.params.src, 'src', 'object');
-
-                       if (video) {
-                               if (node.name === 'video')
-                                       type = lookup.video.name;
-                               else if (node.name === 'audio')
-                                       type = lookup.audio.name;
-                       }
-
-                       if (object && !type)
-                               type = (lookupAttribute(object, 'clsid') || lookupAttribute(object, 'classid') || lookupAttribute(object, 'type') || {}).name;
-
-                       if (embed && !type)
-                               type = (lookupAttribute(embed, 'type') || lookupExtension(data.params.src) || {}).name;
-
-                       // for embedded audio we preserve the original specified type
-                       if (embed && type == 'EmbeddedAudio') {
-                               data.params.type = embed.attr('type');
-                       }
-
-                       // Replace the video/object/embed element with a placeholder image containing the data
-                       node.replace(img);
-
-                       // Remove embed
-                       if (embed)
-                               embed.remove();
-
-                       // Serialize the inner HTML of the object element
-                       if (object) {
-                               html = getInnerHTML(object.remove());
-
-                               if (html)
-                                       data.object_html = html;
-                       }
-
-                       // Serialize the inner HTML of the video element
-                       if (video) {
-                               html = getInnerHTML(video.remove());
-
-                               if (html)
-                                       data.video_html = html;
-                       }
-
-                       data.hspace = hspace;
-                       data.vspace = vspace;
-                       data.align = align;
-                       data.bgcolor = bgcolor;
-
-                       // Set width/height of placeholder
-                       img.attr({
-                               id : id,
-                               'class' : 'mceItemMedia mceItem' + (type || 'Flash'),
-                               style : style,
-                               width : width || (node.name == 'audio' ? "300" : "320"),
-                               height : height || (node.name == 'audio' ? "32" : "240"),
-                               hspace : hspace,
-                               vspace : vspace,
-                               align : align,
-                               bgcolor : bgcolor,
-                               "data-mce-json" : JSON.serialize(data, "'")
-                       });
-               }
-       });
-
-       // Register plugin
-       tinymce.PluginManager.add('media', tinymce.plugins.MediaPlugin);
-})();
diff --git a/wp-includes/js/tinymce/plugins/media/js/embed.js b/wp-includes/js/tinymce/plugins/media/js/embed.js
deleted file mode 100644 (file)
index 6fe25de..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
- */
-
-function writeFlash(p) {
-       writeEmbed(
-               'D27CDB6E-AE6D-11cf-96B8-444553540000',
-               'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
-               'application/x-shockwave-flash',
-               p
-       );
-}
-
-function writeShockWave(p) {
-       writeEmbed(
-       '166B1BCA-3F9C-11CF-8075-444553540000',
-       'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
-       'application/x-director',
-               p
-       );
-}
-
-function writeQuickTime(p) {
-       writeEmbed(
-               '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
-               'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
-               'video/quicktime',
-               p
-       );
-}
-
-function writeRealMedia(p) {
-       writeEmbed(
-               'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
-               'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
-               'audio/x-pn-realaudio-plugin',
-               p
-       );
-}
-
-function writeWindowsMedia(p) {
-       p.url = p.src;
-       writeEmbed(
-               '6BF52A52-394A-11D3-B153-00C04F79FAA6',
-               'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
-               'application/x-mplayer2',
-               p
-       );
-}
-
-function writeEmbed(cls, cb, mt, p) {
-       var h = '', n;
-
-       h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
-       h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
-       h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
-       h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
-       h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
-       h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
-       h += '>';
-
-       for (n in p)
-               h += '<param name="' + n + '" value="' + p[n] + '">';
-
-       h += '<embed type="' + mt + '"';
-
-       for (n in p)
-               h += n + '="' + p[n] + '" ';
-
-       h += '></embed></object>';
-
-       document.write(h);
-}
diff --git a/wp-includes/js/tinymce/plugins/media/js/media.js b/wp-includes/js/tinymce/plugins/media/js/media.js
deleted file mode 100644 (file)
index b21abb5..0000000
+++ /dev/null
@@ -1,513 +0,0 @@
-(function() {
-       var url;
-
-       if (url = tinyMCEPopup.getParam("media_external_list_url"))
-               document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>');
-
-       function get(id) {
-               return document.getElementById(id);
-       }
-
-       function clone(obj) {
-               var i, len, copy, attr;
-
-               if (null == obj || "object" != typeof obj)
-                       return obj;
-
-               // Handle Array
-               if ('length' in obj) {
-                       copy = [];
-
-                       for (i = 0, len = obj.length; i < len; ++i) {
-                               copy[i] = clone(obj[i]);
-                       }
-
-                       return copy;
-               }
-
-               // Handle Object
-               copy = {};
-               for (attr in obj) {
-                       if (obj.hasOwnProperty(attr))
-                               copy[attr] = clone(obj[attr]);
-               }
-
-               return copy;
-       }
-
-       function getVal(id) {
-               var elm = get(id);
-
-               if (elm.nodeName == "SELECT")
-                       return elm.options[elm.selectedIndex].value;
-
-               if (elm.type == "checkbox")
-                       return elm.checked;
-
-               return elm.value;
-       }
-
-       function setVal(id, value, name) {
-               if (typeof(value) != 'undefined' && value != null) {
-                       var elm = get(id);
-
-                       if (elm.nodeName == "SELECT")
-                               selectByValue(document.forms[0], id, value);
-                       else if (elm.type == "checkbox") {
-                               if (typeof(value) == 'string') {
-                                       value = value.toLowerCase();
-                                       value = (!name && value === 'true') || (name && value === name.toLowerCase());
-                               }
-                               elm.checked = !!value;
-                       } else
-                               elm.value = value;
-               }
-       }
-
-       window.Media = {
-               init : function() {
-                       var html, editor, self = this;
-
-                       self.editor = editor = tinyMCEPopup.editor;
-
-                       // Setup file browsers and color pickers
-                       get('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media');
-                       get('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','quicktime_qtsrc','media','media');
-                       get('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
-                       get('video_altsource1_filebrowser').innerHTML = getBrowserHTML('video_filebrowser_altsource1','video_altsource1','media','media');
-                       get('video_altsource2_filebrowser').innerHTML = getBrowserHTML('video_filebrowser_altsource2','video_altsource2','media','media');
-                       get('audio_altsource1_filebrowser').innerHTML = getBrowserHTML('audio_filebrowser_altsource1','audio_altsource1','media','media');
-                       get('audio_altsource2_filebrowser').innerHTML = getBrowserHTML('audio_filebrowser_altsource2','audio_altsource2','media','media');
-                       get('video_poster_filebrowser').innerHTML = getBrowserHTML('filebrowser_poster','video_poster','image','media');
-
-                       html = self.getMediaListHTML('medialist', 'src', 'media', 'media');
-                       if (html == "")
-                               get("linklistrow").style.display = 'none';
-                       else
-                               get("linklistcontainer").innerHTML = html;
-
-                       if (isVisible('filebrowser'))
-                               get('src').style.width = '230px';
-
-                       if (isVisible('video_filebrowser_altsource1'))
-                               get('video_altsource1').style.width = '220px';
-
-                       if (isVisible('video_filebrowser_altsource2'))
-                               get('video_altsource2').style.width = '220px';
-
-                       if (isVisible('audio_filebrowser_altsource1'))
-                               get('audio_altsource1').style.width = '220px';
-
-                       if (isVisible('audio_filebrowser_altsource2'))
-                               get('audio_altsource2').style.width = '220px';
-
-                       if (isVisible('filebrowser_poster'))
-                               get('video_poster').style.width = '220px';
-
-                       editor.dom.setOuterHTML(get('media_type'), self.getMediaTypeHTML(editor));
-
-                       self.setDefaultDialogSettings(editor);
-                       self.data = clone(tinyMCEPopup.getWindowArg('data'));
-                       self.dataToForm();
-                       self.preview();
-
-                       updateColor('bgcolor_pick', 'bgcolor');
-               },
-
-               insert : function() {
-                       var editor = tinyMCEPopup.editor;
-
-                       this.formToData();
-                       editor.execCommand('mceRepaint');
-                       tinyMCEPopup.restoreSelection();
-                       editor.selection.setNode(editor.plugins.media.dataToImg(this.data));
-                       tinyMCEPopup.close();
-               },
-
-               preview : function() {
-                       get('prev').innerHTML = this.editor.plugins.media.dataToHtml(this.data, true);
-               },
-
-               moveStates : function(to_form, field) {
-                       var data = this.data, editor = this.editor,
-                               mediaPlugin = editor.plugins.media, ext, src, typeInfo, defaultStates, src;
-
-                       defaultStates = {
-                               // QuickTime
-                               quicktime_autoplay : true,
-                               quicktime_controller : true,
-
-                               // Flash
-                               flash_play : true,
-                               flash_loop : true,
-                               flash_menu : true,
-
-                               // WindowsMedia
-                               windowsmedia_autostart : true,
-                               windowsmedia_enablecontextmenu : true,
-                               windowsmedia_invokeurls : true,
-
-                               // RealMedia
-                               realmedia_autogotourl : true,
-                               realmedia_imagestatus : true
-                       };
-
-                       function parseQueryParams(str) {
-                               var out = {};
-
-                               if (str) {
-                                       tinymce.each(str.split('&'), function(item) {
-                                               var parts = item.split('=');
-
-                                               out[unescape(parts[0])] = unescape(parts[1]);
-                                       });
-                               }
-
-                               return out;
-                       };
-
-                       function setOptions(type, names) {
-                               var i, name, formItemName, value, list;
-
-                               if (type == data.type || type == 'global') {
-                                       names = tinymce.explode(names);
-                                       for (i = 0; i < names.length; i++) {
-                                               name = names[i];
-                                               formItemName = type == 'global' ? name : type + '_' + name;
-
-                                               if (type == 'global')
-                                               list = data;
-                                       else if (type == 'video' || type == 'audio') {
-                                                       list = data.video.attrs;
-
-                                                       if (!list && !to_form)
-                                                       data.video.attrs = list = {};
-                                               } else
-                                               list = data.params;
-
-                                               if (list) {
-                                                       if (to_form) {
-                                                               setVal(formItemName, list[name], type == 'video' || type == 'audio' ? name : '');
-                                                       } else {
-                                                               delete list[name];
-
-                                                               value = getVal(formItemName);
-                                                               if ((type == 'video' || type == 'audio') && value === true)
-                                                                       value = name;
-
-                                                               if (defaultStates[formItemName]) {
-                                                                       if (value !== defaultStates[formItemName]) {
-                                                                               value = "" + value;
-                                                                               list[name] = value;
-                                                                       }
-                                                               } else if (value) {
-                                                                       value = "" + value;
-                                                                       list[name] = value;
-                                                               }
-                                                       }
-                                               }
-                                       }
-                               }
-                       }
-
-                       if (!to_form) {
-                               data.type = get('media_type').options[get('media_type').selectedIndex].value;
-                               data.width = getVal('width');
-                               data.height = getVal('height');
-
-                               // Switch type based on extension
-                               src = getVal('src');
-                               if (field == 'src') {
-                                       ext = src.replace(/^.*\.([^.]+)$/, '$1');
-                                       if (typeInfo = mediaPlugin.getType(ext))
-                                               data.type = typeInfo.name.toLowerCase();
-
-                                       setVal('media_type', data.type);
-                               }
-
-                               if (data.type == "video" || data.type == "audio") {
-                                       if (!data.video.sources)
-                                               data.video.sources = [];
-
-                                       data.video.sources[0] = {src: getVal('src')};
-                               }
-                       }
-
-                       // Hide all fieldsets and show the one active
-                       get('video_options').style.display = 'none';
-                       get('audio_options').style.display = 'none';
-                       get('flash_options').style.display = 'none';
-                       get('quicktime_options').style.display = 'none';
-                       get('shockwave_options').style.display = 'none';
-                       get('windowsmedia_options').style.display = 'none';
-                       get('realmedia_options').style.display = 'none';
-                       get('embeddedaudio_options').style.display = 'none';
-
-                       if (get(data.type + '_options'))
-                               get(data.type + '_options').style.display = 'block';
-
-                       setVal('media_type', data.type);
-
-                       setOptions('flash', 'play,loop,menu,swliveconnect,quality,scale,salign,wmode,base,flashvars');
-                       setOptions('quicktime', 'loop,autoplay,cache,controller,correction,enablejavascript,kioskmode,autohref,playeveryframe,targetcache,scale,starttime,endtime,target,qtsrcchokespeed,volume,qtsrc');
-                       setOptions('shockwave', 'sound,progress,autostart,swliveconnect,swvolume,swstretchstyle,swstretchhalign,swstretchvalign');
-                       setOptions('windowsmedia', 'autostart,enabled,enablecontextmenu,fullscreen,invokeurls,mute,stretchtofit,windowlessvideo,balance,baseurl,captioningid,currentmarker,currentposition,defaultframe,playcount,rate,uimode,volume');
-                       setOptions('realmedia', 'autostart,loop,autogotourl,center,imagestatus,maintainaspect,nojava,prefetch,shuffle,console,controls,numloop,scriptcallbacks');
-                       setOptions('video', 'poster,autoplay,loop,muted,preload,controls');
-                       setOptions('audio', 'autoplay,loop,preload,controls');
-                       setOptions('embeddedaudio', 'autoplay,loop,controls');
-                       setOptions('global', 'id,name,vspace,hspace,bgcolor,align,width,height');
-
-                       if (to_form) {
-                               if (data.type == 'video') {
-                                       if (data.video.sources[0])
-                                               setVal('src', data.video.sources[0].src);
-
-                                       src = data.video.sources[1];
-                                       if (src)
-                                               setVal('video_altsource1', src.src);
-
-                                       src = data.video.sources[2];
-                                       if (src)
-                                               setVal('video_altsource2', src.src);
-                } else if (data.type == 'audio') {
-                    if (data.video.sources[0])
-                        setVal('src', data.video.sources[0].src);
-                    
-                    src = data.video.sources[1];
-                    if (src)
-                        setVal('audio_altsource1', src.src);
-                    
-                    src = data.video.sources[2];
-                    if (src)
-                        setVal('audio_altsource2', src.src);
-                               } else {
-                                       // Check flash vars
-                                       if (data.type == 'flash') {
-                                               tinymce.each(editor.getParam('flash_video_player_flashvars', {url : '$url', poster : '$poster'}), function(value, name) {
-                                                       if (value == '$url')
-                                                               data.params.src = parseQueryParams(data.params.flashvars)[name] || data.params.src || '';
-                                               });
-                                       }
-
-                                       setVal('src', data.params.src);
-                               }
-                       } else {
-                               src = getVal("src");
-
-                               // YouTube Embed
-                               if (src.match(/youtube\.com\/embed\/\w+/)) {
-                                       data.width = 425;
-                                       data.height = 350;
-                                       data.params.frameborder = '0';
-                                       data.type = 'iframe';
-                                       setVal('src', src);
-                                       setVal('media_type', data.type);
-                               } else {
-                                       // YouTube *NEW*
-                                       if (src.match(/youtu\.be\/[a-z1-9.-_]+/)) {
-                                               data.width = 425;
-                                               data.height = 350;
-                                               data.params.frameborder = '0';
-                                               data.type = 'iframe';
-                                               src = 'http://www.youtube.com/embed/' + src.match(/youtu.be\/([a-z1-9.-_]+)/)[1];
-                                               setVal('src', src);
-                                               setVal('media_type', data.type);
-                                       }
-
-                                       // YouTube
-                                       if (src.match(/youtube\.com(.+)v=([^&]+)/)) {
-                                               data.width = 425;
-                                               data.height = 350;
-                                               data.params.frameborder = '0';
-                                               data.type = 'iframe';
-                                               src = 'http://www.youtube.com/embed/' + src.match(/v=([^&]+)/)[1];
-                                               setVal('src', src);
-                                               setVal('media_type', data.type);
-                                       }
-                               }
-
-                               // Google video
-                               if (src.match(/video\.google\.com(.+)docid=([^&]+)/)) {
-                                       data.width = 425;
-                                       data.height = 326;
-                                       data.type = 'flash';
-                                       src = 'http://video.google.com/googleplayer.swf?docId=' + src.match(/docid=([^&]+)/)[1] + '&hl=en';
-                                       setVal('src', src);
-                                       setVal('media_type', data.type);
-                               }
-                               
-                               // Vimeo
-                               if (src.match(/vimeo\.com\/([0-9]+)/)) {
-                                       data.width = 425;
-                                       data.height = 350;
-                                       data.params.frameborder = '0';
-                                       data.type = 'iframe';
-                                       src = 'http://player.vimeo.com/video/' + src.match(/vimeo.com\/([0-9]+)/)[1];
-                                       setVal('src', src);
-                                       setVal('media_type', data.type);
-                               }
-            
-                               // stream.cz
-                               if (src.match(/stream\.cz\/((?!object).)*\/([0-9]+)/)) {
-                                       data.width = 425;
-                                       data.height = 350;
-                                       data.params.frameborder = '0';
-                                       data.type = 'iframe';
-                                       src = 'http://www.stream.cz/object/' + src.match(/stream.cz\/[^/]+\/([0-9]+)/)[1];
-                                       setVal('src', src);
-                                       setVal('media_type', data.type);
-                               }
-                               
-                               // Google maps
-                               if (src.match(/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/)) {
-                                       data.width = 425;
-                                       data.height = 350;
-                                       data.params.frameborder = '0';
-                                       data.type = 'iframe';
-                                       src = 'http://maps.google.com/maps/ms?msid=' + src.match(/msid=(.+)/)[1] + "&output=embed";
-                                       setVal('src', src);
-                                       setVal('media_type', data.type);
-                               }
-
-                               if (data.type == 'video') {
-                                       if (!data.video.sources)
-                                               data.video.sources = [];
-
-                                       data.video.sources[0] = {src : src};
-
-                                       src = getVal("video_altsource1");
-                                       if (src)
-                                               data.video.sources[1] = {src : src};
-
-                                       src = getVal("video_altsource2");
-                                       if (src)
-                                               data.video.sources[2] = {src : src};
-                } else if (data.type == 'audio') {
-                    if (!data.video.sources)
-                        data.video.sources = [];
-                    
-                    data.video.sources[0] = {src : src};
-                    
-                    src = getVal("audio_altsource1");
-                    if (src)
-                        data.video.sources[1] = {src : src};
-                    
-                    src = getVal("audio_altsource2");
-                    if (src)
-                        data.video.sources[2] = {src : src};
-                               } else
-                                       data.params.src = src;
-
-                               // Set default size
-                setVal('width', data.width || (data.type == 'audio' ? 300 : 320));
-                setVal('height', data.height || (data.type == 'audio' ? 32 : 240));
-                       }
-               },
-
-               dataToForm : function() {
-                       this.moveStates(true);
-               },
-
-               formToData : function(field) {
-                       if (field == "width" || field == "height")
-                               this.changeSize(field);
-
-                       if (field == 'source') {
-                               this.moveStates(false, field);
-                               setVal('source', this.editor.plugins.media.dataToHtml(this.data));
-                               this.panel = 'source';
-                       } else {
-                               if (this.panel == 'source') {
-                                       this.data = clone(this.editor.plugins.media.htmlToData(getVal('source')));
-                                       this.dataToForm();
-                                       this.panel = '';
-                               }
-
-                               this.moveStates(false, field);
-                               this.preview();
-                       }
-               },
-
-               beforeResize : function() {
-            this.width = parseInt(getVal('width') || (this.data.type == 'audio' ? "300" : "320"), 10);
-            this.height = parseInt(getVal('height') || (this.data.type == 'audio' ? "32" : "240"), 10);
-               },
-
-               changeSize : function(type) {
-                       var width, height, scale, size;
-
-                       if (get('constrain').checked) {
-                width = parseInt(getVal('width') || (this.data.type == 'audio' ? "300" : "320"), 10);
-                height = parseInt(getVal('height') || (this.data.type == 'audio' ? "32" : "240"), 10);
-
-                               if (type == 'width') {
-                                       this.height = Math.round((width / this.width) * height);
-                                       setVal('height', this.height);
-                               } else {
-                                       this.width = Math.round((height / this.height) * width);
-                                       setVal('width', this.width);
-                               }
-                       }
-               },
-
-               getMediaListHTML : function() {
-                       if (typeof(tinyMCEMediaList) != "undefined" && tinyMCEMediaList.length > 0) {
-                               var html = "";
-
-                               html += '<select id="linklist" name="linklist" style="width: 250px" onchange="this.form.src.value=this.options[this.selectedIndex].value;Media.formToData(\'src\');">';
-                               html += '<option value="">---</option>';
-
-                               for (var i=0; i<tinyMCEMediaList.length; i++)
-                                       html += '<option value="' + tinyMCEMediaList[i][1] + '">' + tinyMCEMediaList[i][0] + '</option>';
-
-                               html += '</select>';
-
-                               return html;
-                       }
-
-                       return "";
-               },
-
-               getMediaTypeHTML : function(editor) {
-                       function option(media_type, element) {
-                               if (!editor.schema.getElementRule(element || media_type)) {
-                                       return '';
-                               }
-
-                               return '<option value="'+media_type+'">'+tinyMCEPopup.editor.translate("media_dlg."+media_type)+'</option>'
-                       }
-
-                       var html = "";
-
-                       html += '<select id="media_type" name="media_type" onchange="Media.formToData(\'type\');">';
-                       html += option("video");
-                       html += option("audio");
-                       html += option("flash", "object");
-                       html += option("quicktime", "object");
-                       html += option("shockwave", "object");
-                       html += option("windowsmedia", "object");
-                       html += option("realmedia", "object");
-                       html += option("iframe");
-
-                       if (editor.getParam('media_embedded_audio', false)) {
-                               html += option('embeddedaudio', "object");
-                       }
-
-                       html += '</select>';
-                       return html;
-               },
-
-               setDefaultDialogSettings : function(editor) {
-                       var defaultDialogSettings = editor.getParam("media_dialog_defaults", {});
-                       tinymce.each(defaultDialogSettings, function(v, k) {
-                               setVal(k, v);
-                       });
-               }
-       };
-
-       tinyMCEPopup.requireLangPack();
-       tinyMCEPopup.onInit.add(function() {
-               Media.init();
-       });
-})();
diff --git a/wp-includes/js/tinymce/plugins/media/media.htm b/wp-includes/js/tinymce/plugins/media/media.htm
deleted file mode 100644 (file)
index 9a3684a..0000000
+++ /dev/null
@@ -1,922 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <title>{#media_dlg.title}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=359-20131010"></script>
-       <script type="text/javascript" src="js/media.js?ver=359-20131010"></script>
-       <script type="text/javascript" src="../../utils/mctabs.js?ver=359-20131010"></script>
-       <script type="text/javascript" src="../../utils/validate.js?ver=359-20131010"></script>
-       <script type="text/javascript" src="../../utils/form_utils.js?ver=359-20131010"></script>
-       <script type="text/javascript" src="../../utils/editable_selects.js?ver=359-20131010"></script>
-       <link href="css/media.css?ver=359-20131010" rel="stylesheet" type="text/css" />
-</head>
-<body style="display: none" role="application">
-<form onsubmit="Media.insert();return false;" action="#">
-               <div class="tabs" role="presentation">
-                       <ul>
-                               <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');Media.formToData();" onmousedown="return false;">{#media_dlg.general}</a></span></li>
-                               <li id="advanced_tab" aria-controls="advanced_panel"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');Media.formToData();" onmousedown="return false;">{#media_dlg.advanced}</a></span></li>
-                               <li id="source_tab" aria-controls="source_panel"><span><a href="javascript:mcTabs.displayTab('source_tab','source_panel');Media.formToData('source');" onmousedown="return false;">{#media_dlg.source}</a></span></li>
-                       </ul>
-               </div>
-
-               <div class="panel_wrapper">
-                       <div id="general_panel" class="panel current">
-                               <fieldset>
-                                       <legend>{#media_dlg.general}</legend>
-
-                                       <table role="presentation" border="0" cellpadding="4" cellspacing="0">
-                                                       <tr>
-                                                               <td><label for="media_type">{#media_dlg.type}</label></td>
-                                                               <td>
-                                                                       <select id="media_type"></select>
-                                                               </td>
-                                                       </tr>
-                                                       <tr>
-                                                       <td><label for="src">{#media_dlg.file}</label></td>
-                                                               <td>
-                                                                       <table role="presentation" border="0" cellspacing="0" cellpadding="0">
-                                                                       <tr>
-                                                                               <td><input id="src" name="src" type="text" value="" class="mceFocus" onchange="Media.formToData();" /></td>
-                                                                               <td id="filebrowsercontainer">&nbsp;</td>
-                                                                       </tr>
-                                                                       </table>
-                                                               </td>
-                                                       </tr>
-                                                       <tr id="linklistrow">
-                                                               <td><label for="linklist">{#media_dlg.list}</label></td>
-                                                               <td id="linklistcontainer"><select id="linklist"><option value=""></option></select></td>
-                                                       </tr>
-                                                       <tr>
-                                                               <td><label for="width">{#media_dlg.size}</label></td>
-                                                               <td>
-                                                                       <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                               <tr>
-                                                                                       <td><input type="text" id="width" name="width" value="" class="size" onchange="Media.formToData('width');" onfocus="Media.beforeResize();" /> x <input type="text" id="height" name="height" value="" class="size" onfocus="Media.beforeResize();" onchange="Media.formToData('height');" /></td>
-                                                                                       <td>&nbsp;&nbsp;<input id="constrain" type="checkbox" name="constrain" class="checkbox" checked="checked" /></td>
-                                                                                       <td><label id="constrainlabel" for="constrain">{#media_dlg.constrain_proportions}</label></td>
-                                                                               </tr>
-                                                                       </table>
-                                                               </td>
-                                                       </tr>
-                                       </table>
-                               </fieldset>
-
-                               <fieldset>
-                                       <legend>{#media_dlg.preview}</legend>
-                                       <div id="prev"></div>
-                               </fieldset>
-                       </div>
-
-                       <div id="advanced_panel" class="panel">
-                               <fieldset>
-                                       <legend>{#media_dlg.advanced}</legend>
-
-                                       <table role="presentation" border="0" cellpadding="4" cellspacing="0" width="100%">
-                                               <tr>
-                                                       <td><label for="id">{#media_dlg.id}</label></td>
-                                                       <td><input type="text" id="id" name="id" onchange="Media.formToData();" /></td>
-                                                       <td><label for="name">{#media_dlg.name}</label></td>
-                                                       <td><input type="text" id="name" name="name" onchange="Media.formToData();" /></td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="align">{#media_dlg.align}</label></td>
-                                                       <td>
-                                                               <select id="align" name="align" onchange="Media.formToData();">
-                                                                       <option value="">{#not_set}</option> 
-                                                                       <option value="top">{#media_dlg.align_top}</option>
-                                                                       <option value="right">{#media_dlg.align_right}</option>
-                                                                       <option value="bottom">{#media_dlg.align_bottom}</option>
-                                                                       <option value="left">{#media_dlg.align_left}</option>
-                                                               </select>
-                                                       </td>
-
-                                                       <td><label for="bgcolor">{#media_dlg.bgcolor}</label></td>
-                                                       <td>
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');Media.formToData();" /></td>
-                                                                               <td id="bgcolor_pickcontainer">&nbsp;</td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="vspace">{#media_dlg.vspace}</label></td>
-                                                       <td><input type="text" id="vspace" name="vspace" class="number" onchange="Media.formToData();" /></td>
-                                                       <td><label for="hspace">{#media_dlg.hspace}</label></td>
-                                                       <td><input type="text" id="hspace" name="hspace" class="number" onchange="Media.formToData();" /></td>
-                                               </tr>
-                                       </table>
-                               </fieldset>
-
-                               <fieldset id="video_options">
-                                       <legend>{#media_dlg.html5_video_options}</legend>
-
-                                       <table role="presentation">
-                                               <tr>
-                                                       <td><label for="video_altsource1">{#media_dlg.altsource1}</label></td>
-                                                       <td>
-                                                               <table role="presentation" border="0" cellspacing="0" cellpadding="0">
-                                                                       <tr>
-                                                                               <td><input type="text" id="video_altsource1" name="video_altsource1" onchange="Media.formToData();" style="width: 240px" /></td>
-                                                                               <td id="video_altsource1_filebrowser">&nbsp;</td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="video_altsource2">{#media_dlg.altsource2}</label></td>
-                                                       <td>
-                                                               <table role="presentation" border="0" cellspacing="0" cellpadding="0">
-                                                                       <tr>
-                                                                               <td><input type="text" id="video_altsource2" name="video_altsource2" onchange="Media.formToData();" style="width: 240px" /></td>
-                                                                               <td id="video_altsource2_filebrowser">&nbsp;</td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="video_poster">{#media_dlg.poster}</label></td>
-                                                       <td>
-                                                               <table role="presentation" border="0" cellspacing="0" cellpadding="0">
-                                                                       <tr>
-                                                                               <td><input type="text" id="video_poster" name="video_poster" onchange="Media.formToData();" style="width: 240px" /></td>
-                                                                               <td id="video_poster_filebrowser">&nbsp;</td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="video_preload">{#media_dlg.preload}</label></td>
-                                                       <td>
-                                                               <select id="video_preload" name="video_preload" onchange="Media.formToData();">
-                                                                       <option value="none">{#media_dlg.preload_none}</option> 
-                                                                       <option value="metadata">{#media_dlg.preload_metadata}</option>
-                                                                       <option value="auto">{#media_dlg.preload_auto}</option>
-                                                               </select>
-                                                       </td>
-                                               </tr>
-                                       </table>
-
-                                       <table role="presentation" border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td>
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="video_autoplay" name="video_autoplay" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="video_autoplay">{#media_dlg.play}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td>
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="video_muted" name="video_muted" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="video_muted">{#media_dlg.mute}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td>
-                                                                       <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                                       <tr>
-                                                                                                       <td><input type="checkbox" class="checkbox" id="video_loop" name="video_loop" onchange="Media.formToData();" /></td>
-                                                                                                       <td><label for="video_loop">{#media_dlg.loop}</label></td>
-                                                                                       </tr>
-                                                                       </table>
-                                                       </td>
-
-                                                       <td>
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="video_controls" name="video_controls" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="video_controls">{#media_dlg.controls}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-                                       </table>
-                               </fieldset>
-
-                               <fieldset id="embeddedaudio_options">
-                                       <legend>{#media_dlg.embedded_audio_options}</legend>
-
-                                       <table role="presentation" border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td>
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="embeddedaudio_autoplay" name="audio_autoplay" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="audio_autoplay">{#media_dlg.play}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td>
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="embeddedaudio_loop" name="audio_loop" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="audio_loop">{#media_dlg.loop}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td>
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="embeddedaudio_controls" name="audio_controls" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="audio_controls">{#media_dlg.controls}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-                                       </table>
-                               </fieldset>
-
-                               <fieldset id="audio_options">
-                                       <legend>{#media_dlg.html5_audio_options}</legend>
-
-                                       <table role="presentation">
-                                               <tr>
-                                                       <td><label for="audio_altsource1">{#media_dlg.altsource1}</label></td>
-                                                       <td>
-                                                               <table role="presentation" border="0" cellspacing="0" cellpadding="0">
-                                                                       <tr>
-                                                                               <td><input type="text" id="audio_altsource1" name="audio_altsource1" onchange="Media.formToData();" style="width: 240px" /></td>
-                                                                               <td id="audio_altsource1_filebrowser">&nbsp;</td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="audio_altsource2">{#media_dlg.altsource2}</label></td>
-                                                       <td>
-                                                               <table role="presentation" border="0" cellspacing="0" cellpadding="0">
-                                                                       <tr>
-                                                                               <td><input type="text" id="audio_altsource2" name="audio_altsource2" onchange="Media.formToData();" style="width: 240px" /></td>
-                                                                               <td id="audio_altsource2_filebrowser">&nbsp;</td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="audio_preload">{#media_dlg.preload}</label></td>
-                                                       <td>
-                                                               <select id="audio_preload" name="audio_preload" onchange="Media.formToData();">
-                                                                       <option value="none">{#media_dlg.preload_none}</option>
-                                                                       <option value="metadata">{#media_dlg.preload_metadata}</option>
-                                                                       <option value="auto">{#media_dlg.preload_auto}</option>
-                                                               </select>
-                                                       </td>
-                                               </tr>
-                                       </table>
-
-                                       <table role="presentation" border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td>
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="audio_autoplay" name="audio_autoplay" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="audio_autoplay">{#media_dlg.play}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td>
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="audio_loop" name="audio_loop" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="audio_loop">{#media_dlg.loop}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td>
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="audio_controls" name="audio_controls" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="audio_controls">{#media_dlg.controls}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-                                       </table>
-                               </fieldset>
-
-                               <fieldset id="flash_options">
-                                       <legend>{#media_dlg.flash_options}</legend>
-
-                                       <table role="presentation" border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td><label for="flash_quality">{#media_dlg.quality}</label></td>
-                                                       <td>
-                                                               <select id="flash_quality" name="flash_quality" onchange="Media.formToData();">
-                                                                       <option value="">{#not_set}</option> 
-                                                                       <option value="high">high</option>
-                                                                       <option value="low">low</option>
-                                                                       <option value="autolow">autolow</option>
-                                                                       <option value="autohigh">autohigh</option>
-                                                                       <option value="best">best</option>
-                                                               </select>
-                                                       </td>
-
-                                                       <td><label for="flash_scale">{#media_dlg.scale}</label></td>
-                                                       <td>
-                                                               <select id="flash_scale" name="flash_scale" onchange="Media.formToData();">
-                                                                       <option value="">{#not_set}</option> 
-                                                                       <option value="showall">showall</option>
-                                                                       <option value="noborder">noborder</option>
-                                                                       <option value="exactfit">exactfit</option>
-                                                                       <option value="noscale">noscale</option>
-                                                               </select>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="flash_wmode">{#media_dlg.wmode}</label></td>
-                                                       <td>
-                                                               <select id="flash_wmode" name="flash_wmode" onchange="Media.formToData();">
-                                                                       <option value="">{#not_set}</option> 
-                                                                       <option value="window">window</option>
-                                                                       <option value="opaque">opaque</option>
-                                                                       <option value="transparent">transparent</option>
-                                                               </select>
-                                                       </td>
-
-                                                       <td><label for="flash_salign">{#media_dlg.salign}</label></td>
-                                                       <td>
-                                                               <select id="flash_salign" name="flash_salign" onchange="Media.formToData();">
-                                                                       <option value="">{#not_set}</option> 
-                                                                       <option value="l">{#media_dlg.align_left}</option>
-                                                                       <option value="t">{#media_dlg.align_top}</option>
-                                                                       <option value="r">{#media_dlg.align_right}</option>
-                                                                       <option value="b">{#media_dlg.align_bottom}</option>
-                                                                       <option value="tl">{#media_dlg.align_top_left}</option>
-                                                                       <option value="tr">{#media_dlg.align_top_right}</option>
-                                                                       <option value="bl">{#media_dlg.align_bottom_left}</option>
-                                                                       <option value="br">{#media_dlg.align_bottom_right}</option>
-                                                               </select>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="flash_play" name="flash_play" checked="checked" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="flash_play">{#media_dlg.play}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="flash_loop" name="flash_loop" checked="checked" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="flash_loop">{#media_dlg.loop}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="flash_menu" name="flash_menu" checked="checked" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="flash_menu">{#media_dlg.menu}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="flash_swliveconnect" name="flash_swliveconnect" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="flash_swliveconnect">{#media_dlg.liveconnect}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-                                       </table>
-
-                                       <table role="presentation">
-                                               <tr>
-                                                       <td><label for="flash_base">{#media_dlg.base}</label></td>
-                                                       <td><input type="text" id="flash_base" name="flash_base" onchange="Media.formToData();" /></td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="flash_flashvars">{#media_dlg.flashvars}</label></td>
-                                                       <td><input type="text" id="flash_flashvars" name="flash_flashvars" onchange="Media.formToData();" /></td>
-                                               </tr>
-                                       </table>
-                               </fieldset>
-
-                               <fieldset id="quicktime_options">
-                                       <legend>{#media_dlg.qt_options}</legend>
-
-                                       <table role="presentation" border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="quicktime_loop" name="quicktime_loop" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="quicktime_loop">{#media_dlg.loop}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="quicktime_autoplay" name="quicktime_autoplay" checked="checked" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="quicktime_autoplay">{#media_dlg.play}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="quicktime_cache" name="quicktime_cache" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="quicktime_cache">{#media_dlg.cache}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="quicktime_controller" name="quicktime_controller" checked="checked" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="quicktime_controller">{#media_dlg.controller}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="quicktime_correction" name="quicktime_correction" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="quicktime_correction">{#media_dlg.correction}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="quicktime_enablejavascript" name="quicktime_enablejavascript" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="quicktime_enablejavascript">{#media_dlg.enablejavascript}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="quicktime_kioskmode" name="quicktime_kioskmode" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="quicktime_kioskmode">{#media_dlg.kioskmode}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="quicktime_autohref" name="quicktime_autohref" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="quicktime_autohref">{#media_dlg.autohref}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="quicktime_playeveryframe" name="quicktime_playeveryframe" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="quicktime_playeveryframe">{#media_dlg.playeveryframe}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="quicktime_targetcache" name="quicktime_targetcache" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="quicktime_targetcache">{#media_dlg.targetcache}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="quicktime_scale">{#media_dlg.scale}</label></td>
-                                                       <td><select id="quicktime_scale" name="quicktime_scale" class="mceEditableSelect" onchange="Media.formToData();">
-                                                                       <option value="">{#not_set}</option> 
-                                                                       <option value="tofit">tofit</option>
-                                                                       <option value="aspect">aspect</option>
-                                                               </select>
-                                                       </td>
-
-                                                       <td colspan="2">&nbsp;</td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="quicktime_starttime">{#media_dlg.starttime}</label></td>
-                                                       <td><input type="text" id="quicktime_starttime" name="quicktime_starttime" onchange="Media.formToData();" /></td>
-
-                                                       <td><label for="quicktime_endtime">{#media_dlg.endtime}</label></td>
-                                                       <td><input type="text" id="quicktime_endtime" name="quicktime_endtime" onchange="Media.formToData();" /></td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="quicktime_target">{#media_dlg.target}</label></td>
-                                                       <td><input type="text" id="quicktime_target" name="quicktime_target" onchange="Media.formToData();" /></td>
-
-                                                       <td><label for="quicktime_href">{#media_dlg.href}</label></td>
-                                                       <td><input type="text" id="quicktime_href" name="quicktime_href" onchange="Media.formToData();" /></td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="quicktime_qtsrcchokespeed">{#media_dlg.qtsrcchokespeed}</label></td>
-                                                       <td><input type="text" id="quicktime_qtsrcchokespeed" name="quicktime_qtsrcchokespeed" onchange="Media.formToData();" /></td>
-
-                                                       <td><label for="quicktime_volume">{#media_dlg.volume}</label></td>
-                                                       <td><input type="text" id="quicktime_volume" name="quicktime_volume" onchange="Media.formToData();" /></td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="quicktime_qtsrc">{#media_dlg.qtsrc}</label></td>
-                                                       <td colspan="4">
-                                                               <table role="presentation" border="0" cellspacing="0" cellpadding="0">
-                                                                       <tr>
-                                                                               <td><input type="text" id="quicktime_qtsrc" name="quicktime_qtsrc" onchange="Media.formToData();" /></td>
-                                                                               <td id="qtsrcfilebrowsercontainer">&nbsp;</td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-                                       </table>
-                               </fieldset>
-
-                               <fieldset id="windowsmedia_options">
-                                       <legend>{#media_dlg.wmp_options}</legend>
-
-                                       <table role="presentation" border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="windowsmedia_autostart" name="windowsmedia_autostart" checked="checked" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="windowsmedia_autostart">{#media_dlg.autostart}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="windowsmedia_enabled" name="windowsmedia_enabled" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="windowsmedia_enabled">{#media_dlg.enabled}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="windowsmedia_enablecontextmenu" name="windowsmedia_enablecontextmenu" checked="checked" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="windowsmedia_enablecontextmenu">{#media_dlg.menu}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="windowsmedia_fullscreen" name="windowsmedia_fullscreen" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="windowsmedia_fullscreen">{#media_dlg.fullscreen}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="windowsmedia_invokeurls" name="windowsmedia_invokeurls" checked="checked" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="windowsmedia_invokeurls">{#media_dlg.invokeurls}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="windowsmedia_mute" name="windowsmedia_mute" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="windowsmedia_mute">{#media_dlg.mute}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="windowsmedia_stretchtofit" name="windowsmedia_stretchtofit" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="windowsmedia_stretchtofit">{#media_dlg.stretchtofit}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="windowsmedia_windowlessvideo" name="windowsmedia_windowlessvideo" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="windowsmedia_windowlessvideo">{#media_dlg.windowlessvideo}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="windowsmedia_balance">{#media_dlg.balance}</label></td>
-                                                       <td><input type="text" id="windowsmedia_balance" name="windowsmedia_balance" onchange="Media.formToData();" /></td>
-
-                                                       <td><label for="windowsmedia_baseurl">{#media_dlg.baseurl}</label></td>
-                                                       <td><input type="text" id="windowsmedia_baseurl" name="windowsmedia_baseurl" onchange="Media.formToData();" /></td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="windowsmedia_captioningid">{#media_dlg.captioningid}</label></td>
-                                                       <td><input type="text" id="windowsmedia_captioningid" name="windowsmedia_captioningid" onchange="Media.formToData();" /></td>
-
-                                                       <td><label for="windowsmedia_currentmarker">{#media_dlg.currentmarker}</label></td>
-                                                       <td><input type="text" id="windowsmedia_currentmarker" name="windowsmedia_currentmarker" onchange="Media.formToData();" /></td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="windowsmedia_currentposition">{#media_dlg.currentposition}</label></td>
-                                                       <td><input type="text" id="windowsmedia_currentposition" name="windowsmedia_currentposition" onchange="Media.formToData();" /></td>
-
-                                                       <td><label for="windowsmedia_defaultframe">{#media_dlg.defaultframe}</label></td>
-                                                       <td><input type="text" id="windowsmedia_defaultframe" name="windowsmedia_defaultframe" onchange="Media.formToData();" /></td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="windowsmedia_playcount">{#media_dlg.playcount}</label></td>
-                                                       <td><input type="text" id="windowsmedia_playcount" name="windowsmedia_playcount" onchange="Media.formToData();" /></td>
-
-                                                       <td><label for="windowsmedia_rate">{#media_dlg.rate}</label></td>
-                                                       <td><input type="text" id="windowsmedia_rate" name="windowsmedia_rate" onchange="Media.formToData();" /></td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="windowsmedia_uimode">{#media_dlg.uimode}</label></td>
-                                                       <td><input type="text" id="windowsmedia_uimode" name="windowsmedia_uimode" onchange="Media.formToData();" /></td>
-
-                                                       <td><label for="windowsmedia_volume">{#media_dlg.volume}</label></td>
-                                                       <td><input type="text" id="windowsmedia_volume" name="windowsmedia_volume" onchange="Media.formToData();" /></td>
-                                               </tr>
-
-                                       </table>
-                               </fieldset>
-
-                               <fieldset id="realmedia_options">
-                                       <legend>{#media_dlg.rmp_options}</legend>
-
-                                       <table role="presentation" border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="realmedia_autostart" name="realmedia_autostart" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="realmedia_autostart">{#media_dlg.autostart}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="realmedia_loop" name="realmedia_loop" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="realmedia_loop">{#media_dlg.loop}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="realmedia_autogotourl" name="realmedia_autogotourl" checked="checked" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="realmedia_autogotourl">{#media_dlg.autogotourl}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="realmedia_center" name="realmedia_center" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="realmedia_center">{#media_dlg.center}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="realmedia_imagestatus" name="realmedia_imagestatus" checked="checked" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="realmedia_imagestatus">{#media_dlg.imagestatus}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="realmedia_maintainaspect" name="realmedia_maintainaspect" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="realmedia_maintainaspect">{#media_dlg.maintainaspect}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="realmedia_nojava" name="realmedia_nojava" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="realmedia_nojava">{#media_dlg.nojava}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="realmedia_prefetch" name="realmedia_prefetch" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="realmedia_prefetch">{#media_dlg.prefetch}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="realmedia_shuffle" name="realmedia_shuffle" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="realmedia_shuffle">{#media_dlg.shuffle}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               &nbsp;
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="realmedia_console">{#media_dlg.console}</label></td>
-                                                       <td><input type="text" id="realmedia_console" name="realmedia_console" onchange="Media.formToData();" /></td>
-
-                                                       <td><label for="realmedia_controls">{#media_dlg.controls}</label></td>
-                                                       <td><input type="text" id="realmedia_controls" name="realmedia_controls" onchange="Media.formToData();" /></td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="realmedia_numloop">{#media_dlg.numloop}</label></td>
-                                                       <td><input type="text" id="realmedia_numloop" name="realmedia_numloop" onchange="Media.formToData();" /></td>
-
-                                                       <td><label for="realmedia_scriptcallbacks">{#media_dlg.scriptcallbacks}</label></td>
-                                                       <td><input type="text" id="realmedia_scriptcallbacks" name="realmedia_scriptcallbacks" onchange="Media.formToData();" /></td>
-                                               </tr>
-                                       </table>
-                               </fieldset>
-
-                               <fieldset id="shockwave_options">
-                                       <legend>{#media_dlg.shockwave_options}</legend>
-
-                                       <table role="presentation" border="0" cellpadding="4" cellspacing="0">
-                                               <tr>
-                                                       <td><label for="shockwave_swstretchstyle">{#media_dlg.swstretchstyle}</label></td>
-                                                       <td>
-                                                               <select id="shockwave_swstretchstyle" name="shockwave_swstretchstyle" onchange="Media.formToData();">
-                                                                       <option value="none">{#not_set}</option>
-                                                                       <option value="meet">Meet</option>
-                                                                       <option value="fill">Fill</option>
-                                                                       <option value="stage">Stage</option>
-                                                               </select>
-                                                       </td>
-
-                                                       <td><label for="shockwave_swvolume">{#media_dlg.volume}</label></td>
-                                                       <td><input type="text" id="shockwave_swvolume" name="shockwave_swvolume" onchange="Media.formToData();" /></td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td><label for="shockwave_swstretchhalign">{#media_dlg.swstretchhalign}</label></td>
-                                                       <td>
-                                                               <select id="shockwave_swstretchhalign" name="shockwave_swstretchhalign" onchange="Media.formToData();">
-                                                                       <option value="none">{#not_set}</option>
-                                                                       <option value="left">{#media_dlg.align_left}</option>
-                                                                       <option value="center">{#media_dlg.align_center}</option>
-                                                                       <option value="right">{#media_dlg.align_right}</option>
-                                                               </select>
-                                                       </td>
-
-                                                       <td><label for="shockwave_swstretchvalign">{#media_dlg.swstretchvalign}</label></td>
-                                                       <td>
-                                                               <select id="shockwave_swstretchvalign" name="shockwave_swstretchvalign" onchange="Media.formToData();">
-                                                                       <option value="none">{#not_set}</option>
-                                                                       <option value="meet">Meet</option>
-                                                                       <option value="fill">Fill</option>
-                                                                       <option value="stage">Stage</option>
-                                                               </select>
-                                                       </td>
-                                               </tr>
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="shockwave_autostart" name="shockwave_autostart" onchange="Media.formToData();" checked="checked" /></td>
-                                                                               <td><label for="shockwave_autostart">{#media_dlg.autostart}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="shockwave_sound" name="shockwave_sound" onchange="Media.formToData();" checked="checked" /></td>
-                                                                               <td><label for="shockwave_sound">{#media_dlg.sound}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-
-
-                                               <tr>
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="shockwave_swliveconnect" name="shockwave_swliveconnect" onchange="Media.formToData();" /></td>
-                                                                               <td><label for="shockwave_swliveconnect">{#media_dlg.liveconnect}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-
-                                                       <td colspan="2">
-                                                               <table role="presentation" border="0" cellpadding="0" cellspacing="0">
-                                                                       <tr>
-                                                                               <td><input type="checkbox" class="checkbox" id="shockwave_progress" name="shockwave_progress" onchange="Media.formToData();" checked="checked" /></td>
-                                                                               <td><label for="shockwave_progress">{#media_dlg.progress}</label></td>
-                                                                       </tr>
-                                                               </table>
-                                                       </td>
-                                               </tr>
-                                       </table>
-                               </fieldset>
-                       </div>
-
-                       <div id="source_panel" class="panel">
-                               <fieldset>
-                                       <legend>{#media_dlg.source}</legend>
-                                       <textarea id="source" style="width: 99%; height: 390px"></textarea>
-                               </fieldset>
-                       </div>
-               </div>
-
-               <div class="mceActionPanel">
-                       <input type="submit" id="insert" name="insert" value="{#insert}" />
-                       <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
-               </div>
-       </form>
-</body>
-</html>
index 585d772d6d3c23626fddfa58c4220b056783e148..19c771bea50c6665fe0ee5f46515e9686427dbc7 100644 (file)
Binary files a/wp-includes/js/tinymce/plugins/media/moxieplayer.swf and b/wp-includes/js/tinymce/plugins/media/moxieplayer.swf differ
diff --git a/wp-includes/js/tinymce/plugins/media/plugin.js b/wp-includes/js/tinymce/plugins/media/plugin.js
new file mode 100644 (file)
index 0000000..a97d5a0
--- /dev/null
@@ -0,0 +1,676 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*jshint maxlen:255 */
+/*eslint max-len:0 */
+/*global tinymce:true */
+
+tinymce.PluginManager.add('media', function(editor, url) {
+       var urlPatterns = [
+               {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: /maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/, type: 'iframe', w: 425, h: 350, url: '//maps.google.com/maps/ms?msid=$2&output=embed"'}
+       ];
+
+       function guessMime(url) {
+               if (url.indexOf('.mp3') != -1) {
+                       return 'audio/mpeg';
+               }
+
+               if (url.indexOf('.wav') != -1) {
+                       return 'audio/wav';
+               }
+
+               if (url.indexOf('.mp4') != -1) {
+                       return 'video/mp4';
+               }
+
+               if (url.indexOf('.webm') != -1) {
+                       return 'video/webm';
+               }
+
+               if (url.indexOf('.ogg') != -1) {
+                       return 'video/ogg';
+               }
+
+               if (url.indexOf('.swf') != -1) {
+                       return 'application/x-shockwave-flash';
+               }
+
+               return '';
+       }
+
+       function getVideoScriptMatch(src) {
+               var prefixes = editor.settings.media_scripts;
+
+               if (prefixes) {
+                       for (var i = 0; i < prefixes.length; i++) {
+                               if (src.indexOf(prefixes[i].filter) !== -1) {
+                                       return prefixes[i];
+                               }
+                       }
+               }
+       }
+
+       function showDialog() {
+               var win, width, height, data;
+               var generalFormItems = [
+                       {name: 'source1', type: 'filepicker', filetype: 'media', size: 40, autofocus: true, label: 'Source'}
+               ];
+
+               function recalcSize(e) {
+                       var widthCtrl, heightCtrl, newWidth, newHeight;
+
+                       widthCtrl = win.find('#width')[0];
+                       heightCtrl = win.find('#height')[0];
+
+                       newWidth = widthCtrl.value();
+                       newHeight = heightCtrl.value();
+
+                       if (win.find('#constrain')[0].checked() && width && height && newWidth && newHeight) {
+                               if (e.control == widthCtrl) {
+                                       newHeight = Math.round((newWidth / width) * newHeight);
+                                       heightCtrl.value(newHeight);
+                               } else {
+                                       newWidth = Math.round((newHeight / height) * newWidth);
+                                       widthCtrl.value(newWidth);
+                               }
+                       }
+
+                       width = newWidth;
+                       height = newHeight;
+               }
+
+               if (editor.settings.media_alt_source !== false) {
+                       generalFormItems.push({name: 'source2', type: 'filepicker', filetype: 'media', size: 40, label: 'Alternative source'});
+               }
+
+               if (editor.settings.media_poster !== false) {
+                       generalFormItems.push({name: 'poster', type: 'filepicker', filetype: 'image', size: 40, label: 'Poster'});
+               }
+
+               if (editor.settings.media_dimensions !== false) {
+                       generalFormItems.push({
+                               type: 'container',
+                               label: 'Dimensions',
+                               layout: 'flex',
+                               align: 'center',
+                               spacing: 5,
+                               items: [
+                                       {name: 'width', type: 'textbox', maxLength: 3, size: 3, onchange: recalcSize},
+                                       {type: 'label', text: 'x'},
+                                       {name: 'height', type: 'textbox', maxLength: 3, size: 3, onchange: recalcSize},
+                                       {name: 'constrain', type: 'checkbox', checked: true, text: 'Constrain proportions'}
+                               ]
+                       });
+               }
+
+               data = getData(editor.selection.getNode());
+               width = data.width;
+               height = data.height;
+
+               win = editor.windowManager.open({
+                       title: 'Insert/edit video',
+                       data: data,
+                       bodyType: 'tabpanel',
+                       body: [
+                               {
+                                       title: 'General',
+                                       type: "form",
+                                       onShowTab: function() {
+                                               data = htmlToData(this.next().find('#embed').value());
+                                               this.fromJSON(data);
+                                       },
+                                       items: generalFormItems
+                               },
+
+                               {
+                                       title: 'Embed',
+                                       type: "panel",
+                                       layout: 'flex',
+                                       direction: 'column',
+                                       align: 'stretch',
+                                       padding: 10,
+                                       spacing: 10,
+                                       onShowTab: function() {
+                                               this.find('#embed').value(dataToHtml(this.parent().toJSON()));
+                                       },
+                                       items: [
+                                               {
+                                                       type: 'label',
+                                                       text: 'Paste your embed code below:',
+                                                       forId: 'mcemediasource'
+                                               },
+                                               {
+                                                       id: 'mcemediasource',
+                                                       type: 'textbox',
+                                                       flex: 1,
+                                                       name: 'embed',
+                                                       value: getSource(),
+                                                       multiline: true,
+                                                       label: 'Source'
+                                               }
+                                       ]
+                               }
+                       ],
+                       onSubmit: function() {
+                               editor.insertContent(dataToHtml(this.toJSON()));
+                       }
+               });
+       }
+
+       function getSource() {
+               var elm = editor.selection.getNode();
+
+               if (elm.getAttribute('data-mce-object')) {
+                       return editor.selection.getContent();
+               }
+       }
+
+       function dataToHtml(data) {
+               var html = '';
+
+               if (!data.source1) {
+                       tinymce.extend(data, htmlToData(data.embed));
+                       if (!data.source1) {
+                               return '';
+                       }
+               }
+
+               if (!data.source2) {
+                       data.source2 = '';
+               }
+
+               if (!data.poster) {
+                       data.poster = '';
+               }
+
+               data.source1 = editor.convertURL(data.source1, "source");
+               data.source2 = editor.convertURL(data.source2, "source");
+               data.source1mime = guessMime(data.source1);
+               data.source2mime = guessMime(data.source2);
+               data.poster = editor.convertURL(data.poster, "poster");
+               data.flashPlayerUrl = editor.convertURL(url + '/moxieplayer.swf', "movie");
+
+               if (data.embed) {
+                       html = updateHtml(data.embed, data, true);
+               } else {
+                       tinymce.each(urlPatterns, function(pattern) {
+                               var match, i, url;
+
+                               if ((match = pattern.regex.exec(data.source1))) {
+                                       url = pattern.url;
+
+                                       for (i = 0; match[i]; i++) {
+                                               /*jshint loopfunc:true*/
+                                               /*eslint no-loop-func:0 */
+                                               url = url.replace('$' + i, function() {
+                                                       return match[i];
+                                               });
+                                       }
+
+                                       data.source1 = url;
+                                       data.type = pattern.type;
+                                       data.width = data.width || pattern.w;
+                                       data.height = data.height || pattern.h;
+                               }
+                       });
+
+                       var videoScript = getVideoScriptMatch(data.source1);
+                       if (videoScript) {
+                               data.type = 'script';
+                               data.width = videoScript.width;
+                               data.height = videoScript.height;
+                       }
+
+                       data.width = data.width || 300;
+                       data.height = data.height || 150;
+
+                       tinymce.each(data, function(value, key) {
+                               data[key] = editor.dom.encode(value);
+                       });
+
+                       if (data.type == "iframe") {
+                               html += '<iframe src="' + data.source1 + '" width="' + data.width + '" height="' + data.height + '"></iframe>';
+                       } else if (data.source1mime == "application/x-shockwave-flash") {
+                               html += '<object data="' + data.source1 + '" width="' + data.width + '" height="' + data.height + '" type="application/x-shockwave-flash">';
+
+                               if (data.poster) {
+                                       html += '<img src="' + data.poster + '" width="' + data.width + '" height="' + data.height + '" />';
+                               }
+
+                               html += '</object>';
+                       } else if (data.source1mime.indexOf('audio') != -1) {
+                               if (editor.settings.audio_template_callback) {
+                                       html = editor.settings.audio_template_callback(data);
+                               } else {
+                                       html += (
+                                               '<audio controls="controls" src="' + data.source1 + '">' +
+                                                       (data.source2 ? '\n<source src="' + data.source2 + '"' + (data.source2mime ? ' type="' + data.source2mime + '"' : '') + ' />\n' : '') +
+                                               '</audio>'
+                                       );
+                               }
+                       } else if (data.type == "script") {
+                               html += '<script src="' + data.source1 + '"></script>';
+                       } else {
+                               if (editor.settings.video_template_callback) {
+                                       html = editor.settings.video_template_callback(data);
+                               } else {
+                                       html = (
+                                               '<video width="' + data.width + '" height="' + data.height + '"' + (data.poster ? ' poster="' + data.poster + '"' : '') + ' controls="controls">\n' +
+                                                       '<source src="' + data.source1 + '"' + (data.source1mime ? ' type="' + data.source1mime + '"' : '') + ' />\n' +
+                                                       (data.source2 ? '<source src="' + data.source2 + '"' + (data.source2mime ? ' type="' + data.source2mime + '"' : '') + ' />\n' : '') +
+                                               '</video>'
+                                       );
+                               }
+                       }
+               }
+
+               return html;
+       }
+
+       function htmlToData(html) {
+               var data = {};
+
+               new tinymce.html.SaxParser({
+                       validate: false,
+                       allow_conditional_comments: true,
+                       special: 'script,noscript',
+                       start: function(name, attrs) {
+                               if (!data.source1 && name == "param") {
+                                       data.source1 = attrs.map.movie;
+                               }
+
+                               if (name == "iframe" || name == "object" || name == "embed" || name == "video" || name == "audio") {
+                                       if (!data.type) {
+                                               data.type = name;
+                                       }
+
+                                       data = tinymce.extend(attrs.map, data);
+                               }
+
+                               if (name == "script") {
+                                       var videoScript = getVideoScriptMatch(attrs.map.src);
+                                       if (!videoScript) {
+                                               return;
+                                       }
+
+                                       data = {
+                                               type: "script",
+                                               source1: attrs.map.src,
+                                               width: videoScript.width,
+                                               height: videoScript.height
+                                       };
+                               }
+
+                               if (name == "source") {
+                                       if (!data.source1) {
+                                               data.source1 = attrs.map.src;
+                                       } else if (!data.source2) {
+                                               data.source2 = attrs.map.src;
+                                       }
+                               }
+
+                               if (name == "img" && !data.poster) {
+                                       data.poster = attrs.map.src;
+                               }
+                       }
+               }).parse(html);
+
+               data.source1 = data.source1 || data.src || data.data;
+               data.source2 = data.source2 || '';
+               data.poster = data.poster || '';
+
+               return data;
+       }
+
+       function getData(element) {
+               if (element.getAttribute('data-mce-object')) {
+                       return htmlToData(editor.serializer.serialize(element, {selection: true}));
+               }
+
+               return {};
+       }
+
+       function updateHtml(html, data, updateAll) {
+               var writer = new tinymce.html.Writer();
+               var sourceCount = 0, hasImage;
+
+               function setAttributes(attrs, updatedAttrs) {
+                       var name, i, value, attr;
+
+                       for (name in updatedAttrs) {
+                               value = "" + updatedAttrs[name];
+
+                               if (attrs.map[name]) {
+                                       i = attrs.length;
+                                       while (i--) {
+                                               attr = attrs[i];
+
+                                               if (attr.name == name) {
+                                                       if (value) {
+                                                               attrs.map[name] = value;
+                                                               attr.value = value;
+                                                       } else {
+                                                               delete attrs.map[name];
+                                                               attrs.splice(i, 1);
+                                                       }
+                                               }
+                                       }
+                               } else if (value) {
+                                       attrs.push({
+                                               name: name,
+                                               value: value
+                                       });
+
+                                       attrs.map[name] = value;
+                               }
+                       }
+               }
+
+               new tinymce.html.SaxParser({
+                       validate: false,
+                       allow_conditional_comments: true,
+                       special: 'script,noscript',
+
+                       comment: function(text) {
+                               writer.comment(text);
+                       },
+
+                       cdata: function(text) {
+                               writer.cdata(text);
+                       },
+
+                       text: function(text, raw) {
+                               writer.text(text, raw);
+                       },
+
+                       start: function(name, attrs, empty) {
+                               switch (name) {
+                                       case "video":
+                                       case "object":
+                                       case "embed":
+                                       case "img":
+                                       case "iframe":
+                                               setAttributes(attrs, {
+                                                       width: data.width,
+                                                       height: data.height
+                                               });
+                                       break;
+                               }
+
+                               if (updateAll) {
+                                       switch (name) {
+                                               case "video":
+                                                       setAttributes(attrs, {
+                                                               poster: data.poster,
+                                                               src: ""
+                                                       });
+
+                                                       if (data.source2) {
+                                                               setAttributes(attrs, {
+                                                                       src: ""
+                                                               });
+                                                       }
+                                               break;
+
+                                               case "iframe":
+                                                       setAttributes(attrs, {
+                                                               src: data.source1
+                                                       });
+                                               break;
+
+                                               case "source":
+                                                       sourceCount++;
+
+                                                       if (sourceCount <= 2) {
+                                                               setAttributes(attrs, {
+                                                                       src: data["source" + sourceCount],
+                                                                       type: data["source" + sourceCount + "mime"]
+                                                               });
+
+                                                               if (!data["source" + sourceCount]) {
+                                                                       return;
+                                                               }
+                                                       }
+                                               break;
+
+                                               case "img":
+                                                       if (!data.poster) {
+                                                               return;
+                                                       }
+
+                                                       hasImage = true;
+                                                       break;
+                                       }
+                               }
+
+                               writer.start(name, attrs, empty);
+                       },
+
+                       end: function(name) {
+                               if (name == "video" && updateAll) {
+                                       for (var index = 1; index <= 2; index++) {
+                                               if (data["source" + index]) {
+                                                       var attrs = [];
+                                                       attrs.map = {};
+
+                                                       if (sourceCount < index) {
+                                                               setAttributes(attrs, {
+                                                                       src: data["source" + index],
+                                                                       type: data["source" + index + "mime"]
+                                                               });
+
+                                                               writer.start("source", attrs, true);
+                                                       }
+                                               }
+                                       }
+                               }
+
+                               if (data.poster && name == "object" && updateAll && !hasImage) {
+                                       var imgAttrs = [];
+                                       imgAttrs.map = {};
+
+                                       setAttributes(imgAttrs, {
+                                               src: data.poster,
+                                               width: data.width,
+                                               height: data.height
+                                       });
+
+                                       writer.start("img", imgAttrs, true);
+                               }
+
+                               writer.end(name);
+                       }
+               }, new tinymce.html.Schema({})).parse(html);
+
+               return writer.getContent();
+       }
+
+       editor.on('ResolveName', function(e) {
+               var name;
+
+               if (e.target.nodeType == 1 && (name = e.target.getAttribute("data-mce-object"))) {
+                       e.name = name;
+               }
+       });
+
+       editor.on('preInit', function() {
+               // Make sure that any messy HTML is retained inside these
+               var specialElements = editor.schema.getSpecialElements();
+               tinymce.each('video audio iframe object'.split(' '), function(name) {
+                       specialElements[name] = new RegExp('<\/' + name + '[^>]*>','gi');
+               });
+
+               // Allow elements
+               editor.schema.addValidElements('object[id|style|width|height|classid|codebase|*],embed[id|style|width|height|type|src|*],video[*],audio[*]');
+
+               // Set allowFullscreen attribs as boolean
+               var boolAttrs = editor.schema.getBoolAttrs();
+               tinymce.each('webkitallowfullscreen mozallowfullscreen allowfullscreen'.split(' '), function(name) {
+                       boolAttrs[name] = {};
+               });
+
+               // Converts iframe, video etc into placeholder images
+               editor.parser.addNodeFilter('iframe,video,audio,object,embed,script', function(nodes, name) {
+                       var i = nodes.length, ai, node, placeHolder, attrName, attrValue, attribs, innerHtml;
+                       var videoScript;
+
+                       while (i--) {
+                               node = nodes[i];
+
+                               if (node.name == 'script') {
+                                       videoScript = getVideoScriptMatch(node.attr('src'));
+                                       if (!videoScript) {
+                                               continue;
+                                       }
+                               }
+
+                               placeHolder = new tinymce.html.Node('img', 1);
+                               placeHolder.shortEnded = true;
+
+                               if (videoScript) {
+                                       if (videoScript.width) {
+                                               node.attr('width', videoScript.width.toString());
+                                       }
+
+                                       if (videoScript.height) {
+                                               node.attr('height', videoScript.height.toString());
+                                       }
+                               }
+
+                               // Prefix all attributes except width, height and style since we
+                               // will add these to the placeholder
+                               attribs = node.attributes;
+                               ai = attribs.length;
+                               while (ai--) {
+                                       attrName = attribs[ai].name;
+                                       attrValue = attribs[ai].value;
+
+                                       if (attrName !== "width" && attrName !== "height" && attrName !== "style") {
+                                               if (attrName == "data" || attrName == "src") {
+                                                       attrValue = editor.convertURL(attrValue, attrName);
+                                               }
+
+                                               placeHolder.attr('data-mce-p-' + attrName, attrValue);
+                                       }
+                               }
+
+                               // Place the inner HTML contents inside an escaped attribute
+                               // This enables us to copy/paste the fake object
+                               innerHtml = node.firstChild && node.firstChild.value;
+                               if (innerHtml) {
+                                       placeHolder.attr("data-mce-html", escape(innerHtml));
+                                       placeHolder.firstChild = null;
+                               }
+
+                               placeHolder.attr({
+                                       width: node.attr('width') || "300",
+                                       height: node.attr('height') || (name == "audio" ? "30" : "150"),
+                                       style: node.attr('style'),
+                                       src: tinymce.Env.transparentSrc,
+                                       "data-mce-object": name,
+                                       "class": "mce-object mce-object-" + name
+                               });
+
+                               node.replace(placeHolder);
+                       }
+               });
+
+               // Replaces placeholder images with real elements for video, object, iframe etc
+               editor.serializer.addAttributeFilter('data-mce-object', function(nodes, name) {
+                       var i = nodes.length, node, realElm, ai, attribs, innerHtml, innerNode, realElmName;
+
+                       while (i--) {
+                               node = nodes[i];
+                               realElmName = node.attr(name);
+                               realElm = new tinymce.html.Node(realElmName, 1);
+
+                               // Add width/height to everything but audio
+                               if (realElmName != "audio" && realElmName != "script") {
+                                       realElm.attr({
+                                               width: node.attr('width'),
+                                               height: node.attr('height')
+                                       });
+                               }
+
+                               realElm.attr({
+                                       style: node.attr('style')
+                               });
+
+                               // Unprefix all placeholder attributes
+                               attribs = node.attributes;
+                               ai = attribs.length;
+                               while (ai--) {
+                                       var attrName = attribs[ai].name;
+
+                                       if (attrName.indexOf('data-mce-p-') === 0) {
+                                               realElm.attr(attrName.substr(11), attribs[ai].value);
+                                       }
+                               }
+
+                               if (realElmName == "script") {
+                                       realElm.attr('type', 'text/javascript');
+                               }
+
+                               // Inject innerhtml
+                               innerHtml = node.attr('data-mce-html');
+                               if (innerHtml) {
+                                       innerNode = new tinymce.html.Node('#text', 3);
+                                       innerNode.raw = true;
+                                       innerNode.value = unescape(innerHtml);
+                                       realElm.append(innerNode);
+                               }
+
+                               node.replace(realElm);
+                       }
+               });
+       });
+
+       editor.on('ObjectSelected', function(e) {
+               var objectType = e.target.getAttribute('data-mce-object');
+
+               if (objectType == "audio" || objectType == "script") {
+                       e.preventDefault();
+               }
+       });
+
+       editor.on('objectResized', function(e) {
+               var target = e.target, html;
+
+               if (target.getAttribute('data-mce-object')) {
+                       html = target.getAttribute('data-mce-html');
+                       if (html) {
+                               html = unescape(html);
+                               target.setAttribute('data-mce-html', escape(
+                                       updateHtml(html, {
+                                               width: e.width,
+                                               height: e.height
+                                       })
+                               ));
+                       }
+               }
+       });
+
+       editor.addButton('media', {
+               tooltip: 'Insert/edit video',
+               onclick: showDialog,
+               stateSelector: ['img[data-mce-object=video]', 'img[data-mce-object=iframe]']
+       });
+
+       editor.addMenuItem('media', {
+               icon: 'media',
+               text: 'Insert video',
+               onclick: showDialog,
+               context: 'insert',
+               prependToContext: true
+       });
+});
diff --git a/wp-includes/js/tinymce/plugins/media/plugin.min.js b/wp-includes/js/tinymce/plugins/media/plugin.min.js
new file mode 100644 (file)
index 0000000..19e75cc
--- /dev/null
@@ -0,0 +1 @@
+tinymce.PluginManager.add("media",function(e,t){function i(e){return-1!=e.indexOf(".mp3")?"audio/mpeg":-1!=e.indexOf(".wav")?"audio/wav":-1!=e.indexOf(".mp4")?"video/mp4":-1!=e.indexOf(".webm")?"video/webm":-1!=e.indexOf(".ogg")?"video/ogg":-1!=e.indexOf(".swf")?"application/x-shockwave-flash":""}function r(t){var i=e.settings.media_scripts;if(i)for(var r=0;r<i.length;r++)if(-1!==t.indexOf(i[r].filter))return i[r]}function o(){function t(e){var t,a,c,s;t=i.find("#width")[0],a=i.find("#height")[0],c=t.value(),s=a.value(),i.find("#constrain")[0].checked()&&r&&o&&c&&s&&(e.control==t?(s=Math.round(c/r*s),a.value(s)):(c=Math.round(s/o*c),t.value(c))),r=c,o=s}var i,r,o,m,d=[{name:"source1",type:"filepicker",filetype:"media",size:40,autofocus:!0,label:"Source"}];e.settings.media_alt_source!==!1&&d.push({name:"source2",type:"filepicker",filetype:"media",size:40,label:"Alternative source"}),e.settings.media_poster!==!1&&d.push({name:"poster",type:"filepicker",filetype:"image",size:40,label:"Poster"}),e.settings.media_dimensions!==!1&&d.push({type:"container",label:"Dimensions",layout:"flex",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:3,size:3,onchange:t},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:3,size:3,onchange:t},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),m=n(e.selection.getNode()),r=m.width,o=m.height,i=e.windowManager.open({title:"Insert/edit video",data:m,bodyType:"tabpanel",body:[{title:"General",type:"form",onShowTab:function(){m=s(this.next().find("#embed").value()),this.fromJSON(m)},items:d},{title:"Embed",type:"panel",layout:"flex",direction:"column",align:"stretch",padding:10,spacing:10,onShowTab:function(){this.find("#embed").value(c(this.parent().toJSON()))},items:[{type:"label",text:"Paste your embed code below:",forId:"mcemediasource"},{id:"mcemediasource",type:"textbox",flex:1,name:"embed",value:a(),multiline:!0,label:"Source"}]}],onSubmit:function(){e.insertContent(c(this.toJSON()))}})}function a(){var t=e.selection.getNode();return t.getAttribute("data-mce-object")?e.selection.getContent():void 0}function c(o){var a="";if(!o.source1&&(tinymce.extend(o,s(o.embed)),!o.source1))return"";if(o.source2||(o.source2=""),o.poster||(o.poster=""),o.source1=e.convertURL(o.source1,"source"),o.source2=e.convertURL(o.source2,"source"),o.source1mime=i(o.source1),o.source2mime=i(o.source2),o.poster=e.convertURL(o.poster,"poster"),o.flashPlayerUrl=e.convertURL(t+"/moxieplayer.swf","movie"),o.embed)a=m(o.embed,o,!0);else{tinymce.each(d,function(e){var t,i,r;if(t=e.regex.exec(o.source1)){for(r=e.url,i=0;t[i];i++)r=r.replace("$"+i,function(){return t[i]});o.source1=r,o.type=e.type,o.width=o.width||e.w,o.height=o.height||e.h}});var c=r(o.source1);c&&(o.type="script",o.width=c.width,o.height=c.height),o.width=o.width||300,o.height=o.height||150,tinymce.each(o,function(t,i){o[i]=e.dom.encode(t)}),"iframe"==o.type?a+='<iframe src="'+o.source1+'" width="'+o.width+'" height="'+o.height+'"></iframe>':"application/x-shockwave-flash"==o.source1mime?(a+='<object data="'+o.source1+'" width="'+o.width+'" height="'+o.height+'" type="application/x-shockwave-flash">',o.poster&&(a+='<img src="'+o.poster+'" width="'+o.width+'" height="'+o.height+'" />'),a+="</object>"):-1!=o.source1mime.indexOf("audio")?e.settings.audio_template_callback?a=e.settings.audio_template_callback(o):a+='<audio controls="controls" src="'+o.source1+'">'+(o.source2?'\n<source src="'+o.source2+'"'+(o.source2mime?' type="'+o.source2mime+'"':"")+" />\n":"")+"</audio>":"script"==o.type?a+='<script src="'+o.source1+'"></script>':a=e.settings.video_template_callback?e.settings.video_template_callback(o):'<video width="'+o.width+'" height="'+o.height+'"'+(o.poster?' poster="'+o.poster+'"':"")+' controls="controls">\n<source src="'+o.source1+'"'+(o.source1mime?' type="'+o.source1mime+'"':"")+" />\n"+(o.source2?'<source src="'+o.source2+'"'+(o.source2mime?' type="'+o.source2mime+'"':"")+" />\n":"")+"</video>"}return a}function s(e){var t={};return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",start:function(e,i){if(t.source1||"param"!=e||(t.source1=i.map.movie),("iframe"==e||"object"==e||"embed"==e||"video"==e||"audio"==e)&&(t.type||(t.type=e),t=tinymce.extend(i.map,t)),"script"==e){var o=r(i.map.src);if(!o)return;t={type:"script",source1:i.map.src,width:o.width,height:o.height}}"source"==e&&(t.source1?t.source2||(t.source2=i.map.src):t.source1=i.map.src),"img"!=e||t.poster||(t.poster=i.map.src)}}).parse(e),t.source1=t.source1||t.src||t.data,t.source2=t.source2||"",t.poster=t.poster||"",t}function n(t){return t.getAttribute("data-mce-object")?s(e.serializer.serialize(t,{selection:!0})):{}}function m(e,t,i){function r(e,t){var i,r,o,a;for(i in t)if(o=""+t[i],e.map[i])for(r=e.length;r--;)a=e[r],a.name==i&&(o?(e.map[i]=o,a.value=o):(delete e.map[i],e.splice(r,1)));else o&&(e.push({name:i,value:o}),e.map[i]=o)}var o,a=new tinymce.html.Writer,c=0;return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",comment:function(e){a.comment(e)},cdata:function(e){a.cdata(e)},text:function(e,t){a.text(e,t)},start:function(e,s,n){switch(e){case"video":case"object":case"embed":case"img":case"iframe":r(s,{width:t.width,height:t.height})}if(i)switch(e){case"video":r(s,{poster:t.poster,src:""}),t.source2&&r(s,{src:""});break;case"iframe":r(s,{src:t.source1});break;case"source":if(c++,2>=c&&(r(s,{src:t["source"+c],type:t["source"+c+"mime"]}),!t["source"+c]))return;break;case"img":if(!t.poster)return;o=!0}a.start(e,s,n)},end:function(e){if("video"==e&&i)for(var s=1;2>=s;s++)if(t["source"+s]){var n=[];n.map={},s>c&&(r(n,{src:t["source"+s],type:t["source"+s+"mime"]}),a.start("source",n,!0))}if(t.poster&&"object"==e&&i&&!o){var m=[];m.map={},r(m,{src:t.poster,width:t.width,height:t.height}),a.start("img",m,!0)}a.end(e)}},new tinymce.html.Schema({})).parse(e),a.getContent()}var d=[{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:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'//maps.google.com/maps/ms?msid=$2&output=embed"'}];e.on("ResolveName",function(e){var t;1==e.target.nodeType&&(t=e.target.getAttribute("data-mce-object"))&&(e.name=t)}),e.on("preInit",function(){var t=e.schema.getSpecialElements();tinymce.each("video audio iframe object".split(" "),function(e){t[e]=new RegExp("</"+e+"[^>]*>","gi")}),e.schema.addValidElements("object[id|style|width|height|classid|codebase|*],embed[id|style|width|height|type|src|*],video[*],audio[*]");var i=e.schema.getBoolAttrs();tinymce.each("webkitallowfullscreen mozallowfullscreen allowfullscreen".split(" "),function(e){i[e]={}}),e.parser.addNodeFilter("iframe,video,audio,object,embed,script",function(t,i){for(var o,a,c,s,n,m,d,u,l=t.length;l--;)if(a=t[l],"script"!=a.name||(u=r(a.attr("src")))){for(c=new tinymce.html.Node("img",1),c.shortEnded=!0,u&&(u.width&&a.attr("width",u.width.toString()),u.height&&a.attr("height",u.height.toString())),m=a.attributes,o=m.length;o--;)s=m[o].name,n=m[o].value,"width"!==s&&"height"!==s&&"style"!==s&&(("data"==s||"src"==s)&&(n=e.convertURL(n,s)),c.attr("data-mce-p-"+s,n));d=a.firstChild&&a.firstChild.value,d&&(c.attr("data-mce-html",escape(d)),c.firstChild=null),c.attr({width:a.attr("width")||"300",height:a.attr("height")||("audio"==i?"30":"150"),style:a.attr("style"),src:tinymce.Env.transparentSrc,"data-mce-object":i,"class":"mce-object mce-object-"+i}),a.replace(c)}}),e.serializer.addAttributeFilter("data-mce-object",function(e,t){for(var i,r,o,a,c,s,n,m=e.length;m--;){for(i=e[m],n=i.attr(t),r=new tinymce.html.Node(n,1),"audio"!=n&&"script"!=n&&r.attr({width:i.attr("width"),height:i.attr("height")}),r.attr({style:i.attr("style")}),a=i.attributes,o=a.length;o--;){var d=a[o].name;0===d.indexOf("data-mce-p-")&&r.attr(d.substr(11),a[o].value)}"script"==n&&r.attr("type","text/javascript"),c=i.attr("data-mce-html"),c&&(s=new tinymce.html.Node("#text",3),s.raw=!0,s.value=unescape(c),r.append(s)),i.replace(r)}})}),e.on("ObjectSelected",function(e){var t=e.target.getAttribute("data-mce-object");("audio"==t||"script"==t)&&e.preventDefault()}),e.on("objectResized",function(e){var t,i=e.target;i.getAttribute("data-mce-object")&&(t=i.getAttribute("data-mce-html"),t&&(t=unescape(t),i.setAttribute("data-mce-html",escape(m(t,{width:e.width,height:e.height})))))}),e.addButton("media",{tooltip:"Insert/edit video",onclick:o,stateSelector:["img[data-mce-object=video]","img[data-mce-object=iframe]"]}),e.addMenuItem("media",{icon:"media",text:"Insert video",onclick:o,context:"insert",prependToContext:!0})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/paste/editor_plugin.js b/wp-includes/js/tinymce/plugins/paste/editor_plugin.js
deleted file mode 100644 (file)
index 0ab05eb..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(){var c=tinymce.each,a={paste_auto_cleanup_on_paste:true,paste_enable_default_filters:true,paste_block_drop:false,paste_retain_style_properties:"none",paste_strip_class_attributes:"mso",paste_remove_spans:false,paste_remove_styles:false,paste_remove_styles_if_webkit:true,paste_convert_middot_lists:true,paste_convert_headers_to_strong:false,paste_dialog_width:"450",paste_dialog_height:"400",paste_max_consecutive_linebreaks:2,paste_text_use_dialog:false,paste_text_sticky:false,paste_text_sticky_default:false,paste_text_notifyalways:false,paste_text_linebreaktype:"combined",paste_text_replacements:[[/\u2026/g,"..."],[/[\x93\x94\u201c\u201d]/g,'"'],[/[\x60\x91\x92\u2018\u2019]/g,"'"]]};function b(d,e){return d.getParam(e,a[e])}tinymce.create("tinymce.plugins.PastePlugin",{init:function(d,e){var f=this;f.editor=d;f.url=e;f.onPreProcess=new tinymce.util.Dispatcher(f);f.onPostProcess=new tinymce.util.Dispatcher(f);f.onPreProcess.add(f._preProcess);f.onPostProcess.add(f._postProcess);f.onPreProcess.add(function(i,j){d.execCallback("paste_preprocess",i,j)});f.onPostProcess.add(function(i,j){d.execCallback("paste_postprocess",i,j)});d.onKeyDown.addToTop(function(i,j){if(((tinymce.isMac?j.metaKey:j.ctrlKey)&&j.keyCode==86)||(j.shiftKey&&j.keyCode==45)){return false}});d.pasteAsPlainText=b(d,"paste_text_sticky_default");function h(l,j){var k=d.dom,i;f.onPreProcess.dispatch(f,l);l.node=k.create("div",0,l.content);if(tinymce.isGecko){i=d.selection.getRng(true);if(i.startContainer==i.endContainer&&i.startContainer.nodeType==3){if(l.node.childNodes.length===1&&/^(p|h[1-6]|pre)$/i.test(l.node.firstChild.nodeName)&&l.content.indexOf("__MCE_ITEM__")===-1){k.remove(l.node.firstChild,true)}}}f.onPostProcess.dispatch(f,l);l.content=d.serializer.serialize(l.node,{getInner:1,forced_root_block:""});if((!j)&&(d.pasteAsPlainText)){f._insertPlainText(l.content);if(!b(d,"paste_text_sticky")){d.pasteAsPlainText=false;d.controlManager.setActive("pastetext",false)}}else{f._insert(l.content)}}d.addCommand("mceInsertClipboardContent",function(i,j){h(j,true)});if(!b(d,"paste_text_use_dialog")){d.addCommand("mcePasteText",function(j,i){var k=tinymce.util.Cookie;d.pasteAsPlainText=!d.pasteAsPlainText;d.controlManager.setActive("pastetext",d.pasteAsPlainText);if((d.pasteAsPlainText)&&(!k.get("tinymcePasteText"))){if(b(d,"paste_text_sticky")){d.windowManager.alert(d.translate("paste.plaintext_mode_sticky"))}else{d.windowManager.alert(d.translate("paste.plaintext_mode"))}if(!b(d,"paste_text_notifyalways")){k.set("tinymcePasteText","1",new Date(new Date().getFullYear()+1,12,31))}}})}d.addButton("pastetext",{title:"paste.paste_text_desc",cmd:"mcePasteText"});d.addButton("selectall",{title:"paste.selectall_desc",cmd:"selectall"});function g(s){var l,p,j,t,k=d.selection,o=d.dom,q=d.getBody(),i,r;if(s.clipboardData||o.doc.dataTransfer){r=(s.clipboardData||o.doc.dataTransfer).getData("Text");if(d.pasteAsPlainText){s.preventDefault();h({content:o.encode(r).replace(/\r?\n/g,"<br />")});return}}if(o.get("_mcePaste")){return}l=o.add(q,"div",{id:"_mcePaste","class":"mcePaste","data-mce-bogus":"1"},"\uFEFF\uFEFF");if(q!=d.getDoc().body){i=o.getPos(d.selection.getStart(),q).y}else{i=q.scrollTop+o.getViewPort(d.getWin()).y}o.setStyles(l,{position:"absolute",left:tinymce.isGecko?-40:0,top:i-25,width:1,height:1,overflow:"hidden"});if(tinymce.isIE){t=k.getRng();j=o.doc.body.createTextRange();j.moveToElementText(l);j.execCommand("Paste");o.remove(l);if(l.innerHTML==="\uFEFF\uFEFF"){d.execCommand("mcePasteWord");s.preventDefault();return}k.setRng(t);k.setContent("");setTimeout(function(){h({content:l.innerHTML})},0);return tinymce.dom.Event.cancel(s)}else{function m(n){n.preventDefault()}o.bind(d.getDoc(),"mousedown",m);o.bind(d.getDoc(),"keydown",m);p=d.selection.getRng();l=l.firstChild;j=d.getDoc().createRange();j.setStart(l,0);j.setEnd(l,2);k.setRng(j);window.setTimeout(function(){var u="",n;if(!o.select("div.mcePaste > div.mcePaste").length){n=o.select("div.mcePaste");c(n,function(w){var v=w.firstChild;if(v&&v.nodeName=="DIV"&&v.style.marginTop&&v.style.backgroundColor){o.remove(v,1)}c(o.select("span.Apple-style-span",w),function(x){o.remove(x,1)});c(o.select("br[data-mce-bogus]",w),function(x){o.remove(x)});if(w.parentNode.className!="mcePaste"){u+=w.innerHTML}})}else{u="<p>"+o.encode(r).replace(/\r?\n\r?\n/g,"</p><p>").replace(/\r?\n/g,"<br />")+"</p>"}c(o.select("div.mcePaste"),function(v){o.remove(v)});if(p){k.setRng(p)}h({content:u});o.unbind(d.getDoc(),"mousedown",m);o.unbind(d.getDoc(),"keydown",m)},0)}}if(b(d,"paste_auto_cleanup_on_paste")){if(tinymce.isOpera||/Firefox\/2/.test(navigator.userAgent)){d.onKeyDown.addToTop(function(i,j){if(((tinymce.isMac?j.metaKey:j.ctrlKey)&&j.keyCode==86)||(j.shiftKey&&j.keyCode==45)){g(j)}})}else{d.onPaste.addToTop(function(i,j){return g(j)})}}d.onInit.add(function(){d.controlManager.setActive("pastetext",d.pasteAsPlainText);if(b(d,"paste_block_drop")){d.dom.bind(d.getBody(),["dragend","dragover","draggesture","dragdrop","drop","drag"],function(i){i.preventDefault();i.stopPropagation();return false})}});f._legacySupport()},getInfo:function(){return{longname:"Paste text/word",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_preProcess:function(g,e){var k=this.editor,j=e.content,p=tinymce.grep,n=tinymce.explode,f=tinymce.trim,l,i;function d(h){c(h,function(o){if(o.constructor==RegExp){j=j.replace(o,"")}else{j=j.replace(o[0],o[1])}})}if(k.settings.paste_enable_default_filters==false){return}if(tinymce.isIE&&document.documentMode>=9&&/<(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)/.test(e.content)){d([[/(?:<br>&nbsp;[\s\r\n]+|<br>)*(<\/?(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)[^>]*>)(?:<br>&nbsp;[\s\r\n]+|<br>)*/g,"$1"]]);d([[/<br><br>/g,"<BR><BR>"],[/<br>/g," "],[/<BR><BR>/g,"<br>"]])}if(/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(j)||e.wordContent){e.wordContent=true;d([/^\s*(&nbsp;)+/gi,/(&nbsp;|<br[^>]*>)+\s*$/gi]);if(b(k,"paste_convert_headers_to_strong")){j=j.replace(/<p [^>]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi,"<p><strong>$1</strong></p>")}if(b(k,"paste_convert_middot_lists")){d([[/<!--\[if !supportLists\]-->/gi,"$&__MCE_ITEM__"],[/(<span[^>]+(?:mso-list:|:\s*symbol)[^>]+>)/gi,"$1__MCE_ITEM__"],[/(<p[^>]+(?:MsoListParagraph)[^>]+>)/gi,"$1__MCE_ITEM__"]])}d([/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/&nbsp;/gi,"\u00a0"]]);do{l=j.length;j=j.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi,"$1")}while(l!=j.length);if(b(k,"paste_retain_style_properties").replace(/^none$/i,"").length==0){j=j.replace(/<\/?span[^>]*>/gi,"")}else{d([[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(o,h){return(h.length>0)?h.replace(/./," ").slice(Math.floor(h.length/2)).split("").join("\u00a0"):""}],[/(<[a-z][^>]*)\sstyle="([^"]*)"/gi,function(t,h,r){var u=[],o=0,q=n(f(r).replace(/&quot;/gi,"'"),";");c(q,function(s){var w,y,z=n(s,":");function x(A){return A+((A!=="0")&&(/\d$/.test(A)))?"px":""}if(z.length==2){w=z[0].toLowerCase();y=z[1].toLowerCase();switch(w){case"mso-padding-alt":case"mso-padding-top-alt":case"mso-padding-right-alt":case"mso-padding-bottom-alt":case"mso-padding-left-alt":case"mso-margin-alt":case"mso-margin-top-alt":case"mso-margin-right-alt":case"mso-margin-bottom-alt":case"mso-margin-left-alt":case"mso-table-layout-alt":case"mso-height":case"mso-width":case"mso-vertical-align-alt":u[o++]=w.replace(/^mso-|-alt$/g,"")+":"+x(y);return;case"horiz-align":u[o++]="text-align:"+y;return;case"vert-align":u[o++]="vertical-align:"+y;return;case"font-color":case"mso-foreground":u[o++]="color:"+y;return;case"mso-background":case"mso-highlight":u[o++]="background:"+y;return;case"mso-default-height":u[o++]="min-height:"+x(y);return;case"mso-default-width":u[o++]="min-width:"+x(y);return;case"mso-padding-between-alt":u[o++]="border-collapse:separate;border-spacing:"+x(y);return;case"text-line-through":if((y=="single")||(y=="double")){u[o++]="text-decoration:line-through"}return;case"mso-zero-height":if(y=="yes"){u[o++]="display:none"}return}if(/^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?!align|decor|indent|trans)|top-bar|version|vnd|word-break)/.test(w)){return}u[o++]=w+":"+z[1]}});if(o>0){return h+' style="'+u.join(";")+'"'}else{return h}}]])}}if(b(k,"paste_convert_headers_to_strong")){d([[/<h[1-6][^>]*>/gi,"<p><strong>"],[/<\/h[1-6][^>]*>/gi,"</strong></p>"]])}d([[/Version:[\d.]+\nStartHTML:\d+\nEndHTML:\d+\nStartFragment:\d+\nEndFragment:\d+/gi,""]]);i=b(k,"paste_strip_class_attributes");if(i!=="none"){function m(q,o){if(i==="all"){return""}var h=p(n(o.replace(/^(["'])(.*)\1$/,"$2")," "),function(r){return(/^(?!mso)/i.test(r))});return h.length?' class="'+h.join(" ")+'"':""}j=j.replace(/ class="([^"]+)"/gi,m);j=j.replace(/ class=([\-\w]+)/gi,m)}if(b(k,"paste_remove_spans")){j=j.replace(/<\/?span[^>]*>/gi,"")}e.content=j},_postProcess:function(g,i){var f=this,e=f.editor,h=e.dom,d;if(e.settings.paste_enable_default_filters==false){return}if(i.wordContent){c(h.select("a",i.node),function(j){if(!j.href||j.href.indexOf("#_Toc")!=-1){h.remove(j,1)}});if(b(e,"paste_convert_middot_lists")){f._convertLists(g,i)}d=b(e,"paste_retain_style_properties");if((tinymce.is(d,"string"))&&(d!=="all")&&(d!=="*")){d=tinymce.explode(d.replace(/^none$/i,""));c(h.select("*",i.node),function(m){var n={},k=0,l,o,j;if(d){for(l=0;l<d.length;l++){o=d[l];j=h.getStyle(m,o);if(j){n[o]=j;k++}}}h.setAttrib(m,"style","");if(d&&k>0){h.setStyles(m,n)}else{if(m.nodeName=="SPAN"&&!m.className){h.remove(m,true)}}})}}if(b(e,"paste_remove_styles")||(b(e,"paste_remove_styles_if_webkit")&&tinymce.isWebKit)){c(h.select("*[style]",i.node),function(j){j.removeAttribute("style");j.removeAttribute("data-mce-style")})}else{if(tinymce.isWebKit){c(h.select("*",i.node),function(j){j.removeAttribute("data-mce-style")})}}},_convertLists:function(g,e){var i=g.editor.dom,h,l,d=-1,f,m=[],k,j;c(i.select("p",e.node),function(t){var q,u="",s,r,n,o;for(q=t.firstChild;q&&q.nodeType==3;q=q.nextSibling){u+=q.nodeValue}u=t.innerHTML.replace(/<\/?\w+[^>]*>/gi,"").replace(/&nbsp;/g,"\u00a0");if(/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*\u00a0*/.test(u)){s="ul"}if(/^__MCE_ITEM__\s*\w+\.\s*\u00a0+/.test(u)){s="ol"}if(s){f=parseFloat(t.style.marginLeft||0);if(f>d){m.push(f)}if(!h||s!=k){h=i.create(s);i.insertAfter(h,t)}else{if(f>d){h=l.appendChild(i.create(s))}else{if(f<d){n=tinymce.inArray(m,f);o=i.getParents(h.parentNode,s);h=o[o.length-1-n]||h}}}c(i.select("span",t),function(v){var p=v.innerHTML.replace(/<\/?\w+[^>]*>/gi,"");if(s=="ul"&&/^__MCE_ITEM__[\u2022\u00b7\u00a7\u00d8o\u25CF]/.test(p)){i.remove(v)}else{if(/^__MCE_ITEM__[\s\S]*\w+\.(&nbsp;|\u00a0)*\s*/.test(p)){i.remove(v)}}});r=t.innerHTML;if(s=="ul"){r=t.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*(&nbsp;|\u00a0)+\s*/,"")}else{r=t.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^\s*\w+\.(&nbsp;|\u00a0)+\s*/,"")}l=h.appendChild(i.create("li",0,r));i.remove(t);d=f;k=s}else{h=d=0}});j=e.node.innerHTML;if(j.indexOf("__MCE_ITEM__")!=-1){e.node.innerHTML=j.replace(/__MCE_ITEM__/g,"")}},_insert:function(f,d){var e=this.editor,g=e.selection.getRng();if(!e.selection.isCollapsed()&&g.startContainer!=g.endContainer){e.getDoc().execCommand("Delete",false,null)}e.execCommand("mceInsertContent",false,f,{skip_undo:d})},_insertPlainText:function(j){var h=this.editor,f=b(h,"paste_text_linebreaktype"),k=b(h,"paste_text_replacements"),g=tinymce.is;function e(m){c(m,function(n){if(n.constructor==RegExp){j=j.replace(n,"")}else{j=j.replace(n[0],n[1])}})}if((typeof(j)==="string")&&(j.length>0)){if(/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(j)){e([/[\n\r]+/g])}else{e([/\r+/g])}e([[/<\/(?:p|h[1-6]|ul|ol|dl|table|div|blockquote|fieldset|pre|address|center)>/gi,"\n\n"],[/<br[^>]*>|<\/tr>/gi,"\n"],[/<\/t[dh]>\s*<t[dh][^>]*>/gi,"\t"],/<[a-z!\/?][^>]*>/gi,[/&nbsp;/gi," "],[/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi,"$1"]]);var d=Number(b(h,"paste_max_consecutive_linebreaks"));if(d>-1){var l=new RegExp("\n{"+(d+1)+",}","g");var i="";while(i.length<d){i+="\n"}e([[l,i]])}j=h.dom.decode(tinymce.html.Entities.encodeRaw(j));if(g(k,"array")){e(k)}else{if(g(k,"string")){e(new RegExp(k,"gi"))}}if(f=="none"){e([[/\n+/g," "]])}else{if(f=="br"){e([[/\n/g,"<br />"]])}else{if(f=="p"){e([[/\n+/g,"</p><p>"],[/^(.*<\/p>)(<p>)$/,"<p>$1"]])}else{e([[/\n\n/g,"</p><p>"],[/^(.*<\/p>)(<p>)$/,"<p>$1"],[/\n/g,"<br />"]])}}}h.execCommand("mceInsertContent",false,j)}},_legacySupport:function(){var e=this,d=e.editor;d.addCommand("mcePasteWord",function(){d.windowManager.open({file:e.url+"/pasteword.htm",width:parseInt(b(d,"paste_dialog_width")),height:parseInt(b(d,"paste_dialog_height")),inline:1})});if(b(d,"paste_text_use_dialog")){d.addCommand("mcePasteText",function(){d.windowManager.open({file:e.url+"/pastetext.htm",width:parseInt(b(d,"paste_dialog_width")),height:parseInt(b(d,"paste_dialog_height")),inline:1})})}d.addButton("pasteword",{title:"paste.paste_word_desc",cmd:"mcePasteWord"})}});tinymce.PluginManager.add("paste",tinymce.plugins.PastePlugin)})();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/paste/editor_plugin_src.js b/wp-includes/js/tinymce/plugins/paste/editor_plugin_src.js
deleted file mode 100644 (file)
index c8230e9..0000000
+++ /dev/null
@@ -1,885 +0,0 @@
-/**
- * editor_plugin_src.js
- *
- * Copyright 2009, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
- */
-
-(function() {
-       var each = tinymce.each,
-               defs = {
-                       paste_auto_cleanup_on_paste : true,
-                       paste_enable_default_filters : true,
-                       paste_block_drop : false,
-                       paste_retain_style_properties : "none",
-                       paste_strip_class_attributes : "mso",
-                       paste_remove_spans : false,
-                       paste_remove_styles : false,
-                       paste_remove_styles_if_webkit : true,
-                       paste_convert_middot_lists : true,
-                       paste_convert_headers_to_strong : false,
-                       paste_dialog_width : "450",
-                       paste_dialog_height : "400",
-                       paste_max_consecutive_linebreaks: 2,
-                       paste_text_use_dialog : false,
-                       paste_text_sticky : false,
-                       paste_text_sticky_default : false,
-                       paste_text_notifyalways : false,
-                       paste_text_linebreaktype : "combined",
-                       paste_text_replacements : [
-                               [/\u2026/g, "..."],
-                               [/[\x93\x94\u201c\u201d]/g, '"'],
-                               [/[\x60\x91\x92\u2018\u2019]/g, "'"]
-                       ]
-               };
-
-       function getParam(ed, name) {
-               return ed.getParam(name, defs[name]);
-       }
-
-       tinymce.create('tinymce.plugins.PastePlugin', {
-               init : function(ed, url) {
-                       var t = this;
-
-                       t.editor = ed;
-                       t.url = url;
-
-                       // Setup plugin events
-                       t.onPreProcess = new tinymce.util.Dispatcher(t);
-                       t.onPostProcess = new tinymce.util.Dispatcher(t);
-
-                       // Register default handlers
-                       t.onPreProcess.add(t._preProcess);
-                       t.onPostProcess.add(t._postProcess);
-
-                       // Register optional preprocess handler
-                       t.onPreProcess.add(function(pl, o) {
-                               ed.execCallback('paste_preprocess', pl, o);
-                       });
-
-                       // Register optional postprocess
-                       t.onPostProcess.add(function(pl, o) {
-                               ed.execCallback('paste_postprocess', pl, o);
-                       });
-
-                       ed.onKeyDown.addToTop(function(ed, e) {
-                               // Block ctrl+v from adding an undo level since the default logic in tinymce.Editor will add that
-                               if (((tinymce.isMac ? e.metaKey : e.ctrlKey) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45))
-                                       return false; // Stop other listeners
-                       });
-
-                       // Initialize plain text flag
-                       ed.pasteAsPlainText = getParam(ed, 'paste_text_sticky_default');
-
-                       // This function executes the process handlers and inserts the contents
-                       // force_rich overrides plain text mode set by user, important for pasting with execCommand
-                       function process(o, force_rich) {
-                               var dom = ed.dom, rng;
-
-                               // Execute pre process handlers
-                               t.onPreProcess.dispatch(t, o);
-
-                               // Create DOM structure
-                               o.node = dom.create('div', 0, o.content);
-
-                               // If pasting inside the same element and the contents is only one block
-                               // remove the block and keep the text since Firefox will copy parts of pre and h1-h6 as a pre element
-                               if (tinymce.isGecko) {
-                                       rng = ed.selection.getRng(true);
-                                       if (rng.startContainer == rng.endContainer && rng.startContainer.nodeType == 3) {
-                                               // Is only one block node and it doesn't contain word stuff
-                                               if (o.node.childNodes.length === 1 && /^(p|h[1-6]|pre)$/i.test(o.node.firstChild.nodeName) && o.content.indexOf('__MCE_ITEM__') === -1)
-                                                       dom.remove(o.node.firstChild, true);
-                                       }
-                               }
-
-                               // Execute post process handlers
-                               t.onPostProcess.dispatch(t, o);
-
-                               // Serialize content
-                               o.content = ed.serializer.serialize(o.node, {getInner : 1, forced_root_block : ''});
-
-                               // Plain text option active?
-                               if ((!force_rich) && (ed.pasteAsPlainText)) {
-                                       t._insertPlainText(o.content);
-
-                                       if (!getParam(ed, "paste_text_sticky")) {
-                                               ed.pasteAsPlainText = false;
-                                               ed.controlManager.setActive("pastetext", false);
-                                       }
-                               } else {
-                                       t._insert(o.content);
-                               }
-                       }
-
-                       // Add command for external usage
-                       ed.addCommand('mceInsertClipboardContent', function(u, o) {
-                               process(o, true);
-                       });
-
-                       if (!getParam(ed, "paste_text_use_dialog")) {
-                               ed.addCommand('mcePasteText', function(u, v) {
-                                       var cookie = tinymce.util.Cookie;
-
-                                       ed.pasteAsPlainText = !ed.pasteAsPlainText;
-                                       ed.controlManager.setActive('pastetext', ed.pasteAsPlainText);
-
-                                       if ((ed.pasteAsPlainText) && (!cookie.get("tinymcePasteText"))) {
-                                               if (getParam(ed, "paste_text_sticky")) {
-                                                       ed.windowManager.alert(ed.translate('paste.plaintext_mode_sticky'));
-                                               } else {
-                                                       ed.windowManager.alert(ed.translate('paste.plaintext_mode'));
-                                               }
-
-                                               if (!getParam(ed, "paste_text_notifyalways")) {
-                                                       cookie.set("tinymcePasteText", "1", new Date(new Date().getFullYear() + 1, 12, 31))
-                                               }
-                                       }
-                               });
-                       }
-
-                       ed.addButton('pastetext', {title: 'paste.paste_text_desc', cmd: 'mcePasteText'});
-                       ed.addButton('selectall', {title: 'paste.selectall_desc', cmd: 'selectall'});
-
-                       // This function grabs the contents from the clipboard by adding a
-                       // hidden div and placing the caret inside it and after the browser paste
-                       // is done it grabs that contents and processes that
-                       function grabContent(e) {
-                               var n, or, rng, oldRng, sel = ed.selection, dom = ed.dom, body = ed.getBody(), posY, textContent;
-
-                               // Check if browser supports direct plaintext access
-                               if (e.clipboardData || dom.doc.dataTransfer) {
-                                       textContent = (e.clipboardData || dom.doc.dataTransfer).getData('Text');
-
-                                       if (ed.pasteAsPlainText) {
-                                               e.preventDefault();
-                                               process({content : dom.encode(textContent).replace(/\r?\n/g, '<br />')});
-                                               return;
-                                       }
-                               }
-
-                               if (dom.get('_mcePaste'))
-                                       return;
-
-                               // Create container to paste into
-                               n = dom.add(body, 'div', {id : '_mcePaste', 'class' : 'mcePaste', 'data-mce-bogus' : '1'}, '\uFEFF\uFEFF');
-
-                               // If contentEditable mode we need to find out the position of the closest element
-                               if (body != ed.getDoc().body)
-                                       posY = dom.getPos(ed.selection.getStart(), body).y;
-                               else
-                                       posY = body.scrollTop + dom.getViewPort(ed.getWin()).y;
-
-                               // Styles needs to be applied after the element is added to the document since WebKit will otherwise remove all styles
-                               // If also needs to be in view on IE or the paste would fail
-                               dom.setStyles(n, {
-                                       position : 'absolute',
-                                       left : tinymce.isGecko ? -40 : 0, // Need to move it out of site on Gecko since it will othewise display a ghost resize rect for the div
-                                       top : posY - 25,
-                                       width : 1,
-                                       height : 1,
-                                       overflow : 'hidden'
-                               });
-
-                               if (tinymce.isIE) {
-                                       // Store away the old range
-                                       oldRng = sel.getRng();
-
-                                       // Select the container
-                                       rng = dom.doc.body.createTextRange();
-                                       rng.moveToElementText(n);
-                                       rng.execCommand('Paste');
-
-                                       // Remove container
-                                       dom.remove(n);
-
-                                       // Check if the contents was changed, if it wasn't then clipboard extraction failed probably due
-                                       // to IE security settings so we pass the junk though better than nothing right
-                                       if (n.innerHTML === '\uFEFF\uFEFF') {
-                                               ed.execCommand('mcePasteWord');
-                                               e.preventDefault();
-                                               return;
-                                       }
-
-                                       // Restore the old range and clear the contents before pasting
-                                       sel.setRng(oldRng);
-                                       sel.setContent('');
-
-                                       // For some odd reason we need to detach the the mceInsertContent call from the paste event
-                                       // It's like IE has a reference to the parent element that you paste in and the selection gets messed up
-                                       // when it tries to restore the selection
-                                       setTimeout(function() {
-                                               // Process contents
-                                               process({content : n.innerHTML});
-                                       }, 0);
-
-                                       // Block the real paste event
-                                       return tinymce.dom.Event.cancel(e);
-                               } else {
-                                       function block(e) {
-                                               e.preventDefault();
-                                       };
-
-                                       // Block mousedown and click to prevent selection change
-                                       dom.bind(ed.getDoc(), 'mousedown', block);
-                                       dom.bind(ed.getDoc(), 'keydown', block);
-
-                                       or = ed.selection.getRng();
-
-                                       // Move select contents inside DIV
-                                       n = n.firstChild;
-                                       rng = ed.getDoc().createRange();
-                                       rng.setStart(n, 0);
-                                       rng.setEnd(n, 2);
-                                       sel.setRng(rng);
-
-                                       // Wait a while and grab the pasted contents
-                                       window.setTimeout(function() {
-                                               var h = '', nl;
-
-                                               // Paste divs duplicated in paste divs seems to happen when you paste plain text so lets first look for that broken behavior in WebKit
-                                               if (!dom.select('div.mcePaste > div.mcePaste').length) {
-                                                       nl = dom.select('div.mcePaste');
-
-                                                       // WebKit will split the div into multiple ones so this will loop through then all and join them to get the whole HTML string
-                                                       each(nl, function(n) {
-                                                               var child = n.firstChild;
-
-                                                               // WebKit inserts a DIV container with lots of odd styles
-                                                               if (child && child.nodeName == 'DIV' && child.style.marginTop && child.style.backgroundColor) {
-                                                                       dom.remove(child, 1);
-                                                               }
-
-                                                               // Remove apply style spans
-                                                               each(dom.select('span.Apple-style-span', n), function(n) {
-                                                                       dom.remove(n, 1);
-                                                               });
-
-                                                               // Remove bogus br elements
-                                                               each(dom.select('br[data-mce-bogus]', n), function(n) {
-                                                                       dom.remove(n);
-                                                               });
-
-                                                               // WebKit will make a copy of the DIV for each line of plain text pasted and insert them into the DIV
-                                                               if (n.parentNode.className != 'mcePaste')
-                                                                       h += n.innerHTML;
-                                                       });
-                                               } else {
-                                                       // Found WebKit weirdness so force the content into paragraphs this seems to happen when you paste plain text from Nodepad etc
-                                                       // So this logic will replace double enter with paragraphs and single enter with br so it kind of looks the same
-                                                       h = '<p>' + dom.encode(textContent).replace(/\r?\n\r?\n/g, '</p><p>').replace(/\r?\n/g, '<br />') + '</p>';
-                                               }
-
-                                               // Remove the nodes
-                                               each(dom.select('div.mcePaste'), function(n) {
-                                                       dom.remove(n);
-                                               });
-
-                                               // Restore the old selection
-                                               if (or)
-                                                       sel.setRng(or);
-
-                                               process({content : h});
-
-                                               // Unblock events ones we got the contents
-                                               dom.unbind(ed.getDoc(), 'mousedown', block);
-                                               dom.unbind(ed.getDoc(), 'keydown', block);
-                                       }, 0);
-                               }
-                       }
-
-                       // Check if we should use the new auto process method                   
-                       if (getParam(ed, "paste_auto_cleanup_on_paste")) {
-                               // Is it's Opera or older FF use key handler
-                               if (tinymce.isOpera || /Firefox\/2/.test(navigator.userAgent)) {
-                                       ed.onKeyDown.addToTop(function(ed, e) {
-                                               if (((tinymce.isMac ? e.metaKey : e.ctrlKey) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45))
-                                                       grabContent(e);
-                                       });
-                               } else {
-                                       // Grab contents on paste event on Gecko and WebKit
-                                       ed.onPaste.addToTop(function(ed, e) {
-                                               return grabContent(e);
-                                       });
-                               }
-                       }
-
-                       ed.onInit.add(function() {
-                               ed.controlManager.setActive("pastetext", ed.pasteAsPlainText);
-
-                               // Block all drag/drop events
-                               if (getParam(ed, "paste_block_drop")) {
-                                       ed.dom.bind(ed.getBody(), ['dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag'], function(e) {
-                                               e.preventDefault();
-                                               e.stopPropagation();
-
-                                               return false;
-                                       });
-                               }
-                       });
-
-                       // Add legacy support
-                       t._legacySupport();
-               },
-
-               getInfo : function() {
-                       return {
-                               longname : 'Paste text/word',
-                               author : 'Moxiecode Systems AB',
-                               authorurl : 'http://tinymce.moxiecode.com',
-                               infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste',
-                               version : tinymce.majorVersion + "." + tinymce.minorVersion
-                       };
-               },
-
-               _preProcess : function(pl, o) {
-                       var ed = this.editor,
-                               h = o.content,
-                               grep = tinymce.grep,
-                               explode = tinymce.explode,
-                               trim = tinymce.trim,
-                               len, stripClass;
-
-                       //console.log('Before preprocess:' + o.content);
-
-                       function process(items) {
-                               each(items, function(v) {
-                                       // Remove or replace
-                                       if (v.constructor == RegExp)
-                                               h = h.replace(v, '');
-                                       else
-                                               h = h.replace(v[0], v[1]);
-                               });
-                       }
-                       
-                       if (ed.settings.paste_enable_default_filters == false) {
-                               return;
-                       }
-
-                       // IE9 adds BRs before/after block elements when contents is pasted from word or for example another browser
-                       if (tinymce.isIE && document.documentMode >= 9 && /<(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)/.test(o.content)) {
-                               // IE9 adds BRs before/after block elements when contents is pasted from word or for example another browser
-                               process([[/(?:<br>&nbsp;[\s\r\n]+|<br>)*(<\/?(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)[^>]*>)(?:<br>&nbsp;[\s\r\n]+|<br>)*/g, '$1']]);
-
-                               // IE9 also adds an extra BR element for each soft-linefeed and it also adds a BR for each word wrap break
-                               process([
-                                       [/<br><br>/g, '<BR><BR>'], // Replace multiple BR elements with uppercase BR to keep them intact
-                                       [/<br>/g, ' '], // Replace single br elements with space since they are word wrap BR:s
-                                       [/<BR><BR>/g, '<br>'] // Replace back the double brs but into a single BR
-                               ]);
-                       }
-
-                       // Detect Word content and process it more aggressive
-                       if (/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(h) || o.wordContent) {
-                               o.wordContent = true;                   // Mark the pasted contents as word specific content
-                               //console.log('Word contents detected.');
-
-                               // Process away some basic content
-                               process([
-                                       /^\s*(&nbsp;)+/gi,                              // &nbsp; entities at the start of contents
-                                       /(&nbsp;|<br[^>]*>)+\s*$/gi             // &nbsp; entities at the end of contents
-                               ]);
-
-                               if (getParam(ed, "paste_convert_headers_to_strong")) {
-                                       h = h.replace(/<p [^>]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi, "<p><strong>$1</strong></p>");
-                               }
-
-                               if (getParam(ed, "paste_convert_middot_lists")) {
-                                       process([
-                                               [/<!--\[if !supportLists\]-->/gi, '$&__MCE_ITEM__'],                                    // Convert supportLists to a list item marker
-                                               [/(<span[^>]+(?:mso-list:|:\s*symbol)[^>]+>)/gi, '$1__MCE_ITEM__'],             // Convert mso-list and symbol spans to item markers
-                                               [/(<p[^>]+(?:MsoListParagraph)[^>]+>)/gi, '$1__MCE_ITEM__']                             // Convert mso-list and symbol paragraphs to item markers (FF)
-                                       ]);
-                               }
-
-                               process([
-                                       // Word comments like conditional comments etc
-                                       /<!--[\s\S]+?-->/gi,
-
-                                       // Remove comments, scripts (e.g., msoShowComment), XML tag, VML content, MS Office namespaced tags, and a few other tags
-                                       /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,
-
-                                       // Convert <s> into <strike> for line-though
-                                       [/<(\/?)s>/gi, "<$1strike>"],
-
-                                       // Replace nsbp entites to char since it's easier to handle
-                                       [/&nbsp;/gi, "\u00a0"]
-                               ]);
-
-                               // Remove bad attributes, with or without quotes, ensuring that attribute text is really inside a tag.
-                               // If JavaScript had a RegExp look-behind, we could have integrated this with the last process() array and got rid of the loop. But alas, it does not, so we cannot.
-                               do {
-                                       len = h.length;
-                                       h = h.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi, "$1");
-                               } while (len != h.length);
-
-                               // Remove all spans if no styles is to be retained
-                               if (getParam(ed, "paste_retain_style_properties").replace(/^none$/i, "").length == 0) {
-                                       h = h.replace(/<\/?span[^>]*>/gi, "");
-                               } else {
-                                       // We're keeping styles, so at least clean them up.
-                                       // CSS Reference: http://msdn.microsoft.com/en-us/library/aa155477.aspx
-
-                                       process([
-                                               // Convert <span style="mso-spacerun:yes">___</span> to string of alternating breaking/non-breaking spaces of same length
-                                               [/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,
-                                                       function(str, spaces) {
-                                                               return (spaces.length > 0)? spaces.replace(/./, " ").slice(Math.floor(spaces.length/2)).split("").join("\u00a0") : "";
-                                                       }
-                                               ],
-
-                                               // Examine all styles: delete junk, transform some, and keep the rest
-                                               [/(<[a-z][^>]*)\sstyle="([^"]*)"/gi,
-                                                       function(str, tag, style) {
-                                                               var n = [],
-                                                                       i = 0,
-                                                                       s = explode(trim(style).replace(/&quot;/gi, "'"), ";");
-
-                                                               // Examine each style definition within the tag's style attribute
-                                                               each(s, function(v) {
-                                                                       var name, value,
-                                                                               parts = explode(v, ":");
-
-                                                                       function ensureUnits(v) {
-                                                                               return v + ((v !== "0") && (/\d$/.test(v)))? "px" : "";
-                                                                       }
-
-                                                                       if (parts.length == 2) {
-                                                                               name = parts[0].toLowerCase();
-                                                                               value = parts[1].toLowerCase();
-
-                                                                               // Translate certain MS Office styles into their CSS equivalents
-                                                                               switch (name) {
-                                                                                       case "mso-padding-alt":
-                                                                                       case "mso-padding-top-alt":
-                                                                                       case "mso-padding-right-alt":
-                                                                                       case "mso-padding-bottom-alt":
-                                                                                       case "mso-padding-left-alt":
-                                                                                       case "mso-margin-alt":
-                                                                                       case "mso-margin-top-alt":
-                                                                                       case "mso-margin-right-alt":
-                                                                                       case "mso-margin-bottom-alt":
-                                                                                       case "mso-margin-left-alt":
-                                                                                       case "mso-table-layout-alt":
-                                                                                       case "mso-height":
-                                                                                       case "mso-width":
-                                                                                       case "mso-vertical-align-alt":
-                                                                                               n[i++] = name.replace(/^mso-|-alt$/g, "") + ":" + ensureUnits(value);
-                                                                                               return;
-
-                                                                                       case "horiz-align":
-                                                                                               n[i++] = "text-align:" + value;
-                                                                                               return;
-
-                                                                                       case "vert-align":
-                                                                                               n[i++] = "vertical-align:" + value;
-                                                                                               return;
-
-                                                                                       case "font-color":
-                                                                                       case "mso-foreground":
-                                                                                               n[i++] = "color:" + value;
-                                                                                               return;
-
-                                                                                       case "mso-background":
-                                                                                       case "mso-highlight":
-                                                                                               n[i++] = "background:" + value;
-                                                                                               return;
-
-                                                                                       case "mso-default-height":
-                                                                                               n[i++] = "min-height:" + ensureUnits(value);
-                                                                                               return;
-
-                                                                                       case "mso-default-width":
-                                                                                               n[i++] = "min-width:" + ensureUnits(value);
-                                                                                               return;
-
-                                                                                       case "mso-padding-between-alt":
-                                                                                               n[i++] = "border-collapse:separate;border-spacing:" + ensureUnits(value);
-                                                                                               return;
-
-                                                                                       case "text-line-through":
-                                                                                               if ((value == "single") || (value == "double")) {
-                                                                                                       n[i++] = "text-decoration:line-through";
-                                                                                               }
-                                                                                               return;
-
-                                                                                       case "mso-zero-height":
-                                                                                               if (value == "yes") {
-                                                                                                       n[i++] = "display:none";
-                                                                                               }
-                                                                                               return;
-                                                                               }
-
-                                                                               // Eliminate all MS Office style definitions that have no CSS equivalent by examining the first characters in the name
-                                                                               if (/^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?!align|decor|indent|trans)|top-bar|version|vnd|word-break)/.test(name)) {
-                                                                                       return;
-                                                                               }
-
-                                                                               // If it reached this point, it must be a valid CSS style
-                                                                               n[i++] = name + ":" + parts[1];         // Lower-case name, but keep value case
-                                                                       }
-                                                               });
-
-                                                               // If style attribute contained any valid styles the re-write it; otherwise delete style attribute.
-                                                               if (i > 0) {
-                                                                       return tag + ' style="' + n.join(';') + '"';
-                                                               } else {
-                                                                       return tag;
-                                                               }
-                                                       }
-                                               ]
-                                       ]);
-                               }
-                       }
-
-                       // Replace headers with <strong>
-                       if (getParam(ed, "paste_convert_headers_to_strong")) {
-                               process([
-                                       [/<h[1-6][^>]*>/gi, "<p><strong>"],
-                                       [/<\/h[1-6][^>]*>/gi, "</strong></p>"]
-                               ]);
-                       }
-
-                       process([
-                               // Copy paste from Java like Open Office will produce this junk on FF
-                               [/Version:[\d.]+\nStartHTML:\d+\nEndHTML:\d+\nStartFragment:\d+\nEndFragment:\d+/gi, '']
-                       ]);
-
-                       // Class attribute options are: leave all as-is ("none"), remove all ("all"), or remove only those starting with mso ("mso").
-                       // Note:-  paste_strip_class_attributes: "none", verify_css_classes: true is also a good variation.
-                       stripClass = getParam(ed, "paste_strip_class_attributes");
-
-                       if (stripClass !== "none") {
-                               function removeClasses(match, g1) {
-                                               if (stripClass === "all")
-                                                       return '';
-
-                                               var cls = grep(explode(g1.replace(/^(["'])(.*)\1$/, "$2"), " "),
-                                                       function(v) {
-                                                               return (/^(?!mso)/i.test(v));
-                                                       }
-                                               );
-
-                                               return cls.length ? ' class="' + cls.join(" ") + '"' : '';
-                               };
-
-                               h = h.replace(/ class="([^"]+)"/gi, removeClasses);
-                               h = h.replace(/ class=([\-\w]+)/gi, removeClasses);
-                       }
-
-                       // Remove spans option
-                       if (getParam(ed, "paste_remove_spans")) {
-                               h = h.replace(/<\/?span[^>]*>/gi, "");
-                       }
-
-                       //console.log('After preprocess:' + h);
-
-                       o.content = h;
-               },
-
-               /**
-                * Various post process items.
-                */
-               _postProcess : function(pl, o) {
-                       var t = this, ed = t.editor, dom = ed.dom, styleProps;
-
-                       if (ed.settings.paste_enable_default_filters == false) {
-                               return;
-                       }
-                       
-                       if (o.wordContent) {
-                               // Remove named anchors or TOC links
-                               each(dom.select('a', o.node), function(a) {
-                                       if (!a.href || a.href.indexOf('#_Toc') != -1)
-                                               dom.remove(a, 1);
-                               });
-
-                               if (getParam(ed, "paste_convert_middot_lists")) {
-                                       t._convertLists(pl, o);
-                               }
-
-                               // Process styles
-                               styleProps = getParam(ed, "paste_retain_style_properties"); // retained properties
-
-                               // Process only if a string was specified and not equal to "all" or "*"
-                               if ((tinymce.is(styleProps, "string")) && (styleProps !== "all") && (styleProps !== "*")) {
-                                       styleProps = tinymce.explode(styleProps.replace(/^none$/i, ""));
-
-                                       // Retains some style properties
-                                       each(dom.select('*', o.node), function(el) {
-                                               var newStyle = {}, npc = 0, i, sp, sv;
-
-                                               // Store a subset of the existing styles
-                                               if (styleProps) {
-                                                       for (i = 0; i < styleProps.length; i++) {
-                                                               sp = styleProps[i];
-                                                               sv = dom.getStyle(el, sp);
-
-                                                               if (sv) {
-                                                                       newStyle[sp] = sv;
-                                                                       npc++;
-                                                               }
-                                                       }
-                                               }
-
-                                               // Remove all of the existing styles
-                                               dom.setAttrib(el, 'style', '');
-
-                                               if (styleProps && npc > 0)
-                                                       dom.setStyles(el, newStyle); // Add back the stored subset of styles
-                                               else // Remove empty span tags that do not have class attributes
-                                                       if (el.nodeName == 'SPAN' && !el.className)
-                                                               dom.remove(el, true);
-                                       });
-                               }
-                       }
-
-                       // Remove all style information or only specifically on WebKit to avoid the style bug on that browser
-                       if (getParam(ed, "paste_remove_styles") || (getParam(ed, "paste_remove_styles_if_webkit") && tinymce.isWebKit)) {
-                               each(dom.select('*[style]', o.node), function(el) {
-                                       el.removeAttribute('style');
-                                       el.removeAttribute('data-mce-style');
-                               });
-                       } else {
-                               if (tinymce.isWebKit) {
-                                       // We need to compress the styles on WebKit since if you paste <img border="0" /> it will become <img border="0" style="... lots of junk ..." />
-                                       // Removing the mce_style that contains the real value will force the Serializer engine to compress the styles
-                                       each(dom.select('*', o.node), function(el) {
-                                               el.removeAttribute('data-mce-style');
-                                       });
-                               }
-                       }
-               },
-
-               /**
-                * Converts the most common bullet and number formats in Office into a real semantic UL/LI list.
-                */
-               _convertLists : function(pl, o) {
-                       var dom = pl.editor.dom, listElm, li, lastMargin = -1, margin, levels = [], lastType, html;
-
-                       // Convert middot lists into real semantic lists
-                       each(dom.select('p', o.node), function(p) {
-                               var sib, val = '', type, html, idx, parents;
-
-                               // Get text node value at beginning of paragraph
-                               for (sib = p.firstChild; sib && sib.nodeType == 3; sib = sib.nextSibling)
-                                       val += sib.nodeValue;
-
-                               val = p.innerHTML.replace(/<\/?\w+[^>]*>/gi, '').replace(/&nbsp;/g, '\u00a0');
-
-                               // Detect unordered lists look for bullets
-                               if (/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*\u00a0*/.test(val))
-                                       type = 'ul';
-
-                               // Detect ordered lists 1., a. or ixv.
-                               if (/^__MCE_ITEM__\s*\w+\.\s*\u00a0+/.test(val))
-                                       type = 'ol';
-
-                               // Check if node value matches the list pattern: o&nbsp;&nbsp;
-                               if (type) {
-                                       margin = parseFloat(p.style.marginLeft || 0);
-
-                                       if (margin > lastMargin)
-                                               levels.push(margin);
-
-                                       if (!listElm || type != lastType) {
-                                               listElm = dom.create(type);
-                                               dom.insertAfter(listElm, p);
-                                       } else {
-                                               // Nested list element
-                                               if (margin > lastMargin) {
-                                                       listElm = li.appendChild(dom.create(type));
-                                               } else if (margin < lastMargin) {
-                                                       // Find parent level based on margin value
-                                                       idx = tinymce.inArray(levels, margin);
-                                                       parents = dom.getParents(listElm.parentNode, type);
-                                                       listElm = parents[parents.length - 1 - idx] || listElm;
-                                               }
-                                       }
-
-                                       // Remove middot or number spans if they exists
-                                       each(dom.select('span', p), function(span) {
-                                               var html = span.innerHTML.replace(/<\/?\w+[^>]*>/gi, '');
-
-                                               // Remove span with the middot or the number
-                                               if (type == 'ul' && /^__MCE_ITEM__[\u2022\u00b7\u00a7\u00d8o\u25CF]/.test(html))
-                                                       dom.remove(span);
-                                               else if (/^__MCE_ITEM__[\s\S]*\w+\.(&nbsp;|\u00a0)*\s*/.test(html))
-                                                       dom.remove(span);
-                                       });
-
-                                       html = p.innerHTML;
-
-                                       // Remove middot/list items
-                                       if (type == 'ul')
-                                               html = p.innerHTML.replace(/__MCE_ITEM__/g, '').replace(/^[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*(&nbsp;|\u00a0)+\s*/, '');
-                                       else
-                                               html = p.innerHTML.replace(/__MCE_ITEM__/g, '').replace(/^\s*\w+\.(&nbsp;|\u00a0)+\s*/, '');
-
-                                       // Create li and add paragraph data into the new li
-                                       li = listElm.appendChild(dom.create('li', 0, html));
-                                       dom.remove(p);
-
-                                       lastMargin = margin;
-                                       lastType = type;
-                               } else
-                                       listElm = lastMargin = 0; // End list element
-                       });
-
-                       // Remove any left over makers
-                       html = o.node.innerHTML;
-                       if (html.indexOf('__MCE_ITEM__') != -1)
-                               o.node.innerHTML = html.replace(/__MCE_ITEM__/g, '');
-               },
-
-               /**
-                * Inserts the specified contents at the caret position.
-                */
-               _insert : function(h, skip_undo) {
-                       var ed = this.editor, r = ed.selection.getRng();
-
-                       // First delete the contents seems to work better on WebKit when the selection spans multiple list items or multiple table cells.
-                       if (!ed.selection.isCollapsed() && r.startContainer != r.endContainer)
-                               ed.getDoc().execCommand('Delete', false, null);
-
-                       ed.execCommand('mceInsertContent', false, h, {skip_undo : skip_undo});
-               },
-
-               /**
-                * Instead of the old plain text method which tried to re-create a paste operation, the
-                * new approach adds a plain text mode toggle switch that changes the behavior of paste.
-                * This function is passed the same input that the regular paste plugin produces.
-                * It performs additional scrubbing and produces (and inserts) the plain text.
-                * This approach leverages all of the great existing functionality in the paste
-                * plugin, and requires minimal changes to add the new functionality.
-                * Speednet - June 2009
-                */
-               _insertPlainText : function(content) {
-                       var ed = this.editor,
-                               linebr = getParam(ed, "paste_text_linebreaktype"),
-                               rl = getParam(ed, "paste_text_replacements"),
-                               is = tinymce.is;
-
-                       function process(items) {
-                               each(items, function(v) {
-                                       if (v.constructor == RegExp)
-                                               content = content.replace(v, "");
-                                       else
-                                               content = content.replace(v[0], v[1]);
-                               });
-                       };
-
-                       if ((typeof(content) === "string") && (content.length > 0)) {
-                               // If HTML content with line-breaking tags, then remove all cr/lf chars because only tags will break a line
-                               if (/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(content)) {
-                                       process([
-                                               /[\n\r]+/g
-                                       ]);
-                               } else {
-                                       // Otherwise just get rid of carriage returns (only need linefeeds)
-                                       process([
-                                               /\r+/g
-                                       ]);
-                               }
-
-                               process([
-                                       [/<\/(?:p|h[1-6]|ul|ol|dl|table|div|blockquote|fieldset|pre|address|center)>/gi, "\n\n"],               // Block tags get a blank line after them
-                                       [/<br[^>]*>|<\/tr>/gi, "\n"],                           // Single linebreak for <br /> tags and table rows
-                                       [/<\/t[dh]>\s*<t[dh][^>]*>/gi, "\t"],           // Table cells get tabs betweem them
-                                       /<[a-z!\/?][^>]*>/gi,                                           // Delete all remaining tags
-                                       [/&nbsp;/gi, " "],                                                      // Convert non-break spaces to regular spaces (remember, *plain text*)
-                                       [/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi, "$1"] // Cool little RegExp deletes whitespace around linebreak chars.
-                               ]);
-
-                               var maxLinebreaks = Number(getParam(ed, "paste_max_consecutive_linebreaks"));
-                               if (maxLinebreaks > -1) {
-                                       var maxLinebreaksRegex = new RegExp("\n{" + (maxLinebreaks + 1) + ",}", "g");
-                                       var linebreakReplacement = "";
-
-                                       while (linebreakReplacement.length < maxLinebreaks) {
-                                               linebreakReplacement += "\n";
-                                       }
-
-                                       process([
-                                               [maxLinebreaksRegex, linebreakReplacement] // Limit max consecutive linebreaks
-                                       ]);
-                               }
-
-                               content = ed.dom.decode(tinymce.html.Entities.encodeRaw(content));
-
-                               // Perform default or custom replacements
-                               if (is(rl, "array")) {
-                                       process(rl);
-                               } else if (is(rl, "string")) {
-                                       process(new RegExp(rl, "gi"));
-                               }
-
-                               // Treat paragraphs as specified in the config
-                               if (linebr == "none") {
-                                       // Convert all line breaks to space
-                                       process([
-                                               [/\n+/g, " "]
-                                       ]);
-                               } else if (linebr == "br") {
-                                       // Convert all line breaks to <br />
-                                       process([
-                                               [/\n/g, "<br />"]
-                                       ]);
-                               } else if (linebr == "p") {
-                                       // Convert all line breaks to <p>...</p>
-                                       process([
-                                               [/\n+/g, "</p><p>"],
-                                               [/^(.*<\/p>)(<p>)$/, '<p>$1']
-                                       ]);
-                               } else {
-                                       // defaults to "combined"
-                                       // Convert single line breaks to <br /> and double line breaks to <p>...</p>
-                                       process([
-                                               [/\n\n/g, "</p><p>"],
-                                               [/^(.*<\/p>)(<p>)$/, '<p>$1'],
-                                               [/\n/g, "<br />"]
-                                       ]);
-                               }
-
-                               ed.execCommand('mceInsertContent', false, content);
-                       }
-               },
-
-               /**
-                * This method will open the old style paste dialogs. Some users might want the old behavior but still use the new cleanup engine.
-                */
-               _legacySupport : function() {
-                       var t = this, ed = t.editor;
-
-                       // Register command(s) for backwards compatibility
-                       ed.addCommand("mcePasteWord", function() {
-                               ed.windowManager.open({
-                                       file: t.url + "/pasteword.htm",
-                                       width: parseInt(getParam(ed, "paste_dialog_width")),
-                                       height: parseInt(getParam(ed, "paste_dialog_height")),
-                                       inline: 1
-                               });
-                       });
-
-                       if (getParam(ed, "paste_text_use_dialog")) {
-                               ed.addCommand("mcePasteText", function() {
-                                       ed.windowManager.open({
-                                               file : t.url + "/pastetext.htm",
-                                               width: parseInt(getParam(ed, "paste_dialog_width")),
-                                               height: parseInt(getParam(ed, "paste_dialog_height")),
-                                               inline : 1
-                                       });
-                               });
-                       }
-
-                       // Register button for backwards compatibility
-                       ed.addButton("pasteword", {title : "paste.paste_word_desc", cmd : "mcePasteWord"});
-               }
-       });
-
-       // Register plugin
-       tinymce.PluginManager.add("paste", tinymce.plugins.PastePlugin);
-})();
diff --git a/wp-includes/js/tinymce/plugins/paste/js/pastetext.js b/wp-includes/js/tinymce/plugins/paste/js/pastetext.js
deleted file mode 100644 (file)
index 81b1d6a..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-tinyMCEPopup.requireLangPack();
-
-var PasteTextDialog = {
-       init : function() {
-               this.resize();
-       },
-
-       insert : function() {
-               var h = tinyMCEPopup.dom.encode(document.getElementById('content').value), lines;
-
-               // Convert linebreaks into paragraphs
-               if (document.getElementById('linebreaks').checked) {
-                       lines = h.split(/\r?\n/);
-                       if (lines.length > 1) {
-                               h = '';
-                               tinymce.each(lines, function(row) {
-                                       h += '<p>' + row + '</p>';
-                               });
-                       }
-               }
-
-               tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h});
-               tinyMCEPopup.close();
-       },
-
-       resize : function() {
-               var vp = tinyMCEPopup.dom.getViewPort(window), el;
-
-               el = document.getElementById('content');
-
-               el.style.width  = (vp.w - 20) + 'px';
-               el.style.height = (vp.h - 90) + 'px';
-       }
-};
-
-tinyMCEPopup.onInit.add(PasteTextDialog.init, PasteTextDialog);
diff --git a/wp-includes/js/tinymce/plugins/paste/js/pasteword.js b/wp-includes/js/tinymce/plugins/paste/js/pasteword.js
deleted file mode 100644 (file)
index 959bf39..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-tinyMCEPopup.requireLangPack();
-
-var PasteWordDialog = {
-       init : function() {
-               var ed = tinyMCEPopup.editor, el = document.getElementById('iframecontainer'), ifr, doc, css, cssHTML = '';
-
-               // Create iframe
-               el.innerHTML = '<iframe id="iframe" src="javascript:\'\';" frameBorder="0" style="border: 1px solid gray"></iframe>';
-               ifr = document.getElementById('iframe');
-               doc = ifr.contentWindow.document;
-
-               // Force absolute CSS urls
-               css = [ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css")];
-               css = css.concat(tinymce.explode(ed.settings.content_css) || []);
-               tinymce.each(css, function(u) {
-                       cssHTML += '<link href="' + ed.documentBaseURI.toAbsolute('' + u) + '" rel="stylesheet" type="text/css" />';
-               });
-
-               // Write content into iframe
-               doc.open();
-               doc.write('<html><head>' + cssHTML + '</head><body class="mceContentBody" spellcheck="false"></body></html>');
-               doc.close();
-
-               doc.designMode = 'on';
-               this.resize();
-
-               window.setTimeout(function() {
-                       ifr.contentWindow.focus();
-               }, 10);
-       },
-
-       insert : function() {
-               var h = document.getElementById('iframe').contentWindow.document.body.innerHTML;
-
-               tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h, wordContent : true});
-               tinyMCEPopup.close();
-       },
-
-       resize : function() {
-               var vp = tinyMCEPopup.dom.getViewPort(window), el;
-
-               el = document.getElementById('iframe');
-
-               if (el) {
-                       el.style.width  = (vp.w - 20) + 'px';
-                       el.style.height = (vp.h - 90) + 'px';
-               }
-       }
-};
-
-tinyMCEPopup.onInit.add(PasteWordDialog.init, PasteWordDialog);
diff --git a/wp-includes/js/tinymce/plugins/paste/pastetext.htm b/wp-includes/js/tinymce/plugins/paste/pastetext.htm
deleted file mode 100644 (file)
index 73164d8..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <title>{#paste.paste_text_desc}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=359-20131010"></script>
-       <script type="text/javascript" src="js/pastetext.js?ver=359-20131010"></script>
-</head>
-<body onresize="PasteTextDialog.resize();" style="display:none; overflow:hidden;">
-       <form name="source" onsubmit="return PasteTextDialog.insert();" action="#">
-               <div style="float: left" class="title">{#paste.paste_text_desc}</div>
-
-               <div style="float: right">
-                       <input type="checkbox" name="linebreaks" id="linebreaks" class="wordWrapCode" checked="checked" /><label for="linebreaks">{#paste_dlg.text_linebreaks}</label>
-               </div>
-
-               <br style="clear: both" />
-
-               <div>{#paste_dlg.text_title}</div>
-
-               <textarea id="content" name="content" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px;" dir="ltr" wrap="soft" class="mceFocus"></textarea>
-
-               <div class="mceActionPanel">
-                       <input type="submit" name="insert" value="{#insert}" id="insert" />
-                       <input type="button" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
-               </div>
-       </form>
-</body> 
-</html>
diff --git a/wp-includes/js/tinymce/plugins/paste/pasteword.htm b/wp-includes/js/tinymce/plugins/paste/pasteword.htm
deleted file mode 100644 (file)
index 6b6cf12..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <title>{#paste.paste_word_desc}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=359-20131010"></script>
-       <script type="text/javascript" src="js/pasteword.js?ver=359-20131010"></script>
-</head>
-<body onresize="PasteWordDialog.resize();" style="display:none; overflow:hidden;">
-       <form name="source" onsubmit="return PasteWordDialog.insert();" action="#">
-               <div class="title">{#paste.paste_word_desc}</div>
-
-               <div>{#paste_dlg.word_title}</div>
-
-               <div id="iframecontainer"></div>
-
-               <div class="mceActionPanel">
-                       <input type="submit" id="insert" name="insert" value="{#insert}" />
-                       <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
-               </div>
-       </form>
-</body>
-</html>
diff --git a/wp-includes/js/tinymce/plugins/paste/plugin.js b/wp-includes/js/tinymce/plugins/paste/plugin.js
new file mode 100644 (file)
index 0000000..d447904
--- /dev/null
@@ -0,0 +1,1347 @@
+/**
+ * Compiled inline version. (Library mode)
+ */
+
+/*jshint smarttabs:true, undef:true, latedef:true, curly:true, bitwise:true, camelcase:true */
+/*globals $code */
+
+(function(exports, undefined) {
+       "use strict";
+
+       var modules = {};
+
+       function require(ids, callback) {
+               var module, defs = [];
+
+               for (var i = 0; i < ids.length; ++i) {
+                       module = modules[ids[i]] || resolve(ids[i]);
+                       if (!module) {
+                               throw 'module definition dependecy not found: ' + ids[i];
+                       }
+
+                       defs.push(module);
+               }
+
+               callback.apply(null, defs);
+       }
+
+       function define(id, dependencies, definition) {
+               if (typeof id !== 'string') {
+                       throw 'invalid module definition, module id must be defined and be a string';
+               }
+
+               if (dependencies === undefined) {
+                       throw 'invalid module definition, dependencies must be specified';
+               }
+
+               if (definition === undefined) {
+                       throw 'invalid module definition, definition function must be specified';
+               }
+
+               require(dependencies, function() {
+                       modules[id] = definition.apply(null, arguments);
+               });
+       }
+
+       function defined(id) {
+               return !!modules[id];
+       }
+
+       function resolve(id) {
+               var target = exports;
+               var fragments = id.split(/[.\/]/);
+
+               for (var fi = 0; fi < fragments.length; ++fi) {
+                       if (!target[fragments[fi]]) {
+                               return;
+                       }
+
+                       target = target[fragments[fi]];
+               }
+
+               return target;
+       }
+
+       function expose(ids) {
+               for (var i = 0; i < ids.length; i++) {
+                       var target = exports;
+                       var id = ids[i];
+                       var fragments = id.split(/[.\/]/);
+
+                       for (var fi = 0; fi < fragments.length - 1; ++fi) {
+                               if (target[fragments[fi]] === undefined) {
+                                       target[fragments[fi]] = {};
+                               }
+
+                               target = target[fragments[fi]];
+                       }
+
+                       target[fragments[fragments.length - 1]] = modules[id];
+               }
+       }
+
+// Included from: js/tinymce/plugins/paste/classes/Utils.js
+
+/**
+ * Utils.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/**
+ * This class contails various utility functions for the paste plugin.
+ *
+ * @class tinymce.pasteplugin.Clipboard
+ * @private
+ */
+define("tinymce/pasteplugin/Utils", [
+       "tinymce/util/Tools",
+       "tinymce/html/DomParser",
+       "tinymce/html/Schema"
+], function(Tools, DomParser, Schema) {
+       function filter(content, items) {
+               Tools.each(items, function(v) {
+                       if (v.constructor == RegExp) {
+                               content = content.replace(v, '');
+                       } else {
+                               content = content.replace(v[0], v[1]);
+                       }
+               });
+
+               return content;
+       }
+
+       /**
+        * Gets the innerText of the specified element. It will handle edge cases
+        * and works better than textContent on Gecko.
+        *
+        * @param {String} html HTML string to get text from.
+        * @return {String} String of text with line feeds.
+        */
+       function innerText(html) {
+               var schema = new Schema(), domParser = new DomParser({}, schema), text = '';
+               var shortEndedElements = schema.getShortEndedElements();
+               var ignoreElements = Tools.makeMap('script noscript style textarea video audio iframe object', ' ');
+               var blockElements = schema.getBlockElements();
+
+               function walk(node) {
+                       var name = node.name, currentNode = node;
+
+                       if (name === 'br') {
+                               text += '\n';
+                               return;
+                       }
+
+                       // img/input/hr
+                       if (shortEndedElements[name]) {
+                               text += ' ';
+                       }
+
+                       // Ingore script, video contents
+                       if (ignoreElements[name]) {
+                               text += ' ';
+                               return;
+                       }
+
+                       if (node.type == 3) {
+                               text += node.value;
+                       }
+
+                       // Walk all children
+                       if (!node.shortEnded) {
+                               if ((node = node.firstChild)) {
+                                       do {
+                                               walk(node);
+                                       } while ((node = node.next));
+                               }
+                       }
+
+                       // Add \n or \n\n for blocks or P
+                       if (blockElements[name] && currentNode.next) {
+                               text += '\n';
+
+                               if (name == 'p') {
+                                       text += '\n';
+                               }
+                       }
+               }
+
+               walk(domParser.parse(html));
+
+               return text;
+       }
+
+       return {
+               filter: filter,
+               innerText: innerText
+       };
+});
+
+// Included from: js/tinymce/plugins/paste/classes/Clipboard.js
+
+/**
+ * Clipboard.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/**
+ * This class contains logic for getting HTML contents out of the clipboard.
+ *
+ * We need to make a lot of ugly hacks to get the contents out of the clipboard since
+ * the W3C Clipboard API is broken in all browsers that have it: Gecko/WebKit/Blink.
+ * We might rewrite this the way those API:s stabilize. Browsers doesn't handle pasting
+ * from applications like Word the same way as it does when pasting into a contentEditable area
+ * so we need to do lots of extra work to try to get to this clipboard data.
+ *
+ * Current implementation steps:
+ *  1. On keydown with paste keys Ctrl+V or Shift+Insert create
+ *     a paste bin element and move focus to that element.
+ *  2. Wait for the browser to fire a "paste" event and get the contents out of the paste bin.
+ *  3. Check if the paste was successful if true, process the HTML.
+ *  (4). If the paste was unsuccessful use IE execCommand, Clipboard API, document.dataTransfer old WebKit API etc.
+ * 
+ * @class tinymce.pasteplugin.Clipboard
+ * @private
+ */
+define("tinymce/pasteplugin/Clipboard", [
+       "tinymce/Env",
+       "tinymce/util/VK",
+       "tinymce/pasteplugin/Utils"
+], function(Env, VK, Utils) {
+       return function(editor) {
+               var self = this, pasteBinElm, lastRng, keyboardPasteTimeStamp = 0;
+               var pasteBinDefaultContent = '%MCEPASTEBIN%', keyboardPastePlainTextState;
+
+               /**
+                * Pastes the specified HTML. This means that the HTML is filtered and then
+                * inserted at the current selection in the editor. It will also fire paste events
+                * for custom user filtering.
+                *
+                * @param {String} html HTML code to paste into the current selection.
+                */
+               function pasteHtml(html) {
+                       var args, dom = editor.dom;
+
+                       args = editor.fire('BeforePastePreProcess', {content: html}); // Internal event used by Quirks
+                       args = editor.fire('PastePreProcess', args);
+                       html = args.content;
+
+                       if (!args.isDefaultPrevented()) {
+                               // User has bound PastePostProcess events then we need to pass it through a DOM node
+                               // This is not ideal but we don't want to let the browser mess up the HTML for example
+                               // some browsers add &nbsp; to P tags etc
+                               if (editor.hasEventListeners('PastePostProcess') && !args.isDefaultPrevented()) {
+                                       // We need to attach the element to the DOM so Sizzle selectors work on the contents
+                                       var tempBody = dom.add(editor.getBody(), 'div', {style: 'display:none'}, html);
+                                       args = editor.fire('PastePostProcess', {node: tempBody});
+                                       dom.remove(tempBody);
+                                       html = args.node.innerHTML;
+                               }
+
+                               if (!args.isDefaultPrevented()) {
+                                       editor.insertContent(html);
+                               }
+                       }
+               }
+
+               /**
+                * Pastes the specified text. This means that the plain text is processed
+                * and converted into BR and P elements. It will fire paste events for custom filtering.
+                *
+                * @param {String} text Text to paste as the current selection location.
+                */
+               function pasteText(text) {
+                       text = editor.dom.encode(text).replace(/\r\n/g, '\n');
+
+                       var startBlock = editor.dom.getParent(editor.selection.getStart(), editor.dom.isBlock);
+
+                       // Create start block html for example <p attr="value">
+                       var forcedRootBlockName = editor.settings.forced_root_block;
+                       var forcedRootBlockStartHtml;
+                       if (forcedRootBlockName) {
+                               forcedRootBlockStartHtml = editor.dom.createHTML(forcedRootBlockName, editor.settings.forced_root_block_attrs);
+                               forcedRootBlockStartHtml = forcedRootBlockStartHtml.substr(0, forcedRootBlockStartHtml.length - 3) + '>';
+                       }
+
+                       if ((startBlock && /^(PRE|DIV)$/.test(startBlock.nodeName)) || !forcedRootBlockName) {
+                               text = Utils.filter(text, [
+                                       [/\n/g, "<br>"]
+                               ]);
+                       } else {
+                               text = Utils.filter(text, [
+                                       [/\n\n/g, "</p>" + forcedRootBlockStartHtml],
+                                       [/^(.*<\/p>)(<p>)$/, forcedRootBlockStartHtml + '$1'],
+                                       [/\n/g, "<br />"]
+                               ]);
+
+                               if (text.indexOf('<p>') != -1) {
+                                       text = forcedRootBlockStartHtml + text;
+                               }
+                       }
+
+                       pasteHtml(text);
+               }
+
+               /**
+                * Creates a paste bin element as close as possible to the current caret location and places the focus inside that element
+                * so that when the real paste event occurs the contents gets inserted into this element
+                * instead of the current editor selection element.
+                */
+               function createPasteBin() {
+                       var dom = editor.dom, body = editor.getBody();
+                       var viewport = editor.dom.getViewPort(editor.getWin()), scrollTop = viewport.y, top = 20;
+                       var scrollContainer;
+
+                       lastRng = editor.selection.getRng();
+
+                       if (editor.inline) {
+                               scrollContainer = editor.selection.getScrollContainer();
+
+                               if (scrollContainer) {
+                                       scrollTop = scrollContainer.scrollTop;
+                               }
+                       }
+
+                       // Calculate top cordinate this is needed to avoid scrolling to top of document
+                       // We want the paste bin to be as close to the caret as possible to avoid scrolling
+                       if (lastRng.getClientRects) {
+                               var rects = lastRng.getClientRects();
+
+                               if (rects.length) {
+                                       // Client rects gets us closes to the actual
+                                       // caret location in for example a wrapped paragraph block
+                                       top = scrollTop + (rects[0].top - dom.getPos(body).y);
+                               } else {
+                                       top = scrollTop;
+
+                                       // Check if we can find a closer location by checking the range element
+                                       var container = lastRng.startContainer;
+                                       if (container) {
+                                               if (container.nodeType == 3 && container.parentNode != body) {
+                                                       container = container.parentNode;
+                                               }
+
+                                               if (container.nodeType == 1) {
+                                                       top = dom.getPos(container, scrollContainer || body).y;
+                                               }
+                                       }
+                               }
+                       }
+
+                       // Create a pastebin
+                       pasteBinElm = dom.add(editor.getBody(), 'div', {
+                               id: "mcepastebin",
+                               contentEditable: true,
+                               "data-mce-bogus": "1",
+                               style: 'position: absolute; top: ' + top + 'px;' +
+                                       'width: 10px; height: 10px; overflow: hidden; opacity: 0'
+                       }, pasteBinDefaultContent);
+
+                       // Move paste bin out of sight since the controlSelection rect gets displayed otherwise on IE and Gecko
+                       if (Env.ie || Env.gecko) {
+                               dom.setStyle(pasteBinElm, 'left', dom.getStyle(body, 'direction', true) == 'rtl' ? 0xFFFF : -0xFFFF);
+                       }
+
+                       // Prevent focus events from bubbeling fixed FocusManager issues
+                       dom.bind(pasteBinElm, 'beforedeactivate focusin focusout', function(e) {
+                               e.stopPropagation();
+                       });
+
+                       pasteBinElm.focus();
+                       editor.selection.select(pasteBinElm, true);
+               }
+
+               /**
+                * Removes the paste bin if it exists.
+                */
+               function removePasteBin() {
+                       if (pasteBinElm) {
+                               var pasteBinClone;
+
+                               // WebKit/Blink might clone the div so
+                               // lets make sure we remove all clones
+                               // TODO: Man o man is this ugly. WebKit is the new IE! Remove this if they ever fix it!
+                               while ((pasteBinClone = editor.dom.get('mcepastebin'))) {
+                                       editor.dom.remove(pasteBinClone);
+                                       editor.dom.unbind(pasteBinClone);
+                               }
+
+                               if (lastRng) {
+                                       editor.selection.setRng(lastRng);
+                               }
+                       }
+
+                       keyboardPastePlainTextState = false;
+                       pasteBinElm = lastRng = null;
+               }
+
+               /**
+                * Returns the contents of the paste bin as a HTML string.
+                *
+                * @return {String} Get the contents of the paste bin.
+                */
+               function getPasteBinHtml() {
+                       var html = pasteBinDefaultContent, pasteBinClones, i;
+
+                       // Since WebKit/Chrome might clone the paste bin when pasting
+                       // for example: <img style="float: right"> we need to check if any of them contains some useful html.
+                       // TODO: Man o man is this ugly. WebKit is the new IE! Remove this if they ever fix it!
+                       pasteBinClones = editor.dom.select('div[id=mcepastebin]');
+                       i = pasteBinClones.length;
+                       while (i--) {
+                               var cloneHtml = pasteBinClones[i].innerHTML;
+
+                               if (html == pasteBinDefaultContent) {
+                                       html = '';
+                               }
+
+                               if (cloneHtml.length > html.length) {
+                                       html = cloneHtml;
+                               }
+                       }
+
+                       return html;
+               }
+
+               /**
+                * Gets various content types out of a datatransfer object.
+                *
+                * @param {DataTransfer} dataTransfer Event fired on paste.
+                * @return {Object} Object with mime types and data for those mime types.
+                */
+               function getDataTransferItems(dataTransfer) {
+                       var data = {};
+
+                       if (dataTransfer && dataTransfer.types) {
+                               // Use old WebKit API
+                               var legacyText = dataTransfer.getData('Text');
+                               if (legacyText && legacyText.length > 0) {
+                                       data['text/plain'] = legacyText;
+                               }
+
+                               for (var i = 0; i < dataTransfer.types.length; i++) {
+                                       var contentType = dataTransfer.types[i];
+                                       data[contentType] = dataTransfer.getData(contentType);
+                               }
+                       }
+
+                       return data;
+               }
+
+               /**
+                * Gets various content types out of the Clipboard API. It will also get the
+                * plain text using older IE and WebKit API:s.
+                *
+                * @param {ClipboardEvent} clipboardEvent Event fired on paste.
+                * @return {Object} Object with mime types and data for those mime types.
+                */
+               function getClipboardContent(clipboardEvent) {
+                       return getDataTransferItems(clipboardEvent.clipboardData || editor.getDoc().dataTransfer);
+               }
+
+               /**
+                * Checks if the clipboard contains image data if it does it will take that data
+                * and convert it into a data url image and paste that image at the caret location.
+                *
+                * @param  {ClipboardEvent} e Paste event object.
+                * @param  {Object} clipboardContent Collection of clipboard contents.
+                * @return {Boolean} true/false if the image data was found or not.
+                */
+               function pasteImageData(e, clipboardContent) {
+                       function pasteImage(item) {
+                               if (items[i].type == 'image/png') {
+                                       var reader = new FileReader();
+
+                                       reader.onload = function() {
+                                               pasteHtml('<img src="' + reader.result + '">');
+                                       };
+
+                                       reader.readAsDataURL(item.getAsFile());
+
+                                       return true;
+                               }
+                       }
+
+                       // If paste data images are disabled or there is HTML or plain text
+                       // contents then proceed with the normal paste process
+                       if (!editor.settings.paste_data_images || "text/html" in clipboardContent || "text/plain" in clipboardContent) {
+                               return;
+                       }
+
+                       if (e.clipboardData) {
+                               var items = e.clipboardData.items;
+
+                               if (items) {
+                                       for (var i = 0; i < items.length; i++) {
+                                               if (pasteImage(items[i])) {
+                                                       return true;
+                                               }
+                                       }
+                               }
+                       }
+               }
+
+               function getCaretRangeFromEvent(e) {
+                       var doc = editor.getDoc(), rng;
+
+                       if (doc.caretPositionFromPoint) {
+                               var point = doc.caretPositionFromPoint(e.clientX, e.clientY);
+                               rng = doc.createRange();
+                               rng.setStart(point.offsetNode, point.offset);
+                               rng.collapse(true);
+                       } else if (doc.caretRangeFromPoint) {
+                               rng = doc.caretRangeFromPoint(e.clientX, e.clientY);
+                       }
+
+                       return rng;
+               }
+
+               function hasContentType(clipboardContent, mimeType) {
+                       return mimeType in clipboardContent && clipboardContent[mimeType].length > 0;
+               }
+
+               function registerEventHandlers() {
+                       editor.on('keydown', function(e) {
+                               if (e.isDefaultPrevented()) {
+                                       return;
+                               }
+
+                               // Ctrl+V or Shift+Insert
+                               if ((VK.metaKeyPressed(e) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45)) {
+                                       keyboardPastePlainTextState = e.shiftKey && e.keyCode == 86;
+
+                                       // Prevent undoManager keydown handler from making an undo level with the pastebin in it
+                                       e.stopImmediatePropagation();
+
+                                       keyboardPasteTimeStamp = new Date().getTime();
+
+                                       // IE doesn't support Ctrl+Shift+V and it doesn't even produce a paste event
+                                       // so lets fake a paste event and let IE use the execCommand/dataTransfer methods
+                                       if (Env.ie && keyboardPastePlainTextState) {
+                                               e.preventDefault();
+                                               editor.fire('paste', {ieFake: true});
+                                               return;
+                                       }
+
+                                       removePasteBin();
+                                       createPasteBin();
+                               }
+                       });
+
+                       editor.on('paste', function(e) {
+                               var clipboardContent = getClipboardContent(e);
+                               var isKeyBoardPaste = new Date().getTime() - keyboardPasteTimeStamp < 1000;
+                               var plainTextMode = self.pasteFormat == "text" || keyboardPastePlainTextState;
+
+                               if (e.isDefaultPrevented()) {
+                                       removePasteBin();
+                                       return;
+                               }
+
+                               if (pasteImageData(e, clipboardContent)) {
+                                       removePasteBin();
+                                       return;
+                               }
+
+                               // Not a keyboard paste prevent default paste and try to grab the clipboard contents using different APIs
+                               if (!isKeyBoardPaste) {
+                                       e.preventDefault();
+                               }
+
+                               // Try IE only method if paste isn't a keyboard paste
+                               if (Env.ie && (!isKeyBoardPaste || e.ieFake)) {
+                                       createPasteBin();
+
+                                       editor.dom.bind(pasteBinElm, 'paste', function(e) {
+                                               e.stopPropagation();
+                                       });
+
+                                       editor.getDoc().execCommand('Paste', false, null);
+                                       clipboardContent["text/html"] = getPasteBinHtml();
+                               }
+
+                               setTimeout(function() {
+                                       var html = getPasteBinHtml();
+
+                                       // WebKit has a nice bug where it clones the paste bin if you paste from for example notepad
+                                       if (pasteBinElm && pasteBinElm.firstChild && pasteBinElm.firstChild.id === 'mcepastebin') {
+                                               plainTextMode = true;
+                                       }
+
+                                       removePasteBin();
+
+                                       // Always use pastebin HTML if it's available since it contains Word contents
+                                       if (!plainTextMode && isKeyBoardPaste && html && html != pasteBinDefaultContent) {
+                                               clipboardContent['text/html'] = html;
+                                       }
+
+                                       if (html == pasteBinDefaultContent || !isKeyBoardPaste) {
+                                               html = clipboardContent['text/html'] || clipboardContent['text/plain'] || pasteBinDefaultContent;
+
+                                               if (html == pasteBinDefaultContent) {
+                                                       if (!isKeyBoardPaste) {
+                                                               editor.windowManager.alert('Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.');
+                                                       }
+
+                                                       return;
+                                               }
+                                       }
+
+                                       // Force plain text mode if we only got a text/plain content type
+                                       if (!hasContentType(clipboardContent, 'text/html') && hasContentType(clipboardContent, 'text/plain')) {
+                                               plainTextMode = true;
+                                       }
+
+                                       if (plainTextMode) {
+                                               pasteText(clipboardContent['text/plain'] || Utils.innerText(html));
+                                       } else {
+                                               pasteHtml(html);
+                                       }
+                               }, 0);
+                       });
+
+                       editor.on('dragstart', function(e) {
+                               if (e.dataTransfer.types) {
+                                       try {
+                                               e.dataTransfer.setData('mce-internal', editor.selection.getContent());
+                                       } catch (ex) {
+                                               // IE 10 throws an error since it doesn't support custom data items
+                                       }
+                               }
+                       });
+
+                       editor.on('drop', function(e) {
+                               var rng = getCaretRangeFromEvent(e);
+
+                               if (rng && !e.isDefaultPrevented()) {
+                                       var dropContent = getDataTransferItems(e.dataTransfer);
+                                       var content = dropContent['mce-internal'] || dropContent['text/html'] || dropContent['text/plain'];
+
+                                       if (content) {
+                                               e.preventDefault();
+
+                                               editor.undoManager.transact(function() {
+                                                       if (dropContent['mce-internal']) {
+                                                               editor.execCommand('Delete');
+                                                       }
+
+                                                       editor.selection.setRng(rng);
+
+                                                       if (!dropContent['text/html']) {
+                                                               pasteText(content);
+                                                       } else {
+                                                               pasteHtml(content);
+                                                       }
+                                               });
+                                       }
+                               }
+                       });
+               }
+
+               self.pasteHtml = pasteHtml;
+               self.pasteText = pasteText;
+
+               editor.on('preInit', function() {
+                       registerEventHandlers();
+
+                       // 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) {
+                                       var i = nodes.length;
+
+                                       while (i--) {
+                                               var src = nodes[i].attributes.map.src;
+                                               if (src && src.indexOf('data:image') === 0) {
+                                                       if (!nodes[i].attr('data-mce-object') && src !== Env.transparentSrc) {
+                                                               nodes[i].remove();
+                                                       }
+                                               }
+                                       }
+                               }
+                       });
+               });
+
+               // Fix for #6504 we need to remove the paste bin on IE if the user paste in a file
+               editor.on('PreProcess', function() {
+                       editor.dom.remove(editor.dom.get('mcepastebin'));
+               });
+       };
+});
+
+// Included from: js/tinymce/plugins/paste/classes/WordFilter.js
+
+/**
+ * WordFilter.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/**
+ * This class parses word HTML into proper TinyMCE markup.
+ *
+ * @class tinymce.pasteplugin.Quirks
+ * @private
+ */
+define("tinymce/pasteplugin/WordFilter", [
+       "tinymce/util/Tools",
+       "tinymce/html/DomParser",
+       "tinymce/html/Schema",
+       "tinymce/html/Serializer",
+       "tinymce/html/Node",
+       "tinymce/pasteplugin/Utils"
+], function(Tools, DomParser, Schema, Serializer, Node, Utils) {
+       /**
+        * Checks if the specified content is from any of the following sources: MS Word/Office 365/Google docs.
+        */
+       function isWordContent(content) {
+               return (
+                       (/<font face="Times New Roman"|class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i).test(content) ||
+                       (/class="OutlineElement/).test(content) ||
+                       (/id="?docs\-internal\-guid\-/.test(content))
+               );
+       }
+
+       function WordFilter(editor) {
+               var settings = editor.settings;
+
+               editor.on('BeforePastePreProcess', function(e) {
+                       var content = e.content, retainStyleProperties, validStyles;
+
+                       retainStyleProperties = settings.paste_retain_style_properties;
+                       if (retainStyleProperties) {
+                               validStyles = Tools.makeMap(retainStyleProperties.split(/[, ]/));
+                       }
+
+                       /**
+                        * Converts fake bullet and numbered lists to real semantic OL/UL.
+                        *
+                        * @param {tinymce.html.Node} node Root node to convert children of.
+                        */
+                       function convertFakeListsToProperLists(node) {
+                               var currentListNode, prevListNode, lastLevel = 1;
+
+                               function convertParagraphToLi(paragraphNode, listStartTextNode, listName, start) {
+                                       var level = paragraphNode._listLevel || lastLevel;
+
+                                       // Handle list nesting
+                                       if (level != lastLevel) {
+                                               if (level < lastLevel) {
+                                                       // Move to parent list
+                                                       if (currentListNode) {
+                                                               currentListNode = currentListNode.parent.parent;
+                                                       }
+                                               } else {
+                                                       // Create new list
+                                                       prevListNode = currentListNode;
+                                                       currentListNode = null;
+                                               }
+                                       }
+
+                                       if (!currentListNode || currentListNode.name != listName) {
+                                               prevListNode = prevListNode || currentListNode;
+                                               currentListNode = new Node(listName, 1);
+
+                                               if (start > 1) {
+                                                       currentListNode.attr('start', '' + start);
+                                               }
+
+                                               paragraphNode.wrap(currentListNode);
+                                       } else {
+                                               currentListNode.append(paragraphNode);
+                                       }
+
+                                       paragraphNode.name = 'li';
+                                       listStartTextNode.value = '';
+
+                                       var nextNode = listStartTextNode.next;
+                                       if (nextNode && nextNode.type == 3) {
+                                               nextNode.value = nextNode.value.replace(/^\u00a0+/, '');
+                                       }
+
+                                       // Append list to previous list if it exists
+                                       if (level > lastLevel && prevListNode) {
+                                               prevListNode.lastChild.append(currentListNode);
+                                       }
+
+                                       lastLevel = level;
+                               }
+
+                               var paragraphs = node.getAll('p');
+
+                               for (var i = 0; i < paragraphs.length; i++) {
+                                       node = paragraphs[i];
+
+                                       if (node.name == 'p' && node.firstChild) {
+                                               // Find first text node in paragraph
+                                               var nodeText = '';
+                                               var listStartTextNode = node.firstChild;
+
+                                               while (listStartTextNode) {
+                                                       nodeText = listStartTextNode.value;
+                                                       if (nodeText) {
+                                                               break;
+                                                       }
+
+                                                       listStartTextNode = listStartTextNode.firstChild;
+                                               }
+
+                                               // Detect unordered lists look for bullets
+                                               if (/^\s*[\u2022\u00b7\u00a7\u00d8\u25CF]\s*$/.test(nodeText)) {
+                                                       convertParagraphToLi(node, listStartTextNode, 'ul');
+                                                       continue;
+                                               }
+
+                                               // Detect ordered lists 1., a. or ixv.
+                                               if (/^\s*\w+\.$/.test(nodeText)) {
+                                                       // Parse OL start number
+                                                       var matches = /([0-9])\./.exec(nodeText);
+                                                       var start = 1;
+                                                       if (matches) {
+                                                               start = parseInt(matches[1], 10);
+                                                       }
+
+                                                       convertParagraphToLi(node, listStartTextNode, 'ol', start);
+                                                       continue;
+                                               }
+
+                                               currentListNode = null;
+                                       }
+                               }
+                       }
+
+                       function filterStyles(node, styleValue) {
+                               var outputStyles = {}, styles = editor.dom.parseStyle(styleValue);
+
+                               // Parse out list indent level for lists
+                               if (node.name === 'p') {
+                                       var matches = /mso-list:\w+ \w+([0-9]+)/.exec(styleValue);
+
+                                       if (matches) {
+                                               node._listLevel = parseInt(matches[1], 10);
+                                       }
+                               }
+
+                               Tools.each(styles, function(value, name) {
+                                       // Convert various MS styles to W3C styles
+                                       switch (name) {
+                                               case "horiz-align":
+                                                       name = "text-align";
+                                                       break;
+
+                                               case "vert-align":
+                                                       name = "vertical-align";
+                                                       break;
+
+                                               case "font-color":
+                                               case "mso-foreground":
+                                                       name = "color";
+                                                       break;
+
+                                               case "mso-background":
+                                               case "mso-highlight":
+                                                       name = "background";
+                                                       break;
+
+                                               case "font-weight":
+                                               case "font-style":
+                                                       if (value != "normal") {
+                                                               outputStyles[name] = value;
+                                                       }
+                                                       return;
+
+                                               case "mso-element":
+                                                       // Remove track changes code
+                                                       if (/^(comment|comment-list)$/i.test(value)) {
+                                                               node.remove();
+                                                               return;
+                                                       }
+
+                                                       break;
+                                       }
+
+                                       if (name.indexOf('mso-comment') === 0) {
+                                               node.remove();
+                                               return;
+                                       }
+
+                                       // Never allow mso- prefixed names
+                                       if (name.indexOf('mso-') === 0) {
+                                               return;
+                                       }
+
+                                       // Output only valid styles
+                                       if (retainStyleProperties == "all" || (validStyles && validStyles[name])) {
+                                               outputStyles[name] = value;
+                                       }
+                               });
+
+                               // Convert bold style to "b" element
+                               if (/(bold)/i.test(outputStyles["font-weight"])) {
+                                       delete outputStyles["font-weight"];
+                                       node.wrap(new Node("b", 1));
+                               }
+
+                               // Convert italic style to "i" element
+                               if (/(italic)/i.test(outputStyles["font-style"])) {
+                                       delete outputStyles["font-style"];
+                                       node.wrap(new Node("i", 1));
+                               }
+
+                               // Serialize the styles and see if there is something left to keep
+                               outputStyles = editor.dom.serializeStyle(outputStyles, node.name);
+                               if (outputStyles) {
+                                       return outputStyles;
+                               }
+
+                               return null;
+                       }
+
+                       if (settings.paste_enable_default_filters === false) {
+                               return;
+                       }
+
+                       // Detect is the contents is Word junk HTML
+                       if (isWordContent(e.content)) {
+                               e.wordContent = true; // Mark it for other processors
+
+                               // Remove basic Word junk
+                               content = Utils.filter(content, [
+                                       // Word comments like conditional comments etc
+                                       /<!--[\s\S]+?-->/gi,
+
+                                       // Remove comments, scripts (e.g., msoShowComment), XML tag, VML content,
+                                       // MS Office namespaced tags, and a few other tags
+                                       /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,
+
+                                       // Convert <s> into <strike> for line-though
+                                       [/<(\/?)s>/gi, "<$1strike>"],
+
+                                       // Replace nsbp entites to char since it's easier to handle
+                                       [/&nbsp;/gi, "\u00a0"],
+
+                                       // Convert <span style="mso-spacerun:yes">___</span> to string of alternating
+                                       // breaking/non-breaking spaces of same length
+                                       [/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,
+                                               function(str, spaces) {
+                                                       return (spaces.length > 0) ?
+                                                               spaces.replace(/./, " ").slice(Math.floor(spaces.length / 2)).split("").join("\u00a0") : "";
+                                               }
+                                       ]
+                               ]);
+
+                               var validElements = settings.paste_word_valid_elements;
+                               if (!validElements) {
+                                       validElements = '-strong/b,-em/i,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,' +
+                                               '-table[width],-tr,-td[colspan|rowspan|width],-th,-thead,-tfoot,-tbody,-a[href|name],sub,sup,strike,br,del';
+                               }
+
+                               // Setup strict schema
+                               var schema = new Schema({
+                                       valid_elements: validElements,
+                                       valid_children: '-li[p]'
+                               });
+
+                               // Add style/class attribute to all element rules since the user might have removed them from
+                               // paste_word_valid_elements config option and we need to check them for properties
+                               Tools.each(schema.elements, function(rule) {
+                                       if (!rule.attributes["class"]) {
+                                               rule.attributes["class"] = {};
+                                               rule.attributesOrder.push("class");
+                                       }
+
+                                       if (!rule.attributes.style) {
+                                               rule.attributes.style = {};
+                                               rule.attributesOrder.push("style");
+                                       }
+                               });
+
+                               // Parse HTML into DOM structure
+                               var domParser = new DomParser({}, schema);
+
+                               // Filter styles to remove "mso" specific styles and convert some of them
+                               domParser.addAttributeFilter('style', function(nodes) {
+                                       var i = nodes.length, node;
+
+                                       while (i--) {
+                                               node = nodes[i];
+                                               node.attr('style', filterStyles(node, node.attr('style')));
+
+                                               // Remove pointess spans
+                                               if (node.name == 'span' && node.parent && !node.attributes.length) {
+                                                       node.unwrap();
+                                               }
+                                       }
+                               });
+
+                               // Check the class attribute for comments or del items and remove those
+                               domParser.addAttributeFilter('class', function(nodes) {
+                                       var i = nodes.length, node, className;
+
+                                       while (i--) {
+                                               node = nodes[i];
+
+                                               className = node.attr('class');
+                                               if (/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(className)) {
+                                                       node.remove();
+                                               }
+
+                                               node.attr('class', null);
+                                       }
+                               });
+
+                               // Remove all del elements since we don't want the track changes code in the editor
+                               domParser.addNodeFilter('del', function(nodes) {
+                                       var i = nodes.length;
+
+                                       while (i--) {
+                                               nodes[i].remove();
+                                       }
+                               });
+
+                               // Keep some of the links and anchors
+                               domParser.addNodeFilter('a', function(nodes) {
+                                       var i = nodes.length, node, href, name;
+
+                                       while (i--) {
+                                               node = nodes[i];
+                                               href = node.attr('href');
+                                               name = node.attr('name');
+
+                                               if (href && href.indexOf('#_msocom_') != -1) {
+                                                       node.remove();
+                                                       continue;
+                                               }
+
+                                               if (href && href.indexOf('file://') === 0) {
+                                                       href = href.split('#')[1];
+                                                       if (href) {
+                                                               href = '#' + href;
+                                                       }
+                                               }
+
+                                               if (!href && !name) {
+                                                       node.unwrap();
+                                               } else {
+                                                       if (name && name.indexOf('Toc') !== 0) {
+                                                               node.unwrap();
+                                                               continue;
+                                                       }
+
+                                                       node.attr({
+                                                               href: href,
+                                                               name: name
+                                                       });
+                                               }
+                                       }
+                               });
+
+                               // Parse into DOM structure
+                               var rootNode = domParser.parse(content);
+
+                               // Process DOM
+                               convertFakeListsToProperLists(rootNode);
+
+                               // Serialize DOM back to HTML
+                               e.content = new Serializer({}, schema).serialize(rootNode);
+                       }
+               });
+       }
+
+       WordFilter.isWordContent = isWordContent;
+
+       return WordFilter;
+});
+
+// Included from: js/tinymce/plugins/paste/classes/Quirks.js
+
+/**
+ * Quirks.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/**
+ * This class contains various fixes for browsers. These issues can not be feature
+ * detected since we have no direct control over the clipboard. However we might be able
+ * to remove some of these fixes once the browsers gets updated/fixed.
+ *
+ * @class tinymce.pasteplugin.Quirks
+ * @private
+ */
+define("tinymce/pasteplugin/Quirks", [
+       "tinymce/Env",
+       "tinymce/util/Tools",
+       "tinymce/pasteplugin/WordFilter",
+       "tinymce/pasteplugin/Utils"
+], function(Env, Tools, WordFilter, Utils) {
+       "use strict";
+
+       return function(editor) {
+               function addPreProcessFilter(filterFunc) {
+                       editor.on('BeforePastePreProcess', function(e) {
+                               e.content = filterFunc(e.content);
+                       });
+               }
+
+               /**
+                * Removes WebKit fragment comments and converted-space spans.
+                *
+                * This:
+                *   <!--StartFragment-->a<span class="Apple-converted-space">&nbsp;</span>b<!--EndFragment-->
+                *
+                * Becomes:
+                *   a&nbsp;b
+                */
+               function removeWebKitFragments(html) {
+                       html = Utils.filter(html, [
+                               /^[\s\S]*<!--StartFragment-->|<!--EndFragment-->[\s\S]*$/g, // WebKit fragment
+                               [/<span class="Apple-converted-space">\u00a0<\/span>/g, '\u00a0'], // WebKit &nbsp;
+                               /<br>$/i // Traling BR elements
+                       ]);
+
+                       return html;
+               }
+
+               /**
+                * Removes BR elements after block elements. IE9 has a nasty bug where it puts a BR element after each
+                * block element when pasting from word. This removes those elements.
+                *
+                * This:
+                *  <p>a</p><br><p>b</p>
+                *
+                * Becomes:
+                *  <p>a</p><p>b</p>
+                */
+               function removeExplorerBrElementsAfterBlocks(html) {
+                       // Only filter word specific content
+                       if (!WordFilter.isWordContent(html)) {
+                               return html;
+                       }
+
+                       // Produce block regexp based on the block elements in schema
+                       var blockElements = [];
+
+                       Tools.each(editor.schema.getBlockElements(), function(block, blockName) {
+                               blockElements.push(blockName);
+                       });
+
+                       var explorerBlocksRegExp = new RegExp(
+                               '(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*(<\\/?(' + blockElements.join('|') + ')[^>]*>)(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*',
+                               'g'
+                       );
+
+                       // Remove BR:s from: <BLOCK>X</BLOCK><BR>
+                       html = Utils.filter(html, [
+                               [explorerBlocksRegExp, '$1']
+                       ]);
+
+                       // IE9 also adds an extra BR element for each soft-linefeed and it also adds a BR for each word wrap break
+                       html = Utils.filter(html, [
+                               [/<br><br>/g, '<BR><BR>'], // Replace multiple BR elements with uppercase BR to keep them intact
+                               [/<br>/g, ' '],            // Replace single br elements with space since they are word wrap BR:s
+                               [/<BR><BR>/g, '<br>']      // Replace back the double brs but into a single BR
+                       ]);
+
+                       return html;
+               }
+
+               /**
+                * WebKit has a nasty bug where the all computed styles gets added to style attributes when copy/pasting contents.
+                * This fix solves that by simply removing the whole style attribute.
+                *
+                * The paste_webkit_styles option can be set to specify what to keep:
+                *  paste_webkit_styles: "none" // Keep no styles
+                *  paste_webkit_styles: "all", // Keep all of them
+                *  paste_webkit_styles: "font-weight color" // Keep specific ones
+                *
+                * @param {String} content Content that needs to be processed.
+                * @return {String} Processed contents.
+                */
+               function removeWebKitStyles(content) {
+                       // Passthrough all styles from Word and let the WordFilter handle that junk
+                       if (WordFilter.isWordContent(content)) {
+                               return content;
+                       }
+
+                       // Filter away styles that isn't matching the target node
+
+                       var webKitStyles = editor.getParam("paste_webkit_styles", "color font-size font-family background-color").split(/[, ]/);
+
+                       if (editor.settings.paste_remove_styles_if_webkit === false) {
+                               webKitStyles = "all";
+                       }
+
+                       // Keep specific styles that doesn't match the current node computed style
+                       if (webKitStyles != "all") {
+                               var dom = editor.dom, node = editor.selection.getNode();
+
+                               content = content.replace(/ style=\"([^\"]+)\"/gi, function(a, value) {
+                                       var inputStyles = dom.parseStyle(value, 'span'), outputStyles = {};
+
+                                       if (webKitStyles === "none") {
+                                               return '';
+                                       }
+
+                                       for (var i = 0; i < webKitStyles.length; i++) {
+                                               if (dom.toHex(dom.getStyle(node, webKitStyles[i], true)) != inputStyles[webKitStyles[i]]) {
+                                                       outputStyles[webKitStyles[i]] = inputStyles[webKitStyles[i]];
+                                               }
+                                       }
+
+                                       outputStyles = dom.serializeStyle(outputStyles, 'span');
+                                       if (outputStyles) {
+                                               return ' style="' + outputStyles + '"';
+                                       }
+
+                                       return '';
+                               });
+                       }
+
+                       return content;
+               }
+
+               // Sniff browsers and apply fixes since we can't feature detect
+               if (Env.webkit) {
+                       addPreProcessFilter(removeWebKitStyles);
+                       addPreProcessFilter(removeWebKitFragments);
+               }
+
+               if (Env.ie) {
+                       addPreProcessFilter(removeExplorerBrElementsAfterBlocks);
+               }
+       };
+});
+
+// Included from: js/tinymce/plugins/paste/classes/Plugin.js
+
+/**
+ * Plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/**
+ * This class contains the tinymce plugin logic for the paste plugin.
+ *
+ * @class tinymce.pasteplugin.Plugin
+ * @private
+ */
+define("tinymce/pasteplugin/Plugin", [
+       "tinymce/PluginManager",
+       "tinymce/pasteplugin/Clipboard",
+       "tinymce/pasteplugin/WordFilter",
+       "tinymce/pasteplugin/Quirks"
+], function(PluginManager, Clipboard, WordFilter, Quirks) {
+       var userIsInformed;
+
+       PluginManager.add('paste', function(editor) {
+               var self = this, clipboard, settings = editor.settings;
+
+               function togglePlainTextPaste() {
+                       if (clipboard.pasteFormat == "text") {
+                               this.active(false);
+                               clipboard.pasteFormat = "html";
+                       } else {
+                               clipboard.pasteFormat = "text";
+                               this.active(true);
+
+                               if (!userIsInformed) {
+                                       editor.windowManager.alert(
+                                               'Paste is now in plain text mode. Contents will now ' +
+                                               'be pasted as plain text until you toggle this option off.'
+                                       );
+
+                                       userIsInformed = true;
+                               }
+                       }
+               }
+
+               self.clipboard = clipboard = new Clipboard(editor);
+               self.quirks = new Quirks(editor);
+               self.wordFilter = new WordFilter(editor);
+
+               if (editor.settings.paste_as_text) {
+                       self.clipboard.pasteFormat = "text";
+               }
+
+               if (settings.paste_preprocess) {
+                       editor.on('PastePreProcess', function(e) {
+                               settings.paste_preprocess.call(self, self, e);
+                       });
+               }
+
+               if (settings.paste_postprocess) {
+                       editor.on('PastePostProcess', function(e) {
+                               settings.paste_postprocess.call(self, self, e);
+                       });
+               }
+
+               editor.addCommand('mceInsertClipboardContent', function(ui, value) {
+                       if (value.content) {
+                               self.clipboard.pasteHtml(value.content);
+                       }
+
+                       if (value.text) {
+                               self.clipboard.pasteText(value.text);
+                       }
+               });
+
+               // Block all drag/drop events
+               if (editor.paste_block_drop) {
+                       editor.on('dragend dragover draggesture dragdrop drop drag', function(e) {
+                               e.preventDefault();
+                               e.stopPropagation();
+                       });
+               }
+
+               // Prevent users from dropping data images on Gecko
+               if (!editor.settings.paste_data_images) {
+                       editor.on('drop', function(e) {
+                               var dataTransfer = e.dataTransfer;
+
+                               if (dataTransfer && dataTransfer.files && dataTransfer.files.length > 0) {
+                                       e.preventDefault();
+                               }
+                       });
+               }
+
+               editor.addButton('pastetext', {
+                       icon: 'pastetext',
+                       tooltip: 'Paste as text',
+                       onclick: togglePlainTextPaste,
+                       active: self.clipboard.pasteFormat == "text"
+               });
+
+               editor.addMenuItem('pastetext', {
+                       text: 'Paste as text',
+                       selectable: true,
+                       active: clipboard.pasteFormat,
+                       onclick: togglePlainTextPaste
+               });
+       });
+});
+
+expose(["tinymce/pasteplugin/Utils","tinymce/pasteplugin/Clipboard","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Quirks","tinymce/pasteplugin/Plugin"]);
+})(this);
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/paste/plugin.min.js b/wp-includes/js/tinymce/plugins/paste/plugin.min.js
new file mode 100644 (file)
index 0000000..1766f64
--- /dev/null
@@ -0,0 +1 @@
+!function(e,t){"use strict";function n(e,t){for(var n,i=[],r=0;r<e.length;++r){if(n=s[e[r]]||o(e[r]),!n)throw"module definition dependecy not found: "+e[r];i.push(n)}t.apply(null,i)}function i(e,i,r){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(i===t)throw"invalid module definition, dependencies must be specified";if(r===t)throw"invalid module definition, definition function must be specified";n(i,function(){s[e]=r.apply(null,arguments)})}function r(e){return!!s[e]}function o(t){for(var n=e,i=t.split(/[.\/]/),r=0;r<i.length;++r){if(!n[i[r]])return;n=n[i[r]]}return n}function a(n){for(var i=0;i<n.length;i++){for(var r=e,o=n[i],a=o.split(/[.\/]/),l=0;l<a.length-1;++l)r[a[l]]===t&&(r[a[l]]={}),r=r[a[l]];r[a[a.length-1]]=s[o]}}var s={},l="tinymce/pasteplugin/Utils",c="tinymce/util/Tools",u="tinymce/html/DomParser",d="tinymce/html/Schema",f="tinymce/pasteplugin/Clipboard",m="tinymce/Env",p="tinymce/util/VK",g="tinymce/pasteplugin/WordFilter",h="tinymce/html/Serializer",v="tinymce/html/Node",b="tinymce/pasteplugin/Quirks",y="tinymce/pasteplugin/Plugin",x="tinymce/PluginManager";i(l,[c,u,d],function(e,t,n){function i(t,n){return e.each(n,function(e){t=e.constructor==RegExp?t.replace(e,""):t.replace(e[0],e[1])}),t}function r(i){function r(e){var t=e.name,n=e;if("br"===t)return void(s+="\n");if(l[t]&&(s+=" "),c[t])return void(s+=" ");if(3==e.type&&(s+=e.value),!e.shortEnded&&(e=e.firstChild))do r(e);while(e=e.next);u[t]&&n.next&&(s+="\n","p"==t&&(s+="\n"))}var o=new n,a=new t({},o),s="",l=o.getShortEndedElements(),c=e.makeMap("script noscript style textarea video audio iframe object"," "),u=o.getBlockElements();return r(a.parse(i)),s}return{filter:i,innerText:r}}),i(f,[m,p,l],function(e,t,n){return function(i){function r(e){var t,n=i.dom;if(t=i.fire("BeforePastePreProcess",{content:e}),t=i.fire("PastePreProcess",t),e=t.content,!t.isDefaultPrevented()){if(i.hasEventListeners("PastePostProcess")&&!t.isDefaultPrevented()){var r=n.add(i.getBody(),"div",{style:"display:none"},e);t=i.fire("PastePostProcess",{node:r}),n.remove(r),e=t.node.innerHTML}t.isDefaultPrevented()||i.insertContent(e)}}function o(e){e=i.dom.encode(e).replace(/\r\n/g,"\n");var t=i.dom.getParent(i.selection.getStart(),i.dom.isBlock),o=i.settings.forced_root_block,a;o&&(a=i.dom.createHTML(o,i.settings.forced_root_block_attrs),a=a.substr(0,a.length-3)+">"),t&&/^(PRE|DIV)$/.test(t.nodeName)||!o?e=n.filter(e,[[/\n/g,"<br>"]]):(e=n.filter(e,[[/\n\n/g,"</p>"+a],[/^(.*<\/p>)(<p>)$/,a+"$1"],[/\n/g,"<br />"]]),-1!=e.indexOf("<p>")&&(e=a+e)),r(e)}function a(){var t=i.dom,n=i.getBody(),r=i.dom.getViewPort(i.getWin()),o=r.y,a=20,s;if(v=i.selection.getRng(),i.inline&&(s=i.selection.getScrollContainer(),s&&(o=s.scrollTop)),v.getClientRects){var l=v.getClientRects();if(l.length)a=o+(l[0].top-t.getPos(n).y);else{a=o;var c=v.startContainer;c&&(3==c.nodeType&&c.parentNode!=n&&(c=c.parentNode),1==c.nodeType&&(a=t.getPos(c,s||n).y))}}h=t.add(i.getBody(),"div",{id:"mcepastebin",contentEditable:!0,"data-mce-bogus":"1",style:"position: absolute; top: "+a+"px;width: 10px; height: 10px; overflow: hidden; opacity: 0"},y),(e.ie||e.gecko)&&t.setStyle(h,"left","rtl"==t.getStyle(n,"direction",!0)?65535:-65535),t.bind(h,"beforedeactivate focusin focusout",function(e){e.stopPropagation()}),h.focus(),i.selection.select(h,!0)}function s(){if(h){for(var e;e=i.dom.get("mcepastebin");)i.dom.remove(e),i.dom.unbind(e);v&&i.selection.setRng(v)}x=!1,h=v=null}function l(){var e=y,t,n;for(t=i.dom.select("div[id=mcepastebin]"),n=t.length;n--;){var r=t[n].innerHTML;e==y&&(e=""),r.length>e.length&&(e=r)}return e}function c(e){var t={};if(e&&e.types){var n=e.getData("Text");n&&n.length>0&&(t["text/plain"]=n);for(var i=0;i<e.types.length;i++){var r=e.types[i];t[r]=e.getData(r)}}return t}function u(e){return c(e.clipboardData||i.getDoc().dataTransfer)}function d(e,t){function n(e){if("image/png"==o[a].type){var t=new FileReader;return t.onload=function(){r('<img src="'+t.result+'">')},t.readAsDataURL(e.getAsFile()),!0}}if(!(!i.settings.paste_data_images||"text/html"in t||"text/plain"in t)&&e.clipboardData){var o=e.clipboardData.items;if(o)for(var a=0;a<o.length;a++)if(n(o[a]))return!0}}function f(e){var t=i.getDoc(),n;if(t.caretPositionFromPoint){var r=t.caretPositionFromPoint(e.clientX,e.clientY);n=t.createRange(),n.setStart(r.offsetNode,r.offset),n.collapse(!0)}else t.caretRangeFromPoint&&(n=t.caretRangeFromPoint(e.clientX,e.clientY));return n}function m(e,t){return t in e&&e[t].length>0}function p(){i.on("keydown",function(n){if(!n.isDefaultPrevented()&&(t.metaKeyPressed(n)&&86==n.keyCode||n.shiftKey&&45==n.keyCode)){if(x=n.shiftKey&&86==n.keyCode,n.stopImmediatePropagation(),b=(new Date).getTime(),e.ie&&x)return n.preventDefault(),void i.fire("paste",{ieFake:!0});s(),a()}}),i.on("paste",function(t){var c=u(t),f=(new Date).getTime()-b<1e3,p="text"==g.pasteFormat||x;return t.isDefaultPrevented()?void s():d(t,c)?void s():(f||t.preventDefault(),!e.ie||f&&!t.ieFake||(a(),i.dom.bind(h,"paste",function(e){e.stopPropagation()}),i.getDoc().execCommand("Paste",!1,null),c["text/html"]=l()),void setTimeout(function(){var e=l();return h&&h.firstChild&&"mcepastebin"===h.firstChild.id&&(p=!0),s(),!p&&f&&e&&e!=y&&(c["text/html"]=e),e!=y&&f||(e=c["text/html"]||c["text/plain"]||y,e!=y)?(!m(c,"text/html")&&m(c,"text/plain")&&(p=!0),void(p?o(c["text/plain"]||n.innerText(e)):r(e))):void(f||i.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents."))},0))}),i.on("dragstart",function(e){if(e.dataTransfer.types)try{e.dataTransfer.setData("mce-internal",i.selection.getContent())}catch(t){}}),i.on("drop",function(e){var t=f(e);if(t&&!e.isDefaultPrevented()){var n=c(e.dataTransfer),a=n["mce-internal"]||n["text/html"]||n["text/plain"];a&&(e.preventDefault(),i.undoManager.transact(function(){n["mce-internal"]&&i.execCommand("Delete"),i.selection.setRng(t),n["text/html"]?r(a):o(a)}))}})}var g=this,h,v,b=0,y="%MCEPASTEBIN%",x;g.pasteHtml=r,g.pasteText=o,i.on("preInit",function(){p(),i.parser.addNodeFilter("img",function(t){if(!i.settings.paste_data_images)for(var n=t.length;n--;){var r=t[n].attributes.map.src;r&&0===r.indexOf("data:image")&&(t[n].attr("data-mce-object")||r===e.transparentSrc||t[n].remove())}})}),i.on("PreProcess",function(){i.dom.remove(i.dom.get("mcepastebin"))})}}),i(g,[c,u,d,h,v,l],function(e,t,n,i,r,o){function a(e){return/<font face="Times New Roman"|class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i.test(e)||/class="OutlineElement/.test(e)||/id="?docs\-internal\-guid\-/.test(e)}function s(s){var l=s.settings;s.on("BeforePastePreProcess",function(c){function u(e){function t(e,t,a,s){var l=e._listLevel||o;l!=o&&(o>l?n&&(n=n.parent.parent):(i=n,n=null)),n&&n.name==a?n.append(e):(i=i||n,n=new r(a,1),s>1&&n.attr("start",""+s),e.wrap(n)),e.name="li",t.value="";var c=t.next;c&&3==c.type&&(c.value=c.value.replace(/^\u00a0+/,"")),l>o&&i&&i.lastChild.append(n),o=l}for(var n,i,o=1,a=e.getAll("p"),s=0;s<a.length;s++)if(e=a[s],"p"==e.name&&e.firstChild){for(var l="",c=e.firstChild;c&&!(l=c.value);)c=c.firstChild;if(/^\s*[\u2022\u00b7\u00a7\u00d8\u25CF]\s*$/.test(l)){t(e,c,"ul");continue}if(/^\s*\w+\.$/.test(l)){var u=/([0-9])\./.exec(l),d=1;u&&(d=parseInt(u[1],10)),t(e,c,"ol",d);continue}n=null}}function d(t,n){var i={},o=s.dom.parseStyle(n);if("p"===t.name){var a=/mso-list:\w+ \w+([0-9]+)/.exec(n);a&&(t._listLevel=parseInt(a[1],10))}return e.each(o,function(e,n){switch(n){case"horiz-align":n="text-align";break;case"vert-align":n="vertical-align";break;case"font-color":case"mso-foreground":n="color";break;case"mso-background":case"mso-highlight":n="background";break;case"font-weight":case"font-style":return void("normal"!=e&&(i[n]=e));case"mso-element":if(/^(comment|comment-list)$/i.test(e))return void t.remove()}return 0===n.indexOf("mso-comment")?void t.remove():void(0!==n.indexOf("mso-")&&("all"==m||p&&p[n])&&(i[n]=e))}),/(bold)/i.test(i["font-weight"])&&(delete i["font-weight"],t.wrap(new r("b",1))),/(italic)/i.test(i["font-style"])&&(delete i["font-style"],t.wrap(new r("i",1))),i=s.dom.serializeStyle(i,t.name),i?i:null}var f=c.content,m,p;if(m=l.paste_retain_style_properties,m&&(p=e.makeMap(m.split(/[, ]/))),l.paste_enable_default_filters!==!1&&a(c.content)){c.wordContent=!0,f=o.filter(f,[/<!--[\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(e,t){return t.length>0?t.replace(/./," ").slice(Math.floor(t.length/2)).split("").join("\xa0"):""}]]);var g=l.paste_word_valid_elements;g||(g="-strong/b,-em/i,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-table[width],-tr,-td[colspan|rowspan|width],-th,-thead,-tfoot,-tbody,-a[href|name],sub,sup,strike,br,del");var h=new n({valid_elements:g,valid_children:"-li[p]"});e.each(h.elements,function(e){e.attributes["class"]||(e.attributes["class"]={},e.attributesOrder.push("class")),e.attributes.style||(e.attributes.style={},e.attributesOrder.push("style"))});var v=new t({},h);v.addAttributeFilter("style",function(e){for(var t=e.length,n;t--;)n=e[t],n.attr("style",d(n,n.attr("style"))),"span"==n.name&&n.parent&&!n.attributes.length&&n.unwrap()}),v.addAttributeFilter("class",function(e){for(var t=e.length,n,i;t--;)n=e[t],i=n.attr("class"),/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(i)&&n.remove(),n.attr("class",null)}),v.addNodeFilter("del",function(e){for(var t=e.length;t--;)e[t].remove()}),v.addNodeFilter("a",function(e){for(var t=e.length,n,i,r;t--;)if(n=e[t],i=n.attr("href"),r=n.attr("name"),i&&-1!=i.indexOf("#_msocom_"))n.remove();else if(i&&0===i.indexOf("file://")&&(i=i.split("#")[1],i&&(i="#"+i)),i||r){if(r&&0!==r.indexOf("Toc")){n.unwrap();continue}n.attr({href:i,name:r})}else n.unwrap()});var b=v.parse(f);u(b),c.content=new i({},h).serialize(b)}})}return s.isWordContent=a,s}),i(b,[m,c,g,l],function(e,t,n,i){return function(r){function o(e){r.on("BeforePastePreProcess",function(t){t.content=e(t.content)})}function a(e){return e=i.filter(e,[/^[\s\S]*<!--StartFragment-->|<!--EndFragment-->[\s\S]*$/g,[/<span class="Apple-converted-space">\u00a0<\/span>/g,"\xa0"],/<br>$/i])}function s(e){if(!n.isWordContent(e))return e;var o=[];t.each(r.schema.getBlockElements(),function(e,t){o.push(t)});var a=new RegExp("(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*(<\\/?("+o.join("|")+")[^>]*>)(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*","g");return e=i.filter(e,[[a,"$1"]]),e=i.filter(e,[[/<br><br>/g,"<BR><BR>"],[/<br>/g," "],[/<BR><BR>/g,"<br>"]])}function l(e){if(n.isWordContent(e))return e;var t=r.getParam("paste_webkit_styles","color font-size font-family background-color").split(/[, ]/);if(r.settings.paste_remove_styles_if_webkit===!1&&(t="all"),"all"!=t){var i=r.dom,o=r.selection.getNode();e=e.replace(/ style=\"([^\"]+)\"/gi,function(e,n){var r=i.parseStyle(n,"span"),a={};if("none"===t)return"";for(var s=0;s<t.length;s++)i.toHex(i.getStyle(o,t[s],!0))!=r[t[s]]&&(a[t[s]]=r[t[s]]);return a=i.serializeStyle(a,"span"),a?' style="'+a+'"':""})}return e}e.webkit&&(o(l),o(a)),e.ie&&o(s)}}),i(y,[x,f,g,b],function(e,t,n,i){var r;e.add("paste",function(e){function o(){"text"==s.pasteFormat?(this.active(!1),s.pasteFormat="html"):(s.pasteFormat="text",this.active(!0),r||(e.windowManager.alert("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off."),r=!0))}var a=this,s,l=e.settings;a.clipboard=s=new t(e),a.quirks=new i(e),a.wordFilter=new n(e),e.settings.paste_as_text&&(a.clipboard.pasteFormat="text"),l.paste_preprocess&&e.on("PastePreProcess",function(e){l.paste_preprocess.call(a,a,e)}),l.paste_postprocess&&e.on("PastePostProcess",function(e){l.paste_postprocess.call(a,a,e)}),e.addCommand("mceInsertClipboardContent",function(e,t){t.content&&a.clipboard.pasteHtml(t.content),t.text&&a.clipboard.pasteText(t.text)}),e.paste_block_drop&&e.on("dragend dragover draggesture dragdrop drop drag",function(e){e.preventDefault(),e.stopPropagation()}),e.settings.paste_data_images||e.on("drop",function(e){var t=e.dataTransfer;t&&t.files&&t.files.length>0&&e.preventDefault()}),e.addButton("pastetext",{icon:"pastetext",tooltip:"Paste as text",onclick:o,active:"text"==a.clipboard.pasteFormat}),e.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,active:s.pasteFormat,onclick:o})})}),a([l,f,g,b,y])}(this);
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/changelog.txt b/wp-includes/js/tinymce/plugins/spellchecker/changelog.txt
deleted file mode 100644 (file)
index f41ec7f..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-Version 2.0.6 (2011-09-29)
-       Fixed incorrect position of suggestion menu.
-       Fixed handling of mispelled words with no suggestions in PSpellShell engine.
-       Fixed PSpellShell command on Windows.
-       Fixed bug where Javascript error is produced when enchant_dict_suggest() returns unexpected result.
-Version 2.0.5 (2011-03-24)
-       Merged with the latest TinyMCE spellchecker version.
-Version 2.0.4 (2010-12-20)
-       Fixed issue with the JSON class not having the correct number of parameters to ord calls.
-Version 2.0.3 (2010-04-19)
-       Added standalone support. Will use native spellchecker for supported browsers.
-       Added @package phpdoc comments. Patch contributed by Jacob Santos.
-       Fixed some PHP missing function issue.
-Version 2.0.2 (2008-04-30)
-       Added new EnchantSpell engine class contributed by Michel Weimerskirch.
-       Added new general.remote_rpc_url option, enables you to proxy requests to another server.
-       Fixed security hole in PSpellShell.php file if PSpellShell engine was used.
-Version 2.0.1 (2008-03-07)
-       Fixed bug where spellchecker was auto focusing the editor in IE.
-Version 2.0 (2008-01-30)
-       Fixed bug where the suggestions menu was placed at an incorrect location.
-Version 2.0rc1 (2008-01-14)
-       Moved package from beta to release candidate.
-Version 2.0b3 (2007-12-xx)
-       Fixed bug where the suggestions menu could appear at the wrong location.
-Version 2.0b2 (2007-11-29)
-       Fixed bug where the spellchecker was removing the word when it was ignored.
-Version 2.0b1 (2007-11-21)
-       Moved spellchecker from alpha to beta status.
-Version 2.0a2 (2007-11-13)
-       Updated plugin so it works correctly with the TinyMCE 3.0a3 version.
-Version 2.0a1 (2007-11-01)
-       Rewritten version for TinyMCE 3.0 this new version uses JSON RPC.
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/classes/EnchantSpell.php b/wp-includes/js/tinymce/plugins/spellchecker/classes/EnchantSpell.php
deleted file mode 100644 (file)
index cefc8cf..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-/**
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
- *
- * This class was contributed by Michel Weimerskirch.
- *
- * @package MCManager.includes
- * @author Moxiecode
- * @copyright Copyright Â© 2004-2007, Moxiecode Systems AB, All rights reserved.
- */
-
-class EnchantSpell extends SpellChecker {
-       /**
-        * Spellchecks an array of words.
-        *
-        * @param String $lang Selected language code (like en_US or de_DE). Shortcodes like "en" and "de" work with enchant >= 1.4.1
-        * @param Array $words Array of words to check.
-        * @return Array of misspelled words.
-        */
-       function &checkWords($lang, $words) {
-               $r = enchant_broker_init();
-               
-               if (enchant_broker_dict_exists($r,$lang)) {
-                       $d = enchant_broker_request_dict($r, $lang);
-                       
-                       $returnData = array();
-                       foreach($words as $key => $value) {
-                               $correct = enchant_dict_check($d, $value);
-                               if(!$correct) {
-                                       $returnData[] = trim($value);
-                               }
-                       }
-       
-                       return $returnData;
-                       enchant_broker_free_dict($d);
-               } else {
-
-               }
-               enchant_broker_free($r);
-       }
-
-       /**
-        * Returns suggestions for a specific word.
-        *
-        * @param String $lang Selected language code (like en_US or de_DE). Shortcodes like "en" and "de" work with enchant >= 1.4.1
-        * @param String $word Specific word to get suggestions for.
-        * @return Array of suggestions for the specified word.
-        */
-       function &getSuggestions($lang, $word) {
-               $r = enchant_broker_init();
-
-               if (enchant_broker_dict_exists($r,$lang)) {
-                       $d = enchant_broker_request_dict($r, $lang);
-                       $suggs = enchant_dict_suggest($d, $word);
-
-                       // enchant_dict_suggest() sometimes returns NULL
-                       if (!is_array($suggs))
-                               $suggs = array();
-
-                       enchant_broker_free_dict($d);
-               } else {
-                       $suggs = array();
-               }
-
-               enchant_broker_free($r);
-
-               return $suggs;
-       }
-}
-
-?>
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/classes/GoogleSpell.php b/wp-includes/js/tinymce/plugins/spellchecker/classes/GoogleSpell.php
deleted file mode 100644 (file)
index 03e4a78..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<?php
-/**
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
- *
- * @package MCManager.includes
- * @author Moxiecode
- * @copyright Copyright Â© 2004-2007, Moxiecode Systems AB, All rights reserved.
- */
-
-class GoogleSpell extends SpellChecker {
-       /**
-        * Spellchecks an array of words.
-        *
-        * @param {String} $lang Language code like sv or en.
-        * @param {Array} $words Array of words to spellcheck.
-        * @return {Array} Array of misspelled words.
-        */
-       function &checkWords($lang, $words) {
-               $wordstr = implode(' ', $words);
-               $matches = $this->_getMatches($lang, $wordstr);
-               $words = array();
-
-               for ($i=0; $i<count($matches); $i++)
-                       $words[] = $this->_unhtmlentities(mb_substr($wordstr, $matches[$i][1], $matches[$i][2], "UTF-8"));
-
-               return $words;
-       }
-
-       /**
-        * Returns suggestions of for a specific word.
-        *
-        * @param {String} $lang Language code like sv or en.
-        * @param {String} $word Specific word to get suggestions for.
-        * @return {Array} Array of suggestions for the specified word.
-        */
-       function &getSuggestions($lang, $word) {
-               $sug = array();
-               $osug = array();
-               $matches = $this->_getMatches($lang, $word);
-
-               if (count($matches) > 0)
-                       $sug = explode("\t", utf8_encode($this->_unhtmlentities($matches[0][4])));
-
-               // Remove empty
-               foreach ($sug as $item) {
-                       if ($item)
-                               $osug[] = $item;
-               }
-
-               return $osug;
-       }
-
-       protected function &_getMatches($lang, $str) {
-               $lang = preg_replace('/[^a-z\-]/i', '', $lang);
-               $str = preg_replace('/[\x00-\x1F\x7F]/', '', $str);
-               $server = "www.google.com";
-               $port = 443;
-               $path = "/tbproxy/spell?lang=" . $lang . "&hl=en";
-               $host = "www.google.com";
-               $url = "https://" . $server;
-
-               // Setup XML request
-               $xml = '<?xml version="1.0" encoding="utf-8" ?><spellrequest textalreadyclipped="0" ignoredups="0" ignoredigits="1" ignoreallcaps="1"><text>' . $str . '</text></spellrequest>';
-
-               $header  = "POST ".$path." HTTP/1.0 \r\n";
-               $header .= "MIME-Version: 1.0 \r\n";
-               $header .= "Content-type: application/PTI26 \r\n";
-               $header .= "Content-length: ".strlen($xml)." \r\n";
-               $header .= "Content-transfer-encoding: text \r\n";
-               $header .= "Request-number: 1 \r\n";
-               $header .= "Document-type: Request \r\n";
-               $header .= "Interface-Version: Test 1.4 \r\n";
-               $header .= "Connection: close \r\n\r\n";
-               $header .= $xml;
-
-               // Use curl if it exists
-               if (function_exists('curl_init')) {
-                       // Use curl
-                       $ch = curl_init();
-                       curl_setopt($ch, CURLOPT_URL,$url);
-                       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
-                       curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header);
-                       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
-                       $xml = curl_exec($ch);
-                       curl_close($ch);
-               } else {
-                       // Use raw sockets
-                       $fp = fsockopen("ssl://" . $server, $port, $errno, $errstr, 30);
-                       if ($fp) {
-                               // Send request
-                               fwrite($fp, $header);
-
-                               // Read response
-                               $xml = "";
-                               while (!feof($fp))
-                                       $xml .= fgets($fp, 128);
-
-                               fclose($fp);
-                       } else
-                               echo "Could not open SSL connection to google.";
-               }
-
-               // Grab and parse content
-               $matches = array();
-               preg_match_all('/<c o="([^"]*)" l="([^"]*)" s="([^"]*)">([^<]*)<\/c>/', $xml, $matches, PREG_SET_ORDER);
-
-               return $matches;
-       }
-
-       protected function _unhtmlentities($string) {
-               $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string);
-               $string = preg_replace('~&#([0-9]+);~e', 'chr(\\1)', $string);
-
-               $trans_tbl = get_html_translation_table(HTML_ENTITIES);
-               $trans_tbl = array_flip($trans_tbl);
-
-               return strtr($string, $trans_tbl);
-       }
-}
-
-// Patch in multibyte support
-if (!function_exists('mb_substr')) {
-       function mb_substr($str, $start, $len = '', $encoding="UTF-8"){
-               $limit = strlen($str);
-
-               for ($s = 0; $start > 0;--$start) {// found the real start
-                       if ($s >= $limit)
-                               break;
-
-                       if ($str[$s] <= "\x7F")
-                               ++$s;
-                       else {
-                               ++$s; // skip length
-
-                               while ($str[$s] >= "\x80" && $str[$s] <= "\xBF")
-                                       ++$s;
-                       }
-               }
-
-               if ($len == '')
-                       return substr($str, $s);
-               else
-                       for ($e = $s; $len > 0; --$len) {//found the real end
-                               if ($e >= $limit)
-                                       break;
-
-                               if ($str[$e] <= "\x7F")
-                                       ++$e;
-                               else {
-                                       ++$e;//skip length
-
-                                       while ($str[$e] >= "\x80" && $str[$e] <= "\xBF" && $e < $limit)
-                                               ++$e;
-                               }
-                       }
-
-               return substr($str, $s, $e - $s);
-       }
-}
-
-?>
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpell.php b/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpell.php
deleted file mode 100644 (file)
index 3c6424d..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-/**
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
- *
- * @package MCManager.includes
- * @author Moxiecode
- * @copyright Copyright Â© 2004-2007, Moxiecode Systems AB, All rights reserved.
- */
-
-class PSpell extends SpellChecker {
-       /**
-        * Spellchecks an array of words.
-        *
-        * @param {String} $lang Language code like sv or en.
-        * @param {Array} $words Array of words to spellcheck.
-        * @return {Array} Array of misspelled words.
-        */
-       function &checkWords($lang, $words) {
-               $plink = $this->_getPLink($lang);
-
-               $outWords = array();
-               foreach ($words as $word) {
-                       if (!pspell_check($plink, trim($word)))
-                               $outWords[] = utf8_encode($word);
-               }
-
-               return $outWords;
-       }
-
-       /**
-        * Returns suggestions of for a specific word.
-        *
-        * @param {String} $lang Language code like sv or en.
-        * @param {String} $word Specific word to get suggestions for.
-        * @return {Array} Array of suggestions for the specified word.
-        */
-       function &getSuggestions($lang, $word) {
-               $words = pspell_suggest($this->_getPLink($lang), $word);
-
-               for ($i=0; $i<count($words); $i++)
-                       $words[$i] = utf8_encode($words[$i]);
-
-               return $words;
-       }
-
-       /**
-        * Opens a link for pspell.
-        */
-       function &_getPLink($lang) {
-               // Check for native PSpell support
-               if (!function_exists("pspell_new"))
-                       $this->throwError("PSpell support not found in PHP installation.");
-
-               // Setup PSpell link
-               $plink = pspell_new(
-                       $lang,
-                       $this->_config['PSpell.spelling'],
-                       $this->_config['PSpell.jargon'],
-                       $this->_config['PSpell.encoding'],
-                       $this->_config['PSpell.mode']
-               );
-
-               // Setup PSpell link
-/*             if (!$plink) {
-                       $pspellConfig = pspell_config_create(
-                               $lang,
-                               $this->_config['PSpell.spelling'],
-                               $this->_config['PSpell.jargon'],
-                               $this->_config['PSpell.encoding']
-                       );
-
-                       $plink = pspell_new_config($pspell_config);
-               }*/
-
-               if (!$plink)
-                       $this->throwError("No PSpell link found opened.");
-
-               return $plink;
-       }
-}
-
-?>
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpellShell.php b/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpellShell.php
deleted file mode 100644 (file)
index 3d6d4a9..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-/**
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
- *
- * @package MCManager.includes
- * @author Moxiecode
- * @copyright Copyright Â© 2004-2007, Moxiecode Systems AB, All rights reserved.
- */
-
-class PSpellShell extends SpellChecker {
-       /**
-        * Spellchecks an array of words.
-        *
-        * @param {String} $lang Language code like sv or en.
-        * @param {Array} $words Array of words to spellcheck.
-        * @return {Array} Array of misspelled words.
-        */
-       function &checkWords($lang, $words) {
-               $cmd = $this->_getCMD($lang);
-
-               if ($fh = fopen($this->_tmpfile, "w")) {
-                       fwrite($fh, "!\n");
-
-                       foreach($words as $key => $value)
-                               fwrite($fh, "^" . $value . "\n");
-
-                       fclose($fh);
-               } else
-                       $this->throwError("PSpell support was not found.");
-
-               $data = shell_exec($cmd);
-               @unlink($this->_tmpfile);
-
-               $returnData = array();
-               $dataArr = preg_split("/[\r\n]/", $data, -1, PREG_SPLIT_NO_EMPTY);
-
-               foreach ($dataArr as $dstr) {
-                       $matches = array();
-
-                       // Skip this line.
-                       if ($dstr[0] == "@")
-                               continue;
-
-                       preg_match("/(\&|#) ([^ ]+) .*/i", $dstr, $matches);
-
-                       if (!empty($matches[2]))
-                               $returnData[] = utf8_encode(trim($matches[2]));
-               }
-
-               return $returnData;
-       }
-
-       /**
-        * Returns suggestions of for a specific word.
-        *
-        * @param {String} $lang Language code like sv or en.
-        * @param {String} $word Specific word to get suggestions for.
-        * @return {Array} Array of suggestions for the specified word.
-        */
-       function &getSuggestions($lang, $word) {
-               $cmd = $this->_getCMD($lang);
-
-        if (function_exists("mb_convert_encoding"))
-            $word = mb_convert_encoding($word, "ISO-8859-1", mb_detect_encoding($word, "UTF-8"));
-        else
-            $word = utf8_encode($word);
-
-               if ($fh = fopen($this->_tmpfile, "w")) {
-                       fwrite($fh, "!\n");
-                       fwrite($fh, "^$word\n");
-                       fclose($fh);
-               } else
-                       $this->throwError("Error opening tmp file.");
-
-               $data = shell_exec($cmd);
-               @unlink($this->_tmpfile);
-
-               $returnData = array();
-               $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY);
-
-               foreach($dataArr as $dstr) {
-                       $matches = array();
-
-                       // Skip this line.
-                       if ($dstr[0] == "@")
-                               continue;
-
-                       preg_match("/\&[^:]+:(.*)/i", $dstr, $matches);
-
-                       if (!empty($matches[1])) {
-                               $words = array_slice(explode(',', $matches[1]), 0, 10);
-
-                               for ($i=0; $i<count($words); $i++)
-                                       $words[$i] = trim($words[$i]);
-
-                               return $words;
-                       }
-               }
-
-               return array();
-       }
-
-       function _getCMD($lang) {
-               $this->_tmpfile = tempnam($this->_config['PSpellShell.tmp'], "tinyspell");
-
-               $file = $this->_tmpfile;
-               $lang = preg_replace("/[^-_a-z]/", "", strtolower($lang));
-               $bin  = $this->_config['PSpellShell.aspell'];
-
-               if (preg_match("#win#i", php_uname()))
-                       return "$bin -a --lang=$lang --encoding=utf-8 -H < $file 2>&1";
-
-               return "cat $file | $bin -a --lang=$lang --encoding=utf-8 -H";
-       }
-}
-
-?>
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/classes/SpellChecker.php b/wp-includes/js/tinymce/plugins/spellchecker/classes/SpellChecker.php
deleted file mode 100644 (file)
index 5d9205f..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-/**
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
- *
- * @package MCManager.includes
- * @author Moxiecode
- * @copyright Copyright Â© 2004-2007, Moxiecode Systems AB, All rights reserved.
- */
-
-class SpellChecker {
-       /**
-        * Constructor.
-        *
-        * @param $config Configuration name/value array.
-        */
-       function SpellChecker(&$config) {
-               $this->_config = $config;
-       }
-
-       /**
-        * Simple loopback function everything that gets in will be send back.
-        *
-        * @param $args.. Arguments.
-        * @return {Array} Array of all input arguments. 
-        */
-       function &loopback(/* args.. */) {
-               return func_get_args();
-       }
-
-       /**
-        * Spellchecks an array of words.
-        *
-        * @param {String} $lang Language code like sv or en.
-        * @param {Array} $words Array of words to spellcheck.
-        * @return {Array} Array of misspelled words.
-        */
-       function &checkWords($lang, $words) {
-               return $words;
-       }
-
-       /**
-        * Returns suggestions of for a specific word.
-        *
-        * @param {String} $lang Language code like sv or en.
-        * @param {String} $word Specific word to get suggestions for.
-        * @return {Array} Array of suggestions for the specified word.
-        */
-       function &getSuggestions($lang, $word) {
-               return array();
-       }
-
-       /**
-        * Throws an error message back to the user. This will stop all execution.
-        *
-        * @param {String} $str Message to send back to user.
-        */
-       function throwError($str) {
-               die('{"result":null,"id":null,"error":{"errstr":"' . addslashes($str) . '","errfile":"","errline":null,"errcontext":"","level":"FATAL"}}');
-       }
-}
-
-?>
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/classes/utils/JSON.php b/wp-includes/js/tinymce/plugins/spellchecker/classes/utils/JSON.php
deleted file mode 100644 (file)
index 1f2b92c..0000000
+++ /dev/null
@@ -1,595 +0,0 @@
-<?php
-/**
- * $Id: JSON.php 40 2007-06-18 11:43:15Z spocke $
- *
- * @package MCManager.utils
- * @author Moxiecode
- * @copyright Copyright Â© 2007, Moxiecode Systems AB, All rights reserved.
- */
-
-define('JSON_BOOL', 1);
-define('JSON_INT', 2);
-define('JSON_STR', 3);
-define('JSON_FLOAT', 4);
-define('JSON_NULL', 5);
-define('JSON_START_OBJ', 6);
-define('JSON_END_OBJ', 7);
-define('JSON_START_ARRAY', 8);
-define('JSON_END_ARRAY', 9);
-define('JSON_KEY', 10);
-define('JSON_SKIP', 11);
-
-define('JSON_IN_ARRAY', 30);
-define('JSON_IN_OBJECT', 40);
-define('JSON_IN_BETWEEN', 50);
-
-class Moxiecode_JSONReader {
-       var $_data, $_len, $_pos;
-       var $_value, $_token;
-       var $_location, $_lastLocations;
-       var $_needProp;
-
-       function Moxiecode_JSONReader($data) {
-               $this->_data = $data;
-               $this->_len = strlen($data);
-               $this->_pos = -1;
-               $this->_location = JSON_IN_BETWEEN;
-               $this->_lastLocations = array();
-               $this->_needProp = false;
-       }
-
-       function getToken() {
-               return $this->_token;
-       }
-
-       function getLocation() {
-               return $this->_location;
-       }
-
-       function getTokenName() {
-               switch ($this->_token) {
-                       case JSON_BOOL:
-                               return 'JSON_BOOL';
-
-                       case JSON_INT:
-                               return 'JSON_INT';
-
-                       case JSON_STR:
-                               return 'JSON_STR';
-
-                       case JSON_FLOAT:
-                               return 'JSON_FLOAT';
-
-                       case JSON_NULL:
-                               return 'JSON_NULL';
-
-                       case JSON_START_OBJ:
-                               return 'JSON_START_OBJ';
-
-                       case JSON_END_OBJ:
-                               return 'JSON_END_OBJ';
-
-                       case JSON_START_ARRAY:
-                               return 'JSON_START_ARRAY';
-
-                       case JSON_END_ARRAY:
-                               return 'JSON_END_ARRAY';
-
-                       case JSON_KEY:
-                               return 'JSON_KEY';
-               }
-
-               return 'UNKNOWN';
-       }
-
-       function getValue() {
-               return $this->_value;
-       }
-
-       function readToken() {
-               $chr = $this->read();
-
-               if ($chr != null) {
-                       switch ($chr) {
-                               case '[':
-                                       $this->_lastLocation[] = $this->_location;
-                                       $this->_location = JSON_IN_ARRAY;
-                                       $this->_token = JSON_START_ARRAY;
-                                       $this->_value = null;
-                                       $this->readAway();
-                                       return true;
-
-                               case ']':
-                                       $this->_location = array_pop($this->_lastLocation);
-                                       $this->_token = JSON_END_ARRAY;
-                                       $this->_value = null;
-                                       $this->readAway();
-
-                                       if ($this->_location == JSON_IN_OBJECT)
-                                               $this->_needProp = true;
-
-                                       return true;
-
-                               case '{':
-                                       $this->_lastLocation[] = $this->_location;
-                                       $this->_location = JSON_IN_OBJECT;
-                                       $this->_needProp = true;
-                                       $this->_token = JSON_START_OBJ;
-                                       $this->_value = null;
-                                       $this->readAway();
-                                       return true;
-
-                               case '}':
-                                       $this->_location = array_pop($this->_lastLocation);
-                                       $this->_token = JSON_END_OBJ;
-                                       $this->_value = null;
-                                       $this->readAway();
-
-                                       if ($this->_location == JSON_IN_OBJECT)
-                                               $this->_needProp = true;
-
-                                       return true;
-
-                               // String
-                               case '"':
-                               case '\'':
-                                       return $this->_readString($chr);
-
-                               // Null
-                               case 'n':
-                                       return $this->_readNull();
-
-                               // Bool
-                               case 't':
-                               case 'f':
-                                       return $this->_readBool($chr);
-
-                               default:
-                                       // Is number
-                                       if (is_numeric($chr) || $chr == '-' || $chr == '.')
-                                               return $this->_readNumber($chr);
-
-                                       return true;
-                       }
-               }
-
-               return false;
-       }
-
-       function _readBool($chr) {
-               $this->_token = JSON_BOOL;
-               $this->_value = $chr == 't';
-
-               if ($chr == 't')
-                       $this->skip(3); // rue
-               else
-                       $this->skip(4); // alse
-
-               $this->readAway();
-
-               if ($this->_location == JSON_IN_OBJECT && !$this->_needProp)
-                       $this->_needProp = true;
-
-               return true;
-       }
-
-       function _readNull() {
-               $this->_token = JSON_NULL;
-               $this->_value = null;
-
-               $this->skip(3); // ull
-               $this->readAway();
-
-               if ($this->_location == JSON_IN_OBJECT && !$this->_needProp)
-                       $this->_needProp = true;
-
-               return true;
-       }
-
-       function _readString($quote) {
-               $output = "";
-               $this->_token = JSON_STR;
-               $endString = false;
-
-               while (($chr = $this->peek()) != -1) {
-                       switch ($chr) {
-                               case '\\':
-                                       // Read away slash
-                                       $this->read();
-
-                                       // Read escape code
-                                       $chr = $this->read();
-                                       switch ($chr) {
-                                                       case 't':
-                                                               $output .= "\t";
-                                                               break;
-
-                                                       case 'b':
-                                                               $output .= "\b";
-                                                               break;
-
-                                                       case 'f':
-                                                               $output .= "\f";
-                                                               break;
-
-                                                       case 'r':
-                                                               $output .= "\r";
-                                                               break;
-
-                                                       case 'n':
-                                                               $output .= "\n";
-                                                               break;
-
-                                                       case 'u':
-                                                               $output .= $this->_int2utf8(hexdec($this->read(4)));
-                                                               break;
-
-                                                       default:
-                                                               $output .= $chr;
-                                                               break;
-                                       }
-
-                                       break;
-
-                                       case '\'':
-                                       case '"':
-                                               if ($chr == $quote)
-                                                       $endString = true;
-
-                                               $chr = $this->read();
-                                               if ($chr != -1 && $chr != $quote)
-                                                       $output .= $chr;
-
-                                               break;
-
-                                       default:
-                                               $output .= $this->read();
-                       }
-
-                       // String terminated
-                       if ($endString)
-                               break;
-               }
-
-               $this->readAway();
-               $this->_value = $output;
-
-               // Needed a property
-               if ($this->_needProp) {
-                       $this->_token = JSON_KEY;
-                       $this->_needProp = false;
-                       return true;
-               }
-
-               if ($this->_location == JSON_IN_OBJECT && !$this->_needProp)
-                       $this->_needProp = true;
-
-               return true;
-       }
-
-       function _int2utf8($int) {
-               $int = intval($int);
-
-               switch ($int) {
-                       case 0:
-                               return chr(0);
-
-                       case ($int & 0x7F):
-                               return chr($int);
-
-                       case ($int & 0x7FF):
-                               return chr(0xC0 | (($int >> 6) & 0x1F)) . chr(0x80 | ($int & 0x3F));
-
-                       case ($int & 0xFFFF):
-                               return chr(0xE0 | (($int >> 12) & 0x0F)) . chr(0x80 | (($int >> 6) & 0x3F)) . chr (0x80 | ($int & 0x3F));
-
-                       case ($int & 0x1FFFFF):
-                               return chr(0xF0 | ($int >> 18)) . chr(0x80 | (($int >> 12) & 0x3F)) . chr(0x80 | (($int >> 6) & 0x3F)) . chr(0x80 | ($int & 0x3F));
-               }
-       }
-
-       function _readNumber($start) {
-               $value = "";
-               $isFloat = false;
-
-               $this->_token = JSON_INT;
-               $value .= $start;
-
-               while (($chr = $this->peek()) != -1) {
-                       if (is_numeric($chr) || $chr == '-' || $chr == '.') {
-                               if ($chr == '.')
-                                       $isFloat = true;
-
-                               $value .= $this->read();
-                       } else
-                               break;
-               }
-
-               $this->readAway();
-
-               if ($isFloat) {
-                       $this->_token = JSON_FLOAT;
-                       $this->_value = floatval($value);
-               } else
-                       $this->_value = intval($value);
-
-               if ($this->_location == JSON_IN_OBJECT && !$this->_needProp)
-                       $this->_needProp = true;
-
-               return true;
-       }
-
-       function readAway() {
-               while (($chr = $this->peek()) != null) {
-                       if ($chr != ':' && $chr != ',' && $chr != ' ')
-                               return;
-
-                       $this->read();
-               }
-       }
-
-       function read($len = 1) {
-               if ($this->_pos < $this->_len) {
-                       if ($len > 1) {
-                               $str = substr($this->_data, $this->_pos + 1, $len);
-                               $this->_pos += $len;
-
-                               return $str;
-                       } else
-                               return $this->_data[++$this->_pos];
-               }
-
-               return null;
-       }
-
-       function skip($len) {
-               $this->_pos += $len;
-       }
-
-       function peek() {
-               if ($this->_pos < $this->_len)
-                       return $this->_data[$this->_pos + 1];
-
-               return null;
-       }
-}
-
-/**
- * This class handles JSON stuff.
- *
- * @package MCManager.utils
- */
-class Moxiecode_JSON {
-       function Moxiecode_JSON() {
-       }
-
-       function decode($input) {
-               $reader = new Moxiecode_JSONReader($input);
-
-               return $this->readValue($reader);
-       }
-
-       function readValue(&$reader) {
-               $this->data = array();
-               $this->parents = array();
-               $this->cur =& $this->data;
-               $key = null;
-               $loc = JSON_IN_ARRAY;
-
-               while ($reader->readToken()) {
-                       switch ($reader->getToken()) {
-                               case JSON_STR:
-                               case JSON_INT:
-                               case JSON_BOOL:
-                               case JSON_FLOAT:
-                               case JSON_NULL:
-                                       switch ($reader->getLocation()) {
-                                               case JSON_IN_OBJECT:
-                                                       $this->cur[$key] = $reader->getValue();
-                                                       break;
-
-                                               case JSON_IN_ARRAY:
-                                                       $this->cur[] = $reader->getValue();
-                                                       break;
-
-                                               default:
-                                                       return $reader->getValue();
-                                       }
-                                       break;
-
-                               case JSON_KEY:
-                                       $key = $reader->getValue();
-                                       break;
-
-                               case JSON_START_OBJ:
-                               case JSON_START_ARRAY:
-                                       if ($loc == JSON_IN_OBJECT)
-                                               $this->addArray($key);
-                                       else
-                                               $this->addArray(null);
-
-                                       $cur =& $obj;
-
-                                       $loc = $reader->getLocation();
-                                       break;
-
-                               case JSON_END_OBJ:
-                               case JSON_END_ARRAY:
-                                       $loc = $reader->getLocation();
-
-                                       if (count($this->parents) > 0) {
-                                               $this->cur =& $this->parents[count($this->parents) - 1];
-                                               array_pop($this->parents);
-                                       }
-                                       break;
-                       }
-               }
-
-               return $this->data[0];
-       }
-
-       // This method was needed since PHP is crapy and doesn't have pointers/references
-       function addArray($key) {
-               $this->parents[] =& $this->cur;
-               $ar = array();
-
-               if ($key)
-                       $this->cur[$key] =& $ar;
-               else
-                       $this->cur[] =& $ar;
-
-               $this->cur =& $ar;
-       }
-
-       function getDelim($index, &$reader) {
-               switch ($reader->getLocation()) {
-                       case JSON_IN_ARRAY:
-                       case JSON_IN_OBJECT:
-                               if ($index > 0)
-                                       return ",";
-                               break;
-               }
-
-               return "";
-       }
-
-       function encode($input) {
-               switch (gettype($input)) {
-                       case 'boolean':
-                               return $input ? 'true' : 'false';
-
-                       case 'integer':
-                               return (int) $input;
-
-                       case 'float':
-                       case 'double':
-                               return (float) $input;
-
-                       case 'NULL':
-                               return 'null';
-
-                       case 'string':
-                               return $this->encodeString($input);
-
-                       case 'array':
-                               return $this->_encodeArray($input);
-
-                       case 'object':
-                               return $this->_encodeArray(get_object_vars($input));
-               }
-
-               return '';
-       }
-
-       function encodeString($input) {
-               // Needs to be escaped
-               if (preg_match('/[^a-zA-Z0-9]/', $input)) {
-                       $output = '';
-
-                       for ($i=0; $i<strlen($input); $i++) {
-                               switch ($input[$i]) {
-                                       case "\b":
-                                               $output .= "\\b";
-                                               break;
-
-                                       case "\t":
-                                               $output .= "\\t";
-                                               break;
-
-                                       case "\f":
-                                               $output .= "\\f";
-                                               break;
-
-                                       case "\r":
-                                               $output .= "\\r";
-                                               break;
-
-                                       case "\n":
-                                               $output .= "\\n";
-                                               break;
-
-                                       case '\\':
-                                               $output .= "\\\\";
-                                               break;
-
-                                       case '\'':
-                                               $output .= "\\'";
-                                               break;
-
-                                       case '"':
-                                               $output .= '\"';
-                                               break;
-
-                                       default:
-                                               $byte = ord($input[$i]);
-
-                                               if (($byte & 0xE0) == 0xC0) {
-                                                       $char = pack('C*', $byte, ord($input[$i + 1]));
-                                                       $i += 1;
-                                                       $output .= sprintf('\u%04s', bin2hex($this->_utf82utf16($char)));
-                                               } if (($byte & 0xF0) == 0xE0) {
-                                                       $char = pack('C*', $byte, ord($input[$i + 1]), ord($input[$i + 2]));
-                                                       $i += 2;
-                                                       $output .= sprintf('\u%04s', bin2hex($this->_utf82utf16($char)));
-                                               } if (($byte & 0xF8) == 0xF0) {
-                                                       $char = pack('C*', $byte, ord($input[$i + 1]), ord($input[$i + 2]), ord($input[$i + 3]));
-                                                       $i += 3;
-                                                       $output .= sprintf('\u%04s', bin2hex($this->_utf82utf16($char)));
-                                               } if (($byte & 0xFC) == 0xF8) {
-                                                       $char = pack('C*', $byte, ord($input[$i + 1]), ord($input[$i + 2]), ord($input[$i + 3]), ord($input[$i + 4]));
-                                                       $i += 4;
-                                                       $output .= sprintf('\u%04s', bin2hex($this->_utf82utf16($char)));
-                                               } if (($byte & 0xFE) == 0xFC) {
-                                                       $char = pack('C*', $byte, ord($input[$i + 1]), ord($input[$i + 2]), ord($input[$i + 3]), ord($input[$i + 4]), ord($input[$i + 5]));
-                                                       $i += 5;
-                                                       $output .= sprintf('\u%04s', bin2hex($this->_utf82utf16($char)));
-                                               } else if ($byte < 128)
-                                                       $output .= $input[$i];
-                               }
-                       }
-
-                       return '"' . $output . '"';
-               }
-
-               return '"' . $input . '"';
-       }
-
-       function _utf82utf16($utf8) {
-               if (function_exists('mb_convert_encoding'))
-                       return mb_convert_encoding($utf8, 'UTF-16', 'UTF-8');
-
-               switch (strlen($utf8)) {
-                       case 1:
-                               return $utf8;
-
-                       case 2:
-                               return chr(0x07 & (ord($utf8[0]) >> 2)) . chr((0xC0 & (ord($utf8[0]) << 6)) | (0x3F & ord($utf8[1])));
-
-                       case 3:
-                               return chr((0xF0 & (ord($utf8[0]) << 4)) | (0x0F & (ord($utf8[1]) >> 2))) . chr((0xC0 & (ord($utf8[1]) << 6)) | (0x7F & ord($utf8[2])));
-               }
-
-               return '';
-       }
-
-       function _encodeArray($input) {
-               $output = '';
-               $isIndexed = true;
-
-               $keys = array_keys($input);
-               for ($i=0; $i<count($keys); $i++) {
-                       if (!is_int($keys[$i])) {
-                               $output .= $this->encodeString($keys[$i]) . ':' . $this->encode($input[$keys[$i]]);
-                               $isIndexed = false;
-                       } else
-                               $output .= $this->encode($input[$keys[$i]]);
-
-                       if ($i != count($keys) - 1)
-                               $output .= ',';
-               }
-
-               return $isIndexed ? '[' . $output . ']' : '{' . $output . '}';
-       }
-}
-
-?>
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/classes/utils/Logger.php b/wp-includes/js/tinymce/plugins/spellchecker/classes/utils/Logger.php
deleted file mode 100644 (file)
index a1fb4cd..0000000
+++ /dev/null
@@ -1,268 +0,0 @@
-<?php
-/**
- * $Id: Logger.class.php 10 2007-05-27 10:55:12Z spocke $
- *
- * @package MCFileManager.filesystems
- * @author Moxiecode
- * @copyright Copyright Â© 2005, Moxiecode Systems AB, All rights reserved.
- */
-
-// File type contstants
-define('MC_LOGGER_DEBUG', 0);
-define('MC_LOGGER_INFO', 10);
-define('MC_LOGGER_WARN', 20);
-define('MC_LOGGER_ERROR', 30);
-define('MC_LOGGER_FATAL', 40);
-
-/**
- * Logging utility class. This class handles basic logging with levels, log rotation and custom log formats. It's
- * designed to be compact but still powerful and flexible.
- */
-class Moxiecode_Logger {
-       // Private fields
-       var $_path;
-       var $_filename;
-       var $_maxSize;
-       var $_maxFiles;
-       var $_maxSizeBytes;
-       var $_level;
-       var $_format;
-
-       /**
-        * Constructs a new logger instance.
-        */
-       function Moxiecode_Logger() {
-               $this->_path = "";
-               $this->_filename = "{level}.log";
-               $this->setMaxSize("100k");
-               $this->_maxFiles = 10;
-               $this->_level = MC_LOGGER_DEBUG;
-               $this->_format = "[{time}] [{level}] {message}";
-       }
-
-       /**
-        * Sets the current log level, use the MC_LOGGER constants.
-        *
-        * @param int $level Log level instance for example MC_LOGGER_DEBUG.
-        */
-       function setLevel($level) {
-               if (is_string($level)) {
-                       switch (strtolower($level)) {
-                               case "debug":
-                                       $level = MC_LOGGER_DEBUG;
-                                       break;
-
-                               case "info":
-                                       $level = MC_LOGGER_INFO;
-                                       break;
-
-                               case "warn":
-                               case "warning":
-                                       $level = MC_LOGGER_WARN;
-                                       break;
-
-                               case "error":
-                                       $level = MC_LOGGER_ERROR;
-                                       break;
-
-                               case "fatal":
-                                       $level = MC_LOGGER_FATAL;
-                                       break;
-
-                               default:
-                                       $level = MC_LOGGER_FATAL;
-                       }
-               }
-
-               $this->_level = $level;
-       }
-
-       /**
-        * Returns the current log level for example MC_LOGGER_DEBUG.
-        *
-        * @return int Current log level for example MC_LOGGER_DEBUG.
-        */
-       function getLevel() {
-               return $this->_level;
-       }
-
-       function setPath($path) {
-               $this->_path = $path;
-       }
-
-       function getPath() {
-               return $this->_path;
-       }
-
-       function setFileName($file_name) {
-               $this->_filename = $file_name;
-       }
-
-       function getFileName() {
-               return $this->_filename;
-       }
-
-       function setFormat($format) {
-               $this->_format = $format;
-       }
-
-       function getFormat() {
-               return $this->_format;
-       }
-
-       function setMaxSize($size) {
-               // Fix log max size
-               $logMaxSizeBytes = intval(preg_replace("/[^0-9]/", "", $size));
-
-               // Is KB
-               if (strpos((strtolower($size)), "k") > 0)
-                       $logMaxSizeBytes *= 1024;
-
-               // Is MB
-               if (strpos((strtolower($size)), "m") > 0)
-                       $logMaxSizeBytes *= (1024 * 1024);
-
-               $this->_maxSizeBytes = $logMaxSizeBytes;
-               $this->_maxSize = $size;
-       }
-
-       function getMaxSize() {
-               return $this->_maxSize;
-       }
-
-       function setMaxFiles($max_files) {
-               $this->_maxFiles = $max_files;
-       }
-
-       function getMaxFiles() {
-               return $this->_maxFiles;
-       }
-
-       function debug($msg) {
-               $args = func_get_args();
-               $this->_logMsg(MC_LOGGER_DEBUG, implode(', ', $args));
-       }
-
-       function info($msg) {
-               $args = func_get_args();
-               $this->_logMsg(MC_LOGGER_INFO, implode(', ', $args));
-       }
-
-       function warn($msg) {
-               $args = func_get_args();
-               $this->_logMsg(MC_LOGGER_WARN, implode(', ', $args));
-       }
-
-       function error($msg) {
-               $args = func_get_args();
-               $this->_logMsg(MC_LOGGER_ERROR, implode(', ', $args));
-       }
-
-       function fatal($msg) {
-               $args = func_get_args();
-               $this->_logMsg(MC_LOGGER_FATAL, implode(', ', $args));
-       }
-
-       function isDebugEnabled() {
-               return $this->_level >= MC_LOGGER_DEBUG;
-       }
-
-       function isInfoEnabled() {
-               return $this->_level >= MC_LOGGER_INFO;
-       }
-
-       function isWarnEnabled() {
-               return $this->_level >= MC_LOGGER_WARN;
-       }
-
-       function isErrorEnabled() {
-               return $this->_level >= MC_LOGGER_ERROR;
-       }
-
-       function isFatalEnabled() {
-               return $this->_level >= MC_LOGGER_FATAL;
-       }
-
-       function _logMsg($level, $message) {
-               $roll = false;
-
-               if ($level < $this->_level)
-                       return;
-
-               $logFile = $this->toOSPath($this->_path . "/" . $this->_filename);
-
-               switch ($level) {
-                       case MC_LOGGER_DEBUG:
-                               $levelName = "DEBUG";
-                               break;
-
-                       case MC_LOGGER_INFO:
-                               $levelName = "INFO";
-                               break;
-
-                       case MC_LOGGER_WARN:
-                               $levelName = "WARN";
-                               break;
-
-                       case MC_LOGGER_ERROR:
-                               $levelName = "ERROR";
-                               break;
-
-                       case MC_LOGGER_FATAL:
-                               $levelName = "FATAL";
-                               break;
-               }
-
-               $logFile = str_replace('{level}', strtolower($levelName), $logFile);
-
-               $text = $this->_format;
-               $text = str_replace('{time}', date("Y-m-d H:i:s"), $text);
-               $text = str_replace('{level}', strtolower($levelName), $text);
-               $text = str_replace('{message}', $message, $text);
-               $message = $text . "\r\n";
-
-               // Check filesize
-               if (file_exists($logFile)) {
-                       $size = @filesize($logFile);
-
-                       if ($size + strlen($message) > $this->_maxSizeBytes)
-                               $roll = true;
-               }
-
-               // Roll if the size is right
-               if ($roll) {
-                       for ($i=$this->_maxFiles-1; $i>=1; $i--) {
-                               $rfile = $this->toOSPath($logFile . "." . $i);
-                               $nfile = $this->toOSPath($logFile . "." . ($i+1));
-
-                               if (@file_exists($rfile))
-                                       @rename($rfile, $nfile);
-                       }
-
-                       @rename($logFile, $this->toOSPath($logFile . ".1"));
-
-                       // Delete last logfile
-                       $delfile = $this->toOSPath($logFile . "." . ($this->_maxFiles + 1));
-                       if (@file_exists($delfile))
-                               @unlink($delfile);
-               }
-
-               // Append log line
-               if (($fp = @fopen($logFile, "a")) != null) {
-                       @fputs($fp, $message);
-                       @fflush($fp);
-                       @fclose($fp);
-               }
-       }
-
-       /**
-        * Converts a Unix path to OS specific path.
-        *
-        * @param String $path Unix path to convert.
-        */
-       function toOSPath($path) {
-               return str_replace("/", DIRECTORY_SEPARATOR, $path);
-       }
-}
-
-?>
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/config.php b/wp-includes/js/tinymce/plugins/spellchecker/config.php
deleted file mode 100644 (file)
index 795495a..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/**
- * config.php
- *
- * @package MCManager.includes
- */
-       // General settings
-       $config['general.engine'] = 'GoogleSpell';
-       //$config['general.engine'] = 'PSpell';
-       //$config['general.engine'] = 'PSpellShell';
-       //$config['general.remote_rpc_url'] = 'http://some.other.site/some/url/rpc.php';
-
-       // PSpell settings
-       $config['PSpell.mode'] = PSPELL_FAST;
-       $config['PSpell.spelling'] = "";
-       $config['PSpell.jargon'] = "";
-       $config['PSpell.encoding'] = "";
-
-       // PSpellShell settings
-       $config['PSpellShell.mode'] = PSPELL_FAST;
-       $config['PSpellShell.aspell'] = '/usr/bin/aspell';
-       $config['PSpellShell.tmp'] = '/tmp';
-
-       // Windows PSpellShell settings
-       //$config['PSpellShell.aspell'] = '"c:\Program Files\Aspell\bin\aspell.exe"';
-       //$config['PSpellShell.tmp'] = 'c:/temp';
-?>
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/css/content.css b/wp-includes/js/tinymce/plugins/spellchecker/css/content.css
deleted file mode 100644 (file)
index 656ce1e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-.mceItemHiddenSpellWord {background:url(../img/wline.gif) repeat-x bottom left; cursor:default;}
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js b/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js
deleted file mode 100644 (file)
index 6b57241..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(){var a=tinymce.util.JSONRequest,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.SpellcheckerPlugin",{getInfo:function(){return{longname:"Spellchecker",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker",version:tinymce.majorVersion+"."+tinymce.minorVersion}},init:function(e,f){var g=this,d;g.url=f;g.editor=e;g.rpcUrl=e.getParam("spellchecker_rpc_url","{backend}");if(g.rpcUrl=="{backend}"){if(tinymce.isIE){return}g.hasSupport=true;e.onContextMenu.addToTop(function(h,i){if(g.active){return false}})}e.addCommand("mceSpellCheck",function(){if(g.rpcUrl=="{backend}"){g.editor.getBody().spellcheck=g.active=!g.active;return}if(!g.active){e.setProgressState(1);g._sendRPC("checkWords",[g.selectedLang,g._getWords()],function(h){if(h.length>0){g.active=1;g._markWords(h);e.setProgressState(0);e.nodeChanged()}else{e.setProgressState(0);if(e.getParam("spellchecker_report_no_misspellings",true)){e.windowManager.alert("spellchecker.no_mpell")}}})}else{g._done()}});if(e.settings.content_css!==false){e.contentCSS.push(f+"/css/content.css")}e.onClick.add(g._showMenu,g);e.onContextMenu.add(g._showMenu,g);e.onBeforeGetContent.add(function(){if(g.active){g._removeWords()}});e.onNodeChange.add(function(i,h){h.setActive("spellchecker",g.active)});e.onSetContent.add(function(){g._done()});e.onBeforeGetContent.add(function(){g._done()});e.onBeforeExecCommand.add(function(h,i){if(i=="mceFullScreen"){g._done()}});g.languages={};c(e.getParam("spellchecker_languages","+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv","hash"),function(i,h){if(h.indexOf("+")===0){h=h.substring(1);g.selectedLang=i}g.languages[h]=i})},createControl:function(h,d){var f=this,g,e=f.editor;if(h=="spellchecker"){if(f.rpcUrl=="{backend}"){if(f.hasSupport){g=d.createButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f})}return g}g=d.createSplitButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f});g.onRenderMenu.add(function(j,i){i.add({title:"spellchecker.langs","class":"mceMenuItemTitle"}).setDisabled(1);f.menuItems={};c(f.languages,function(n,m){var p={icon:1},l;p.onclick=function(){if(n==f.selectedLang){return}f._updateMenu(l);f.selectedLang=n};p.title=m;l=i.add(p);l.setSelected(n==f.selectedLang);f.menuItems[n]=l;if(n==f.selectedLang){f.selectedItem=l}})});return g}},setLanguage:function(e){var d=this;if(e==d.selectedLang){return}if(tinymce.grep(d.languages,function(f){return f===e}).length===0){throw"Unknown language: "+e}d.selectedLang=e;if(d.menuItems){d._updateMenu(d.menuItems[e])}if(d.active){d._done()}},_updateMenu:function(d){d.setSelected(1);this.selectedItem.setSelected(0);this.selectedItem=d},_walk:function(i,g){var h=this.editor.getDoc(),e;if(h.createTreeWalker){e=h.createTreeWalker(i,NodeFilter.SHOW_TEXT,null,false);while((i=e.nextNode())!=null){g.call(this,i)}}else{tinymce.walk(i,g,"childNodes")}},_getSeparators:function(){var e="",d,f=this.editor.getParam("spellchecker_word_separator_chars",'\\s!"#$%&()*+,-./:;<=>?@[]^_{|}§©«®±¶·¸»¼½¾¿×÷¤\u201d\u201c');for(d=0;d<f.length;d++){e+="\\"+f.charAt(d)}return e},_getWords:function(){var e=this.editor,g=[],d="",f={},h=[];this._walk(e.getBody(),function(i){if(i.nodeType==3){d+=i.nodeValue+" "}});if(e.getParam("spellchecker_word_pattern")){h=d.match("("+e.getParam("spellchecker_word_pattern")+")","gi")}else{d=d.replace(new RegExp("([0-9]|["+this._getSeparators()+"])","g")," ");d=tinymce.trim(d.replace(/(\s+)/g," "));h=d.split(" ")}c(h,function(i){if(!f[i]){g.push(i);f[i]=1}});return g},_removeWords:function(d){var e=this.editor,h=e.dom,g=e.selection,f=g.getRng(true);c(h.select("span").reverse(),function(i){if(i&&(h.hasClass(i,"mceItemHiddenSpellWord")||h.hasClass(i,"mceItemHidden"))){if(!d||h.decode(i.innerHTML)==d){h.remove(i,1)}}});g.setRng(f)},_markWords:function(l){var h=this.editor,g=h.dom,j=h.getDoc(),i=h.selection,d=i.getRng(true),e=[],k=l.join("|"),m=this._getSeparators(),f=new RegExp("(^|["+m+"])("+k+")(?=["+m+"]|$)","g");this._walk(h.getBody(),function(o){if(o.nodeType==3){e.push(o)}});c(e,function(t){var r,q,o,s,p=t.nodeValue;f.lastIndex=0;if(f.test(p)){p=g.encode(p);q=g.create("span",{"class":"mceItemHidden"});if(tinymce.isIE){p=p.replace(f,"$1<mcespell>$2</mcespell>");while((s=p.indexOf("<mcespell>"))!=-1){o=p.substring(0,s);if(o.length){r=j.createTextNode(g.decode(o));q.appendChild(r)}p=p.substring(s+10);s=p.indexOf("</mcespell>");o=p.substring(0,s);p=p.substring(s+11);q.appendChild(g.create("span",{"class":"mceItemHiddenSpellWord"},o))}if(p.length){r=j.createTextNode(g.decode(p));q.appendChild(r)}}else{q.innerHTML=p.replace(f,'$1<span class="mceItemHiddenSpellWord">$2</span>')}g.replace(q,t)}});i.setRng(d)},_showMenu:function(h,j){var i=this,h=i.editor,d=i._menu,l,k=h.dom,g=k.getViewPort(h.getWin()),f=j.target;j=0;if(!d){d=h.controlManager.createDropMenu("spellcheckermenu",{"class":"mceNoIcons"});i._menu=d}if(k.hasClass(f,"mceItemHiddenSpellWord")){d.removeAll();d.add({title:"spellchecker.wait","class":"mceMenuItemTitle"}).setDisabled(1);i._sendRPC("getSuggestions",[i.selectedLang,k.decode(f.innerHTML)],function(m){var e;d.removeAll();if(m.length>0){d.add({title:"spellchecker.sug","class":"mceMenuItemTitle"}).setDisabled(1);c(m,function(n){d.add({title:n,onclick:function(){k.replace(h.getDoc().createTextNode(n),f);i._checkDone()}})});d.addSeparator()}else{d.add({title:"spellchecker.no_sug","class":"mceMenuItemTitle"}).setDisabled(1)}if(h.getParam("show_ignore_words",true)){e=i.editor.getParam("spellchecker_enable_ignore_rpc","");d.add({title:"spellchecker.ignore_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});d.add({title:"spellchecker.ignore_words",onclick:function(){var n=f.innerHTML;i._removeWords(k.decode(n));i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWords",[i.selectedLang,n],function(o){h.setProgressState(0)})}}})}if(i.editor.getParam("spellchecker_enable_learn_rpc")){d.add({title:"spellchecker.learn_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();h.setProgressState(1);i._sendRPC("learnWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}})}d.update()});l=b.getPos(h.getContentAreaContainer());d.settings.offset_x=l.x;d.settings.offset_y=l.y;h.selection.select(f);l=k.getPos(f);d.showMenu(l.x,l.y+f.offsetHeight-g.y);return tinymce.dom.Event.cancel(j)}else{d.hideMenu()}},_checkDone:function(){var e=this,d=e.editor,g=d.dom,f;c(g.select("span"),function(h){if(h&&g.hasClass(h,"mceItemHiddenSpellWord")){f=true;return false}});if(!f){e._done()}},_done:function(){var d=this,e=d.active;if(d.active){d.active=0;d._removeWords();if(d._menu){d._menu.hideMenu()}if(e){d.editor.nodeChanged()}}},_sendRPC:function(e,g,d){var f=this;a.sendRPC({url:f.rpcUrl,method:e,params:g,success:d,error:function(i,h){f.editor.setProgressState(0);f.editor.windowManager.alert(i.errstr||("Error response: "+h.responseText))}})}});tinymce.PluginManager.add("spellchecker",tinymce.plugins.SpellcheckerPlugin)})();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin_src.js b/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin_src.js
deleted file mode 100644 (file)
index 4081181..0000000
+++ /dev/null
@@ -1,471 +0,0 @@
-/**
- * editor_plugin_src.js
- *
- * Copyright 2009, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
- */
-
-(function() {
-       var JSONRequest = tinymce.util.JSONRequest, each = tinymce.each, DOM = tinymce.DOM;
-
-       tinymce.create('tinymce.plugins.SpellcheckerPlugin', {
-               getInfo : function() {
-                       return {
-                               longname : 'Spellchecker',
-                               author : 'Moxiecode Systems AB',
-                               authorurl : 'http://tinymce.moxiecode.com',
-                               infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker',
-                               version : tinymce.majorVersion + "." + tinymce.minorVersion
-                       };
-               },
-
-               init : function(ed, url) {
-                       var t = this, cm;
-
-                       t.url = url;
-                       t.editor = ed;
-                       t.rpcUrl = ed.getParam("spellchecker_rpc_url", "{backend}");
-
-                       if (t.rpcUrl == '{backend}') {
-                               // Sniff if the browser supports native spellchecking (Don't know of a better way)
-                               if (tinymce.isIE)
-                                       return;
-
-                               t.hasSupport = true;
-
-                               // Disable the context menu when spellchecking is active
-                               ed.onContextMenu.addToTop(function(ed, e) {
-                                       if (t.active)
-                                               return false;
-                               });
-                       }
-
-                       // Register commands
-                       ed.addCommand('mceSpellCheck', function() {
-                               if (t.rpcUrl == '{backend}') {
-                                       // Enable/disable native spellchecker
-                                       t.editor.getBody().spellcheck = t.active = !t.active;
-                                       return;
-                               }
-
-                               if (!t.active) {
-                                       ed.setProgressState(1);
-                                       t._sendRPC('checkWords', [t.selectedLang, t._getWords()], function(r) {
-                                               if (r.length > 0) {
-                                                       t.active = 1;
-                                                       t._markWords(r);
-                                                       ed.setProgressState(0);
-                                                       ed.nodeChanged();
-                                               } else {
-                                                       ed.setProgressState(0);
-
-                                                       if (ed.getParam('spellchecker_report_no_misspellings', true))
-                                                               ed.windowManager.alert('spellchecker.no_mpell');
-                                               }
-                                       });
-                               } else
-                                       t._done();
-                       });
-
-                       if (ed.settings.content_css !== false)
-                               ed.contentCSS.push(url + '/css/content.css');
-
-                       ed.onClick.add(t._showMenu, t);
-                       ed.onContextMenu.add(t._showMenu, t);
-                       ed.onBeforeGetContent.add(function() {
-                               if (t.active)
-                                       t._removeWords();
-                       });
-
-                       ed.onNodeChange.add(function(ed, cm) {
-                               cm.setActive('spellchecker', t.active);
-                       });
-
-                       ed.onSetContent.add(function() {
-                               t._done();
-                       });
-
-                       ed.onBeforeGetContent.add(function() {
-                               t._done();
-                       });
-
-                       ed.onBeforeExecCommand.add(function(ed, cmd) {
-                               if (cmd == 'mceFullScreen')
-                                       t._done();
-                       });
-
-                       // Find selected language
-                       t.languages = {};
-                       each(ed.getParam('spellchecker_languages', '+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv', 'hash'), function(v, k) {
-                               if (k.indexOf('+') === 0) {
-                                       k = k.substring(1);
-                                       t.selectedLang = v;
-                               }
-
-                               t.languages[k] = v;
-                       });
-               },
-
-               createControl : function(n, cm) {
-                       var t = this, c, ed = t.editor;
-
-                       if (n == 'spellchecker') {
-                               // Use basic button if we use the native spellchecker
-                               if (t.rpcUrl == '{backend}') {
-                                       // Create simple toggle button if we have native support
-                                       if (t.hasSupport)
-                                               c = cm.createButton(n, {title : 'spellchecker.desc', cmd : 'mceSpellCheck', scope : t});
-
-                                       return c;
-                               }
-
-                               c = cm.createSplitButton(n, {title : 'spellchecker.desc', cmd : 'mceSpellCheck', scope : t});
-
-                               c.onRenderMenu.add(function(c, m) {
-                                       m.add({title : 'spellchecker.langs', 'class' : 'mceMenuItemTitle'}).setDisabled(1);
-                                       t.menuItems = {};
-                                       each(t.languages, function(v, k) {
-                                               var o = {icon : 1}, mi;
-
-                                               o.onclick = function() {
-                                                       if (v == t.selectedLang) {
-                                                               return;
-                                                       }
-                                                       t._updateMenu(mi);
-                                                       t.selectedLang = v;
-                                               };
-
-                                               o.title = k;
-                                               mi = m.add(o);
-                                               mi.setSelected(v == t.selectedLang);
-                                               t.menuItems[v] = mi;
-                                               if (v == t.selectedLang)
-                                                       t.selectedItem = mi;
-                                       });
-                               });
-
-
-
-                               return c;
-                       }
-               },
-
-               setLanguage: function(lang) {
-                       var t = this;
-
-                       if (lang == t.selectedLang) {
-                               // allowed
-                               return;
-                       }
-
-                       if (tinymce.grep(t.languages, function(v) { return v === lang; }).length === 0) {
-                               throw "Unknown language: " + lang;
-                       }
-
-                       t.selectedLang = lang;
-
-                       // if the menu has been shown, update it as well
-                       if (t.menuItems) {
-                               t._updateMenu(t.menuItems[lang]);
-                       }
-
-                       if (t.active) {
-                               // clear error in the old language.
-                               t._done();
-
-                               // Don't immediately block the UI to check spelling in the new language, this is an API not a user action.
-                       }
-               },
-
-               // Internal functions
-
-               _updateMenu: function(mi) {
-                       mi.setSelected(1);
-                       this.selectedItem.setSelected(0);
-                       this.selectedItem = mi;
-               },
-
-               _walk : function(n, f) {
-                       var d = this.editor.getDoc(), w;
-
-                       if (d.createTreeWalker) {
-                               w = d.createTreeWalker(n, NodeFilter.SHOW_TEXT, null, false);
-
-                               while ((n = w.nextNode()) != null)
-                                       f.call(this, n);
-                       } else
-                               tinymce.walk(n, f, 'childNodes');
-               },
-
-               _getSeparators : function() {
-                       var re = '', i, str = this.editor.getParam('spellchecker_word_separator_chars', '\\s!"#$%&()*+,-./:;<=>?@[\]^_{|}§©«®±¶·¸»¼½¾¿×÷¤\u201d\u201c');
-
-                       // Build word separator regexp
-                       for (i=0; i<str.length; i++)
-                               re += '\\' + str.charAt(i);
-
-                       return re;
-               },
-
-               _getWords : function() {
-                       var ed = this.editor, wl = [], tx = '', lo = {}, rawWords = [];
-
-                       // Get area text
-                       this._walk(ed.getBody(), function(n) {
-                               if (n.nodeType == 3)
-                                       tx += n.nodeValue + ' ';
-                       });
-
-                       // split the text up into individual words
-                       if (ed.getParam('spellchecker_word_pattern')) {
-                               // look for words that match the pattern
-                               rawWords = tx.match('(' + ed.getParam('spellchecker_word_pattern') + ')', 'gi');
-                       } else {
-                               // Split words by separator
-                               tx = tx.replace(new RegExp('([0-9]|[' + this._getSeparators() + '])', 'g'), ' ');
-                               tx = tinymce.trim(tx.replace(/(\s+)/g, ' '));
-                               rawWords = tx.split(' ');
-                       }
-
-                       // Build word array and remove duplicates
-                       each(rawWords, function(v) {
-                               if (!lo[v]) {
-                                       wl.push(v);
-                                       lo[v] = 1;
-                               }
-                       });
-
-                       return wl;
-               },
-
-               _removeWords : function(w) {
-                       var ed = this.editor, dom = ed.dom, se = ed.selection, r = se.getRng(true);
-
-                       each(dom.select('span').reverse(), function(n) {
-                               if (n && (dom.hasClass(n, 'mceItemHiddenSpellWord') || dom.hasClass(n, 'mceItemHidden'))) {
-                                       if (!w || dom.decode(n.innerHTML) == w)
-                                               dom.remove(n, 1);
-                               }
-                       });
-
-                       se.setRng(r);
-               },
-
-               _markWords : function(wl) {
-                       var ed = this.editor, dom = ed.dom, doc = ed.getDoc(), se = ed.selection, r = se.getRng(true), nl = [],
-                               w = wl.join('|'), re = this._getSeparators(), rx = new RegExp('(^|[' + re + '])(' + w + ')(?=[' + re + ']|$)', 'g');
-
-                       // Collect all text nodes
-                       this._walk(ed.getBody(), function(n) {
-                               if (n.nodeType == 3) {
-                                       nl.push(n);
-                               }
-                       });
-
-                       // Wrap incorrect words in spans
-                       each(nl, function(n) {
-                               var node, elem, txt, pos, v = n.nodeValue;
-
-                               rx.lastIndex = 0;
-                               if (rx.test(v)) {
-                                       // Encode the content
-                                       v = dom.encode(v);
-                                       // Create container element
-                                       elem = dom.create('span', {'class' : 'mceItemHidden'});
-
-                                       // Following code fixes IE issues by creating text nodes
-                                       // using DOM methods instead of innerHTML.
-                                       // Bug #3124: <PRE> elements content is broken after spellchecking.
-                                       // Bug #1408: Preceding whitespace characters are removed
-                                       // @TODO: I'm not sure that both are still issues on IE9.
-                                       if (tinymce.isIE) {
-                                               // Enclose mispelled words with temporal tag
-                                               v = v.replace(rx, '$1<mcespell>$2</mcespell>');
-                                               // Loop over the content finding mispelled words
-                                               while ((pos = v.indexOf('<mcespell>')) != -1) {
-                                                       // Add text node for the content before the word
-                                                       txt = v.substring(0, pos);
-                                                       if (txt.length) {
-                                                               node = doc.createTextNode(dom.decode(txt));
-                                                               elem.appendChild(node);
-                                                       }
-                                                       v = v.substring(pos+10);
-                                                       pos = v.indexOf('</mcespell>');
-                                                       txt = v.substring(0, pos);
-                                                       v = v.substring(pos+11);
-                                                       // Add span element for the word
-                                                       elem.appendChild(dom.create('span', {'class' : 'mceItemHiddenSpellWord'}, txt));
-                                               }
-                                               // Add text node for the rest of the content
-                                               if (v.length) {
-                                                       node = doc.createTextNode(dom.decode(v));
-                                                       elem.appendChild(node);
-                                               }
-                                       } else {
-                                               // Other browsers preserve whitespace characters on innerHTML usage
-                                               elem.innerHTML = v.replace(rx, '$1<span class="mceItemHiddenSpellWord">$2</span>');
-                                       }
-
-                                       // Finally, replace the node with the container
-                                       dom.replace(elem, n);
-                               }
-                       });
-
-                       se.setRng(r);
-               },
-
-               _showMenu : function(ed, e) {
-                       var t = this, ed = t.editor, m = t._menu, p1, dom = ed.dom, vp = dom.getViewPort(ed.getWin()), wordSpan = e.target;
-
-                       e = 0; // Fixes IE memory leak
-
-                       if (!m) {
-                               m = ed.controlManager.createDropMenu('spellcheckermenu', {'class' : 'mceNoIcons'});
-                               t._menu = m;
-                       }
-
-                       if (dom.hasClass(wordSpan, 'mceItemHiddenSpellWord')) {
-                               m.removeAll();
-                               m.add({title : 'spellchecker.wait', 'class' : 'mceMenuItemTitle'}).setDisabled(1);
-
-                               t._sendRPC('getSuggestions', [t.selectedLang, dom.decode(wordSpan.innerHTML)], function(r) {
-                                       var ignoreRpc;
-
-                                       m.removeAll();
-
-                                       if (r.length > 0) {
-                                               m.add({title : 'spellchecker.sug', 'class' : 'mceMenuItemTitle'}).setDisabled(1);
-                                               each(r, function(v) {
-                                                       m.add({title : v, onclick : function() {
-                                                               dom.replace(ed.getDoc().createTextNode(v), wordSpan);
-                                                               t._checkDone();
-                                                       }});
-                                               });
-
-                                               m.addSeparator();
-                                       } else
-                                               m.add({title : 'spellchecker.no_sug', 'class' : 'mceMenuItemTitle'}).setDisabled(1);
-
-                                       if (ed.getParam('show_ignore_words', true)) {
-                                               ignoreRpc = t.editor.getParam("spellchecker_enable_ignore_rpc", '');
-                                               m.add({
-                                                       title : 'spellchecker.ignore_word',
-                                                       onclick : function() {
-                                                               var word = wordSpan.innerHTML;
-
-                                                               dom.remove(wordSpan, 1);
-                                                               t._checkDone();
-
-                                                               // tell the server if we need to
-                                                               if (ignoreRpc) {
-                                                                       ed.setProgressState(1);
-                                                                       t._sendRPC('ignoreWord', [t.selectedLang, word], function(r) {
-                                                                               ed.setProgressState(0);
-                                                                       });
-                                                               }
-                                                       }
-                                               });
-
-                                               m.add({
-                                                       title : 'spellchecker.ignore_words',
-                                                       onclick : function() {
-                                                               var word = wordSpan.innerHTML;
-
-                                                               t._removeWords(dom.decode(word));
-                                                               t._checkDone();
-
-                                                               // tell the server if we need to
-                                                               if (ignoreRpc) {
-                                                                       ed.setProgressState(1);
-                                                                       t._sendRPC('ignoreWords', [t.selectedLang, word], function(r) {
-                                                                               ed.setProgressState(0);
-                                                                       });
-                                                               }
-                                                       }
-                                               });
-                                       }
-
-                                       if (t.editor.getParam("spellchecker_enable_learn_rpc")) {
-                                               m.add({
-                                                       title : 'spellchecker.learn_word',
-                                                       onclick : function() {
-                                                               var word = wordSpan.innerHTML;
-
-                                                               dom.remove(wordSpan, 1);
-                                                               t._checkDone();
-
-                                                               ed.setProgressState(1);
-                                                               t._sendRPC('learnWord', [t.selectedLang, word], function(r) {
-                                                                       ed.setProgressState(0);
-                                                               });
-                                                       }
-                                               });
-                                       }
-
-                                       m.update();
-                               });
-
-                               p1 = DOM.getPos(ed.getContentAreaContainer());
-                               m.settings.offset_x = p1.x;
-                               m.settings.offset_y = p1.y;
-
-                               ed.selection.select(wordSpan);
-                               p1 = dom.getPos(wordSpan);
-                               m.showMenu(p1.x, p1.y + wordSpan.offsetHeight - vp.y);
-
-                               return tinymce.dom.Event.cancel(e);
-                       } else
-                               m.hideMenu();
-               },
-
-               _checkDone : function() {
-                       var t = this, ed = t.editor, dom = ed.dom, o;
-
-                       each(dom.select('span'), function(n) {
-                               if (n && dom.hasClass(n, 'mceItemHiddenSpellWord')) {
-                                       o = true;
-                                       return false;
-                               }
-                       });
-
-                       if (!o)
-                               t._done();
-               },
-
-               _done : function() {
-                       var t = this, la = t.active;
-
-                       if (t.active) {
-                               t.active = 0;
-                               t._removeWords();
-
-                               if (t._menu)
-                                       t._menu.hideMenu();
-
-                               if (la)
-                                       t.editor.nodeChanged();
-                       }
-               },
-
-               _sendRPC : function(m, p, cb) {
-                       var t = this;
-
-                       JSONRequest.sendRPC({
-                               url : t.rpcUrl,
-                               method : m,
-                               params : p,
-                               success : cb,
-                               error : function(e, x) {
-                                       t.editor.setProgressState(0);
-                                       t.editor.windowManager.alert(e.errstr || ('Error response: ' + x.responseText));
-                               }
-                       });
-               }
-       });
-
-       // Register plugin
-       tinymce.PluginManager.add('spellchecker', tinymce.plugins.SpellcheckerPlugin);
-})();
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/img/wline.gif b/wp-includes/js/tinymce/plugins/spellchecker/img/wline.gif
deleted file mode 100644 (file)
index 7d0a4db..0000000
Binary files a/wp-includes/js/tinymce/plugins/spellchecker/img/wline.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/includes/general.php b/wp-includes/js/tinymce/plugins/spellchecker/includes/general.php
deleted file mode 100644 (file)
index ffea3a0..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-/**
- * general.php
- *
- * @package MCManager.includes
- * @author Moxiecode
- * @copyright Copyright Â© 2007, Moxiecode Systems AB, All rights reserved.
- */
-
-@error_reporting(E_ALL ^ E_NOTICE);
-$config = array();
-
-require_once(dirname(__FILE__) . "/../classes/utils/Logger.php");
-require_once(dirname(__FILE__) . "/../classes/utils/JSON.php");
-require_once(dirname(__FILE__) . "/../config.php");
-require_once(dirname(__FILE__) . "/../classes/SpellChecker.php");
-
-if (isset($config['general.engine']))
-       require_once(dirname(__FILE__) . "/../classes/" . $config["general.engine"] . ".php");
-
-/**
- * Returns an request value by name without magic quoting.
- *
- * @param String $name Name of parameter to get.
- * @param String $default_value Default value to return if value not found.
- * @return String request value by name without magic quoting or default value.
- */
-function getRequestParam($name, $default_value = false) {
-       if (!isset($_REQUEST[$name]))
-               return $default_value;
-
-       if (is_array($_REQUEST[$name])) {
-               $newarray = array();
-
-               foreach ($_REQUEST[$name] as $name => $value)
-                       $newarray[$name] = $value;
-
-               return $newarray;
-       }
-
-       return $_REQUEST[$name];
-}
-
-function &getLogger() {
-       global $mcLogger, $man;
-
-       if (isset($man))
-               $mcLogger = $man->getLogger();
-
-       if (!$mcLogger) {
-               $mcLogger = new Moxiecode_Logger();
-
-               // Set logger options
-               $mcLogger->setPath(dirname(__FILE__) . "/../logs");
-               $mcLogger->setMaxSize("100kb");
-               $mcLogger->setMaxFiles("10");
-               $mcLogger->setFormat("{time} - {message}");
-       }
-
-       return $mcLogger;
-}
-
-function debug($msg) {
-       $args = func_get_args();
-
-       $log = getLogger();
-       $log->debug(implode(', ', $args));
-}
-
-function info($msg) {
-       $args = func_get_args();
-
-       $log = getLogger();
-       $log->info(implode(', ', $args));
-}
-
-function error($msg) {
-       $args = func_get_args();
-
-       $log = getLogger();
-       $log->error(implode(', ', $args));
-}
-
-function warn($msg) {
-       $args = func_get_args();
-
-       $log = getLogger();
-       $log->warn(implode(', ', $args));
-}
-
-function fatal($msg) {
-       $args = func_get_args();
-
-       $log = getLogger();
-       $log->fatal(implode(', ', $args));
-}
-
-?>
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/spellchecker/rpc.php b/wp-includes/js/tinymce/plugins/spellchecker/rpc.php
deleted file mode 100644 (file)
index 6a56734..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-/**
- * $Id: rpc.php 915 2008-09-03 08:45:28Z spocke $
- *
- * @package MCManager.includes
- * @author Moxiecode
- * @copyright Copyright Â© 2004-2007, Moxiecode Systems AB, All rights reserved.
- */
-
-require_once("./includes/general.php");
-
-// Set RPC response headers
-header('Content-Type: text/plain');
-header('Content-Encoding: UTF-8');
-header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
-header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
-header("Cache-Control: no-store, no-cache, must-revalidate");
-header("Cache-Control: post-check=0, pre-check=0", false);
-header("Pragma: no-cache");
-
-$raw = "";
-
-// Try param
-if (isset($_POST["json_data"]))
-       $raw = getRequestParam("json_data");
-
-// Try globals array
-if (!$raw && isset($_GLOBALS) && isset($_GLOBALS["HTTP_RAW_POST_DATA"]))
-       $raw = $_GLOBALS["HTTP_RAW_POST_DATA"];
-
-// Try globals variable
-if (!$raw && isset($HTTP_RAW_POST_DATA))
-       $raw = $HTTP_RAW_POST_DATA;
-
-// Try stream
-if (!$raw) {
-       if (!function_exists('file_get_contents')) {
-               $fp = fopen("php://input", "r");
-               if ($fp) {
-                       $raw = "";
-
-                       while (!feof($fp))
-                               $raw = fread($fp, 1024);
-
-                       fclose($fp);
-               }
-       } else
-               $raw = "" . file_get_contents("php://input");
-}
-
-// No input data
-if (!$raw)
-       die('{"result":null,"id":null,"error":{"errstr":"Could not get raw post data.","errfile":"","errline":null,"errcontext":"","level":"FATAL"}}');
-
-// Passthrough request to remote server
-if (isset($config['general.remote_rpc_url'])) {
-       $url = parse_url($config['general.remote_rpc_url']);
-
-       // Setup request
-       $req = "POST " . $url["path"] . " HTTP/1.0\r\n";
-       $req .= "Connection: close\r\n";
-       $req .= "Host: " . $url['host'] . "\r\n";
-       $req .= "Content-Length: " . strlen($raw) . "\r\n";
-       $req .= "\r\n" . $raw;
-
-       if (!isset($url['port']) || !$url['port'])
-               $url['port'] = 80;
-
-       $errno = $errstr = "";
-
-       $socket = fsockopen($url['host'], intval($url['port']), $errno, $errstr, 30);
-       if ($socket) {
-               // Send request headers
-               fputs($socket, $req);
-
-               // Read response headers and data
-               $resp = "";
-               while (!feof($socket))
-                               $resp .= fgets($socket, 4096);
-
-               fclose($socket);
-
-               // Split response header/data
-               $resp = explode("\r\n\r\n", $resp);
-               echo $resp[1]; // Output body
-       }
-
-       die();
-}
-
-// Get JSON data
-$json = new Moxiecode_JSON();
-$input = $json->decode($raw);
-
-// Execute RPC
-if (isset($config['general.engine'])) {
-       $spellchecker = new $config['general.engine']($config);
-       $result = call_user_func_array(array($spellchecker, $input['method']), $input['params']);
-} else
-       die('{"result":null,"id":null,"error":{"errstr":"You must choose an spellchecker engine in the config.php file.","errfile":"","errline":null,"errcontext":"","level":"FATAL"}}');
-
-// Request and response id should always be the same
-$output = array(
-       "id" => $input->id,
-       "result" => $result,
-       "error" => null
-);
-
-// Return JSON encoded string
-echo $json->encode($output);
-
-?>
diff --git a/wp-includes/js/tinymce/plugins/tabfocus/editor_plugin.js b/wp-includes/js/tinymce/plugins/tabfocus/editor_plugin.js
deleted file mode 100644 (file)
index 2c51291..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(){var c=tinymce.DOM,a=tinymce.dom.Event,d=tinymce.each,b=tinymce.explode;tinymce.create("tinymce.plugins.TabFocusPlugin",{init:function(f,g){function e(i,j){if(j.keyCode===9){return a.cancel(j)}}function h(l,p){var j,m,o,n,k;function q(t){n=c.select(":input:enabled,*[tabindex]:not(iframe)");function s(v){return v.nodeName==="BODY"||(v.type!="hidden"&&!(v.style.display=="none")&&!(v.style.visibility=="hidden")&&s(v.parentNode))}function i(v){return v.attributes.tabIndex.specified||v.nodeName=="INPUT"||v.nodeName=="TEXTAREA"}function u(){return tinymce.isIE6||tinymce.isIE7}function r(v){return((!u()||i(v)))&&v.getAttribute("tabindex")!="-1"&&s(v)}d(n,function(w,v){if(w.id==l.id){j=v;return false}});if(t>0){for(m=j+1;m<n.length;m++){if(r(n[m])){return n[m]}}}else{for(m=j-1;m>=0;m--){if(r(n[m])){return n[m]}}}return null}if(p.keyCode===9){k=b(l.getParam("tab_focus",l.getParam("tabfocus_elements",":prev,:next")));if(k.length==1){k[1]=k[0];k[0]=":prev"}if(p.shiftKey){if(k[0]==":prev"){n=q(-1)}else{n=c.get(k[0])}}else{if(k[1]==":next"){n=q(1)}else{n=c.get(k[1])}}if(n){if(n.id&&(l=tinymce.get(n.id||n.name))){l.focus()}else{window.setTimeout(function(){if(!tinymce.isWebKit){window.focus()}n.focus()},10)}return a.cancel(p)}}}f.onKeyUp.add(e);if(tinymce.isGecko){f.onKeyPress.add(h);f.onKeyDown.add(e)}else{f.onKeyDown.add(h)}},getInfo:function(){return{longname:"Tabfocus",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("tabfocus",tinymce.plugins.TabFocusPlugin)})();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/tabfocus/editor_plugin_src.js b/wp-includes/js/tinymce/plugins/tabfocus/editor_plugin_src.js
deleted file mode 100644 (file)
index 94f4532..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-/**
- * editor_plugin_src.js
- *
- * Copyright 2009, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
- */
-
-(function() {
-       var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, explode = tinymce.explode;
-
-       tinymce.create('tinymce.plugins.TabFocusPlugin', {
-               init : function(ed, url) {
-                       function tabCancel(ed, e) {
-                               if (e.keyCode === 9)
-                                       return Event.cancel(e);
-                       }
-
-                       function tabHandler(ed, e) {
-                               var x, i, f, el, v;
-
-                               function find(d) {
-                                       el = DOM.select(':input:enabled,*[tabindex]:not(iframe)');
-
-                                       function canSelectRecursive(e) {
-                                               return e.nodeName==="BODY" || (e.type != 'hidden' &&
-                                                       !(e.style.display == "none") &&
-                                                       !(e.style.visibility == "hidden") && canSelectRecursive(e.parentNode));
-                                       }
-                                       function canSelectInOldIe(el) {
-                                               return el.attributes["tabIndex"].specified || el.nodeName == "INPUT" || el.nodeName == "TEXTAREA";
-                                       }
-                                       function isOldIe() {
-                                               return tinymce.isIE6 || tinymce.isIE7;
-                                       }
-                                       function canSelect(el) {
-                                               return ((!isOldIe() || canSelectInOldIe(el))) && el.getAttribute("tabindex") != '-1' && canSelectRecursive(el);
-                                       }
-
-                                       each(el, function(e, i) {
-                                               if (e.id == ed.id) {
-                                                       x = i;
-                                                       return false;
-                                               }
-                                       });
-                                       if (d > 0) {
-                                               for (i = x + 1; i < el.length; i++) {
-                                                       if (canSelect(el[i]))
-                                                               return el[i];
-                                               }
-                                       } else {
-                                               for (i = x - 1; i >= 0; i--) {
-                                                       if (canSelect(el[i]))
-                                                               return el[i];
-                                               }
-                                       }
-
-                                       return null;
-                               }
-
-                               if (e.keyCode === 9) {
-                                       v = explode(ed.getParam('tab_focus', ed.getParam('tabfocus_elements', ':prev,:next')));
-
-                                       if (v.length == 1) {
-                                               v[1] = v[0];
-                                               v[0] = ':prev';
-                                       }
-
-                                       // Find element to focus
-                                       if (e.shiftKey) {
-                                               if (v[0] == ':prev')
-                                                       el = find(-1);
-                                               else
-                                                       el = DOM.get(v[0]);
-                                       } else {
-                                               if (v[1] == ':next')
-                                                       el = find(1);
-                                               else
-                                                       el = DOM.get(v[1]);
-                                       }
-
-                                       if (el) {
-                                               if (el.id && (ed = tinymce.get(el.id || el.name)))
-                                                       ed.focus();
-                                               else
-                                                       window.setTimeout(function() {
-                                                               if (!tinymce.isWebKit)
-                                                                       window.focus();
-                                                               el.focus();
-                                                       }, 10);
-
-                                               return Event.cancel(e);
-                                       }
-                               }
-                       }
-
-                       ed.onKeyUp.add(tabCancel);
-
-                       if (tinymce.isGecko) {
-                               ed.onKeyPress.add(tabHandler);
-                               ed.onKeyDown.add(tabCancel);
-                       } else
-                               ed.onKeyDown.add(tabHandler);
-
-               },
-
-               getInfo : function() {
-                       return {
-                               longname : 'Tabfocus',
-                               author : 'Moxiecode Systems AB',
-                               authorurl : 'http://tinymce.moxiecode.com',
-                               infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus',
-                               version : tinymce.majorVersion + "." + tinymce.minorVersion
-                       };
-               }
-       });
-
-       // Register plugin
-       tinymce.PluginManager.add('tabfocus', tinymce.plugins.TabFocusPlugin);
-})();
diff --git a/wp-includes/js/tinymce/plugins/tabfocus/plugin.js b/wp-includes/js/tinymce/plugins/tabfocus/plugin.js
new file mode 100644 (file)
index 0000000..0d81497
--- /dev/null
@@ -0,0 +1,124 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*global tinymce:true */
+
+tinymce.PluginManager.add('tabfocus', function(editor) {
+       var DOM = tinymce.DOM, each = tinymce.each, explode = tinymce.explode;
+
+       function tabCancel(e) {
+               if (e.keyCode === 9 && !e.ctrlKey && !e.altKey && !e.metaKey) {
+                       e.preventDefault();
+               }
+       }
+
+       function tabHandler(e) {
+               var x, el, v, i;
+
+               if (e.keyCode !== 9 || e.ctrlKey || e.altKey || e.metaKey) {
+                       return;
+               }
+
+               function find(direction) {
+                       el = DOM.select(':input:enabled,*[tabindex]:not(iframe)');
+
+                       function canSelectRecursive(e) {
+                               return e.nodeName === "BODY" || (e.type != 'hidden' &&
+                                       e.style.display != "none" &&
+                                       e.style.visibility != "hidden" && canSelectRecursive(e.parentNode));
+                       }
+
+                       function canSelectInOldIe(el) {
+                               return el.tabIndex || el.nodeName == "INPUT" || el.nodeName == "TEXTAREA";
+                       }
+
+                       function canSelect(el) {
+                               return ((!canSelectInOldIe(el))) && el.getAttribute("tabindex") != '-1' && canSelectRecursive(el);
+                       }
+
+                       each(el, function(e, i) {
+                               if (e.id == editor.id) {
+                                       x = i;
+                                       return false;
+                               }
+                       });
+                       if (direction > 0) {
+                               for (i = x + 1; i < el.length; i++) {
+                                       if (canSelect(el[i])) {
+                                               return el[i];
+                                       }
+                               }
+                       } else {
+                               for (i = x - 1; i >= 0; i--) {
+                                       if (canSelect(el[i])) {
+                                               return el[i];
+                                       }
+                               }
+                       }
+
+                       return null;
+               }
+
+               v = explode(editor.getParam('tab_focus', editor.getParam('tabfocus_elements', ':prev,:next')));
+
+               if (v.length == 1) {
+                       v[1] = v[0];
+                       v[0] = ':prev';
+               }
+
+               // Find element to focus
+               if (e.shiftKey) {
+                       if (v[0] == ':prev') {
+                               el = find(-1);
+                       } else {
+                               el = DOM.get(v[0]);
+                       }
+               } else {
+                       if (v[1] == ':next') {
+                               el = find(1);
+                       } else {
+                               el = DOM.get(v[1]);
+                       }
+               }
+
+               if (el) {
+                       var focusEditor = tinymce.get(el.id || el.name);
+
+                       if (el.id && focusEditor) {
+                               focusEditor.focus();
+                       } else {
+                               window.setTimeout(function() {
+                                       if (!tinymce.Env.webkit) {
+                                               window.focus();
+                                       }
+
+                                       el.focus();
+                               }, 10);
+                       }
+
+                       e.preventDefault();
+               }
+       }
+
+       editor.on('init', function() {
+               if (editor.inline) {
+                       // Remove default tabIndex in inline mode
+                       tinymce.DOM.setAttrib(editor.getBody(), 'tabIndex', null);
+               }
+       });
+
+       editor.on('keyup', tabCancel);
+
+       if (tinymce.Env.gecko) {
+               editor.on('keypress keydown', tabHandler);
+       } else {
+               editor.on('keydown', tabHandler);
+       }
+});
diff --git a/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js b/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js
new file mode 100644 (file)
index 0000000..68fe35e
--- /dev/null
@@ -0,0 +1 @@
+tinymce.PluginManager.add("tabfocus",function(e){function n(e){9!==e.keyCode||e.ctrlKey||e.altKey||e.metaKey||e.preventDefault()}function t(n){function t(n){function t(e){return"BODY"===e.nodeName||"hidden"!=e.type&&"none"!=e.style.display&&"hidden"!=e.style.visibility&&t(e.parentNode)}function r(e){return e.tabIndex||"INPUT"==e.nodeName||"TEXTAREA"==e.nodeName}function c(e){return!r(e)&&"-1"!=e.getAttribute("tabindex")&&t(e)}if(u=i.select(":input:enabled,*[tabindex]:not(iframe)"),o(u,function(n,t){return n.id==e.id?(a=t,!1):void 0}),n>0){for(d=a+1;d<u.length;d++)if(c(u[d]))return u[d]}else for(d=a-1;d>=0;d--)if(c(u[d]))return u[d];return null}var a,u,c,d;if(!(9!==n.keyCode||n.ctrlKey||n.altKey||n.metaKey)&&(c=r(e.getParam("tab_focus",e.getParam("tabfocus_elements",":prev,:next"))),1==c.length&&(c[1]=c[0],c[0]=":prev"),u=n.shiftKey?":prev"==c[0]?t(-1):i.get(c[0]):":next"==c[1]?t(1):i.get(c[1]))){var y=tinymce.get(u.id||u.name);u.id&&y?y.focus():window.setTimeout(function(){tinymce.Env.webkit||window.focus(),u.focus()},10),n.preventDefault()}}var i=tinymce.DOM,o=tinymce.each,r=tinymce.explode;e.on("init",function(){e.inline&&tinymce.DOM.setAttrib(e.getBody(),"tabIndex",null)}),e.on("keyup",n),tinymce.Env.gecko?e.on("keypress keydown",t):e.on("keydown",t)});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/textcolor/plugin.js b/wp-includes/js/tinymce/plugins/textcolor/plugin.js
new file mode 100644 (file)
index 0000000..a3a01e7
--- /dev/null
@@ -0,0 +1,164 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*global tinymce:true */
+/*eslint consistent-this:0 */
+
+tinymce.PluginManager.add('textcolor', function(editor) {
+       function mapColors() {
+               var i, colors = [], colorMap;
+
+               colorMap = editor.settings.textcolor_map || [
+                       "000000", "Black",
+                       "993300", "Burnt orange",
+                       "333300", "Dark olive",
+                       "003300", "Dark green",
+                       "003366", "Dark azure",
+                       "000080", "Navy Blue",
+                       "333399", "Indigo",
+                       "333333", "Very dark gray",
+                       "800000", "Maroon",
+                       "FF6600", "Orange",
+                       "808000", "Olive",
+                       "008000", "Green",
+                       "008080", "Teal",
+                       "0000FF", "Blue",
+                       "666699", "Grayish blue",
+                       "808080", "Gray",
+                       "FF0000", "Red",
+                       "FF9900", "Amber",
+                       "99CC00", "Yellow green",
+                       "339966", "Sea green",
+                       "33CCCC", "Turquoise",
+                       "3366FF", "Royal blue",
+                       "800080", "Purple",
+                       "999999", "Medium gray",
+                       "FF00FF", "Magenta",
+                       "FFCC00", "Gold",
+                       "FFFF00", "Yellow",
+                       "00FF00", "Lime",
+                       "00FFFF", "Aqua",
+                       "00CCFF", "Sky blue",
+                       "993366", "Brown",
+                       "C0C0C0", "Silver",
+                       "FF99CC", "Pink",
+                       "FFCC99", "Peach",
+                       "FFFF99", "Light yellow",
+                       "CCFFCC", "Pale green",
+                       "CCFFFF", "Pale cyan",
+                       "99CCFF", "Light sky blue",
+                       "CC99FF", "Plum",
+                       "FFFFFF", "White"
+               ];
+
+               for (i = 0; i < colorMap.length; i += 2) {
+                       colors.push({
+                               text: colorMap[i + 1],
+                               color: colorMap[i]
+                       });
+               }
+
+               return colors;
+       }
+
+       function renderColorPicker() {
+               var ctrl = this, colors, color, html, last, rows, cols, x, y, i;
+
+               colors = mapColors();
+
+               html = '<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>';
+               last = colors.length - 1;
+               rows = editor.settings.textcolor_rows || 5;
+               cols = editor.settings.textcolor_cols || 8;
+
+               for (y = 0; y < rows; y++) {
+                       html += '<tr>';
+
+                       for (x = 0; x < cols; x++) {
+                               i = y * cols + x;
+
+                               if (i > last) {
+                                       html += '<td></td>';
+                               } else {
+                                       color = colors[i];
+                                       html += (
+                                               '<td>' +
+                                                       '<div id="' + ctrl._id + '-' + i + '"' +
+                                                               ' data-mce-color="' + color.color + '"' +
+                                                               ' role="option"' +
+                                                               ' tabIndex="-1"' +
+                                                               ' style="' + (color ? 'background-color: #' + color.color : '') + '"' +
+                                                               ' title="' + color.text + '">' +
+                                                       '</div>' +
+                                               '</td>'
+                                       );
+                               }
+                       }
+
+                       html += '</tr>';
+               }
+
+               html += '</tbody></table>';
+
+               return html;
+       }
+
+       function onPanelClick(e) {
+               var buttonCtrl = this.parent(), value;
+
+               if ((value = e.target.getAttribute('data-mce-color'))) {
+                       if (this.lastId) {
+                               document.getElementById(this.lastId).setAttribute('aria-selected', false);
+                       }
+
+                       e.target.setAttribute('aria-selected', true);
+                       this.lastId = e.target.id;
+
+                       buttonCtrl.hidePanel();
+                       value = '#' + value;
+                       buttonCtrl.color(value);
+                       editor.execCommand(buttonCtrl.settings.selectcmd, false, value);
+               }
+       }
+
+       function onButtonClick() {
+               var self = this;
+
+               if (self._color) {
+                       editor.execCommand(self.settings.selectcmd, false, self._color);
+               }
+       }
+
+       editor.addButton('forecolor', {
+               type: 'colorbutton',
+               tooltip: 'Text color',
+               selectcmd: 'ForeColor',
+               panel: {
+                       role: 'application',
+                       ariaRemember: true,
+                       html: renderColorPicker,
+                       onclick: onPanelClick
+               },
+               onclick: onButtonClick
+       });
+
+       editor.addButton('backcolor', {
+               type: 'colorbutton',
+               tooltip: 'Background color',
+               selectcmd: 'HiliteColor',
+               panel: {
+                       role: 'application',
+                       ariaRemember: true,
+                       html: renderColorPicker,
+                       onclick: onPanelClick
+               },
+               onclick: onButtonClick
+       });
+});
diff --git a/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js b/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js
new file mode 100644 (file)
index 0000000..8f49254
--- /dev/null
@@ -0,0 +1 @@
+tinymce.PluginManager.add("textcolor",function(e){function t(){var t,o,r=[];for(o=e.settings.textcolor_map||["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Brown","C0C0C0","Silver","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum","FFFFFF","White"],t=0;t<o.length;t+=2)r.push({text:o[t+1],color:o[t]});return r}function o(){var o,r,l,a,c,i,n,F,d,s=this;for(o=t(),l='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',a=o.length-1,c=e.settings.textcolor_rows||5,i=e.settings.textcolor_cols||8,F=0;c>F;F++){for(l+="<tr>",n=0;i>n;n++)d=F*i+n,d>a?l+="<td></td>":(r=o[d],l+='<td><div id="'+s._id+"-"+d+'" data-mce-color="'+r.color+'" role="option" tabIndex="-1" style="'+(r?"background-color: #"+r.color:"")+'" title="'+r.text+'"></div></td>');l+="</tr>"}return l+="</tbody></table>"}function r(t){var o,r=this.parent();(o=t.target.getAttribute("data-mce-color"))&&(this.lastId&&document.getElementById(this.lastId).setAttribute("aria-selected",!1),t.target.setAttribute("aria-selected",!0),this.lastId=t.target.id,r.hidePanel(),o="#"+o,r.color(o),e.execCommand(r.settings.selectcmd,!1,o))}function l(){var t=this;t._color&&e.execCommand(t.settings.selectcmd,!1,t._color)}e.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",selectcmd:"ForeColor",panel:{role:"application",ariaRemember:!0,html:o,onclick:r},onclick:l}),e.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",selectcmd:"HiliteColor",panel:{role:"application",ariaRemember:!0,html:o,onclick:r},onclick:l})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js b/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js
deleted file mode 100644 (file)
index 86a9c61..0000000
+++ /dev/null
@@ -1 +0,0 @@
-!function(){var a=tinymce.DOM;tinymce.create("tinymce.plugins.WordPress",{init:function(b,c){var d,e,f,g,h,i=this,j=b.getParam("wordpress_adv_toolbar","toolbar2"),k=0;d='<img src="'+c+'/img/trans.gif" class="mce-wp-more mceItemNoResize" title="'+b.getLang("wordpress.wp_more_alt")+'" />',e='<img src="'+c+'/img/trans.gif" class="mce-wp-nextpage mceItemNoResize" title="'+b.getLang("wordpress.wp_page_alt")+'" />',"1"==getUserSetting("hidetb","0")&&(b.settings.wordpress_adv_hidden=0),b.onPostRender.add(function(){var c=b.controlManager.get(j);b.getParam("wordpress_adv_hidden",1)&&c&&(a.hide(c.id),i._resizeIframe(b,j,28))}),b.addCommand("WP_More",function(){b.execCommand("mceInsertContent",0,d)}),b.addCommand("WP_Page",function(){b.execCommand("mceInsertContent",0,e)}),b.addCommand("WP_Help",function(){b.windowManager.open({url:tinymce.baseURL+"/wp-mce-help.php",width:450,height:420,inline:1})}),b.addCommand("WP_Adv",function(){var c=b.controlManager,d=c.get(j).id;"undefined"!=d&&(a.isHidden(d)?(c.setActive("wp_adv",1),a.show(d),i._resizeIframe(b,j,-28),b.settings.wordpress_adv_hidden=0,setUserSetting("hidetb","1")):(c.setActive("wp_adv",0),a.hide(d),i._resizeIframe(b,j,28),b.settings.wordpress_adv_hidden=1,setUserSetting("hidetb","0")))}),b.addCommand("WP_Medialib",function(){"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(b.id)}),b.addButton("wp_more",{title:"wordpress.wp_more_desc",cmd:"WP_More"}),b.addButton("wp_page",{title:"wordpress.wp_page_desc",image:c+"/img/page.gif",cmd:"WP_Page"}),b.addButton("wp_help",{title:"wordpress.wp_help_desc",cmd:"WP_Help"}),b.addButton("wp_adv",{title:"wordpress.wp_adv_desc",cmd:"WP_Adv"}),b.addButton("add_media",{title:"wordpress.add_media",image:c+"/img/image.gif",cmd:"WP_Medialib"}),b.onBeforeExecCommand.add(function(a,b,c,d,e){var f,g,i,j,k,l,m=tinymce.DOM;"mceFullScreen"==b&&"mce_fullscreen"!=a.id&&m.select("a.thickbox").length&&(a.settings.theme_advanced_buttons1+=",|,add_media"),("JustifyLeft"==b||"JustifyRight"==b||"JustifyCenter"==b)&&(f=a.selection.getNode(),"IMG"==f.nodeName&&(l=b.substr(7).toLowerCase(),k="align"+l,g=a.dom.getParent(f,"dl.wp-caption"),i=a.dom.getParent(f,"div.mceTemp"),g&&i?(j=a.dom.hasClass(g,k)?"alignnone":k,g.className=g.className.replace(/align[^ '"]+\s?/g,""),a.dom.addClass(g,j),"aligncenter"==j?a.dom.addClass(i,"mceIEcenter"):a.dom.removeClass(i,"mceIEcenter"),e.terminate=!0,a.execCommand("mceRepaint")):a.dom.hasClass(f,k)?a.dom.addClass(f,"alignnone"):a.dom.removeClass(f,"alignnone"))),!tinymce.isWebKit||"InsertUnorderedList"!=b&&"InsertOrderedList"!=b||(h||(h=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(h))}),b.onExecCommand.add(function(a,b){tinymce.isWebKit&&h&&("InsertUnorderedList"==b||"InsertOrderedList"==b)&&a.dom.remove(h)}),b.onInit.add(function(a){var b=a.getParam("body_class",""),c=a.getBody();b=b?b.split(" "):[],"rtl"==a.getParam("directionality","")&&b.push("rtl"),tinymce.isIE9?b.push("ie9"):tinymce.isIE8?b.push("ie8"):tinymce.isIE7&&b.push("ie7"),"wp_mce_fullscreen"!=a.id&&"mce_fullscreen"!=a.id?b.push("wp-editor"):"mce_fullscreen"==a.id&&b.push("mce-fullscreen"),tinymce.each(b,function(b){b&&a.dom.addClass(c,b)}),a.onNodeChange.add(function(a,b,c){var d;"IMG"==c.nodeName?d=a.dom.getParent(c,"dl.wp-caption"):"DIV"==c.nodeName&&a.dom.hasClass(c,"mceTemp")&&(d=c.firstChild,a.dom.hasClass(d,"wp-caption")||(d=!1)),d&&(a.dom.hasClass(d,"alignleft")?b.setActive("justifyleft",1):a.dom.hasClass(d,"alignright")?b.setActive("justifyright",1):a.dom.hasClass(d,"aligncenter")&&b.setActive("justifycenter",1))}),a.onBeforeSetContent.add(function(a,b){b.content&&(b.content=b.content.replace(/<p>\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)( [^>]*)?>/gi,"<$1$2>"),b.content=b.content.replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)>\s*<\/p>/gi,"</$1>"))})}),"undefined"!=typeof jQuery&&b.onKeyUp.add(function(a,b){var c=b.keyCode||b.charCode;c!=k&&((13==c||8==k||46==k)&&jQuery(document).triggerHandler("wpcountwords",[a.getContent({format:"raw"})]),k=c)}),b.onSaveContent.addToTop(function(a,b){b.content=b.content.replace(/<p>(<br ?\/?>|\u00a0|\uFEFF)?<\/p>/g,"<p>&nbsp;</p>")}),tinymce.isIOS5&&b.onKeyDown.add(function(){document.activeElement==document.body&&b.getWin().focus()}),b.onSaveContent.add(function(a,b){a.isHidden()?b.content=b.element.value:a.getParam("wpautop",!0)&&"object"==typeof switchEditors&&(b.content=switchEditors.pre_wpautop(b.content))}),i._handleMoreBreak(b,c),g="alt+shift",b.addShortcut(g+"+c","justifycenter_desc","JustifyCenter"),b.addShortcut(g+"+r","justifyright_desc","JustifyRight"),b.addShortcut(g+"+l","justifyleft_desc","JustifyLeft"),b.addShortcut(g+"+j","justifyfull_desc","JustifyFull"),b.addShortcut(g+"+q","blockquote_desc","mceBlockQuote"),b.addShortcut(g+"+u","bullist_desc","InsertUnorderedList"),b.addShortcut(g+"+o","numlist_desc","InsertOrderedList"),b.addShortcut(g+"+n","spellchecker.desc","mceSpellCheck"),b.addShortcut(g+"+a","link_desc","WP_Link"),b.addShortcut(g+"+s","unlink_desc","unlink"),b.addShortcut(g+"+m","image_desc","WP_Medialib"),b.addShortcut(g+"+z","wordpress.wp_adv_desc","WP_Adv"),b.addShortcut(g+"+t","wordpress.wp_more_desc","WP_More"),b.addShortcut(g+"+d","striketrough_desc","Strikethrough"),b.addShortcut(g+"+h","help_desc","WP_Help"),b.addShortcut(g+"+p","wordpress.wp_page_desc","WP_Page"),b.addShortcut("ctrl+s","save_desc",function(){"function"==typeof autosave&&autosave()}),/\bwpfullscreen\b/.test(b.settings.plugins)?b.addShortcut(g+"+w","wordpress.wp_fullscreen_desc","wpFullScreen"):/\bfullscreen\b/.test(b.settings.plugins)&&b.addShortcut(g+"+g","fullscreen.desc","mceFullScreen"),b.onInit.add(function(a){tinymce.dom.Event.add(a.getWin(),"scroll",function(){a.plugins.wordpress._hideButtons()}),tinymce.dom.Event.add(a.getBody(),"dragstart",function(){a.plugins.wordpress._hideButtons()})}),b.onBeforeExecCommand.add(function(a){a.plugins.wordpress._hideButtons()}),b.onSaveContent.add(function(a){a.plugins.wordpress._hideButtons()}),b.onMouseDown.add(function(a,b){"IMG"!=b.target.nodeName&&a.plugins.wordpress._hideButtons()}),b.onKeyDown.add(function(a,b){(b.which==tinymce.VK.DELETE||b.which==tinymce.VK.BACKSPACE)&&a.plugins.wordpress._hideButtons()}),f=function(a){var c;if("mceModalBlocker"==a.target.id||"ui-widget-overlay"==a.target.className)for(c in b.windowManager.windows)b.windowManager.close(null,c)},tinymce.dom.Event.remove(document.body,"click",f),tinymce.dom.Event.add(document.body,"click",f)},getInfo:function(){return{longname:"WordPress Plugin",author:"WordPress",authorurl:"http://wordpress.org",infourl:"http://wordpress.org",version:"3.0"}},_setEmbed:function(a){return a.replace(/\[embed\]([\s\S]+?)\[\/embed\][\s\u00a0]*/g,function(a,b){return'<img width="300" height="200" src="'+tinymce.baseURL+'/plugins/wordpress/img/trans.gif" class="wp-oembed mceItemNoResize" alt="'+b+'" title="'+b+'" />'})},_getEmbed:function(a){return a.replace(/<img[^>]+>/g,function(a){if(-1!=a.indexOf('class="wp-oembed')){var b=a.match(/alt="([^\"]+)"/);b[1]&&(a="[embed]"+b[1]+"[/embed]")}return a})},_showButtons:function(a,b){var c,d,e,f,g,h=tinymce.activeEditor,i=tinymce.DOM;e=h.dom.getViewPort(h.getWin()),c=i.getPos(h.getContentAreaContainer()),d=h.dom.getPos(a),f=Math.max(d.x-e.x,0)+c.x,g=Math.max(d.y-e.y,0)+c.y,i.setStyles(b,{top:g+5+"px",left:f+5+"px",display:"block"})},_hideButtons:function(){var a=tinymce.DOM;a.hide(a.select("#wp_editbtns, #wp_gallerybtns"))},_resizeIframe:function(b,c,d){var e=b.getContentAreaContainer().firstChild;a.setStyle(e,"height",e.clientHeight+d),b.theme.deltaHeight+=d},_handleMoreBreak:function(a,b){var c,d;c='<img src="'+b+'/img/trans.gif" alt="$1" class="mce-wp-more mceItemNoResize" title="'+a.getLang("wordpress.wp_more_alt")+'" />',d='<img src="'+b+'/img/trans.gif" class="mce-wp-nextpage mceItemNoResize" title="'+a.getLang("wordpress.wp_page_alt")+'" />',a.onPostRender.add(function(){a.theme.onResolveName&&a.theme.onResolveName.add(function(b,c){"IMG"==c.node.nodeName&&(a.dom.hasClass(c.node,"mce-wp-more")&&(c.name="wpmore"),a.dom.hasClass(c.node,"mce-wp-nextpage")&&(c.name="wppage"))})}),a.onBeforeSetContent.add(function(a,b){b.content&&(b.content=b.content.replace(/<!--more(.*?)-->/g,c),b.content=b.content.replace(/<!--nextpage-->/g,d))}),a.onPostProcess.add(function(a,b){b.get&&(b.content=b.content.replace(/<img[^>]+>/g,function(a){if(-1!==a.indexOf('class="mce-wp-more')){var b,c=(b=a.match(/alt="(.*?)"/))?b[1]:"";a="<!--more"+c+"-->"}return-1!==a.indexOf('class="mce-wp-nextpage')&&(a="<!--nextpage-->"),a}))}),a.onNodeChange.add(function(a,b,c){b.setActive("wp_page","IMG"===c.nodeName&&a.dom.hasClass(c,"mce-wp-nextpage")),b.setActive("wp_more","IMG"===c.nodeName&&a.dom.hasClass(c,"mce-wp-more"))})}}),tinymce.PluginManager.add("wordpress",tinymce.plugins.WordPress)}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wordpress/editor_plugin_src.js b/wp-includes/js/tinymce/plugins/wordpress/editor_plugin_src.js
deleted file mode 100644 (file)
index 4f7d587..0000000
+++ /dev/null
@@ -1,448 +0,0 @@
-/* global tinymce, getUserSetting, setUserSetting, switchEditors, autosave */
-/**
- * WordPress plugin.
- */
-
-(function() {
-       var DOM = tinymce.DOM;
-
-       tinymce.create('tinymce.plugins.WordPress', {
-               init : function(ed, url) {
-                       var t = this, tbId = ed.getParam('wordpress_adv_toolbar', 'toolbar2'), last = 0, moreHTML, nextpageHTML, closeOnClick, mod_key, style;
-                       moreHTML = '<img src="' + url + '/img/trans.gif" class="mce-wp-more mceItemNoResize" title="'+ed.getLang('wordpress.wp_more_alt')+'" />';
-                       nextpageHTML = '<img src="' + url + '/img/trans.gif" class="mce-wp-nextpage mceItemNoResize" title="'+ed.getLang('wordpress.wp_page_alt')+'" />';
-
-                       if ( getUserSetting('hidetb', '0') == '1' )
-                               ed.settings.wordpress_adv_hidden = 0;
-
-                       // Hides the specified toolbar and resizes the iframe
-                       ed.onPostRender.add(function() {
-                               var adv_toolbar = ed.controlManager.get(tbId);
-                               if ( ed.getParam('wordpress_adv_hidden', 1) && adv_toolbar ) {
-                                       DOM.hide(adv_toolbar.id);
-                                       t._resizeIframe(ed, tbId, 28);
-                               }
-                       });
-
-                       // Register commands
-                       ed.addCommand('WP_More', function() {
-                               ed.execCommand('mceInsertContent', 0, moreHTML);
-                       });
-
-                       ed.addCommand('WP_Page', function() {
-                               ed.execCommand('mceInsertContent', 0, nextpageHTML);
-                       });
-
-                       ed.addCommand('WP_Help', function() {
-                               ed.windowManager.open({
-                                       url : tinymce.baseURL + '/wp-mce-help.php',
-                                       width : 450,
-                                       height : 420,
-                                       inline : 1
-                               });
-                       });
-
-                       ed.addCommand('WP_Adv', function() {
-                               var cm = ed.controlManager, id = cm.get(tbId).id;
-
-                               if ( 'undefined' == id )
-                                       return;
-
-                               if ( DOM.isHidden(id) ) {
-                                       cm.setActive('wp_adv', 1);
-                                       DOM.show(id);
-                                       t._resizeIframe(ed, tbId, -28);
-                                       ed.settings.wordpress_adv_hidden = 0;
-                                       setUserSetting('hidetb', '1');
-                               } else {
-                                       cm.setActive('wp_adv', 0);
-                                       DOM.hide(id);
-                                       t._resizeIframe(ed, tbId, 28);
-                                       ed.settings.wordpress_adv_hidden = 1;
-                                       setUserSetting('hidetb', '0');
-                               }
-                       });
-
-                       ed.addCommand('WP_Medialib', function() {
-                               if ( typeof wp !== 'undefined' && wp.media && wp.media.editor )
-                                       wp.media.editor.open( ed.id );
-                       });
-
-                       // Register buttons
-                       ed.addButton('wp_more', {
-                               title : 'wordpress.wp_more_desc',
-                               cmd : 'WP_More'
-                       });
-
-                       ed.addButton('wp_page', {
-                               title : 'wordpress.wp_page_desc',
-                               image : url + '/img/page.gif',
-                               cmd : 'WP_Page'
-                       });
-
-                       ed.addButton('wp_help', {
-                               title : 'wordpress.wp_help_desc',
-                               cmd : 'WP_Help'
-                       });
-
-                       ed.addButton('wp_adv', {
-                               title : 'wordpress.wp_adv_desc',
-                               cmd : 'WP_Adv'
-                       });
-
-                       // Add Media button
-                       ed.addButton('add_media', {
-                               title : 'wordpress.add_media',
-                               image : url + '/img/image.gif',
-                               cmd : 'WP_Medialib'
-                       });
-
-                       // Add Media buttons to fullscreen and handle align buttons for image captions
-                       ed.onBeforeExecCommand.add(function(ed, cmd, ui, val, o) {
-                               var DOM = tinymce.DOM, n, DL, DIV, cls, a, align;
-                               if ( 'mceFullScreen' == cmd ) {
-                                       if ( 'mce_fullscreen' != ed.id && DOM.select('a.thickbox').length )
-                                               ed.settings.theme_advanced_buttons1 += ',|,add_media';
-                               }
-
-                               if ( 'JustifyLeft' == cmd || 'JustifyRight' == cmd || 'JustifyCenter' == cmd ) {
-                                       n = ed.selection.getNode();
-
-                                       if ( n.nodeName == 'IMG' ) {
-                                               align = cmd.substr(7).toLowerCase();
-                                               a = 'align' + align;
-                                               DL = ed.dom.getParent(n, 'dl.wp-caption');
-                                               DIV = ed.dom.getParent(n, 'div.mceTemp');
-
-                                               if ( DL && DIV ) {
-                                                       cls = ed.dom.hasClass(DL, a) ? 'alignnone' : a;
-                                                       DL.className = DL.className.replace(/align[^ '"]+\s?/g, '');
-                                                       ed.dom.addClass(DL, cls);
-
-                                                       if (cls == 'aligncenter')
-                                                               ed.dom.addClass(DIV, 'mceIEcenter');
-                                                       else
-                                                               ed.dom.removeClass(DIV, 'mceIEcenter');
-
-                                                       o.terminate = true;
-                                                       ed.execCommand('mceRepaint');
-                                               } else {
-                                                       if ( ed.dom.hasClass(n, a) )
-                                                               ed.dom.addClass(n, 'alignnone');
-                                                       else
-                                                               ed.dom.removeClass(n, 'alignnone');
-                                               }
-                                       }
-                               }
-
-                               if ( tinymce.isWebKit && ( 'InsertUnorderedList' == cmd || 'InsertOrderedList' == cmd ) ) {
-                                       if ( !style )
-                                               style = ed.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;}');
-
-                                       ed.getDoc().head.appendChild( style );
-                               }
-                       });
-
-                       ed.onExecCommand.add( function( ed, cmd ) {
-                               if ( tinymce.isWebKit && style && ( 'InsertUnorderedList' == cmd || 'InsertOrderedList' == cmd ) )
-                                       ed.dom.remove( style );
-                       });
-
-                       ed.onInit.add(function(ed) {
-                               var bodyClass = ed.getParam('body_class', ''), body = ed.getBody();
-
-                               // add body classes
-                               if ( bodyClass )
-                                       bodyClass = bodyClass.split(' ');
-                               else
-                                       bodyClass = [];
-
-                               if ( ed.getParam('directionality', '') == 'rtl' )
-                                       bodyClass.push('rtl');
-
-                               if ( tinymce.isIE9 )
-                                       bodyClass.push('ie9');
-                               else if ( tinymce.isIE8 )
-                                       bodyClass.push('ie8');
-                               else if ( tinymce.isIE7 )
-                                       bodyClass.push('ie7');
-
-                               if ( ed.id != 'wp_mce_fullscreen' && ed.id != 'mce_fullscreen' )
-                                       bodyClass.push('wp-editor');
-                               else if ( ed.id == 'mce_fullscreen' )
-                                       bodyClass.push('mce-fullscreen');
-
-                               tinymce.each( bodyClass, function(cls){
-                                       if ( cls )
-                                               ed.dom.addClass(body, cls);
-                               });
-
-                               // make sure these run last
-                               ed.onNodeChange.add( function(ed, cm, e) {
-                                       var DL;
-
-                                       if ( e.nodeName == 'IMG' ) {
-                                               DL = ed.dom.getParent(e, 'dl.wp-caption');
-                                       } else if ( e.nodeName == 'DIV' && ed.dom.hasClass(e, 'mceTemp') ) {
-                                               DL = e.firstChild;
-
-                                               if ( ! ed.dom.hasClass(DL, 'wp-caption') )
-                                                       DL = false;
-                                       }
-
-                                       if ( DL ) {
-                                               if ( ed.dom.hasClass(DL, 'alignleft') )
-                                                       cm.setActive('justifyleft', 1);
-                                               else if ( ed.dom.hasClass(DL, 'alignright') )
-                                                       cm.setActive('justifyright', 1);
-                                               else if ( ed.dom.hasClass(DL, 'aligncenter') )
-                                                       cm.setActive('justifycenter', 1);
-                                       }
-                               });
-
-                               // remove invalid parent paragraphs when pasting HTML and/or switching to the HTML editor and back
-                               ed.onBeforeSetContent.add(function(ed, o) {
-                                       if ( o.content ) {
-                                               o.content = o.content.replace(/<p>\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)( [^>]*)?>/gi, '<$1$2>');
-                                               o.content = o.content.replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)>\s*<\/p>/gi, '</$1>');
-                                       }
-                               });
-                       });
-
-                       // Word count
-                       if ( 'undefined' != typeof(jQuery) ) {
-                               ed.onKeyUp.add(function(ed, e) {
-                                       var k = e.keyCode || e.charCode;
-
-                                       if ( k == last )
-                                               return;
-
-                                       if ( 13 == k || 8 == last || 46 == last )
-                                               jQuery(document).triggerHandler('wpcountwords', [ ed.getContent({format : 'raw'}) ]);
-
-                                       last = k;
-                               });
-                       }
-
-                       // keep empty paragraphs :(
-                       ed.onSaveContent.addToTop(function(ed, o) {
-                               o.content = o.content.replace(/<p>(<br ?\/?>|\u00a0|\uFEFF)?<\/p>/g, '<p>&nbsp;</p>');
-                       });
-
-                       // Fix bug in iOS Safari where it's impossible to type after a touchstart event on the parent document.
-                       // Happens after zooming in or out while the keyboard is open. See #25131.
-                       if ( tinymce.isIOS5 ) {
-                               ed.onKeyDown.add( function() {
-                                       if ( document.activeElement == document.body ) {
-                                               ed.getWin().focus();
-                                       }
-                               });
-                       }
-
-                       ed.onSaveContent.add(function(ed, o) {
-                               // If editor is hidden, we just want the textarea's value to be saved
-                               if ( ed.isHidden() )
-                                       o.content = o.element.value;
-                               else if ( ed.getParam('wpautop', true) && typeof(switchEditors) == 'object' )
-                                       o.content = switchEditors.pre_wpautop(o.content);
-                       });
-
-                       /* disable for now
-                       ed.onBeforeSetContent.add(function(ed, o) {
-                               o.content = t._setEmbed(o.content);
-                       });
-
-                       ed.onPostProcess.add(function(ed, o) {
-                               if ( o.get )
-                                       o.content = t._getEmbed(o.content);
-                       });
-                       */
-
-                       // Add listeners to handle more break
-                       t._handleMoreBreak(ed, url);
-
-                       // Add custom shortcuts
-                       mod_key = 'alt+shift';
-
-               //      if ( tinymce.isGecko ) // disable for mow, too many shortcuts conflicts
-               //              mod_key = 'ctrl+alt';
-
-                       ed.addShortcut(mod_key + '+c', 'justifycenter_desc', 'JustifyCenter');
-                       ed.addShortcut(mod_key + '+r', 'justifyright_desc', 'JustifyRight');
-                       ed.addShortcut(mod_key + '+l', 'justifyleft_desc', 'JustifyLeft');
-                       ed.addShortcut(mod_key + '+j', 'justifyfull_desc', 'JustifyFull');
-                       ed.addShortcut(mod_key + '+q', 'blockquote_desc', 'mceBlockQuote');
-                       ed.addShortcut(mod_key + '+u', 'bullist_desc', 'InsertUnorderedList');
-                       ed.addShortcut(mod_key + '+o', 'numlist_desc', 'InsertOrderedList');
-                       ed.addShortcut(mod_key + '+n', 'spellchecker.desc', 'mceSpellCheck');
-                       ed.addShortcut(mod_key + '+a', 'link_desc', 'WP_Link');
-                       ed.addShortcut(mod_key + '+s', 'unlink_desc', 'unlink');
-                       ed.addShortcut(mod_key + '+m', 'image_desc', 'WP_Medialib');
-                       ed.addShortcut(mod_key + '+z', 'wordpress.wp_adv_desc', 'WP_Adv');
-                       ed.addShortcut(mod_key + '+t', 'wordpress.wp_more_desc', 'WP_More');
-                       ed.addShortcut(mod_key + '+d', 'striketrough_desc', 'Strikethrough');
-                       ed.addShortcut(mod_key + '+h', 'help_desc', 'WP_Help');
-                       ed.addShortcut(mod_key + '+p', 'wordpress.wp_page_desc', 'WP_Page');
-                       ed.addShortcut('ctrl+s', 'save_desc', function(){if('function'==typeof autosave)autosave();});
-
-                       if ( /\bwpfullscreen\b/.test(ed.settings.plugins) )
-                               ed.addShortcut(mod_key + '+w', 'wordpress.wp_fullscreen_desc', 'wpFullScreen');
-                       else if ( /\bfullscreen\b/.test(ed.settings.plugins) )
-                               ed.addShortcut(mod_key + '+g', 'fullscreen.desc', 'mceFullScreen');
-
-                       // popup buttons for images and the gallery
-                       ed.onInit.add(function(ed) {
-                               tinymce.dom.Event.add(ed.getWin(), 'scroll', function() {
-                                       ed.plugins.wordpress._hideButtons();
-                               });
-                               tinymce.dom.Event.add(ed.getBody(), 'dragstart', function() {
-                                       ed.plugins.wordpress._hideButtons();
-                               });
-                       });
-
-                       ed.onBeforeExecCommand.add( function( ed ) {
-                               ed.plugins.wordpress._hideButtons();
-                       });
-
-                       ed.onSaveContent.add( function( ed ) {
-                               ed.plugins.wordpress._hideButtons();
-                       });
-
-                       ed.onMouseDown.add(function(ed, e) {
-                               if ( e.target.nodeName != 'IMG' )
-                                       ed.plugins.wordpress._hideButtons();
-                       });
-
-                       ed.onKeyDown.add(function(ed, e){
-                               if ( e.which == tinymce.VK.DELETE || e.which == tinymce.VK.BACKSPACE )
-                                       ed.plugins.wordpress._hideButtons();
-                       });
-
-                       closeOnClick = function(e){
-                               var id;
-
-                               if ( e.target.id == 'mceModalBlocker' || e.target.className == 'ui-widget-overlay' ) {
-                                       for ( id in ed.windowManager.windows ) {
-                                               ed.windowManager.close(null, id);
-                                       }
-                               }
-                       };
-
-                       // close popups when clicking on the background
-                       tinymce.dom.Event.remove(document.body, 'click', closeOnClick);
-                       tinymce.dom.Event.add(document.body, 'click', closeOnClick);
-               },
-
-               getInfo : function() {
-                       return {
-                               longname : 'WordPress Plugin',
-                               author : 'WordPress', // add Moxiecode?
-                               authorurl : 'http://wordpress.org',
-                               infourl : 'http://wordpress.org',
-                               version : '3.0'
-                       };
-               },
-
-               // Internal functions
-               _setEmbed : function(c) {
-                       return c.replace(/\[embed\]([\s\S]+?)\[\/embed\][\s\u00a0]*/g, function(a,b){
-                               return '<img width="300" height="200" src="' + tinymce.baseURL + '/plugins/wordpress/img/trans.gif" class="wp-oembed mceItemNoResize" alt="'+b+'" title="'+b+'" />';
-                       });
-               },
-
-               _getEmbed : function(c) {
-                       return c.replace(/<img[^>]+>/g, function(a) {
-                               if ( a.indexOf('class="wp-oembed') != -1 ) {
-                                       var u = a.match(/alt="([^\"]+)"/);
-                                       if ( u[1] )
-                                               a = '[embed]' + u[1] + '[/embed]';
-                               }
-                               return a;
-                       });
-               },
-
-               _showButtons : function(n, id) {
-                       var ed = tinymce.activeEditor, p1, p2, vp, DOM = tinymce.DOM, X, Y;
-
-                       vp = ed.dom.getViewPort(ed.getWin());
-                       p1 = DOM.getPos(ed.getContentAreaContainer());
-                       p2 = ed.dom.getPos(n);
-
-                       X = Math.max(p2.x - vp.x, 0) + p1.x;
-                       Y = Math.max(p2.y - vp.y, 0) + p1.y;
-
-                       DOM.setStyles(id, {
-                               'top' : Y+5+'px',
-                               'left' : X+5+'px',
-                               'display' : 'block'
-                       });
-               },
-
-               _hideButtons : function() {
-                       var DOM = tinymce.DOM;
-                       DOM.hide( DOM.select('#wp_editbtns, #wp_gallerybtns') );
-               },
-
-               // Resizes the iframe by a relative height value
-               _resizeIframe : function(ed, tb_id, dy) {
-                       var ifr = ed.getContentAreaContainer().firstChild;
-
-                       DOM.setStyle(ifr, 'height', ifr.clientHeight + dy); // Resize iframe
-                       ed.theme.deltaHeight += dy; // For resize cookie
-               },
-
-               _handleMoreBreak : function(ed, url) {
-                       var moreHTML, nextpageHTML;
-
-                       moreHTML = '<img src="' + url + '/img/trans.gif" alt="$1" class="mce-wp-more mceItemNoResize" title="'+ed.getLang('wordpress.wp_more_alt')+'" />';
-                       nextpageHTML = '<img src="' + url + '/img/trans.gif" class="mce-wp-nextpage mceItemNoResize" title="'+ed.getLang('wordpress.wp_page_alt')+'" />';
-
-                       // Display morebreak instead if img in element path
-                       ed.onPostRender.add(function() {
-                               if (ed.theme.onResolveName) {
-                                       ed.theme.onResolveName.add(function(th, o) {
-                                               if (o.node.nodeName == 'IMG') {
-                                                       if ( ed.dom.hasClass(o.node, 'mce-wp-more') )
-                                                               o.name = 'wpmore';
-                                                       if ( ed.dom.hasClass(o.node, 'mce-wp-nextpage') )
-                                                               o.name = 'wppage';
-                                               }
-
-                                       });
-                               }
-                       });
-
-                       // Replace morebreak with images
-                       ed.onBeforeSetContent.add(function(ed, o) {
-                               if ( o.content ) {
-                                       o.content = o.content.replace(/<!--more(.*?)-->/g, moreHTML);
-                                       o.content = o.content.replace(/<!--nextpage-->/g, nextpageHTML);
-                               }
-                       });
-
-                       // Replace images with morebreak
-                       ed.onPostProcess.add(function(ed, o) {
-                               if (o.get)
-                                       o.content = o.content.replace(/<img[^>]+>/g, function(im) {
-                                               if (im.indexOf('class="mce-wp-more') !== -1) {
-                                                       var m, moretext = (m = im.match(/alt="(.*?)"/)) ? m[1] : '';
-                                                       im = '<!--more'+moretext+'-->';
-                                               }
-                                               if (im.indexOf('class="mce-wp-nextpage') !== -1)
-                                                       im = '<!--nextpage-->';
-
-                                               return im;
-                                       });
-                       });
-
-                       // Set active buttons if user selected pagebreak or more break
-                       ed.onNodeChange.add(function(ed, cm, n) {
-                               cm.setActive('wp_page', n.nodeName === 'IMG' && ed.dom.hasClass(n, 'mce-wp-nextpage'));
-                               cm.setActive('wp_more', n.nodeName === 'IMG' && ed.dom.hasClass(n, 'mce-wp-more'));
-                       });
-               }
-       });
-
-       // Register plugin
-       tinymce.PluginManager.add('wordpress', tinymce.plugins.WordPress);
-})();
diff --git a/wp-includes/js/tinymce/plugins/wordpress/img/audio.gif b/wp-includes/js/tinymce/plugins/wordpress/img/audio.gif
deleted file mode 100644 (file)
index f8ad223..0000000
Binary files a/wp-includes/js/tinymce/plugins/wordpress/img/audio.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/wordpress/img/image.gif b/wp-includes/js/tinymce/plugins/wordpress/img/image.gif
deleted file mode 100644 (file)
index cf464af..0000000
Binary files a/wp-includes/js/tinymce/plugins/wordpress/img/image.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/wordpress/img/media.gif b/wp-includes/js/tinymce/plugins/wordpress/img/media.gif
deleted file mode 100644 (file)
index 786e4f5..0000000
Binary files a/wp-includes/js/tinymce/plugins/wordpress/img/media.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/wordpress/img/page.gif b/wp-includes/js/tinymce/plugins/wordpress/img/page.gif
deleted file mode 100644 (file)
index 1cea78a..0000000
Binary files a/wp-includes/js/tinymce/plugins/wordpress/img/page.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/wordpress/img/video.gif b/wp-includes/js/tinymce/plugins/wordpress/img/video.gif
deleted file mode 100644 (file)
index ddd20b1..0000000
Binary files a/wp-includes/js/tinymce/plugins/wordpress/img/video.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/wordpress/plugin.js b/wp-includes/js/tinymce/plugins/wordpress/plugin.js
new file mode 100644 (file)
index 0000000..64c5ff1
--- /dev/null
@@ -0,0 +1,469 @@
+/* global tinymce, getUserSetting, setUserSetting */
+
+// 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, wpAdvButton, modKey, style,
+               last = 0;
+
+       function toggleToolbars( state ) {
+               var iframe, initial, toolbars,
+                       pixels = 0;
+
+               initial = ( state === 'hide' );
+
+               if ( editor.theme.panel ) {
+                       toolbars = editor.theme.panel.find('.toolbar:not(.menubar)');
+               }
+
+               if ( ! toolbars || toolbars.length < 2 || ( state === 'hide' && ! toolbars[1].visible() ) ) {
+                       return;
+               }
+
+               if ( ! state && toolbars[1].visible() ) {
+                       state = 'hide';
+               }
+
+               tinymce.each( toolbars, function( toolbar, i ) {
+                       if ( i > 0 ) {
+                               if ( state === 'hide' ) {
+                                       toolbar.hide();
+                                       pixels += 30;
+                               } else {
+                                       toolbar.show();
+                                       pixels -= 30;
+                               }
+                       }
+               });
+
+               if ( pixels && ! initial ) {
+                       iframe = editor.getContentAreaContainer().firstChild;
+                       DOM.setStyle( iframe, 'height', iframe.clientHeight + pixels ); // Resize iframe
+
+                       if ( state === 'hide' ) {
+                               setUserSetting('hidetb', '0');
+                               wpAdvButton && wpAdvButton.active( false );
+                       } else {
+                               setUserSetting('hidetb', '1');
+                               wpAdvButton && wpAdvButton.active( true );
+                       }
+               }
+       }
+
+       // Add the kitchen sink button :)
+       editor.addButton( 'wp_adv', {
+               tooltip: 'Toolbar Toggle',
+               cmd: 'WP_Adv',
+               onPostRender: function() {
+                       wpAdvButton = this;
+                       wpAdvButton.active( getUserSetting( 'hidetb' ) === '1' ? true : false );
+               }
+       });
+
+       // Hide the toolbars after loading
+       editor.on( 'PostRender', function() {
+               if ( getUserSetting('hidetb', '0') === '0' ) {
+                       toggleToolbars( 'hide' );
+               }
+       });
+
+       editor.addCommand( 'WP_Adv', function() {
+               toggleToolbars();
+       });
+
+       editor.on( 'focus', function() {
+        window.wpActiveEditor = editor.id;
+    });
+
+       // Replace Read More/Next Page tags with images
+       editor.on( 'BeforeSetContent', function( e ) {
+               if ( e.content ) {
+                       if ( e.content.indexOf( '<!--more' ) !== -1 ) {
+                               e.content = e.content.replace( /<!--more(.*?)-->/g, function( match, moretext ) {
+                                       return '<img src="' + tinymce.Env.transparentSrc + '" data-wp-more="' + moretext + '" ' +
+                                               'class="wp-more-tag mce-wp-more" title="Read More..." data-mce-resize="false" data-mce-placeholder="1" />';
+                               });
+                       }
+
+                       if ( e.content.indexOf( '<!--nextpage-->' ) !== -1 ) {
+                               e.content = e.content.replace( /<!--nextpage-->/g,
+                                       '<img src="' + tinymce.Env.transparentSrc + '" class="wp-more-tag mce-wp-nextpage" ' +
+                                               'title="Page break" data-mce-resize="false" data-mce-placeholder="1" />' );
+                       }
+               }
+       });
+
+       // Replace images with tags
+       editor.on( 'PostProcess', function( e ) {
+               if ( e.get ) {
+                       e.content = e.content.replace(/<img[^>]+>/g, function( image ) {
+                               var match, moretext = '';
+
+                               if ( image.indexOf('wp-more-tag') !== -1 ) {
+                                       if ( image.indexOf('mce-wp-more') !== -1 ) {
+                                               if ( match = image.match( /data-wp-more="([^"]+)"/ ) ) {
+                                                       moretext = match[1];
+                                               }
+
+                                               image = '<!--more' + moretext + '-->';
+                                       } else if ( image.indexOf('mce-wp-nextpage') !== -1 ) {
+                                               image = '<!--nextpage-->';
+                                       }
+                               }
+
+                               return image;
+                       });
+               }
+       });
+
+       // Display the tag name instead of img in element path
+       editor.on( 'ResolveName', function( e ) {
+               var dom = editor.dom,
+                       target = e.target;
+
+               if ( target.nodeName === 'IMG' && dom.hasClass( target, 'wp-more-tag' ) ) {
+                       if ( dom.hasClass( target, 'mce-wp-more' ) ) {
+                               e.name = 'more';
+                       } else if ( dom.hasClass( target, 'mce-wp-nextpage' ) ) {
+                               e.name = 'nextpage';
+                       }
+               }
+       });
+
+       // Register commands
+       editor.addCommand( 'WP_More', function( tag ) {
+               var parent, html, title,
+                       classname = 'wp-more-tag',
+                       dom = editor.dom,
+                       node = editor.selection.getNode();
+
+               tag = tag || 'more';
+               classname += ' mce-wp-' + tag;
+               title = tag === 'more' ? 'More...' : 'Next Page';
+               html = '<img src="' + tinymce.Env.transparentSrc + '" title="' + title + '" class="' + classname + '" ' +
+                       'data-mce-resize="false" data-mce-placeholder="1" />';
+
+               // Most common case
+               if ( node.nodeName === 'BODY' || ( node.nodeName === 'P' && node.parentNode.nodeName === 'BODY' ) ) {
+                       editor.insertContent( html );
+                       return;
+               }
+
+               // Get the top level parent node
+               parent = dom.getParent( node, function( found ) {
+                       if ( found.parentNode && found.parentNode.nodeName === 'BODY' ) {
+                               return true;
+                       }
+
+                       return false;
+               }, editor.getBody() );
+
+               if ( parent ) {
+                       if ( parent.nodeName === 'P' ) {
+                               parent.appendChild( dom.create( 'p', null, html ).firstChild );
+                       } else {
+                               dom.insertAfter( dom.create( 'p', null, html ), parent );
+                       }
+
+                       editor.nodeChanged();
+               }
+       });
+
+       editor.addCommand( 'WP_Code', function() {
+               editor.formatter.toggle('code');
+       });
+
+       editor.addCommand( 'WP_Page', function() {
+               editor.execCommand( 'WP_More', 'nextpage' );
+       });
+
+       editor.addCommand( 'WP_Help', function() {
+               editor.windowManager.open({
+                       url: tinymce.baseURL + '/wp-mce-help.php',
+                       title: 'Keyboard Shortcuts',
+                       width: 450,
+                       height: 420,
+                       inline: 1,
+                       classes: 'wp-help'
+               });
+       });
+
+       editor.addCommand( 'WP_Medialib', function() {
+               if ( typeof wp !== 'undefined' && wp.media && wp.media.editor ) {
+                       wp.media.editor.open( editor.id );
+               }
+       });
+
+       // Register buttons
+       editor.addButton( 'wp_more', {
+               tooltip: 'Insert Read More tag',
+               onclick: function() {
+                       editor.execCommand( 'WP_More', 'more' );
+               }
+       });
+
+       editor.addButton( 'wp_page', {
+               tooltip: 'Page break',
+               onclick: function() {
+                       editor.execCommand( 'WP_More', 'nextpage' );
+               }
+       });
+
+       editor.addButton( 'wp_help', {
+               tooltip: 'Keyboard Shortcuts',
+               cmd: 'WP_Help'
+       });
+
+       editor.addButton( 'wp_code', {
+               tooltip: 'Code',
+               cmd: 'WP_Code',
+               stateSelector: 'code'
+       });
+
+       // Menubar
+       // Insert->Add Media
+       if ( typeof wp !== 'undefined' && wp.media && wp.media.editor ) {
+               editor.addMenuItem( 'add_media', {
+                       text: 'Add Media',
+                       icon: 'wp-media-library',
+                       context: 'insert',
+                       cmd: 'WP_Medialib'
+               });
+       }
+
+       // Insert "Read More..."
+       editor.addMenuItem( 'wp_more', {
+               text: 'Insert Read More tag',
+               icon: 'wp_more',
+               context: 'insert',
+               onclick: function() {
+                       editor.execCommand( 'WP_More', 'more' );
+               }
+       });
+
+       // Insert "Next Page"
+       editor.addMenuItem( 'wp_page', {
+               text: 'Page break',
+               icon: 'wp_page',
+               context: 'insert',
+               onclick: function() {
+                       editor.execCommand( 'WP_More', 'nextpage' );
+               }
+       });
+
+       editor.on( 'BeforeExecCommand', function(e) {
+               if ( tinymce.Env.webkit && ( e.command === 'InsertUnorderedList' || e.command === 'InsertOrderedList' ) ) {
+                       if ( ! style ) {
+                               style = editor.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;}');
+                       }
+
+                       editor.getDoc().head.appendChild( style );
+               }
+       });
+
+       editor.on( 'ExecCommand', function( e ) {
+               if ( tinymce.Env.webkit && style &&
+                       ( 'InsertUnorderedList' === e.command || 'InsertOrderedList' === e.command ) ) {
+
+                       editor.dom.remove( style );
+               }
+       });
+
+       editor.on( 'init', function() {
+               var env = tinymce.Env,
+                       bodyClass = ['mceContentBody'], // back-compat for themes that use this in editor-style.css...
+                       doc = editor.getDoc(),
+                       dom = editor.dom;
+
+               if ( editor.getParam( 'directionality' ) === 'rtl' ) {
+                       bodyClass.push('rtl');
+                       dom.setAttrib( doc.documentElement, 'dir', 'rtl' );
+               }
+
+               if ( env.ie ) {
+                       if ( parseInt( env.ie, 10 ) === 9 ) {
+                               bodyClass.push('ie9');
+                       } else if ( parseInt( env.ie, 10 ) === 8 ) {
+                               bodyClass.push('ie8');
+                       } else if ( env.ie < 8 ) {
+                               bodyClass.push('ie7');
+                       }
+               }
+
+               bodyClass.push('wp-editor');
+
+               tinymce.each( bodyClass, function( cls ) {
+                       if ( cls ) {
+                               dom.addClass( doc.body, cls );
+                       }
+               });
+
+               // 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>');
+                       }
+               });
+
+               if ( typeof window.jQuery !== 'undefined' ) {
+                       window.jQuery( 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' ) {
+                                       // Trigger the jQuery handlers.
+                                       window.jQuery( document ).triggerHandler( event.type );
+                               }
+                       });
+               }
+       });
+
+       // 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 ) {
+               // If editor is hidden, we just want the textarea's value to be saved
+               if ( editor.isHidden() ) {
+                       e.content = e.element.value;
+                       return;
+               }
+
+               // Keep empty paragraphs :(
+               e.content = e.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 );
+               }
+       });
+
+       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' );
+       });
+
+       // Add custom shortcuts
+       modKey = 'alt+shift';
+
+       editor.addShortcut( modKey + '+c', '', 'JustifyCenter' );
+       editor.addShortcut( modKey + '+r', '', 'JustifyRight' );
+       editor.addShortcut( modKey + '+l', '', 'JustifyLeft' );
+       editor.addShortcut( modKey + '+j', '', 'JustifyFull' );
+       editor.addShortcut( modKey + '+q', '', 'mceBlockQuote' );
+       editor.addShortcut( modKey + '+u', '', 'InsertUnorderedList' );
+       editor.addShortcut( modKey + '+o', '', 'InsertOrderedList' );
+       editor.addShortcut( modKey + '+n', '', 'mceSpellCheck' );
+       editor.addShortcut( modKey + '+s', '', 'unlink' );
+       editor.addShortcut( modKey + '+m', '', 'WP_Medialib' );
+       editor.addShortcut( modKey + '+z', '', 'WP_Adv' );
+       editor.addShortcut( modKey + '+t', '', 'WP_More' );
+       editor.addShortcut( modKey + '+d', '', 'Strikethrough' );
+       editor.addShortcut( modKey + '+h', '', 'WP_Help' );
+       editor.addShortcut( modKey + '+p', '', 'WP_Page' );
+       editor.addShortcut( modKey + '+x', '', 'WP_Code' );
+       editor.addShortcut( 'ctrl+s', '', function() {
+               if ( typeof wp !== 'undefined' && wp.autosave ) {
+                       wp.autosave.server.triggerSave();
+               }
+       });
+
+       // popup buttons for the gallery, etc.
+       editor.on( 'init', function() {
+               editor.dom.bind( editor.getWin(), 'scroll', function() {
+                       _hideButtons();
+               });
+
+               editor.dom.bind( editor.getBody(), 'dragstart', function() {
+                       _hideButtons();
+               });
+       });
+
+       editor.on( 'BeforeExecCommand', function() {
+               _hideButtons();
+       });
+
+       editor.on( 'SaveContent', function() {
+               _hideButtons();
+       });
+
+       editor.on( 'MouseDown', function( e ) {
+               if ( e.target.nodeName !== 'IMG' ) {
+                       _hideButtons();
+               }
+       });
+
+       editor.on( 'keydown', function( e ) {
+               if ( e.which === tinymce.util.VK.DELETE || e.which === tinymce.util.VK.BACKSPACE ) {
+                       _hideButtons();
+               }
+       });
+
+       // Internal functions
+       function _setEmbed( c ) {
+               return c.replace( /\[embed\]([\s\S]+?)\[\/embed\][\s\u00a0]*/g, function( a, b ) {
+                       return '<img width="300" height="200" src="' + tinymce.Env.transparentSrc + '" class="wp-oembed" ' +
+                               'alt="'+ b +'" title="'+ b +'" data-mce-resize="false" data-mce-placeholder="1" />';
+               });
+       }
+
+       function _getEmbed( c ) {
+               return c.replace( /<img[^>]+>/g, function( a ) {
+                       if ( a.indexOf('class="wp-oembed') !== -1 ) {
+                               var u = a.match( /alt="([^\"]+)"/ );
+
+                               if ( u[1] ) {
+                                       a = '[embed]' + u[1] + '[/embed]';
+                               }
+                       }
+
+                       return a;
+               });
+       }
+
+       function _showButtons( n, id ) {
+               var p1, p2, vp, X, Y;
+
+               vp = editor.dom.getViewPort( editor.getWin() );
+               p1 = DOM.getPos( editor.getContentAreaContainer() );
+               p2 = editor.dom.getPos( n );
+
+               X = Math.max( p2.x - vp.x, 0 ) + p1.x;
+               Y = Math.max( p2.y - vp.y, 0 ) + p1.y;
+
+               DOM.setStyles( id, {
+                       'top' : Y + 5 + 'px',
+                       'left' : X + 5 + 'px',
+                       'display': 'block'
+               });
+       }
+
+       function _hideButtons() {
+               DOM.hide( DOM.select( '#wp_editbtns, #wp_gallerybtns' ) );
+       }
+
+       // Expose some functions (back-compat)
+       return {
+               _showButtons: _showButtons,
+               _hideButtons: _hideButtons,
+               _setEmbed: _setEmbed,
+               _getEmbed: _getEmbed
+       };
+});
diff --git a/wp-includes/js/tinymce/plugins/wordpress/plugin.min.js b/wp-includes/js/tinymce/plugins/wordpress/plugin.min.js
new file mode 100644 (file)
index 0000000..8266777
--- /dev/null
@@ -0,0 +1 @@
+tinymce.ui.FloatPanel.zIndex=100100,tinymce.PluginManager.add("wordpress",function(a){function b(b){var c,d,e,f=0;d="hide"===b,a.theme.panel&&(e=a.theme.panel.find(".toolbar:not(.menubar)")),!e||e.length<2||"hide"===b&&!e[1].visible()||(!b&&e[1].visible()&&(b="hide"),tinymce.each(e,function(a,c){c>0&&("hide"===b?(a.hide(),f+=30):(a.show(),f-=30))}),f&&!d&&(c=a.getContentAreaContainer().firstChild,j.setStyle(c,"height",c.clientHeight+f),"hide"===b?(setUserSetting("hidetb","0"),g&&g.active(!1)):(setUserSetting("hidetb","1"),g&&g.active(!0))))}function c(a){return a.replace(/\[embed\]([\s\S]+?)\[\/embed\][\s\u00a0]*/g,function(a,b){return'<img width="300" height="200" src="'+tinymce.Env.transparentSrc+'" class="wp-oembed" alt="'+b+'" title="'+b+'" data-mce-resize="false" data-mce-placeholder="1" />'})}function d(a){return a.replace(/<img[^>]+>/g,function(a){if(-1!==a.indexOf('class="wp-oembed')){var b=a.match(/alt="([^\"]+)"/);b[1]&&(a="[embed]"+b[1]+"[/embed]")}return a})}function e(b,c){var d,e,f,g,h;f=a.dom.getViewPort(a.getWin()),d=j.getPos(a.getContentAreaContainer()),e=a.dom.getPos(b),g=Math.max(e.x-f.x,0)+d.x,h=Math.max(e.y-f.y,0)+d.y,j.setStyles(c,{top:h+5+"px",left:g+5+"px",display:"block"})}function f(){j.hide(j.select("#wp_editbtns, #wp_gallerybtns"))}var g,h,i,j=tinymce.DOM,k=0;return a.addButton("wp_adv",{tooltip:"Toolbar Toggle",cmd:"WP_Adv",onPostRender:function(){g=this,g.active("1"===getUserSetting("hidetb")?!0:!1)}}),a.on("PostRender",function(){"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){a.content&&(-1!==a.content.indexOf("<!--more")&&(a.content=a.content.replace(/<!--more(.*?)-->/g,function(a,b){return'<img src="'+tinymce.Env.transparentSrc+'" data-wp-more="'+b+'" class="wp-more-tag mce-wp-more" title="Read More..." data-mce-resize="false" data-mce-placeholder="1" />'})),-1!==a.content.indexOf("<!--nextpage-->")&&(a.content=a.content.replace(/<!--nextpage-->/g,'<img src="'+tinymce.Env.transparentSrc+'" class="wp-more-tag mce-wp-nextpage" title="Page break" 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("wp-more-tag")&&(-1!==a.indexOf("mce-wp-more")?((b=a.match(/data-wp-more="([^"]+)"/))&&(c=b[1]),a="<!--more"+c+"-->"):-1!==a.indexOf("mce-wp-nextpage")&&(a="<!--nextpage-->")),a}))}),a.on("ResolveName",function(b){var c=a.dom,d=b.target;"IMG"===d.nodeName&&c.hasClass(d,"wp-more-tag")&&(c.hasClass(d,"mce-wp-more")?b.name="more":c.hasClass(d,"mce-wp-nextpage")&&(b.name="nextpage"))}),a.addCommand("WP_More",function(b){var c,d,e,f="wp-more-tag",g=a.dom,h=a.selection.getNode();return b=b||"more",f+=" mce-wp-"+b,e="more"===b?"More...":"Next Page",d='<img src="'+tinymce.Env.transparentSrc+'" title="'+e+'" class="'+f+'" data-mce-resize="false" data-mce-placeholder="1" />',"BODY"===h.nodeName||"P"===h.nodeName&&"BODY"===h.parentNode.nodeName?void a.insertContent(d):(c=g.getParent(h,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,inline:1,classes:"wp-help"})}),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||(i||(i=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(i))}),a.on("ExecCommand",function(b){tinymce.Env.webkit&&i&&("InsertUnorderedList"===b.command||"InsertOrderedList"===b.command)&&a.dom.remove(i)}),a.on("init",function(){var b=tinymce.Env,c=["mceContentBody"],d=a.getDoc(),e=a.dom;"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")),c.push("wp-editor"),tinymce.each(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).triggerHandler(a.type)})}),"undefined"!=typeof window.jQuery&&a.on("keyup",function(b){var c=b.keyCode||b.charCode;c!==k&&((13===c||8===k||46===k)&&window.jQuery(document).triggerHandler("wpcountwords",[a.getContent({format:"raw"})]),k=c)}),a.on("SaveContent",function(b){return 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("preInit",function(){a.schema.addValidElements("@[id|accesskey|class|dir|lang|style|tabindex|title|contenteditable|draggable|dropzone|hidden|spellcheck|translate],i,b")}),h="alt+shift",a.addShortcut(h+"+c","","JustifyCenter"),a.addShortcut(h+"+r","","JustifyRight"),a.addShortcut(h+"+l","","JustifyLeft"),a.addShortcut(h+"+j","","JustifyFull"),a.addShortcut(h+"+q","","mceBlockQuote"),a.addShortcut(h+"+u","","InsertUnorderedList"),a.addShortcut(h+"+o","","InsertOrderedList"),a.addShortcut(h+"+n","","mceSpellCheck"),a.addShortcut(h+"+s","","unlink"),a.addShortcut(h+"+m","","WP_Medialib"),a.addShortcut(h+"+z","","WP_Adv"),a.addShortcut(h+"+t","","WP_More"),a.addShortcut(h+"+d","","Strikethrough"),a.addShortcut(h+"+h","","WP_Help"),a.addShortcut(h+"+p","","WP_Page"),a.addShortcut(h+"+x","","WP_Code"),a.addShortcut("ctrl+s","",function(){"undefined"!=typeof wp&&wp.autosave&&wp.autosave.server.triggerSave()}),a.on("init",function(){a.dom.bind(a.getWin(),"scroll",function(){f()}),a.dom.bind(a.getBody(),"dragstart",function(){f()})}),a.on("BeforeExecCommand",function(){f()}),a.on("SaveContent",function(){f()}),a.on("MouseDown",function(a){"IMG"!==a.target.nodeName&&f()}),a.on("keydown",function(a){(a.which===tinymce.util.VK.DELETE||a.which===tinymce.util.VK.BACKSPACE)&&f()}),{_showButtons:e,_hideButtons:f,_setEmbed:c,_getEmbed:d}});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.js b/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.js
deleted file mode 100644 (file)
index 6a2b9e5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-!function(){tinymce.create("tinymce.plugins.WPDialogs",{init:function(a){tinymce.create("tinymce.WPWindowManager:tinymce.InlineWindowManager",{WPWindowManager:function(a){this.parent(a)},open:function(a,b){var c,d=this;return a.wpDialog?(a.id&&(c=jQuery("#"+a.id),c.length&&(d.features=a,d.params=b,d.onOpen.dispatch(d,a,b),d.element=d.windows[a.id]=c,d.bookmark=d.editor.selection.getBookmark(1),c.data("wpdialog")||c.wpdialog({title:a.title,width:a.width,height:a.height,modal:!0,dialogClass:"wp-dialog",zIndex:3e5}),c.wpdialog("open"))),void 0):this.parent(a,b)},close:function(){return this.features.wpDialog?(this.element.wpdialog("close"),void 0):this.parent.apply(this,arguments)}}),a.onBeforeRenderUI.add(function(){a.windowManager=new tinymce.WPWindowManager(a)})},getInfo:function(){return{longname:"WPDialogs",author:"WordPress",authorurl:"http://wordpress.org",infourl:"http://wordpress.org",version:"0.1"}}}),tinymce.PluginManager.add("wpdialogs",tinymce.plugins.WPDialogs)}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin_src.js b/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin_src.js
deleted file mode 100644 (file)
index 0270c0d..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/* global tinymce */
-(function() {
-       tinymce.create('tinymce.plugins.WPDialogs', {
-               init : function( ed ) {
-                       tinymce.create('tinymce.WPWindowManager:tinymce.InlineWindowManager', {
-                               WPWindowManager : function(ed) {
-                                       this.parent(ed);
-                               },
-
-                               open : function(f, p) {
-                                       var t = this, element;
-
-                                       if ( ! f.wpDialog )
-                                               return this.parent( f, p );
-                                       else if ( ! f.id )
-                                               return;
-
-                                       element = jQuery('#' + f.id);
-                                       if ( ! element.length )
-                                               return;
-
-                                       t.features = f;
-                                       t.params = p;
-                                       t.onOpen.dispatch(t, f, p);
-                                       t.element = t.windows[ f.id ] = element;
-
-                                       // Store selection
-                                       t.bookmark = t.editor.selection.getBookmark(1);
-
-                                       // Create the dialog if necessary
-                                       if ( ! element.data('wpdialog') ) {
-                                               element.wpdialog({
-                                                       title: f.title,
-                                                       width: f.width,
-                                                       height: f.height,
-                                                       modal: true,
-                                                       dialogClass: 'wp-dialog',
-                                                       zIndex: 300000
-                                               });
-                                       }
-
-                                       element.wpdialog('open');
-                               },
-                               close : function() {
-                                       if ( ! this.features.wpDialog )
-                                               return this.parent.apply( this, arguments );
-
-                                       this.element.wpdialog('close');
-                               }
-                       });
-
-                       // Replace window manager
-                       ed.onBeforeRenderUI.add(function() {
-                               ed.windowManager = new tinymce.WPWindowManager(ed);
-                       });
-               },
-
-               getInfo : function() {
-                       return {
-                               longname : 'WPDialogs',
-                               author : 'WordPress',
-                               authorurl : 'http://wordpress.org',
-                               infourl : 'http://wordpress.org',
-                               version : '0.1'
-                       };
-               }
-       });
-
-       // Register plugin
-       tinymce.PluginManager.add('wpdialogs', tinymce.plugins.WPDialogs);
-})();
diff --git a/wp-includes/js/tinymce/plugins/wpdialogs/js/popup.js b/wp-includes/js/tinymce/plugins/wpdialogs/js/popup.js
deleted file mode 100644 (file)
index db6f01e..0000000
+++ /dev/null
@@ -1,436 +0,0 @@
-/**
- * popup.js
- *
- * An altered version of tinyMCEPopup to work in the same window as tinymce.
- *
- * ------------------------------------------------------------------
- *
- * Copyright 2009, Moxiecode Systems AB
- * Released under LGPL
- *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
- */
-
-// Some global instances
-
-/**
- * TinyMCE popup/dialog helper class. This gives you easy access to the
- * parent editor instance and a bunch of other things. It's higly recommended
- * that you load this script into your dialogs.
- *
- * @static
- * @class tinyMCEPopup
- */
-var tinyMCEPopup = {
-       /**
-        * Initializes the popup this will be called automatically.
-        *
-        * @method init
-        */
-       init : function() {
-               var t = this, w, ti;
-
-               // Find window & API
-               w = t.getWin();
-               tinymce = w.tinymce;
-               tinyMCE = w.tinyMCE;
-               t.editor = tinymce.EditorManager.activeEditor;
-               t.params = t.editor.windowManager.params;
-               t.features = t.editor.windowManager.features;
-               t.dom = tinymce.dom;
-
-               // Setup on init listeners
-               t.listeners = [];
-               t.onInit = {
-                       add : function(f, s) {
-                               t.listeners.push({func : f, scope : s});
-                       }
-               };
-
-               t.isWindow = false;
-               t.id = t.features.id;
-               t.editor.windowManager.onOpen.dispatch(t.editor.windowManager, window);
-       },
-
-       /**
-        * Returns the reference to the parent window that opened the dialog.
-        *
-        * @method getWin
-        * @return {Window} Reference to the parent window that opened the dialog.
-        */
-       getWin : function() {
-               return window;
-       },
-
-       /**
-        * Returns a window argument/parameter by name.
-        *
-        * @method getWindowArg
-        * @param {String} n Name of the window argument to retrieve.
-        * @param {String} dv Optional default value to return.
-        * @return {String} Argument value or default value if it wasn't found.
-        */
-       getWindowArg : function(n, dv) {
-               var v = this.params[n];
-
-               return tinymce.is(v) ? v : dv;
-       },
-
-       /**
-        * Returns a editor parameter/config option value.
-        *
-        * @method getParam
-        * @param {String} n Name of the editor config option to retrieve.
-        * @param {String} dv Optional default value to return.
-        * @return {String} Parameter value or default value if it wasn't found.
-        */
-       getParam : function(n, dv) {
-               return this.editor.getParam(n, dv);
-       },
-
-       /**
-        * Returns a language item by key.
-        *
-        * @method getLang
-        * @param {String} n Language item like mydialog.something.
-        * @param {String} dv Optional default value to return.
-        * @return {String} Language value for the item like "my string" or the default value if it wasn't found.
-        */
-       getLang : function(n, dv) {
-               return this.editor.getLang(n, dv);
-       },
-
-       /**
-        * Executed a command on editor that opened the dialog/popup.
-        *
-        * @method execCommand
-        * @param {String} cmd Command to execute.
-        * @param {Boolean} ui Optional boolean value if the UI for the command should be presented or not.
-        * @param {Object} val Optional value to pass with the comman like an URL.
-        * @param {Object} a Optional arguments object.
-        */
-       execCommand : function(cmd, ui, val, a) {
-               a = a || {};
-               a.skip_focus = 1;
-
-               this.restoreSelection();
-               return this.editor.execCommand(cmd, ui, val, a);
-       },
-
-       /**
-        * Resizes the dialog to the inner size of the window. This is needed since various browsers
-        * have different border sizes on windows.
-        *
-        * @method resizeToInnerSize
-        */
-       resizeToInnerSize : function() {
-               var t = this;
-
-               // Detach it to workaround a Chrome specific bug
-               // https://sourceforge.net/tracker/?func=detail&atid=635682&aid=2926339&group_id=103281
-               setTimeout(function() {
-                       var vp = t.dom.getViewPort(window);
-
-                       t.editor.windowManager.resizeBy(
-                               t.getWindowArg('mce_width') - vp.w,
-                               t.getWindowArg('mce_height') - vp.h,
-                               t.id || window
-                       );
-               }, 0);
-       },
-
-       /**
-        * Will executed the specified string when the page has been loaded. This function
-        * was added for compatibility with the 2.x branch.
-        *
-        * @method executeOnLoad
-        * @param {String} s String to evalutate on init.
-        */
-       executeOnLoad : function(s) {
-               this.onInit.add(function() {
-                       eval(s);
-               });
-       },
-
-       /**
-        * Stores the current editor selection for later restoration. This can be useful since some browsers
-        * loses its selection if a control element is selected/focused inside the dialogs.
-        *
-        * @method storeSelection
-        */
-       storeSelection : function() {
-               this.editor.windowManager.bookmark = tinyMCEPopup.editor.selection.getBookmark(1);
-       },
-
-       /**
-        * Restores any stored selection. This can be useful since some browsers
-        * loses its selection if a control element is selected/focused inside the dialogs.
-        *
-        * @method restoreSelection
-        */
-       restoreSelection : function() {
-               var t = tinyMCEPopup;
-
-               if (!t.isWindow && tinymce.isIE) {
-                       t.editor.selection.moveToBookmark(t.editor.windowManager.bookmark);
-               }
-       },
-
-       /**
-        * Loads a specific dialog language pack. If you pass in plugin_url as a arugment
-        * when you open the window it will load the <plugin url>/langs/<code>_dlg.js lang pack file.
-        *
-        * @method requireLangPack
-        */
-       requireLangPack : function() {
-               var t = this, u = t.getWindowArg('plugin_url') || t.getWindowArg('theme_url');
-
-               if (u && t.editor.settings.language && t.features.translate_i18n !== false) {
-                       u += '/langs/' + t.editor.settings.language + '_dlg.js';
-
-                       if (!tinymce.ScriptLoader.isDone(u)) {
-                               document.write('<script type="text/javascript" src="' + tinymce._addVer(u) + '"></script>');
-                               tinymce.ScriptLoader.markDone(u);
-                       }
-               }
-       },
-
-       /**
-        * Executes a color picker on the specified element id. When the user
-        * then selects a color it will be set as the value of the specified element.
-        *
-        * @method pickColor
-        * @param {DOMEvent} e DOM event object.
-        * @param {string} element_id Element id to be filled with the color value from the picker.
-        */
-       pickColor : function(e, element_id) {
-               this.execCommand('mceColorPicker', true, {
-                       color : document.getElementById(element_id).value,
-                       func : function(c) {
-                               document.getElementById(element_id).value = c;
-
-                               try {
-                                       document.getElementById(element_id).onchange();
-                               } catch (ex) {
-                                       // Try fire event, ignore errors
-                               }
-                       }
-               });
-       },
-
-       /**
-        * Opens a filebrowser/imagebrowser this will set the output value from
-        * the browser as a value on the specified element.
-        *
-        * @method openBrowser
-        * @param {string} element_id Id of the element to set value in.
-        * @param {string} type Type of browser to open image/file/flash.
-        * @param {string} option Option name to get the file_broswer_callback function name from.
-        */
-       openBrowser : function(element_id, type, option) {
-               tinyMCEPopup.restoreSelection();
-               this.editor.execCallback('file_browser_callback', element_id, document.getElementById(element_id).value, type, window);
-       },
-
-       /**
-        * Creates a confirm dialog. Please don't use the blocking behavior of this
-        * native version use the callback method instead then it can be extended.
-        *
-        * @method confirm
-        * @param {String} t Title for the new confirm dialog.
-        * @param {function} cb Callback function to be executed after the user has selected ok or cancel.
-        * @param {Object} s Optional scope to execute the callback in.
-        */
-       confirm : function(t, cb, s) {
-               this.editor.windowManager.confirm(t, cb, s, window);
-       },
-
-       /**
-        * Creates an alert dialog. Please don't use the blocking behavior of this
-        * native version use the callback method instead then it can be extended.
-        *
-        * @method alert
-        * @param {String} t Title for the new alert dialog.
-        * @param {function} cb Callback function to be executed after the user has selected ok.
-        * @param {Object} s Optional scope to execute the callback in.
-        */
-       alert : function(tx, cb, s) {
-               this.editor.windowManager.alert(tx, cb, s, window);
-       },
-
-       /**
-        * Closes the current window.
-        *
-        * @method close
-        */
-       close : function() {
-               var t = this;
-
-               // To avoid domain relaxing issue in Opera
-               function close() {
-                       t.editor.windowManager.close(window);
-                       t.editor = null;
-               };
-
-               if (tinymce.isOpera)
-                       t.getWin().setTimeout(close, 0);
-               else
-                       close();
-       },
-
-       // Internal functions
-
-       _restoreSelection : function(e) {
-               var el = e && e.target ? e.target : window.event.srcElement;
-
-               if ( el.nodeName == 'INPUT' && ( el.type == 'submit' || el.type == 'button' ) ) {
-                       tinyMCEPopup.restoreSelection();
-               }
-       },
-
-/*     _restoreSelection : function() {
-               var e = window.event.srcElement;
-
-               // If user focus a non text input or textarea
-               if ((e.nodeName != 'INPUT' && e.nodeName != 'TEXTAREA') || e.type != 'text')
-                       tinyMCEPopup.restoreSelection();
-       },*/
-
-       _onDOMLoaded : function() {
-               var t = tinyMCEPopup, ti = document.title, bm, h, nv;
-
-               if (t.domLoaded)
-                       return;
-
-               t.domLoaded = 1;
-
-               tinyMCEPopup.init();
-
-               // Translate page
-               if (t.features.translate_i18n !== false) {
-                       h = document.body.innerHTML;
-
-                       // Replace a=x with a="x" in IE
-                       if (tinymce.isIE)
-                               h = h.replace(/ (value|title|alt)=([^"][^\s>]+)/gi, ' $1="$2"')
-
-                       document.dir = t.editor.getParam('directionality','');
-
-                       if ((nv = t.editor.translate(h)) && nv != h)
-                               document.body.innerHTML = nv;
-
-                       if ((nv = t.editor.translate(ti)) && nv != ti)
-                               document.title = ti = nv;
-               }
-
-               document.body.style.display = '';
-
-               // Restore selection in IE when focus is placed on a non textarea or input element of the type text
-               if ( tinymce.isIE && ! tinymce.isIE11 ) {
-                       document.attachEvent('onmouseup', tinyMCEPopup._restoreSelection);
-
-                       // Add base target element for it since it would fail with modal dialogs
-                       t.dom.add(t.dom.select('head')[0], 'base', {target : '_self'});
-               } else if ( tinymce.isIE11 ) {
-                       document.addEventListener('mouseup', tinyMCEPopup._restoreSelection, false);
-               }
-
-               t.restoreSelection();
-
-               // Set inline title
-               if (!t.isWindow)
-                       t.editor.windowManager.setTitle(window, ti);
-               else
-                       window.focus();
-
-               if (!tinymce.isIE && !t.isWindow) {
-                       tinymce.dom.Event._add(document, 'focus', function() {
-                               t.editor.windowManager.focus(t.id);
-                       });
-               }
-
-               // Patch for accessibility
-               tinymce.each(t.dom.select('select'), function(e) {
-                       e.onkeydown = tinyMCEPopup._accessHandler;
-               });
-
-               // Call onInit
-               // Init must be called before focus so the selection won't get lost by the focus call
-               tinymce.each(t.listeners, function(o) {
-                       o.func.call(o.scope, t.editor);
-               });
-
-               // Move focus to window
-               if (t.getWindowArg('mce_auto_focus', true)) {
-                       window.focus();
-
-                       // Focus element with mceFocus class
-                       tinymce.each(document.forms, function(f) {
-                               tinymce.each(f.elements, function(e) {
-                                       if (t.dom.hasClass(e, 'mceFocus') && !e.disabled) {
-                                               e.focus();
-                                               return false; // Break loop
-                                       }
-                               });
-                       });
-               }
-
-               document.onkeyup = tinyMCEPopup._closeWinKeyHandler;
-       },
-
-       _accessHandler : function(e) {
-               e = e || window.event;
-
-               if (e.keyCode == 13 || e.keyCode == 32) {
-                       e = e.target || e.srcElement;
-
-                       if (e.onchange)
-                               e.onchange();
-
-                       return tinymce.dom.Event.cancel(e);
-               }
-       },
-
-       _closeWinKeyHandler : function(e) {
-               e = e || window.event;
-
-               if (e.keyCode == 27)
-                       tinyMCEPopup.close();
-       },
-
-       _wait : function() {
-               // Use IE method
-               if (document.attachEvent) {
-                       document.attachEvent("onreadystatechange", function() {
-                               if (document.readyState === "complete") {
-                                       document.detachEvent("onreadystatechange", arguments.callee);
-                                       tinyMCEPopup._onDOMLoaded();
-                               }
-                       });
-
-                       if (document.documentElement.doScroll && window == window.top) {
-                               (function() {
-                                       if (tinyMCEPopup.domLoaded)
-                                               return;
-
-                                       try {
-                                               // If IE is used, use the trick by Diego Perini
-                                               // http://javascript.nwbox.com/IEContentLoaded/
-                                               document.documentElement.doScroll("left");
-                                       } catch (ex) {
-                                               setTimeout(arguments.callee, 0);
-                                               return;
-                                       }
-
-                                       tinyMCEPopup._onDOMLoaded();
-                               })();
-                       }
-
-                       document.attachEvent('onload', tinyMCEPopup._onDOMLoaded);
-               } else if (document.addEventListener) {
-                       window.addEventListener('DOMContentLoaded', tinyMCEPopup._onDOMLoaded, false);
-                       window.addEventListener('load', tinyMCEPopup._onDOMLoaded, false);
-               }
-       }
-};
diff --git a/wp-includes/js/tinymce/plugins/wpdialogs/js/popup.min.js b/wp-includes/js/tinymce/plugins/wpdialogs/js/popup.min.js
deleted file mode 100644 (file)
index 7377d5b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-var tinyMCEPopup={init:function(){var a,b=this;a=b.getWin(),tinymce=a.tinymce,tinyMCE=a.tinyMCE,b.editor=tinymce.EditorManager.activeEditor,b.params=b.editor.windowManager.params,b.features=b.editor.windowManager.features,b.dom=tinymce.dom,b.listeners=[],b.onInit={add:function(a,c){b.listeners.push({func:a,scope:c})}},b.isWindow=!1,b.id=b.features.id,b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return window},getWindowArg:function(a,b){var c=this.params[a];return tinymce.is(c)?c:b},getParam:function(a,b){return this.editor.getParam(a,b)},getLang:function(a,b){return this.editor.getLang(a,b)},execCommand:function(a,b,c,d){return d=d||{},d.skip_focus=1,this.restoreSelection(),this.editor.execCommand(a,b,c,d)},resizeToInnerSize:function(){var a=this;setTimeout(function(){var b=a.dom.getViewPort(window);a.editor.windowManager.resizeBy(a.getWindowArg("mce_width")-b.w,a.getWindowArg("mce_height")-b.h,a.id||window)},0)},executeOnLoad:function(s){this.onInit.add(function(){eval(s)})},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;!a.isWindow&&tinymce.isIE&&a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)},requireLangPack:function(){var a=this,b=a.getWindowArg("plugin_url")||a.getWindowArg("theme_url");b&&a.editor.settings.language&&a.features.translate_i18n!==!1&&(b+="/langs/"+a.editor.settings.language+"_dlg.js",tinymce.ScriptLoader.isDone(b)||(document.write('<script type="text/javascript" src="'+tinymce._addVer(b)+'"></script>'),tinymce.ScriptLoader.markDone(b)))},pickColor:function(a,b){this.execCommand("mceColorPicker",!0,{color:document.getElementById(b).value,func:function(a){document.getElementById(b).value=a;try{document.getElementById(b).onchange()}catch(c){}}})},openBrowser:function(a,b){tinyMCEPopup.restoreSelection(),this.editor.execCallback("file_browser_callback",a,document.getElementById(a).value,b,window)},confirm:function(a,b,c){this.editor.windowManager.confirm(a,b,c,window)},alert:function(a,b,c){this.editor.windowManager.alert(a,b,c,window)},close:function(){function a(){b.editor.windowManager.close(window),b.editor=null}var b=this;tinymce.isOpera?b.getWin().setTimeout(a,0):a()},_restoreSelection:function(a){var b=a&&a.target?a.target:window.event.srcElement;"INPUT"!=b.nodeName||"submit"!=b.type&&"button"!=b.type||tinyMCEPopup.restoreSelection()},_onDOMLoaded:function(){var a,b,c=tinyMCEPopup,d=document.title;c.domLoaded||(c.domLoaded=1,tinyMCEPopup.init(),c.features.translate_i18n!==!1&&(a=document.body.innerHTML,tinymce.isIE&&(a=a.replace(/ (value|title|alt)=([^"][^\s>]+)/gi,' $1="$2"')),document.dir=c.editor.getParam("directionality",""),(b=c.editor.translate(a))&&b!=a&&(document.body.innerHTML=b),(b=c.editor.translate(d))&&b!=d&&(document.title=d=b)),document.body.style.display="",tinymce.isIE&&!tinymce.isIE11?(document.attachEvent("onmouseup",tinyMCEPopup._restoreSelection),c.dom.add(c.dom.select("head")[0],"base",{target:"_self"})):tinymce.isIE11&&document.addEventListener("mouseup",tinyMCEPopup._restoreSelection,!1),c.restoreSelection(),c.isWindow?window.focus():c.editor.windowManager.setTitle(window,d),tinymce.isIE||c.isWindow||tinymce.dom.Event._add(document,"focus",function(){c.editor.windowManager.focus(c.id)}),tinymce.each(c.dom.select("select"),function(a){a.onkeydown=tinyMCEPopup._accessHandler}),tinymce.each(c.listeners,function(a){a.func.call(a.scope,c.editor)}),c.getWindowArg("mce_auto_focus",!0)&&(window.focus(),tinymce.each(document.forms,function(a){tinymce.each(a.elements,function(a){return c.dom.hasClass(a,"mceFocus")&&!a.disabled?(a.focus(),!1):void 0})})),document.onkeyup=tinyMCEPopup._closeWinKeyHandler)},_accessHandler:function(a){return a=a||window.event,13==a.keyCode||32==a.keyCode?(a=a.target||a.srcElement,a.onchange&&a.onchange(),tinymce.dom.Event.cancel(a)):void 0},_closeWinKeyHandler:function(a){a=a||window.event,27==a.keyCode&&tinyMCEPopup.close()},_wait:function(){document.attachEvent?(document.attachEvent("onreadystatechange",function(){"complete"===document.readyState&&(document.detachEvent("onreadystatechange",arguments.callee),tinyMCEPopup._onDOMLoaded())}),document.documentElement.doScroll&&window==window.top&&!function(){if(!tinyMCEPopup.domLoaded){try{document.documentElement.doScroll("left")}catch(a){return setTimeout(arguments.callee,0),void 0}tinyMCEPopup._onDOMLoaded()}}(),document.attachEvent("onload",tinyMCEPopup._onDOMLoaded)):document.addEventListener&&(window.addEventListener("DOMContentLoaded",tinyMCEPopup._onDOMLoaded,!1),window.addEventListener("load",tinyMCEPopup._onDOMLoaded,!1))}};
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.js b/wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.js
deleted file mode 100644 (file)
index cb168dd..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-(function($){
-       $.ui.dialog.prototype.options.closeOnEscape = false;
-       $.widget('wp.wpdialog', $.ui.dialog, {
-               // Work around a bug in jQuery UI 1.9.1.
-               // http://bugs.jqueryui.com/ticket/8805
-               widgetEventPrefix: 'wpdialog',
-
-               open: function() {
-                       var ed;
-
-                       // Initialize tinyMCEPopup if it exists and the editor is active.
-                       if ( tinyMCEPopup && typeof tinyMCE != 'undefined' && ( ed = tinyMCE.activeEditor ) && !ed.isHidden() ) {
-                               tinyMCEPopup.init();
-                       }
-
-                       // Add beforeOpen event.
-                       if ( this.isOpen() || false === this._trigger('beforeOpen') ) {
-                               return;
-                       }
-
-                       // Open the dialog.
-                       this._super();
-                       // WebKit leaves focus in the TinyMCE editor unless we shift focus.
-                       this.element.focus();
-                       this._trigger('refresh');
-               }
-       });
-})(jQuery);
diff --git a/wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.min.js b/wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.min.js
deleted file mode 100644 (file)
index 41b90d6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-!function(a){a.ui.dialog.prototype.options.closeOnEscape=!1,a.widget("wp.wpdialog",a.ui.dialog,{widgetEventPrefix:"wpdialog",open:function(){var a;tinyMCEPopup&&"undefined"!=typeof tinyMCE&&(a=tinyMCE.activeEditor)&&!a.isHidden()&&tinyMCEPopup.init(),this.isOpen()||!1===this._trigger("beforeOpen")||(this._super(),this.element.focus(),this._trigger("refresh"))}})}(jQuery);
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpdialogs/plugin.js b/wp-includes/js/tinymce/plugins/wpdialogs/plugin.js
new file mode 100644 (file)
index 0000000..8b9229f
--- /dev/null
@@ -0,0 +1,92 @@
+/* global tinymce */
+/**
+ * Included for back-compat.
+ * The default WindowManager in TinyMCE 4.0 supports three types of dialogs:
+ *     - With HTML created from JS.
+ *     - With inline HTML (like WPWindowManager).
+ *     - Old type iframe based dialogs.
+ * For examples see the default plugins: https://github.com/tinymce/tinymce/tree/master/js/tinymce/plugins
+ */
+tinymce.WPWindowManager = tinymce.InlineWindowManager = function( editor ) {
+       if ( this.wp ) {
+               return this;
+       }
+
+       this.wp = {};
+       this.parent = editor.windowManager;
+       this.editor = editor;
+
+       tinymce.extend( this, this.parent );
+
+       this.open = function( args, params ) {
+               var $element,
+                       self = this,
+                       wp = this.wp;
+
+               if ( ! args.wpDialog ) {
+                       return this.parent.open.apply( this, arguments );
+               } else if ( ! args.id ) {
+                       return;
+               }
+
+               if ( typeof jQuery === 'undefined' || ! jQuery.wp || ! jQuery.wp.wpdialog ) {
+                       // wpdialog.js is not loaded
+                       if ( window.console && window.console.error ) {
+                               window.console.error('wpdialog.js is not loaded. Please set "wpdialogs" as dependency for your script when calling wp_enqueue_script(). You may also want to enqueue the "wp-jquery-ui-dialog" stylesheet.');
+                       }
+
+                       return;
+               }
+
+               wp.$element = $element = jQuery( '#' + args.id );
+
+               if ( ! $element.length ) {
+                       return;
+               }
+
+               if ( window.console && window.console.log ) {
+                       window.console.log('tinymce.WPWindowManager is deprecated. Use the default editor.windowManager to open dialogs with inline HTML.');
+               }
+
+               wp.features = args;
+               wp.params = params;
+
+               // Store selection. Takes a snapshot in the FocusManager of the selection before focus is moved to the dialog.
+               editor.nodeChanged();
+
+               // Create the dialog if necessary
+               if ( ! $element.data('wpdialog') ) {
+                       $element.wpdialog({
+                               title: args.title,
+                               width: args.width,
+                               height: args.height,
+                               modal: true,
+                               dialogClass: 'wp-dialog',
+                               zIndex: 300000
+                       });
+               }
+
+               $element.wpdialog('open');
+
+               $element.on( 'wpdialogclose', function() {
+                       if ( self.wp.$element ) {
+                               self.wp = {};
+                       }
+               });
+       };
+
+       this.close = function() {
+               if ( ! this.wp.features || ! this.wp.features.wpDialog ) {
+                       return this.parent.close.apply( this, arguments );
+               }
+
+               this.wp.$element.wpdialog('close');
+       };
+};
+
+tinymce.PluginManager.add( 'wpdialogs', function( editor ) {
+       // Replace window manager
+       editor.on( 'init', function() {
+               editor.windowManager = new tinymce.WPWindowManager( editor );
+       });
+});
diff --git a/wp-includes/js/tinymce/plugins/wpdialogs/plugin.min.js b/wp-includes/js/tinymce/plugins/wpdialogs/plugin.min.js
new file mode 100644 (file)
index 0000000..12b1df0
--- /dev/null
@@ -0,0 +1 @@
+tinymce.WPWindowManager=tinymce.InlineWindowManager=function(a){return this.wp?this:(this.wp={},this.parent=a.windowManager,this.editor=a,tinymce.extend(this,this.parent),this.open=function(b,c){var d,e=this,f=this.wp;if(!b.wpDialog)return this.parent.open.apply(this,arguments);if(b.id){if("undefined"==typeof jQuery||!jQuery.wp||!jQuery.wp.wpdialog)return void(window.console&&window.console.error&&window.console.error('wpdialog.js is not loaded. Please set "wpdialogs" as dependency for your script when calling wp_enqueue_script(). You may also want to enqueue the "wp-jquery-ui-dialog" stylesheet.'));f.$element=d=jQuery("#"+b.id),d.length&&(window.console&&window.console.log&&window.console.log("tinymce.WPWindowManager is deprecated. Use the default editor.windowManager to open dialogs with inline HTML."),f.features=b,f.params=c,a.nodeChanged(),d.data("wpdialog")||d.wpdialog({title:b.title,width:b.width,height:b.height,modal:!0,dialogClass:"wp-dialog",zIndex:3e5}),d.wpdialog("open"),d.on("wpdialogclose",function(){e.wp.$element&&(e.wp={})}))}},void(this.close=function(){return this.wp.features&&this.wp.features.wpDialog?void this.wp.$element.wpdialog("close"):this.parent.close.apply(this,arguments)}))},tinymce.PluginManager.add("wpdialogs",function(a){a.on("init",function(){a.windowManager=new tinymce.WPWindowManager(a)})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/css/editimage.css b/wp-includes/js/tinymce/plugins/wpeditimage/css/editimage.css
deleted file mode 100644 (file)
index e380ad5..0000000
+++ /dev/null
@@ -1,443 +0,0 @@
-
-html, body {
-       background-color: #fff;
-       margin: 0;
-       padding: 0;
-}
-
-body {
-       font-family: sans-serif;
-       font-size: 12px;
-       line-height: 1.4em;
-}
-
-a.button {
-       padding: 4px 8px;
-}
-
-textarea,
-input,
-select {
-       font: inherit;
-       margin: 1px;
-       padding: 3px;
-}
-
-p.help {
-       margin: 4px 0;
-       font-size: 12px;
-       font-style: italic;
-}
-
-abbr.required {
-       color: #FF0000;
-       text-align: left;
-}
-
-img.alignright,
-.alignright {
-       float: right;
-       margin-left: 5px;
-}
-
-img.alignleft,
-.alignleft {
-       float: left;
-       margin-right: 5px;
-}
-
-img.aligncenter {
-       display: block;
-       margin-left: auto;
-       margin-right: auto;
-}
-
-label {
-       cursor: pointer;
-}
-
-th.label {
-       width: 107px;
-}
-
-#media-upload #basic th.label {
-       padding: 5px 5px 5px 0;
-}
-
-.show-align {
-       height: 200px;
-       width: 480px;
-       float: right;
-       background-color: #f1f1f1;
-       cursor: default;
-       -moz-user-select: none;
-       user-select: none;
-       overflow: hidden;
-}
-
-#img-edit {
-       border: 1px solid #dfdfdf;
-       width: 623px;
-       margin: 15px auto;
-}
-
-#media-upload .media-upload-form table.describe {
-       border-top-style: none;
-       border-top-width: 0;
-}
-
-#img_demo_txt {
-       font-size: 9px;
-       line-height: 13px;
-       font-family: Monaco,"Courier New",Courier,monospace;
-       color: #888;
-}
-
-#img_demo {
-       padding: 0;
-}
-
-#saveeditimg {
-       padding: 10px 0 0 5px;
-       border-top: 1px solid #ccc;
-}
-
-#sidemenu,
-#sidemenu li {
-       list-style: none;
-}
-
-#sidemenu li {
-       display: inline;
-}
-
-#sidemenu a {
-       border-bottom-style: solid;
-       border-bottom-width: 1px;
-       border-top-style: solid;
-       border-top-width: 1px;
-       display: block;
-       float: left;
-       height: 28px;
-       line-height: 28px;
-       text-decoration: none;
-       text-align: center;
-       white-space: nowrap;
-       margin: 0;
-       padding: 0pt 7px;
-       background-color: #f9f9f9;
-       border-color: #f9f9f9;
-       border-bottom-color: #dfdfdf;
-}
-
-a {
-       color: #21759B;
-}
-
-a:hover,
-a:active,
-a:focus {
-    color: #D54E21;
-}
-
-#sidemenu a.current {
-       -webkit-border-top-left-radius: 4px;
-       border-top-left-radius: 4px;
-       -webkit-border-top-right-radius: 4px;
-       border-top-right-radius: 4px;
-       border-style: solid;
-       border-width: 1px;
-       font-weight: normal;
-       background-color: #fff;
-       border-color: #dfdfdf #dfdfdf #fff;
-       color: #D54E21;
-}
-
-#adv_settings .field label {
-       padding: 0 5px 5px;
-}
-
-#media-upload h3 {
-       clear: both;
-       padding: 0pt 0pt 3px;
-       border-bottom-style: solid;
-       border-bottom-width: 1px;
-       font-family: Georgia,"Times New Roman",Times,serif;
-       font-size: 20px;
-       font-weight: normal;
-       line-height: normal;
-       margin: 0 0 10px -4px;
-       padding: 15px 0 3px;
-       border-bottom-color: #DADADA;
-       color: #5A5A5A;
-}
-
-#img_dim #width,
-#img_dim #height,
-#img_prop #border,
-#img_prop #vspace,
-#img_prop #hspace {
-       width: 36px;
-}
-
-#img_dim abbr {
-       padding: 0 4px;
-}
-
-#show_align_sp {
-       width: 115px;
-}
-
-#img_dim input,
-#img_prop input {
-       margin-right: 10px;
-}
-
-#basic .align .field label {
-       padding: 0 0 0 24px;
-}
-
-#basic {
-       padding-top: 2px;
-}
-
-td {
-       padding: 2px 0;
-}
-
-#img_size {
-       float: right;
-       text-align: center;
-       cursor: pointer;
-       background-color: #f1f1f1;
-       padding: 5px 0;
-       width: 45px;
-}
-
-#img_size div {
-       font-size: 10px;
-       padding: 2px;
-       border: 1px solid #f1f1f1;
-       line-height: 15px;
-       height: 15px;
-       -webkit-border-radius: 3px;
-       border-radius: 3px;
-       color: #07273E;
-}
-
-#img_size div#s100 {
-       border-color: #A3A3A3;
-       background-color: #E5E5E5;
-}
-
-#img_size_div {
-       width: 100px;
-       float: left;
-       cursor: default;
-}
-
-#img_size_title {
-       margin: 0 7px 5px;
-       text-align: right;
-       font-weight: bold;
-}
-
-#img_align_td {
-       padding: 2px 0 8px;
-}
-
-#media-upload tr.align td.field {
-       text-align: center;
-}
-
-.describe td {
-       vertical-align: middle;
-}
-
-#media-upload .describe th.label {
-       padding-top: .5em;
-       text-align: left;
-}
-
-#media-upload .describe {
-       border-top-width: 1px;
-       border-top-style: solid;
-       padding: 5px;
-       width: 100%;
-       clear: both;
-       cursor: default;
-}
-
-form {
-       margin: 1em;
-}
-
-.describe input[type="text"],
-.describe textarea {
-       width: 460px;
-       border: 1px solid #dfdfdf;
-       -webkit-border-radius: 4px;
-       border-radius: 4px;
-}
-
-.media-upload-form label,
-.media-upload-form legend {
-       font-weight: bold;
-       font-size: 12px;
-       color: #464646;
-}
-
-.align .field label {
-       display: inline;
-       padding: 0 0 0 28px;
-       margin: 0 1em 0 0;
-}
-
-.image-align-none-label {
-       background: url(../../../../../../wp-admin/images/align-none.png) no-repeat center left;
-}
-
-.image-align-left-label {
-       background: url(../../../../../../wp-admin/images/align-left.png) no-repeat center left;
-}
-
-.image-align-center-label {
-       background: url(../../../../../../wp-admin/images/align-center.png) no-repeat center left;
-}
-
-.image-align-right-label {
-       background: url(../../../../../../wp-admin/images/align-right.png) no-repeat center left;
-}
-
-div#media-upload-header {
-       margin: 0;
-       padding: 0 5px;
-       font-weight: bold;
-       position: relative;
-       border-bottom-width: 1px;
-       border-bottom-style: solid;
-       height: 33px;
-       background-color: #f9f9f9;
-       border-bottom-color: #dfdfdf;
-}
-
-body#media-upload ul#sidemenu {
-       font-weight: normal;
-       margin: 0 5px;
-       position: relative;
-       left: 0px;
-       bottom: -4px;
-}
-
-div#media-upload-error {
-       margin: 1em;
-       font-weight: bold;
-}
-
-#TB_window #TB_title {
-       background-color: #222222;
-       color: #CFCFCF;
-}
-
-.hidden {
-       display: none;
-}
-
-/* RTL */
-body#media-upload.rtl ul#sidemenu {
-       left: auto;
-       right: 0;
-}
-
-.rtl #basic .align .field label {
-       display: block;
-       float: right;
-       padding: 0 24px 0 0;
-       margin: 5px 3px 5px 5px; 
-}
-
-.rtl .align .field input {
-       display: block;
-       float: right;
-       margin: 5px 15px 5px 0;
-}
-
-.rtl tr.image-size label {
-       margin: 0;
-}
-
-.rtl tr.image-size input {
-       margin: 3px 15px 0 5px;
-}
-
-.rtl .image-align-none-label,
-.rtl .image-align-left-label,
-.rtl .image-align-center-label,
-.rtl .image-align-right-label {
-       background-position: center right;
-}
-
-#media-upload.rtl .describe th.label {
-       text-align: right;
-}
-
-.rtl .show-align,
-.rtl #img_size,
-.rtl .alignright,
-.rtl #img_demo.alignleft {
-       float: left;
-}
-
-.rtl tr.image-size label,
-.rtl tr.image-size input,
-.rtl #img_dim label,
-.rtl #img_dim input,
-.rtl #img_prop label,
-.rtl #img_prop input,
-.rtl #img_size_div,
-.rtl .alignleft,
-.rtl #img_demo.alignright {
-       float: right;
-}
-
-.rtl #img_dim label,
-.rtl #img_prop label {
-       margin: 5px 0pt;
-}
-
-.rtl #img_dim input,
-.rtl #img_prop input {
-       margin: 0 5px 0 10px;
-}
-
-.rtl #img_size_title {
-       text-align: left;
-}
-
-/**
- * Retina display 2x icons
- */
-@media print,
-  (-o-min-device-pixel-ratio: 5/4),
-  (-webkit-min-device-pixel-ratio: 1.25),
-  (min-resolution: 120dpi) {
-       .image-align-none-label {
-               background: url(../../../../../../wp-admin/images/align-none-2x.png) no-repeat center left;
-               background-size: auto 15px;
-       }
-
-       .image-align-left-label {
-               background: url(../../../../../../wp-admin/images/align-left-2x.png) no-repeat center left;
-               background-size: auto 15px;
-       }
-
-       .image-align-center-label {
-               background: url(../../../../../../wp-admin/images/align-center-2x.png) no-repeat center left;
-               background-size: auto 15px;
-       }
-
-       .image-align-right-label {
-               background: url(../../../../../../wp-admin/images/align-right-2x.png) no-repeat center left;
-               background-size: auto 15px;
-       }
-}
diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/editimage.html b/wp-includes/js/tinymce/plugins/wpeditimage/editimage.html
deleted file mode 100644 (file)
index a452653..0000000
+++ /dev/null
@@ -1,274 +0,0 @@
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<title></title>
-
-<link rel="stylesheet" href="css/editimage.css?ver=358-20121205" type="text/css" media="all" />
-<link rel="stylesheet" href="../../../../css/buttons.css?ver=358-20121205" type="text/css" media="all" />
-<script type="text/javascript" src="js/editimage.js?ver=358-20121205"></script>
-<script type="text/javascript" src="../../utils/form_utils.js?ver=358-20121205"></script>
-<base target="_self" />
-</head>
-
-<body id="media-upload" class="wp-core-ui" style="display:none;">
-<script type="text/javascript">
-if ( 'rtl' == tinyMCEPopup.editor.getParam('directionality','') )
-       document.body.className += ' rtl';
-</script>
-<div id="media-upload-header">
-       <ul id="sidemenu">
-       <li><a href="javascript:;" id="tab_basic" class="current" onclick="wpImage.setTabs(this);">{#wpeditimage.edit_img}</a></li>
-       <li><a href="javascript:;" id="tab_advanced" onclick="wpImage.setTabs(this);">{#wpeditimage.adv_settings}</a></li>
-       </ul>
-</div>
-
-<div id="img-edit">
-<form class="media-upload-form" action="" onsubmit="wpImage.update();">
-       <div id="img_size_div">
-               <div id="img_size_title">{#wpeditimage.size}</div>
-               <div id="img_size" onmouseout="wpImage.showSizeRem()">
-                       <div id="s130" onmouseover="wpImage.showSize(this)" onclick="wpImage.imgEditSize(this)">{#wpeditimage.s130}</div>
-                       <div id="s120" onmouseover="wpImage.showSize(this)" onclick="wpImage.imgEditSize(this)">{#wpeditimage.s120}</div>
-                       <div id="s110" onmouseover="wpImage.showSize(this)" onclick="wpImage.imgEditSize(this)">{#wpeditimage.s110}</div>
-                       <div id="s100" onmouseover="wpImage.showSize(this)" onclick="wpImage.imgEditSize(this)">{#wpeditimage.s100}</div>
-                       <div id="s90" onmouseover="wpImage.showSize(this)" onclick="wpImage.imgEditSize(this)">{#wpeditimage.s90}</div>
-                       <div id="s80" onmouseover="wpImage.showSize(this)" onclick="wpImage.imgEditSize(this)">{#wpeditimage.s80}</div>
-                       <div id="s70" onmouseover="wpImage.showSize(this)" onclick="wpImage.imgEditSize(this)">{#wpeditimage.s70}</div>
-                       <div id="s60" onmouseover="wpImage.showSize(this)" onclick="wpImage.imgEditSize(this)">{#wpeditimage.s60}</div>
-               </div>
-       </div>
-       <div class="show-align" id="show_align">
-               <img id="img_demo" src="img/image.png" alt="" />
-               <span id="img_demo_txt">
-               Lorem ipsum dolor sit amet consectetuer velit pretium euismod ipsum enim. Mi cursus at a mollis senectus id arcu gravida quis urna. Sed et felis id tempus Morbi mauris tincidunt enim In mauris. Pede eu risus velit libero natoque enim lorem adipiscing ipsum consequat. In malesuada et sociis tincidunt tempus pellentesque cursus convallis ipsum Suspendisse. Risus In ac quis ut Nunc convallis laoreet ante Suspendisse Nam. Amet amet urna condimentum Vestibulum sem at Curabitur lorem et cursus. Sodales tortor fermentum leo dui habitant Nunc Sed Vestibulum.
-               Ut lorem In penatibus libero id ipsum sagittis nec elit Sed. Condimentum eget Vivamus vel consectetuer lorem molestie turpis amet tellus id. Condimentum vel ridiculus Fusce sed pede Nam nunc sodales eros tempor. Sit lacus magna dictumst Curabitur fringilla auctor id vitae wisi facilisi. Fermentum eget turpis felis velit leo Nunc Proin orci molestie Praesent. Curabitur tellus scelerisque suscipit ut sem amet cursus mi Morbi eu. Donec libero Vestibulum augue et mollis accumsan ornare condimentum In enim. Leo eget ac consectetuer quis condimentum malesuada.
-               Condimentum commodo et Lorem fringilla malesuada libero volutpat sem tellus enim. Tincidunt sed at Aenean nec nonummy porttitor Nam Sed Nulla ut. Auctor leo In aliquet Curabitur eros et velit Quisque justo morbi. Et vel mauris sit nulla semper vitae et quis at dui. Id at elit laoreet justo eu mauris Quisque et interdum pharetra. Nullam accumsan interdum Maecenas condimentum quis quis Fusce a sollicitudin Sed. Non Quisque Vivamus congue porttitor non semper ipsum porttitor quis vel. Donec eros lacus volutpat et tincidunt sem convallis id venenatis sit. Consectetuer odio.
-               Semper faucibus Morbi nulla convallis orci Aliquam Sed porttitor et Pellentesque. Venenatis laoreet lorem id a a Morbi augue turpis id semper. Arcu volutpat ac mauris Vestibulum fringilla Aenean condimentum nibh sed id. Sagittis eu lacus orci urna tellus tellus pretium Curabitur dui nunc. Et nibh eu eu nibh adipiscing at lorem Vestibulum adipiscing augue. Magna convallis Phasellus dolor malesuada Curabitur ornare adipiscing tellus Aliquam tempus. Id Aliquam Integer augue Nulla consectetuer ac Donec Curabitur tincidunt et. Id vel Nunc amet lacus dui magna ridiculus penatibus laoreet Duis. Enim sagittis nibh quis Nulla nec laoreet vel Maecenas mattis vel.
-               </span>
-       </div>
-
-       <div id="div_basic">
-       <table id="basic" class="describe">
-               <tbody>
-
-               <tr class="align">
-                       <th valign="top" scope="row" class="label">
-                               <label for="img_align_td">
-                               <span class="alignleft">{#contextmenu.align}</span>
-                               </label>
-                       </th>
-                       <td class="field" id="img_align_td">
-                               <input type="radio" onclick="wpImage.imgAlignCls('alignnone')" name="img_align" id="alignnone" value="alignnone" />
-                               <label for="alignnone" class="align image-align-none-label">{#wpeditimage.none}</label>
-
-                               <input type="radio" onclick="wpImage.imgAlignCls('alignleft')" name="img_align" id="alignleft" value="alignleft" />
-                               <label for="alignleft" class="align image-align-left-label">{#contextmenu.left}</label>
-
-                               <input type="radio" onclick="wpImage.imgAlignCls('aligncenter')" name="img_align" id="aligncenter" value="aligncenter" />
-                               <label for="aligncenter" class="align image-align-center-label">{#contextmenu.center}</label>
-
-                               <input type="radio" onclick="wpImage.imgAlignCls('alignright')" name="img_align" id="alignright" value="alignright" />
-                               <label for="alignright" class="align image-align-right-label">{#contextmenu.right}</label>
-                       </td>
-               </tr>
-
-               <tr>
-                       <th valign="top" scope="row" class="label">
-                               <label for="img_title">
-                               <span class="alignleft">{#wpeditimage.img_title}</span>
-                               </label>
-                       </th>
-                       <td class="field">
-                               <input type="text" id="img_title" name="img_title" value="" aria-required="true" size="60" />
-                       </td>
-               </tr>
-
-               <tr>
-                       <th valign="top" scope="row" class="label">
-                               <label for="img_alt">
-                               <span class="alignleft">{#wpeditimage.alt}</span>
-                               </label>
-                       </th>
-                       <td class="field">
-                               <input type="text" id="img_alt" name="img_alt" value="" size="60" />
-                       </td>
-               </tr>
-
-               <tr id="cap_field">
-                       <th valign="top" scope="row" class="label">
-                               <label for="img_cap">
-                               <span class="alignleft">{#wpeditimage.caption}</span>
-                               </label>
-                       </th>
-                       <td class="field">
-                               <textarea id="img_cap_text"></textarea>
-                       </td>
-               </tr>
-
-               <tr>
-                       <th valign="top" scope="row" class="label">
-                               <label for="link_href">
-                               <span class="alignleft" id="lb_link_href">{#advanced_dlg.link_url}</span>
-                               </label>
-                       </th>
-                       <td class="field">
-                               <input type="text" id="link_href" name="link_href" value="" size="60" /><br />
-                               <input type="button" class="button" onclick="wpImage.I('link_href').value='';" value="{#wpeditimage.none}" />
-                               <input type="button" class="button" id="img_url_current" onclick="wpImage.img_seturl('current')" value="{#wpeditimage.current_link}" />
-                               <input type="button" class="button" id="img_url_img" onclick="wpImage.img_seturl('link')" value="{#wpeditimage.link_to_img}" />
-                               <p class="help">{#wpeditimage.link_help}</p>
-                       </td>
-               </tr>
-       </tbody>
-       </table></div>
-
-       <div id="div_advanced" style="display:none;">
-       <h3>{#wpeditimage.adv_img_settings}</h3>
-       <table id="adv_settings_img" class="describe">
-               <tbody>
-               <tr>
-                       <th valign="top" scope="row" class="label">
-                               <label for="img_src">
-                               <span class="alignleft">{#wpeditimage.source}</span>
-                               <span class="alignright"><abbr title="required" class="required">*</abbr></span>
-                               </label>
-                       </th>
-                       <td class="field">
-                               <input type="text" id="img_src" name="img_src" value="" onblur="wpImage.checkVal(this)" aria-required="true" size="60" />
-                       </td>
-               </tr>
-
-               <tr id="img_dim">
-                       <th valign="top" scope="row" class="label">
-                               <label>
-                               <span class="alignleft">{#wpeditimage.size}</span>
-                               </label>
-                       </th>
-                       <td class="field">
-                               <label for="width">{#wpeditimage.width}</label>
-                               <input type="text" maxlength="5" id="width" name="width"  value="" />
-
-                               <label for="height">{#wpeditimage.height}</label>
-                               <input type="text" maxlength="5" id="height" name="height" value="" />
-
-                               <input type="button" class="button" id="orig_size" name="orig_size" value="{#wpeditimage.orig_size}" onclick="wpImage.origSize();" />
-                       </td>
-               </tr>
-
-               <tr>
-                       <th valign="top" scope="row" class="label">
-                               <label for="img_classes">
-                               <span class="alignleft">{#wpeditimage.css}</span>
-                               </label>
-                       </th>
-                       <td class="field">
-                               <input type="text" id="img_classes" name="img_classes" value="" size="60" />
-                       </td>
-               </tr>
-
-               <tr>
-                       <th valign="top" scope="row" class="label">
-                               <label for="img_style">
-                               <span class="alignleft">{#advanced.style_select}</span>
-                               </label>
-                       </th>
-                       <td class="field">
-                               <input type="text" id="img_style" name="img_style" value="" size="60" onblur="wpImage.demoSetStyle();" />
-                       </td>
-               </tr>
-
-               <tr id="img_prop">
-                       <th valign="top" scope="row" class="label">
-                               <label for="img_prop">
-                                       <span class="alignleft">{#advanced.image_props_desc}</span>
-                               </label>
-                       </th>
-                       <td class="field">
-                               <label for="border">{#advanced_dlg.image_border}</label>
-                               <input type="text" maxlength="5" id="border" name="border" value="" onblur="wpImage.updateStyle('border')" />
-
-                               <label for="vspace">{#advanced_dlg.image_vspace}</label>
-                               <input type="text" maxlength="5" id="vspace" name="vspace" value="" onblur="wpImage.updateStyle('vspace')" />
-
-                               <label for="hspace">{#advanced_dlg.image_hspace}</label>
-                               <input type="text" maxlength="5" id="hspace" name="hspace" value="" onblur="wpImage.updateStyle('hspace')" />
-                       </td>
-               </tr>
-               </tbody>
-       </table>
-
-       <h3>{#wpeditimage.adv_link_settings}</h3>
-       <table id="adv_settings_link" class="describe">
-               <tbody>
-               <tr>
-                       <th valign="top" scope="row" class="label">
-                               <label for="link_title">
-                               <span class="alignleft">{#advanced_dlg.link_titlefield}</span>
-                               </label>
-                       </th>
-                       <td class="field">
-                               <input type="text" id="link_title" name="link_title" value="" size="60" />
-                       </td>
-               </tr>
-
-               <tr>
-                       <th valign="top" scope="row" class="label">
-                               <label for="link_rel">
-                               <span class="alignleft">{#wpeditimage.link_rel}</span>
-                               </label>
-                       </th>
-                       <td class="field">
-                               <input type="text" id="link_rel" name="link_rel" value="" size="60" />
-                       </td>
-               </tr>
-
-               <tr>
-                       <th valign="top" scope="row" class="label">
-                               <label for="link_classes">
-                               <span class="alignleft">{#wpeditimage.css}</span>
-                               </label>
-                       </th>
-                       <td class="field">
-                               <input type="text" id="link_classes" name="link_classes" value="" size="60" />
-                       </td>
-               </tr>
-
-               <tr>
-                       <th valign="top" scope="row" class="label">
-                               <label for="link_style">
-                               <span class="alignleft">{#advanced.style_select}</span>
-                               </label>
-                       </th>
-                       <td class="field">
-                               <input type="text" id="link_style" name="link_style" value="" size="60" />
-                       </td>
-               </tr>
-
-               <tr>
-                       <th valign="top" scope="row" class="label">
-                               <label>
-                               <span class="alignleft">{#advanced_dlg.link_target}</span>
-                               </label>
-                       </th>
-                       <td class="field">
-                               <label for="link_target">
-                               {#advanced_dlg.link_target_blank}
-                               </label>
-                               <input type="checkbox" id="link_target" name="link_target" value="_blank" />
-                       </td>
-               </tr>
-               </tbody>
-       </table></div>
-
-       <div id="saveeditimg">
-               <input type="hidden" id="align" name="align" value="" />
-
-               <input type="submit" id="saveimg" class="button" value="{#update}" />
-               <input type="button" class="button" id="cancelimg" name="cancelimg" value="{#cancel}" onclick="tinyMCEPopup.close();" />
-       </div>
-</form>
-</div>
-
-</body>
-</html>
diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.js b/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.js
deleted file mode 100644 (file)
index c762834..0000000
+++ /dev/null
@@ -1 +0,0 @@
-!function(){var a={};tinymce.create("tinymce.plugins.wpEditImage",{url:"",editor:{},init:function(b,c){var d=this;d.url=c,d.editor=b,d._createButtons(),b.addCommand("WP_EditImage",d._editImage),b.onInit.add(function(a){a.dom.events.add(a.getBody(),"mousedown",function(b){var c;"IMG"==b.target.nodeName&&(c=a.dom.getParent(b.target,"div.mceTemp"))&&(tinymce.isGecko?a.selection.select(c):tinymce.isWebKit&&a.dom.events.prevent(b))}),a.dom.events.add(a.getBody(),"keydown",function(b){var c,d,e,f;return 13==b.keyCode&&(c=a.selection.getNode(),d=a.dom.getParent(c,"dl.wp-caption"),d&&(e=a.dom.getParent(d,"div.mceTemp")),e)?(a.dom.events.cancel(b),f=a.dom.create("p",{},""),a.dom.insertAfter(f,e),a.selection.setCursorLocation(f,0),!1):void 0}),"ontouchstart"in window&&a.dom.events.add(a.getBody(),"touchstart",function(a){d._showButtons(a)})}),b.onMouseUp.add(function(b,c){if(!tinymce.isWebKit&&!tinymce.isOpera){if(a.x&&(c.clientX!=a.x||c.clientY!=a.y)){var d=b.selection.getNode();"IMG"==d.nodeName&&window.setTimeout(function(){var c,e=b.dom.getParent(d,"dl.wp-caption");(d.width!=a.img_w||d.height!=a.img_h)&&(d.className=d.className.replace(/size-[^ "']+/,"")),e&&(c=b.dom.getAttrib(d,"width")||d.width,c=parseInt(c,10),b.dom.setStyle(e,"width",10+c),b.execCommand("mceRepaint"))},100)}a={}}}),b.onMouseDown.add(function(a,b){d._showButtons(b)}),b.onBeforeSetContent.add(function(a,b){b.content=a.wpSetImgCaption(b.content)}),b.onPostProcess.add(function(a,b){b.get&&(b.content=a.wpGetImgCaption(b.content))}),b.wpSetImgCaption=function(a){return d._do_shcode(a)},b.wpGetImgCaption=function(a){return d._get_shcode(a)},b.onBeforeExecCommand.add(function(a,b){var c,d;if("mceInsertContent"==b){if(c=a.dom.getParent(a.selection.getNode(),"div.mceTemp"),!c)return;d=a.dom.create("p"),a.dom.insertAfter(d,c),a.selection.setCursorLocation(d,0)}})},_do_shcode:function(a){return a.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(a,b,c){var d,e,f,g,h,i,j=tinymce.trim;return d=b.match(/id=['"]([^'"]*)['"] ?/),d&&(b=b.replace(d[0],"")),e=b.match(/align=['"]([^'"]*)['"] ?/),e&&(b=b.replace(e[0],"")),f=b.match(/width=['"]([0-9]*)['"] ?/),f&&(b=b.replace(f[0],"")),c=j(c),i=c.match(/((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)([\s\S]*)/i),i&&i[2]?(g=j(i[2]),i=j(i[1])):(g=j(b).replace(/caption=['"]/,"").replace(/['"]$/,""),i=c),d=d&&d[1]?d[1]:"",e=e&&e[1]?e[1]:"alignnone",f=f&&f[1]?f[1]:"",f&&g?(h="mceTemp","aligncenter"==e&&(h+=" mceIEcenter"),f=parseInt(f,10)+10,'<div class="'+h+'"><dl id="'+d+'" class="wp-caption '+e+'" style="width: '+f+'px"><dt class="wp-caption-dt">'+i+'</dt><dd class="wp-caption-dd">'+g+"</dd></dl></div>"):c})},_get_shcode:function(a){return a.replace(/<div (?:id="attachment_|class="mceTemp)[^>]*>([\s\S]+?)<\/div>/g,function(a,b){var c=b.replace(/<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>/gi,function(a,b,c,d){var e,f,g;return g=c.match(/width="([0-9]*)"/),g=g&&g[1]?g[1]:"",g&&d?(e=b.match(/id="([^"]*)"/),e=e&&e[1]?e[1]:"",f=b.match(/class="([^"]*)"/),f=f&&f[1]?f[1]:"",f=f.match(/align[a-z]+/)||"alignnone",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="'+f+'" width="'+g+'"]'+c+" "+d+"[/caption]"):c});return 0!==c.indexOf("[caption")&&(c=b.replace(/[\s\S]*?((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)(<p>[\s\S]*<\/p>)?[\s\S]*/gi,"<p>$1</p>$2")),c})},_createButtons:function(){var a,b,c,d=this,e=tinymce.activeEditor,f=tinymce.DOM;f.get("wp_editbtns")||(c=window.devicePixelRatio&&window.devicePixelRatio>1||window.matchMedia&&window.matchMedia("(min-resolution:130dpi)").matches,f.add(document.body,"div",{id:"wp_editbtns",style:"display:none;"}),a=f.add("wp_editbtns","img",{src:c?d.url+"/img/image-2x.png":d.url+"/img/image.png",id:"wp_editimgbtn",width:"24",height:"24",title:e.getLang("wpeditimage.edit_img")}),tinymce.dom.Event.add(a,"mousedown",function(){d._editImage(),e.plugins.wordpress._hideButtons()}),b=f.add("wp_editbtns","img",{src:c?d.url+"/img/delete-2x.png":d.url+"/img/delete.png",id:"wp_delimgbtn",width:"24",height:"24",title:e.getLang("wpeditimage.del_img")}),tinymce.dom.Event.add(b,"mousedown",function(){var a,b=tinymce.activeEditor,c=b.selection.getNode();return"IMG"==c.nodeName&&-1==b.dom.getAttrib(c,"class").indexOf("mceItem")?((a=b.dom.getParent(c,"div"))&&b.dom.hasClass(a,"mceTemp")?b.dom.remove(a):("A"==c.parentNode.nodeName&&1==c.parentNode.childNodes.length&&(c=c.parentNode),"P"==c.parentNode.nodeName&&1==c.parentNode.childNodes.length&&(c=c.parentNode),b.dom.remove(c)),b.execCommand("mceRepaint"),!1):(b.plugins.wordpress._hideButtons(),void 0)}))},_editImage:function(){var a,b,c,d=tinymce.activeEditor,e=this.url,f=d.selection.getNode(),g=f.className;-1==g.indexOf("mceItem")&&-1==g.indexOf("wpGallery")&&"IMG"==f.nodeName&&(a=tinymce.DOM.getViewPort(),b=680<a.h-70?680:a.h-70,c=650<a.w?650:a.w,d.windowManager.open({file:e+"/editimage.html",width:c+"px",height:b+"px",inline:!0}))},_showButtons:function(b){var c=this.editor,d=b.target;if("IMG"!=d.nodeName){if(!d.firstChild||"IMG"!=d.firstChild.nodeName||1!=d.childNodes.length)return c.plugins.wordpress._hideButtons(),void 0;d=d.firstChild}-1==c.dom.getAttrib(d,"class").indexOf("mceItem")&&(a={x:b.clientX,y:b.clientY,img_w:d.clientWidth,img_h:d.clientHeight},"touchstart"==b.type&&(c.selection.select(d),c.dom.events.cancel(b)),c.plugins.wordpress._hideButtons(),c.plugins.wordpress._showButtons(d,"wp_editbtns"))},getInfo:function(){return{longname:"Edit Image",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}}),tinymce.PluginManager.add("wpeditimage",tinymce.plugins.wpEditImage)}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js b/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js
deleted file mode 100644 (file)
index e99c307..0000000
+++ /dev/null
@@ -1,328 +0,0 @@
-/* global tinymce */
-(function() {
-       var mouse = {};
-
-       tinymce.create('tinymce.plugins.wpEditImage', {
-               url: '',
-               editor: {},
-
-               init: function(ed, url) {
-                       var t = this;
-
-                       t.url = url;
-                       t.editor = ed;
-                       t._createButtons();
-
-                       ed.addCommand('WP_EditImage', t._editImage);
-
-                       ed.onInit.add(function(ed) {
-                               ed.dom.events.add(ed.getBody(), 'mousedown', function(e) {
-                                       var parent;
-
-                                       if ( e.target.nodeName == 'IMG' && ( parent = ed.dom.getParent(e.target, 'div.mceTemp') ) ) {
-                                               if ( tinymce.isGecko )
-                                                       ed.selection.select(parent);
-                                               else if ( tinymce.isWebKit )
-                                                       ed.dom.events.prevent(e);
-                                       }
-                               });
-
-                               // when pressing Return inside a caption move the caret to a new parapraph under it
-                               ed.dom.events.add(ed.getBody(), 'keydown', function(e) {
-                                       var n, DL, DIV, P;
-
-                                       if ( e.keyCode == 13 ) {
-                                               n = ed.selection.getNode();
-                                               DL = ed.dom.getParent(n, 'dl.wp-caption');
-
-                                               if ( DL )
-                                                       DIV = ed.dom.getParent(DL, 'div.mceTemp');
-
-                                               if ( DIV ) {
-                                                       ed.dom.events.cancel(e);
-                                                       P = ed.dom.create('p', {}, '\uFEFF');
-                                                       ed.dom.insertAfter( P, DIV );
-                                                       ed.selection.setCursorLocation(P, 0);
-                                                       return false;
-                                               }
-                                       }
-                               });
-
-                               // iOS6 doesn't show the buttons properly on click, show them on 'touchstart'
-                               if ( 'ontouchstart' in window ) {
-                                       ed.dom.events.add(ed.getBody(), 'touchstart', function(e){
-                                               t._showButtons(e);
-                                       });
-                               }
-                       });
-
-                       // resize the caption <dl> when the image is soft-resized by the user
-                       ed.onMouseUp.add(function(ed, e) {
-                               if ( tinymce.isWebKit || tinymce.isOpera )
-                                       return;
-
-                               if ( mouse.x && (e.clientX != mouse.x || e.clientY != mouse.y) ) {
-                                       var n = ed.selection.getNode();
-
-                                       if ( 'IMG' == n.nodeName ) {
-                                               window.setTimeout(function(){
-                                                       var DL = ed.dom.getParent(n, 'dl.wp-caption'), width;
-
-                                                       if ( n.width != mouse.img_w || n.height != mouse.img_h )
-                                                               n.className = n.className.replace(/size-[^ "']+/, '');
-
-                                                       if ( DL ) {
-                                                               width = ed.dom.getAttrib(n, 'width') || n.width;
-                                                               width = parseInt(width, 10);
-                                                               ed.dom.setStyle(DL, 'width', 10 + width);
-                                                               ed.execCommand('mceRepaint');
-                                                       }
-                                               }, 100);
-                                       }
-                               }
-                               mouse = {};
-                       });
-
-                       // show editimage buttons
-                       ed.onMouseDown.add(function(ed, e){
-                               t._showButtons(e);
-                       });
-
-                       ed.onBeforeSetContent.add(function(ed, o) {
-                               o.content = ed.wpSetImgCaption(o.content);
-                       });
-
-                       ed.onPostProcess.add(function(ed, o) {
-                               if (o.get)
-                                       o.content = ed.wpGetImgCaption(o.content);
-                       });
-
-                       ed.wpSetImgCaption = function(content) {
-                               return t._do_shcode(content);
-                       };
-
-                       ed.wpGetImgCaption = function(content) {
-                               return t._get_shcode(content);
-                       };
-
-                       // When inserting content, if the caret is inside a caption create new paragraph under
-                       // and move the caret there
-                       ed.onBeforeExecCommand.add( function( ed, cmd ) {
-                               var node, p;
-
-                               if ( cmd == 'mceInsertContent' ) {
-                                       node = ed.dom.getParent(ed.selection.getNode(), 'div.mceTemp');
-
-                                       if ( !node )
-                                               return;
-
-                                       p = ed.dom.create('p');
-                                       ed.dom.insertAfter( p, node );
-                                       ed.selection.setCursorLocation(p, 0);
-                               }
-                       });
-               },
-
-               _do_shcode : function(content) {
-                       return content.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g, function(a,b,c){
-                               var id, cls, w, cap, div_cls, img, trim = tinymce.trim;
-
-                               id = b.match(/id=['"]([^'"]*)['"] ?/);
-                               if ( id )
-                                       b = b.replace(id[0], '');
-
-                               cls = b.match(/align=['"]([^'"]*)['"] ?/);
-                               if ( cls )
-                                       b = b.replace(cls[0], '');
-
-                               w = b.match(/width=['"]([0-9]*)['"] ?/);
-                               if ( w )
-                                       b = b.replace(w[0], '');
-
-                               c = trim(c);
-                               img = c.match(/((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)([\s\S]*)/i);
-
-                               if ( img && img[2] ) {
-                                       cap = trim( img[2] );
-                                       img = trim( img[1] );
-                               } else {
-                                       // old captions shortcode style
-                                       cap = trim(b).replace(/caption=['"]/, '').replace(/['"]$/, '');
-                                       img = c;
-                               }
-
-                               id = ( id && id[1] ) ? id[1] : '';
-                               cls = ( cls && cls[1] ) ? cls[1] : 'alignnone';
-                               w = ( w && w[1] ) ? w[1] : '';
-
-                               if ( !w || !cap )
-                                       return c;
-
-                               div_cls = 'mceTemp';
-                               if ( cls == 'aligncenter' )
-                                       div_cls += ' mceIEcenter';
-
-                               w = parseInt( w, 10 ) + 10;
-                               return '<div class="'+div_cls+'"><dl id="'+id+'" class="wp-caption '+cls+'" style="width: '+w+
-                               'px"><dt class="wp-caption-dt">'+img+'</dt><dd class="wp-caption-dd">'+cap+'</dd></dl></div>';
-                       });
-               },
-
-               _get_shcode : function(content) {
-                       return content.replace(/<div (?:id="attachment_|class="mceTemp)[^>]*>([\s\S]+?)<\/div>/g, function(a, b){
-                               var ret = b.replace(/<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>/gi, function(a,b,c,cap){
-                                       var id, cls, w;
-
-                                       w = c.match(/width="([0-9]*)"/);
-                                       w = ( w && w[1] ) ? w[1] : '';
-
-                                       if ( !w || !cap )
-                                               return c;
-
-                                       id = b.match(/id="([^"]*)"/);
-                                       id = ( id && id[1] ) ? id[1] : '';
-
-                                       cls = b.match(/class="([^"]*)"/);
-                                       cls = ( cls && cls[1] ) ? cls[1] : '';
-                                       cls = cls.match(/align[a-z]+/) || 'alignnone';
-
-                                       cap = cap.replace(/\r\n|\r/g, '\n').replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g, function(a){
-                                               // no line breaks inside HTML tags
-                                               return a.replace(/[\r\n\t]+/, ' ');
-                                       });
-
-                                       // convert remaining line breaks to <br>
-                                       cap = cap.replace(/\s*\n\s*/g, '<br />');
-
-                                       return '[caption id="'+id+'" align="'+cls+'" width="'+w+'"]'+c+' '+cap+'[/caption]';
-                               });
-
-                               if ( ret.indexOf('[caption') !== 0 ) {
-                                       // the caption html seems brocken, try to find the image that may be wrapped in a link
-                                       // and may be followed by <p> with the caption text.
-                                       ret = b.replace(/[\s\S]*?((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)(<p>[\s\S]*<\/p>)?[\s\S]*/gi, '<p>$1</p>$2');
-                               }
-
-                               return ret;
-                       });
-               },
-
-               _createButtons : function() {
-                       var t = this, ed = tinymce.activeEditor, DOM = tinymce.DOM, editButton, dellButton, isRetina;
-
-                       if ( DOM.get('wp_editbtns') )
-                               return;
-
-                       isRetina = ( window.devicePixelRatio && window.devicePixelRatio > 1 ) || // WebKit, Opera
-                               ( window.matchMedia && window.matchMedia('(min-resolution:130dpi)').matches ); // Firefox, IE10, Opera
-
-                       DOM.add(document.body, 'div', {
-                               id : 'wp_editbtns',
-                               style : 'display:none;'
-                       });
-
-                       editButton = DOM.add('wp_editbtns', 'img', {
-                               src : isRetina ? t.url+'/img/image-2x.png' : t.url+'/img/image.png',
-                               id : 'wp_editimgbtn',
-                               width : '24',
-                               height : '24',
-                               title : ed.getLang('wpeditimage.edit_img')
-                       });
-
-                       tinymce.dom.Event.add(editButton, 'mousedown', function() {
-                               t._editImage();
-                               ed.plugins.wordpress._hideButtons();
-                       });
-
-                       dellButton = DOM.add('wp_editbtns', 'img', {
-                               src : isRetina ? t.url+'/img/delete-2x.png' : t.url+'/img/delete.png',
-                               id : 'wp_delimgbtn',
-                               width : '24',
-                               height : '24',
-                               title : ed.getLang('wpeditimage.del_img')
-                       });
-
-                       tinymce.dom.Event.add(dellButton, 'mousedown', function() {
-                               var ed = tinymce.activeEditor, el = ed.selection.getNode(), parent;
-
-                               if ( el.nodeName == 'IMG' && ed.dom.getAttrib(el, 'class').indexOf('mceItem') == -1 ) {
-                                       if ( (parent = ed.dom.getParent(el, 'div')) && ed.dom.hasClass(parent, 'mceTemp') ) {
-                                               ed.dom.remove(parent);
-                                       } else {
-                                               if ( el.parentNode.nodeName == 'A' && el.parentNode.childNodes.length == 1 )
-                                                       el = el.parentNode;
-
-                                               if ( el.parentNode.nodeName == 'P' && el.parentNode.childNodes.length == 1 )
-                                                       el = el.parentNode;
-
-                                               ed.dom.remove(el);
-                                       }
-
-                                       ed.execCommand('mceRepaint');
-                                       return false;
-                               }
-                               ed.plugins.wordpress._hideButtons();
-                       });
-               },
-               
-               _editImage : function() {
-                       var ed = tinymce.activeEditor, url = this.url, el = ed.selection.getNode(), vp, H, W, cls = el.className;
-
-                       if ( cls.indexOf('mceItem') != -1 || cls.indexOf('wpGallery') != -1 || el.nodeName != 'IMG' )
-                               return;
-
-                       vp = tinymce.DOM.getViewPort();
-                       H = 680 < (vp.h - 70) ? 680 : vp.h - 70;
-                       W = 650 < vp.w ? 650 : vp.w;
-
-                       ed.windowManager.open({
-                               file: url + '/editimage.html',
-                               width: W+'px',
-                               height: H+'px',
-                               inline: true
-                       });
-               },
-
-               _showButtons : function(e) {
-                       var ed = this.editor, target = e.target;
-
-                       if ( target.nodeName != 'IMG' ) {
-                               if ( target.firstChild && target.firstChild.nodeName == 'IMG' && target.childNodes.length == 1 ) {
-                                       target = target.firstChild;
-                               } else {
-                                       ed.plugins.wordpress._hideButtons();
-                                       return;
-                               }
-                       }
-
-                       if ( ed.dom.getAttrib(target, 'class').indexOf('mceItem') == -1 ) {
-                               mouse = {
-                                       x: e.clientX,
-                                       y: e.clientY,
-                                       img_w: target.clientWidth,
-                                       img_h: target.clientHeight
-                               };
-
-                               if ( e.type == 'touchstart' ) {
-                                       ed.selection.select(target);
-                                       ed.dom.events.cancel(e);
-                               }
-
-                               ed.plugins.wordpress._hideButtons();
-                               ed.plugins.wordpress._showButtons(target, 'wp_editbtns');
-                       }
-               },
-
-               getInfo : function() {
-                       return {
-                               longname : 'Edit Image',
-                               author : 'WordPress',
-                               authorurl : 'http://wordpress.org',
-                               infourl : '',
-                               version : '1.0'
-                       };
-               }
-       });
-
-       tinymce.PluginManager.add('wpeditimage', tinymce.plugins.wpEditImage);
-})();
diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/img/delete-2x.png b/wp-includes/js/tinymce/plugins/wpeditimage/img/delete-2x.png
deleted file mode 100644 (file)
index 859d853..0000000
Binary files a/wp-includes/js/tinymce/plugins/wpeditimage/img/delete-2x.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/img/delete.png b/wp-includes/js/tinymce/plugins/wpeditimage/img/delete.png
deleted file mode 100644 (file)
index fe537f0..0000000
Binary files a/wp-includes/js/tinymce/plugins/wpeditimage/img/delete.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/img/image-2x.png b/wp-includes/js/tinymce/plugins/wpeditimage/img/image-2x.png
deleted file mode 100644 (file)
index b3843ce..0000000
Binary files a/wp-includes/js/tinymce/plugins/wpeditimage/img/image-2x.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/img/image.png b/wp-includes/js/tinymce/plugins/wpeditimage/img/image.png
deleted file mode 100644 (file)
index ee6f075..0000000
Binary files a/wp-includes/js/tinymce/plugins/wpeditimage/img/image.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js b/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js
deleted file mode 100644 (file)
index e00ca2b..0000000
+++ /dev/null
@@ -1,613 +0,0 @@
-
-var tinymce = null, tinyMCEPopup, tinyMCE, wpImage;
-
-tinyMCEPopup = {
-       init: function() {
-               var t = this, w, ti;
-
-               // Find window & API
-               w = t.getWin();
-               tinymce = w.tinymce;
-               tinyMCE = w.tinyMCE;
-               t.editor = tinymce.EditorManager.activeEditor;
-               t.params = t.editor.windowManager.params;
-               t.features = t.editor.windowManager.features;
-
-               // Setup local DOM
-               t.dom = t.editor.windowManager.createInstance('tinymce.dom.DOMUtils', document);
-               t.editor.windowManager.onOpen.dispatch(t.editor.windowManager, window);
-       },
-
-       getWin : function() {
-               return (!window.frameElement && window.dialogArguments) || opener || parent || top;
-       },
-
-       getParam : function(n, dv) {
-               return this.editor.getParam(n, dv);
-       },
-
-       close : function() {
-               var t = this;
-
-               // To avoid domain relaxing issue in Opera
-               function close() {
-                       t.editor.windowManager.close(window);
-                       tinymce = tinyMCE = t.editor = t.params = t.dom = t.dom.doc = null; // Cleanup
-               };
-
-               if (tinymce.isOpera)
-                       t.getWin().setTimeout(close, 0);
-               else
-                       close();
-       },
-
-       execCommand : function(cmd, ui, val, a) {
-               a = a || {};
-               a.skip_focus = 1;
-
-               this.restoreSelection();
-               return this.editor.execCommand(cmd, ui, val, a);
-       },
-
-       storeSelection : function() {
-               this.editor.windowManager.bookmark = tinyMCEPopup.editor.selection.getBookmark(1);
-       },
-
-       restoreSelection : function() {
-               var t = tinyMCEPopup;
-
-               if ( tinymce.isIE )
-                       t.editor.selection.moveToBookmark(t.editor.windowManager.bookmark);
-       }
-}
-tinyMCEPopup.init();
-
-wpImage = {
-       preInit : function() {
-               // import colors stylesheet from parent
-               var ed = tinyMCEPopup.editor, win = tinyMCEPopup.getWin(), styles = win.document.styleSheets, url, i;
-
-               for ( i = 0; i < styles.length; i++ ) {
-                       url = styles.item(i).href;
-                       if ( url && url.indexOf('colors') != -1 ) {
-                               document.getElementsByTagName('head')[0].appendChild( ed.dom.create('link', {rel:'stylesheet', href: url}) );
-                               break;
-                       }
-               }
-       },
-
-       I : function(e) {
-               return document.getElementById(e);
-       },
-
-       current : '',
-       link : '',
-       link_rel : '',
-       target_value : '',
-       current_size_sel : 's100',
-       width : '',
-       height : '',
-       align : '',
-       img_alt : '',
-
-       setTabs : function(tab) {
-               var t = this;
-
-               if ( 'current' == tab.className ) return false;
-               t.I('div_advanced').style.display = ( 'tab_advanced' == tab.id ) ? 'block' : 'none';
-               t.I('div_basic').style.display = ( 'tab_basic' == tab.id ) ? 'block' : 'none';
-               t.I('tab_basic').className = t.I('tab_advanced').className = '';
-               tab.className = 'current';
-               return false;
-       },
-
-       img_seturl : function(u) {
-               var t = this, rel = t.I('link_rel').value;
-
-               if ( 'current' == u ) {
-                       t.I('link_href').value = t.current;
-                       t.I('link_rel').value = t.link_rel;
-               } else {
-                       t.I('link_href').value = t.link;
-                       if ( rel ) {
-                               rel = rel.replace( /attachment|wp-att-[0-9]+/gi, '' );
-                               t.I('link_rel').value = tinymce.trim(rel);
-                       }
-               }
-       },
-
-       imgAlignCls : function(v) {
-               var t = this, cls = t.I('img_classes').value;
-
-               t.I('img_demo').className = t.align = v;
-
-               cls = cls.replace( /align[^ "']+/gi, '' );
-               cls += (' ' + v);
-               cls = cls.replace( /\s+/g, ' ' ).replace( /^\s/, '' );
-
-               if ( 'aligncenter' == v ) {
-                       t.I('hspace').value = '';
-                       t.updateStyle('hspace');
-               }
-
-               t.I('img_classes').value = cls;
-       },
-
-       showSize : function(el) {
-               var t = this, demo = t.I('img_demo'), w = t.width, h = t.height, id = el.id || 's100', size;
-
-               size = parseInt(id.substring(1)) / 200;
-               demo.width = Math.round(w * size);
-               demo.height = Math.round(h * size);
-
-               t.showSizeClear();
-               el.style.borderColor = '#A3A3A3';
-               el.style.backgroundColor = '#E5E5E5';
-       },
-
-       showSizeSet : function() {
-               var t = this, s130, s120, s110;
-
-               if ( (t.width * 1.3) > parseInt(t.preloadImg.width) ) {
-                       s130 = t.I('s130'), s120 = t.I('s120'), s110 = t.I('s110');
-
-                       s130.onclick = s120.onclick = s110.onclick = null;
-                       s130.onmouseover = s120.onmouseover = s110.onmouseover = null;
-                       s130.style.color = s120.style.color = s110.style.color = '#aaa';
-               }
-       },
-
-       showSizeRem : function() {
-               var t = this, demo = t.I('img_demo'), f = document.forms[0];
-
-               demo.width = Math.round(f.width.value * 0.5);
-               demo.height = Math.round(f.height.value * 0.5);
-               t.showSizeClear();
-               t.I(t.current_size_sel).style.borderColor = '#A3A3A3';
-               t.I(t.current_size_sel).style.backgroundColor = '#E5E5E5';
-
-               return false;
-       },
-
-       showSizeClear : function() {
-               var divs = this.I('img_size').getElementsByTagName('div'), i;
-
-               for ( i = 0; i < divs.length; i++ ) {
-                       divs[i].style.borderColor = '#f1f1f1';
-                       divs[i].style.backgroundColor = '#f1f1f1';
-               }
-       },
-
-       imgEditSize : function(el) {
-               var t = this, f = document.forms[0], W, H, w, h, id;
-
-               if ( ! t.preloadImg || ! t.preloadImg.width || ! t.preloadImg.height )
-                       return;
-               
-               W = parseInt(t.preloadImg.width), H = parseInt(t.preloadImg.height), w = t.width || W, h = t.height || H, id = el.id || 's100';
-
-               size = parseInt(id.substring(1)) / 100;
-
-               w = Math.round(w * size);
-               h = Math.round(h * size);
-
-               f.width.value = Math.min(W, w);
-               f.height.value = Math.min(H, h);
-
-               t.current_size_sel = id;
-               t.demoSetSize();
-       },
-
-       demoSetSize : function(img) {
-               var demo = this.I('img_demo'), f = document.forms[0];
-
-               demo.width = f.width.value ? Math.round(f.width.value * 0.5) : '';
-               demo.height = f.height.value ? Math.round(f.height.value * 0.5) : '';
-       },
-
-       demoSetStyle : function() {
-               var f = document.forms[0], demo = this.I('img_demo'), dom = tinyMCEPopup.editor.dom;
-
-               if (demo) {
-                       dom.setAttrib(demo, 'style', f.img_style.value);
-                       dom.setStyle(demo, 'width', '');
-                       dom.setStyle(demo, 'height', '');
-               }
-       },
-
-       origSize : function() {
-               var t = this, f = document.forms[0], el = t.I('s100');
-
-               f.width.value = t.width = t.preloadImg.width;
-               f.height.value = t.height = t.preloadImg.height;
-               t.showSizeSet();
-               t.demoSetSize();
-               t.showSize(el);
-       },
-
-       init : function() {
-               var ed = tinyMCEPopup.editor, h;
-
-               h = document.body.innerHTML;
-               document.body.innerHTML = ed.translate(h);
-               window.setTimeout( function(){wpImage.setup();}, 500 );
-       },
-
-       setup : function() {
-               var t = this, c, el, link, fname, f = document.forms[0], ed = tinyMCEPopup.editor,
-                       d = t.I('img_demo'), dom = tinyMCEPopup.dom, DL, DD, caption = '', dlc, pa;
-
-               document.dir = tinyMCEPopup.editor.getParam('directionality','');
-
-               if ( tinyMCEPopup.editor.getParam('wpeditimage_disable_captions', false) )
-                       t.I('cap_field').style.display = 'none';
-
-               tinyMCEPopup.restoreSelection();
-               el = ed.selection.getNode();
-               if (el.nodeName != 'IMG')
-                       return;
-
-               f.img_src.value = d.src = link = ed.dom.getAttrib(el, 'src');
-               ed.dom.setStyle(el, 'float', '');
-               t.getImageData();
-               c = ed.dom.getAttrib(el, 'class');
-
-               if ( DL = dom.getParent(el, 'dl') ) {
-                       dlc = ed.dom.getAttrib(DL, 'class');
-                       dlc = dlc.match(/align[^ "']+/i);
-                       if ( dlc && ! dom.hasClass(el, dlc) ) {
-                               c += ' '+dlc;
-                               tinymce.trim(c);
-                       }
-
-                       DD = ed.dom.select('dd.wp-caption-dd', DL);
-                       if ( DD && DD[0] )
-                               caption = ed.serializer.serialize(DD[0]).replace(/^<p>/, '').replace(/<\/p>$/, '');
-               }
-
-               f.img_cap_text.value = caption;
-               f.img_title.value = ed.dom.getAttrib(el, 'title');
-               f.img_alt.value = ed.dom.getAttrib(el, 'alt');
-               f.border.value = ed.dom.getAttrib(el, 'border');
-               f.vspace.value = ed.dom.getAttrib(el, 'vspace');
-               f.hspace.value = ed.dom.getAttrib(el, 'hspace');
-               f.align.value = ed.dom.getAttrib(el, 'align');
-               f.width.value = t.width = ed.dom.getAttrib(el, 'width');
-               f.height.value = t.height = ed.dom.getAttrib(el, 'height');
-               f.img_classes.value = c;
-               f.img_style.value = ed.dom.getAttrib(el, 'style');
-
-               // Move attribs to styles
-               if ( dom.getAttrib(el, 'hspace') )
-                       t.updateStyle('hspace');
-
-               if ( dom.getAttrib(el, 'border') )
-                       t.updateStyle('border');
-
-               if ( dom.getAttrib(el, 'vspace') )
-                       t.updateStyle('vspace');
-
-               if ( pa = ed.dom.getParent(el, 'A') ) {
-                       f.link_href.value = t.current = ed.dom.getAttrib(pa, 'href');
-                       f.link_title.value = ed.dom.getAttrib(pa, 'title');
-                       f.link_rel.value = t.link_rel = ed.dom.getAttrib(pa, 'rel');
-                       f.link_style.value = ed.dom.getAttrib(pa, 'style');
-                       t.target_value = ed.dom.getAttrib(pa, 'target');
-                       f.link_classes.value = ed.dom.getAttrib(pa, 'class');
-               }
-
-               f.link_target.checked = ( t.target_value && t.target_value == '_blank' ) ? 'checked' : '';
-
-               fname = link.substring( link.lastIndexOf('/') );
-               fname = fname.replace(/-[0-9]{2,4}x[0-9]{2,4}/, '' );
-               t.link = link.substring( 0, link.lastIndexOf('/') ) + fname;
-
-               if ( c.indexOf('alignleft') != -1 ) {
-                       t.I('alignleft').checked = "checked";
-                       d.className = t.align = "alignleft";
-               } else if ( c.indexOf('aligncenter') != -1 ) {
-                       t.I('aligncenter').checked = "checked";
-                       d.className = t.align = "aligncenter";
-               } else if ( c.indexOf('alignright') != -1 ) {
-                       t.I('alignright').checked = "checked";
-                       d.className = t.align = "alignright";
-               } else if ( c.indexOf('alignnone') != -1 ) {
-                       t.I('alignnone').checked = "checked";
-                       d.className = t.align = "alignnone";
-               }
-
-               if ( t.width && t.preloadImg.width )
-                       t.showSizeSet();
-               
-               document.body.style.display = '';
-       },
-
-       remove : function() {
-               var ed = tinyMCEPopup.editor, p, el;
-
-               tinyMCEPopup.restoreSelection();
-               el = ed.selection.getNode();
-               if (el.nodeName != 'IMG') return;
-
-               if ( (p = ed.dom.getParent(el, 'div')) && ed.dom.hasClass(p, 'mceTemp') )
-                       ed.dom.remove(p);
-               else if ( (p = ed.dom.getParent(el, 'A')) && p.childNodes.length == 1 )
-                       ed.dom.remove(p);
-               else ed.dom.remove(el);
-
-               ed.execCommand('mceRepaint');
-               tinyMCEPopup.close();
-               return;
-       },
-
-       update : function() {
-               var t = this, f = document.forms[0], ed = tinyMCEPopup.editor, el, b, fixSafari = null,
-                       DL, P, A, DIV, do_caption = null, img_class = f.img_classes.value, html,
-                       id, cap_id = '', cap, DT, DD, cap_width, div_cls, lnk = '', pa, aa, caption;
-
-               tinyMCEPopup.restoreSelection();
-               el = ed.selection.getNode();
-
-               if (el.nodeName != 'IMG') return;
-               if (f.img_src.value === '') {
-                       t.remove();
-                       return;
-               }
-
-               if ( f.img_cap_text.value != '' && f.width.value != '' ) {
-                       do_caption = 1;
-                       img_class = img_class.replace( /align[^ "']+\s?/gi, '' );
-               }
-
-               A = ed.dom.getParent(el, 'a');
-               P = ed.dom.getParent(el, 'p');
-               DL = ed.dom.getParent(el, 'dl');
-               DIV = ed.dom.getParent(el, 'div');
-
-               tinyMCEPopup.execCommand("mceBeginUndoLevel");
-
-               if ( f.width.value != el.width || f.height.value != el.height )
-                       img_class = img_class.replace(/size-[^ "']+/, '');
-
-               ed.dom.setAttribs(el, {
-                       src : f.img_src.value,
-                       title : f.img_title.value,
-                       alt : f.img_alt.value,
-                       width : f.width.value,
-                       height : f.height.value,
-                       style : f.img_style.value,
-                       'class' : img_class
-               });
-
-               if ( f.link_href.value ) {
-                       // Create new anchor elements
-                       if ( A == null ) {
-                               if ( ! f.link_href.value.match(/https?:\/\//i) )
-                                       f.link_href.value = tinyMCEPopup.editor.documentBaseURI.toAbsolute(f.link_href.value);
-
-                               ed.getDoc().execCommand("unlink", false, null);
-                               tinyMCEPopup.execCommand("mceInsertLink", false, "#mce_temp_url#", {skip_undo : 1});
-
-                               tinymce.each(ed.dom.select("a"), function(n) {
-                                       if ( ed.dom.getAttrib(n, 'href') == '#mce_temp_url#' ) {
-
-                                               ed.dom.setAttribs(n, {
-                                                       href : f.link_href.value,
-                                                       title : f.link_title.value,
-                                                       rel : f.link_rel.value,
-                                                       target : (f.link_target.checked == true) ? '_blank' : '',
-                                                       'class' : f.link_classes.value,
-                                                       style : f.link_style.value
-                                               });
-                                       }
-                               });
-                       } else {
-                               ed.dom.setAttribs(A, {
-                                       href : f.link_href.value,
-                                       title : f.link_title.value,
-                                       rel : f.link_rel.value,
-                                       target : (f.link_target.checked == true) ? '_blank' : '',
-                                       'class' : f.link_classes.value,
-                                       style : f.link_style.value
-                               });
-                       }
-               }
-
-               if ( do_caption ) {
-                       cap_width = 10 + parseInt(f.width.value);
-                       div_cls = (t.align == 'aligncenter') ? 'mceTemp mceIEcenter' : 'mceTemp';
-                       caption = f.img_cap_text.value;
-
-                       caption = caption.replace(/\r\n|\r/g, '\n').replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g, function(a){
-                               return a.replace(/[\r\n\t]+/, ' ');
-                       });
-
-                       caption = caption.replace(/\s*\n\s*/g, '<br />');
-
-                       if ( DL ) {
-                               ed.dom.setAttribs(DL, {
-                                       'class' : 'wp-caption '+t.align,
-                                       style : 'width: '+cap_width+'px;'
-                               });
-
-                               if ( DIV )
-                                       ed.dom.setAttrib(DIV, 'class', div_cls);
-
-                               if ( (DT = ed.dom.getParent(el, 'dt')) && (DD = DT.nextSibling) && ed.dom.hasClass(DD, 'wp-caption-dd') )
-                                       ed.dom.setHTML(DD, caption);
-
-                       } else {
-                               if ( (id = f.img_classes.value.match( /wp-image-([0-9]{1,6})/ )) && id[1] )
-                                       cap_id = 'attachment_'+id[1];
-
-                               if ( f.link_href.value && (lnk = ed.dom.getParent(el, 'a')) ) {
-                                       if ( lnk.childNodes.length == 1 ) {
-                                               html = ed.dom.getOuterHTML(lnk);
-                                       } else {
-                                               html = ed.dom.getOuterHTML(lnk);
-                                               html = html.match(/<a [^>]+>/i);
-                                               html = html+ed.dom.getOuterHTML(el)+'</a>';
-                                       }
-                               } else {
-                                       html = ed.dom.getOuterHTML(el);
-                               }
-
-                               html = '<dl id="'+cap_id+'" class="wp-caption '+t.align+'" style="width: '+cap_width+
-                               'px"><dt class="wp-caption-dt">'+html+'</dt><dd class="wp-caption-dd">'+caption+'</dd></dl>';
-
-                               cap = ed.dom.create('div', {'class': div_cls}, html);
-
-                               if ( P ) {
-                                       P.parentNode.insertBefore(cap, P);
-                                       if ( P.childNodes.length == 1 )
-                                               ed.dom.remove(P);
-                                       else if ( lnk && lnk.childNodes.length == 1 )
-                                               ed.dom.remove(lnk);
-                                       else ed.dom.remove(el);
-                               } else if ( pa = ed.dom.getParent(el, 'TD,TH,LI') ) {
-                                       pa.appendChild(cap);
-                                       if ( lnk && lnk.childNodes.length == 1 )
-                                               ed.dom.remove(lnk);
-                                       else ed.dom.remove(el);
-                               }
-                       }
-
-               } else {
-                       if ( DL && DIV ) {
-                               if ( f.link_href.value && (aa = ed.dom.getParent(el, 'a')) ) html = ed.dom.getOuterHTML(aa);
-                               else html = ed.dom.getOuterHTML(el);
-
-                               P = ed.dom.create('p', {}, html);
-                               DIV.parentNode.insertBefore(P, DIV);
-                               ed.dom.remove(DIV);
-                       }
-               }
-
-               if ( f.img_classes.value.indexOf('aligncenter') != -1 ) {
-                       if ( P && ( ! P.style || P.style.textAlign != 'center' ) )
-                               ed.dom.setStyle(P, 'textAlign', 'center');
-               } else {
-                       if ( P && P.style && P.style.textAlign == 'center' )
-                               ed.dom.setStyle(P, 'textAlign', '');
-               }
-
-               if ( ! f.link_href.value && A ) {
-                       b = ed.selection.getBookmark();
-                       ed.dom.remove(A, 1);
-                       ed.selection.moveToBookmark(b);
-               }
-
-               ed.execCommand("mceEndUndoLevel");
-               ed.execCommand('mceRepaint');
-               tinyMCEPopup.close();
-       },
-
-       updateStyle : function(ty) {
-               var dom = tinyMCEPopup.dom, v, f = document.forms[0], img = dom.create('img', {style : f.img_style.value});
-
-               if (tinyMCEPopup.editor.settings.inline_styles) {
-                       // Handle align
-                       if (ty == 'align') {
-                               dom.setStyle(img, 'float', '');
-                               dom.setStyle(img, 'vertical-align', '');
-
-                               v = f.align.value;
-                               if (v) {
-                                       if (v == 'left' || v == 'right')
-                                               dom.setStyle(img, 'float', v);
-                                       else
-                                               img.style.verticalAlign = v;
-                               }
-                       }
-
-                       // Handle border
-                       if (ty == 'border') {
-                               dom.setStyle(img, 'border', '');
-
-                               v = f.border.value;
-                               if (v || v == '0') {
-                                       if (v == '0')
-                                               img.style.border = '0';
-                                       else
-                                               img.style.border = v + 'px solid black';
-                               }
-                       }
-
-                       // Handle hspace
-                       if (ty == 'hspace') {
-                               dom.setStyle(img, 'marginLeft', '');
-                               dom.setStyle(img, 'marginRight', '');
-
-                               v = f.hspace.value;
-                               if (v) {
-                                       img.style.marginLeft = v + 'px';
-                                       img.style.marginRight = v + 'px';
-                               }
-                       }
-
-                       // Handle vspace
-                       if (ty == 'vspace') {
-                               dom.setStyle(img, 'marginTop', '');
-                               dom.setStyle(img, 'marginBottom', '');
-
-                               v = f.vspace.value;
-                               if (v) {
-                                       img.style.marginTop = v + 'px';
-                                       img.style.marginBottom = v + 'px';
-                               }
-                       }
-
-                       // Merge
-                       f.img_style.value = dom.serializeStyle(dom.parseStyle(img.style.cssText));
-                       this.demoSetStyle();
-               }
-       },
-
-       checkVal : function(f) {
-
-               if ( f.value == '' ) {
-       //              if ( f.id == 'width' ) f.value = this.width || this.preloadImg.width;
-       //              if ( f.id == 'height' ) f.value = this.height || this.preloadImg.height;
-                       if ( f.id == 'img_src' ) f.value = this.I('img_demo').src || this.preloadImg.src;
-               }
-       },
-
-       resetImageData : function() {
-               var f = document.forms[0];
-
-               f.width.value = f.height.value = '';
-       },
-
-       updateImageData : function() {
-               var f = document.forms[0], t = wpImage, w = f.width.value, h = f.height.value;
-
-               if ( !w && h )
-                       w = f.width.value = t.width = Math.round( t.preloadImg.width / (t.preloadImg.height / h) );
-               else if ( w && !h )
-                       h = f.height.value = t.height = Math.round( t.preloadImg.height / (t.preloadImg.width / w) );
-
-               if ( !w )
-                       f.width.value = t.width = t.preloadImg.width;
-
-               if ( !h )
-                       f.height.value = t.height = t.preloadImg.height;
-
-               t.showSizeSet();
-               t.demoSetSize();
-               if ( f.img_style.value )
-                       t.demoSetStyle();
-       },
-
-       getImageData : function() {
-               var t = wpImage, f = document.forms[0];
-
-               t.preloadImg = new Image();
-               t.preloadImg.onload = t.updateImageData;
-               t.preloadImg.onerror = t.resetImageData;
-               t.preloadImg.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(f.img_src.value);
-       }
-};
-
-window.onload = function(){wpImage.init();}
-wpImage.preInit();
-
diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js b/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js
new file mode 100644 (file)
index 0000000..050a1f5
--- /dev/null
@@ -0,0 +1,970 @@
+/* global tinymce */
+tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
+       var toolbarActive = false;
+
+       function parseShortcode( content ) {
+               return content.replace( /(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g, function( a, b, c ) {
+                       var id, cls, w, cap, img, width,
+                               trim = tinymce.trim;
+
+                       id = b.match( /id=['"]([^'"]*)['"] ?/ );
+                       if ( id ) {
+                               b = b.replace( id[0], '' );
+                       }
+
+                       cls = b.match( /align=['"]([^'"]*)['"] ?/ );
+                       if ( cls ) {
+                               b = b.replace( cls[0], '' );
+                       }
+
+                       w = b.match( /width=['"]([0-9]*)['"] ?/ );
+                       if ( w ) {
+                               b = b.replace( w[0], '' );
+                       }
+
+                       c = trim( c );
+                       img = c.match( /((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)([\s\S]*)/i );
+
+                       if ( img && img[2] ) {
+                               cap = trim( img[2] );
+                               img = trim( img[1] );
+                       } else {
+                               // old captions shortcode style
+                               cap = trim( b ).replace( /caption=['"]/, '' ).replace( /['"]$/, '' );
+                               img = c;
+                       }
+
+                       id = ( id && id[1] ) ? id[1] : '';
+                       cls = ( cls && cls[1] ) ? cls[1] : 'alignnone';
+
+                       if ( ! w && img ) {
+                               w = img.match( /width=['"]([0-9]*)['"]/ );
+                       }
+
+                       if ( w && w[1] ) {
+                               w = w[1];
+                       }
+
+                       if ( ! w || ! cap ) {
+                               return c;
+                       }
+
+                       width = parseInt( w, 10 );
+                       if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) {
+                               width += 10;
+                       }
+
+                       return '<div class="mceTemp"><dl id="'+ id +'" class="wp-caption '+ cls +'" style="width: '+ width +'px">' +
+                               '<dt class="wp-caption-dt">'+ img +'</dt><dd class="wp-caption-dd">'+ cap +'</dd></dl></div>';
+               });
+       }
+
+       function getShortcode( content ) {
+               return content.replace( /<div (?:id="attachment_|class="mceTemp)[^>]*>([\s\S]+?)<\/div>/g, function( a, b ) {
+                       var out = '';
+
+                       if ( b.indexOf('<img ') === -1 ) {
+                               // Broken caption. The user managed to drag the image out?
+                               // Try to return the caption text as a paragraph.
+                               out = b.match( /<dd [^>]+>([\s\S]+?)<\/dd>/i );
+
+                               if ( out && out[1] ) {
+                                       return '<p>' + out[1] + '</p>';
+                               }
+
+                               return '';
+                       }
+
+                       out = b.replace( /<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>/gi, function( a, b, c, cap ) {
+                               var id, cls, w;
+
+                               w = c.match( /width="([0-9]*)"/ );
+                               w = ( w && w[1] ) ? w[1] : '';
+
+                               if ( ! w || ! cap ) {
+                                       return c;
+                               }
+
+                               id = b.match( /id="([^"]*)"/ );
+                               id = ( id && id[1] ) ? id[1] : '';
+
+                               cls = b.match( /class="([^"]*)"/ );
+                               cls = ( cls && cls[1] ) ? cls[1] : '';
+                               cls = cls.match( /align[a-z]+/ ) || 'alignnone';
+
+                               cap = cap.replace( /\r\n|\r/g, '\n' ).replace( /<[a-zA-Z0-9]+( [^<>]+)?>/g, function( a ) {
+                                       // no line breaks inside HTML tags
+                                       return a.replace( /[\r\n\t]+/, ' ' );
+                               });
+
+                               // convert remaining line breaks to <br>
+                               cap = cap.replace( /\s*\n\s*/g, '<br />' );
+
+                               return '[caption id="'+ id +'" align="'+ cls +'" width="'+ w +'"]'+ c +' '+ cap +'[/caption]';
+                       });
+
+                       if ( out.indexOf('[caption') !== 0 ) {
+                               // the caption html seems broken, try to find the image that may be wrapped in a link
+                               // and may be followed by <p> with the caption text.
+                               out = b.replace( /[\s\S]*?((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)(<p>[\s\S]*<\/p>)?[\s\S]*/gi, '<p>$1</p>$2' );
+                       }
+
+                       return out;
+               });
+       }
+
+       function extractImageData( imageNode ) {
+               var classes, extraClasses, metadata, captionBlock, caption, link, width, height,
+                       dom = editor.dom,
+                       isIntRegExp = /^\d+$/;
+
+               // default attributes
+               metadata = {
+                       attachment_id: false,
+                       size: 'custom',
+                       caption: '',
+                       align: 'none',
+                       extraClasses: '',
+                       link: false,
+                       linkUrl: '',
+                       linkClassName: '',
+                       linkTargetBlank: false,
+                       linkRel: '',
+                       title: ''
+               };
+
+               metadata.url = dom.getAttrib( imageNode, 'src' );
+               metadata.alt = dom.getAttrib( imageNode, 'alt' );
+               metadata.title = dom.getAttrib( imageNode, 'title' );
+
+               width = dom.getAttrib( imageNode, 'width' );
+               height = dom.getAttrib( imageNode, 'height' );
+
+               if ( ! isIntRegExp.test( width ) || parseInt( width, 10 ) < 1 ) {
+                       width = imageNode.naturalWidth || imageNode.width;
+               }
+
+               if ( ! isIntRegExp.test( height ) || parseInt( height, 10 ) < 1 ) {
+                       height = imageNode.naturalHeight || imageNode.height;
+               }
+
+               metadata.customWidth = metadata.width = width;
+               metadata.customHeight = metadata.height = height;
+
+               classes = tinymce.explode( imageNode.className, ' ' );
+               extraClasses = [];
+
+               tinymce.each( classes, function( name ) {
+
+                       if ( /^wp-image/.test( name ) ) {
+                               metadata.attachment_id = parseInt( name.replace( 'wp-image-', '' ), 10 );
+                       } else if ( /^align/.test( name ) ) {
+                               metadata.align = name.replace( 'align', '' );
+                       } else if ( /^size/.test( name ) ) {
+                               metadata.size = name.replace( 'size-', '' );
+                       } else {
+                               extraClasses.push( name );
+                       }
+
+               } );
+
+               metadata.extraClasses = extraClasses.join( ' ' );
+
+               // Extract caption
+               captionBlock = dom.getParents( imageNode, '.wp-caption' );
+
+               if ( captionBlock.length ) {
+                       captionBlock = captionBlock[0];
+
+                       classes = captionBlock.className.split( ' ' );
+                       tinymce.each( classes, function( name ) {
+                               if ( /^align/.test( name ) ) {
+                                       metadata.align = name.replace( 'align', '' );
+                               }
+                       } );
+
+                       caption = dom.select( 'dd.wp-caption-dd', captionBlock );
+                       if ( caption.length ) {
+                               caption = caption[0];
+
+                               metadata.caption = editor.serializer.serialize( caption )
+                                       .replace( /<br[^>]*>/g, '$&\n' ).replace( /^<p>/, '' ).replace( /<\/p>$/, '' );
+                       }
+               }
+
+               // Extract linkTo
+               if ( imageNode.parentNode && imageNode.parentNode.nodeName === 'A' ) {
+                       link = imageNode.parentNode;
+                       metadata.linkUrl = dom.getAttrib( link, 'href' );
+                       metadata.linkTargetBlank = dom.getAttrib( link, 'target' ) === '_blank' ? true : false;
+                       metadata.linkRel = dom.getAttrib( link, 'rel' );
+                       metadata.linkClassName = link.className;
+               }
+
+               return metadata;
+       }
+
+       function hasTextContent( node ) {
+               return node && !! ( node.textContent || node.innerText );
+       }
+
+       function updateImage( imageNode, imageData ) {
+               var classes, className, node, html, parent, wrap, linkNode,
+                       captionNode, dd, dl, id, attrs, linkAttrs, width, height,
+                       dom = editor.dom;
+
+               classes = tinymce.explode( imageData.extraClasses, ' ' );
+
+               if ( ! classes ) {
+                       classes = [];
+               }
+
+               if ( ! imageData.caption ) {
+                       classes.push( 'align' + imageData.align );
+               }
+
+               if ( imageData.attachment_id ) {
+                       classes.push( 'wp-image-' + imageData.attachment_id );
+                       if ( imageData.size && imageData.size !== 'custom' ) {
+                               classes.push( 'size-' + imageData.size );
+                       }
+               }
+
+               width = imageData.width;
+               height = imageData.height;
+
+               if ( imageData.size === 'custom' ) {
+                       width = imageData.customWidth;
+                       height = imageData.customHeight;
+               }
+
+               attrs = {
+                       src: imageData.url,
+                       width: width || null,
+                       height: height || null,
+                       alt: imageData.alt,
+                       title: imageData.title || null,
+                       'class': classes.join( ' ' ) || null
+               };
+
+               dom.setAttribs( imageNode, attrs );
+
+               linkAttrs = {
+                       href: imageData.linkUrl,
+                       rel: imageData.linkRel || null,
+                       target: imageData.linkTargetBlank ? '_blank': null,
+                       'class': imageData.linkClassName || null
+               };
+
+               if ( imageNode.parentNode && imageNode.parentNode.nodeName === 'A' && ! hasTextContent( imageNode.parentNode ) ) {
+                       // Update or remove an existing link wrapped around the image
+                       if ( imageData.linkUrl ) {
+                               dom.setAttribs( imageNode.parentNode, linkAttrs );
+                       } else {
+                               dom.remove( imageNode.parentNode, true );
+                       }
+               } else if ( imageData.linkUrl ) {
+                       if ( linkNode = dom.getParent( imageNode, 'a' ) ) {
+                               // The image is inside a link together with other nodes,
+                               // or is nested in another node, move it out
+                               dom.insertAfter( imageNode, linkNode );
+                       }
+
+                       // Add link wrapped around the image
+                       linkNode = dom.create( 'a', linkAttrs );
+                       imageNode.parentNode.insertBefore( linkNode, imageNode );
+                       linkNode.appendChild( imageNode );
+               }
+
+               captionNode = editor.dom.getParent( imageNode, '.mceTemp' );
+
+               if ( imageNode.parentNode && imageNode.parentNode.nodeName === 'A' && ! hasTextContent( imageNode.parentNode ) ) {
+                       node = imageNode.parentNode;
+               } else {
+                       node = imageNode;
+               }
+
+               if ( imageData.caption ) {
+
+                       id = imageData.attachment_id ? 'attachment_' + imageData.attachment_id : null;
+                       className = 'wp-caption align' + ( imageData.align || 'none' );
+
+                       if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) {
+                               width = parseInt( width, 10 );
+                               width += 10;
+                       }
+
+                       if ( captionNode ) {
+                               dl = dom.select( 'dl.wp-caption', captionNode );
+
+                               if ( dl.length ) {
+                                       dom.setAttribs( dl, {
+                                               id: id,
+                                               'class': className,
+                                               style: 'width: ' + width + 'px'
+                                       } );
+                               }
+
+                               dd = dom.select( '.wp-caption-dd', captionNode );
+
+                               if ( dd.length ) {
+                                       dom.setHTML( dd[0], imageData.caption );
+                               }
+
+                       } else {
+                               id = id ? 'id="'+ id +'" ' : '';
+
+                               // should create a new function for generating the caption markup
+                               html =  '<dl ' + id + 'class="' + className +'" style="width: '+ width +'px">' +
+                                       '<dt class="wp-caption-dt">' + dom.getOuterHTML( node ) + '</dt><dd class="wp-caption-dd">'+ imageData.caption +'</dd></dl>';
+
+                               if ( parent = dom.getParent( node, 'p' ) ) {
+                                       wrap = dom.create( 'div', { 'class': 'mceTemp' }, html );
+                                       dom.insertAfter( wrap, parent );
+                                       dom.remove( node );
+
+                                       if ( dom.isEmpty( parent ) ) {
+                                               dom.remove( parent );
+                                       }
+                               } else {
+                                       dom.setOuterHTML( node, '<div class="mceTemp">' + html + '</div>' );
+                               }
+                       }
+               } else if ( captionNode ) {
+                       // Remove the caption wrapper and place the image in new paragraph
+                       parent = dom.create( 'p' );
+                       captionNode.parentNode.insertBefore( parent, captionNode );
+                       parent.appendChild( node );
+                       dom.remove( captionNode );
+               }
+
+               if ( wp.media.events ) {
+                       wp.media.events.trigger( 'editor:image-update', {
+                               editor: editor,
+                               metadata: imageData,
+                               image: imageNode
+                       } );
+               }
+
+               editor.nodeChanged();
+               // Refresh the toolbar
+               addToolbar( imageNode );
+       }
+
+       function editImage( img ) {
+               var frame, callback, metadata;
+
+               if ( typeof wp === 'undefined' || ! wp.media ) {
+                       editor.execCommand( 'mceImage' );
+                       return;
+               }
+
+               metadata = extractImageData( img );
+
+               // Manipulate the metadata by reference that is fed into the PostImage model used in the media modal
+               wp.media.events.trigger( 'editor:image-edit', {
+                       editor: editor,
+                       metadata: metadata,
+                       image: img
+               } );
+
+               frame = wp.media({
+                       frame: 'image',
+                       state: 'image-details',
+                       metadata: metadata
+               } );
+
+               wp.media.events.trigger( 'editor:frame-create', { frame: frame } );
+
+               callback = function( imageData ) {
+                       editor.focus();
+                       editor.undoManager.transact( function() {
+                               updateImage( img, imageData );
+                       } );
+                       frame.detach();
+               };
+
+               frame.state('image-details').on( 'update', callback );
+               frame.state('replace-image').on( 'replace', callback );
+               frame.on( 'close', function() {
+                       editor.focus();
+                       frame.detach();
+               });
+
+               frame.open();
+       }
+
+       function removeImage( node ) {
+               var wrap;
+
+               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 ) {
+                       if ( wrap.nextSibling ) {
+                               editor.selection.select( wrap.nextSibling );
+                       } else if ( wrap.previousSibling ) {
+                               editor.selection.select( wrap.previousSibling );
+                       } else {
+                               editor.selection.select( wrap.parentNode );
+                       }
+
+                       editor.selection.collapse( true );
+                       editor.nodeChanged();
+                       editor.dom.remove( wrap );
+               } else {
+                       editor.dom.remove( node );
+               }
+               removeToolbar();
+       }
+
+       function addToolbar( node ) {
+               var rectangle, toolbarHtml, toolbar, left,
+                       dom = editor.dom;
+
+               removeToolbar();
+
+               // Don't add to placeholders
+               if ( ! node || node.nodeName !== 'IMG' || isPlaceholder( node ) ) {
+                       return;
+               }
+
+               dom.setAttrib( node, 'data-wp-imgselect', 1 );
+               rectangle = dom.getRect( node );
+
+               toolbarHtml = '<div class="dashicons dashicons-edit edit" data-mce-bogus="1"></div>' +
+                       '<div class="dashicons dashicons-no-alt remove" data-mce-bogus="1"></div>';
+
+               toolbar = dom.create( 'div', {
+                       'id': 'wp-image-toolbar',
+                       'data-mce-bogus': '1',
+                       'contenteditable': false
+               }, toolbarHtml );
+
+               if ( editor.rtl ) {
+                       left = rectangle.x + rectangle.w - 82;
+               } else {
+                       left = rectangle.x;
+               }
+
+               editor.getBody().appendChild( toolbar );
+               dom.setStyles( toolbar, {
+                       top: rectangle.y,
+                       left: left
+               });
+
+               toolbarActive = true;
+       }
+
+       function removeToolbar() {
+               var toolbar = editor.dom.get( 'wp-image-toolbar' );
+
+               if ( toolbar ) {
+                       editor.dom.remove( toolbar );
+               }
+
+               editor.dom.setAttrib( editor.dom.select( 'img[data-wp-imgselect]' ), 'data-wp-imgselect', null );
+
+               toolbarActive = false;
+       }
+
+       function isPlaceholder( node ) {
+               var dom = editor.dom;
+
+               if ( dom.hasClass( node, 'mceItem' ) || dom.getAttrib( node, 'data-mce-placeholder' ) ||
+                       dom.getAttrib( node, 'data-mce-object' ) ) {
+
+                       return true;
+               }
+
+               return false;
+       }
+
+       editor.on( 'init', function() {
+               var dom = editor.dom,
+                       captionClass = editor.getParam( 'wpeditimage_html5_captions' ) ? 'html5-captions' : 'html4-captions';
+
+               dom.addClass( editor.getBody(), captionClass );
+
+               // Add caption field to the default image dialog
+               editor.on( 'wpLoadImageForm', function( event ) {
+                       if ( editor.getParam( 'wpeditimage_disable_captions' ) ) {
+                               return;
+                       }
+
+                       var captionField = {
+                               type: 'textbox',
+                               flex: 1,
+                               name: 'caption',
+                               minHeight: 60,
+                               multiline: true,
+                               scroll: true,
+                               label: 'Image caption'
+                       };
+
+                       event.data.splice( event.data.length - 1, 0, captionField );
+               });
+
+               // Fix caption parent width for images added from URL
+               editor.on( 'wpNewImageRefresh', function( event ) {
+                       var parent, captionWidth;
+
+                       if ( parent = dom.getParent( event.node, 'dl.wp-caption' ) ) {
+                               if ( ! parent.style.width ) {
+                                       captionWidth = parseInt( event.node.clientWidth, 10 ) + 10;
+                                       captionWidth = captionWidth ? captionWidth + 'px' : '50%';
+                                       dom.setStyle( parent, 'width', captionWidth );
+                               }
+                       }
+               });
+
+               editor.on( 'wpImageFormSubmit', function( event ) {
+                       var data = event.imgData.data,
+                               imgNode = event.imgData.node,
+                               caption = event.imgData.caption,
+                               captionId = '',
+                               captionAlign = '',
+                               captionWidth = '',
+                               wrap, parent, node, html, imgId;
+
+                       // Temp image id so we can find the node later
+                       data.id = '__wp-temp-img-id';
+                       // Cancel the original callback
+                       event.imgData.cancel = true;
+
+                       if ( ! data.style ) {
+                               data.style = null;
+                       }
+
+                       if ( ! data.src ) {
+                               // Delete the image and the caption
+                               if ( imgNode ) {
+                                       if ( wrap = dom.getParent( imgNode, 'div.mceTemp' ) ) {
+                                               dom.remove( wrap );
+                                       } else if ( imgNode.parentNode.nodeName === 'A' ) {
+                                               dom.remove( imgNode.parentNode );
+                                       } else {
+                                               dom.remove( imgNode );
+                                       }
+
+                                       editor.nodeChanged();
+                               }
+                               return;
+                       }
+
+                       if ( caption ) {
+                               caption = caption.replace( /\r\n|\r/g, '\n' ).replace( /<\/?[a-zA-Z0-9]+( [^<>]+)?>/g, function( a ) {
+                                       // No line breaks inside HTML tags
+                                       return a.replace( /[\r\n\t]+/, ' ' );
+                               });
+
+                               // Convert remaining line breaks to <br>
+                               caption = caption.replace( /(<br[^>]*>)\s*\n\s*/g, '$1' ).replace( /\s*\n\s*/g, '<br />' );
+                       }
+
+                       if ( ! imgNode ) {
+                               // New image inserted
+                               html = dom.createHTML( 'img', data );
+
+                               if ( caption ) {
+                                       node = editor.selection.getNode();
+
+                                       if ( data.width ) {
+                                               captionWidth = parseInt( data.width, 10 );
+
+                                               if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) {
+                                                       captionWidth += 10;
+                                               }
+
+                                               captionWidth = ' style="width: ' + captionWidth + 'px"';
+                                       }
+
+                                       html = '<dl class="wp-caption alignnone"' + captionWidth + '>' +
+                                               '<dt class="wp-caption-dt">'+ html +'</dt><dd class="wp-caption-dd">'+ caption +'</dd></dl>';
+
+                                       if ( node.nodeName === 'P' ) {
+                                               parent = node;
+                                       } else {
+                                               parent = dom.getParent( node, 'p' );
+                                       }
+
+                                       if ( parent && parent.nodeName === 'P' ) {
+                                               wrap = dom.create( 'div', { 'class': 'mceTemp' }, html );
+                                               dom.insertAfter( wrap, parent );
+                                               editor.selection.select( wrap );
+                                               editor.nodeChanged();
+
+                                               if ( dom.isEmpty( parent ) ) {
+                                                       dom.remove( parent );
+                                               }
+                                       } else {
+                                               editor.selection.setContent( '<div class="mceTemp">' + html + '</div>' );
+                                       }
+                               } else {
+                                       editor.selection.setContent( html );
+                               }
+                       } else {
+                               // Edit existing image
+
+                               // Store the original image id if any
+                               imgId = imgNode.id || null;
+                               // Update the image node
+                               dom.setAttribs( imgNode, data );
+                               wrap = dom.getParent( imgNode, 'dl.wp-caption' );
+
+                               if ( caption ) {
+                                       if ( wrap ) {
+                                               if ( parent = dom.select( 'dd.wp-caption-dd', wrap )[0] ) {
+                                                       parent.innerHTML = caption;
+                                               }
+                                       } else {
+                                               if ( imgNode.className ) {
+                                                       captionId = imgNode.className.match( /wp-image-([0-9]+)/ );
+                                                       captionAlign = imgNode.className.match( /align(left|right|center|none)/ );
+                                               }
+
+                                               if ( captionAlign ) {
+                                                       captionAlign = captionAlign[0];
+                                                       imgNode.className = imgNode.className.replace( /align(left|right|center|none)/g, '' );
+                                               } else {
+                                                       captionAlign = 'alignnone';
+                                               }
+
+                                               captionAlign = ' class="wp-caption ' + captionAlign + '"';
+
+                                               if ( captionId ) {
+                                                       captionId = ' id="attachment_' + captionId[1] + '"';
+                                               }
+
+                                               captionWidth = data.width || imgNode.clientWidth;
+
+                                               if ( captionWidth ) {
+                                                       captionWidth = parseInt( captionWidth, 10 );
+
+                                                       if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) {
+                                                               captionWidth += 10;
+                                                       }
+
+                                                       captionWidth = ' style="width: '+ captionWidth +'px"';
+                                               }
+
+                                               if ( imgNode.parentNode && imgNode.parentNode.nodeName === 'A' ) {
+                                                       html = dom.getOuterHTML( imgNode.parentNode );
+                                                       node = imgNode.parentNode;
+                                               } else {
+                                                       html = dom.getOuterHTML( imgNode );
+                                                       node = imgNode;
+                                               }
+
+                                               html = '<dl ' + captionId + captionAlign + captionWidth + '>' +
+                                                       '<dt class="wp-caption-dt">'+ html +'</dt><dd class="wp-caption-dd">'+ caption +'</dd></dl>';
+
+                                               if ( parent = dom.getParent( imgNode, 'p' ) ) {
+                                                       wrap = dom.create( 'div', { 'class': 'mceTemp' }, html );
+                                                       dom.insertAfter( wrap, parent );
+                                                       editor.selection.select( wrap );
+                                                       editor.nodeChanged();
+
+                                                       // Delete the old image node
+                                                       dom.remove( node );
+
+                                                       if ( dom.isEmpty( parent ) ) {
+                                                               dom.remove( parent );
+                                                       }
+                                               } else {
+                                                       editor.selection.setContent( '<div class="mceTemp">' + html + '</div>' );
+                                               }
+                                       }
+                               } else {
+                                       if ( wrap ) {
+                                               // Remove the caption wrapper and place the image in new paragraph
+                                               if ( imgNode.parentNode.nodeName === 'A' ) {
+                                                       html = dom.getOuterHTML( imgNode.parentNode );
+                                               } else {
+                                                       html = dom.getOuterHTML( imgNode );
+                                               }
+
+                                               parent = dom.create( 'p', {}, html );
+                                               dom.insertAfter( parent, wrap.parentNode );
+                                               editor.selection.select( parent );
+                                               editor.nodeChanged();
+                                               dom.remove( wrap.parentNode );
+                                       }
+                               }
+                       }
+
+                       imgNode = dom.get('__wp-temp-img-id');
+                       dom.setAttrib( imgNode, 'id', imgId );
+                       event.imgData.node = imgNode;
+               });
+
+               editor.on( 'wpLoadImageData', function( event ) {
+                       var parent,
+                               data = event.imgData.data,
+                               imgNode = event.imgData.node;
+
+                       if ( parent = dom.getParent( imgNode, 'dl.wp-caption' ) ) {
+                               parent = dom.select( 'dd.wp-caption-dd', parent )[0];
+
+                               if ( parent ) {
+                                       data.caption = editor.serializer.serialize( parent )
+                                               .replace( /<br[^>]*>/g, '$&\n' ).replace( /^<p>/, '' ).replace( /<\/p>$/, '' );
+                               }
+                       }
+               });
+
+               dom.bind( editor.getDoc(), 'dragstart', function( event ) {
+                       var node = editor.selection.getNode();
+
+                       // Prevent dragging images out of the caption elements
+                       if ( node.nodeName === 'IMG' && dom.getParent( node, '.wp-caption' ) ) {
+                               event.preventDefault();
+                       }
+
+                       // Remove toolbar to avoid an orphaned toolbar when dragging an image to a new location
+                       removeToolbar();
+               });
+
+               // Prevent IE11 from making dl.wp-caption resizable
+               if ( tinymce.Env.ie && tinymce.Env.ie > 10 ) {
+                       // The 'mscontrolselect' event is supported only in IE11+
+                       dom.bind( editor.getBody(), 'mscontrolselect', function( event ) {
+                               if ( event.target.nodeName === 'IMG' && dom.getParent( event.target, '.wp-caption' ) ) {
+                                       // Hide the thick border with resize handles around dl.wp-caption
+                                       editor.getBody().focus(); // :(
+                               } else if ( event.target.nodeName === 'DL' && dom.hasClass( event.target, 'wp-caption' ) ) {
+                                       // Trigger the thick border with resize handles...
+                                       // This will make the caption text editable.
+                                       event.target.focus();
+                               }
+                       });
+
+                       editor.on( 'click', function( event ) {
+                               if ( event.target.nodeName === 'IMG' && dom.getAttrib( event.target, 'data-wp-imgselect' ) &&
+                                       dom.getParent( event.target, 'dl.wp-caption' ) ) {
+
+                                       editor.getBody().focus();
+                               }
+                       });
+               }
+       });
+
+       editor.on( 'ObjectResized', function( event ) {
+        var parent, width,
+                       node = event.target,
+                       dom = editor.dom;
+
+               if ( node.nodeName === 'IMG' ) {
+                       node.className = node.className.replace( /\bsize-[^ ]+/, '' );
+
+                       if ( parent = dom.getParent( node, '.wp-caption' ) ) {
+                               width = event.width || dom.getAttrib( node, 'width' );
+
+                               if ( width ) {
+                                       width = parseInt( width, 10 );
+
+                                       if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) {
+                                               width += 10;
+                                       }
+
+                                       dom.setStyle( parent, 'width', width + 'px' );
+                               }
+                       }
+                       // refresh toolbar
+                       addToolbar( node );
+               }
+    });
+
+       editor.on( 'BeforeExecCommand', function( event ) {
+               var node, p, DL, align,
+                       cmd = event.command,
+                       dom = editor.dom;
+
+               if ( cmd === 'mceInsertContent' ) {
+                       // When inserting content, if the caret is inside a caption create new paragraph under
+                       // and move the caret there
+                       if ( node = dom.getParent( editor.selection.getNode(), 'div.mceTemp' ) ) {
+                               p = dom.create( 'p' );
+                               dom.insertAfter( p, node );
+                               editor.selection.setCursorLocation( p, 0 );
+                               editor.nodeChanged();
+
+                               if ( tinymce.Env.ie > 8 ) {
+                                       setTimeout( function() {
+                                               editor.selection.setCursorLocation( p, 0 );
+                                               editor.selection.setContent( event.value );
+                                       }, 500 );
+
+                                       return false;
+                               }
+                       }
+               } else if ( cmd === 'JustifyLeft' || cmd === 'JustifyRight' || cmd === 'JustifyCenter' ) {
+                       node = editor.selection.getNode();
+                       align = cmd.substr(7).toLowerCase();
+                       align = 'align' + align;
+
+                       removeToolbar();
+
+                       if ( dom.is( node, 'dl.wp-caption' ) ) {
+                               DL = node;
+                       } else {
+                               DL = dom.getParent( node, 'dl.wp-caption' );
+                       }
+
+                       if ( DL ) {
+                               // When inside an image caption, set the align* class on dl.wp-caption
+                               if ( dom.hasClass( DL, align ) ) {
+                                       dom.removeClass( DL, align );
+                                       dom.addClass( DL, 'alignnone' );
+                               } else {
+                                       DL.className = DL.className.replace( /align[^ ]+/g, '' );
+                                       dom.addClass( DL, align );
+                               }
+
+                               return false;
+                       }
+
+                       if ( node.nodeName === 'IMG' ) {
+                               if ( dom.hasClass( node, align ) ) {
+                                       // The align class is being removed
+                                       dom.addClass( node, 'alignnone' );
+                               } else {
+                                       dom.removeClass( node, 'alignnone' );
+                               }
+                       }
+               }
+       });
+
+       editor.on( 'keydown', function( event ) {
+               var node, wrap, P, spacer,
+                       selection = editor.selection,
+                       keyCode = event.keyCode,
+                       dom = editor.dom;
+
+               if ( keyCode === tinymce.util.VK.ENTER ) {
+                       // When pressing Enter inside a caption move the caret to a new parapraph under it
+                       node = selection.getNode();
+                       wrap = dom.getParent( node, 'div.mceTemp' );
+
+                       if ( wrap ) {
+                               dom.events.cancel( event ); // Doesn't cancel all :(
+
+                               // Remove any extra dt and dd cleated on pressing Enter...
+                               tinymce.each( dom.select( 'dt, dd', wrap ), function( element ) {
+                                       if ( dom.isEmpty( element ) ) {
+                                               dom.remove( element );
+                                       }
+                               });
+
+                               spacer = tinymce.Env.ie && tinymce.Env.ie < 11 ? '' : '<br data-mce-bogus="1" />';
+                               P = dom.create( 'p', null, spacer );
+
+                               if ( node.nodeName === 'DD' ) {
+                                       dom.insertAfter( P, wrap );
+                               } else {
+                                       wrap.parentNode.insertBefore( P, wrap );
+                               }
+
+                               editor.nodeChanged();
+                               selection.setCursorLocation( P, 0 );
+                       }
+               } else if ( keyCode === tinymce.util.VK.DELETE || keyCode === tinymce.util.VK.BACKSPACE ) {
+                       node = selection.getNode();
+
+                       if ( node.nodeName === 'DIV' && dom.hasClass( node, 'mceTemp' ) ) {
+                               wrap = node;
+                       } else if ( node.nodeName === 'IMG' || node.nodeName === 'DT' || node.nodeName === 'A' ) {
+                               wrap = dom.getParent( node, 'div.mceTemp' );
+                       }
+
+                       if ( wrap ) {
+                               dom.events.cancel( event );
+                               removeImage( node );
+                               return false;
+                       }
+
+                       removeToolbar();
+               }
+
+               // Key presses will replace the image so we need to remove the toolbar
+               if ( toolbarActive ) {
+                       if ( event.ctrlKey || event.metaKey || event.altKey ||
+                               ( keyCode < 48 && keyCode > 90 ) || keyCode > 186 ) {
+                               return;
+                       }
+
+                       removeToolbar();
+               }
+       });
+
+       editor.on( 'mousedown', function( event ) {
+               if ( editor.dom.getParent( event.target, '#wp-image-toolbar' ) ) {
+                       if ( tinymce.Env.ie ) {
+                               // Stop IE > 8 from making the wrapper resizable on mousedown
+                               event.preventDefault();
+                       }
+               } else if ( event.target.nodeName !== 'IMG' ) {
+                       removeToolbar();
+               }
+       });
+
+       editor.on( 'mouseup', function( event ) {
+               var image,
+                       node = event.target,
+                       dom = editor.dom;
+
+               // Don't trigger on right-click
+               if ( event.button && event.button > 1 ) {
+                       return;
+               }
+
+               if ( node.nodeName === 'DIV' && dom.getParent( node, '#wp-image-toolbar' ) ) {
+                       image = dom.select( 'img[data-wp-imgselect]' )[0];
+
+                       if ( image ) {
+                               editor.selection.select( image );
+
+                               if ( dom.hasClass( node, 'remove' ) ) {
+                                       removeImage( image );
+                               } else if ( dom.hasClass( node, 'edit' ) ) {
+                                       editImage( image );
+                               }
+                       }
+               } else if ( node.nodeName === 'IMG' && ! editor.dom.getAttrib( node, 'data-wp-imgselect' ) && ! isPlaceholder( node ) ) {
+                       addToolbar( node );
+               } else if ( node.nodeName !== 'IMG' ) {
+                       removeToolbar();
+               }
+       });
+
+       editor.on( 'cut', function() {
+               removeToolbar();
+       });
+
+       editor.wpSetImgCaption = function( content ) {
+               return parseShortcode( content );
+       };
+
+       editor.wpGetImgCaption = function( content ) {
+               return getShortcode( content );
+       };
+
+       editor.on( 'BeforeSetContent', function( event ) {
+               event.content = editor.wpSetImgCaption( event.content );
+       });
+
+       editor.on( 'PostProcess', function( event ) {
+               if ( event.get ) {
+                       event.content = editor.wpGetImgCaption( event.content );
+                       event.content = event.content.replace( / data-wp-imgselect="1"/g, '' );
+               }
+       });
+
+       return {
+               _do_shcode: parseShortcode,
+               _get_shcode: getShortcode
+       };
+});
diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js b/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js
new file mode 100644 (file)
index 0000000..e126ebe
--- /dev/null
@@ -0,0 +1 @@
+tinymce.PluginManager.add("wpeditimage",function(a){function b(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(/width=['"]([0-9]*)['"] ?/),g&&(c=c.replace(g[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]:"",f=f&&f[1]?f[1]:"alignnone",!g&&i&&(g=i.match(/width=['"]([0-9]*)['"]/)),g&&g[1]&&(g=g[1]),g&&h?(j=parseInt(g,10),a.getParam("wpeditimage_html5_captions")||(j+=10),'<div class="mceTemp"><dl id="'+e+'" class="wp-caption '+f+'" style="width: '+j+'px"><dt class="wp-caption-dt">'+i+'</dt><dd class="wp-caption-dd">'+h+"</dd></dl></div>"):d})}function c(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(/<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>/gi,function(a,b,c,d){var e,f,g;return g=c.match(/width="([0-9]*)"/),g=g&&g[1]?g[1]:"",g&&d?(e=b.match(/id="([^"]*)"/),e=e&&e[1]?e[1]:"",f=b.match(/class="([^"]*)"/),f=f&&f[1]?f[1]:"",f=f.match(/align[a-z]+/)||"alignnone",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="'+f+'" width="'+g+'"]'+c+" "+d+"[/caption]"):c}),0!==c.indexOf("[caption")&&(c=b.replace(/[\s\S]*?((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)(<p>[\s\S]*<\/p>)?[\s\S]*/gi,"<p>$1</p>$2")),c)})}function d(b){var c,d,e,f,g,h,i,j,k=a.dom,l=/^\d+$/;return e={attachment_id:!1,size:"custom",caption:"",align:"none",extraClasses:"",link:!1,linkUrl:"",linkClassName:"",linkTargetBlank:!1,linkRel:"",title:""},e.url=k.getAttrib(b,"src"),e.alt=k.getAttrib(b,"alt"),e.title=k.getAttrib(b,"title"),i=k.getAttrib(b,"width"),j=k.getAttrib(b,"height"),(!l.test(i)||parseInt(i,10)<1)&&(i=b.naturalWidth||b.width),(!l.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=k.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",""))}),g=k.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=k.getAttrib(h,"href"),e.linkTargetBlank="_blank"===k.getAttrib(h,"target")?!0:!1,e.linkRel=k.getAttrib(h,"rel"),e.linkClassName=h.className),e}function e(a){return a&&!(!a.textContent&&!a.innerText)}function f(b,c){var d,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u=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},u.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&&!e(b.parentNode)?c.linkUrl?u.setAttribs(b.parentNode,r):u.remove(b.parentNode,!0):c.linkUrl&&((l=u.getParent(b,"a"))&&u.insertAfter(b,l),l=u.create("a",r),b.parentNode.insertBefore(l,b),l.appendChild(b)),m=a.dom.getParent(b,".mceTemp"),g=b.parentNode&&"A"===b.parentNode.nodeName&&!e(b.parentNode)?b.parentNode:b,c.caption?(p=c.attachment_id?"attachment_"+c.attachment_id:null,f="wp-caption align"+(c.align||"none"),a.getParam("wpeditimage_html5_captions")||(s=parseInt(s,10),s+=10),m?(o=u.select("dl.wp-caption",m),o.length&&u.setAttribs(o,{id:p,"class":f,style:"width: "+s+"px"}),n=u.select(".wp-caption-dd",m),n.length&&u.setHTML(n[0],c.caption)):(p=p?'id="'+p+'" ':"",h="<dl "+p+'class="'+f+'" style="width: '+s+'px"><dt class="wp-caption-dt">'+u.getOuterHTML(g)+'</dt><dd class="wp-caption-dd">'+c.caption+"</dd></dl>",(j=u.getParent(g,"p"))?(k=u.create("div",{"class":"mceTemp"},h),u.insertAfter(k,j),u.remove(g),u.isEmpty(j)&&u.remove(j)):u.setOuterHTML(g,'<div class="mceTemp">'+h+"</div>"))):m&&(j=u.create("p"),m.parentNode.insertBefore(j,m),j.appendChild(g),u.remove(m)),wp.media.events&&wp.media.events.trigger("editor:image-update",{editor:a,metadata:c,image:b}),a.nodeChanged(),i(b)}function g(b){var c,e,g;return"undefined"!=typeof wp&&wp.media?(g=d(b),wp.media.events.trigger("editor:image-edit",{editor:a,metadata:g,image:b}),c=wp.media({frame:"image",state:"image-details",metadata:g}),wp.media.events.trigger("editor:frame-create",{frame:c}),e=function(d){a.focus(),a.undoManager.transact(function(){f(b,d)}),c.detach()},c.state("image-details").on("update",e),c.state("replace-image").on("replace",e),c.on("close",function(){a.focus(),c.detach()}),void c.open()):void a.execCommand("mceImage")}function h(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.nodeChanged(),a.dom.remove(c)):a.dom.remove(b),j()}function i(b){var c,d,e,f,g=a.dom;j(),b&&"IMG"===b.nodeName&&!k(b)&&(g.setAttrib(b,"data-wp-imgselect",1),c=g.getRect(b),d='<div class="dashicons dashicons-edit edit" data-mce-bogus="1"></div><div class="dashicons dashicons-no-alt remove" data-mce-bogus="1"></div>',e=g.create("div",{id:"wp-image-toolbar","data-mce-bogus":"1",contenteditable:!1},d),f=a.rtl?c.x+c.w-82:c.x,a.getBody().appendChild(e),g.setStyles(e,{top:c.y,left:f}),l=!0)}function j(){var b=a.dom.get("wp-image-toolbar");b&&a.dom.remove(b),a.dom.setAttrib(a.dom.select("img[data-wp-imgselect]"),"data-wp-imgselect",null),l=!1}function k(b){var c=a.dom;return c.hasClass(b,"mceItem")||c.getAttrib(b,"data-mce-placeholder")||c.getAttrib(b,"data-mce-object")?!0:!1}var l=!1;return 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,g,h,i=c.imgData.data,j=c.imgData.node,k=c.imgData.caption,l="",m="",n="";return i.id="__wp-temp-img-id",c.imgData.cancel=!0,i.style||(i.style=null),i.src?(k&&(k=k.replace(/\r\n|\r/g,"\n").replace(/<\/?[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),k=k.replace(/(<br[^>]*>)\s*\n\s*/g,"$1").replace(/\s*\n\s*/g,"<br />")),j?(h=j.id||null,b.setAttribs(j,i),d=b.getParent(j,"dl.wp-caption"),k?d?(e=b.select("dd.wp-caption-dd",d)[0])&&(e.innerHTML=k):(j.className&&(l=j.className.match(/wp-image-([0-9]+)/),m=j.className.match(/align(left|right|center|none)/)),m?(m=m[0],j.className=j.className.replace(/align(left|right|center|none)/g,"")):m="alignnone",m=' class="wp-caption '+m+'"',l&&(l=' id="attachment_'+l[1]+'"'),n=i.width||j.clientWidth,n&&(n=parseInt(n,10),a.getParam("wpeditimage_html5_captions")||(n+=10),n=' style="width: '+n+'px"'),j.parentNode&&"A"===j.parentNode.nodeName?(g=b.getOuterHTML(j.parentNode),f=j.parentNode):(g=b.getOuterHTML(j),f=j),g="<dl "+l+m+n+'><dt class="wp-caption-dt">'+g+'</dt><dd class="wp-caption-dd">'+k+"</dd></dl>",(e=b.getParent(j,"p"))?(d=b.create("div",{"class":"mceTemp"},g),b.insertAfter(d,e),a.selection.select(d),a.nodeChanged(),b.remove(f),b.isEmpty(e)&&b.remove(e)):a.selection.setContent('<div class="mceTemp">'+g+"</div>")):d&&(g=b.getOuterHTML("A"===j.parentNode.nodeName?j.parentNode:j),e=b.create("p",{},g),b.insertAfter(e,d.parentNode),a.selection.select(e),a.nodeChanged(),b.remove(d.parentNode))):(g=b.createHTML("img",i),k?(f=a.selection.getNode(),i.width&&(n=parseInt(i.width,10),a.getParam("wpeditimage_html5_captions")||(n+=10),n=' style="width: '+n+'px"'),g='<dl class="wp-caption alignnone"'+n+'><dt class="wp-caption-dt">'+g+'</dt><dd class="wp-caption-dd">'+k+"</dd></dl>",e="P"===f.nodeName?f:b.getParent(f,"p"),e&&"P"===e.nodeName?(d=b.create("div",{"class":"mceTemp"},g),b.insertAfter(d,e),a.selection.select(d),a.nodeChanged(),b.isEmpty(e)&&b.remove(e)):a.selection.setContent('<div class="mceTemp">'+g+"</div>")):a.selection.setContent(g)),j=b.get("__wp-temp-img-id"),b.setAttrib(j,"id",h),void(c.imgData.node=j)):void(j&&(b.remove((d=b.getParent(j,"div.mceTemp"))?d:"A"===j.parentNode.nodeName?j.parentNode:j),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(),j()}),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("click",function(c){"IMG"===c.target.nodeName&&b.getAttrib(c.target,"data-wp-imgselect")&&b.getParent(c.target,"dl.wp-caption")&&a.getBody().focus()}))}),a.on("ObjectResized",function(b){var c,d,e=b.target,f=a.dom;"IMG"===e.nodeName&&(e.className=e.className.replace(/\bsize-[^ ]+/,""),(c=f.getParent(e,".wp-caption"))&&(d=b.width||f.getAttrib(e,"width"),d&&(d=parseInt(d,10),a.getParam("wpeditimage_html5_captions")||(d+=10),f.setStyle(c,"width",d+"px"))),i(e))}),a.on("BeforeExecCommand",function(b){var c,d,e,f,g=b.command,h=a.dom;if("mceInsertContent"===g){if((c=h.getParent(a.selection.getNode(),"div.mceTemp"))&&(d=h.create("p"),h.insertAfter(d,c),a.selection.setCursorLocation(d,0),a.nodeChanged(),tinymce.Env.ie>8))return setTimeout(function(){a.selection.setCursorLocation(d,0),a.selection.setContent(b.value)},500),!1}else if("JustifyLeft"===g||"JustifyRight"===g||"JustifyCenter"===g){if(c=a.selection.getNode(),f=g.substr(7).toLowerCase(),f="align"+f,j(),e=h.is(c,"dl.wp-caption")?c:h.getParent(c,"dl.wp-caption"))return h.hasClass(e,f)?(h.removeClass(e,f),h.addClass(e,"alignnone")):(e.className=e.className.replace(/align[^ ]+/g,""),h.addClass(e,f)),!1;"IMG"===c.nodeName&&(h.hasClass(c,f)?h.addClass(c,"alignnone"):h.removeClass(c,"alignnone"))}}),a.on("keydown",function(b){var c,d,e,f,g=a.selection,i=b.keyCode,k=a.dom;if(i===tinymce.util.VK.ENTER)c=g.getNode(),d=k.getParent(c,"div.mceTemp"),d&&(k.events.cancel(b),tinymce.each(k.select("dt, dd",d),function(a){k.isEmpty(a)&&k.remove(a)}),f=tinymce.Env.ie&&tinymce.Env.ie<11?"":'<br data-mce-bogus="1" />',e=k.create("p",null,f),"DD"===c.nodeName?k.insertAfter(e,d):d.parentNode.insertBefore(e,d),a.nodeChanged(),g.setCursorLocation(e,0));else if(i===tinymce.util.VK.DELETE||i===tinymce.util.VK.BACKSPACE){if(c=g.getNode(),"DIV"===c.nodeName&&k.hasClass(c,"mceTemp")?d=c:("IMG"===c.nodeName||"DT"===c.nodeName||"A"===c.nodeName)&&(d=k.getParent(c,"div.mceTemp")),d)return k.events.cancel(b),h(c),!1;j()}if(l){if(b.ctrlKey||b.metaKey||b.altKey||48>i&&i>90||i>186)return;j()}}),a.on("mousedown",function(b){a.dom.getParent(b.target,"#wp-image-toolbar")?tinymce.Env.ie&&b.preventDefault():"IMG"!==b.target.nodeName&&j()}),a.on("mouseup",function(b){var c,d=b.target,e=a.dom;b.button&&b.button>1||("DIV"===d.nodeName&&e.getParent(d,"#wp-image-toolbar")?(c=e.select("img[data-wp-imgselect]")[0],c&&(a.selection.select(c),e.hasClass(d,"remove")?h(c):e.hasClass(d,"edit")&&g(c))):"IMG"!==d.nodeName||a.dom.getAttrib(d,"data-wp-imgselect")||k(d)?"IMG"!==d.nodeName&&j():i(d))}),a.on("cut",function(){j()}),a.wpSetImgCaption=function(a){return b(a)},a.wpGetImgCaption=function(a){return c(a)},a.on("BeforeSetContent",function(b){b.content=a.wpSetImgCaption(b.content)}),a.on("PostProcess",function(b){b.get&&(b.content=a.wpGetImgCaption(b.content),b.content=b.content.replace(/ data-wp-imgselect="1"/g,""))}),{_do_shcode:b,_get_shcode:c}});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css b/wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css
deleted file mode 100644 (file)
index 686fedf..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
-Distraction Free Writing mode TinyMCE Styles
-*/
-
-html,
-body {
-       background: transparent;
-       width: auto !important;
-       max-width: none !important;
-       margin: 0 !important;
-       padding: 0 !important;
-       min-height: 0 !important;
-}
diff --git a/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.js b/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.js
deleted file mode 100644 (file)
index aa7fa67..0000000
+++ /dev/null
@@ -1 +0,0 @@
-!function(){tinymce.create("tinymce.plugins.wpFullscreenPlugin",{resize_timeout:!1,init:function(a){function b(b,d){var e,f=tinymce.DOM,g=a.getBody(),h=f.get(a.id+"_ifr"),i=a.dom.win.scrollY;c.resize_timeout||(c.resize_timeout=!0,setTimeout(function(){c.resize_timeout=!1},500),e=g.scrollHeight>300?g.scrollHeight:300,e!=h.scrollHeight&&(f.setStyle(h,"height",e+"px"),a.getWin().scrollTo(0,0)),d&&"paste"==d.type&&tinymce.isWebKit&&setTimeout(function(){a.dom.win.scrollTo(0,i)},40))}var c=this,d={},e=tinymce.DOM;a.addCommand("wpFullScreenClose",function(){a.getParam("wp_fullscreen_is_enabled")&&e.win.setTimeout(function(){tinymce.remove(a),e.remove("wp_mce_fullscreen_parent"),tinymce.settings=tinymce.oldSettings},10)}),a.addCommand("wpFullScreenSave",function(){var a,b=tinymce.get("wp_mce_fullscreen");b.focus(),a=tinymce.get(b.getParam("wp_fullscreen_editor_id")),a.setContent(b.getContent({format:"raw"}),{format:"raw"})}),a.addCommand("wpFullScreenInit",function(){var b,c,e;a=tinymce.activeEditor,b=a.getDoc(),c=b.body,tinymce.oldSettings=tinymce.settings,tinymce.each(a.settings,function(a,b){d[b]=a}),d.id="wp_mce_fullscreen",d.wp_fullscreen_is_enabled=!0,d.wp_fullscreen_editor_id=a.id,d.theme_advanced_resizing=!1,d.theme_advanced_statusbar_location="none",d.content_css=d.content_css?d.content_css+","+d.wp_fullscreen_content_css:d.wp_fullscreen_content_css,d.height=tinymce.isIE?c.scrollHeight:c.offsetHeight,tinymce.each(a.getParam("wp_fullscreen_settings"),function(a,b){d[b]=a}),e=new tinymce.Editor("wp_mce_fullscreen",d),e.onInit.add(function(b){var c=tinymce.DOM,d=c.select("a.mceButton",c.get("wp-fullscreen-buttons"));a.isHidden()?b.setContent(switchEditors.wpautop(b.getElement().value)):b.setContent(a.getContent()),setTimeout(function(){b.onNodeChange.add(function(){tinymce.each(d,function(a){var b,d;(b=c.get("wp_mce_fullscreen_"+a.id.substr(6)))&&(d=b.className,d&&(a.className=d))})})},1e3),b.dom.addClass(b.getBody(),"wp-fullscreen-editor"),b.focus()}),e.render(),"undefined"!=fullscreen&&e.dom.bind(e.dom.doc,"mousemove",function(a){fullscreen.bounder("showToolbar","hideToolbar",2e3,a)})}),a.addCommand("wpFullScreen",function(){"undefined"!=typeof fullscreen&&("wp_mce_fullscreen"==a.id?fullscreen.off():fullscreen.on())}),a.addButton("wp_fullscreen",{title:"wordpress.wp_fullscreen_desc",cmd:"wpFullScreen"}),!a.getParam("fullscreen_is_enabled")&&a.getParam("wp_fullscreen_is_enabled")&&(a.onInit.add(function(a){a.onChange.add(b),a.onSetContent.add(b),a.onPaste.add(b),a.onKeyUp.add(b),a.onPostRender.add(b),a.getBody().style.overflowY="hidden"}),a.getParam("autoresize_on_init",!0)&&a.onLoadContent.add(function(){setTimeout(function(){b()},1200)}),a.addCommand("wpAutoResize",b))},getInfo:function(){return{longname:"WP Fullscreen",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}}),tinymce.PluginManager.add("wpfullscreen",tinymce.plugins.wpFullscreenPlugin)}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin_src.js b/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin_src.js
deleted file mode 100644 (file)
index 27f0f7d..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-/* global tinymce:false, switchEditors, fullscreen */
-/**
- * WP Fullscreen TinyMCE plugin
- *
- * Contains code from Moxiecode Systems AB released under LGPL http://tinymce.moxiecode.com/license
- */
-
-(function() {
-       tinymce.create('tinymce.plugins.wpFullscreenPlugin', {
-               resize_timeout: false,
-
-               init : function( ed ) {
-                       var t = this, s = {}, DOM = tinymce.DOM;
-
-                       // Register commands
-                       ed.addCommand('wpFullScreenClose', function() {
-                               // this removes the editor, content has to be saved first with tinymce.execCommand('wpFullScreenSave');
-                               if ( ed.getParam('wp_fullscreen_is_enabled') ) {
-                                       DOM.win.setTimeout(function() {
-                                               tinymce.remove(ed);
-                                               DOM.remove('wp_mce_fullscreen_parent');
-                                               tinymce.settings = tinymce.oldSettings; // Restore old settings
-                                       }, 10);
-                               }
-                       });
-
-                       ed.addCommand('wpFullScreenSave', function() {
-                               var ed = tinymce.get('wp_mce_fullscreen'), edd;
-
-                               ed.focus();
-                               edd = tinymce.get( ed.getParam('wp_fullscreen_editor_id') );
-
-                               edd.setContent( ed.getContent({format : 'raw'}), {format : 'raw'} );
-                       });
-
-                       ed.addCommand('wpFullScreenInit', function() {
-                               var d, b, fsed;
-
-                               ed = tinymce.activeEditor;
-                               d = ed.getDoc();
-                               b = d.body;
-
-                               tinymce.oldSettings = tinymce.settings; // Store old settings
-
-                               tinymce.each(ed.settings, function(v, n) {
-                                       s[n] = v;
-                               });
-
-                               s.id = 'wp_mce_fullscreen';
-                               s.wp_fullscreen_is_enabled = true;
-                               s.wp_fullscreen_editor_id = ed.id;
-                               s.theme_advanced_resizing = false;
-                               s.theme_advanced_statusbar_location = 'none';
-                               s.content_css = s.content_css ? s.content_css + ',' + s.wp_fullscreen_content_css : s.wp_fullscreen_content_css;
-                               s.height = tinymce.isIE ? b.scrollHeight : b.offsetHeight;
-
-                               tinymce.each(ed.getParam('wp_fullscreen_settings'), function(v, k) {
-                                       s[k] = v;
-                               });
-
-                               fsed = new tinymce.Editor('wp_mce_fullscreen', s);
-                               fsed.onInit.add(function(edd) {
-                                       var DOM = tinymce.DOM, buttons = DOM.select('a.mceButton', DOM.get('wp-fullscreen-buttons'));
-
-                                       if ( !ed.isHidden() )
-                                               edd.setContent( ed.getContent() );
-                                       else
-                                               edd.setContent( switchEditors.wpautop( edd.getElement().value ) );
-
-                                       setTimeout(function(){ // add last
-                                               edd.onNodeChange.add( function() {
-                                                       tinymce.each(buttons, function(c) {
-                                                               var btn, cls;
-
-                                                               if ( btn = DOM.get( 'wp_mce_fullscreen_' + c.id.substr(6) ) ) {
-                                                                       cls = btn.className;
-
-                                                                       if ( cls )
-                                                                               c.className = cls;
-                                                               }
-                                                       });
-                                               });
-                                       }, 1000);
-
-                                       edd.dom.addClass(edd.getBody(), 'wp-fullscreen-editor');
-                                       edd.focus();
-                               });
-
-                               fsed.render();
-
-                               if ( 'undefined' != fullscreen ) {
-                                       fsed.dom.bind( fsed.dom.doc, 'mousemove', function(e){
-                                               fullscreen.bounder( 'showToolbar', 'hideToolbar', 2000, e );
-                                       });
-                               }
-                       });
-
-                       ed.addCommand('wpFullScreen', function() {
-                               if ( typeof(fullscreen) == 'undefined' )
-                                       return;
-
-                               if ( 'wp_mce_fullscreen' == ed.id )
-                                       fullscreen.off();
-                               else
-                                       fullscreen.on();
-                       });
-
-                       // Register buttons
-                       ed.addButton('wp_fullscreen', {
-                               title : 'wordpress.wp_fullscreen_desc',
-                               cmd : 'wpFullScreen'
-                       });
-
-                       // END fullscreen
-//----------------------------------------------------------------
-                       // START autoresize
-
-                       if ( ed.getParam('fullscreen_is_enabled') || !ed.getParam('wp_fullscreen_is_enabled') )
-                               return;
-
-                       /**
-                        * This method gets executed each time the editor needs to resize.
-                        */
-                       function resize(editor, e) {
-                               var DOM = tinymce.DOM, body = ed.getBody(), ifr = DOM.get(ed.id + '_ifr'), height, y = ed.dom.win.scrollY;
-
-                               if ( t.resize_timeout )
-                                       return;
-
-                               // sometimes several events are fired few ms apart, trottle down resizing a little
-                               t.resize_timeout = true;
-                               setTimeout(function(){
-                                       t.resize_timeout = false;
-                               }, 500);
-
-                               height = body.scrollHeight > 300 ? body.scrollHeight : 300;
-
-                               if ( height != ifr.scrollHeight ) {
-                                       DOM.setStyle(ifr, 'height', height + 'px');
-                                       ed.getWin().scrollTo(0, 0); // iframe window object, make sure there's no scrolling
-                               }
-
-                               // WebKit scrolls to top on paste...
-                               if ( e && e.type == 'paste' && tinymce.isWebKit ) {
-                                       setTimeout(function(){
-                                               ed.dom.win.scrollTo(0, y);
-                                       }, 40);
-                               }
-                       }
-
-                       // Add appropriate listeners for resizing content area
-                       ed.onInit.add( function( ed ) {
-                               ed.onChange.add(resize);
-                               ed.onSetContent.add(resize);
-                               ed.onPaste.add(resize);
-                               ed.onKeyUp.add(resize);
-                               ed.onPostRender.add(resize);
-
-                               ed.getBody().style.overflowY = 'hidden';
-                       });
-
-                       if ( ed.getParam('autoresize_on_init', true) ) {
-                               ed.onLoadContent.add( function() {
-                                       // Because the content area resizes when its content CSS loads,
-                                       // and we can't easily add a listener to its onload event,
-                                       // we'll just trigger a resize after a short loading period
-                                       setTimeout(function() {
-                                               resize();
-                                       }, 1200);
-                               });
-                       }
-
-                       // Register the command so that it can be invoked by using tinymce.activeEditor.execCommand('mceExample');
-                       ed.addCommand('wpAutoResize', resize);
-               },
-
-               getInfo : function() {
-                       return {
-                               longname : 'WP Fullscreen',
-                               author : 'WordPress',
-                               authorurl : 'http://wordpress.org',
-                               infourl : '',
-                               version : '1.0'
-                       };
-               }
-       });
-
-       // Register plugin
-       tinymce.PluginManager.add('wpfullscreen', tinymce.plugins.wpFullscreenPlugin);
-})();
diff --git a/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js b/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js
new file mode 100644 (file)
index 0000000..ed60d3c
--- /dev/null
@@ -0,0 +1,105 @@
+/* global tinymce */
+/**
+ * WP Fullscreen (Distraction Free Writing) TinyMCE plugin
+ */
+tinymce.PluginManager.add( 'wpfullscreen', function( editor ) {
+       var settings = editor.settings,
+               oldSize = 0;
+
+       function resize( e ) {
+               var deltaSize, myHeight,
+                       d = editor.getDoc(),
+                       body = d.body,
+                       DOM = tinymce.DOM,
+                       resizeHeight = 250;
+
+               if ( ( e && e.type === 'setcontent' && e.initial ) || editor.settings.inline ) {
+                       return;
+               }
+
+               // Get height differently depending on the browser used
+               myHeight = tinymce.Env.ie ? body.scrollHeight : ( tinymce.Env.webkit && body.clientHeight === 0 ? 0 : body.offsetHeight );
+
+               // Don't make it smaller than 250px
+               if ( myHeight > 250 ) {
+                       resizeHeight = myHeight;
+               }
+
+               body.scrollTop = 0;
+
+               // Resize content element
+               if ( resizeHeight !== oldSize ) {
+                       deltaSize = resizeHeight - oldSize;
+                       DOM.setStyle( DOM.get( editor.id + '_ifr' ), 'height', resizeHeight + 'px' );
+                       oldSize = resizeHeight;
+
+                       // WebKit doesn't decrease the size of the body element until the iframe gets resized
+                       // So we need to continue to resize the iframe down until the size gets fixed
+                       if ( tinymce.isWebKit && deltaSize < 0 ) {
+                               resize( e );
+                       }
+               }
+       }
+
+       // Register the command
+       editor.addCommand( 'wpAutoResize', resize );
+
+       function fullscreenOn() {
+               settings.wp_fullscreen = true;
+               editor.dom.addClass( editor.getDoc().documentElement, 'wp-fullscreen' );
+               // Add listeners for auto-resizing
+               editor.on( 'change setcontent paste keyup', resize );
+       }
+
+       function fullscreenOff() {
+               settings.wp_fullscreen = false;
+               editor.dom.removeClass( editor.getDoc().documentElement, 'wp-fullscreen' );
+               // Remove listeners for auto-resizing
+               editor.off( 'change setcontent paste keyup', resize );
+               oldSize = 0;
+       }
+
+       // For use from outside the editor.
+       editor.addCommand( 'wpFullScreenOn', fullscreenOn );
+       editor.addCommand( 'wpFullScreenOff', fullscreenOff );
+
+       function toggleFullscreen() {
+               // Toggle DFW mode. For use from inside the editor.
+               if ( typeof wp === 'undefined' || ! wp.editor || ! wp.editor.fullscreen ) {
+                       return;
+               }
+
+               if ( editor.getParam('wp_fullscreen') ) {
+                       wp.editor.fullscreen.off();
+               } else {
+                       wp.editor.fullscreen.on();
+               }
+       }
+
+       editor.addCommand( 'wpFullScreen', toggleFullscreen );
+
+       editor.on( 'init', function() {
+               // Set the editor when initializing from whitin DFW
+               if ( editor.getParam('wp_fullscreen') ) {
+                       fullscreenOn();
+               }
+
+               editor.addShortcut( 'alt+shift+w', '', 'wpFullScreen' );
+       });
+
+       // Register buttons
+       editor.addButton( 'wp_fullscreen', {
+               tooltip: 'Distraction Free Writing',
+               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',
+               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
new file mode 100644 (file)
index 0000000..b450735
--- /dev/null
@@ -0,0 +1 @@
+tinymce.PluginManager.add("wpfullscreen",function(a){function b(c){var d,e,f=a.getDoc(),h=f.body,i=tinymce.DOM,j=250;c&&"setcontent"===c.type&&c.initial||a.settings.inline||(e=tinymce.Env.ie?h.scrollHeight:tinymce.Env.webkit&&0===h.clientHeight?0:h.offsetHeight,e>250&&(j=e),h.scrollTop=0,j!==g&&(d=j-g,i.setStyle(i.get(a.id+"_ifr"),"height",j+"px"),g=j,tinymce.isWebKit&&0>d&&b(c)))}function c(){f.wp_fullscreen=!0,a.dom.addClass(a.getDoc().documentElement,"wp-fullscreen"),a.on("change setcontent paste keyup",b)}function d(){f.wp_fullscreen=!1,a.dom.removeClass(a.getDoc().documentElement,"wp-fullscreen"),a.off("change setcontent paste keyup",b),g=0}function e(){"undefined"!=typeof wp&&wp.editor&&wp.editor.fullscreen&&(a.getParam("wp_fullscreen")?wp.editor.fullscreen.off():wp.editor.fullscreen.on())}var f=a.settings,g=0;a.addCommand("wpAutoResize",b),a.addCommand("wpFullScreenOn",c),a.addCommand("wpFullScreenOff",d),a.addCommand("wpFullScreen",e),a.on("init",function(){a.getParam("wp_fullscreen")&&c(),a.addShortcut("alt+shift+w","","wpFullScreen")}),a.addButton("wp_fullscreen",{tooltip:"Distraction Free Writing",shortcut:"Alt+Shift+W",onclick:e,classes:"wp-fullscreen btn widget"}),a.addMenuItem("wp_fullscreen",{text:"Distraction Free Writing",icon:"wp_fullscreen",shortcut:"Alt+Shift+W",context:"view",onclick:e})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.js b/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.js
deleted file mode 100644 (file)
index cd42662..0000000
+++ /dev/null
@@ -1 +0,0 @@
-!function(){tinymce.create("tinymce.plugins.wpGallery",{init:function(a,b){var c=this;c.url=b,c.editor=a,c._createButtons(),a.addCommand("WP_Gallery",function(){tinymce.isIE&&a.selection.moveToBookmark(a.wpGalleryBookmark);var b,c=a.selection.getNode(),d=wp.media.gallery;"undefined"!=typeof wp&&wp.media&&wp.media.gallery&&"IMG"==c.nodeName&&-1!=a.dom.getAttrib(c,"class").indexOf("wp-gallery")&&(b=d.edit("["+a.dom.getAttrib(c,"title")+"]"),b.state("gallery-edit").on("update",function(b){var e=d.shortcode(b).string().slice(1,-1);a.dom.setAttrib(c,"title",e)}))}),a.onInit.add(function(a){"ontouchstart"in window&&a.dom.events.add(a.getBody(),"touchstart",function(b){var c=b.target;"IMG"==c.nodeName&&a.dom.hasClass(c,"wp-gallery")&&(a.selection.select(c),a.dom.events.cancel(b),a.plugins.wordpress._hideButtons(),a.plugins.wordpress._showButtons(c,"wp_gallerybtns"))})}),a.onMouseDown.add(function(a,b){"IMG"==b.target.nodeName&&a.dom.hasClass(b.target,"wp-gallery")&&(a.plugins.wordpress._hideButtons(),a.plugins.wordpress._showButtons(b.target,"wp_gallerybtns"))}),a.onBeforeSetContent.add(function(a,b){b.content=c._do_gallery(b.content)}),a.onPostProcess.add(function(a,b){b.get&&(b.content=c._get_gallery(b.content))})},_do_gallery:function(a){return a.replace(/\[gallery([^\]]*)\]/g,function(a,b){return'<img src="'+tinymce.baseURL+'/plugins/wpgallery/img/t.gif" class="wp-gallery mceItem" title="gallery'+tinymce.DOM.encode(b)+'" />'})},_get_gallery:function(a){function b(a,b){return b=new RegExp(b+'="([^"]+)"',"g").exec(a),b?tinymce.DOM.decode(b[1]):""}return a.replace(/(?:<p[^>]*>)*(<img[^>]+>)(?:<\/p>)*/g,function(a,c){var d=b(c,"class");return-1!=d.indexOf("wp-gallery")?"<p>["+tinymce.trim(b(c,"title"))+"]</p>":a})},_createButtons:function(){var a,b,c,d=this,e=tinymce.activeEditor,f=tinymce.DOM;f.get("wp_gallerybtns")||(c=window.devicePixelRatio&&window.devicePixelRatio>1||window.matchMedia&&window.matchMedia("(min-resolution:130dpi)").matches,f.add(document.body,"div",{id:"wp_gallerybtns",style:"display:none;"}),a=f.add("wp_gallerybtns","img",{src:c?d.url+"/img/edit-2x.png":d.url+"/img/edit.png",id:"wp_editgallery",width:"24",height:"24",title:e.getLang("wordpress.editgallery")}),tinymce.dom.Event.add(a,"mousedown",function(){var a=tinymce.activeEditor;a.wpGalleryBookmark=a.selection.getBookmark("simple"),a.execCommand("WP_Gallery"),a.plugins.wordpress._hideButtons()}),b=f.add("wp_gallerybtns","img",{src:c?d.url+"/img/delete-2x.png":d.url+"/img/delete.png",id:"wp_delgallery",width:"24",height:"24",title:e.getLang("wordpress.delgallery")}),tinymce.dom.Event.add(b,"mousedown",function(a){var b=tinymce.activeEditor,c=b.selection.getNode();"IMG"==c.nodeName&&b.dom.hasClass(c,"wp-gallery")&&(b.dom.remove(c),b.execCommand("mceRepaint"),b.dom.events.cancel(a)),b.plugins.wordpress._hideButtons()}))},getInfo:function(){return{longname:"Gallery Settings",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}}),tinymce.PluginManager.add("wpgallery",tinymce.plugins.wpGallery)}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin_src.js b/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin_src.js
deleted file mode 100644 (file)
index 555cd6c..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-/* global tinymce */
-(function() {
-       tinymce.create('tinymce.plugins.wpGallery', {
-
-               init : function(ed, url) {
-                       var t = this;
-
-                       t.url = url;
-                       t.editor = ed;
-                       t._createButtons();
-
-                       // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('...');
-                       ed.addCommand('WP_Gallery', function() {
-                               if ( tinymce.isIE )
-                                       ed.selection.moveToBookmark( ed.wpGalleryBookmark );
-
-                               var el = ed.selection.getNode(),
-                                       gallery = wp.media.gallery,
-                                       frame;
-
-                               // Check if the `wp.media.gallery` API exists.
-                               if ( typeof wp === 'undefined' || ! wp.media || ! wp.media.gallery )
-                                       return;
-
-                               // Make sure we've selected a gallery node.
-                               if ( el.nodeName != 'IMG' || ed.dom.getAttrib(el, 'class').indexOf('wp-gallery') == -1 )
-                                       return;
-
-                               frame = gallery.edit( '[' + ed.dom.getAttrib( el, 'title' ) + ']' );
-
-                               frame.state('gallery-edit').on( 'update', function( selection ) {
-                                       var shortcode = gallery.shortcode( selection ).string().slice( 1, -1 );
-                                       ed.dom.setAttrib( el, 'title', shortcode );
-                               });
-                       });
-
-                       ed.onInit.add(function(ed) {
-                               // iOS6 doesn't show the buttons properly on click, show them on 'touchstart'
-                               if ( 'ontouchstart' in window ) {
-                                       ed.dom.events.add(ed.getBody(), 'touchstart', function(e){
-                                               var target = e.target;
-
-                                               if ( target.nodeName == 'IMG' && ed.dom.hasClass(target, 'wp-gallery') ) {
-                                                       ed.selection.select(target);
-                                                       ed.dom.events.cancel(e);
-                                                       ed.plugins.wordpress._hideButtons();
-                                                       ed.plugins.wordpress._showButtons(target, 'wp_gallerybtns');
-                                               }
-                                       });
-                               }
-                       });
-
-                       ed.onMouseDown.add(function(ed, e) {
-                               if ( e.target.nodeName == 'IMG' && ed.dom.hasClass(e.target, 'wp-gallery') ) {
-                                       ed.plugins.wordpress._hideButtons();
-                                       ed.plugins.wordpress._showButtons(e.target, 'wp_gallerybtns');
-                               }
-                       });
-
-                       ed.onBeforeSetContent.add(function(ed, o) {
-                               o.content = t._do_gallery(o.content);
-                       });
-
-                       ed.onPostProcess.add(function(ed, o) {
-                               if (o.get)
-                                       o.content = t._get_gallery(o.content);
-                       });
-               },
-
-               _do_gallery : function(co) {
-                       return co.replace(/\[gallery([^\]]*)\]/g, function(a,b){
-                               return '<img src="'+tinymce.baseURL+'/plugins/wpgallery/img/t.gif" class="wp-gallery mceItem" title="gallery'+tinymce.DOM.encode(b)+'" />';
-                       });
-               },
-
-               _get_gallery : function(co) {
-
-                       function getAttr(s, n) {
-                               n = new RegExp(n + '=\"([^\"]+)\"', 'g').exec(s);
-                               return n ? tinymce.DOM.decode(n[1]) : '';
-                       }
-
-                       return co.replace(/(?:<p[^>]*>)*(<img[^>]+>)(?:<\/p>)*/g, function(a,im) {
-                               var cls = getAttr(im, 'class');
-
-                               if ( cls.indexOf('wp-gallery') != -1 )
-                                       return '<p>['+tinymce.trim(getAttr(im, 'title'))+']</p>';
-
-                               return a;
-                       });
-               },
-
-               _createButtons : function() {
-                       var t = this, ed = tinymce.activeEditor, DOM = tinymce.DOM, editButton, dellButton, isRetina;
-
-                       if ( DOM.get('wp_gallerybtns') )
-                               return;
-
-                       isRetina = ( window.devicePixelRatio && window.devicePixelRatio > 1 ) || // WebKit, Opera
-                               ( window.matchMedia && window.matchMedia('(min-resolution:130dpi)').matches ); // Firefox, IE10, Opera
-
-                       DOM.add(document.body, 'div', {
-                               id : 'wp_gallerybtns',
-                               style : 'display:none;'
-                       });
-
-                       editButton = DOM.add('wp_gallerybtns', 'img', {
-                               src : isRetina ? t.url+'/img/edit-2x.png' : t.url+'/img/edit.png',
-                               id : 'wp_editgallery',
-                               width : '24',
-                               height : '24',
-                               title : ed.getLang('wordpress.editgallery')
-                       });
-
-                       tinymce.dom.Event.add( editButton, 'mousedown', function() {
-                               var ed = tinymce.activeEditor;
-                               ed.wpGalleryBookmark = ed.selection.getBookmark('simple');
-                               ed.execCommand('WP_Gallery');
-                               ed.plugins.wordpress._hideButtons();
-                       });
-
-                       dellButton = DOM.add('wp_gallerybtns', 'img', {
-                               src : isRetina ? t.url+'/img/delete-2x.png' : t.url+'/img/delete.png',
-                               id : 'wp_delgallery',
-                               width : '24',
-                               height : '24',
-                               title : ed.getLang('wordpress.delgallery')
-                       });
-
-                       tinymce.dom.Event.add(dellButton, 'mousedown', function(e) {
-                               var ed = tinymce.activeEditor, el = ed.selection.getNode();
-
-                               if ( el.nodeName == 'IMG' && ed.dom.hasClass(el, 'wp-gallery') ) {
-                                       ed.dom.remove(el);
-
-                                       ed.execCommand('mceRepaint');
-                                       ed.dom.events.cancel(e);
-                               }
-
-                               ed.plugins.wordpress._hideButtons();
-                       });
-               },
-
-               getInfo : function() {
-                       return {
-                               longname : 'Gallery Settings',
-                               author : 'WordPress',
-                               authorurl : 'http://wordpress.org',
-                               infourl : '',
-                               version : '1.0'
-                       };
-               }
-       });
-
-       tinymce.PluginManager.add('wpgallery', tinymce.plugins.wpGallery);
-})();
diff --git a/wp-includes/js/tinymce/plugins/wpgallery/img/delete-2x.png b/wp-includes/js/tinymce/plugins/wpgallery/img/delete-2x.png
deleted file mode 100644 (file)
index 859d853..0000000
Binary files a/wp-includes/js/tinymce/plugins/wpgallery/img/delete-2x.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/wpgallery/img/delete.png b/wp-includes/js/tinymce/plugins/wpgallery/img/delete.png
deleted file mode 100644 (file)
index fe537f0..0000000
Binary files a/wp-includes/js/tinymce/plugins/wpgallery/img/delete.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/wpgallery/img/edit-2x.png b/wp-includes/js/tinymce/plugins/wpgallery/img/edit-2x.png
deleted file mode 100644 (file)
index b43dc23..0000000
Binary files a/wp-includes/js/tinymce/plugins/wpgallery/img/edit-2x.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/wpgallery/img/edit.png b/wp-includes/js/tinymce/plugins/wpgallery/img/edit.png
deleted file mode 100644 (file)
index 793193b..0000000
Binary files a/wp-includes/js/tinymce/plugins/wpgallery/img/edit.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/wpgallery/img/t.gif b/wp-includes/js/tinymce/plugins/wpgallery/img/t.gif
deleted file mode 100644 (file)
index 3884865..0000000
Binary files a/wp-includes/js/tinymce/plugins/wpgallery/img/t.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/plugins/wpgallery/plugin.js b/wp-includes/js/tinymce/plugins/wpgallery/plugin.js
new file mode 100644 (file)
index 0000000..7f82e35
--- /dev/null
@@ -0,0 +1,130 @@
+/* global tinymce */
+tinymce.PluginManager.add('wpgallery', function( editor ) {
+
+       function replaceGalleryShortcodes( content ) {
+               return content.replace( /\[gallery([^\]]*)\]/g, function( match ) {
+                       return html( 'wp-gallery', match );
+               });
+       }
+
+       function html( cls, data ) {
+               data = window.encodeURIComponent( data );
+               return '<img src="' + tinymce.Env.transparentSrc + '" class="wp-media mceItem ' + cls + '" ' +
+                       'data-wp-media="' + data + '" data-mce-resize="false" data-mce-placeholder="1" />';
+       }
+
+       function restoreMediaShortcodes( content ) {
+               function getAttr( str, name ) {
+                       name = new RegExp( name + '=\"([^\"]+)\"' ).exec( str );
+                       return name ? window.decodeURIComponent( name[1] ) : '';
+               }
+
+               return content.replace( /(?:<p(?: [^>]+)?>)*(<img [^>]+>)(?:<\/p>)*/g, function( match, image ) {
+                       var data = getAttr( image, 'data-wp-media' );
+
+                       if ( data ) {
+                               return '<p>' + data + '</p>';
+                       }
+
+                       return match;
+               });
+       }
+
+       function editMedia( node ) {
+               var gallery, frame, data;
+
+               if ( node.nodeName !== 'IMG' ) {
+                       return;
+               }
+
+               // Check if the `wp.media` API exists.
+               if ( typeof wp === 'undefined' || ! wp.media ) {
+                       return;
+               }
+
+               data = window.decodeURIComponent( editor.dom.getAttrib( node, 'data-wp-media' ) );
+
+               // Make sure we've selected a gallery node.
+               if ( editor.dom.hasClass( node, 'wp-gallery' ) && wp.media.gallery ) {
+                       gallery = wp.media.gallery;
+                       frame = gallery.edit( data );
+
+                       frame.state('gallery-edit').on( 'update', function( selection ) {
+                               var shortcode = gallery.shortcode( selection ).string();
+                               editor.dom.setAttrib( node, 'data-wp-media', window.encodeURIComponent( shortcode ) );
+                               frame.detach();
+                       });
+               }
+       }
+
+       // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('...');
+       editor.addCommand( 'WP_Gallery', function() {
+               editMedia( editor.selection.getNode() );
+       });
+/*
+       editor.on( 'init', function( e ) {
+       //      _createButtons()
+
+               // iOS6 doesn't show the buttons properly on click, show them on 'touchstart'
+               if ( 'ontouchstart' in window ) {
+                       editor.dom.events.bind( editor.getBody(), 'touchstart', function( e ) {
+                               var target = e.target;
+
+                               if ( target.nodeName == 'IMG' && editor.dom.hasClass( target, 'wp-gallery' ) ) {
+                                       editor.selection.select( target );
+                                       editor.dom.events.cancel( e );
+                                       editor.plugins.wordpress._hideButtons();
+                                       editor.plugins.wordpress._showButtons( target, 'wp_gallerybtns' );
+                               }
+                       });
+               }
+       });
+*/
+       editor.on( 'mouseup', function( event ) {
+               var dom = editor.dom,
+                       node = event.target;
+
+               function unselect() {
+                       dom.removeClass( dom.select( 'img.wp-media-selected' ), 'wp-media-selected' );
+               }
+
+               if ( node.nodeName === 'IMG' && dom.getAttrib( node, 'data-wp-media' ) ) {
+                       // Don't trigger on right-click
+                       if ( event.button !== 2 ) {
+                               if ( dom.hasClass( node, 'wp-media-selected' ) ) {
+                                       editMedia( node );
+                               } else {
+                                       unselect();
+                                       dom.addClass( node, 'wp-media-selected' );
+                               }
+                       }
+               } else {
+                       unselect();
+               }
+       });
+
+       // Display gallery, audio or video instead of img in the element path
+       editor.on( 'ResolveName', function( event ) {
+               var dom = editor.dom,
+                       node = event.target;
+
+               if ( node.nodeName === 'IMG' && dom.getAttrib( node, 'data-wp-media' ) ) {
+                       if ( dom.hasClass( node, 'wp-gallery' ) ) {
+                               event.name = 'gallery';
+                       }
+               }
+       });
+
+       editor.on( 'BeforeSetContent', function( event ) {
+               // 'wpview' handles the gallery shortcode when present
+               if ( ! editor.plugins.wpview ) {
+                       event.content = replaceGalleryShortcodes( event.content );
+               }
+       });
+
+       editor.on( 'PostProcess', function( event ) {
+               if ( event.get ) {
+                       event.content = restoreMediaShortcodes( event.content );
+               }
+       });
+});
diff --git a/wp-includes/js/tinymce/plugins/wpgallery/plugin.min.js b/wp-includes/js/tinymce/plugins/wpgallery/plugin.min.js
new file mode 100644 (file)
index 0000000..dc6288a
--- /dev/null
@@ -0,0 +1 @@
+tinymce.PluginManager.add("wpgallery",function(a){function b(a){return a.replace(/\[gallery([^\]]*)\]/g,function(a){return c("wp-gallery",a)})}function c(a,b){return b=window.encodeURIComponent(b),'<img src="'+tinymce.Env.transparentSrc+'" class="wp-media mceItem '+a+'" data-wp-media="'+b+'" data-mce-resize="false" data-mce-placeholder="1" />'}function d(a){function b(a,b){return b=new RegExp(b+'="([^"]+)"').exec(a),b?window.decodeURIComponent(b[1]):""}return a.replace(/(?:<p(?: [^>]+)?>)*(<img [^>]+>)(?:<\/p>)*/g,function(a,c){var d=b(c,"data-wp-media");return d?"<p>"+d+"</p>":a})}function e(b){var c,d,e;"IMG"===b.nodeName&&"undefined"!=typeof wp&&wp.media&&(e=window.decodeURIComponent(a.dom.getAttrib(b,"data-wp-media")),a.dom.hasClass(b,"wp-gallery")&&wp.media.gallery&&(c=wp.media.gallery,d=c.edit(e),d.state("gallery-edit").on("update",function(e){var f=c.shortcode(e).string();a.dom.setAttrib(b,"data-wp-media",window.encodeURIComponent(f)),d.detach()})))}a.addCommand("WP_Gallery",function(){e(a.selection.getNode())}),a.on("mouseup",function(b){function c(){d.removeClass(d.select("img.wp-media-selected"),"wp-media-selected")}var d=a.dom,f=b.target;"IMG"===f.nodeName&&d.getAttrib(f,"data-wp-media")?2!==b.button&&(d.hasClass(f,"wp-media-selected")?e(f):(c(),d.addClass(f,"wp-media-selected"))):c()}),a.on("ResolveName",function(b){var c=a.dom,d=b.target;"IMG"===d.nodeName&&c.getAttrib(d,"data-wp-media")&&c.hasClass(d,"wp-gallery")&&(b.name="gallery")}),a.on("BeforeSetContent",function(c){a.plugins.wpview||(c.content=b(c.content))}),a.on("PostProcess",function(a){a.get&&(a.content=d(a.content))})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wplink/editor_plugin.js b/wp-includes/js/tinymce/plugins/wplink/editor_plugin.js
deleted file mode 100644 (file)
index 4803784..0000000
+++ /dev/null
@@ -1 +0,0 @@
-!function(){tinymce.create("tinymce.plugins.wpLink",{init:function(a,b){var c=!0;a.addCommand("WP_Link",function(){c||a.windowManager.open({id:"wp-link",width:480,height:"auto",wpDialog:!0,title:a.getLang("advlink.link_desc")},{plugin_url:b})}),a.addButton("link",{title:"advanced.link_desc",cmd:"WP_Link"}),a.onNodeChange.add(function(a,b,d,e){c=e&&"A"!=d.nodeName})},getInfo:function(){return{longname:"WordPress Link Dialog",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}}),tinymce.PluginManager.add("wplink",tinymce.plugins.wpLink)}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wplink/editor_plugin_src.js b/wp-includes/js/tinymce/plugins/wplink/editor_plugin_src.js
deleted file mode 100644 (file)
index 31aac84..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/* global tinymce */
-
-(function() {
-       tinymce.create('tinymce.plugins.wpLink', {
-               /**
-                * Initializes the plugin, this will be executed after the plugin has been created.
-                * This call is done before the editor instance has finished its initialization so use the onInit event
-                * of the editor instance to intercept that event.
-                *
-                * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
-                * @param {string} url Absolute URL to where the plugin is located.
-                */
-               init : function(ed, url) {
-                       var disabled = true;
-
-                       // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample');
-                       ed.addCommand('WP_Link', function() {
-                               if ( disabled )
-                                       return;
-                               ed.windowManager.open({
-                                       id : 'wp-link',
-                                       width : 480,
-                                       height : 'auto',
-                                       wpDialog : true,
-                                       title : ed.getLang('advlink.link_desc')
-                               }, {
-                                       plugin_url : url // Plugin absolute URL
-                               });
-                       });
-
-                       // Register example button
-                       ed.addButton('link', {
-                               title : 'advanced.link_desc',
-                               cmd : 'WP_Link'
-                       });
-
-                       ed.onNodeChange.add(function(ed, cm, n, co) {
-                               disabled = co && n.nodeName != 'A';
-                       });
-               },
-               /**
-                * Returns information about the plugin as a name/value array.
-                * The current keys are longname, author, authorurl, infourl and version.
-                *
-                * @return {Object} Name/value array containing information about the plugin.
-                */
-               getInfo : function() {
-                       return {
-                               longname : 'WordPress Link Dialog',
-                               author : 'WordPress',
-                               authorurl : 'http://wordpress.org',
-                               infourl : '',
-                               version : '1.0'
-                       };
-               }
-       });
-
-       // Register plugin
-       tinymce.PluginManager.add('wplink', tinymce.plugins.wpLink);
-})();
-
diff --git a/wp-includes/js/tinymce/plugins/wplink/plugin.js b/wp-includes/js/tinymce/plugins/wplink/plugin.js
new file mode 100644 (file)
index 0000000..1d6820a
--- /dev/null
@@ -0,0 +1,60 @@
+/* global tinymce */
+tinymce.PluginManager.add( 'wplink', function( editor ) {
+       var linkButton;
+       
+       // Register a command so that it can be invoked by using tinyMCE.activeEditor.execCommand( 'WP_Link' );
+       editor.addCommand( 'WP_Link', function() {
+               if ( ( ! linkButton || ! linkButton.disabled() ) && typeof window.wpLink !== 'undefined' ) {
+                       window.wpLink.open( editor.id );
+               }
+       });
+
+       // WP default shortcut
+       editor.addShortcut( 'alt+shift+a', '', 'WP_Link' );
+       // The "de-facto standard" shortcut, see #27305
+       editor.addShortcut( 'ctrl+k', '', 'WP_Link' );
+
+       function setState( button, node ) {
+               button.disabled( editor.selection.isCollapsed() && node.nodeName !== 'A' );
+               button.active( node.nodeName === 'A' && ! node.name );
+       }
+
+       editor.addButton( 'link', {
+               icon: 'link',
+               tooltip: 'Insert/edit link',
+               shortcut: 'Alt+Shift+A',
+               cmd: 'WP_Link',
+
+               onPostRender: function() {
+                       linkButton = this;
+
+                       editor.on( 'nodechange', function( event ) {
+                               setState( linkButton, event.element );
+                       });
+               }
+       });
+
+       editor.addButton( 'unlink', {
+               icon: 'unlink',
+               tooltip: 'Remove link',
+               cmd: 'unlink',
+
+               onPostRender: function() {
+                       var unlinkButton = this;
+
+                       editor.on( 'nodechange', function( event ) {
+                               setState( unlinkButton, event.element );
+                       });
+               }
+       });
+
+       editor.addMenuItem( 'link', {
+               icon: 'link',
+               text: 'Insert link',
+               shortcut: 'Alt+Shift+A',
+               cmd: 'WP_Link',
+               stateSelector: 'a[href]',
+               context: 'insert',
+               prependToContext: true
+       });
+});
diff --git a/wp-includes/js/tinymce/plugins/wplink/plugin.min.js b/wp-includes/js/tinymce/plugins/wplink/plugin.min.js
new file mode 100644 (file)
index 0000000..af8751d
--- /dev/null
@@ -0,0 +1 @@
+tinymce.PluginManager.add("wplink",function(a){function b(b,c){b.disabled(a.selection.isCollapsed()&&"A"!==c.nodeName),b.active("A"===c.nodeName&&!c.name)}var c;a.addCommand("WP_Link",function(){c&&c.disabled()||"undefined"==typeof window.wpLink||window.wpLink.open(a.id)}),a.addShortcut("alt+shift+a","","WP_Link"),a.addShortcut("ctrl+k","","WP_Link"),a.addButton("link",{icon:"link",tooltip:"Insert/edit link",shortcut:"Alt+Shift+A",cmd:"WP_Link",onPostRender:function(){c=this,a.on("nodechange",function(a){b(c,a.element)})}}),a.addButton("unlink",{icon:"unlink",tooltip:"Remove link",cmd:"unlink",onPostRender:function(){var c=this;a.on("nodechange",function(a){b(c,a.element)})}}),a.addMenuItem("link",{icon:"link",text:"Insert link",shortcut:"Alt+Shift+A",cmd:"WP_Link",stateSelector:"a[href]",context:"insert",prependToContext:!0})});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpview/editor_plugin.js b/wp-includes/js/tinymce/plugins/wpview/editor_plugin.js
deleted file mode 100644 (file)
index 02f8085..0000000
+++ /dev/null
@@ -1 +0,0 @@
-!function(){var a,b=tinymce.VK,c=tinymce.dom.TreeWalker;tinymce.create("tinymce.plugins.wpView",{init:function(d){var e=this;"undefined"!=typeof wp&&wp.mce&&(d.onPreInit.add(function(a){a.schema.addValidElements("div[*],span[*]")}),d.onBeforeSetContent.add(function(a,b){b.content&&(b.content=wp.mce.view.toViews(b.content))}),d.onSetContent.add(function(a){wp.mce.view.render(a.getDoc())}),d.onInit.add(function(a){a.selection.onBeforeSetContent.add(function(b){var d,f,g=e.getParentView(b.getNode());g&&(!g.nextSibling||e.isView(g.nextSibling)?(f=a.getDoc().createTextNode(""),a.dom.insertAfter(f,g)):(d=new c(g.nextSibling,g.nextSibling),f=d.next()),b.select(f),b.collapse(!0))}),a.selection.onSetContent.add(function(a,b){if(b.context){var c=a.getNode();c.innerHTML&&(c.innerHTML=wp.mce.view.toViews(c.innerHTML),wp.mce.view.render(c))}})}),d.onPostProcess.add(function(a,b){(b.get||b.save)&&b.content&&(b.content=wp.mce.view.toText(b.content))}),d.onNodeChange.addToTop(function(a,b,c){var d=e.getParentView(c);return d?(e.select(d),!1):(e.deselect(),void 0)}),d.onKeyDown.addToTop(function(c,d){var f,g,h=d.keyCode;if(a){if(f=e.getParentView(c.selection.getNode()),f!==a)return e.deselect(),void 0;(h===b.DELETE||h===b.BACKSPACE)&&(g=wp.mce.view.instance(a))&&(g.remove(),e.deselect()),d.metaKey||d.ctrlKey||h>=112&&123>=h||d.preventDefault()}}))},getParentView:function(a){for(;a;){if(this.isView(a))return a;a=a.parentNode}},isView:function(a){return/(?:^|\s)wp-view-wrap(?:\s|$)/.test(a.className)},select:function(b){b!==a&&(this.deselect(),a=b,wp.mce.view.select(a))},deselect:function(){a&&wp.mce.view.deselect(a),a=null},getInfo:function(){return{longname:"WordPress Views",author:"WordPress",authorurl:"http://wordpress.org",infourl:"http://wordpress.org",version:"1.0"}}}),tinymce.PluginManager.add("wpview",tinymce.plugins.wpView)}();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpview/editor_plugin_src.js b/wp-includes/js/tinymce/plugins/wpview/editor_plugin_src.js
deleted file mode 100644 (file)
index a0d28a4..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-/* global tinymce */
-/**
- * WordPress View plugin.
- */
-
-(function() {
-       var VK = tinymce.VK,
-               TreeWalker = tinymce.dom.TreeWalker,
-               selected;
-
-       tinymce.create('tinymce.plugins.wpView', {
-               init : function( editor ) {
-                       var wpView = this;
-
-                       // Check if the `wp.mce` API exists.
-                       if ( typeof wp === 'undefined' || ! wp.mce )
-                               return;
-
-                       editor.onPreInit.add( function( editor ) {
-                               // Add elements so we can set `contenteditable` to false.
-                               editor.schema.addValidElements('div[*],span[*]');
-                       });
-
-                       // When the editor's content changes, scan the new content for
-                       // matching view patterns, and transform the matches into
-                       // view wrappers. Since the editor's DOM is outdated at this point,
-                       // we'll wait to render the views.
-                       editor.onBeforeSetContent.add( function( editor, o ) {
-                               if ( ! o.content )
-                                       return;
-
-                               o.content = wp.mce.view.toViews( o.content );
-                       });
-
-                       // When the editor's content has been updated and the DOM has been
-                       // processed, render the views in the document.
-                       editor.onSetContent.add( function( editor ) {
-                               wp.mce.view.render( editor.getDoc() );
-                       });
-
-                       editor.onInit.add( function( editor ) {
-
-                               // When a view is selected, ensure content that is being pasted
-                               // or inserted is added to a text node (instead of the view).
-                               editor.selection.onBeforeSetContent.add( function( selection ) {
-                                       var view = wpView.getParentView( selection.getNode() ),
-                                               walker, target;
-
-                                       // If the selection is not within a view, bail.
-                                       if ( ! view )
-                                               return;
-
-                                       // If there are no additional nodes or the next node is a
-                                       // view, create a text node after the current view.
-                                       if ( ! view.nextSibling || wpView.isView( view.nextSibling ) ) {
-                                               target = editor.getDoc().createTextNode('');
-                                               editor.dom.insertAfter( target, view );
-
-                                       // Otherwise, find the next text node.
-                                       } else {
-                                               walker = new TreeWalker( view.nextSibling, view.nextSibling );
-                                               target = walker.next();
-                                       }
-
-                                       // Select the `target` text node.
-                                       selection.select( target );
-                                       selection.collapse( true );
-                               });
-
-                               // When the selection's content changes, scan any new content
-                               // for matching views and immediately render them.
-                               //
-                               // Runs on paste and on inserting nodes/html.
-                               editor.selection.onSetContent.add( function( selection, o ) {
-                                       if ( ! o.context )
-                                               return;
-
-                                       var node = selection.getNode();
-
-                                       if ( ! node.innerHTML )
-                                               return;
-
-                                       node.innerHTML = wp.mce.view.toViews( node.innerHTML );
-                                       wp.mce.view.render( node );
-                               });
-                       });
-
-                       // When the editor's contents are being accessed as a string,
-                       // transform any views back to their text representations.
-                       editor.onPostProcess.add( function( editor, o ) {
-                               if ( ( ! o.get && ! o.save ) || ! o.content )
-                                       return;
-
-                               o.content = wp.mce.view.toText( o.content );
-                       });
-
-                       // Triggers when the selection is changed.
-                       // Add the event handler to the top of the stack.
-                       editor.onNodeChange.addToTop( function( editor, controlManager, node ) {
-                               var view = wpView.getParentView( node );
-
-                               // Update the selected view.
-                               if ( view ) {
-                                       wpView.select( view );
-
-                                       // Prevent the selection from propagating to other plugins.
-                                       return false;
-
-                               // If we've clicked off of the selected view, deselect it.
-                               } else {
-                                       wpView.deselect();
-                               }
-                       });
-
-                       editor.onKeyDown.addToTop( function( editor, event ) {
-                               var keyCode = event.keyCode,
-                                       view, instance;
-
-                               // If a view isn't selected, let the event go on its merry way.
-                               if ( ! selected )
-                                       return;
-
-                               // If the caret is not within the selected view, deselect the
-                               // view and bail.
-                               view = wpView.getParentView( editor.selection.getNode() );
-                               if ( view !== selected ) {
-                                       wpView.deselect();
-                                       return;
-                               }
-
-                               // If delete or backspace is pressed, delete the view.
-                               if ( keyCode === VK.DELETE || keyCode === VK.BACKSPACE ) {
-                                       if ( (instance = wp.mce.view.instance( selected )) ) {
-                                               instance.remove();
-                                               wpView.deselect();
-                                       }
-                               }
-
-                               // Let keypresses that involve the command or control keys through.
-                               // Also, let any of the F# keys through.
-                               if ( event.metaKey || event.ctrlKey || ( keyCode >= 112 && keyCode <= 123 ) )
-                                       return;
-
-                               event.preventDefault();
-                       });
-               },
-
-               getParentView : function( node ) {
-                       while ( node ) {
-                               if ( this.isView( node ) )
-                                       return node;
-
-                               node = node.parentNode;
-                       }
-               },
-
-               isView : function( node ) {
-                       return (/(?:^|\s)wp-view-wrap(?:\s|$)/).test( node.className );
-               },
-
-               select : function( view ) {
-                       if ( view === selected )
-                               return;
-
-                       this.deselect();
-                       selected = view;
-                       wp.mce.view.select( selected );
-               },
-
-               deselect : function() {
-                       if ( selected )
-                               wp.mce.view.deselect( selected );
-                       selected = null;
-               },
-
-               getInfo : function() {
-                       return {
-                               longname  : 'WordPress Views',
-                               author    : 'WordPress',
-                               authorurl : 'http://wordpress.org',
-                               infourl   : 'http://wordpress.org',
-                               version   : '1.0'
-                       };
-               }
-       });
-
-       // Register plugin
-       tinymce.PluginManager.add( 'wpview', tinymce.plugins.wpView );
-})();
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpview/plugin.js b/wp-includes/js/tinymce/plugins/wpview/plugin.js
new file mode 100644 (file)
index 0000000..f357fff
--- /dev/null
@@ -0,0 +1,505 @@
+/* global tinymce */
+/**
+ * WordPress View plugin.
+ */
+tinymce.PluginManager.add( 'wpview', function( editor ) {
+       var selected,
+               VK = tinymce.util.VK,
+               TreeWalker = tinymce.dom.TreeWalker,
+               toRemove = false;
+
+       function getParentView( node ) {
+               while ( node && node.nodeName !== 'BODY' ) {
+                       if ( isView( node ) ) {
+                               return node;
+                       }
+
+                       node = node.parentNode;
+               }
+       }
+
+       function isView( node ) {
+               return node && /\bwpview-wrap\b/.test( node.className );
+       }
+
+       function createPadNode() {
+               return editor.dom.create( 'p', { 'data-wpview-pad': 1 },
+                       ( tinymce.Env.ie && tinymce.Env.ie < 11 ) ? '' : '<br data-mce-bogus="1" />' );
+       }
+
+       /**
+        * Get the text/shortcode string for a view.
+        *
+        * @param view The view wrapper's HTML id or node
+        * @returns string The text/shoercode string of the view
+        */
+       function getViewText( view ) {
+               view = getParentView( typeof view === 'string' ? editor.dom.get( view ) : view );
+
+               if ( view ) {
+                       return window.decodeURIComponent( editor.dom.getAttrib( view, 'data-wpview-text' ) || '' );
+               }
+               return '';
+       }
+
+       /**
+        * Set the view's original text/shortcode string
+        *
+        * @param view The view wrapper's HTML id or node
+        * @param text The text string to be set
+        */
+       function setViewText( view, text ) {
+               view = getParentView( typeof view === 'string' ? editor.dom.get( view ) : view );
+
+               if ( view ) {
+                       editor.dom.setAttrib( view, 'data-wpview-text', window.encodeURIComponent( text || '' ) );
+                       return true;
+               }
+               return false;
+       }
+
+       function _stop( event ) {
+               event.stopPropagation();
+       }
+
+       function select( viewNode ) {
+               var clipboard,
+                       dom = editor.dom;
+
+               // Bail if node is already selected.
+               if ( viewNode === selected ) {
+                       return;
+               }
+
+               deselect();
+               selected = viewNode;
+               dom.addClass( viewNode, 'selected' );
+
+               clipboard = dom.create( 'div', {
+                       'class': 'wpview-clipboard',
+                       'contenteditable': 'true'
+               }, getViewText( viewNode ) );
+
+               // Prepend inside the wrapper
+               viewNode.insertBefore( clipboard, viewNode.firstChild );
+
+               // Both of the following are necessary to prevent manipulating the selection/focus
+               dom.bind( clipboard, 'beforedeactivate focusin focusout', _stop );
+               dom.bind( selected, 'beforedeactivate focusin focusout', _stop );
+
+               // Make sure that the editor is focused.
+               // It is possible that the editor is not focused when the mouse event fires
+               // without focus, the selection will not work properly.
+               editor.getBody().focus();
+
+               // select the hidden div
+               editor.selection.select( clipboard, true );
+       }
+
+       /**
+        * Deselect a selected view and remove clipboard
+        */
+       function deselect() {
+               var clipboard,
+                       dom = editor.dom;
+
+               if ( selected ) {
+                       clipboard = editor.dom.select( '.wpview-clipboard', selected )[0];
+                       dom.unbind( clipboard );
+                       dom.remove( clipboard );
+
+                       dom.unbind( selected, 'beforedeactivate focusin focusout click mouseup', _stop );
+                       dom.removeClass( selected, 'selected' );
+               }
+
+               selected = null;
+       }
+
+       function selectSiblingView( node, direction ) {
+               var body = editor.getBody(),
+                       sibling = direction === 'previous' ? 'previousSibling' : 'nextSibling';
+
+               while ( node && node.parentNode !== body ) {
+                       if ( node[sibling] ) {
+                               // The caret will be in another element
+                               return false;
+                       }
+
+                       node = node.parentNode;
+               }
+
+               if ( isView( node[sibling] ) ) {
+                       select( node[sibling] );
+                       return true;
+               }
+
+               return false;
+       }
+
+       // Check if the `wp.mce` API exists.
+       if ( typeof wp === 'undefined' || ! wp.mce ) {
+               return;
+       }
+
+       // Remove the content of view wrappers from HTML string
+       function emptyViews( content ) {
+               return content.replace(/(<div[^>]+wpview-wrap[^>]+>)[\s\S]+?data-wpview-end[^>]*><\/ins><\/div>/g, '$1</div>' );
+       }
+
+       // Prevent adding undo levels on changes inside a view wrapper
+       editor.on( 'BeforeAddUndo', function( event ) {
+               if ( event.lastLevel && emptyViews( event.level.content ) === emptyViews( event.lastLevel.content ) ) {
+                       event.preventDefault();
+               }
+       });
+
+       // When the editor's content changes, scan the new content for
+       // matching view patterns, and transform the matches into
+       // view wrappers.
+       editor.on( 'BeforeSetContent', function( event ) {
+               if ( ! event.content ) {
+                       return;
+               }
+
+               if ( ! event.initial ) {
+                       wp.mce.views.unbind( editor );
+               }
+
+               event.content = wp.mce.views.toViews( event.content );
+       });
+
+       // When the editor's content has been updated and the DOM has been
+       // processed, render the views in the document.
+       editor.on( 'SetContent', function( event ) {
+               var body, padNode;
+
+               wp.mce.views.render();
+
+               // Add padding <p> if the noneditable node is last
+               if ( event.load || ! event.set ) {
+                       body = editor.getBody();
+
+                       if ( isView( body.lastChild ) ) {
+                               padNode = createPadNode();
+                               body.appendChild( padNode );
+
+                               if ( ! event.initial ) {
+                                       editor.selection.setCursorLocation( padNode, 0 );
+                               }
+                       }
+               }
+       });
+
+       // Detect mouse down events that are adjacent to a view when a view is the first view or the last view
+       editor.on( 'click', function( event ) {
+               var body = editor.getBody(),
+                       doc = editor.getDoc(),
+                       scrollTop = doc.documentElement.scrollTop || body.scrollTop || 0,
+                       x, y, firstNode, lastNode, padNode;
+
+               if ( event.target.nodeName === 'HTML' && ! event.metaKey && ! event.ctrlKey ) {
+                       firstNode = body.firstChild;
+                       lastNode = body.lastChild;
+                       x = event.clientX;
+                       y = event.clientY;
+
+                       // Detect clicks above or to the left if the first node is a wpview
+                       if ( isView( firstNode ) && ( ( x < firstNode.offsetLeft && y < ( firstNode.offsetHeight - scrollTop ) ) ||
+                               y < firstNode.offsetTop ) ) {
+
+                               padNode = createPadNode();
+                               body.insertBefore( padNode, firstNode );
+
+                       // Detect clicks to the right and below the last view
+                       } else if ( isView( lastNode ) && ( x > ( lastNode.offsetLeft + lastNode.offsetWidth ) ||
+                               ( ( scrollTop + y ) - ( lastNode.offsetTop + lastNode.offsetHeight ) ) > 0 ) ) {
+
+                               padNode = createPadNode();
+                               body.appendChild( padNode );
+                       }
+
+                       if ( padNode ) {
+                               // Make sure that a selected view is deselected so that focus and selection are handled properly
+                               deselect();
+                               editor.getBody().focus();
+                               editor.selection.setCursorLocation( padNode, 0 );
+                       }
+               }
+       });
+
+       editor.on( 'init', function() {
+               var selection = editor.selection;
+               // When a view is selected, ensure content that is being pasted
+               // or inserted is added to a text node (instead of the view).
+               editor.on( 'BeforeSetContent', function() {
+                       var walker, target,
+                               view = getParentView( selection.getNode() );
+
+                       // If the selection is not within a view, bail.
+                       if ( ! view ) {
+                               return;
+                       }
+
+                       if ( ! view.nextSibling || isView( view.nextSibling ) ) {
+                               // If there are no additional nodes or the next node is a
+                               // view, create a text node after the current view.
+                               target = editor.getDoc().createTextNode('');
+                               editor.dom.insertAfter( target, view );
+                       } else {
+                               // Otherwise, find the next text node.
+                               walker = new TreeWalker( view.nextSibling, view.nextSibling );
+                               target = walker.next();
+                       }
+
+                       // Select the `target` text node.
+                       selection.select( target );
+                       selection.collapse( true );
+               });
+
+               // When the selection's content changes, scan any new content
+               // for matching views.
+               //
+               // Runs on paste and on inserting nodes/html.
+               editor.on( 'SetContent', function( e ) {
+                       if ( ! e.context ) {
+                               return;
+                       }
+
+                       var node = selection.getNode();
+
+                       if ( ! node.innerHTML ) {
+                               return;
+                       }
+
+                       node.innerHTML = wp.mce.views.toViews( node.innerHTML );
+               });
+
+               editor.dom.bind( editor.getBody(), 'mousedown mouseup click', function( event ) {
+                       var view = getParentView( event.target ),
+                               deselectEventType;
+
+                       // Contain clicks inside the view wrapper
+                       if ( view ) {
+                               event.stopPropagation();
+
+                               // Hack to try and keep the block resize handles from appearing. They will show on mousedown and then be removed on mouseup.
+                               if ( tinymce.Env.ie <= 10 ) {
+                                       deselect();
+                               }
+
+                               select( view );
+
+                               if ( event.type === 'click' && ! event.metaKey && ! event.ctrlKey ) {
+                                       if ( editor.dom.hasClass( event.target, 'edit' ) ) {
+                                               wp.mce.views.edit( view );
+                                       } else if ( editor.dom.hasClass( event.target, 'remove' ) ) {
+                                               editor.dom.remove( view );
+                                       }
+                               }
+                               // Returning false stops the ugly bars from appearing in IE11 and stops the view being selected as a range in FF.
+                               // Unfortunately, it also inhibits the dragging of views to a new location.
+                               return false;
+                       } else {
+
+                               // Fix issue with deselecting a view in IE8. Without this hack, clicking content above the view wouldn't actually deselect it
+                               // and the caret wouldn't be placed at the mouse location
+                               if ( tinymce.Env.ie && tinymce.Env.ie <= 8 ) {
+                                       deselectEventType = 'mouseup';
+                               } else {
+                                       deselectEventType = 'mousedown';
+                               }
+
+                               if ( event.type === deselectEventType ) {
+                                       deselect();
+                               }
+                       }
+               });
+       });
+
+       editor.on( 'PreProcess', function( event ) {
+               var dom = editor.dom;
+
+               // Remove empty padding nodes
+               tinymce.each( dom.select( 'p[data-wpview-pad]', event.node ), function( node ) {
+                       if ( dom.isEmpty( node ) ) {
+                               dom.remove( node );
+                       } else {
+                               dom.setAttrib( node, 'data-wpview-pad', null );
+                       }
+               });
+
+               // Replace the wpview node with the wpview string/shortcode?
+               tinymce.each( dom.select( 'div[data-wpview-text]', event.node ), function( node ) {
+                       // Empty the wrap node
+                       if ( 'textContent' in node ) {
+                               node.textContent = '';
+                       } else {
+                               node.innerText = '';
+                       }
+
+                       // This makes all views into block tags (as we use <div>).
+                       // Can use 'PostProcess' and a regex instead.
+                       dom.replace( dom.create( 'p', null, window.decodeURIComponent( dom.getAttrib( node, 'data-wpview-text' ) ) ), node );
+               });
+    });
+
+       editor.on( 'keydown', function( event ) {
+               var keyCode = event.keyCode,
+                       body = editor.getBody(),
+                       view, padNode;
+
+               // If a view isn't selected, let the event go on its merry way.
+               if ( ! selected ) {
+                       return;
+               }
+
+               // Let keypresses that involve the command or control keys through.
+               // Also, let any of the F# keys through.
+               if ( event.metaKey || event.ctrlKey || ( keyCode >= 112 && keyCode <= 123 ) ) {
+                       if ( ( event.metaKey || event.ctrlKey ) && keyCode === 88 ) {
+                               toRemove = selected;
+                       }
+                       return;
+               }
+
+               view = getParentView( editor.selection.getNode() );
+
+               // If the caret is not within the selected view, deselect the
+               // view and bail.
+               if ( view !== selected ) {
+                       deselect();
+                       return;
+               }
+
+               // Deselect views with the arrow keys
+               if ( keyCode === VK.LEFT || keyCode === VK.UP ) {
+                       deselect();
+                       // Handle case where two views are stacked on top of one another
+                       if ( isView( view.previousSibling ) ) {
+                               select( view.previousSibling );
+                       // Handle case where view is the first node
+                       } else if ( ! view.previousSibling ) {
+                               padNode = createPadNode();
+                               body.insertBefore( padNode, body.firstChild );
+                               editor.selection.setCursorLocation( body.firstChild, 0 );
+                       // Handle default case
+                       } else {
+                               editor.selection.select( view.previousSibling, true );
+                               editor.selection.collapse();
+                       }
+               } else if ( keyCode === VK.RIGHT || keyCode === VK.DOWN ) {
+                       deselect();
+                       // Handle case where the next node is another wpview
+                       if ( isView( view.nextSibling ) ) {
+                               select( view.nextSibling );
+                       // Handle case were the view is that last node
+                       } else if ( ! view.nextSibling ) {
+                               padNode = createPadNode();
+                               body.appendChild( padNode );
+                               editor.selection.setCursorLocation( body.lastChild, 0 );
+                       // Handle default case where the next node is a non-wpview
+                       } else {
+                               editor.selection.setCursorLocation( view.nextSibling, 0 );
+                       }
+               } else if ( keyCode === VK.DELETE || keyCode === VK.BACKSPACE ) {
+                       // If delete or backspace is pressed, delete the view.
+                       editor.dom.remove( selected );
+               }
+
+               event.preventDefault();
+       });
+
+       // Select views when arrow keys are used to navigate the content of the editor.
+       editor.on( 'keydown', function( event ) {
+               var keyCode = event.keyCode,
+                       dom = editor.dom,
+                       range = editor.selection.getRng(),
+                       startNode = range.startContainer,
+                       body = editor.getBody(),
+                       node, container;
+
+               if ( ! startNode || startNode === body || event.metaKey || event.ctrlKey ) {
+                       return;
+               }
+
+               if ( keyCode === VK.UP || keyCode === VK.LEFT ) {
+                       if ( keyCode === VK.LEFT && ( ! range.collapsed || range.startOffset !== 0 ) ) {
+                               // Not at the beginning of the current range
+                               return;
+                       }
+
+                       if ( ! ( node = dom.getParent( startNode, dom.isBlock ) ) ) {
+                               return;
+                       }
+
+                       if ( selectSiblingView( node, 'previous' ) ) {
+                               event.preventDefault();
+                       }
+               } else if ( keyCode === VK.DOWN || keyCode === VK.RIGHT ) {
+                       if ( ! ( node = dom.getParent( startNode, dom.isBlock ) ) ) {
+                               return;
+                       }
+
+                       if ( keyCode === VK.RIGHT ) {
+                               container = range.endContainer;
+
+                               if ( ! range.collapsed || ( range.startOffset === 0 && container.length ) ||
+                                       container.nextSibling ||
+                                       ( container.nodeType === 3 && range.startOffset !== container.length ) ) { // Not at the end of the current range
+
+                                       return;
+                               }
+
+                               // In a child element
+                               while ( container && container !== node && container !== body ) {
+                                       if ( container.nextSibling ) {
+                                               return;
+                                       }
+                                       container = container.parentNode;
+                               }
+                       }
+
+                       if ( selectSiblingView( node, 'next' ) ) {
+                               event.preventDefault();
+                       }
+               }
+       });
+
+       editor.on( 'keyup', function( event ) {
+               var padNode,
+                       keyCode = event.keyCode,
+                       body = editor.getBody(),
+                       range;
+
+               if ( toRemove ) {
+                       editor.dom.remove( toRemove );
+                       toRemove = false;
+               }
+
+               if ( keyCode === VK.DELETE || keyCode === VK.BACKSPACE ) {
+                       // Make sure there is padding if the last element is a view
+                       if ( isView( body.lastChild ) ) {
+                               padNode = createPadNode();
+                               body.appendChild( padNode );
+
+                               if ( body.childNodes.length === 2 ) {
+                                       editor.selection.setCursorLocation( padNode, 0 );
+                               }
+                       }
+
+                       range = editor.selection.getRng();
+
+                       // Allow an initial element in the document to be removed when it is before a view
+                       if ( body.firstChild === range.startContainer && range.collapsed === true &&
+                                       isView( range.startContainer.nextSibling ) && range.startOffset === 0 ) {
+
+                               editor.dom.remove( range.startContainer );
+                       }
+               }
+       });
+
+       return {
+               getViewText: getViewText,
+               setViewText: setViewText
+       };
+});
diff --git a/wp-includes/js/tinymce/plugins/wpview/plugin.min.js b/wp-includes/js/tinymce/plugins/wpview/plugin.min.js
new file mode 100644 (file)
index 0000000..2376f4e
--- /dev/null
@@ -0,0 +1 @@
+tinymce.PluginManager.add("wpview",function(a){function b(a){for(;a&&"BODY"!==a.nodeName;){if(c(a))return a;a=a.parentNode}}function c(a){return a&&/\bwpview-wrap\b/.test(a.className)}function d(){return a.dom.create("p",{"data-wpview-pad":1},tinymce.Env.ie&&tinymce.Env.ie<11?"":'<br data-mce-bogus="1" />')}function e(c){return c=b("string"==typeof c?a.dom.get(c):c),c?window.decodeURIComponent(a.dom.getAttrib(c,"data-wpview-text")||""):""}function f(c,d){return c=b("string"==typeof c?a.dom.get(c):c),c?(a.dom.setAttrib(c,"data-wpview-text",window.encodeURIComponent(d||"")),!0):!1}function g(a){a.stopPropagation()}function h(b){var c,d=a.dom;b!==l&&(i(),l=b,d.addClass(b,"selected"),c=d.create("div",{"class":"wpview-clipboard",contenteditable:"true"},e(b)),b.insertBefore(c,b.firstChild),d.bind(c,"beforedeactivate focusin focusout",g),d.bind(l,"beforedeactivate focusin focusout",g),a.getBody().focus(),a.selection.select(c,!0))}function i(){var b,c=a.dom;l&&(b=a.dom.select(".wpview-clipboard",l)[0],c.unbind(b),c.remove(b),c.unbind(l,"beforedeactivate focusin focusout click mouseup",g),c.removeClass(l,"selected")),l=null}function j(b,d){for(var e=a.getBody(),f="previous"===d?"previousSibling":"nextSibling";b&&b.parentNode!==e;){if(b[f])return!1;b=b.parentNode}return c(b[f])?(h(b[f]),!0):!1}function k(a){return a.replace(/(<div[^>]+wpview-wrap[^>]+>)[\s\S]+?data-wpview-end[^>]*><\/ins><\/div>/g,"$1</div>")}var l,m=tinymce.util.VK,n=tinymce.dom.TreeWalker,o=!1;if("undefined"!=typeof wp&&wp.mce)return a.on("BeforeAddUndo",function(a){a.lastLevel&&k(a.level.content)===k(a.lastLevel.content)&&a.preventDefault()}),a.on("BeforeSetContent",function(b){b.content&&(b.initial||wp.mce.views.unbind(a),b.content=wp.mce.views.toViews(b.content))}),a.on("SetContent",function(b){var e,f;wp.mce.views.render(),(b.load||!b.set)&&(e=a.getBody(),c(e.lastChild)&&(f=d(),e.appendChild(f),b.initial||a.selection.setCursorLocation(f,0)))}),a.on("click",function(b){var e,f,g,h,j,k=a.getBody(),l=a.getDoc(),m=l.documentElement.scrollTop||k.scrollTop||0;"HTML"!==b.target.nodeName||b.metaKey||b.ctrlKey||(g=k.firstChild,h=k.lastChild,e=b.clientX,f=b.clientY,c(g)&&(e<g.offsetLeft&&f<g.offsetHeight-m||f<g.offsetTop)?(j=d(),k.insertBefore(j,g)):c(h)&&(e>h.offsetLeft+h.offsetWidth||m+f-(h.offsetTop+h.offsetHeight)>0)&&(j=d(),k.appendChild(j)),j&&(i(),a.getBody().focus(),a.selection.setCursorLocation(j,0)))}),a.on("init",function(){var d=a.selection;a.on("BeforeSetContent",function(){var e,f,g=b(d.getNode());g&&(!g.nextSibling||c(g.nextSibling)?(f=a.getDoc().createTextNode(""),a.dom.insertAfter(f,g)):(e=new n(g.nextSibling,g.nextSibling),f=e.next()),d.select(f),d.collapse(!0))}),a.on("SetContent",function(a){if(a.context){var b=d.getNode();b.innerHTML&&(b.innerHTML=wp.mce.views.toViews(b.innerHTML))}}),a.dom.bind(a.getBody(),"mousedown mouseup click",function(c){var d,e=b(c.target);return e?(c.stopPropagation(),tinymce.Env.ie<=10&&i(),h(e),"click"!==c.type||c.metaKey||c.ctrlKey||(a.dom.hasClass(c.target,"edit")?wp.mce.views.edit(e):a.dom.hasClass(c.target,"remove")&&a.dom.remove(e)),!1):(d=tinymce.Env.ie&&tinymce.Env.ie<=8?"mouseup":"mousedown",void(c.type===d&&i()))})}),a.on("PreProcess",function(b){var c=a.dom;tinymce.each(c.select("p[data-wpview-pad]",b.node),function(a){c.isEmpty(a)?c.remove(a):c.setAttrib(a,"data-wpview-pad",null)}),tinymce.each(c.select("div[data-wpview-text]",b.node),function(a){"textContent"in a?a.textContent="":a.innerText="",c.replace(c.create("p",null,window.decodeURIComponent(c.getAttrib(a,"data-wpview-text"))),a)})}),a.on("keydown",function(e){var f,g,j=e.keyCode,k=a.getBody();if(l){if(e.metaKey||e.ctrlKey||j>=112&&123>=j)return void((e.metaKey||e.ctrlKey)&&88===j&&(o=l));if(f=b(a.selection.getNode()),f!==l)return void i();j===m.LEFT||j===m.UP?(i(),c(f.previousSibling)?h(f.previousSibling):f.previousSibling?(a.selection.select(f.previousSibling,!0),a.selection.collapse()):(g=d(),k.insertBefore(g,k.firstChild),a.selection.setCursorLocation(k.firstChild,0))):j===m.RIGHT||j===m.DOWN?(i(),c(f.nextSibling)?h(f.nextSibling):f.nextSibling?a.selection.setCursorLocation(f.nextSibling,0):(g=d(),k.appendChild(g),a.selection.setCursorLocation(k.lastChild,0))):(j===m.DELETE||j===m.BACKSPACE)&&a.dom.remove(l),e.preventDefault()}}),a.on("keydown",function(b){var c,d,e=b.keyCode,f=a.dom,g=a.selection.getRng(),h=g.startContainer,i=a.getBody();if(h&&h!==i&&!b.metaKey&&!b.ctrlKey)if(e===m.UP||e===m.LEFT){if(e===m.LEFT&&(!g.collapsed||0!==g.startOffset))return;if(!(c=f.getParent(h,f.isBlock)))return;j(c,"previous")&&b.preventDefault()}else if(e===m.DOWN||e===m.RIGHT){if(!(c=f.getParent(h,f.isBlock)))return;if(e===m.RIGHT){if(d=g.endContainer,!g.collapsed||0===g.startOffset&&d.length||d.nextSibling||3===d.nodeType&&g.startOffset!==d.length)return;for(;d&&d!==c&&d!==i;){if(d.nextSibling)return;d=d.parentNode}}j(c,"next")&&b.preventDefault()}}),a.on("keyup",function(b){var e,f,g=b.keyCode,h=a.getBody();o&&(a.dom.remove(o),o=!1),(g===m.DELETE||g===m.BACKSPACE)&&(c(h.lastChild)&&(e=d(),h.appendChild(e),2===h.childNodes.length&&a.selection.setCursorLocation(e,0)),f=a.selection.getRng(),h.firstChild===f.startContainer&&f.collapsed===!0&&c(f.startContainer.nextSibling)&&0===f.startOffset&&a.dom.remove(f.startContainer))}),{getViewText:e,setViewText:f}});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/skins/lightgray/content.inline.min.css b/wp-includes/js/tinymce/skins/lightgray/content.inline.min.css
new file mode 100644 (file)
index 0000000..9f194f6
--- /dev/null
@@ -0,0 +1 @@
+.mce-object{border:1px dotted #3A3A3A;background:#d5d5d5 url(img/object.gif) no-repeat center}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0px}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#d5d5d5 url(img/anchor.gif) no-repeat center}.mce-nbsp{background:#AAA}hr{cursor:default}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid #F00;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td.mce-item-selected,th.mce-item-selected{background-color:#3399ff !important}.mce-edit-focus{outline:1px dotted #333}
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/skins/lightgray/content.min.css b/wp-includes/js/tinymce/skins/lightgray/content.min.css
new file mode 100644 (file)
index 0000000..ea08c68
--- /dev/null
@@ -0,0 +1 @@
+body{background-color:#FFFFFF;color:#000000;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px;scrollbar-3dlight-color:#F0F0EE;scrollbar-arrow-color:#676662;scrollbar-base-color:#F0F0EE;scrollbar-darkshadow-color:#DDDDDD;scrollbar-face-color:#E0E0DD;scrollbar-highlight-color:#F0F0EE;scrollbar-shadow-color:#F0F0EE;scrollbar-track-color:#F5F5F5}td,th{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px}.mce-object{border:1px dotted #3A3A3A;background:#d5d5d5 url(img/object.gif) no-repeat center}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0px}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#d5d5d5 url(img/anchor.gif) no-repeat center}.mce-nbsp{background:#AAA}hr{cursor:default}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid #F00;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td.mce-item-selected,th.mce-item-selected{background-color:#3399ff !important}.mce-edit-focus{outline:1px dotted #333}
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/skins/lightgray/fonts/readme.md b/wp-includes/js/tinymce/skins/lightgray/fonts/readme.md
new file mode 100644 (file)
index 0000000..fa5d639
--- /dev/null
@@ -0,0 +1 @@
+Icons are generated and provided by the http://icomoon.io service.
diff --git a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.eot b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.eot
new file mode 100644 (file)
index 0000000..60e2d2e
Binary files /dev/null and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.eot differ
diff --git a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.svg b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.svg
new file mode 100644 (file)
index 0000000..930c48d
--- /dev/null
@@ -0,0 +1,62 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Generated by IcoMoon</metadata>
+<defs>
+<font id="tinymce-small" horiz-adv-x="512">
+<font-face units-per-em="512" ascent="480" descent="-32" />
+<missing-glyph horiz-adv-x="512" />
+<glyph unicode="&#x20;" d="" horiz-adv-x="256" />
+<glyph unicode="&#xe000;" d="M480 40v295.969l-111.969 112.031h-296.031c-22.091 0-40-17.908-40-40v-368c0-22.092 17.909-40 40-40h368c22.092 0 40 17.908 40 40zM288 384h32v-96h-32v96zM352 64h-192v127.941c0.017 0.021 0.038 0.041 0.058 0.059h191.885c0.020-0.018 0.041-0.038 0.058-0.059l-0.001-127.941zM416 64h-32v128c0 17.6-14.4 32-32 32h-192c-17.6 0-32-14.4-32-32v-128h-32v320h32v-96c0-17.6 14.4-32 32-32h160c17.6 0 32 14.4 32 32v85.505l64-64.036v-245.469z" />
+<glyph unicode="&#xe001;" d="M425.373 358.627l-66.746 66.745c-12.444 12.446-37.027 22.628-54.627 22.628h-208c-17.6 0-32-14.4-32-32v-384c0-17.6 14.4-32 32-32h320c17.6 0 32 14.4 32 32v272c0 17.6-10.183 42.182-22.627 54.627zM402.745 336.001c3.396-3.398 6.896-9.581 9.447-16.001h-92.192v92.193c6.42-2.55 12.602-6.050 16-9.448l66.745-66.744zM415.942 32h-319.885c-0.020 0.017-0.041 0.038-0.057 0.058v383.885c0.017 0.020 0.038 0.041 0.057 0.057h191.943v-128h128v-255.942c-0.017-0.020-0.038-0.041-0.058-0.058z" />
+<glyph unicode="&#xe002;" d="M512 183.771v80.458l-79.572 7.957c-4.093 15.021-10.044 29.274-17.605 42.49l52.298 63.919-56.526 56.525-63.918-52.298c-13.217 7.562-27.471 13.513-42.491 17.604l-7.957 79.574h-80.458l-7.957-79.573c-15.021-4.093-29.274-10.043-42.49-17.604l-63.919 52.297-56.525-56.525 52.298-63.918c-7.562-13.216-13.513-27.47-17.605-42.49l-79.573-7.958v-80.458l79.573-7.957c4.093-15.021 10.043-29.274 17.605-42.491l-52.298-63.918 56.524-56.524 63.919 52.298c13.216-7.562 27.47-13.514 42.49-17.605l7.958-79.574h80.458l7.957 79.572c15.021 4.093 29.274 10.044 42.491 17.605l63.918-52.298 56.524 56.524-52.298 63.918c7.562 13.217 13.514 27.471 17.605 42.49l79.574 7.96zM352 192l-64-64h-64l-64 64v64l64 64h64l64-64v-64z" />
+<glyph unicode="&#xe003;" d="M32 384h448v-64h-448zM32 192h448v-64h-448zM32 288h288v-64h-288zM32 96h288v-64h-288z" />
+<glyph unicode="&#xe004;" d="M32 384h448v-64h-448zM32 192h448v-64h-448zM128 288h256v-64h-256zM128 96h256v-64h-256z" />
+<glyph unicode="&#xe005;" d="M32 384h448v-64h-448zM32 192h448v-64h-448zM192 288h288v-64h-288zM192 96h288v-64h-288z" />
+<glyph unicode="&#xe006;" d="M32 384h448v-64h-448zM32 192h448v-64h-448zM32 288h448v-64h-448zM32 96h448v-64h-448z" />
+<glyph unicode="&#xe007;" d="M432.204 144.934c-23.235 23.235-53.469 34.002-80.541 31.403l-31.663 31.663 96 96c0 0 64 64 0 128l-160-160-160 160c-64-64 0-128 0-128l96-96-31.663-31.663c-27.072 2.599-57.305-8.169-80.54-31.403-37.49-37.49-42.556-93.209-11.313-124.45 31.241-31.241 86.96-26.177 124.45 11.313 23.235 23.234 34.001 53.469 31.403 80.54l31.663 31.663 31.664-31.664c-2.598-27.072 8.168-57.305 31.403-80.539 37.489-37.49 93.209-42.556 124.449-11.313 31.244 31.241 26.178 86.959-11.312 124.45zM176.562 100.711c-1.106-12.166-7.51-24.913-17.57-34.973-11.106-11.107-25.54-17.738-38.609-17.738-5.262 0-12.649 1.114-17.958 6.424-10.703 10.702-8.688 36.566 11.313 56.568 11.106 11.107 25.54 17.738 38.609 17.738 5.262 0 12.649-1.114 17.958-6.424 6.556-6.555 6.735-16.344 6.257-21.595zM256 176c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM409.576 54.424c-5.31-5.31-12.696-6.424-17.958-6.424-13.069 0-27.503 6.631-38.609 17.738-10.061 10.060-16.464 22.807-17.569 34.973-0.479 5.251-0.3 15.040 6.257 21.596 5.309 5.311 12.695 6.424 17.958 6.424 13.068 0 27.503-6.631 38.608-17.737 20.002-20.004 22.016-45.868 11.313-56.57z" />
+<glyph unicode="&#xe008;" d="M352 288v80c0 8.8-7.2 16-16 16h-80v32c0 17.6-14.4 32-32 32h-64c-17.602 0-32-14.4-32-32v-32h-80c-8.801 0-16-7.2-16-16v-256c0-8.8 7.199-16 16-16h112v-96h192l96 96v192h-96zM160 415.943c0.017 0.019 0.036 0.039 0.057 0.057h63.884c0.021-0.018 0.041-0.038 0.059-0.057v-31.943h-64v31.943zM96 320v32h192v-32h-192zM352 45.255v50.745h50.745l-50.745-50.745zM416 128h-96v-96h-128v224h224v-128z" />
+<glyph unicode="&#xe009;" d="M444 288h-28v128h32v32h-160v-32h32v-128h-128v128h32v32h-160v-32h32v-128h-28c-19.8 0-36-16.2-36-36v-216c0-19.8 16.2-36 36-36h120c19.8 0 36 16.2 36 36v156h64v-156c0-19.8 16.2-36 36-36h120c19.8 0 36 16.2 36 36v216c0 19.8-16.2 36-36 36zM174 32h-92c-9.9 0-18 7.2-18 16s8.1 16 18 16h92c9.9 0 18-7.2 18-16s-8.1-16-18-16zM272 224h-32c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16zM430 32h-92c-9.9 0-18 7.2-18 16s8.1 16 18 16h92c9.9 0 18-7.2 18-16s-8.1-16-18-16z" />
+<glyph unicode="&#xe00a;" d="M192 416h288v-64h-288zM192 256h288v-64h-288zM192 96h288v-64h-288zM64 384c0-17.673 14.327-32 32-32s32 14.327 32 32c0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32zM64 224c0-17.673 14.327-32 32-32s32 14.327 32 32c0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32zM64 64c0-17.673 14.327-32 32-32s32 14.327 32 32c0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32z" />
+<glyph unicode="&#xe00b;" d="M192 416h288v-64h-288zM192 256h288v-64h-288zM192 96h288v-64h-288zM160 215v73h-32v160h-64v-32h32v-128h-32v-32h64v-25l-64-30v-73h64v-32h-64v-32h64v-32h-64v-32h96v160h-64v25z" />
+<glyph unicode="&#xe00c;" d="M32 384h448v-64h-448zM192 192h288v-64h-288zM192 288h288v-64h-288zM32 96h448v-64h-448zM32 288l112-80-112-80z" />
+<glyph unicode="&#xe00d;" d="M32 384h448v-64h-448zM32 192h288v-64h-288zM32 288h288v-64h-288zM32 96h448v-64h-448zM480 288l-112-80 112-80z" />
+<glyph unicode="&#xe00e;" d="M128.214 267.637c52.9 0 95.786-45.585 95.786-101.819 0-56.232-42.886-101.818-95.786-101.818-52.901 0-95.786 45.585-95.786 101.818l-0.428 14.546c0 112.465 85.77 203.636 191.572 203.636v-58.182c-36.55 0-70.913-15.13-96.758-42.602-4.977-5.289-9.517-10.917-13.612-16.828 4.892 0.82 9.903 1.249 15.012 1.249zM384.214 267.637c52.9 0 95.786-45.585 95.786-101.819 0-56.232-42.886-101.818-95.786-101.818-52.901 0-95.786 45.585-95.786 101.818l-0.428 14.546c0 112.465 85.77 203.636 191.572 203.636v-58.182c-36.55 0-70.913-15.13-96.758-42.602-4.978-5.289-9.518-10.917-13.612-16.828 4.892 0.82 9.903 1.249 15.012 1.249z" />
+<glyph unicode="&#xe00f;" d="M352 0c29.5 99.5 67.453 227.633-128 223.048v-111.048l-168.001 168 168.001 168v-108.663c234.046 6.1 272-179.337 128-339.337z" />
+<glyph unicode="&#xe010;" d="M288 339.337v108.663l168.001-168-168.001-168v111.048c-195.453 4.585-157.5-123.548-128-223.048-144 160-106.046 345.437 128 339.337z" />
+<glyph unicode="&#xe011;" d="M463.637 364.892l-66.745 66.744c-10.552 10.552-24.616 16.364-39.599 16.364s-29.047-5.812-39.598-16.363l-82.746-82.745c-21.834-21.834-21.834-57.362 0-79.196l1.373-1.373 33.941 33.941-1.373 1.373c-3.066 3.066-3.066 8.247 0 11.313l82.746 82.746c2.005 2.004 4.404 2.304 5.656 2.304s3.651-0.299 5.656-2.305l66.745-66.744c3.066-3.067 3.066-8.249 0.001-11.314l-82.747-82.747c-2.004-2.004-4.403-2.304-5.655-2.304s-3.651 0.3-5.656 2.306l-1.373 1.373-33.94-33.942 1.371-1.371c10.553-10.554 24.615-16.364 39.6-16.364s29.047 5.812 39.598 16.363l82.747 82.746c21.831 21.833 21.831 57.36-0.002 79.195zM275.678 179.678l-33.941-33.941 1.373-1.373c2.004-2.004 2.305-4.403 2.305-5.655 0-1.253-0.299-3.651-2.303-5.657l-82.747-82.745c-2.005-2.005-4.405-2.305-5.657-2.305s-3.652 0.3-5.657 2.305l-66.746 66.743c-2.005 2.005-2.305 4.405-2.305 5.657s0.299 3.65 2.305 5.656l82.745 82.744c2.005 2.006 4.405 2.306 5.657 2.306s3.652-0.3 5.657-2.306l1.373-1.371 33.941 33.94-1.373 1.373c-10.552 10.552-24.615 16.363-39.598 16.363s-29.046-5.812-39.598-16.363l-82.744-82.743c-10.553-10.552-16.365-24.617-16.365-39.599s5.812-29.047 16.363-39.599l66.745-66.745c10.553-10.551 24.616-16.363 39.599-16.363s29.046 5.812 39.598 16.363l82.747 82.746c10.552 10.552 16.361 24.615 16.361 39.598s-5.812 29.047-16.363 39.598l-1.372 1.373zM176 125c-4.862 0-9.725 1.855-13.435 5.564-7.42 7.42-7.42 19.449 0 26.869l160 160c7.42 7.42 19.448 7.42 26.868 0 7.422-7.42 7.422-19.45 0-26.87l-160-160c-3.708-3.708-8.571-5.563-13.433-5.563z" />
+<glyph unicode="&#xe012;" d="M463.637 364.892l-66.745 66.744c-10.552 10.552-24.616 16.364-39.599 16.364s-29.047-5.812-39.598-16.363l-82.746-82.745c-21.834-21.834-21.834-57.362 0-79.196l1.373-1.373 33.941 33.941-1.373 1.373c-3.066 3.066-3.066 8.247 0 11.313l82.746 82.746c2.005 2.004 4.404 2.304 5.656 2.304s3.651-0.299 5.656-2.305l66.745-66.744c3.066-3.067 3.066-8.249 0.001-11.314l-82.747-82.747c-2.004-2.004-4.403-2.304-5.655-2.304s-3.651 0.3-5.656 2.306l-1.373 1.373-33.94-33.942 1.371-1.371c10.553-10.554 24.615-16.364 39.6-16.364s29.047 5.812 39.598 16.363l82.747 82.746c21.831 21.833 21.831 57.36-0.002 79.195zM275.678 179.678l-33.941-33.941 1.373-1.373c2.004-2.004 2.305-4.403 2.305-5.655 0-1.253-0.299-3.651-2.303-5.657l-82.747-82.745c-2.005-2.005-4.405-2.305-5.657-2.305s-3.652 0.3-5.657 2.305l-66.746 66.743c-2.005 2.005-2.305 4.405-2.305 5.657s0.299 3.65 2.305 5.656l82.745 82.744c2.005 2.006 4.405 2.306 5.657 2.306s3.652-0.3 5.657-2.306l1.373-1.371 33.941 33.94-1.373 1.373c-10.552 10.552-24.615 16.363-39.598 16.363s-29.046-5.812-39.598-16.363l-82.744-82.743c-10.553-10.552-16.365-24.617-16.365-39.599s5.812-29.047 16.363-39.599l66.745-66.745c10.553-10.551 24.616-16.363 39.599-16.363s29.046 5.812 39.598 16.363l82.747 82.746c10.552 10.552 16.361 24.615 16.361 39.598s-5.812 29.047-16.363 39.598l-1.372 1.373zM400 61c-4.862 0-9.725 1.854-13.435 5.565l-64 63.999c-7.422 7.42-7.422 19.449 0 26.869 7.42 7.422 19.448 7.422 26.868 0l64-64c7.422-7.42 7.422-19.448 0-26.868-3.708-3.711-8.571-5.565-13.433-5.565zM304 0c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16s16-7.163 16-16v-64c0-8.837-7.163-16-16-16zM464 160h-64c-8.837 0-16 7.163-16 16s7.163 16 16 16h64c8.837 0 16-7.163 16-16s-7.163-16-16-16zM112 387c4.862 0 9.725-1.854 13.435-5.565l64-64c7.421-7.42 7.421-19.449 0-26.869-7.42-7.422-19.449-7.422-26.869 0l-64 64c-7.421 7.42-7.421 19.449 0 26.869 3.709 3.711 8.572 5.565 13.434 5.565zM208 448c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16s-16 7.163-16 16v64c0 8.837 7.163 16 16 16zM48 288h64c8.837 0 16-7.163 16-16s-7.163-16-16-16h-64c-8.837 0-16 7.163-16 16s7.163 16 16 16z" />
+<glyph unicode="&#xe013;" d="M128 448v-448l128 128 128-128v448h-256zM352 85.255l-96 96-96-96v330.745h192v-330.745z" />
+<glyph unicode="&#xe014;" d="M448 416h-384c-17.6 0-32-14.4-32-32v-320c0-17.6 14.4-32 32-32h384c17.6 0 32 14.4 32 32v320c0 17.6-14.4 32-32 32zM448 64.058c-0.006-0.007-0.015-0.014-0.021-0.021l-95.979 159.963-80-64-112 144-95.984-239.958c-0.005 0.005-0.011 0.011-0.016 0.016v319.885c0.017 0.020 0.038 0.041 0.057 0.057h383.885c0.020-0.017 0.041-0.038 0.058-0.058v-319.884zM320 304c0-26.51 21.49-48 48-48s48 21.49 48 48c0 26.51-21.49 48-48 48-26.51 0-48-21.49-48-48z" />
+<glyph unicode="&#xe015;" d="M448 416h-384c-17.6 0-32-14.4-32-32v-320c0-17.6 14.4-32 32-32h384c17.6 0 32 14.4 32 32v320c0 17.6-14.4 32-32 32zM128 64h-64v64h64v-64zM128 192h-64v64h64v-64zM128 320h-64v64h64v-64zM352 64h-192v320h192v-320zM448 64h-64v64h64v-64zM448 192h-64v64h64v-64zM448 320h-64v64h64v-64zM192 320v-192l144 96z" />
+<glyph unicode="&#xe016;" d="M224 128h64v-64h-64v64zM352 352c17.673 0 32-14.327 32-32v-83l-114-77h-46v32l96 64v32h-160v64h192zM256 448c-59.833 0-116.083-23.3-158.392-65.608-42.307-42.309-65.608-98.559-65.608-158.392 0-59.832 23.301-116.084 65.608-158.392 42.309-42.308 98.559-65.608 158.392-65.608 59.832 0 116.084 23.3 158.392 65.608 42.308 42.308 65.608 98.56 65.608 158.392 0 59.833-23.3 116.083-65.608 158.392-42.308 42.308-98.56 65.608-158.392 65.608z" />
+<glyph unicode="&#xe017;" d="M208 128l-96 96 96 96-32 32-128-128 128-128zM336 352l-32-32 96-96-96-96 32-32 128 128z" />
+<glyph unicode="&#xe018;" d="M38.899 327.688l40.707-25.441c25.401 40.557 64.394 71.727 110.604 87.123l-15.183 45.547c-56.874-18.949-104.864-57.313-136.128-107.229zM336.973 434.917l-15.183-45.547c46.211-15.396 85.202-46.566 110.604-87.124l40.706 25.441c-31.263 49.917-79.253 88.281-136.127 107.23zM303.987 127.996c-2.404 0-4.846 0.545-7.143 1.693l-72.844 36.422v105.889c0 8.836 7.164 16 16 16s16-7.164 16-16v-86.111l55.155-27.578c7.903-3.951 11.107-13.562 7.155-21.466-2.802-5.607-8.454-8.848-14.323-8.849zM256 384c-106.039 0-192-85.961-192-192s85.961-192 192-192c106.039 0 192 85.961 192 192 0 106.039-85.961 192-192 192zM256 48c-79.529 0-144 64.471-144 144s64.471 144 144 144c79.529 0 144-64.471 144-144 0-79.529-64.471-144-144-144z" />
+<glyph unicode="&#xe019;" d="M32 252.127c22.659 24.96 48.581 46.18 76.636 62.562 45.166 26.372 96.123 40.311 147.364 40.311 51.24 0 102.198-13.939 147.363-40.312 28.056-16.382 53.978-37.602 76.637-62.562v58.716c-16.505 14.059-34.062 26.57-52.434 37.297-52.503 30.657-111.829 46.861-171.566 46.861s-119.064-16.204-171.567-46.86c-18.371-10.727-35.928-23.239-52.433-37.298v-58.715zM256 320c-91.598 0-172.919-50.278-224-128 51.081-77.724 132.402-128 224-128 91.598 0 172.919 50.276 224 128-51.081 77.722-132.402 128-224 128zM256 224c0-17.673-14.327-32-32-32s-32 14.327-32 32c0 17.674 14.327 32 32 32s32-14.326 32-32zM364.033 131.669c-33.717-19.687-70.064-29.669-108.033-29.669s-74.316 9.982-108.033 29.669c-25.777 15.052-49.308 35.655-69.057 60.331 19.749 24.675 43.28 45.279 69.058 60.33 6.638 3.876 13.379 7.37 20.213 10.491-5.256-11.871-8.181-25.004-8.181-38.821 0-53.020 42.981-96 96-96 53.020 0 96 42.98 96 96 0 13.817-2.925 26.95-8.18 38.821 6.834-3.122 13.575-6.615 20.213-10.491 25.777-15.051 49.308-35.655 69.058-60.33-19.749-24.676-43.28-45.279-69.058-60.331z" />
+<glyph unicode="&#xe01a;" d="M325.584 338.083c-12.306 40.981-14.438 45.917-53.584 45.917h-32c-39.809 0-41.332-5.076-54.209-48 0-0.001 0-0.001-0.001-0.002l-71.999-239.998h56.818l28.8 96h113.183l28.8-96h56.815l-72.623 242.083zM218.609 256l19.2 68c5.043 16.809 18.19 15 18.19 15s13.147 1.809 18.19-15h0.002l19.2-68h-74.782z" />
+<glyph unicode="&#xe01b;" d="M32 384v-352h448v352h-448zM192 160v64h128v-64h-128zM320 128v-64h-128v64h128zM320 320v-64h-128v64h128zM160 320v-64h-96v64h96zM64 224h96v-64h-96v64zM352 224h96v-64h-96v64zM352 256v64h96v-64h-96zM64 128h96v-64h-96v64zM352 64v64h96v-64h-96z" />
+<glyph unicode="&#xe01c;" d="M32 256h448v-64h-448z" />
+<glyph unicode="&#xe01d;" d="M32 96h256v-64h-256v64zM384 384h-110.279l-91.883-256h-66.144l91.881 256h-111.575v64h288v-64zM464.887 32l-64.887 64.887-64.887-64.887-31.113 31.113 64.887 64.887-64.887 64.887 31.113 31.113 64.887-64.887 64.887 64.887 31.113-31.113-64.887-64.887 64.887-64.887-31.113-31.113z" />
+<glyph unicode="&#xe01e;" d="M384 25v-25h64v-32h-96v73l64 30v25h-64v32h96v-73zM338 352h-68l-94-94-94 94h-68l128-128-128-128h68l94 94 94-94h68l-128 128z" />
+<glyph unicode="&#xe01f;" d="M384 377v-25h64v-32h-96v73l64 30v25h-64v32h96v-73zM338 352h-68l-94-94-94 94h-68l128-128-128-128h68l94 94 94-94h68l-128 128z" />
+<glyph unicode="&#xe020;" d="M352 64v18.502c75.674 30.814 128 96.91 128 173.498 0 106.039-100.288 192-224 192s-224-85.961-224-192c0-76.588 52.327-142.684 128-173.498v-18.502h-96l-32 48v-112h160v111.406c-50.45 25.681-85.333 80.77-85.333 144.594 0 88.366 66.859 160 149.333 160 82.474 0 149.333-71.634 149.333-160 0-63.824-34.883-118.913-85.333-144.594v-111.406h160v112l-32-48h-96z" />
+<glyph unicode="&#xe021;" d="M256 410c49.683 0 96.391-19.347 131.521-54.478s54.479-81.839 54.479-131.522-19.348-96.391-54.479-131.521-81.838-54.479-131.521-54.479-96.391 19.348-131.522 54.479-54.478 81.838-54.478 131.521 19.347 96.391 54.478 131.522 81.839 54.478 131.522 54.478zM256 448c-123.712 0-224-100.288-224-224s100.288-224 224-224 224 100.288 224 224-100.288 224-224 224v0zM160 288c0-17.673 14.327-32 32-32s32 14.327 32 32c0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32zM288 288c0-17.673 14.327-32 32-32s32 14.327 32 32c0 17.673-14.327 32-32 32-17.673 0-32-14.327-32-32zM256 152c-50.92 0-96.28 18.437-125.583 47.164 11.563-58.804 63.389-103.164 125.583-103.164 62.194 0 114.020 44.36 125.584 103.164-29.304-28.727-74.664-47.164-125.584-47.164z" />
+<glyph unicode="&#xe022;" d="M128 416h256v-64h-256v64zM448 320h-384c-17.6 0-32-14.4-32-32v-128c0-17.6 14.398-32 32-32h64v-96h256v96h64c17.6 0 32 14.4 32 32v128c0 17.6-14.4 32-32 32zM352 64h-192v128h192v-128zM455.2 272c0-12.813-10.387-23.2-23.199-23.2s-23.201 10.387-23.201 23.2 10.389 23.2 23.201 23.2c12.813 0 23.199-10.387 23.199-23.2z" />
+<glyph unicode="&#xe023;" d="M240 288l-96 96 64 64h-176v-176l64 64 96-96zM320 240l96 96 64-64v176h-176l64-64-96-96zM272 160l96-96-64-64h176v176l-64-64-96 96zM192 208l-96-96-64 64v-176h176l-64 64 96 96z" />
+<glyph unicode="&#xe024;" d="M480 416v32h-96c-17.601 0-32-14.4-32-32v-160c0-7.928 2.929-15.201 7.748-20.807l-151.748-130.193-71 74-41-35 112-144 208 224h64v32h-96v160h96zM128 224h32v192c0 17.6-14.4 32-32 32h-64c-17.6 0-32-14.4-32-32v-192h32v96h64v-96zM64 352v64h64v-64h-64zM320 256v48c0 17.6-4.4 32-22 32 17.6 0 22 14.4 22 32v48c0 17.6-14.4 32-32 32h-96v-224h96c17.6 0 32 14.4 32 32zM224 416h64v-64h-64v64zM224 320h64v-64h-64v64z" />
+<glyph unicode="&#xe025;" d="M224 224h-64v64h64v64h64v-64h64v-64h-64v-64h-64v64zM480 192v-160h-448v160h64v-96h320v96h64z" />
+<glyph unicode="&#xe026;" d="M256 288h64v-32h-64zM256 96h64v-32h-64zM288 192h64v-32h-64zM384 192v-96h-32v-32h64v128zM192 192h64v-32h-64zM160 96h64v-32h-64zM160 288h64v-32h-64zM96 384v-128h32v96h32v32zM352 256h64v128h-32v-96h-32zM32 448v-448h448v448h-448zM448 32h-384v384h384v-384zM96 192v-128h32v96h32v32zM288 384h64v-32h-64zM192 384h64v-32h-64z" />
+<glyph unicode="&#xe027;" d="M408 448l8-192h-320l8 192h16l8-160h256l8 160h16zM104 0l-8 160h320l-8-160h-16l-8 128h-256l-8-128h-16zM32 224h64v-32h-64zM128 224h64v-32h-64zM224 224h64v-32h-64zM320 224h64v-32h-64zM416 224h64v-32h-64z" />
+<glyph unicode="&#xe028;" d="M288 448c123.712 0 224-100.288 224-224s-100.288-224-224-224v48c47.012 0 91.209 18.307 124.451 51.549 33.242 33.242 51.549 77.439 51.549 124.451 0 47.011-18.307 91.209-51.549 124.451-33.242 33.242-77.439 51.549-124.451 51.549-47.011 0-91.209-18.307-124.451-51.549-25.57-25.569-42.291-57.623-48.653-92.451h93.104l-112-128-112 128h82.285c15.53 108.551 108.869 192 221.715 192zM384 256v-64h-128v160h64v-96z" />
+<glyph unicode="&#xe02a;" d="M312.721 232.909c24.037 19.075 39.279 47.428 39.279 79.091 0 57.438-50.145 104-112 104h-112v-384h144c61.856 0 112 46.562 112 104 0 44.098-29.559 81.781-71.279 96.909zM192 328c0 13.255 10.745 24 24 24h33.602c21.207 0 38.398-21.49 38.398-48s-17.191-48-38.398-48h-57.602v72zM273.6 96h-57.6c-13.255 0-24 10.745-24 24v72h81.6c21.209 0 38.4-21.49 38.4-48s-17.191-48-38.4-48z" />
+<glyph unicode="&#xe02b;" d="M416 416v-32h-72l-128-320h72v-32h-224v32h72l128 320h-72v32h224z" />
+<glyph unicode="&#xe02c;" d="M96 64h288v-32h-288v32zM320 416v-192c0-15.656-7.35-30.812-20.695-42.676-15.471-13.751-36.534-21.324-59.305-21.324-22.772 0-43.834 7.573-59.304 21.324-13.346 11.864-20.696 27.020-20.696 42.676v192h-64v-192c0-70.691 64.471-128 144-128s144 57.309 144 128v192h-64z" />
+<glyph unicode="&#xe02d;" d="M480 224h-132.938c-25.039 17.71-57.215 27.43-91.062 27.43-44.603 0-82.286 25.121-82.286 54.856 0 29.735 37.683 54.857 82.286 54.857 37.529 0 70.154-17.788 79.56-41.143h56.508c-3.965 25.322-18.79 48.984-42.029 66.413-25.44 19.080-58.838 29.587-94.039 29.587-35.202 0-68.598-10.507-94.037-29.587-27.394-20.545-43.106-49.751-43.106-80.127s15.712-59.582 43.106-80.127c0.978-0.733 1.971-1.449 2.973-2.158h-132.936v-32h256.266c29.104-8.553 50.021-28.135 50.021-50.286 0-29.734-37.684-54.855-82.286-54.855-37.53 0-70.154 17.787-79.559 41.143h-56.508c3.965-25.32 18.791-48.984 42.030-66.413 25.438-19.082 58.834-29.59 94.036-29.59 35.201 0 68.599 10.508 94.037 29.587 27.395 20.545 43.104 49.751 43.104 80.127 0 17.649-5.327 34.896-15.147 50.286h102.006v32z" />
+<glyph unicode="&#xe02e;" d="M192 416c-61.856 0-112-50.144-112-112s50.144-112 112-112v-160h64v320h32v-320h64v320h64v64h-224z" />
+<glyph unicode="&#xe02f;" d="M224 416c-61.856 0-112-50.144-112-112s50.144-112 112-112v-160h64v320h32v-320h64v320h64v64h-224zM32 32l112 96-112 96z" />
+<glyph unicode="&#xe030;" d="M160 416c-61.856 0-112-50.144-112-112s50.144-112 112-112v-160h64v320h32v-320h64v320h64v64h-224zM480 224l-112-96 112-96z" />
+<glyph unicode="&#xe031;" d="M416 320h-96v32l-96 96h-192v-352h192v-96h288v224l-96 96zM416 274.745l50.745-50.745h-50.745v50.745zM224 402.745l50.745-50.745h-50.745v50.745zM64 416h128v-96h96v-192h-224v288zM480 32h-224v64h64v192h64v-96h96v-160z" />
+<glyph unicode="&#xe032;" d="M384 352h32v-32h-32zM320 288h32v-32h-32zM320 224h32v-32h-32zM320 160h32v-32h-32zM256 224h32v-32h-32zM256 160h32v-32h-32zM192 160h32v-32h-32zM384 288h32v-32h-32zM384 224h32v-32h-32zM384 160h32v-32h-32zM384 96h32v-32h-32zM320 96h32v-32h-32zM256 96h32v-32h-32zM192 96h32v-32h-32zM128 96h32v-32h-32z" />
+<glyph unicode="&#xe034;" d="M464 416h-208l-16 32h-176l-32-64h448zM420.17 128h43.83l16 224h-448l32-320h178.040c-52.441 18.888-90.040 69.133-90.040 128 0 74.991 61.009 136 136 136 74.99 0 136-61.009 136-136 0-10.839-1.311-21.575-3.83-32zM437.498 55.125l-67.248 55.346c8.727 14.461 13.75 31.407 13.75 49.529 0 53.020-42.98 96-96 96s-96-42.98-96-96 42.98-96 96-96c18.122 0 35.069 5.023 49.529 13.75l55.346-67.248c11.481-13.339 31.059-14.070 43.503-1.626l2.746 2.746c12.444 12.444 11.713 32.022-1.626 43.503zM288 98c-34.242 0-62 27.758-62 62s27.758 62 62 62 62-27.758 62-62-27.758-62-62-62z" />
+<glyph unicode="&#xe035;" d="M352 288v80c0 8.8-7.2 16-16 16h-80v32c0 17.6-14.4 32-32 32h-64c-17.602 0-32-14.4-32-32v-32h-80c-8.801 0-16-7.2-16-16v-256c0-8.8 7.199-16 16-16h112v-96h288v288h-96zM160 415.943c0.017 0.019 0.036 0.039 0.057 0.057h63.884c0.021-0.018 0.041-0.038 0.059-0.057v-31.943h-64v31.943zM96 320v32h192v-32h-192zM416 32h-224v224h224v-224zM224 224v-64h16l16 32h32v-96h-24v-32h80v32h-24v96h32l16-32h16v64z" />
+</font></defs></svg>
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf
new file mode 100644 (file)
index 0000000..afc6ec4
Binary files /dev/null and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf differ
diff --git a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.woff b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.woff
new file mode 100644 (file)
index 0000000..fa72c74
Binary files /dev/null and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.woff differ
diff --git a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot
new file mode 100644 (file)
index 0000000..c1085bf
Binary files /dev/null and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot differ
diff --git a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.svg b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.svg
new file mode 100644 (file)
index 0000000..feb9ba3
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Generated by IcoMoon</metadata>
+<defs>
+<font id="tinymce" horiz-adv-x="512">
+<font-face units-per-em="512" ascent="480" descent="-32" />
+<missing-glyph horiz-adv-x="512" />
+<glyph unicode="&#x20;" d="" horiz-adv-x="256" />
+<glyph unicode="&#xe000;" d="M448 480h-448v-512h512v448l-64 64zM256 416h64v-128h-64v128zM448 32h-384v384h32v-160h288v160h37.489l26.511-26.509v-357.491z" />
+<glyph unicode="&#xe001;" d="M451.716 380.285l-71.432 71.431c-15.556 15.556-46.284 28.284-68.284 28.284h-240c-22 0-40-18-40-40v-432c0-22 18-40 40-40h368c22 0 40 18 40 40v304c0 22-12.728 52.729-28.284 68.285zM429.089 357.657c1.565-1.565 3.125-3.487 4.64-5.657h-81.729v81.728c2.17-1.515 4.092-3.075 5.657-4.64l71.432-71.431zM448 8c0-4.336-3.664-8-8-8h-368c-4.336 0-8 3.664-8 8v432c0 4.336 3.664 8 8 8h240c2.416 0 5.127-0.305 8-0.852v-127.148h127.148c0.547-2.873 0.852-5.583 0.852-8v-304z" />
+<glyph unicode="&#xe002;" d="M512 183.771v80.458l-79.572 7.957c-4.093 15.021-10.044 29.274-17.605 42.49l52.298 63.919-56.526 56.525-63.918-52.298c-13.217 7.562-27.471 13.513-42.491 17.604l-7.957 79.574h-80.458l-7.957-79.573c-15.021-4.093-29.274-10.043-42.49-17.604l-63.919 52.297-56.525-56.525 52.298-63.918c-7.562-13.216-13.513-27.47-17.605-42.49l-79.573-7.958v-80.458l79.573-7.957c4.093-15.021 10.043-29.274 17.605-42.491l-52.298-63.918 56.524-56.524 63.919 52.298c13.216-7.562 27.47-13.514 42.49-17.605l7.958-79.574h80.458l7.957 79.572c15.021 4.093 29.274 10.044 42.491 17.605l63.918-52.298 56.524 56.524-52.298 63.918c7.562 13.217 13.514 27.471 17.605 42.49l79.574 7.96zM352 192l-64-64h-64l-64 64v64l64 64h64l64-64v-64z" />
+<glyph unicode="&#xe003;" d="M0 448h512v-64h-512zM0 352h320v-64h-320zM0 160h320v-64h-320zM0 256h512v-64h-512zM0 64h512v-64h-512z" />
+<glyph unicode="&#xe004;" d="M0 448h512v-64h-512zM96 352h320v-64h-320zM96 160h320v-64h-320zM0 256h512v-64h-512zM0 64h512v-64h-512z" />
+<glyph unicode="&#xe005;" d="M0 448h512v-64h-512zM192 352h320v-64h-320zM192 160h320v-64h-320zM0 256h512v-64h-512zM0 64h512v-64h-512z" />
+<glyph unicode="&#xe006;" d="M0 448h512v-64h-512zM0 352h512v-64h-512zM0 256h512v-64h-512zM0 160h512v-64h-512zM0 64h512v-64h-512z" />
+<glyph unicode="&#xe007;" d="M445.387 125.423c-22.827 22.778-51.864 34.536-78.973 34.536h-14.556l-31.952 32.004 127.81 128.019c31.952 32.005 31.952 96.014 0 128.019l-191.715-192.028-191.716 192.027c-31.952-32.004-31.952-96.014 0-128.019l127.811-128.017-31.953-32.004h-14.557c-27.11 0-56.146-11.759-78.974-34.538-40.811-40.721-46.325-101.242-12.315-135.175 14.985-14.951 35.144-22.247 56.498-22.247 27.108 0 56.145 11.757 78.973 34.536 26.792 26.732 38.371 62 33.542 92.674l32.692 32.744 32.688-32.744c-4.828-30.674 6.753-65.941 33.542-92.674 22.831-22.779 51.866-34.536 78.974-34.536 21.354 0 41.512 7.296 56.497 22.248 34.010 33.933 28.494 94.454-12.316 135.175zM176.512 57.231c-3.849-8.941-9.505-17.173-16.813-24.463-7.318-7.302-15.586-12.959-24.574-16.812-8.066-3.458-16.48-5.284-24.331-5.284-7.573 0-18.306 1.701-26.431 9.806-8.068 8.052-9.76 18.659-9.76 26.144 0 7.771 1.821 16.105 5.263 24.106 3.85 8.942 9.507 17.173 16.813 24.463 7.317 7.303 15.586 12.957 24.575 16.812 8.067 3.457 16.48 5.284 24.332 5.284 7.573 0 18.306-1.7 26.429-9.807 8.067-8.049 9.761-18.658 9.761-26.142 0.001-7.771-1.819-16.108-5.264-24.107zM256.002 146.702c-24.957 0-45.188 20.266-45.188 45.263 0 24.996 20.231 45.26 45.188 45.26s45.186-20.264 45.186-45.26c0-24.999-20.23-45.263-45.186-45.263zM427.636 20.479c-8.124-8.104-18.856-9.806-26.43-9.806-7.852 0-16.265 1.826-24.333 5.284-8.986 3.853-17.254 9.51-24.571 16.812-7.307 7.29-12.963 15.521-16.813 24.463-3.443 7.999-5.263 16.336-5.263 24.106 0 7.483 1.692 18.094 9.76 26.143 8.123 8.104 18.856 9.807 26.43 9.807 7.85 0 16.265-1.827 24.33-5.284 8.989-3.854 17.258-9.509 24.575-16.812 7.305-7.29 12.962-15.521 16.813-24.463 3.442-7.999 5.263-16.335 5.263-24.106-0.001-7.485-1.695-18.093-9.761-26.144z" />
+<glyph unicode="&#xe008;" d="M416 320v80c0 8.8-7.2 16-16 16h-112v32c0 17.6-14.4 32-32 32h-64c-17.602 0-32-14.4-32-32v-32h-112c-8.801 0-16-7.2-16-16v-320c0-8.8 7.199-16 16-16h144v-96h224l96 96v256h-96zM192 447.943c0.017 0.019 0.036 0.039 0.057 0.057h63.884c0.021-0.018 0.041-0.038 0.059-0.057v-31.943h-64v31.943zM96 352v32h256v-32h-256zM416 13.255v50.745h50.745l-50.745-50.745zM480 96h-96v-96h-160v288h256v-192z" />
+<glyph unicode="&#xe009;" d="M32 480h192v-32h-192zM288 480h192v-32h-192zM476 320h-28v128h-128v-128h-128v128h-128v-128h-28c-19.8 0-36-16.2-36-36v-280c0-19.8 16.2-36 36-36h152c19.8 0 36 16.2 36 36v188h64v-188c0-19.8 16.2-36 36-36h152c19.8 0 36 16.2 36 36v280c0 19.8-16.2 36-36 36zM174 0h-124c-9.9 0-18 7.2-18 16s8.1 16 18 16h124c9.9 0 18-7.2 18-16s-8.1-16-18-16zM272 224h-32c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16zM462 0h-124c-9.9 0-18 7.2-18 16s8.1 16 18 16h124c9.9 0 18-7.2 18-16s-8.1-16-18-16z" />
+<glyph unicode="&#xe00a;" d="M192 448h320v-64h-320v64zM192 256h320v-64h-320v64zM192 64h320v-64h-320v64zM0 416c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64zM0 224c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64zM0 32c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64z" />
+<glyph unicode="&#xe00b;" d="M192 64h320v-64h-320zM192 256h320v-64h-320zM192 448h320v-64h-320zM96 480v-128h-32v96h-32v32zM64 217v-25h64v-32h-96v73l64 30v25h-64v32h96v-73zM128 128v-160h-96v32h64v32h-64v32h64v32h-64v32z" />
+<glyph unicode="&#xe00c;" d="M0 448h512v-64h-512zM192 352h320v-64h-320zM192 256h320v-64h-320zM192 160h320v-64h-320zM0 64h512v-64h-512zM0 128v192l128-96z" />
+<glyph unicode="&#xe00d;" d="M0 448h512v-64h-512zM192 352h320v-64h-320zM192 256h320v-64h-320zM192 160h320v-64h-320zM0 64h512v-64h-512zM128 320v-192l-128 96z" />
+<glyph unicode="&#xe00e;" d="M112.5 256c61.856 0 112-50.145 112-112 0-61.856-50.144-112-112-112-61.856 0-112 50.144-112 112l-0.5 16c0 123.712 100.288 224 224 224v-64c-42.737 0-82.917-16.643-113.137-46.863-5.817-5.818-11.126-12.008-15.915-18.51 5.719 0.9 11.58 1.373 17.552 1.373zM400.5 256c61.855 0 112-50.145 112-112 0-61.856-50.145-112-112-112-61.855 0-112 50.144-112 112l-0.5 16c0 123.712 100.288 224 224 224v-64c-42.737 0-82.917-16.643-113.137-46.863-5.818-5.818-11.127-12.008-15.916-18.51 5.72 0.9 11.58 1.373 17.553 1.373z" />
+<glyph unicode="&#xe00f;" d="M380.931-32c56.863 103.016 66.444 260.153-156.931 254.912v-126.912l-192 192 192 192v-124.186c267.481 6.971 297.285-236.107 156.931-387.814z" />
+<glyph unicode="&#xe010;" d="M288 355.814v124.186l192-192-192-192v126.912c-223.375 5.241-213.794-151.896-156.93-254.912-140.356 151.707-110.55 394.785 156.93 387.814z" />
+<glyph unicode="&#xe011;" d="M160 128c8.8-8.8 23.637-8.363 32.971 0.971l158.059 158.058c9.334 9.334 9.77 24.171 0.97 32.971s-23.637 8.363-32.971-0.971l-158.058-158.058c-9.334-9.334-9.771-24.171-0.971-32.971zM238.444 142.444c2.28-4.525 3.495-9.58 3.495-14.848 0-8.808-3.372-17.030-9.496-23.154l-81.691-81.691c-6.124-6.124-14.347-9.496-23.154-9.496s-17.030 3.372-23.154 9.496l-49.691 49.691c-6.124 6.124-9.496 14.347-9.496 23.154s3.372 17.030 9.496 23.154l81.691 81.691c6.124 6.124 14.347 9.497 23.154 9.497 5.268 0 10.322-1.215 14.848-3.495l32.669 32.669c-13.935 10.705-30.72 16.080-47.517 16.080-19.993 0-39.986-7.583-55.154-22.751l-81.691-81.691c-30.335-30.335-30.335-79.974 0-110.309l49.691-49.691c15.167-15.166 35.16-22.75 55.153-22.75 19.994 0 39.987 7.584 55.154 22.751l81.691 81.691c27.91 27.91 30.119 72.149 6.672 102.672l-32.67-32.67zM489.249 407.558l-49.691 49.691c-15.167 15.168-35.16 22.751-55.154 22.751-19.993 0-39.986-7.583-55.154-22.751l-81.691-81.691c-27.91-27.91-30.119-72.149-6.671-102.671l32.669 32.67c-2.279 4.525-3.494 9.58-3.494 14.847 0 8.808 3.372 17.030 9.496 23.154l81.691 81.691c6.124 6.124 14.347 9.497 23.154 9.497s17.030-3.373 23.154-9.497l49.691-49.691c6.124-6.124 9.496-14.347 9.496-23.154s-3.372-17.030-9.496-23.154l-81.691-81.691c-6.124-6.124-14.347-9.496-23.154-9.496-5.268 0-10.322 1.215-14.848 3.495l-32.669-32.669c13.936-10.705 30.72-16.080 47.517-16.080 19.994 0 39.987 7.584 55.154 22.751l81.691 81.691c30.335 30.333 30.335 79.972 0 110.307z" />
+<glyph unicode="&#xe012;" d="M238.444 142.443c2.28-4.524 3.495-9.579 3.495-14.848 0-8.808-3.372-17.029-9.496-23.154l-81.69-81.69c-6.124-6.124-14.348-9.496-23.154-9.496s-17.030 3.372-23.154 9.496l-49.69 49.69c-6.124 6.125-9.496 14.348-9.496 23.154s3.372 17.030 9.496 23.154l81.69 81.691c6.124 6.123 14.348 9.496 23.154 9.496 5.269 0 10.322-1.215 14.848-3.494l32.669 32.668c-13.935 10.705-30.72 16.080-47.517 16.080-19.993 0-39.986-7.583-55.154-22.751l-81.69-81.691c-30.335-30.335-30.335-79.975 0-110.309l49.69-49.691c15.167-15.166 35.16-22.75 55.153-22.75 19.994 0 39.987 7.584 55.154 22.751l81.69 81.69c27.91 27.91 30.119 72.149 6.672 102.673l-32.67-32.669zM489.248 407.558l-49.69 49.691c-15.167 15.168-35.16 22.751-55.154 22.751-19.993 0-39.985-7.583-55.153-22.751l-81.691-81.691c-27.91-27.91-30.119-72.149-6.671-102.671l32.669 32.67c-2.279 4.525-3.494 9.58-3.494 14.847 0 8.808 3.372 17.030 9.496 23.154l81.691 81.691c6.123 6.124 14.347 9.497 23.153 9.497 8.808 0 17.030-3.373 23.154-9.497l49.69-49.691c6.124-6.124 9.496-14.347 9.496-23.154s-3.372-17.030-9.496-23.154l-81.69-81.691c-6.124-6.124-14.347-9.496-23.154-9.496-5.268 0-10.322 1.215-14.848 3.495l-32.669-32.669c13.936-10.705 30.72-16.080 47.517-16.080 19.994 0 39.987 7.584 55.154 22.752l81.69 81.69c30.336 30.333 30.336 79.972 0 110.307zM116.684 340.688l-95.997 95.997 22.628 22.628 95.997-95.997zM192 480h32v-96h-32zM0 288h96v-32h-96zM395.316 107.312l95.998-95.998-22.628-22.628-95.998 95.998zM288 64h32v-96h-32zM416 192h96v-32h-96z" />
+<glyph unicode="&#xe013;" d="M96 480v-512l160 160 160-160v512h-320zM384 45.255l-128 128-128-128v402.745h256v-402.745z" />
+<glyph unicode="&#xe014;" d="M0 416v-416h512v416h-512zM480 32h-448v352h448v-352zM352 304c0 26.51 21.49 48 48 48s48-21.49 48-48c0-26.51-21.49-48-48-48-26.51 0-48 21.49-48 48zM448 64h-384l96 256 128-160 64 48z" />
+<glyph unicode="&#xe015;" d="M0 416v-384h512v384h-512zM96 64h-64v64h64v-64zM96 192h-64v64h64v-64zM96 320h-64v64h64v-64zM384 64h-256v320h256v-320zM480 64h-64v64h64v-64zM480 192h-64v64h64v-64zM480 320h-64v64h64v-64zM192 320v-192l128 96z" />
+<glyph unicode="&#xe016;" d="M224 128h64v-64h-64zM352 352c17.673 0 32-14.327 32-32v-96l-96-64h-64v32l96 64v32h-160v64h192zM256 432c-55.559 0-107.792-21.636-147.078-60.922s-60.922-91.519-60.922-147.078c0-55.559 21.636-107.792 60.922-147.078 39.286-39.286 91.519-60.922 147.078-60.922 55.559 0 107.792 21.636 147.078 60.922 39.286 39.286 60.922 91.519 60.922 147.078 0 55.559-21.636 107.792-60.922 147.078-39.286 39.286-91.519 60.922-147.078 60.922zM256 480v0c141.385 0 256-114.615 256-256s-114.615-256-256-256c-141.385 0-256 114.615-256 256 0 141.385 114.615 256 256 256z" />
+<glyph unicode="&#xe017;" d="M160 352l-128-128 128-128h64l-128 128 128 128zM352 352h-64l128-128-128-128h64l128 128z" />
+<glyph unicode="&#xe018;" d="M256 384c-106.038 0-192-85.961-192-192s85.961-192 192-192c106.037 0 192 85.961 192 192s-85.963 192-192 192zM357.822 90.177c-27.196-27.198-63.358-42.177-101.822-42.177s-74.625 14.979-101.823 42.177c-27.198 27.197-42.177 63.359-42.177 101.823s14.979 74.625 42.177 101.823c27.198 27.198 63.359 42.177 101.823 42.177s74.626-14.979 101.821-42.177c27.201-27.198 42.179-63.359 42.179-101.823s-14.979-74.626-42.178-101.823zM162.965 378.069l-21.47 42.939c-49.437-24.768-89.735-65.066-114.503-114.504l42.938-21.47c20.124 40.168 52.866 72.911 93.035 93.035zM442.067 285.035l42.939 21.469c-24.766 49.438-65.063 89.736-114.502 114.504l-21.472-42.939c40.169-20.124 72.912-52.866 93.035-93.034zM256 288h-32v-96c0-5.055 2.35-9.555 6.011-12.486l-0.006-0.008 80-64 19.988 24.988-73.993 59.195v88.311z" />
+<glyph unicode="&#xe019;" d="M256 320c-104.684 0-197.622-50.278-256-128 58.378-77.723 151.316-128 256-128 104.684 0 197.622 50.277 256 128-58.378 77.722-151.316 128-256 128zM224 256c17.673 0 32-14.327 32-32s-14.327-32-32-32-32 14.327-32 32 14.327 32 32 32zM386.808 127.352c-19.824-10.129-40.826-17.931-62.423-23.188-22.244-5.418-45.251-8.164-68.385-8.164-23.133 0-46.141 2.746-68.384 8.162-21.597 5.259-42.599 13.061-62.423 23.188-31.51 16.101-60.111 38.205-83.82 64.649 23.709 26.444 52.31 48.55 83.82 64.649 16.168 8.261 33.121 14.973 50.541 20.020-9.944-15.121-15.734-33.217-15.734-52.668 0-53.020 42.981-96 96-96 53.019 0 96 42.98 96 96 0 19.451-5.791 37.547-15.733 52.67 17.419-5.048 34.372-11.76 50.541-20.021 31.511-16.099 60.109-38.204 83.819-64.649-23.71-26.443-52.309-48.55-83.819-64.648zM430.459 358.139c-54.36 27.777-113.056 41.861-174.459 41.861-61.403 0-120.099-14.084-174.459-41.861-29.386-15.016-56.866-33.952-81.541-56.038v-54.603c27.669 29.283 60.347 53.877 96.097 72.145 49.81 25.452 103.609 38.357 159.903 38.357s110.093-12.905 159.902-38.358c35.751-18.268 68.429-42.862 96.098-72.145v54.603c-24.675 22.087-52.154 41.023-81.541 56.039z" />
+<glyph unicode="&#xe01a;" d="M161.009 64l28.8 96h132.382l28.8-96h56.816l-95.998 320h-111.618l-96-320h56.818zM237.809 320h36.382l28.8-96h-93.982l28.8 96z" />
+<glyph unicode="&#xe01b;" d="M0 448v-448h512v448h-512zM192 160v96h128v-96h-128zM320 128v-96h-128v96h128zM320 384v-96h-128v96h128zM160 384v-96h-128v96h128zM32 256h128v-96h-128v96zM352 256h128v-96h-128v96zM352 288v96h128v-96h-128zM32 128h128v-96h-128v96zM352 32v96h128v-96h-128z" />
+<glyph unicode="&#xe01c;" d="M0 256h512v-64h-512z" />
+<glyph unicode="&#xe01d;" d="M0 32h288v-64h-288zM96 480h352v-64h-352zM138.694 64l102.344 392.082 61.925-16.164-98.125-375.918zM464.887-32l-64.887 64.887-64.887-64.887-31.113 31.113 64.887 64.887-64.887 64.887 31.113 31.113 64.887-64.887 64.887 64.887 31.113-31.113-64.887-64.887 64.887-64.887z" />
+<glyph unicode="&#xe01e;" d="M384 25v-25h64v-32h-96v73l64 30v25h-64v32h96v-73zM338 352h-68l-94-94-94 94h-68l128-128-128-128h68l94 94 94-94h68l-128 128z" />
+<glyph unicode="&#xe01f;" d="M384 377v-25h64v-32h-96v73l64 30v25h-64v32h96v-73zM338 352h-68l-94-94-94 94h-68l128-128-128-128h68l94 94 94-94h68l-128 128z" />
+<glyph unicode="&#xe020;" d="M352 32h128l32 64v-128h-192v107.107c65.556 28.242 112 98.581 112 180.893 0 107.216-78.799 191.133-176 191.133-97.203 0-176-83.916-176-191.133 0-82.312 46.443-152.651 112-180.893v-107.107h-192v128l32-64h128v16.295c-93.815 33.23-160 113.701-160 207.705 0 123.712 114.615 224 256 224 141.385 0 256-100.288 256-224 0-94.004-66.185-174.475-160-207.705v-16.295z" />
+<glyph unicode="&#xe021;" d="M256 480c-141.385 0-256-114.614-256-256 0-141.385 114.614-256 256-256 141.385 0 256 114.615 256 256 0 141.386-114.615 256-256 256zM256 8c-119.293 0-216 96.706-216 216 0 119.293 96.707 216 216 216 119.295 0 216-96.707 216-216 0-119.294-96.705-216-216-216zM192 320c0-17.673-14.327-32-32-32s-32 14.327-32 32 14.327 32 32 32 32-14.327 32-32zM384 320c0-17.673-14.326-32-32-32s-32 14.327-32 32 14.326 32 32 32 32-14.327 32-32zM256 154c70.537 0 131.344 28.766 159.231 61.596-10.436-85.61-78.144-151.596-159.231-151.596-81.059 0-148.749 66.013-159.222 151.584 27.893-32.823 88.693-61.584 159.222-61.584z" />
+<glyph unicode="&#xe022;" d="M128 448h256v-64h-256zM480 352h-448c-17.6 0-32-14.4-32-32v-160c0-17.6 14.398-32 32-32h96v-128h256v128h96c17.6 0 32 14.4 32 32v160c0 17.6-14.4 32-32 32zM352 32h-192v160h192v-160zM487.2 304c0-12.813-10.387-23.2-23.199-23.2-12.813 0-23.201 10.387-23.201 23.2s10.388 23.2 23.201 23.2c12.813 0 23.199-10.387 23.199-23.2z" />
+<glyph unicode="&#xe023;" d="M512 480v-192l-69.13 69.13-106-106-53.74 53.74 106 106-69.13 69.13zM122.87 410.87l106-106-53.74-53.74-106 106-69.13-69.13v192h192zM442.87 90.87l69.13 69.13v-192h-192l69.13 69.13-106 106 53.74 53.74zM228.87 143.13l-106-106 69.13-69.13h-192v192l69.13-69.13 106 106z" />
+<glyph unicode="&#xe024;" d="M64 352h64v-96h32v192c0 17.6-14.4 32-32 32h-64c-17.6 0-32-14.4-32-32v-192h32v96zM64 448h64v-64h-64v64zM480 448v32h-96c-17.601 0-32-14.4-32-32v-160c0-17.6 14.399-32 32-32h96v32h-96v160h96zM320 400v48c0 17.6-14.4 32-32 32h-96v-224h96c17.6 0 32 14.4 32 32v48c0 17.6-4.4 32-22 32 17.6 0 22 14.4 22 32zM288 288h-64v64h64v-64zM288 384h-64v64h64v-64zM416 192l-208-224-112 144 41 35 71-74 176 151z" />
+<glyph unicode="&#xe025;" d="M224 192h-96v64h96v96h64v-96h96v-64h-96v-96h-64zM512 160v-192h-512v192h64v-128h384v128z" />
+<glyph unicode="&#xe026;" d="M192 384h64v-32h-64zM288 384h64v-32h-64zM448 384v-128h-96v32h64v64h-32v32zM160 288h64v-32h-64zM256 288h64v-32h-64zM96 352v-64h32v-32h-64v128h96v-32zM192 192h64v-32h-64zM288 192h64v-32h-64zM448 192v-128h-96v32h64v64h-32v32zM160 96h64v-32h-64zM256 96h64v-32h-64zM96 160v-64h32v-32h-64v128h96v-32zM480 448h-448v-448h448v448zM512 480v0-512h-512v512h512z" />
+<glyph unicode="&#xe027;" d="M0 224h64v-32h-64zM96 224h96v-32h-96zM224 224h64v-32h-64zM320 224h96v-32h-96zM448 224h64v-32h-64zM440 480l8-224h-384l8 224h16l8-192h320l8 192zM72-32l-8 192h384l-8-192h-16l-8 160h-320l-8-160z" />
+<glyph unicode="&#xe028;" d="M288 448c123.712 0 224-100.288 224-224s-100.288-224-224-224v48c47.012 0 91.209 18.307 124.451 51.549 33.242 33.242 51.549 77.439 51.549 124.451 0 47.011-18.307 91.209-51.549 124.451-33.242 33.242-77.439 51.549-124.451 51.549-47.011 0-91.209-18.307-124.451-51.549-25.57-25.569-42.291-57.623-48.653-92.451h93.104l-112-128-112 128h82.285c15.53 108.551 108.869 192 221.715 192zM384 256v-64h-128v160h64v-96z" />
+<glyph unicode="&#xe02a;" d="M353.94 237.674c18.749 22.271 30.060 51.004 30.060 82.326 0 70.58-57.421 128-128 128h-160v-448h192c70.579 0 128 57.421 128 128 0 46.478-24.899 87.248-62.060 109.674zM192 384h50.75c27.984 0 50.75-28.71 50.75-64s-22.766-64-50.75-64h-50.75v128zM271.5 64h-79.5v128h79.5c29.225 0 53-28.71 53-64s-23.775-64-53-64z" />
+<glyph unicode="&#xe02b;" d="M448 448v-32h-64l-160-384h64v-32h-224v32h64l160 384h-64v32z" />
+<glyph unicode="&#xe02c;" d="M352 448h64v-208c0-79.529-71.634-144-160-144-88.365 0-160 64.471-160 144v208h64v-208c0-20.083 9.119-39.352 25.677-54.253 18.448-16.602 43.423-25.747 70.323-25.747 26.9 0 51.875 9.145 70.323 25.747 16.558 14.901 25.677 34.17 25.677 54.253v208zM96 64h320v-64h-320z" />
+<glyph unicode="&#xe02d;" d="M365.71 221.482c31.96-23.969 50.29-58.043 50.29-93.482s-18.33-69.513-50.29-93.482c-29.679-22.259-68.642-34.518-109.71-34.518-41.069 0-80.031 12.259-109.71 34.518-31.96 23.969-50.29 58.043-50.29 93.482h64c0-34.691 43.963-64 96-64s96 29.309 96 64c0 34.691-43.963 64-96 64-41.069 0-80.031 12.259-109.71 34.518-31.96 23.97-50.29 58.043-50.29 93.482 0 35.439 18.33 69.512 50.29 93.482 29.679 22.259 68.641 34.518 109.71 34.518 41.068 0 80.031-12.259 109.71-34.518 31.96-23.97 50.29-58.043 50.29-93.482h-64c0 34.691-43.963 64-96 64-52.037 0-96-29.309-96-64 0-34.691 43.963-64 96-64 41.068 0 80.031-12.259 109.71-34.518zM0 224h512v-32h-512z" />
+<glyph unicode="&#xe02e;" d="M192 448h256v-64h-64v-384h-64v384h-64v-384h-64v224c-61.856 0-112 50.144-112 112s50.144 112 112 112z" />
+<glyph unicode="&#xe02f;" d="M224 448h256v-64h-64v-384h-64v384h-64v-384h-64v224c-61.856 0-112 50.144-112 112s50.144 112 112 112zM32 256l128-112-128-112z" />
+<glyph unicode="&#xe030;" d="M128 448h256v-64h-64v-384h-64v384h-64v-384h-64v224c-61.856 0-112 50.144-112 112s50.144 112 112 112zM480 32l-128 112 128 112z" />
+<glyph unicode="&#xe031;" d="M416 352h-96v32l-96 96h-224v-384h192v-128h320v288l-96 96zM416 306.745l50.745-50.745h-50.745v50.745zM224 434.745l50.745-50.745h-50.745v50.745zM32 448h160v-96h96v-224h-256v320zM480 0h-256v96h96v224h64v-96h96v-224z" />
+<glyph unicode="&#xe032;" d="M384 352h32v-32h-32zM320 288h32v-32h-32zM320 224h32v-32h-32zM320 160h32v-32h-32zM256 224h32v-32h-32zM256 160h32v-32h-32zM192 160h32v-32h-32zM384 288h32v-32h-32zM384 224h32v-32h-32zM384 160h32v-32h-32zM384 96h32v-32h-32zM320 96h32v-32h-32zM256 96h32v-32h-32zM192 96h32v-32h-32zM128 96h32v-32h-32z" />
+<glyph unicode="&#xe033;" d="M64 208l144-144 240 240-64 64-176-176-80 80z" />
+<glyph unicode="&#xe034;" d="M464 416h-208l-16 32h-176l-32-64h448zM452.17 128h37.43l22.4 224h-512l32-320h242.040c-52.441 18.888-90.040 69.133-90.040 128 0 74.991 61.009 136 136 136 74.99 0 136-61.009 136-136 0-10.839-1.311-21.575-3.83-32zM501.498 23.125l-99.248 87.346c8.727 14.46 13.75 31.407 13.75 49.529 0 53.020-42.98 96-96 96s-96-42.98-96-96 42.98-96 96-96c18.122 0 35.069 5.023 49.529 13.75l87.346-99.248c11.481-13.339 31.059-14.070 43.503-1.626l2.746 2.746c12.444 12.444 11.713 32.022-1.626 43.503zM320 98c-34.242 0-62 27.758-62 62s27.758 62 62 62 62-27.758 62-62-27.758-62-62-62z" />
+<glyph unicode="&#xe035;" d="M256 224v-64h16l16 32h32v-128h-24v-32h112v32h-24v128h32l16-32h16v64zM416 320v80c0 8.8-7.2 16-16 16h-112v32c0 17.6-14.4 32-32 32h-64c-17.602 0-32-14.4-32-32v-32h-112c-8.801 0-16-7.2-16-16v-320c0-8.8 7.199-16 16-16h144v-96h320v352h-96zM192 447.943c0.017 0.019 0.036 0.039 0.057 0.057h63.884c0.021-0.018 0.041-0.038 0.059-0.057v-31.943h-64v31.943zM96 352v32h256v-32h-256zM480 0h-256v288h256v-288z" />
+</font></defs></svg>
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf
new file mode 100644 (file)
index 0000000..58103c2
Binary files /dev/null and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf differ
diff --git a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff
new file mode 100644 (file)
index 0000000..ad1ae39
Binary files /dev/null and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff differ
diff --git a/wp-includes/js/tinymce/skins/lightgray/img/anchor.gif b/wp-includes/js/tinymce/skins/lightgray/img/anchor.gif
new file mode 100644 (file)
index 0000000..606348c
Binary files /dev/null and b/wp-includes/js/tinymce/skins/lightgray/img/anchor.gif differ
diff --git a/wp-includes/js/tinymce/skins/lightgray/img/loader.gif b/wp-includes/js/tinymce/skins/lightgray/img/loader.gif
new file mode 100644 (file)
index 0000000..c69e937
Binary files /dev/null and b/wp-includes/js/tinymce/skins/lightgray/img/loader.gif differ
diff --git a/wp-includes/js/tinymce/skins/lightgray/img/object.gif b/wp-includes/js/tinymce/skins/lightgray/img/object.gif
new file mode 100644 (file)
index 0000000..cccd7f0
Binary files /dev/null and b/wp-includes/js/tinymce/skins/lightgray/img/object.gif differ
diff --git a/wp-includes/js/tinymce/skins/lightgray/skin.ie7.min.css b/wp-includes/js/tinymce/skins/lightgray/skin.ie7.min.css
new file mode 100644 (file)
index 0000000..cd2bbdf
--- /dev/null
@@ -0,0 +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}.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:visible !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 div{border:1px solid #d6d6d6;width:12px;height:12px;margin:2px;cursor:pointer}.mce-grid td div:focus{border-color:#a1a1a1}.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-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:not(.mce-disabled):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-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-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-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-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
diff --git a/wp-includes/js/tinymce/skins/lightgray/skin.min.css b/wp-includes/js/tinymce/skins/lightgray/skin.min.css
new file mode 100644 (file)
index 0000000..284ac1d
--- /dev/null
@@ -0,0 +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}.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:visible !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 div{border:1px solid #d6d6d6;width:12px;height:12px;margin:2px;cursor:pointer}.mce-grid td div:focus{border-color:#a1a1a1}.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-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:not(.mce-disabled):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-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-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-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-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',Arial;font-style:normal;font-weight:normal;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
diff --git a/wp-includes/js/tinymce/skins/wordpress/images/audio.png b/wp-includes/js/tinymce/skins/wordpress/images/audio.png
new file mode 100644 (file)
index 0000000..713e4d2
Binary files /dev/null and b/wp-includes/js/tinymce/skins/wordpress/images/audio.png differ
diff --git a/wp-includes/js/tinymce/skins/wordpress/images/dashicon-edit.png b/wp-includes/js/tinymce/skins/wordpress/images/dashicon-edit.png
new file mode 100644 (file)
index 0000000..9b2c54d
Binary files /dev/null and b/wp-includes/js/tinymce/skins/wordpress/images/dashicon-edit.png differ
diff --git a/wp-includes/js/tinymce/skins/wordpress/images/dashicon-no-alt.png b/wp-includes/js/tinymce/skins/wordpress/images/dashicon-no-alt.png
new file mode 100644 (file)
index 0000000..cc0f927
Binary files /dev/null and b/wp-includes/js/tinymce/skins/wordpress/images/dashicon-no-alt.png differ
diff --git a/wp-includes/js/tinymce/skins/wordpress/images/embedded.png b/wp-includes/js/tinymce/skins/wordpress/images/embedded.png
new file mode 100644 (file)
index 0000000..4ba12bb
Binary files /dev/null and b/wp-includes/js/tinymce/skins/wordpress/images/embedded.png differ
diff --git a/wp-includes/js/tinymce/skins/wordpress/images/gallery-2x.png b/wp-includes/js/tinymce/skins/wordpress/images/gallery-2x.png
new file mode 100644 (file)
index 0000000..5b28167
Binary files /dev/null and b/wp-includes/js/tinymce/skins/wordpress/images/gallery-2x.png differ
diff --git a/wp-includes/js/tinymce/skins/wordpress/images/gallery.png b/wp-includes/js/tinymce/skins/wordpress/images/gallery.png
new file mode 100644 (file)
index 0000000..2c21b03
Binary files /dev/null and b/wp-includes/js/tinymce/skins/wordpress/images/gallery.png differ
diff --git a/wp-includes/js/tinymce/skins/wordpress/images/more-2x.png b/wp-includes/js/tinymce/skins/wordpress/images/more-2x.png
new file mode 100644 (file)
index 0000000..7f98c98
Binary files /dev/null and b/wp-includes/js/tinymce/skins/wordpress/images/more-2x.png differ
diff --git a/wp-includes/js/tinymce/skins/wordpress/images/more.png b/wp-includes/js/tinymce/skins/wordpress/images/more.png
new file mode 100644 (file)
index 0000000..3ea7b00
Binary files /dev/null and b/wp-includes/js/tinymce/skins/wordpress/images/more.png differ
diff --git a/wp-includes/js/tinymce/skins/wordpress/images/pagebreak-2x.png b/wp-includes/js/tinymce/skins/wordpress/images/pagebreak-2x.png
new file mode 100644 (file)
index 0000000..e5cb33b
Binary files /dev/null and b/wp-includes/js/tinymce/skins/wordpress/images/pagebreak-2x.png differ
diff --git a/wp-includes/js/tinymce/skins/wordpress/images/pagebreak.png b/wp-includes/js/tinymce/skins/wordpress/images/pagebreak.png
new file mode 100644 (file)
index 0000000..03d2c32
Binary files /dev/null and b/wp-includes/js/tinymce/skins/wordpress/images/pagebreak.png differ
diff --git a/wp-includes/js/tinymce/skins/wordpress/images/playlist-audio.png b/wp-includes/js/tinymce/skins/wordpress/images/playlist-audio.png
new file mode 100644 (file)
index 0000000..174c620
Binary files /dev/null and b/wp-includes/js/tinymce/skins/wordpress/images/playlist-audio.png differ
diff --git a/wp-includes/js/tinymce/skins/wordpress/images/playlist-video.png b/wp-includes/js/tinymce/skins/wordpress/images/playlist-video.png
new file mode 100644 (file)
index 0000000..6f19c3a
Binary files /dev/null and b/wp-includes/js/tinymce/skins/wordpress/images/playlist-video.png differ
diff --git a/wp-includes/js/tinymce/skins/wordpress/images/video.png b/wp-includes/js/tinymce/skins/wordpress/images/video.png
new file mode 100644 (file)
index 0000000..14ec84b
Binary files /dev/null and b/wp-includes/js/tinymce/skins/wordpress/images/video.png differ
diff --git a/wp-includes/js/tinymce/skins/wordpress/wp-content.css b/wp-includes/js/tinymce/skins/wordpress/wp-content.css
new file mode 100644 (file)
index 0000000..d252d1e
--- /dev/null
@@ -0,0 +1,489 @@
+/* Additional default styles for the editor */
+body {
+       font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif;
+       font-size: 13px;
+       line-height: 19px;
+       color: #333;
+       margin: 10px;
+}
+
+/* DFW mode */
+html.wp-fullscreen,
+html.wp-fullscreen body {
+       background: transparent;
+       width: auto;
+       max-width: none;
+       min-height: 0;
+       overflow: hidden;
+}
+
+.aligncenter,
+dl.aligncenter {
+       display: block;
+       margin-left: auto;
+       margin-right: auto;
+}
+
+.alignleft {
+       float: left;
+}
+
+.alignright {
+       float: right;
+}
+
+.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;
+}
+
+.mceIEcenter {
+       text-align: center;
+}
+
+.wp-caption img {
+       margin: 0;
+       padding: 0;
+       border: 0 none;
+}
+
+div.mceTemp {
+       -ms-user-select: element;
+}
+
+dl.wp-caption,
+dl.wp-caption * {
+       -webkit-user-drag: none;
+}
+
+.wp-caption-dd {
+       font-size: 11px;
+       line-height: 17px;
+       padding: 0 4px 5px;
+       margin: 0;
+}
+
+pre {
+       font: 12px/18px Consolas, Monaco, monospace;
+}
+
+td {
+       color: #000;
+       font-size: 11px;
+       margin: 8px;
+}
+
+/* Remove blue highlighting of selected images in WebKit */
+img::selection {
+       background-color: transparent;
+}
+
+/* Styles for the WordPress plugins */
+.mce-content-body img[data-mce-placeholder] {
+       border-radius: 0;
+       padding: 0;
+}
+
+.mce-content-body img.mce-wp-nextpage,
+.mce-content-body img.mce-wp-more {
+       border: 0;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       width: 96%;
+       height: 16px;
+       display: block;
+       margin: 15px auto 0;
+       outline: 0;
+       cursor: default;
+}
+
+.mce-content-body img.mce-wp-nextpage[data-mce-selected],
+.mce-content-body img.mce-wp-more[data-mce-selected] {
+       outline: 1px dotted #888;
+}
+
+.mce-content-body img.mce-wp-more {
+       background: transparent url( images/more.png ) repeat-y scroll center center;
+}
+
+.mce-content-body img.mce-wp-nextpage {
+    background: transparent url( images/pagebreak.png ) repeat-y scroll center center;
+}
+
+/* Gallery, audio, video placeholders */
+.mce-content-body img.wp-media {
+       border: 1px solid #aaa;
+       background-color: #f2f2f2;
+       background-repeat: no-repeat;
+       background-position: center center;
+       width: 99%;
+       height: 250px;
+       outline: 0;
+       cursor: pointer;
+}
+
+.mce-content-body img.wp-media:hover {
+       background-color: #ededed;
+       border-color: #777;
+}
+
+.mce-content-body img.wp-media.wp-media-selected {
+       background-color: #d8d8d8;
+       border-color: #777;
+}
+
+.mce-content-body img.wp-media.wp-gallery {
+       background-image: url(images/gallery.png);
+}
+
+/* Image resize handles */
+.mce-content-body div.mce-resizehandle {
+       border-color: #777;
+       width: 7px;
+       height: 7px;
+}
+
+.mce-content-body img[data-mce-selected] {
+       outline: 1px solid #777;
+}
+
+.mce-content-body img[data-mce-resize="false"] {
+       outline: 0;
+}
+
+audio,
+video,
+embed {
+       display: -moz-inline-stack;
+       display: inline-block;
+       max-width: 100%;
+}
+
+audio {
+       visibility: hidden;
+}
+
+/**
+ * WP Views
+ */
+
+.wpview-wrap {
+       width: 99.99%; /* All IE need hasLayout, incl. 11 (ugh, not again!!) */
+       position: relative;
+       clear: both;
+}
+
+/* delegate the handling of the selection to the wpview tinymce plugin */
+.wpview-wrap,
+.wpview-wrap * {
+       -moz-user-select: none;
+       -webkit-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
+}
+
+/* hide the shortcode content, but allow the content to still be selected */
+.wpview-wrap .wpview-clipboard {
+       position: absolute;
+       top: 0;
+       left: 0;
+       z-index: -1;
+       clip: rect(1px 1px 1px 1px); /* IE7 */
+       clip: rect(1px, 1px, 1px, 1px);
+       overflow: hidden;
+       outline: 0;
+       padding: 0;
+       border: 0;
+       width: 1px;
+       height: 1px;
+}
+
+/**
+ * Media previews
+ */
+.wpview-wrap {
+    position: relative;
+    margin-bottom: 16px;
+       border: 1px solid transparent;
+}
+
+.wpview-wrap.selected {
+       background-color: rgba(0,0,0,0.1);
+       border-color: rgba(0,0,0,0.3);
+}
+
+.ie8 .wpview-wrap.selected,
+.ie7 .wpview-wrap.selected {
+       background-color: #e5e5e5;
+       border-color: #777;
+}
+
+.wpview-overlay {
+       position: absolute;
+       top: 0;
+       right: 0;
+       bottom: 0;
+       left: 0;
+}
+
+.wpview-wrap.selected .wpview-overlay {
+       display: none;
+}
+
+.wpview-wrap .toolbar {
+       position: absolute;
+       top: 0;
+       left: 0;
+       display: none;
+       z-index: 100;
+}
+
+.wpview-wrap.selected .toolbar {
+       display: block;
+}
+
+#wp-image-toolbar {
+       position: absolute;
+}
+
+.wpview-wrap .toolbar div,
+#wp-image-toolbar div {
+       margin-top: 7px;
+       margin-left: 7px;
+       padding: 2px;
+       width: 30px;
+       height: 30px;
+       box-shadow: 0 1px 3px rgba(0,0,0,0.5);
+       background-color: #000;
+       background-color: rgba(0,0,0,0.9);
+       cursor: pointer;
+       color: white;
+       font-size: 30px;
+}
+
+.ie8 .wpview-wrap .toolbar div,
+.ie7 .wpview-wrap .toolbar div,
+.ie8 #wp-image-toolbar div,
+.ie7 #wp-image-toolbar div {
+       display: inline;
+       padding: 0;
+}
+
+.ie8 .dashicons-edit,
+.ie7 .dashicons-edit {
+       background-image: url(images/dashicon-edit.png);
+}
+
+.ie8 .dashicons-no-alt,
+.ie7 .dashicons-no-alt {
+       background-image: url(images/dashicon-no-alt.png);
+}
+
+.wpview-error {
+       border: 1px solid #dedede;
+       padding: 20px 0;
+       margin: 0;
+}
+
+.selected .wpview-error {
+       border-color: transparent;
+}
+
+.wpview-error .dashicons {
+       display: block;
+       margin: 0 auto;
+       width: 32px;
+       height: 32px;
+       font-size: 32px;
+}
+
+.wpview-error p {
+       margin: 0;
+       text-align: center;
+       font-family: 'Open Sans', sans-serif;
+}
+
+
+.wpview-wrap .toolbar div:hover,
+#wp-image-toolbar div:hover {
+       box-shadow: 0 1px 3px rgba(0,0,0,0.8);
+       background-color: #000;
+       color: #2ea2cc;
+}
+
+/* Audio player is short; therefore let's put the toolbar above */
+.wpview-type-audio .toolbar {
+       top: auto;
+       bottom: -34px;
+}
+
+.wpview-type-audio .toolbar div {
+       margin-top: 0;
+}
+
+.wpview-type-audio .toolbar div:first-child {
+       margin-left: 0;
+}
+
+.wont-play {
+       padding: 4px 0;
+}
+
+.wont-play p {
+       font-size: 13px;
+       line-height: 1.3;
+       display: block;
+       width: 70%;
+       margin: 0 15%;
+       text-align: center;
+}
+
+.wpview-type-gallery:after {
+    content: '';
+       display: table;
+    clear: both;
+}
+
+.gallery img[data-mce-selected]:focus {
+       outline: none;
+}
+
+.gallery a {
+       cursor: default;
+}
+
+.gallery {
+       margin: auto -6px;
+       padding: 6px 0;
+       line-height: 1;
+       overflow-x: hidden;
+}
+
+.ie7 .gallery,
+.ie8 .gallery {
+       margin: auto;
+}
+
+
+.gallery .gallery-item {
+       float: left;
+       margin: 0;
+       text-align: center;
+       padding: 6px;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+.ie7 .gallery .gallery-item,
+.ie8 .gallery .gallery-item {
+       padding: 6px 0;
+}
+
+.gallery .gallery-caption,
+.gallery .gallery-icon {
+       margin: 0;
+}
+
+.gallery .gallery-caption {
+       font-size: 13px;
+       margin: 4px 0;
+}
+
+.gallery-columns-1 .gallery-item {
+       width: 100%;
+}
+
+.gallery-columns-2 .gallery-item {
+       width: 50%;
+}
+
+.gallery-columns-3 .gallery-item {
+       width: 33.333%;
+}
+
+.ie8 .gallery-columns-3 .gallery-item,
+.ie7 .gallery-columns-3 .gallery-item {
+       width: 33%;
+}
+
+.gallery-columns-4 .gallery-item {
+       width: 25%;
+}
+
+.gallery-columns-5 .gallery-item {
+       width: 20%;
+}
+
+.gallery-columns-6 .gallery-item {
+       width: 16.665%;
+}
+
+.gallery-columns-7 .gallery-item {
+       width: 14.285%;
+}
+
+.gallery-columns-8 .gallery-item {
+       width: 12.5%;
+}
+
+.gallery-columns-9 .gallery-item {
+       width: 11.111%;
+}
+
+.gallery img {
+       max-width: 100%;
+       height: auto;
+       border: none;
+       padding: 0;
+}
+
+img.wp-oembed {
+       border: 1px dashed #888;
+       background: #f7f5f2 url(images/embedded.png) no-repeat scroll center center;
+       width: 300px;
+       height: 250px;
+       outline: 0;
+}
+
+/* rtl */
+.rtl .gallery .gallery-item {
+       float: right;
+}
+
+.rtl .wpview-wrap .toolbar {
+       left: auto;
+       right: 0;
+}
+
+.rtl .wpview-wrap .toolbar div,
+.rtl #wp-image-toolbar div {
+       margin-left: auto;
+       margin-right: 7px;
+}
+
+@media print,
+       (-o-min-device-pixel-ratio: 5/4),
+       (-webkit-min-device-pixel-ratio: 1.25),
+       (min-resolution: 120dpi) {
+
+       .mce-content-body img.mce-wp-more {
+               background-image: url( images/more-2x.png );
+               background-size: 1900px 20px;
+       }
+
+       .mce-content-body img.mce-wp-nextpage {
+       background-image: url( images/pagebreak-2x.png );
+               background-size: 1900px 20px;
+       }
+}
diff --git a/wp-includes/js/tinymce/themes/advanced/about.htm b/wp-includes/js/tinymce/themes/advanced/about.htm
deleted file mode 100644 (file)
index c7ff0a4..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <title>{#advanced_dlg.about_title}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="../../utils/mctabs.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="js/about.js?ver=358-20121205"></script>
-</head>
-<body id="about" style="display: none">
-               <div class="tabs">
-                       <ul>
-                               <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advanced_dlg.about_general}</a></span></li>
-                               <li id="help_tab" style="display:none" aria-hidden="true" aria-controls="help_panel"><span><a href="javascript:mcTabs.displayTab('help_tab','help_panel');" onmousedown="return false;">{#advanced_dlg.about_help}</a></span></li>
-                               <li id="plugins_tab" aria-controls="plugins_panel"><span><a href="javascript:mcTabs.displayTab('plugins_tab','plugins_panel');" onmousedown="return false;">{#advanced_dlg.about_plugins}</a></span></li>
-                       </ul>
-               </div>
-
-               <div class="panel_wrapper">
-                       <div id="general_panel" class="panel current">
-                               <h3>{#advanced_dlg.about_title}</h3>
-                               <p>Version: <span id="version"></span> (<span id="date"></span>)</p>
-                               <p>TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under <a href="../../license.txt" target="_blank">LGPL</a>
-                               by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.</p>
-                               <p>Copyright &copy; 2003-2008, <a href="http://www.moxiecode.com" target="_blank">Moxiecode Systems AB</a>, All rights reserved.</p>
-                               <p>For more information about this software visit the <a href="http://tinymce.moxiecode.com" target="_blank">TinyMCE website</a>.</p>
-
-                               <div id="buttoncontainer">
-                                       <a href="http://www.moxiecode.com" target="_blank"><img src="http://tinymce.moxiecode.com/images/gotmoxie.png" alt="Got Moxie?" border="0" /></a>
-                               </div>
-                       </div>
-
-                       <div id="plugins_panel" class="panel">
-                               <div id="pluginscontainer">
-                                       <h3>{#advanced_dlg.about_loaded}</h3>
-
-                                       <div id="plugintablecontainer">
-                                       </div>
-
-                                       <p>&nbsp;</p>
-                               </div>
-                       </div>
-
-                       <div id="help_panel" class="panel noscroll" style="overflow: visible;">
-                               <div id="iframecontainer"></div>
-                       </div>
-               </div>
-
-               <div class="mceActionPanel">
-                       <input type="button" id="cancel" name="cancel" value="{#close}" onclick="tinyMCEPopup.close();" />
-               </div>
-</body>
-</html>
diff --git a/wp-includes/js/tinymce/themes/advanced/anchor.htm b/wp-includes/js/tinymce/themes/advanced/anchor.htm
deleted file mode 100644 (file)
index 6571a72..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <title>{#advanced_dlg.anchor_title}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="js/anchor.js?ver=358-20121205"></script>
-</head>
-<body style="display: none" role="application" aria-labelledby="app_title">
-<form onsubmit="AnchorDialog.update();return false;" action="#">
-       <table border="0" cellpadding="4" cellspacing="0" role="presentation">
-               <tr>
-                       <td colspan="2" class="title" id="app_title">{#advanced_dlg.anchor_title}</td>
-               </tr>
-               <tr>
-                       <td class="nowrap"><label for="anchorName">{#advanced_dlg.anchor_name}:</label></td>
-                       <td><input name="anchorName" type="text" class="mceFocus" id="anchorName" value="" style="width: 200px" aria-required="true" /></td>
-               </tr>
-       </table>
-
-       <div class="mceActionPanel">
-               <input type="submit" id="insert" name="insert" value="{#update}" />
-               <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
-       </div>
-</form>
-</body>
-</html>
diff --git a/wp-includes/js/tinymce/themes/advanced/charmap.htm b/wp-includes/js/tinymce/themes/advanced/charmap.htm
deleted file mode 100644 (file)
index 41bfaf1..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <title>{#advanced_dlg.charmap_title}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="js/charmap.js?ver=358-20121205"></script>
-</head>
-<body id="charmap" style="display:none" role="application">
-<table align="center" border="0" cellspacing="0" cellpadding="2" role="presentation">
-       <tr>
-               <td colspan="2" class="title" ><label for="charmapView" id="charmap_label">{#advanced_dlg.charmap_title}</label></td>
-       </tr>
-       <tr>
-               <td id="charmapView" rowspan="2" align="left" valign="top">
-                       <!-- Chars will be rendered here -->
-               </td>
-               <td width="100" align="center" valign="top">
-                       <table border="0" cellpadding="0" cellspacing="0" width="100" style="height:100px" role="presentation">
-                               <tr>
-                                       <td id="codeV">&nbsp;</td>
-                               </tr>
-                               <tr>
-                                       <td id="codeN">&nbsp;</td>
-                               </tr>
-                       </table>
-               </td>
-       </tr>
-       <tr>
-               <td valign="bottom" style="padding-bottom: 3px;">
-                       <table width="100" align="center" border="0" cellpadding="2" cellspacing="0" role="presentation">
-                               <tr>
-                                       <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;"><label for="codeA">HTML-Code</label></td>
-                               </tr>
-                               <tr>
-                                       <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeA" align="center">&nbsp;</td>
-                               </tr>
-                               <tr>
-                                       <td style="font-size: 1px;">&nbsp;</td>
-                               </tr>
-                               <tr>
-                                       <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;"><label for="codeB">NUM-Code</label></td>
-                               </tr>
-                               <tr>
-                                       <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeB" align="center">&nbsp;</td>
-                               </tr>
-                       </table>
-               </td>
-       </tr>
-       <tr>
-               <td colspan="2" id="charmap_usage">{#advanced_dlg.charmap_usage}</td>
-       </tr>
-       
-</table>
-</body>
-</html>
diff --git a/wp-includes/js/tinymce/themes/advanced/color_picker.htm b/wp-includes/js/tinymce/themes/advanced/color_picker.htm
deleted file mode 100644 (file)
index 208cdbd..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <title>{#advanced_dlg.colorpicker_title}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="../../utils/mctabs.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="js/color_picker.js?ver=358-20121205"></script>
-</head>
-<body id="colorpicker" style="display: none" role="application" aria-labelledby="app_label">
-       <span class="mceVoiceLabel" id="app_label" style="display:none;">{#advanced_dlg.colorpicker_title}</span>
-<form onsubmit="insertAction();return false" action="#">
-       <div class="tabs">
-               <ul>
-                       <li id="picker_tab" aria-controls="picker_panel" class="current"><span><a href="javascript:mcTabs.displayTab('picker_tab','picker_panel');" onmousedown="return false;">{#advanced_dlg.colorpicker_picker_tab}</a></span></li>
-                       <li id="rgb_tab" aria-controls="rgb_panel"><span><a href="javascript:;" onclick="mcTabs.displayTab('rgb_tab','rgb_panel');" onmousedown="return false;">{#advanced_dlg.colorpicker_palette_tab}</a></span></li>
-                       <li id="named_tab" aria-controls="named_panel"><span><a  href="javascript:;" onclick="javascript:mcTabs.displayTab('named_tab','named_panel');" onmousedown="return false;">{#advanced_dlg.colorpicker_named_tab}</a></span></li>
-               </ul>
-       </div>
-
-       <div class="panel_wrapper">
-               <div id="picker_panel" class="panel current">
-                       <fieldset>
-                               <legend>{#advanced_dlg.colorpicker_picker_title}</legend>
-                               <div id="picker">
-                                       <img id="colors" src="img/colorpicker.jpg" onclick="computeColor(event)" onmousedown="isMouseDown = true;return false;" onmouseup="isMouseDown = false;" onmousemove="if (isMouseDown && isMouseOver) computeColor(event); return false;" onmouseover="isMouseOver=true;" onmouseout="isMouseOver=false;" alt="" />
-
-                                       <div id="light">
-                                               <!-- Will be filled with divs -->
-                                       </div>
-
-                                       <br style="clear: both" />
-                               </div>
-                       </fieldset>
-               </div>
-
-               <div id="rgb_panel" class="panel">
-                       <fieldset>
-                               <legend id="webcolors_title">{#advanced_dlg.colorpicker_palette_title}</legend>
-                               <div id="webcolors">
-                                       <!-- Gets filled with web safe colors-->
-                               </div>
-
-                               <br style="clear: both" />
-                       </fieldset>
-               </div>
-
-               <div id="named_panel" class="panel">
-                       <fieldset id="named_picker_label">
-                               <legend id="named_title">{#advanced_dlg.colorpicker_named_title}</legend>
-                               <div id="namedcolors" role="listbox" tabindex="0" aria-labelledby="named_picker_label">
-                                       <!-- Gets filled with named colors-->
-                               </div>
-
-                               <br style="clear: both" />
-
-                               <div id="colornamecontainer">
-                                       {#advanced_dlg.colorpicker_name} <span id="colorname"></span>
-                               </div>
-                       </fieldset>
-               </div>
-       </div>
-
-       <div class="mceActionPanel">
-               <input type="submit" id="insert" name="insert" value="{#apply}" />
-               <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();"/>
-               <div id="preview_wrapper"><div id="previewblock"><label for="color">{#advanced_dlg.colorpicker_color}</label> <input id="color" type="text" size="8" class="text mceFocus" aria-required="true" /></div><span id="preview"></span></div>
-       </div>
-</form>
-</body>
-</html>
diff --git a/wp-includes/js/tinymce/themes/advanced/editor_template.js b/wp-includes/js/tinymce/themes/advanced/editor_template.js
deleted file mode 100644 (file)
index 4b8d563..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(h){var i=h.DOM,g=h.dom.Event,c=h.extend,f=h.each,a=h.util.Cookie,e,d=h.explode;function b(p,m){var k,l,o=p.dom,j="",n,r;previewStyles=p.settings.preview_styles;if(previewStyles===false){return""}if(!previewStyles){previewStyles="font-family font-size font-weight text-decoration text-transform color background-color"}function q(s){return s.replace(/%(\w+)/g,"")}k=m.block||m.inline||"span";l=o.create(k);f(m.styles,function(t,s){t=q(t);if(t){o.setStyle(l,s,t)}});f(m.attributes,function(t,s){t=q(t);if(t){o.setAttrib(l,s,t)}});f(m.classes,function(s){s=q(s);if(!o.hasClass(l,s)){o.addClass(l,s)}});o.setStyles(l,{position:"absolute",left:-65535});p.getBody().appendChild(l);n=o.getStyle(p.getBody(),"fontSize",true);n=/px$/.test(n)?parseInt(n,10):0;f(previewStyles.split(" "),function(s){var t=o.getStyle(l,s,true);if(s=="background-color"&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(t)){t=o.getStyle(p.getBody(),s,true);if(o.toHex(t).toLowerCase()=="#ffffff"){return}}if(s=="font-size"){if(/em|%$/.test(t)){if(n===0){return}t=parseFloat(t,10)/(/%$/.test(t)?100:1);t=(t*n)+"px"}}j+=s+":"+t+";"});o.remove(l);return j}h.ThemeManager.requireLangPack("advanced");h.create("tinymce.themes.AdvancedTheme",{sizes:[8,10,12,14,18,24,36],controls:{bold:["bold_desc","Bold"],italic:["italic_desc","Italic"],underline:["underline_desc","Underline"],strikethrough:["striketrough_desc","Strikethrough"],justifyleft:["justifyleft_desc","JustifyLeft"],justifycenter:["justifycenter_desc","JustifyCenter"],justifyright:["justifyright_desc","JustifyRight"],justifyfull:["justifyfull_desc","JustifyFull"],bullist:["bullist_desc","InsertUnorderedList"],numlist:["numlist_desc","InsertOrderedList"],outdent:["outdent_desc","Outdent"],indent:["indent_desc","Indent"],cut:["cut_desc","Cut"],copy:["copy_desc","Copy"],paste:["paste_desc","Paste"],undo:["undo_desc","Undo"],redo:["redo_desc","Redo"],link:["link_desc","mceLink"],unlink:["unlink_desc","unlink"],image:["image_desc","mceImage"],cleanup:["cleanup_desc","mceCleanup"],help:["help_desc","mceHelp"],code:["code_desc","mceCodeEditor"],hr:["hr_desc","InsertHorizontalRule"],removeformat:["removeformat_desc","RemoveFormat"],sub:["sub_desc","subscript"],sup:["sup_desc","superscript"],forecolor:["forecolor_desc","ForeColor"],forecolorpicker:["forecolor_desc","mceForeColor"],backcolor:["backcolor_desc","HiliteColor"],backcolorpicker:["backcolor_desc","mceBackColor"],charmap:["charmap_desc","mceCharMap"],visualaid:["visualaid_desc","mceToggleVisualAid"],anchor:["anchor_desc","mceInsertAnchor"],newdocument:["newdocument_desc","mceNewDocument"],blockquote:["blockquote_desc","mceBlockQuote"]},stateControls:["bold","italic","underline","strikethrough","bullist","numlist","justifyleft","justifycenter","justifyright","justifyfull","sub","sup","blockquote"],init:function(k,l){var m=this,n,j,p;m.editor=k;m.url=l;m.onResolveName=new h.util.Dispatcher(this);n=k.settings;k.forcedHighContrastMode=k.settings.detect_highcontrast&&m._isHighContrast();k.settings.skin=k.forcedHighContrastMode?"highcontrast":k.settings.skin;if(!n.theme_advanced_buttons1){n=c({theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,|,sub,sup,|,charmap"},n)}m.settings=n=c({theme_advanced_path:true,theme_advanced_toolbar_location:"top",theme_advanced_blockformats:"p,address,pre,h1,h2,h3,h4,h5,h6",theme_advanced_toolbar_align:"left",theme_advanced_statusbar_location:"bottom",theme_advanced_fonts:"Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",theme_advanced_more_colors:1,theme_advanced_row_height:23,theme_advanced_resize_horizontal:1,theme_advanced_resizing_use_cookie:1,theme_advanced_font_sizes:"1,2,3,4,5,6,7",theme_advanced_font_selector:"span",theme_advanced_show_current_color:0,readonly:k.settings.readonly},n);if(!n.font_size_style_values){n.font_size_style_values="8pt,10pt,12pt,14pt,18pt,24pt,36pt"}if(h.is(n.theme_advanced_font_sizes,"string")){n.font_size_style_values=h.explode(n.font_size_style_values);n.font_size_classes=h.explode(n.font_size_classes||"");p={};k.settings.theme_advanced_font_sizes=n.theme_advanced_font_sizes;f(k.getParam("theme_advanced_font_sizes","","hash"),function(r,q){var o;if(q==r&&r>=1&&r<=7){q=r+" ("+m.sizes[r-1]+"pt)";o=n.font_size_classes[r-1];r=n.font_size_style_values[r-1]||(m.sizes[r-1]+"pt")}if(/^\s*\./.test(r)){o=r.replace(/\./g,"")}p[q]=o?{"class":o}:{fontSize:r}});n.theme_advanced_font_sizes=p}if((j=n.theme_advanced_path_location)&&j!="none"){n.theme_advanced_statusbar_location=n.theme_advanced_path_location}if(n.theme_advanced_statusbar_location=="none"){n.theme_advanced_statusbar_location=0}if(k.settings.content_css!==false){k.contentCSS.push(k.baseURI.toAbsolute(l+"/skins/"+k.settings.skin+"/content.css"))}k.onInit.add(function(){if(!k.settings.readonly){k.onNodeChange.add(m._nodeChanged,m);k.onKeyUp.add(m._updateUndoStatus,m);k.onMouseUp.add(m._updateUndoStatus,m);k.dom.bind(k.dom.getRoot(),"dragend",function(){m._updateUndoStatus(k)})}});k.onSetProgressState.add(function(r,o,s){var t,u=r.id,q;if(o){m.progressTimer=setTimeout(function(){t=r.getContainer();t=t.insertBefore(i.create("DIV",{style:"position:relative"}),t.firstChild);q=i.get(r.id+"_tbl");i.add(t,"div",{id:u+"_blocker","class":"mceBlocker",style:{width:q.clientWidth+2,height:q.clientHeight+2}});i.add(t,"div",{id:u+"_progress","class":"mceProgress",style:{left:q.clientWidth/2,top:q.clientHeight/2}})},s||0)}else{i.remove(u+"_blocker");i.remove(u+"_progress");clearTimeout(m.progressTimer)}});i.loadCSS(n.editor_css?k.documentBaseURI.toAbsolute(n.editor_css):l+"/skins/"+k.settings.skin+"/ui.css");if(n.skin_variant){i.loadCSS(l+"/skins/"+k.settings.skin+"/ui_"+n.skin_variant+".css")}},_isHighContrast:function(){var j,k=i.add(i.getRoot(),"div",{style:"background-color: rgb(171,239,86);"});j=(i.getStyle(k,"background-color",true)+"").toLowerCase().replace(/ /g,"");i.remove(k);return j!="rgb(171,239,86)"&&j!="#abef56"},createControl:function(m,j){var k,l;if(l=j.createControl(m)){return l}switch(m){case"styleselect":return this._createStyleSelect();case"formatselect":return this._createBlockFormats();case"fontselect":return this._createFontSelect();case"fontsizeselect":return this._createFontSizeSelect();case"forecolor":return this._createForeColorMenu();case"backcolor":return this._createBackColorMenu()}if((k=this.controls[m])){return j.createButton(m,{title:"advanced."+k[0],cmd:k[1],ui:k[2],value:k[3]})}},execCommand:function(l,k,m){var j=this["_"+l];if(j){j.call(this,k,m);return true}return false},_importClasses:function(l){var j=this.editor,k=j.controlManager.get("styleselect");if(k.getLength()==0){f(j.dom.getClasses(),function(q,m){var p="style_"+m,n;n={inline:"span",attributes:{"class":q["class"]},selector:"*"};j.formatter.register(p,n);k.add(q["class"],p,{style:function(){return b(j,n)}})})}},_createStyleSelect:function(o){var l=this,j=l.editor,k=j.controlManager,m;m=k.createListBox("styleselect",{title:"advanced.style_select",onselect:function(q){var r,n=[],p;f(m.items,function(s){n.push(s.value)});j.focus();j.undoManager.add();r=j.formatter.matchAll(n);h.each(r,function(s){if(!q||s==q){if(s){j.formatter.remove(s)}p=true}});if(!p){j.formatter.apply(q)}j.undoManager.add();j.nodeChanged();return false}});j.onPreInit.add(function(){var p=0,n=j.getParam("style_formats");if(n){f(n,function(q){var r,s=0;f(q,function(){s++});if(s>1){r=q.name=q.name||"style_"+(p++);j.formatter.register(r,q);m.add(q.title,r,{style:function(){return b(j,q)}})}else{m.add(q.title)}})}else{f(j.getParam("theme_advanced_styles","","hash"),function(t,s){var r,q;if(t){r="style_"+(p++);q={inline:"span",classes:t,selector:"*"};j.formatter.register(r,q);m.add(l.editor.translate(s),r,{style:function(){return b(j,q)}})}})}});if(m.getLength()==0){m.onPostRender.add(function(p,q){if(!m.NativeListBox){g.add(q.id+"_text","focus",l._importClasses,l);g.add(q.id+"_text","mousedown",l._importClasses,l);g.add(q.id+"_open","focus",l._importClasses,l);g.add(q.id+"_open","mousedown",l._importClasses,l)}else{g.add(q.id,"focus",l._importClasses,l)}})}return m},_createFontSelect:function(){var l,k=this,j=k.editor;l=j.controlManager.createListBox("fontselect",{title:"advanced.fontdefault",onselect:function(m){var n=l.items[l.selectedIndex];if(!m&&n){j.execCommand("FontName",false,n.value);return}j.execCommand("FontName",false,m);l.select(function(o){return m==o});if(n&&n.value==m){l.select(null)}return false}});if(l){f(j.getParam("theme_advanced_fonts",k.settings.theme_advanced_fonts,"hash"),function(n,m){l.add(j.translate(m),n,{style:n.indexOf("dings")==-1?"font-family:"+n:""})})}return l},_createFontSizeSelect:function(){var m=this,k=m.editor,n,l=0,j=[];n=k.controlManager.createListBox("fontsizeselect",{title:"advanced.font_size",onselect:function(o){var p=n.items[n.selectedIndex];if(!o&&p){p=p.value;if(p["class"]){k.formatter.toggle("fontsize_class",{value:p["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,p.fontSize)}return}if(o["class"]){k.focus();k.undoManager.add();k.formatter.toggle("fontsize_class",{value:o["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,o.fontSize)}n.select(function(q){return o==q});if(p&&(p.value.fontSize==o.fontSize||p.value["class"]&&p.value["class"]==o["class"])){n.select(null)}return false}});if(n){f(m.settings.theme_advanced_font_sizes,function(p,o){var q=p.fontSize;if(q>=1&&q<=7){q=m.sizes[parseInt(q)-1]+"pt"}n.add(o,p,{style:"font-size:"+q,"class":"mceFontSize"+(l++)+(" "+(p["class"]||""))})})}return n},_createBlockFormats:function(){var l,j={p:"advanced.paragraph",address:"advanced.address",pre:"advanced.pre",h1:"advanced.h1",h2:"advanced.h2",h3:"advanced.h3",h4:"advanced.h4",h5:"advanced.h5",h6:"advanced.h6",div:"advanced.div",blockquote:"advanced.blockquote",code:"advanced.code",dt:"advanced.dt",dd:"advanced.dd",samp:"advanced.samp"},k=this;l=k.editor.controlManager.createListBox("formatselect",{title:"advanced.block",onselect:function(m){k.editor.execCommand("FormatBlock",false,m);return false}});if(l){f(k.editor.getParam("theme_advanced_blockformats",k.settings.theme_advanced_blockformats,"hash"),function(n,m){l.add(k.editor.translate(m!=n?m:j[n]),n,{"class":"mce_formatPreview mce_"+n,style:function(){return b(k.editor,{block:n})}})})}return l},_createForeColorMenu:function(){var n,k=this,l=k.settings,m={},j;if(l.theme_advanced_more_colors){m.more_colors_func=function(){k._mceColorPicker(0,{color:n.value,func:function(o){n.setColor(o)}})}}if(j=l.theme_advanced_text_colors){m.colors=j}if(l.theme_advanced_default_foreground_color){m.default_color=l.theme_advanced_default_foreground_color}m.title="advanced.forecolor_desc";m.cmd="ForeColor";m.scope=this;n=k.editor.controlManager.createColorSplitButton("forecolor",m);return n},_createBackColorMenu:function(){var n,k=this,l=k.settings,m={},j;if(l.theme_advanced_more_colors){m.more_colors_func=function(){k._mceColorPicker(0,{color:n.value,func:function(o){n.setColor(o)}})}}if(j=l.theme_advanced_background_colors){m.colors=j}if(l.theme_advanced_default_background_color){m.default_color=l.theme_advanced_default_background_color}m.title="advanced.backcolor_desc";m.cmd="HiliteColor";m.scope=this;n=k.editor.controlManager.createColorSplitButton("backcolor",m);return n},renderUI:function(l){var q,m,r,w=this,u=w.editor,x=w.settings,v,k,j;if(u.settings){u.settings.aria_label=x.aria_label+u.getLang("advanced.help_shortcut")}q=k=i.create("span",{role:"application","aria-labelledby":u.id+"_voice",id:u.id+"_parent","class":"mceEditor "+u.settings.skin+"Skin"+(x.skin_variant?" "+u.settings.skin+"Skin"+w._ufirst(x.skin_variant):"")+(u.settings.directionality=="rtl"?" mceRtl":"")});i.add(q,"span",{"class":"mceVoiceLabel",style:"display:none;",id:u.id+"_voice"},x.aria_label);if(!i.boxModel){q=i.add(q,"div",{"class":"mceOldBoxModel"})}q=v=i.add(q,"table",{role:"presentation",id:u.id+"_tbl","class":"mceLayout",cellSpacing:0,cellPadding:0});q=r=i.add(q,"tbody");switch((x.theme_advanced_layout_manager||"").toLowerCase()){case"rowlayout":m=w._rowLayout(x,r,l);break;case"customlayout":m=u.execCallback("theme_advanced_custom_layout",x,r,l,k);break;default:m=w._simpleLayout(x,r,l,k)}q=l.targetNode;j=v.rows;i.addClass(j[0],"mceFirst");i.addClass(j[j.length-1],"mceLast");f(i.select("tr",r),function(o){i.addClass(o.firstChild,"mceFirst");i.addClass(o.childNodes[o.childNodes.length-1],"mceLast")});if(i.get(x.theme_advanced_toolbar_container)){i.get(x.theme_advanced_toolbar_container).appendChild(k)}else{i.insertAfter(k,q)}g.add(u.id+"_path_row","click",function(n){n=n.target;if(n.nodeName=="A"){w._sel(n.className.replace(/^.*mcePath_([0-9]+).*$/,"$1"));return false}});if(!u.getParam("accessibility_focus")){g.add(i.add(k,"a",{href:"#"},"<!-- IE -->"),"focus",function(){tinyMCE.get(u.id).focus()})}if(x.theme_advanced_toolbar_location=="external"){l.deltaHeight=0}w.deltaHeight=l.deltaHeight;l.targetNode=null;u.onKeyDown.add(function(p,n){var s=121,o=122;if(n.altKey){if(n.keyCode===s){if(h.isWebKit){window.focus()}w.toolbarGroup.focus();return g.cancel(n)}else{if(n.keyCode===o){i.get(p.id+"_path_row").focus();return g.cancel(n)}}}});u.addShortcut("alt+0","","mceShortcuts",w);return{iframeContainer:m,editorContainer:u.id+"_parent",sizeContainer:v,deltaHeight:l.deltaHeight}},getInfo:function(){return{longname:"Advanced theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:h.majorVersion+"."+h.minorVersion}},resizeBy:function(j,k){var l=i.get(this.editor.id+"_ifr");this.resizeTo(l.clientWidth+j,l.clientHeight+k)},resizeTo:function(j,n,l){var k=this.editor,m=this.settings,o=i.get(k.id+"_tbl"),p=i.get(k.id+"_ifr");j=Math.max(m.theme_advanced_resizing_min_width||100,j);n=Math.max(m.theme_advanced_resizing_min_height||100,n);j=Math.min(m.theme_advanced_resizing_max_width||65535,j);n=Math.min(m.theme_advanced_resizing_max_height||65535,n);i.setStyle(o,"height","");i.setStyle(p,"height",n);if(m.theme_advanced_resize_horizontal){i.setStyle(o,"width","");i.setStyle(p,"width",j);if(j<o.clientWidth){j=o.clientWidth;i.setStyle(p,"width",o.clientWidth)}}if(l&&m.theme_advanced_resizing_use_cookie){a.setHash("TinyMCE_"+k.id+"_size",{cw:j,ch:n})}},destroy:function(){var j=this.editor.id;g.clear(j+"_resize");g.clear(j+"_path_row");g.clear(j+"_external_close")},_simpleLayout:function(z,u,l,j){var y=this,v=y.editor,w=z.theme_advanced_toolbar_location,q=z.theme_advanced_statusbar_location,m,k,r,x;if(z.readonly){m=i.add(u,"tr");m=k=i.add(m,"td",{"class":"mceIframeContainer"});return k}if(w=="top"){y._addToolbars(u,l)}if(w=="external"){m=x=i.create("div",{style:"position:relative"});m=i.add(m,"div",{id:v.id+"_external","class":"mceExternalToolbar"});i.add(m,"a",{id:v.id+"_external_close",href:"javascript:;","class":"mceExternalClose"});m=i.add(m,"table",{id:v.id+"_tblext",cellSpacing:0,cellPadding:0});r=i.add(m,"tbody");if(j.firstChild.className=="mceOldBoxModel"){j.firstChild.appendChild(x)}else{j.insertBefore(x,j.firstChild)}y._addToolbars(r,l);v.onMouseUp.add(function(){var o=i.get(v.id+"_external");i.show(o);i.hide(e);var n=g.add(v.id+"_external_close","click",function(){i.hide(v.id+"_external");g.remove(v.id+"_external_close","click",n);return false});i.show(o);i.setStyle(o,"top",0-i.getRect(v.id+"_tblext").h-1);i.hide(o);i.show(o);o.style.filter="";e=v.id+"_external";o=null})}if(q=="top"){y._addStatusBar(u,l)}if(!z.theme_advanced_toolbar_container){m=i.add(u,"tr");m=k=i.add(m,"td",{"class":"mceIframeContainer"})}if(w=="bottom"){y._addToolbars(u,l)}if(q=="bottom"){y._addStatusBar(u,l)}return k},_rowLayout:function(x,p,l){var w=this,q=w.editor,v,y,j=q.controlManager,m,k,u,r;v=x.theme_advanced_containers_default_class||"";y=x.theme_advanced_containers_default_align||"center";f(d(x.theme_advanced_containers||""),function(s,o){var n=x["theme_advanced_container_"+s]||"";switch(s.toLowerCase()){case"mceeditor":m=i.add(p,"tr");m=k=i.add(m,"td",{"class":"mceIframeContainer"});break;case"mceelementpath":w._addStatusBar(p,l);break;default:r=(x["theme_advanced_container_"+s+"_align"]||y).toLowerCase();r="mce"+w._ufirst(r);m=i.add(i.add(p,"tr"),"td",{"class":"mceToolbar "+(x["theme_advanced_container_"+s+"_class"]||v)+" "+r||y});u=j.createToolbar("toolbar"+o);w._addControls(n,u);i.setHTML(m,u.renderHTML());l.deltaHeight-=x.theme_advanced_row_height}});return k},_addControls:function(k,j){var l=this,m=l.settings,n,o=l.editor.controlManager;if(m.theme_advanced_disable&&!l._disabled){n={};f(d(m.theme_advanced_disable),function(p){n[p]=1});l._disabled=n}else{n=l._disabled}f(d(k),function(q){var p;if(n&&n[q]){return}if(q=="tablecontrols"){f(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"],function(r){r=l.createControl(r,o);if(r){j.add(r)}});return}p=l.createControl(q,o);if(p){j.add(p)}})},_addToolbars:function(y,k){var B=this,q,p,u=B.editor,C=B.settings,A,j=u.controlManager,w,l,r=[],z,x,m=false;x=j.createToolbarGroup("toolbargroup",{name:u.getLang("advanced.toolbar"),tab_focus_toolbar:u.getParam("theme_advanced_tab_focus_toolbar")});B.toolbarGroup=x;z=C.theme_advanced_toolbar_align.toLowerCase();z="mce"+B._ufirst(z);l=i.add(i.add(y,"tr",{role:"presentation"}),"td",{"class":"mceToolbar "+z,role:"toolbar"});for(q=1;(A=C["theme_advanced_buttons"+q]);q++){m=true;p=j.createToolbar("toolbar"+q,{"class":"mceToolbarRow"+q});if(C["theme_advanced_buttons"+q+"_add"]){A+=","+C["theme_advanced_buttons"+q+"_add"]}if(C["theme_advanced_buttons"+q+"_add_before"]){A=C["theme_advanced_buttons"+q+"_add_before"]+","+A}B._addControls(A,p);x.add(p);k.deltaHeight-=C.theme_advanced_row_height}if(!m){k.deltaHeight-=C.theme_advanced_row_height}r.push(x.renderHTML());r.push(i.createHTML("a",{href:"#",accesskey:"z",title:u.getLang("advanced.toolbar_focus"),onfocus:"tinyMCE.getInstanceById('"+u.id+"').focus();"},"<!-- IE -->"));i.setHTML(l,r.join(""))},_addStatusBar:function(p,k){var l,w=this,q=w.editor,x=w.settings,j,u,v,m;l=i.add(p,"tr");l=m=i.add(l,"td",{"class":"mceStatusbar"});l=i.add(l,"div",{id:q.id+"_path_row",role:"group","aria-labelledby":q.id+"_path_voice"});if(x.theme_advanced_path){i.add(l,"span",{id:q.id+"_path_voice"},q.translate("advanced.path"));i.add(l,"span",{},": ")}else{i.add(l,"span",{},"&#160;")}if(x.theme_advanced_resizing){i.add(m,"a",{id:q.id+"_resize",href:"javascript:;",onclick:"return false;","class":"mceResize",tabIndex:"-1"});if(x.theme_advanced_resizing_use_cookie){q.onPostRender.add(function(){var n=a.getHash("TinyMCE_"+q.id+"_size"),r=i.get(q.id+"_tbl");if(!n){return}w.resizeTo(n.cw,n.ch)})}q.onPostRender.add(function(){g.add(q.id+"_resize","click",function(n){n.preventDefault()});g.add(q.id+"_resize","mousedown",function(E){var t,r,s,o,D,A,B,G,n,F,y;function z(H){H.preventDefault();n=B+(H.screenX-D);F=G+(H.screenY-A);w.resizeTo(n,F)}function C(H){g.remove(i.doc,"mousemove",t);g.remove(q.getDoc(),"mousemove",r);g.remove(i.doc,"mouseup",s);g.remove(q.getDoc(),"mouseup",o);n=B+(H.screenX-D);F=G+(H.screenY-A);w.resizeTo(n,F,true);q.nodeChanged()}E.preventDefault();D=E.screenX;A=E.screenY;y=i.get(w.editor.id+"_ifr");B=n=y.clientWidth;G=F=y.clientHeight;t=g.add(i.doc,"mousemove",z);r=g.add(q.getDoc(),"mousemove",z);s=g.add(i.doc,"mouseup",C);o=g.add(q.getDoc(),"mouseup",C)})})}k.deltaHeight-=21;l=p=null},_updateUndoStatus:function(k){var j=k.controlManager,l=k.undoManager;j.setDisabled("undo",!l.hasUndo()&&!l.typing);j.setDisabled("redo",!l.hasRedo())},_nodeChanged:function(o,u,E,r,F){var z=this,D,G=0,y,H,A=z.settings,x,l,w,C,m,k,j;h.each(z.stateControls,function(n){u.setActive(n,o.queryCommandState(z.controls[n][1]))});function q(p){var s,n=F.parents,t=p;if(typeof(p)=="string"){t=function(v){return v.nodeName==p}}for(s=0;s<n.length;s++){if(t(n[s])){return n[s]}}}u.setActive("visualaid",o.hasVisual);z._updateUndoStatus(o);u.setDisabled("outdent",!o.queryCommandState("Outdent"));D=q("A");if(H=u.get("link")){H.setDisabled((!D&&r)||(D&&!D.href));H.setActive(!!D&&(!D.name&&!D.id))}if(H=u.get("unlink")){H.setDisabled(!D&&r);H.setActive(!!D&&!D.name&&!D.id)}if(H=u.get("anchor")){H.setActive(!r&&!!D&&(D.name||(D.id&&!D.href)))}D=q("IMG");if(H=u.get("image")){H.setActive(!r&&!!D&&E.className.indexOf("mceItem")==-1)}if(H=u.get("styleselect")){z._importClasses();k=[];f(H.items,function(n){k.push(n.value)});j=o.formatter.matchAll(k);H.select(j[0]);h.each(j,function(p,n){if(n>0){H.mark(p)}})}if(H=u.get("formatselect")){D=q(o.dom.isBlock);if(D){H.select(D.nodeName.toLowerCase())}}q(function(p){if(p.nodeName==="SPAN"){if(!x&&p.className){x=p.className}}if(o.dom.is(p,A.theme_advanced_font_selector)){if(!l&&p.style.fontSize){l=p.style.fontSize}if(!w&&p.style.fontFamily){w=p.style.fontFamily.replace(/[\"\']+/g,"").replace(/^([^,]+).*/,"$1").toLowerCase()}if(!C&&p.style.color){C=p.style.color}if(!m&&p.style.backgroundColor){m=p.style.backgroundColor}}return false});if(H=u.get("fontselect")){H.select(function(n){return n.replace(/^([^,]+).*/,"$1").toLowerCase()==w})}if(H=u.get("fontsizeselect")){if(A.theme_advanced_runtime_fontsize&&!l&&!x){l=o.dom.getStyle(E,"fontSize",true)}H.select(function(n){if(n.fontSize&&n.fontSize===l){return true}if(n["class"]&&n["class"]===x){return true}})}if(A.theme_advanced_show_current_color){function B(p,n){if(H=u.get(p)){if(!n){n=H.settings.default_color}if(n!==H.value){H.displayColor(n)}}}B("forecolor",C);B("backcolor",m)}if(A.theme_advanced_show_current_color){function B(p,n){if(H=u.get(p)){if(!n){n=H.settings.default_color}if(n!==H.value){H.displayColor(n)}}}B("forecolor",C);B("backcolor",m)}if(A.theme_advanced_path&&A.theme_advanced_statusbar_location){D=i.get(o.id+"_path")||i.add(o.id+"_path_row","span",{id:o.id+"_path"});if(z.statusKeyboardNavigation){z.statusKeyboardNavigation.destroy();z.statusKeyboardNavigation=null}i.setHTML(D,"");q(function(I){var p=I.nodeName.toLowerCase(),s,v,t="";if(I.nodeType!=1||p==="br"||I.getAttribute("data-mce-bogus")||i.hasClass(I,"mceItemHidden")||i.hasClass(I,"mceItemRemoved")){return}if(h.isIE&&I.scopeName!=="HTML"&&I.scopeName){p=I.scopeName+":"+p}p=p.replace(/mce\:/g,"");switch(p){case"b":p="strong";break;case"i":p="em";break;case"img":if(y=i.getAttrib(I,"src")){t+="src: "+y+" "}break;case"a":if(y=i.getAttrib(I,"name")){t+="name: "+y+" ";p+="#"+y}if(y=i.getAttrib(I,"href")){t+="href: "+y+" "}break;case"font":if(y=i.getAttrib(I,"face")){t+="font: "+y+" "}if(y=i.getAttrib(I,"size")){t+="size: "+y+" "}if(y=i.getAttrib(I,"color")){t+="color: "+y+" "}break;case"span":if(y=i.getAttrib(I,"style")){t+="style: "+y+" "}break}if(y=i.getAttrib(I,"id")){t+="id: "+y+" "}if(y=I.className){y=y.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g,"");if(y){t+="class: "+y+" ";if(o.dom.isBlock(I)||p=="img"||p=="span"){p+="."+y}}}p=p.replace(/(html:)/g,"");p={name:p,node:I,title:t};z.onResolveName.dispatch(z,p);t=p.title;p=p.name;v=i.create("a",{href:"javascript:;",role:"button",onmousedown:"return false;",title:t,"class":"mcePath_"+(G++)},p);if(D.hasChildNodes()){D.insertBefore(i.create("span",{"aria-hidden":"true"},"\u00a0\u00bb "),D.firstChild);D.insertBefore(v,D.firstChild)}else{D.appendChild(v)}},o.getBody());if(i.select("a",D).length>0){z.statusKeyboardNavigation=new h.ui.KeyboardNavigation({root:o.id+"_path_row",items:i.select("a",D),excludeFromTabOrder:true,onCancel:function(){o.focus()}},i)}}},_sel:function(j){this.editor.execCommand("mceSelectNodeDepth",false,j)},_mceInsertAnchor:function(l,k){var j=this.editor;j.windowManager.open({url:this.url+"/anchor.htm",width:320+parseInt(j.getLang("advanced.anchor_delta_width",0)),height:90+parseInt(j.getLang("advanced.anchor_delta_height",0)),inline:true},{theme_url:this.url})},_mceCharMap:function(){var j=this.editor;j.windowManager.open({url:this.url+"/charmap.htm",width:550+parseInt(j.getLang("advanced.charmap_delta_width",0)),height:265+parseInt(j.getLang("advanced.charmap_delta_height",0)),inline:true},{theme_url:this.url})},_mceHelp:function(){var j=this.editor;j.windowManager.open({url:this.url+"/about.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceShortcuts:function(){var j=this.editor;j.windowManager.open({url:this.url+"/shortcuts.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceColorPicker:function(l,k){var j=this.editor;k=k||{};j.windowManager.open({url:this.url+"/color_picker.htm",width:375+parseInt(j.getLang("advanced.colorpicker_delta_width",0)),height:250+parseInt(j.getLang("advanced.colorpicker_delta_height",0)),close_previous:false,inline:true},{input_color:k.color,func:k.func,theme_url:this.url})},_mceCodeEditor:function(k,l){var j=this.editor;j.windowManager.open({url:this.url+"/source_editor.htm",width:parseInt(j.getParam("theme_advanced_source_editor_width",720)),height:parseInt(j.getParam("theme_advanced_source_editor_height",580)),inline:true,resizable:true,maximizable:true},{theme_url:this.url})},_mceImage:function(k,l){var j=this.editor;if(j.dom.getAttrib(j.selection.getNode(),"class","").indexOf("mceItem")!=-1){return}j.windowManager.open({url:this.url+"/image.htm",width:355+parseInt(j.getLang("advanced.image_delta_width",0)),height:275+parseInt(j.getLang("advanced.image_delta_height",0)),inline:true},{theme_url:this.url})},_mceLink:function(k,l){var j=this.editor;j.windowManager.open({url:this.url+"/link.htm",width:310+parseInt(j.getLang("advanced.link_delta_width",0)),height:200+parseInt(j.getLang("advanced.link_delta_height",0)),inline:true},{theme_url:this.url})},_mceNewDocument:function(){var j=this.editor;j.windowManager.confirm("advanced.newdocument",function(k){if(k){j.execCommand("mceSetContent",false,"")}})},_mceForeColor:function(){var j=this;this._mceColorPicker(0,{color:j.fgColor,func:function(k){j.fgColor=k;j.editor.execCommand("ForeColor",false,k)}})},_mceBackColor:function(){var j=this;this._mceColorPicker(0,{color:j.bgColor,func:function(k){j.bgColor=k;j.editor.execCommand("HiliteColor",false,k)}})},_ufirst:function(j){return j.substring(0,1).toUpperCase()+j.substring(1)}});h.ThemeManager.add("advanced",h.themes.AdvancedTheme)}(tinymce));
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/themes/advanced/editor_template_src.js b/wp-includes/js/tinymce/themes/advanced/editor_template_src.js
deleted file mode 100644 (file)
index 84039ce..0000000
+++ /dev/null
@@ -1,1490 +0,0 @@
-/**
- * editor_template_src.js
- *
- * Copyright 2009, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
- */
-
-(function(tinymce) {
-       var DOM = tinymce.DOM, Event = tinymce.dom.Event, extend = tinymce.extend, each = tinymce.each, Cookie = tinymce.util.Cookie, lastExtID, explode = tinymce.explode;
-
-       // Generates a preview for a format
-       function getPreviewCss(ed, fmt) {
-               var name, previewElm, dom = ed.dom, previewCss = '', parentFontSize, previewStylesName;
-
-               previewStyles = ed.settings.preview_styles;
-
-               // No preview forced
-               if (previewStyles === false)
-                       return '';
-
-               // Default preview
-               if (!previewStyles)
-                       previewStyles = 'font-family font-size font-weight text-decoration text-transform color background-color';
-
-               // Removes any variables since these can't be previewed
-               function removeVars(val) {
-                       return val.replace(/%(\w+)/g, '');
-               };
-
-               // Create block/inline element to use for preview
-               name = fmt.block || fmt.inline || 'span';
-               previewElm = dom.create(name);
-
-               // Add format styles to preview element
-               each(fmt.styles, function(value, name) {
-                       value = removeVars(value);
-
-                       if (value)
-                               dom.setStyle(previewElm, name, value);
-               });
-
-               // Add attributes to preview element
-               each(fmt.attributes, function(value, name) {
-                       value = removeVars(value);
-
-                       if (value)
-                               dom.setAttrib(previewElm, name, value);
-               });
-
-               // Add classes to preview element
-               each(fmt.classes, function(value) {
-                       value = removeVars(value);
-
-                       if (!dom.hasClass(previewElm, value))
-                               dom.addClass(previewElm, value);
-               });
-
-               // Add the previewElm outside the visual area
-               dom.setStyles(previewElm, {position: 'absolute', left: -0xFFFF});
-               ed.getBody().appendChild(previewElm);
-
-               // Get parent container font size so we can compute px values out of em/% for older IE:s
-               parentFontSize = dom.getStyle(ed.getBody(), 'fontSize', true);
-               parentFontSize = /px$/.test(parentFontSize) ? parseInt(parentFontSize, 10) : 0;
-
-               each(previewStyles.split(' '), function(name) {
-                       var value = dom.getStyle(previewElm, name, true);
-
-                       // If background is transparent then check if the body has a background color we can use
-                       if (name == 'background-color' && /transparent|rgba\s*\([^)]+,\s*0\)/.test(value)) {
-                               value = dom.getStyle(ed.getBody(), name, true);
-
-                               // Ignore white since it's the default color, not the nicest fix
-                               if (dom.toHex(value).toLowerCase() == '#ffffff') {
-                                       return;
-                               }
-                       }
-
-                       // Old IE won't calculate the font size so we need to do that manually
-                       if (name == 'font-size') {
-                               if (/em|%$/.test(value)) {
-                                       if (parentFontSize === 0) {
-                                               return;
-                                       }
-
-                                       // Convert font size from em/% to px
-                                       value = parseFloat(value, 10) / (/%$/.test(value) ? 100 : 1);
-                                       value = (value * parentFontSize) + 'px';
-                               }
-                       }
-
-                       previewCss += name + ':' + value + ';';
-               });
-
-               dom.remove(previewElm);
-
-               return previewCss;
-       };
-
-       // Tell it to load theme specific language pack(s)
-       tinymce.ThemeManager.requireLangPack('advanced');
-
-       tinymce.create('tinymce.themes.AdvancedTheme', {
-               sizes : [8, 10, 12, 14, 18, 24, 36],
-
-               // Control name lookup, format: title, command
-               controls : {
-                       bold : ['bold_desc', 'Bold'],
-                       italic : ['italic_desc', 'Italic'],
-                       underline : ['underline_desc', 'Underline'],
-                       strikethrough : ['striketrough_desc', 'Strikethrough'],
-                       justifyleft : ['justifyleft_desc', 'JustifyLeft'],
-                       justifycenter : ['justifycenter_desc', 'JustifyCenter'],
-                       justifyright : ['justifyright_desc', 'JustifyRight'],
-                       justifyfull : ['justifyfull_desc', 'JustifyFull'],
-                       bullist : ['bullist_desc', 'InsertUnorderedList'],
-                       numlist : ['numlist_desc', 'InsertOrderedList'],
-                       outdent : ['outdent_desc', 'Outdent'],
-                       indent : ['indent_desc', 'Indent'],
-                       cut : ['cut_desc', 'Cut'],
-                       copy : ['copy_desc', 'Copy'],
-                       paste : ['paste_desc', 'Paste'],
-                       undo : ['undo_desc', 'Undo'],
-                       redo : ['redo_desc', 'Redo'],
-                       link : ['link_desc', 'mceLink'],
-                       unlink : ['unlink_desc', 'unlink'],
-                       image : ['image_desc', 'mceImage'],
-                       cleanup : ['cleanup_desc', 'mceCleanup'],
-                       help : ['help_desc', 'mceHelp'],
-                       code : ['code_desc', 'mceCodeEditor'],
-                       hr : ['hr_desc', 'InsertHorizontalRule'],
-                       removeformat : ['removeformat_desc', 'RemoveFormat'],
-                       sub : ['sub_desc', 'subscript'],
-                       sup : ['sup_desc', 'superscript'],
-                       forecolor : ['forecolor_desc', 'ForeColor'],
-                       forecolorpicker : ['forecolor_desc', 'mceForeColor'],
-                       backcolor : ['backcolor_desc', 'HiliteColor'],
-                       backcolorpicker : ['backcolor_desc', 'mceBackColor'],
-                       charmap : ['charmap_desc', 'mceCharMap'],
-                       visualaid : ['visualaid_desc', 'mceToggleVisualAid'],
-                       anchor : ['anchor_desc', 'mceInsertAnchor'],
-                       newdocument : ['newdocument_desc', 'mceNewDocument'],
-                       blockquote : ['blockquote_desc', 'mceBlockQuote']
-               },
-
-               stateControls : ['bold', 'italic', 'underline', 'strikethrough', 'bullist', 'numlist', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'sub', 'sup', 'blockquote'],
-
-               init : function(ed, url) {
-                       var t = this, s, v, o;
-
-                       t.editor = ed;
-                       t.url = url;
-                       t.onResolveName = new tinymce.util.Dispatcher(this);
-                       s = ed.settings;
-
-                       ed.forcedHighContrastMode = ed.settings.detect_highcontrast && t._isHighContrast();
-                       ed.settings.skin = ed.forcedHighContrastMode ? 'highcontrast' : ed.settings.skin;
-
-                       // Setup default buttons
-                       if (!s.theme_advanced_buttons1) {
-                               s = extend({
-                                       theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",
-                                       theme_advanced_buttons2 : "bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",
-                                       theme_advanced_buttons3 : "hr,removeformat,visualaid,|,sub,sup,|,charmap"
-                               }, s);
-                       }
-
-                       // Default settings
-                       t.settings = s = extend({
-                               theme_advanced_path : true,
-                               theme_advanced_toolbar_location : 'top',
-                               theme_advanced_blockformats : "p,address,pre,h1,h2,h3,h4,h5,h6",
-                               theme_advanced_toolbar_align : "left",
-                               theme_advanced_statusbar_location : "bottom",
-                               theme_advanced_fonts : "Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",
-                               theme_advanced_more_colors : 1,
-                               theme_advanced_row_height : 23,
-                               theme_advanced_resize_horizontal : 1,
-                               theme_advanced_resizing_use_cookie : 1,
-                               theme_advanced_font_sizes : "1,2,3,4,5,6,7",
-                               theme_advanced_font_selector : "span",
-                               theme_advanced_show_current_color: 0,
-                               readonly : ed.settings.readonly
-                       }, s);
-
-                       // Setup default font_size_style_values
-                       if (!s.font_size_style_values)
-                               s.font_size_style_values = "8pt,10pt,12pt,14pt,18pt,24pt,36pt";
-
-                       if (tinymce.is(s.theme_advanced_font_sizes, 'string')) {
-                               s.font_size_style_values = tinymce.explode(s.font_size_style_values);
-                               s.font_size_classes = tinymce.explode(s.font_size_classes || '');
-
-                               // Parse string value
-                               o = {};
-                               ed.settings.theme_advanced_font_sizes = s.theme_advanced_font_sizes;
-                               each(ed.getParam('theme_advanced_font_sizes', '', 'hash'), function(v, k) {
-                                       var cl;
-
-                                       if (k == v && v >= 1 && v <= 7) {
-                                               k = v + ' (' + t.sizes[v - 1] + 'pt)';
-                                               cl = s.font_size_classes[v - 1];
-                                               v = s.font_size_style_values[v - 1] || (t.sizes[v - 1] + 'pt');
-                                       }
-
-                                       if (/^\s*\./.test(v))
-                                               cl = v.replace(/\./g, '');
-
-                                       o[k] = cl ? {'class' : cl} : {fontSize : v};
-                               });
-
-                               s.theme_advanced_font_sizes = o;
-                       }
-
-                       if ((v = s.theme_advanced_path_location) && v != 'none')
-                               s.theme_advanced_statusbar_location = s.theme_advanced_path_location;
-
-                       if (s.theme_advanced_statusbar_location == 'none')
-                               s.theme_advanced_statusbar_location = 0;
-
-                       if (ed.settings.content_css !== false)
-                               ed.contentCSS.push(ed.baseURI.toAbsolute(url + "/skins/" + ed.settings.skin + "/content.css"));
-
-                       // Init editor
-                       ed.onInit.add(function() {
-                               if (!ed.settings.readonly) {
-                                       ed.onNodeChange.add(t._nodeChanged, t);
-                                       ed.onKeyUp.add(t._updateUndoStatus, t);
-                                       ed.onMouseUp.add(t._updateUndoStatus, t);
-                                       ed.dom.bind(ed.dom.getRoot(), 'dragend', function() {
-                                               t._updateUndoStatus(ed);
-                                       });
-                               }
-                       });
-
-                       ed.onSetProgressState.add(function(ed, b, ti) {
-                               var co, id = ed.id, tb;
-
-                               if (b) {
-                                       t.progressTimer = setTimeout(function() {
-                                               co = ed.getContainer();
-                                               co = co.insertBefore(DOM.create('DIV', {style : 'position:relative'}), co.firstChild);
-                                               tb = DOM.get(ed.id + '_tbl');
-
-                                               DOM.add(co, 'div', {id : id + '_blocker', 'class' : 'mceBlocker', style : {width : tb.clientWidth + 2, height : tb.clientHeight + 2}});
-                                               DOM.add(co, 'div', {id : id + '_progress', 'class' : 'mceProgress', style : {left : tb.clientWidth / 2, top : tb.clientHeight / 2}});
-                                       }, ti || 0);
-                               } else {
-                                       DOM.remove(id + '_blocker');
-                                       DOM.remove(id + '_progress');
-                                       clearTimeout(t.progressTimer);
-                               }
-                       });
-
-                       DOM.loadCSS(s.editor_css ? ed.documentBaseURI.toAbsolute(s.editor_css) : url + "/skins/" + ed.settings.skin + "/ui.css");
-
-                       if (s.skin_variant)
-                               DOM.loadCSS(url + "/skins/" + ed.settings.skin + "/ui_" + s.skin_variant + ".css");
-               },
-
-               _isHighContrast : function() {
-                       var actualColor, div = DOM.add(DOM.getRoot(), 'div', {'style': 'background-color: rgb(171,239,86);'});
-
-                       actualColor = (DOM.getStyle(div, 'background-color', true) + '').toLowerCase().replace(/ /g, '');
-                       DOM.remove(div);
-
-                       return actualColor != 'rgb(171,239,86)' && actualColor != '#abef56';
-               },
-
-               createControl : function(n, cf) {
-                       var cd, c;
-
-                       if (c = cf.createControl(n))
-                               return c;
-
-                       switch (n) {
-                               case "styleselect":
-                                       return this._createStyleSelect();
-
-                               case "formatselect":
-                                       return this._createBlockFormats();
-
-                               case "fontselect":
-                                       return this._createFontSelect();
-
-                               case "fontsizeselect":
-                                       return this._createFontSizeSelect();
-
-                               case "forecolor":
-                                       return this._createForeColorMenu();
-
-                               case "backcolor":
-                                       return this._createBackColorMenu();
-                       }
-
-                       if ((cd = this.controls[n]))
-                               return cf.createButton(n, {title : "advanced." + cd[0], cmd : cd[1], ui : cd[2], value : cd[3]});
-               },
-
-               execCommand : function(cmd, ui, val) {
-                       var f = this['_' + cmd];
-
-                       if (f) {
-                               f.call(this, ui, val);
-                               return true;
-                       }
-
-                       return false;
-               },
-
-               _importClasses : function(e) {
-                       var ed = this.editor, ctrl = ed.controlManager.get('styleselect');
-
-                       if (ctrl.getLength() == 0) {
-                               each(ed.dom.getClasses(), function(o, idx) {
-                                       var name = 'style_' + idx, fmt;
-
-                                       fmt = {
-                                               inline : 'span',
-                                               attributes : {'class' : o['class']},
-                                               selector : '*'
-                                       };
-
-                                       ed.formatter.register(name, fmt);
-
-                                       ctrl.add(o['class'], name, {
-                                               style: function() {
-                                                       return getPreviewCss(ed, fmt);
-                                               }
-                                       });
-                               });
-                       }
-               },
-
-               _createStyleSelect : function(n) {
-                       var t = this, ed = t.editor, ctrlMan = ed.controlManager, ctrl;
-
-                       // Setup style select box
-                       ctrl = ctrlMan.createListBox('styleselect', {
-                               title : 'advanced.style_select',
-                               onselect : function(name) {
-                                       var matches, formatNames = [], removedFormat;
-
-                                       each(ctrl.items, function(item) {
-                                               formatNames.push(item.value);
-                                       });
-
-                                       ed.focus();
-                                       ed.undoManager.add();
-
-                                       // Toggle off the current format(s)
-                                       matches = ed.formatter.matchAll(formatNames);
-                                       tinymce.each(matches, function(match) {
-                                               if (!name || match == name) {
-                                                       if (match)
-                                                               ed.formatter.remove(match);
-
-                                                       removedFormat = true;
-                                               }
-                                       });
-
-                                       if (!removedFormat)
-                                               ed.formatter.apply(name);
-
-                                       ed.undoManager.add();
-                                       ed.nodeChanged();
-
-                                       return false; // No auto select
-                               }
-                       });
-
-                       // Handle specified format
-                       ed.onPreInit.add(function() {
-                               var counter = 0, formats = ed.getParam('style_formats');
-
-                               if (formats) {
-                                       each(formats, function(fmt) {
-                                               var name, keys = 0;
-
-                                               each(fmt, function() {keys++;});
-
-                                               if (keys > 1) {
-                                                       name = fmt.name = fmt.name || 'style_' + (counter++);
-                                                       ed.formatter.register(name, fmt);
-                                                       ctrl.add(fmt.title, name, {
-                                                               style: function() {
-                                                                       return getPreviewCss(ed, fmt);
-                                                               }
-                                                       });
-                                               } else
-                                                       ctrl.add(fmt.title);
-                                       });
-                               } else {
-                                       each(ed.getParam('theme_advanced_styles', '', 'hash'), function(val, key) {
-                                               var name, fmt;
-
-                                               if (val) {
-                                                       name = 'style_' + (counter++);
-                                                       fmt = {
-                                                               inline : 'span',
-                                                               classes : val,
-                                                               selector : '*'
-                                                       };
-
-                                                       ed.formatter.register(name, fmt);
-                                                       ctrl.add(t.editor.translate(key), name, {
-                                                               style: function() {
-                                                                       return getPreviewCss(ed, fmt);
-                                                               }
-                                                       });
-                                               }
-                                       });
-                               }
-                       });
-
-                       // Auto import classes if the ctrl box is empty
-                       if (ctrl.getLength() == 0) {
-                               ctrl.onPostRender.add(function(ed, n) {
-                                       if (!ctrl.NativeListBox) {
-                                               Event.add(n.id + '_text', 'focus', t._importClasses, t);
-                                               Event.add(n.id + '_text', 'mousedown', t._importClasses, t);
-                                               Event.add(n.id + '_open', 'focus', t._importClasses, t);
-                                               Event.add(n.id + '_open', 'mousedown', t._importClasses, t);
-                                       } else
-                                               Event.add(n.id, 'focus', t._importClasses, t);
-                               });
-                       }
-
-                       return ctrl;
-               },
-
-               _createFontSelect : function() {
-                       var c, t = this, ed = t.editor;
-
-                       c = ed.controlManager.createListBox('fontselect', {
-                               title : 'advanced.fontdefault',
-                               onselect : function(v) {
-                                       var cur = c.items[c.selectedIndex];
-
-                                       if (!v && cur) {
-                                               ed.execCommand('FontName', false, cur.value);
-                                               return;
-                                       }
-
-                                       ed.execCommand('FontName', false, v);
-
-                                       // Fake selection, execCommand will fire a nodeChange and update the selection
-                                       c.select(function(sv) {
-                                               return v == sv;
-                                       });
-
-                                       if (cur && cur.value == v) {
-                                               c.select(null);
-                                       }
-
-                                       return false; // No auto select
-                               }
-                       });
-
-                       if (c) {
-                               each(ed.getParam('theme_advanced_fonts', t.settings.theme_advanced_fonts, 'hash'), function(v, k) {
-                                       c.add(ed.translate(k), v, {style : v.indexOf('dings') == -1 ? 'font-family:' + v : ''});
-                               });
-                       }
-
-                       return c;
-               },
-
-               _createFontSizeSelect : function() {
-                       var t = this, ed = t.editor, c, i = 0, cl = [];
-
-                       c = ed.controlManager.createListBox('fontsizeselect', {title : 'advanced.font_size', onselect : function(v) {
-                               var cur = c.items[c.selectedIndex];
-
-                               if (!v && cur) {
-                                       cur = cur.value;
-
-                                       if (cur['class']) {
-                                               ed.formatter.toggle('fontsize_class', {value : cur['class']});
-                                               ed.undoManager.add();
-                                               ed.nodeChanged();
-                                       } else {
-                                               ed.execCommand('FontSize', false, cur.fontSize);
-                                       }
-
-                                       return;
-                               }
-
-                               if (v['class']) {
-                                       ed.focus();
-                                       ed.undoManager.add();
-                                       ed.formatter.toggle('fontsize_class', {value : v['class']});
-                                       ed.undoManager.add();
-                                       ed.nodeChanged();
-                               } else
-                                       ed.execCommand('FontSize', false, v.fontSize);
-
-                               // Fake selection, execCommand will fire a nodeChange and update the selection
-                               c.select(function(sv) {
-                                       return v == sv;
-                               });
-
-                               if (cur && (cur.value.fontSize == v.fontSize || cur.value['class'] && cur.value['class'] == v['class'])) {
-                                       c.select(null);
-                               }
-
-                               return false; // No auto select
-                       }});
-
-                       if (c) {
-                               each(t.settings.theme_advanced_font_sizes, function(v, k) {
-                                       var fz = v.fontSize;
-
-                                       if (fz >= 1 && fz <= 7)
-                                               fz = t.sizes[parseInt(fz) - 1] + 'pt';
-
-                                       c.add(k, v, {'style' : 'font-size:' + fz, 'class' : 'mceFontSize' + (i++) + (' ' + (v['class'] || ''))});
-                               });
-                       }
-
-                       return c;
-               },
-
-               _createBlockFormats : function() {
-                       var c, fmts = {
-                               p : 'advanced.paragraph',
-                               address : 'advanced.address',
-                               pre : 'advanced.pre',
-                               h1 : 'advanced.h1',
-                               h2 : 'advanced.h2',
-                               h3 : 'advanced.h3',
-                               h4 : 'advanced.h4',
-                               h5 : 'advanced.h5',
-                               h6 : 'advanced.h6',
-                               div : 'advanced.div',
-                               blockquote : 'advanced.blockquote',
-                               code : 'advanced.code',
-                               dt : 'advanced.dt',
-                               dd : 'advanced.dd',
-                               samp : 'advanced.samp'
-                       }, t = this;
-
-                       c = t.editor.controlManager.createListBox('formatselect', {title : 'advanced.block', onselect : function(v) {
-                               t.editor.execCommand('FormatBlock', false, v);
-                               return false;
-                       }});
-
-                       if (c) {
-                               each(t.editor.getParam('theme_advanced_blockformats', t.settings.theme_advanced_blockformats, 'hash'), function(v, k) {
-                                       c.add(t.editor.translate(k != v ? k : fmts[v]), v, {'class' : 'mce_formatPreview mce_' + v, style: function() {
-                                               return getPreviewCss(t.editor, {block: v});
-                                       }});
-                               });
-                       }
-
-                       return c;
-               },
-
-               _createForeColorMenu : function() {
-                       var c, t = this, s = t.settings, o = {}, v;
-
-                       if (s.theme_advanced_more_colors) {
-                               o.more_colors_func = function() {
-                                       t._mceColorPicker(0, {
-                                               color : c.value,
-                                               func : function(co) {
-                                                       c.setColor(co);
-                                               }
-                                       });
-                               };
-                       }
-
-                       if (v = s.theme_advanced_text_colors)
-                               o.colors = v;
-
-                       if (s.theme_advanced_default_foreground_color)
-                               o.default_color = s.theme_advanced_default_foreground_color;
-
-                       o.title = 'advanced.forecolor_desc';
-                       o.cmd = 'ForeColor';
-                       o.scope = this;
-
-                       c = t.editor.controlManager.createColorSplitButton('forecolor', o);
-
-                       return c;
-               },
-
-               _createBackColorMenu : function() {
-                       var c, t = this, s = t.settings, o = {}, v;
-
-                       if (s.theme_advanced_more_colors) {
-                               o.more_colors_func = function() {
-                                       t._mceColorPicker(0, {
-                                               color : c.value,
-                                               func : function(co) {
-                                                       c.setColor(co);
-                                               }
-                                       });
-                               };
-                       }
-
-                       if (v = s.theme_advanced_background_colors)
-                               o.colors = v;
-
-                       if (s.theme_advanced_default_background_color)
-                               o.default_color = s.theme_advanced_default_background_color;
-
-                       o.title = 'advanced.backcolor_desc';
-                       o.cmd = 'HiliteColor';
-                       o.scope = this;
-
-                       c = t.editor.controlManager.createColorSplitButton('backcolor', o);
-
-                       return c;
-               },
-
-               renderUI : function(o) {
-                       var n, ic, tb, t = this, ed = t.editor, s = t.settings, sc, p, nl;
-
-                       if (ed.settings) {
-                               ed.settings.aria_label = s.aria_label + ed.getLang('advanced.help_shortcut');
-                       }
-
-                       // TODO: ACC Should have an aria-describedby attribute which is user-configurable to describe what this field is actually for.
-                       // Maybe actually inherit it from the original textara?
-                       n = p = DOM.create('span', {role : 'application', 'aria-labelledby' : ed.id + '_voice', id : ed.id + '_parent', 'class' : 'mceEditor ' + ed.settings.skin + 'Skin' + (s.skin_variant ? ' ' + ed.settings.skin + 'Skin' + t._ufirst(s.skin_variant) : '') + (ed.settings.directionality == "rtl" ? ' mceRtl' : '')});
-                       DOM.add(n, 'span', {'class': 'mceVoiceLabel', 'style': 'display:none;', id: ed.id + '_voice'}, s.aria_label);
-
-                       if (!DOM.boxModel)
-                               n = DOM.add(n, 'div', {'class' : 'mceOldBoxModel'});
-
-                       n = sc = DOM.add(n, 'table', {role : "presentation", id : ed.id + '_tbl', 'class' : 'mceLayout', cellSpacing : 0, cellPadding : 0});
-                       n = tb = DOM.add(n, 'tbody');
-
-                       switch ((s.theme_advanced_layout_manager || '').toLowerCase()) {
-                               case "rowlayout":
-                                       ic = t._rowLayout(s, tb, o);
-                                       break;
-
-                               case "customlayout":
-                                       ic = ed.execCallback("theme_advanced_custom_layout", s, tb, o, p);
-                                       break;
-
-                               default:
-                                       ic = t._simpleLayout(s, tb, o, p);
-                       }
-
-                       n = o.targetNode;
-
-                       // Add classes to first and last TRs
-                       nl = sc.rows;
-                       DOM.addClass(nl[0], 'mceFirst');
-                       DOM.addClass(nl[nl.length - 1], 'mceLast');
-
-                       // Add classes to first and last TDs
-                       each(DOM.select('tr', tb), function(n) {
-                               DOM.addClass(n.firstChild, 'mceFirst');
-                               DOM.addClass(n.childNodes[n.childNodes.length - 1], 'mceLast');
-                       });
-
-                       if (DOM.get(s.theme_advanced_toolbar_container))
-                               DOM.get(s.theme_advanced_toolbar_container).appendChild(p);
-                       else
-                               DOM.insertAfter(p, n);
-
-                       Event.add(ed.id + '_path_row', 'click', function(e) {
-                               e = e.target;
-
-                               if (e.nodeName == 'A') {
-                                       t._sel(e.className.replace(/^.*mcePath_([0-9]+).*$/, '$1'));
-                                       return false;
-                               }
-                       });
-/*
-                       if (DOM.get(ed.id + '_path_row')) {
-                               Event.add(ed.id + '_tbl', 'mouseover', function(e) {
-                                       var re;
-
-                                       e = e.target;
-
-                                       if (e.nodeName == 'SPAN' && DOM.hasClass(e.parentNode, 'mceButton')) {
-                                               re = DOM.get(ed.id + '_path_row');
-                                               t.lastPath = re.innerHTML;
-                                               DOM.setHTML(re, e.parentNode.title);
-                                       }
-                               });
-
-                               Event.add(ed.id + '_tbl', 'mouseout', function(e) {
-                                       if (t.lastPath) {
-                                               DOM.setHTML(ed.id + '_path_row', t.lastPath);
-                                               t.lastPath = 0;
-                                       }
-                               });
-                       }
-*/
-
-                       if (!ed.getParam('accessibility_focus'))
-                               Event.add(DOM.add(p, 'a', {href : '#'}, '<!-- IE -->'), 'focus', function() {tinyMCE.get(ed.id).focus();});
-
-                       if (s.theme_advanced_toolbar_location == 'external')
-                               o.deltaHeight = 0;
-
-                       t.deltaHeight = o.deltaHeight;
-                       o.targetNode = null;
-
-                       ed.onKeyDown.add(function(ed, evt) {
-                               var DOM_VK_F10 = 121, DOM_VK_F11 = 122;
-
-                               if (evt.altKey) {
-                                       if (evt.keyCode === DOM_VK_F10) {
-                                               // Make sure focus is given to toolbar in Safari.
-                                               // We can't do this in IE as it prevents giving focus to toolbar when editor is in a frame
-                                               if (tinymce.isWebKit) {
-                                                       window.focus();
-                                               }
-                                               t.toolbarGroup.focus();
-                                               return Event.cancel(evt);
-                                       } else if (evt.keyCode === DOM_VK_F11) {
-                                               DOM.get(ed.id + '_path_row').focus();
-                                               return Event.cancel(evt);
-                                       }
-                               }
-                       });
-
-                       // alt+0 is the UK recommended shortcut for accessing the list of access controls.
-                       ed.addShortcut('alt+0', '', 'mceShortcuts', t);
-
-                       return {
-                               iframeContainer : ic,
-                               editorContainer : ed.id + '_parent',
-                               sizeContainer : sc,
-                               deltaHeight : o.deltaHeight
-                       };
-               },
-
-               getInfo : function() {
-                       return {
-                               longname : 'Advanced theme',
-                               author : 'Moxiecode Systems AB',
-                               authorurl : 'http://tinymce.moxiecode.com',
-                               version : tinymce.majorVersion + "." + tinymce.minorVersion
-                       }
-               },
-
-               resizeBy : function(dw, dh) {
-                       var e = DOM.get(this.editor.id + '_ifr');
-
-                       this.resizeTo(e.clientWidth + dw, e.clientHeight + dh);
-               },
-
-               resizeTo : function(w, h, store) {
-                       var ed = this.editor, s = this.settings, e = DOM.get(ed.id + '_tbl'), ifr = DOM.get(ed.id + '_ifr');
-
-                       // Boundery fix box
-                       w = Math.max(s.theme_advanced_resizing_min_width || 100, w);
-                       h = Math.max(s.theme_advanced_resizing_min_height || 100, h);
-                       w = Math.min(s.theme_advanced_resizing_max_width || 0xFFFF, w);
-                       h = Math.min(s.theme_advanced_resizing_max_height || 0xFFFF, h);
-
-                       // Resize iframe and container
-                       DOM.setStyle(e, 'height', '');
-                       DOM.setStyle(ifr, 'height', h);
-
-                       if (s.theme_advanced_resize_horizontal) {
-                               DOM.setStyle(e, 'width', '');
-                               DOM.setStyle(ifr, 'width', w);
-
-                               // Make sure that the size is never smaller than the over all ui
-                               if (w < e.clientWidth) {
-                                       w = e.clientWidth;
-                                       DOM.setStyle(ifr, 'width', e.clientWidth);
-                               }
-                       }
-
-                       // Store away the size
-                       if (store && s.theme_advanced_resizing_use_cookie) {
-                               Cookie.setHash("TinyMCE_" + ed.id + "_size", {
-                                       cw : w,
-                                       ch : h
-                               });
-                       }
-               },
-
-               destroy : function() {
-                       var id = this.editor.id;
-
-                       Event.clear(id + '_resize');
-                       Event.clear(id + '_path_row');
-                       Event.clear(id + '_external_close');
-               },
-
-               // Internal functions
-
-               _simpleLayout : function(s, tb, o, p) {
-                       var t = this, ed = t.editor, lo = s.theme_advanced_toolbar_location, sl = s.theme_advanced_statusbar_location, n, ic, etb, c;
-
-                       if (s.readonly) {
-                               n = DOM.add(tb, 'tr');
-                               n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'});
-                               return ic;
-                       }
-
-                       // Create toolbar container at top
-                       if (lo == 'top')
-                               t._addToolbars(tb, o);
-
-                       // Create external toolbar
-                       if (lo == 'external') {
-                               n = c = DOM.create('div', {style : 'position:relative'});
-                               n = DOM.add(n, 'div', {id : ed.id + '_external', 'class' : 'mceExternalToolbar'});
-                               DOM.add(n, 'a', {id : ed.id + '_external_close', href : 'javascript:;', 'class' : 'mceExternalClose'});
-                               n = DOM.add(n, 'table', {id : ed.id + '_tblext', cellSpacing : 0, cellPadding : 0});
-                               etb = DOM.add(n, 'tbody');
-
-                               if (p.firstChild.className == 'mceOldBoxModel')
-                                       p.firstChild.appendChild(c);
-                               else
-                                       p.insertBefore(c, p.firstChild);
-
-                               t._addToolbars(etb, o);
-
-                               ed.onMouseUp.add(function() {
-                                       var e = DOM.get(ed.id + '_external');
-                                       DOM.show(e);
-
-                                       DOM.hide(lastExtID);
-
-                                       var f = Event.add(ed.id + '_external_close', 'click', function() {
-                                               DOM.hide(ed.id + '_external');
-                                               Event.remove(ed.id + '_external_close', 'click', f);
-                                               return false;
-                                       });
-
-                                       DOM.show(e);
-                                       DOM.setStyle(e, 'top', 0 - DOM.getRect(ed.id + '_tblext').h - 1);
-
-                                       // Fixes IE rendering bug
-                                       DOM.hide(e);
-                                       DOM.show(e);
-                                       e.style.filter = '';
-
-                                       lastExtID = ed.id + '_external';
-
-                                       e = null;
-                               });
-                       }
-
-                       if (sl == 'top')
-                               t._addStatusBar(tb, o);
-
-                       // Create iframe container
-                       if (!s.theme_advanced_toolbar_container) {
-                               n = DOM.add(tb, 'tr');
-                               n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'});
-                       }
-
-                       // Create toolbar container at bottom
-                       if (lo == 'bottom')
-                               t._addToolbars(tb, o);
-
-                       if (sl == 'bottom')
-                               t._addStatusBar(tb, o);
-
-                       return ic;
-               },
-
-               _rowLayout : function(s, tb, o) {
-                       var t = this, ed = t.editor, dc, da, cf = ed.controlManager, n, ic, to, a;
-
-                       dc = s.theme_advanced_containers_default_class || '';
-                       da = s.theme_advanced_containers_default_align || 'center';
-
-                       each(explode(s.theme_advanced_containers || ''), function(c, i) {
-                               var v = s['theme_advanced_container_' + c] || '';
-
-                               switch (c.toLowerCase()) {
-                                       case 'mceeditor':
-                                               n = DOM.add(tb, 'tr');
-                                               n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'});
-                                               break;
-
-                                       case 'mceelementpath':
-                                               t._addStatusBar(tb, o);
-                                               break;
-
-                                       default:
-                                               a = (s['theme_advanced_container_' + c + '_align'] || da).toLowerCase();
-                                               a = 'mce' + t._ufirst(a);
-
-                                               n = DOM.add(DOM.add(tb, 'tr'), 'td', {
-                                                       'class' : 'mceToolbar ' + (s['theme_advanced_container_' + c + '_class'] || dc) + ' ' + a || da
-                                               });
-
-                                               to = cf.createToolbar("toolbar" + i);
-                                               t._addControls(v, to);
-                                               DOM.setHTML(n, to.renderHTML());
-                                               o.deltaHeight -= s.theme_advanced_row_height;
-                               }
-                       });
-
-                       return ic;
-               },
-
-               _addControls : function(v, tb) {
-                       var t = this, s = t.settings, di, cf = t.editor.controlManager;
-
-                       if (s.theme_advanced_disable && !t._disabled) {
-                               di = {};
-
-                               each(explode(s.theme_advanced_disable), function(v) {
-                                       di[v] = 1;
-                               });
-
-                               t._disabled = di;
-                       } else
-                               di = t._disabled;
-
-                       each(explode(v), function(n) {
-                               var c;
-
-                               if (di && di[n])
-                                       return;
-
-                               // Compatiblity with 2.x
-                               if (n == 'tablecontrols') {
-                                       each(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"], function(n) {
-                                               n = t.createControl(n, cf);
-
-                                               if (n)
-                                                       tb.add(n);
-                                       });
-
-                                       return;
-                               }
-
-                               c = t.createControl(n, cf);
-
-                               if (c)
-                                       tb.add(c);
-                       });
-               },
-
-               _addToolbars : function(c, o) {
-                       var t = this, i, tb, ed = t.editor, s = t.settings, v, cf = ed.controlManager, di, n, h = [], a, toolbarGroup, toolbarsExist = false;
-
-                       toolbarGroup = cf.createToolbarGroup('toolbargroup', {
-                               'name': ed.getLang('advanced.toolbar'),
-                               'tab_focus_toolbar':ed.getParam('theme_advanced_tab_focus_toolbar')
-                       });
-
-                       t.toolbarGroup = toolbarGroup;
-
-                       a = s.theme_advanced_toolbar_align.toLowerCase();
-                       a = 'mce' + t._ufirst(a);
-
-                       n = DOM.add(DOM.add(c, 'tr', {role: 'presentation'}), 'td', {'class' : 'mceToolbar ' + a, "role":"toolbar"});
-
-                       // Create toolbar and add the controls
-                       for (i=1; (v = s['theme_advanced_buttons' + i]); i++) {
-                               toolbarsExist = true;
-                               tb = cf.createToolbar("toolbar" + i, {'class' : 'mceToolbarRow' + i});
-
-                               if (s['theme_advanced_buttons' + i + '_add'])
-                                       v += ',' + s['theme_advanced_buttons' + i + '_add'];
-
-                               if (s['theme_advanced_buttons' + i + '_add_before'])
-                                       v = s['theme_advanced_buttons' + i + '_add_before'] + ',' + v;
-
-                               t._addControls(v, tb);
-                               toolbarGroup.add(tb);
-
-                               o.deltaHeight -= s.theme_advanced_row_height;
-                       }
-                       // Handle case when there are no toolbar buttons and ensure editor height is adjusted accordingly
-                       if (!toolbarsExist)
-                               o.deltaHeight -= s.theme_advanced_row_height;
-                       h.push(toolbarGroup.renderHTML());
-                       h.push(DOM.createHTML('a', {href : '#', accesskey : 'z', title : ed.getLang("advanced.toolbar_focus"), onfocus : 'tinyMCE.getInstanceById(\'' + ed.id + '\').focus();'}, '<!-- IE -->'));
-                       DOM.setHTML(n, h.join(''));
-               },
-
-               _addStatusBar : function(tb, o) {
-                       var n, t = this, ed = t.editor, s = t.settings, r, mf, me, td;
-
-                       n = DOM.add(tb, 'tr');
-                       n = td = DOM.add(n, 'td', {'class' : 'mceStatusbar'});
-                       n = DOM.add(n, 'div', {id : ed.id + '_path_row', 'role': 'group', 'aria-labelledby': ed.id + '_path_voice'});
-                       if (s.theme_advanced_path) {
-                               DOM.add(n, 'span', {id: ed.id + '_path_voice'}, ed.translate('advanced.path'));
-                               DOM.add(n, 'span', {}, ': ');
-                       } else {
-                               DOM.add(n, 'span', {}, '&#160;');
-                       }
-
-
-                       if (s.theme_advanced_resizing) {
-                               DOM.add(td, 'a', {id : ed.id + '_resize', href : 'javascript:;', onclick : "return false;", 'class' : 'mceResize', tabIndex:"-1"});
-
-                               if (s.theme_advanced_resizing_use_cookie) {
-                                       ed.onPostRender.add(function() {
-                                               var o = Cookie.getHash("TinyMCE_" + ed.id + "_size"), c = DOM.get(ed.id + '_tbl');
-
-                                               if (!o)
-                                                       return;
-
-                                               t.resizeTo(o.cw, o.ch);
-                                       });
-                               }
-
-                               ed.onPostRender.add(function() {
-                                       Event.add(ed.id + '_resize', 'click', function(e) {
-                                               e.preventDefault();
-                                       });
-
-                                       Event.add(ed.id + '_resize', 'mousedown', function(e) {
-                                               var mouseMoveHandler1, mouseMoveHandler2,
-                                                       mouseUpHandler1, mouseUpHandler2,
-                                                       startX, startY, startWidth, startHeight, width, height, ifrElm;
-
-                                               function resizeOnMove(e) {
-                                                       e.preventDefault();
-
-                                                       width = startWidth + (e.screenX - startX);
-                                                       height = startHeight + (e.screenY - startY);
-
-                                                       t.resizeTo(width, height);
-                                               };
-
-                                               function endResize(e) {
-                                                       // Stop listening
-                                                       Event.remove(DOM.doc, 'mousemove', mouseMoveHandler1);
-                                                       Event.remove(ed.getDoc(), 'mousemove', mouseMoveHandler2);
-                                                       Event.remove(DOM.doc, 'mouseup', mouseUpHandler1);
-                                                       Event.remove(ed.getDoc(), 'mouseup', mouseUpHandler2);
-
-                                                       width = startWidth + (e.screenX - startX);
-                                                       height = startHeight + (e.screenY - startY);
-                                                       t.resizeTo(width, height, true);
-
-                                                       ed.nodeChanged();
-                                               };
-
-                                               e.preventDefault();
-
-                                               // Get the current rect size
-                                               startX = e.screenX;
-                                               startY = e.screenY;
-                                               ifrElm = DOM.get(t.editor.id + '_ifr');
-                                               startWidth = width = ifrElm.clientWidth;
-                                               startHeight = height = ifrElm.clientHeight;
-
-                                               // Register envent handlers
-                                               mouseMoveHandler1 = Event.add(DOM.doc, 'mousemove', resizeOnMove);
-                                               mouseMoveHandler2 = Event.add(ed.getDoc(), 'mousemove', resizeOnMove);
-                                               mouseUpHandler1 = Event.add(DOM.doc, 'mouseup', endResize);
-                                               mouseUpHandler2 = Event.add(ed.getDoc(), 'mouseup', endResize);
-                                       });
-                               });
-                       }
-
-                       o.deltaHeight -= 21;
-                       n = tb = null;
-               },
-
-               _updateUndoStatus : function(ed) {
-                       var cm = ed.controlManager, um = ed.undoManager;
-
-                       cm.setDisabled('undo', !um.hasUndo() && !um.typing);
-                       cm.setDisabled('redo', !um.hasRedo());
-               },
-
-               _nodeChanged : function(ed, cm, n, co, ob) {
-                       var t = this, p, de = 0, v, c, s = t.settings, cl, fz, fn, fc, bc, formatNames, matches;
-
-                       tinymce.each(t.stateControls, function(c) {
-                               cm.setActive(c, ed.queryCommandState(t.controls[c][1]));
-                       });
-
-                       function getParent(name) {
-                               var i, parents = ob.parents, func = name;
-
-                               if (typeof(name) == 'string') {
-                                       func = function(node) {
-                                               return node.nodeName == name;
-                                       };
-                               }
-
-                               for (i = 0; i < parents.length; i++) {
-                                       if (func(parents[i]))
-                                               return parents[i];
-                               }
-                       };
-
-                       cm.setActive('visualaid', ed.hasVisual);
-                       t._updateUndoStatus(ed);
-                       cm.setDisabled('outdent', !ed.queryCommandState('Outdent'));
-
-                       p = getParent('A');
-                       if (c = cm.get('link')) {
-                               c.setDisabled((!p && co) || (p && !p.href));
-                               c.setActive(!!p && (!p.name && !p.id));
-                       }
-
-                       if (c = cm.get('unlink')) {
-                               c.setDisabled(!p && co);
-                               c.setActive(!!p && !p.name && !p.id);
-                       }
-
-                       if (c = cm.get('anchor')) {
-                               c.setActive(!co && !!p && (p.name || (p.id && !p.href)));
-                       }
-
-                       p = getParent('IMG');
-                       if (c = cm.get('image'))
-                               c.setActive(!co && !!p && n.className.indexOf('mceItem') == -1);
-
-                       if (c = cm.get('styleselect')) {
-                               t._importClasses();
-
-                               formatNames = [];
-                               each(c.items, function(item) {
-                                       formatNames.push(item.value);
-                               });
-
-                               matches = ed.formatter.matchAll(formatNames);
-                               c.select(matches[0]);
-                               tinymce.each(matches, function(match, index) {
-                                       if (index > 0) {
-                                               c.mark(match);
-                                       }
-                               });
-                       }
-
-                       if (c = cm.get('formatselect')) {
-                               p = getParent(ed.dom.isBlock);
-
-                               if (p)
-                                       c.select(p.nodeName.toLowerCase());
-                       }
-
-                       // Find out current fontSize, fontFamily and fontClass
-                       getParent(function(n) {
-                               if (n.nodeName === 'SPAN') {
-                                       if (!cl && n.className)
-                                               cl = n.className;
-                               }
-
-                               if (ed.dom.is(n, s.theme_advanced_font_selector)) {
-                                       if (!fz && n.style.fontSize)
-                                               fz = n.style.fontSize;
-
-                                       if (!fn && n.style.fontFamily)
-                                               fn = n.style.fontFamily.replace(/[\"\']+/g, '').replace(/^([^,]+).*/, '$1').toLowerCase();
-
-                                       if (!fc && n.style.color)
-                                               fc = n.style.color;
-
-                                       if (!bc && n.style.backgroundColor)
-                                               bc = n.style.backgroundColor;
-                               }
-
-                               return false;
-                       });
-
-                       if (c = cm.get('fontselect')) {
-                               c.select(function(v) {
-                                       return v.replace(/^([^,]+).*/, '$1').toLowerCase() == fn;
-                               });
-                       }
-
-                       // Select font size
-                       if (c = cm.get('fontsizeselect')) {
-                               // Use computed style
-                               if (s.theme_advanced_runtime_fontsize && !fz && !cl)
-                                       fz = ed.dom.getStyle(n, 'fontSize', true);
-
-                               c.select(function(v) {
-                                       if (v.fontSize && v.fontSize === fz)
-                                               return true;
-
-                                       if (v['class'] && v['class'] === cl)
-                                               return true;
-                               });
-                       }
-
-                       if (s.theme_advanced_show_current_color) {
-                               function updateColor(controlId, color) {
-                                       if (c = cm.get(controlId)) {
-                                               if (!color)
-                                                       color = c.settings.default_color;
-                                               if (color !== c.value) {
-                                                       c.displayColor(color);
-                                               }
-                                       }
-                               }
-                               updateColor('forecolor', fc);
-                               updateColor('backcolor', bc);
-                       }
-
-                       if (s.theme_advanced_show_current_color) {
-                               function updateColor(controlId, color) {
-                                       if (c = cm.get(controlId)) {
-                                               if (!color)
-                                                       color = c.settings.default_color;
-                                               if (color !== c.value) {
-                                                       c.displayColor(color);
-                                               }
-                                       }
-                               };
-
-                               updateColor('forecolor', fc);
-                               updateColor('backcolor', bc);
-                       }
-
-                       if (s.theme_advanced_path && s.theme_advanced_statusbar_location) {
-                               p = DOM.get(ed.id + '_path') || DOM.add(ed.id + '_path_row', 'span', {id : ed.id + '_path'});
-
-                               if (t.statusKeyboardNavigation) {
-                                       t.statusKeyboardNavigation.destroy();
-                                       t.statusKeyboardNavigation = null;
-                               }
-
-                               DOM.setHTML(p, '');
-
-                               getParent(function(n) {
-                                       var na = n.nodeName.toLowerCase(), u, pi, ti = '';
-
-                                       // Ignore non element and bogus/hidden elements
-                                       if (n.nodeType != 1 || na === 'br' || n.getAttribute('data-mce-bogus') || DOM.hasClass(n, 'mceItemHidden') || DOM.hasClass(n, 'mceItemRemoved'))
-                                               return;
-
-                                       // Handle prefix
-                                       if (tinymce.isIE && n.scopeName !== 'HTML' && n.scopeName)
-                                               na = n.scopeName + ':' + na;
-
-                                       // Remove internal prefix
-                                       na = na.replace(/mce\:/g, '');
-
-                                       // Handle node name
-                                       switch (na) {
-                                               case 'b':
-                                                       na = 'strong';
-                                                       break;
-
-                                               case 'i':
-                                                       na = 'em';
-                                                       break;
-
-                                               case 'img':
-                                                       if (v = DOM.getAttrib(n, 'src'))
-                                                               ti += 'src: ' + v + ' ';
-
-                                                       break;
-
-                                               case 'a':
-                                                       if (v = DOM.getAttrib(n, 'name')) {
-                                                               ti += 'name: ' + v + ' ';
-                                                               na += '#' + v;
-                                                       }
-
-                                                       if (v = DOM.getAttrib(n, 'href'))
-                                                               ti += 'href: ' + v + ' ';
-
-                                                       break;
-
-                                               case 'font':
-                                                       if (v = DOM.getAttrib(n, 'face'))
-                                                               ti += 'font: ' + v + ' ';
-
-                                                       if (v = DOM.getAttrib(n, 'size'))
-                                                               ti += 'size: ' + v + ' ';
-
-                                                       if (v = DOM.getAttrib(n, 'color'))
-                                                               ti += 'color: ' + v + ' ';
-
-                                                       break;
-
-                                               case 'span':
-                                                       if (v = DOM.getAttrib(n, 'style'))
-                                                               ti += 'style: ' + v + ' ';
-
-                                                       break;
-                                       }
-
-                                       if (v = DOM.getAttrib(n, 'id'))
-                                               ti += 'id: ' + v + ' ';
-
-                                       if (v = n.className) {
-                                               v = v.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g, '');
-
-                                               if (v) {
-                                                       ti += 'class: ' + v + ' ';
-
-                                                       if (ed.dom.isBlock(n) || na == 'img' || na == 'span')
-                                                               na += '.' + v;
-                                               }
-                                       }
-
-                                       na = na.replace(/(html:)/g, '');
-                                       na = {name : na, node : n, title : ti};
-                                       t.onResolveName.dispatch(t, na);
-                                       ti = na.title;
-                                       na = na.name;
-
-                                       //u = "javascript:tinymce.EditorManager.get('" + ed.id + "').theme._sel('" + (de++) + "');";
-                                       pi = DOM.create('a', {'href' : "javascript:;", role: 'button', onmousedown : "return false;", title : ti, 'class' : 'mcePath_' + (de++)}, na);
-
-                                       if (p.hasChildNodes()) {
-                                               p.insertBefore(DOM.create('span', {'aria-hidden': 'true'}, '\u00a0\u00bb '), p.firstChild);
-                                               p.insertBefore(pi, p.firstChild);
-                                       } else
-                                               p.appendChild(pi);
-                               }, ed.getBody());
-
-                               if (DOM.select('a', p).length > 0) {
-                                       t.statusKeyboardNavigation = new tinymce.ui.KeyboardNavigation({
-                                               root: ed.id + "_path_row",
-                                               items: DOM.select('a', p),
-                                               excludeFromTabOrder: true,
-                                               onCancel: function() {
-                                                       ed.focus();
-                                               }
-                                       }, DOM);
-                               }
-                       }
-               },
-
-               // Commands gets called by execCommand
-
-               _sel : function(v) {
-                       this.editor.execCommand('mceSelectNodeDepth', false, v);
-               },
-
-               _mceInsertAnchor : function(ui, v) {
-                       var ed = this.editor;
-
-                       ed.windowManager.open({
-                               url : this.url + '/anchor.htm',
-                               width : 320 + parseInt(ed.getLang('advanced.anchor_delta_width', 0)),
-                               height : 90 + parseInt(ed.getLang('advanced.anchor_delta_height', 0)),
-                               inline : true
-                       }, {
-                               theme_url : this.url
-                       });
-               },
-
-               _mceCharMap : function() {
-                       var ed = this.editor;
-
-                       ed.windowManager.open({
-                               url : this.url + '/charmap.htm',
-                               width : 550 + parseInt(ed.getLang('advanced.charmap_delta_width', 0)),
-                               height : 265 + parseInt(ed.getLang('advanced.charmap_delta_height', 0)),
-                               inline : true
-                       }, {
-                               theme_url : this.url
-                       });
-               },
-
-               _mceHelp : function() {
-                       var ed = this.editor;
-
-                       ed.windowManager.open({
-                               url : this.url + '/about.htm',
-                               width : 480,
-                               height : 380,
-                               inline : true
-                       }, {
-                               theme_url : this.url
-                       });
-               },
-
-               _mceShortcuts : function() {
-                       var ed = this.editor;
-                       ed.windowManager.open({
-                               url: this.url + '/shortcuts.htm',
-                               width: 480,
-                               height: 380,
-                               inline: true
-                       }, {
-                               theme_url: this.url
-                       });
-               },
-
-               _mceColorPicker : function(u, v) {
-                       var ed = this.editor;
-
-                       v = v || {};
-
-                       ed.windowManager.open({
-                               url : this.url + '/color_picker.htm',
-                               width : 375 + parseInt(ed.getLang('advanced.colorpicker_delta_width', 0)),
-                               height : 250 + parseInt(ed.getLang('advanced.colorpicker_delta_height', 0)),
-                               close_previous : false,
-                               inline : true
-                       }, {
-                               input_color : v.color,
-                               func : v.func,
-                               theme_url : this.url
-                       });
-               },
-
-               _mceCodeEditor : function(ui, val) {
-                       var ed = this.editor;
-
-                       ed.windowManager.open({
-                               url : this.url + '/source_editor.htm',
-                               width : parseInt(ed.getParam("theme_advanced_source_editor_width", 720)),
-                               height : parseInt(ed.getParam("theme_advanced_source_editor_height", 580)),
-                               inline : true,
-                               resizable : true,
-                               maximizable : true
-                       }, {
-                               theme_url : this.url
-                       });
-               },
-
-               _mceImage : function(ui, val) {
-                       var ed = this.editor;
-
-                       // Internal image object like a flash placeholder
-                       if (ed.dom.getAttrib(ed.selection.getNode(), 'class', '').indexOf('mceItem') != -1)
-                               return;
-
-                       ed.windowManager.open({
-                               url : this.url + '/image.htm',
-                               width : 355 + parseInt(ed.getLang('advanced.image_delta_width', 0)),
-                               height : 275 + parseInt(ed.getLang('advanced.image_delta_height', 0)),
-                               inline : true
-                       }, {
-                               theme_url : this.url
-                       });
-               },
-
-               _mceLink : function(ui, val) {
-                       var ed = this.editor;
-
-                       ed.windowManager.open({
-                               url : this.url + '/link.htm',
-                               width : 310 + parseInt(ed.getLang('advanced.link_delta_width', 0)),
-                               height : 200 + parseInt(ed.getLang('advanced.link_delta_height', 0)),
-                               inline : true
-                       }, {
-                               theme_url : this.url
-                       });
-               },
-
-               _mceNewDocument : function() {
-                       var ed = this.editor;
-
-                       ed.windowManager.confirm('advanced.newdocument', function(s) {
-                               if (s)
-                                       ed.execCommand('mceSetContent', false, '');
-                       });
-               },
-
-               _mceForeColor : function() {
-                       var t = this;
-
-                       this._mceColorPicker(0, {
-                               color: t.fgColor,
-                               func : function(co) {
-                                       t.fgColor = co;
-                                       t.editor.execCommand('ForeColor', false, co);
-                               }
-                       });
-               },
-
-               _mceBackColor : function() {
-                       var t = this;
-
-                       this._mceColorPicker(0, {
-                               color: t.bgColor,
-                               func : function(co) {
-                                       t.bgColor = co;
-                                       t.editor.execCommand('HiliteColor', false, co);
-                               }
-                       });
-               },
-
-               _ufirst : function(s) {
-                       return s.substring(0, 1).toUpperCase() + s.substring(1);
-               }
-       });
-
-       tinymce.ThemeManager.add('advanced', tinymce.themes.AdvancedTheme);
-}(tinymce));
diff --git a/wp-includes/js/tinymce/themes/advanced/image.htm b/wp-includes/js/tinymce/themes/advanced/image.htm
deleted file mode 100644 (file)
index 1a3d72e..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <title>{#advanced_dlg.image_title}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="../../utils/mctabs.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="../../utils/form_utils.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="js/image.js?ver=358-20121205"></script>
-</head>
-<body id="image" style="display: none">
-<form onsubmit="ImageDialog.update();return false;" action="#">
-       <div class="tabs">
-               <ul>
-                       <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advanced_dlg.image_title}</a></span></li>
-               </ul>
-       </div>
-
-       <div class="panel_wrapper">
-               <div id="general_panel" class="panel current">
-                       <table border="0" cellpadding="4" cellspacing="0">
-                               <tr>
-                                       <td class="nowrap"><label for="src">{#advanced_dlg.image_src}</label></td>
-                                       <td><table border="0" cellspacing="0" cellpadding="0">
-                                               <tr>
-                                                       <td><input id="src" name="src" type="text" class="mceFocus" value="" style="width: 200px" onchange="ImageDialog.getImageData();" /></td>
-                                                       <td id="srcbrowsercontainer">&nbsp;</td>
-                                               </tr>
-                                       </table></td>
-                               </tr>
-                               <tr>
-                                       <td><label for="image_list">{#advanced_dlg.image_list}</label></td>
-                                       <td><select id="image_list" name="image_list" onchange="document.getElementById('src').value=this.options[this.selectedIndex].value;document.getElementById('alt').value=this.options[this.selectedIndex].text;"></select></td>
-                               </tr>
-                               <tr>
-                                       <td class="nowrap"><label for="alt">{#advanced_dlg.image_alt}</label></td>
-                                       <td><input id="alt" name="alt" type="text" value="" style="width: 200px" /></td>
-                               </tr>
-                               <tr>
-                                       <td class="nowrap"><label for="align">{#advanced_dlg.image_align}</label></td>
-                                       <td><select id="align" name="align" onchange="ImageDialog.updateStyle();">
-                                               <option value="">{#not_set}</option>
-                                               <option value="baseline">{#advanced_dlg.image_align_baseline}</option>
-                                               <option value="top">{#advanced_dlg.image_align_top}</option>
-                                               <option value="middle">{#advanced_dlg.image_align_middle}</option>
-                                               <option value="bottom">{#advanced_dlg.image_align_bottom}</option>
-                                               <option value="text-top">{#advanced_dlg.image_align_texttop}</option>
-                                               <option value="text-bottom">{#advanced_dlg.image_align_textbottom}</option>
-                                               <option value="left">{#advanced_dlg.image_align_left}</option>
-                                               <option value="right">{#advanced_dlg.image_align_right}</option>
-                                       </select></td>
-                               </tr>
-                               <tr>
-                                       <td class="nowrap"><label for="width">{#advanced_dlg.image_dimensions}</label></td>
-                                       <td><input id="width" name="width" type="text" value="" size="3" maxlength="5" />
-                                        x 
-                                       <input id="height" name="height" type="text" value="" size="3" maxlength="5" /></td>
-                               </tr>
-                               <tr>
-                               <td class="nowrap"><label for="border">{#advanced_dlg.image_border}</label></td>
-                               <td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td>
-                               </tr>
-                               <tr>
-                                       <td class="nowrap"><label for="vspace">{#advanced_dlg.image_vspace}</label></td>
-                                       <td><input id="vspace" name="vspace" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td>
-                               </tr>
-                               <tr>
-                                       <td class="nowrap"><label for="hspace">{#advanced_dlg.image_hspace}</label></td>
-                                       <td><input id="hspace" name="hspace" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td>
-                               </tr>
-                       </table>
-               </div>
-       </div>
-
-       <div class="mceActionPanel">
-               <input type="submit" id="insert" name="insert" value="{#insert}" />
-               <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
-       </div>
-</form>
-</body>
-</html>
diff --git a/wp-includes/js/tinymce/themes/advanced/img/colorpicker.jpg b/wp-includes/js/tinymce/themes/advanced/img/colorpicker.jpg
deleted file mode 100644 (file)
index b1a377a..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/img/colorpicker.jpg and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/img/flash.gif b/wp-includes/js/tinymce/themes/advanced/img/flash.gif
deleted file mode 100644 (file)
index dec3f7c..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/img/flash.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/img/gotmoxie.png b/wp-includes/js/tinymce/themes/advanced/img/gotmoxie.png
deleted file mode 100644 (file)
index 1af3e3e..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/img/gotmoxie.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/img/icons.gif b/wp-includes/js/tinymce/themes/advanced/img/icons.gif
deleted file mode 100644 (file)
index ca22249..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/img/icons.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/img/iframe.gif b/wp-includes/js/tinymce/themes/advanced/img/iframe.gif
deleted file mode 100644 (file)
index 410c7ad..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/img/iframe.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/img/pagebreak.gif b/wp-includes/js/tinymce/themes/advanced/img/pagebreak.gif
deleted file mode 100644 (file)
index acdf408..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/img/pagebreak.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/img/quicktime.gif b/wp-includes/js/tinymce/themes/advanced/img/quicktime.gif
deleted file mode 100644 (file)
index 8f10e7a..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/img/quicktime.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/img/realmedia.gif b/wp-includes/js/tinymce/themes/advanced/img/realmedia.gif
deleted file mode 100644 (file)
index fdfe0b9..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/img/realmedia.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/img/shockwave.gif b/wp-includes/js/tinymce/themes/advanced/img/shockwave.gif
deleted file mode 100644 (file)
index 9314d04..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/img/shockwave.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/img/trans.gif b/wp-includes/js/tinymce/themes/advanced/img/trans.gif
deleted file mode 100644 (file)
index 3884865..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/img/trans.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/img/video.gif b/wp-includes/js/tinymce/themes/advanced/img/video.gif
deleted file mode 100644 (file)
index 3570104..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/img/video.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/img/windowsmedia.gif b/wp-includes/js/tinymce/themes/advanced/img/windowsmedia.gif
deleted file mode 100644 (file)
index ab50f2d..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/img/windowsmedia.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/js/about.js b/wp-includes/js/tinymce/themes/advanced/js/about.js
deleted file mode 100644 (file)
index daf4909..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-tinyMCEPopup.requireLangPack();
-
-function init() {
-       var ed, tcont;
-
-       tinyMCEPopup.resizeToInnerSize();
-       ed = tinyMCEPopup.editor;
-
-       // Give FF some time
-       window.setTimeout(insertHelpIFrame, 10);
-
-       tcont = document.getElementById('plugintablecontainer');
-       document.getElementById('plugins_tab').style.display = 'none';
-
-       var html = "";
-       html += '<table id="plugintable">';
-       html += '<thead>';
-       html += '<tr>';
-       html += '<td>' + ed.getLang('advanced_dlg.about_plugin') + '</td>';
-       html += '<td>' + ed.getLang('advanced_dlg.about_author') + '</td>';
-       html += '<td>' + ed.getLang('advanced_dlg.about_version') + '</td>';
-       html += '</tr>';
-       html += '</thead>';
-       html += '<tbody>';
-
-       tinymce.each(ed.plugins, function(p, n) {
-               var info;
-
-               if (!p.getInfo)
-                       return;
-
-               html += '<tr>';
-
-               info = p.getInfo();
-
-               if (info.infourl != null && info.infourl != '')
-                       html += '<td width="50%" title="' + n + '"><a href="' + info.infourl + '" target="_blank">' + info.longname + '</a></td>';
-               else
-                       html += '<td width="50%" title="' + n + '">' + info.longname + '</td>';
-
-               if (info.authorurl != null && info.authorurl != '')
-                       html += '<td width="35%"><a href="' + info.authorurl + '" target="_blank">' + info.author + '</a></td>';
-               else
-                       html += '<td width="35%">' + info.author + '</td>';
-
-               html += '<td width="15%">' + info.version + '</td>';
-               html += '</tr>';
-
-               document.getElementById('plugins_tab').style.display = '';
-
-       });
-
-       html += '</tbody>';
-       html += '</table>';
-
-       tcont.innerHTML = html;
-
-       tinyMCEPopup.dom.get('version').innerHTML = tinymce.majorVersion + "." + tinymce.minorVersion;
-       tinyMCEPopup.dom.get('date').innerHTML = tinymce.releaseDate;
-}
-
-function insertHelpIFrame() {
-       var html;
-
-       if (tinyMCEPopup.getParam('docs_url')) {
-               html = '<iframe width="100%" height="300" src="' + tinyMCEPopup.editor.baseURI.toAbsolute(tinyMCEPopup.getParam('docs_url')) + '"></iframe>';
-               document.getElementById('iframecontainer').innerHTML = html;
-               document.getElementById('help_tab').style.display = 'block';
-               document.getElementById('help_tab').setAttribute("aria-hidden", "false");
-       }
-}
-
-tinyMCEPopup.onInit.add(init);
diff --git a/wp-includes/js/tinymce/themes/advanced/js/anchor.js b/wp-includes/js/tinymce/themes/advanced/js/anchor.js
deleted file mode 100644 (file)
index a3a0186..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-tinyMCEPopup.requireLangPack();
-
-var AnchorDialog = {
-       init : function(ed) {
-               var action, elm, f = document.forms[0];
-
-               this.editor = ed;
-               elm = ed.dom.getParent(ed.selection.getNode(), 'A');
-               v = ed.dom.getAttrib(elm, 'name') || ed.dom.getAttrib(elm, 'id');
-
-               if (v) {
-                       this.action = 'update';
-                       f.anchorName.value = v;
-               }
-
-               f.insert.value = ed.getLang(elm ? 'update' : 'insert');
-       },
-
-       update : function() {
-               var ed = this.editor, elm, name = document.forms[0].anchorName.value, attribName;
-
-               if (!name || !/^[a-z][a-z0-9\-\_:\.]*$/i.test(name)) {
-                       tinyMCEPopup.alert('advanced_dlg.anchor_invalid');
-                       return;
-               }
-
-               tinyMCEPopup.restoreSelection();
-
-               if (this.action != 'update')
-                       ed.selection.collapse(1);
-
-               var aRule = ed.schema.getElementRule('a');
-               if (!aRule || aRule.attributes.name) {
-                       attribName = 'name';
-               } else {
-                       attribName = 'id';
-               }
-
-               elm = ed.dom.getParent(ed.selection.getNode(), 'A');
-               if (elm) {
-                       elm.setAttribute(attribName, name);
-                       elm[attribName] = name;
-                       ed.undoManager.add();
-               } else {
-                       // create with zero-sized nbsp so that in Webkit where anchor is on last line by itself caret cannot be placed after it
-                       var attrs =  {'class' : 'mceItemAnchor'};
-                       attrs[attribName] = name;
-                       ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', attrs, '\uFEFF'));
-                       ed.nodeChanged();
-               }
-
-               tinyMCEPopup.close();
-       }
-};
-
-tinyMCEPopup.onInit.add(AnchorDialog.init, AnchorDialog);
diff --git a/wp-includes/js/tinymce/themes/advanced/js/charmap.js b/wp-includes/js/tinymce/themes/advanced/js/charmap.js
deleted file mode 100644 (file)
index cbb4172..0000000
+++ /dev/null
@@ -1,363 +0,0 @@
-/**
- * charmap.js
- *
- * Copyright 2009, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
- */
-
-tinyMCEPopup.requireLangPack();
-
-var charmap = [
-       ['&nbsp;',    '&#160;',  true, 'no-break space'],
-       ['&amp;',     '&#38;',   true, 'ampersand'],
-       ['&quot;',    '&#34;',   true, 'quotation mark'],
-// finance
-       ['&cent;',    '&#162;',  true, 'cent sign'],
-       ['&euro;',    '&#8364;', true, 'euro sign'],
-       ['&pound;',   '&#163;',  true, 'pound sign'],
-       ['&yen;',     '&#165;',  true, 'yen sign'],
-// signs
-       ['&copy;',    '&#169;',  true, 'copyright sign'],
-       ['&reg;',     '&#174;',  true, 'registered sign'],
-       ['&trade;',   '&#8482;', true, 'trade mark sign'],
-       ['&permil;',  '&#8240;', true, 'per mille sign'],
-       ['&micro;',   '&#181;',  true, 'micro sign'],
-       ['&middot;',  '&#183;',  true, 'middle dot'],
-       ['&bull;',    '&#8226;', true, 'bullet'],
-       ['&hellip;',  '&#8230;', true, 'three dot leader'],
-       ['&prime;',   '&#8242;', true, 'minutes / feet'],
-       ['&Prime;',   '&#8243;', true, 'seconds / inches'],
-       ['&sect;',    '&#167;',  true, 'section sign'],
-       ['&para;',    '&#182;',  true, 'paragraph sign'],
-       ['&szlig;',   '&#223;',  true, 'sharp s / ess-zed'],
-// quotations
-       ['&lsaquo;',  '&#8249;', true, 'single left-pointing angle quotation mark'],
-       ['&rsaquo;',  '&#8250;', true, 'single right-pointing angle quotation mark'],
-       ['&laquo;',   '&#171;',  true, 'left pointing guillemet'],
-       ['&raquo;',   '&#187;',  true, 'right pointing guillemet'],
-       ['&lsquo;',   '&#8216;', true, 'left single quotation mark'],
-       ['&rsquo;',   '&#8217;', true, 'right single quotation mark'],
-       ['&ldquo;',   '&#8220;', true, 'left double quotation mark'],
-       ['&rdquo;',   '&#8221;', true, 'right double quotation mark'],
-       ['&sbquo;',   '&#8218;', true, 'single low-9 quotation mark'],
-       ['&bdquo;',   '&#8222;', true, 'double low-9 quotation mark'],
-       ['&lt;',      '&#60;',   true, 'less-than sign'],
-       ['&gt;',      '&#62;',   true, 'greater-than sign'],
-       ['&le;',      '&#8804;', true, 'less-than or equal to'],
-       ['&ge;',      '&#8805;', true, 'greater-than or equal to'],
-       ['&ndash;',   '&#8211;', true, 'en dash'],
-       ['&mdash;',   '&#8212;', true, 'em dash'],
-       ['&macr;',    '&#175;',  true, 'macron'],
-       ['&oline;',   '&#8254;', true, 'overline'],
-       ['&curren;',  '&#164;',  true, 'currency sign'],
-       ['&brvbar;',  '&#166;',  true, 'broken bar'],
-       ['&uml;',     '&#168;',  true, 'diaeresis'],
-       ['&iexcl;',   '&#161;',  true, 'inverted exclamation mark'],
-       ['&iquest;',  '&#191;',  true, 'turned question mark'],
-       ['&circ;',    '&#710;',  true, 'circumflex accent'],
-       ['&tilde;',   '&#732;',  true, 'small tilde'],
-       ['&deg;',     '&#176;',  true, 'degree sign'],
-       ['&minus;',   '&#8722;', true, 'minus sign'],
-       ['&plusmn;',  '&#177;',  true, 'plus-minus sign'],
-       ['&divide;',  '&#247;',  true, 'division sign'],
-       ['&frasl;',   '&#8260;', true, 'fraction slash'],
-       ['&times;',   '&#215;',  true, 'multiplication sign'],
-       ['&sup1;',    '&#185;',  true, 'superscript one'],
-       ['&sup2;',    '&#178;',  true, 'superscript two'],
-       ['&sup3;',    '&#179;',  true, 'superscript three'],
-       ['&frac14;',  '&#188;',  true, 'fraction one quarter'],
-       ['&frac12;',  '&#189;',  true, 'fraction one half'],
-       ['&frac34;',  '&#190;',  true, 'fraction three quarters'],
-// math / logical
-       ['&fnof;',    '&#402;',  true, 'function / florin'],
-       ['&int;',     '&#8747;', true, 'integral'],
-       ['&sum;',     '&#8721;', true, 'n-ary sumation'],
-       ['&infin;',   '&#8734;', true, 'infinity'],
-       ['&radic;',   '&#8730;', true, 'square root'],
-       ['&sim;',     '&#8764;', false,'similar to'],
-       ['&cong;',    '&#8773;', false,'approximately equal to'],
-       ['&asymp;',   '&#8776;', true, 'almost equal to'],
-       ['&ne;',      '&#8800;', true, 'not equal to'],
-       ['&equiv;',   '&#8801;', true, 'identical to'],
-       ['&isin;',    '&#8712;', false,'element of'],
-       ['&notin;',   '&#8713;', false,'not an element of'],
-       ['&ni;',      '&#8715;', false,'contains as member'],
-       ['&prod;',    '&#8719;', true, 'n-ary product'],
-       ['&and;',     '&#8743;', false,'logical and'],
-       ['&or;',      '&#8744;', false,'logical or'],
-       ['&not;',     '&#172;',  true, 'not sign'],
-       ['&cap;',     '&#8745;', true, 'intersection'],
-       ['&cup;',     '&#8746;', false,'union'],
-       ['&part;',    '&#8706;', true, 'partial differential'],
-       ['&forall;',  '&#8704;', false,'for all'],
-       ['&exist;',   '&#8707;', false,'there exists'],
-       ['&empty;',   '&#8709;', false,'diameter'],
-       ['&nabla;',   '&#8711;', false,'backward difference'],
-       ['&lowast;',  '&#8727;', false,'asterisk operator'],
-       ['&prop;',    '&#8733;', false,'proportional to'],
-       ['&ang;',     '&#8736;', false,'angle'],
-// undefined
-       ['&acute;',   '&#180;',  true, 'acute accent'],
-       ['&cedil;',   '&#184;',  true, 'cedilla'],
-       ['&ordf;',    '&#170;',  true, 'feminine ordinal indicator'],
-       ['&ordm;',    '&#186;',  true, 'masculine ordinal indicator'],
-       ['&dagger;',  '&#8224;', true, 'dagger'],
-       ['&Dagger;',  '&#8225;', true, 'double dagger'],
-// alphabetical special chars
-       ['&Agrave;',  '&#192;',  true, 'A - grave'],
-       ['&Aacute;',  '&#193;',  true, 'A - acute'],
-       ['&Acirc;',   '&#194;',  true, 'A - circumflex'],
-       ['&Atilde;',  '&#195;',  true, 'A - tilde'],
-       ['&Auml;',    '&#196;',  true, 'A - diaeresis'],
-       ['&Aring;',   '&#197;',  true, 'A - ring above'],
-       ['&AElig;',   '&#198;',  true, 'ligature AE'],
-       ['&Ccedil;',  '&#199;',  true, 'C - cedilla'],
-       ['&Egrave;',  '&#200;',  true, 'E - grave'],
-       ['&Eacute;',  '&#201;',  true, 'E - acute'],
-       ['&Ecirc;',   '&#202;',  true, 'E - circumflex'],
-       ['&Euml;',    '&#203;',  true, 'E - diaeresis'],
-       ['&Igrave;',  '&#204;',  true, 'I - grave'],
-       ['&Iacute;',  '&#205;',  true, 'I - acute'],
-       ['&Icirc;',   '&#206;',  true, 'I - circumflex'],
-       ['&Iuml;',    '&#207;',  true, 'I - diaeresis'],
-       ['&ETH;',     '&#208;',  true, 'ETH'],
-       ['&Ntilde;',  '&#209;',  true, 'N - tilde'],
-       ['&Ograve;',  '&#210;',  true, 'O - grave'],
-       ['&Oacute;',  '&#211;',  true, 'O - acute'],
-       ['&Ocirc;',   '&#212;',  true, 'O - circumflex'],
-       ['&Otilde;',  '&#213;',  true, 'O - tilde'],
-       ['&Ouml;',    '&#214;',  true, 'O - diaeresis'],
-       ['&Oslash;',  '&#216;',  true, 'O - slash'],
-       ['&OElig;',   '&#338;',  true, 'ligature OE'],
-       ['&Scaron;',  '&#352;',  true, 'S - caron'],
-       ['&Ugrave;',  '&#217;',  true, 'U - grave'],
-       ['&Uacute;',  '&#218;',  true, 'U - acute'],
-       ['&Ucirc;',   '&#219;',  true, 'U - circumflex'],
-       ['&Uuml;',    '&#220;',  true, 'U - diaeresis'],
-       ['&Yacute;',  '&#221;',  true, 'Y - acute'],
-       ['&Yuml;',    '&#376;',  true, 'Y - diaeresis'],
-       ['&THORN;',   '&#222;',  true, 'THORN'],
-       ['&agrave;',  '&#224;',  true, 'a - grave'],
-       ['&aacute;',  '&#225;',  true, 'a - acute'],
-       ['&acirc;',   '&#226;',  true, 'a - circumflex'],
-       ['&atilde;',  '&#227;',  true, 'a - tilde'],
-       ['&auml;',    '&#228;',  true, 'a - diaeresis'],
-       ['&aring;',   '&#229;',  true, 'a - ring above'],
-       ['&aelig;',   '&#230;',  true, 'ligature ae'],
-       ['&ccedil;',  '&#231;',  true, 'c - cedilla'],
-       ['&egrave;',  '&#232;',  true, 'e - grave'],
-       ['&eacute;',  '&#233;',  true, 'e - acute'],
-       ['&ecirc;',   '&#234;',  true, 'e - circumflex'],
-       ['&euml;',    '&#235;',  true, 'e - diaeresis'],
-       ['&igrave;',  '&#236;',  true, 'i - grave'],
-       ['&iacute;',  '&#237;',  true, 'i - acute'],
-       ['&icirc;',   '&#238;',  true, 'i - circumflex'],
-       ['&iuml;',    '&#239;',  true, 'i - diaeresis'],
-       ['&eth;',     '&#240;',  true, 'eth'],
-       ['&ntilde;',  '&#241;',  true, 'n - tilde'],
-       ['&ograve;',  '&#242;',  true, 'o - grave'],
-       ['&oacute;',  '&#243;',  true, 'o - acute'],
-       ['&ocirc;',   '&#244;',  true, 'o - circumflex'],
-       ['&otilde;',  '&#245;',  true, 'o - tilde'],
-       ['&ouml;',    '&#246;',  true, 'o - diaeresis'],
-       ['&oslash;',  '&#248;',  true, 'o slash'],
-       ['&oelig;',   '&#339;',  true, 'ligature oe'],
-       ['&scaron;',  '&#353;',  true, 's - caron'],
-       ['&ugrave;',  '&#249;',  true, 'u - grave'],
-       ['&uacute;',  '&#250;',  true, 'u - acute'],
-       ['&ucirc;',   '&#251;',  true, 'u - circumflex'],
-       ['&uuml;',    '&#252;',  true, 'u - diaeresis'],
-       ['&yacute;',  '&#253;',  true, 'y - acute'],
-       ['&thorn;',   '&#254;',  true, 'thorn'],
-       ['&yuml;',    '&#255;',  true, 'y - diaeresis'],
-       ['&Alpha;',   '&#913;',  true, 'Alpha'],
-       ['&Beta;',    '&#914;',  true, 'Beta'],
-       ['&Gamma;',   '&#915;',  true, 'Gamma'],
-       ['&Delta;',   '&#916;',  true, 'Delta'],
-       ['&Epsilon;', '&#917;',  true, 'Epsilon'],
-       ['&Zeta;',    '&#918;',  true, 'Zeta'],
-       ['&Eta;',     '&#919;',  true, 'Eta'],
-       ['&Theta;',   '&#920;',  true, 'Theta'],
-       ['&Iota;',    '&#921;',  true, 'Iota'],
-       ['&Kappa;',   '&#922;',  true, 'Kappa'],
-       ['&Lambda;',  '&#923;',  true, 'Lambda'],
-       ['&Mu;',      '&#924;',  true, 'Mu'],
-       ['&Nu;',      '&#925;',  true, 'Nu'],
-       ['&Xi;',      '&#926;',  true, 'Xi'],
-       ['&Omicron;', '&#927;',  true, 'Omicron'],
-       ['&Pi;',      '&#928;',  true, 'Pi'],
-       ['&Rho;',     '&#929;',  true, 'Rho'],
-       ['&Sigma;',   '&#931;',  true, 'Sigma'],
-       ['&Tau;',     '&#932;',  true, 'Tau'],
-       ['&Upsilon;', '&#933;',  true, 'Upsilon'],
-       ['&Phi;',     '&#934;',  true, 'Phi'],
-       ['&Chi;',     '&#935;',  true, 'Chi'],
-       ['&Psi;',     '&#936;',  true, 'Psi'],
-       ['&Omega;',   '&#937;',  true, 'Omega'],
-       ['&alpha;',   '&#945;',  true, 'alpha'],
-       ['&beta;',    '&#946;',  true, 'beta'],
-       ['&gamma;',   '&#947;',  true, 'gamma'],
-       ['&delta;',   '&#948;',  true, 'delta'],
-       ['&epsilon;', '&#949;',  true, 'epsilon'],
-       ['&zeta;',    '&#950;',  true, 'zeta'],
-       ['&eta;',     '&#951;',  true, 'eta'],
-       ['&theta;',   '&#952;',  true, 'theta'],
-       ['&iota;',    '&#953;',  true, 'iota'],
-       ['&kappa;',   '&#954;',  true, 'kappa'],
-       ['&lambda;',  '&#955;',  true, 'lambda'],
-       ['&mu;',      '&#956;',  true, 'mu'],
-       ['&nu;',      '&#957;',  true, 'nu'],
-       ['&xi;',      '&#958;',  true, 'xi'],
-       ['&omicron;', '&#959;',  true, 'omicron'],
-       ['&pi;',      '&#960;',  true, 'pi'],
-       ['&rho;',     '&#961;',  true, 'rho'],
-       ['&sigmaf;',  '&#962;',  true, 'final sigma'],
-       ['&sigma;',   '&#963;',  true, 'sigma'],
-       ['&tau;',     '&#964;',  true, 'tau'],
-       ['&upsilon;', '&#965;',  true, 'upsilon'],
-       ['&phi;',     '&#966;',  true, 'phi'],
-       ['&chi;',     '&#967;',  true, 'chi'],
-       ['&psi;',     '&#968;',  true, 'psi'],
-       ['&omega;',   '&#969;',  true, 'omega'],
-// symbols
-       ['&alefsym;', '&#8501;', false,'alef symbol'],
-       ['&piv;',     '&#982;',  false,'pi symbol'],
-       ['&real;',    '&#8476;', false,'real part symbol'],
-       ['&thetasym;','&#977;',  false,'theta symbol'],
-       ['&upsih;',   '&#978;',  false,'upsilon - hook symbol'],
-       ['&weierp;',  '&#8472;', false,'Weierstrass p'],
-       ['&image;',   '&#8465;', false,'imaginary part'],
-// arrows
-       ['&larr;',    '&#8592;', true, 'leftwards arrow'],
-       ['&uarr;',    '&#8593;', true, 'upwards arrow'],
-       ['&rarr;',    '&#8594;', true, 'rightwards arrow'],
-       ['&darr;',    '&#8595;', true, 'downwards arrow'],
-       ['&harr;',    '&#8596;', true, 'left right arrow'],
-       ['&crarr;',   '&#8629;', false,'carriage return'],
-       ['&lArr;',    '&#8656;', false,'leftwards double arrow'],
-       ['&uArr;',    '&#8657;', false,'upwards double arrow'],
-       ['&rArr;',    '&#8658;', false,'rightwards double arrow'],
-       ['&dArr;',    '&#8659;', false,'downwards double arrow'],
-       ['&hArr;',    '&#8660;', false,'left right double arrow'],
-       ['&there4;',  '&#8756;', false,'therefore'],
-       ['&sub;',     '&#8834;', false,'subset of'],
-       ['&sup;',     '&#8835;', false,'superset of'],
-       ['&nsub;',    '&#8836;', false,'not a subset of'],
-       ['&sube;',    '&#8838;', false,'subset of or equal to'],
-       ['&supe;',    '&#8839;', false,'superset of or equal to'],
-       ['&oplus;',   '&#8853;', false,'circled plus'],
-       ['&otimes;',  '&#8855;', false,'circled times'],
-       ['&perp;',    '&#8869;', false,'perpendicular'],
-       ['&sdot;',    '&#8901;', false,'dot operator'],
-       ['&lceil;',   '&#8968;', false,'left ceiling'],
-       ['&rceil;',   '&#8969;', false,'right ceiling'],
-       ['&lfloor;',  '&#8970;', false,'left floor'],
-       ['&rfloor;',  '&#8971;', false,'right floor'],
-       ['&lang;',    '&#9001;', false,'left-pointing angle bracket'],
-       ['&rang;',    '&#9002;', false,'right-pointing angle bracket'],
-       ['&loz;',     '&#9674;', true, 'lozenge'],
-       ['&spades;',  '&#9824;', true, 'black spade suit'],
-       ['&clubs;',   '&#9827;', true, 'black club suit'],
-       ['&hearts;',  '&#9829;', true, 'black heart suit'],
-       ['&diams;',   '&#9830;', true, 'black diamond suit'],
-       ['&ensp;',    '&#8194;', false,'en space'],
-       ['&emsp;',    '&#8195;', false,'em space'],
-       ['&thinsp;',  '&#8201;', false,'thin space'],
-       ['&zwnj;',    '&#8204;', false,'zero width non-joiner'],
-       ['&zwj;',     '&#8205;', false,'zero width joiner'],
-       ['&lrm;',     '&#8206;', false,'left-to-right mark'],
-       ['&rlm;',     '&#8207;', false,'right-to-left mark'],
-       ['&shy;',     '&#173;',  false,'soft hyphen']
-];
-
-tinyMCEPopup.onInit.add(function() {
-       tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML());
-       addKeyboardNavigation();
-});
-
-function addKeyboardNavigation(){
-       var tableElm, cells, settings;
-
-       cells = tinyMCEPopup.dom.select("a.charmaplink", "charmapgroup");
-
-       settings ={
-               root: "charmapgroup",
-               items: cells
-       };
-       cells[0].tabindex=0;
-       tinyMCEPopup.dom.addClass(cells[0], "mceFocus");
-       if (tinymce.isGecko) {
-               cells[0].focus();               
-       } else {
-               setTimeout(function(){
-                       cells[0].focus();
-               }, 100);
-       }
-       tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom);
-}
-
-function renderCharMapHTML() {
-       var charsPerRow = 20, tdWidth=20, tdHeight=20, i;
-       var html = '<div id="charmapgroup" aria-labelledby="charmap_label" tabindex="0" role="listbox">'+
-       '<table role="presentation" border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + 
-       '"><tr height="' + tdHeight + '">';
-       var cols=-1;
-
-       for (i=0; i<charmap.length; i++) {
-               var previewCharFn;
-
-               if (charmap[i][2]==true) {
-                       cols++;
-                       previewCharFn = 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');';
-                       html += ''
-                               + '<td class="charmap">'
-                               + '<a class="charmaplink" role="button" onmouseover="'+previewCharFn+'" onfocus="'+previewCharFn+'" href="javascript:void(0)" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + ' '+ tinyMCEPopup.editor.translate("advanced_dlg.charmap_usage")+'">'
-                               + charmap[i][1]
-                               + '</a></td>';
-                       if ((cols+1) % charsPerRow == 0)
-                               html += '</tr><tr height="' + tdHeight + '">';
-               }
-        }
-
-       if (cols % charsPerRow > 0) {
-               var padd = charsPerRow - (cols % charsPerRow);
-               for (var i=0; i<padd-1; i++)
-                       html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap">&nbsp;</td>';
-       }
-
-       html += '</tr></table></div>';
-       html = html.replace(/<tr height="20"><\/tr>/g, '');
-
-       return html;
-}
-
-function insertChar(chr) {
-       tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';');
-
-       // Refocus in window
-       if (tinyMCEPopup.isWindow)
-               window.focus();
-
-       tinyMCEPopup.editor.focus();
-       tinyMCEPopup.close();
-}
-
-function previewChar(codeA, codeB, codeN) {
-       var elmA = document.getElementById('codeA');
-       var elmB = document.getElementById('codeB');
-       var elmV = document.getElementById('codeV');
-       var elmN = document.getElementById('codeN');
-
-       if (codeA=='#160;') {
-               elmV.innerHTML = '__';
-       } else {
-               elmV.innerHTML = '&' + codeA;
-       }
-
-       elmB.innerHTML = '&amp;' + codeA;
-       elmA.innerHTML = '&amp;' + codeB;
-       elmN.innerHTML = codeN;
-}
diff --git a/wp-includes/js/tinymce/themes/advanced/js/color_picker.js b/wp-includes/js/tinymce/themes/advanced/js/color_picker.js
deleted file mode 100644 (file)
index cc891c1..0000000
+++ /dev/null
@@ -1,345 +0,0 @@
-tinyMCEPopup.requireLangPack();
-
-var detail = 50, strhex = "0123456789abcdef", i, isMouseDown = false, isMouseOver = false;
-
-var colors = [
-       "#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","#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",
-       "#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","#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",
-       "#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","#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"
-];
-
-var named = {
-       '#F0F8FF':'Alice Blue','#FAEBD7':'Antique White','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige',
-       '#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'Blanched Almond','#0000FF':'Blue','#8A2BE2':'Blue Violet','#A52A2A':'Brown',
-       '#DEB887':'Burly Wood','#5F9EA0':'Cadet Blue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'Cornflower Blue',
-       '#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'Dark Blue','#008B8B':'Dark Cyan','#B8860B':'Dark Golden Rod',
-       '#A9A9A9':'Dark Gray','#A9A9A9':'Dark Grey','#006400':'Dark Green','#BDB76B':'Dark Khaki','#8B008B':'Dark Magenta','#556B2F':'Dark Olive Green',
-       '#FF8C00':'Darkorange','#9932CC':'Dark Orchid','#8B0000':'Dark Red','#E9967A':'Dark Salmon','#8FBC8F':'Dark Sea Green','#483D8B':'Dark Slate Blue',
-       '#2F4F4F':'Dark Slate Gray','#2F4F4F':'Dark Slate Grey','#00CED1':'Dark Turquoise','#9400D3':'Dark Violet','#FF1493':'Deep Pink','#00BFFF':'Deep Sky Blue',
-       '#696969':'Dim Gray','#696969':'Dim Grey','#1E90FF':'Dodger Blue','#B22222':'Fire Brick','#FFFAF0':'Floral White','#228B22':'Forest Green',
-       '#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'Ghost White','#FFD700':'Gold','#DAA520':'Golden Rod','#808080':'Gray','#808080':'Grey',
-       '#008000':'Green','#ADFF2F':'Green Yellow','#F0FFF0':'Honey Dew','#FF69B4':'Hot Pink','#CD5C5C':'Indian Red','#4B0082':'Indigo','#FFFFF0':'Ivory',
-       '#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'Lavender Blush','#7CFC00':'Lawn Green','#FFFACD':'Lemon Chiffon','#ADD8E6':'Light Blue',
-       '#F08080':'Light Coral','#E0FFFF':'Light Cyan','#FAFAD2':'Light Golden Rod Yellow','#D3D3D3':'Light Gray','#D3D3D3':'Light Grey','#90EE90':'Light Green',
-       '#FFB6C1':'Light Pink','#FFA07A':'Light Salmon','#20B2AA':'Light Sea Green','#87CEFA':'Light Sky Blue','#778899':'Light Slate Gray','#778899':'Light Slate Grey',
-       '#B0C4DE':'Light Steel Blue','#FFFFE0':'Light Yellow','#00FF00':'Lime','#32CD32':'Lime Green','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon',
-       '#66CDAA':'Medium Aqua Marine','#0000CD':'Medium Blue','#BA55D3':'Medium Orchid','#9370D8':'Medium Purple','#3CB371':'Medium Sea Green','#7B68EE':'Medium Slate Blue',
-       '#00FA9A':'Medium Spring Green','#48D1CC':'Medium Turquoise','#C71585':'Medium Violet Red','#191970':'Midnight Blue','#F5FFFA':'Mint Cream','#FFE4E1':'Misty Rose','#FFE4B5':'Moccasin',
-       '#FFDEAD':'Navajo White','#000080':'Navy','#FDF5E6':'Old Lace','#808000':'Olive','#6B8E23':'Olive Drab','#FFA500':'Orange','#FF4500':'Orange Red','#DA70D6':'Orchid',
-       '#EEE8AA':'Pale Golden Rod','#98FB98':'Pale Green','#AFEEEE':'Pale Turquoise','#D87093':'Pale Violet Red','#FFEFD5':'Papaya Whip','#FFDAB9':'Peach Puff',
-       '#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'Powder Blue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'Rosy Brown','#4169E1':'Royal Blue',
-       '#8B4513':'Saddle Brown','#FA8072':'Salmon','#F4A460':'Sandy Brown','#2E8B57':'Sea Green','#FFF5EE':'Sea Shell','#A0522D':'Sienna','#C0C0C0':'Silver',
-       '#87CEEB':'Sky Blue','#6A5ACD':'Slate Blue','#708090':'Slate Gray','#708090':'Slate Grey','#FFFAFA':'Snow','#00FF7F':'Spring Green',
-       '#4682B4':'Steel Blue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet',
-       '#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'White Smoke','#FFFF00':'Yellow','#9ACD32':'Yellow Green'
-};
-
-var namedLookup = {};
-
-function init() {
-       var inputColor = convertRGBToHex(tinyMCEPopup.getWindowArg('input_color')), key, value;
-
-       tinyMCEPopup.resizeToInnerSize();
-
-       generatePicker();
-       generateWebColors();
-       generateNamedColors();
-
-       if (inputColor) {
-               changeFinalColor(inputColor);
-
-               col = convertHexToRGB(inputColor);
-
-               if (col)
-                       updateLight(col.r, col.g, col.b);
-       }
-
-       for (key in named) {
-               value = named[key];
-               namedLookup[value.replace(/\s+/, '').toLowerCase()] = key.replace(/#/, '').toLowerCase();
-       }
-}
-
-function toHexColor(color) {
-       var matches, red, green, blue, toInt = parseInt;
-
-       function hex(value) {
-               value = parseInt(value).toString(16);
-
-               return value.length > 1 ? value : '0' + value; // Padd with leading zero
-       };
-
-       color = tinymce.trim(color);
-       color = color.replace(/^[#]/, '').toLowerCase();  // remove leading '#'
-       color = namedLookup[color] || color;
-
-       matches = /^rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)$/.exec(color);
-
-       if (matches) {
-               red   = toInt(matches[1]);
-               green = toInt(matches[2]);
-               blue  = toInt(matches[3]);
-       } else {
-               matches = /^([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/.exec(color);
-
-               if (matches) {
-                       red   = toInt(matches[1], 16);
-                       green = toInt(matches[2], 16);
-                       blue  = toInt(matches[3], 16);
-               } else {
-                       matches = /^([0-9a-f])([0-9a-f])([0-9a-f])$/.exec(color);
-
-                       if (matches) {
-                               red   = toInt(matches[1] + matches[1], 16);
-                               green = toInt(matches[2] + matches[2], 16);
-                               blue  = toInt(matches[3] + matches[3], 16);
-                       } else {
-                               return '';
-                       }
-               }
-       }
-
-       return '#' + hex(red) + hex(green) + hex(blue);
-}
-
-function insertAction() {
-       var color = document.getElementById("color").value, f = tinyMCEPopup.getWindowArg('func');
-
-       var hexColor = toHexColor(color);
-
-       if (hexColor === '') {
-               var text = tinyMCEPopup.editor.getLang('advanced_dlg.invalid_color_value');
-               tinyMCEPopup.alert(text + ': ' + color);
-       }
-       else {
-               tinyMCEPopup.restoreSelection();
-
-               if (f)
-                       f(hexColor);
-
-               tinyMCEPopup.close();
-       }
-}
-
-function showColor(color, name) {
-       if (name)
-               document.getElementById("colorname").innerHTML = name;
-
-       document.getElementById("preview").style.backgroundColor = color;
-       document.getElementById("color").value = color.toUpperCase();
-}
-
-function convertRGBToHex(col) {
-       var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
-
-       if (!col)
-               return col;
-
-       var rgb = col.replace(re, "$1,$2,$3").split(',');
-       if (rgb.length == 3) {
-               r = parseInt(rgb[0]).toString(16);
-               g = parseInt(rgb[1]).toString(16);
-               b = parseInt(rgb[2]).toString(16);
-
-               r = r.length == 1 ? '0' + r : r;
-               g = g.length == 1 ? '0' + g : g;
-               b = b.length == 1 ? '0' + b : b;
-
-               return "#" + r + g + b;
-       }
-
-       return col;
-}
-
-function convertHexToRGB(col) {
-       if (col.indexOf('#') != -1) {
-               col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
-
-               r = parseInt(col.substring(0, 2), 16);
-               g = parseInt(col.substring(2, 4), 16);
-               b = parseInt(col.substring(4, 6), 16);
-
-               return {r : r, g : g, b : b};
-       }
-
-       return null;
-}
-
-function generatePicker() {
-       var el = document.getElementById('light'), h = '', i;
-
-       for (i = 0; i < detail; i++){
-               h += '<div id="gs'+i+'" style="background-color:#000000; width:15px; height:3px; border-style:none; border-width:0px;"'
-               + ' onclick="changeFinalColor(this.style.backgroundColor)"'
-               + ' onmousedown="isMouseDown = true; return false;"'
-               + ' onmouseup="isMouseDown = false;"'
-               + ' onmousemove="if (isMouseDown && isMouseOver) changeFinalColor(this.style.backgroundColor); return false;"'
-               + ' onmouseover="isMouseOver = true;"'
-               + ' onmouseout="isMouseOver = false;"'
-               + '></div>';
-       }
-
-       el.innerHTML = h;
-}
-
-function generateWebColors() {
-       var el = document.getElementById('webcolors'), h = '', i;
-
-       if (el.className == 'generated')
-               return;
-
-       // TODO: VoiceOver doesn't seem to support legend as a label referenced by labelledby.
-       h += '<div role="listbox" aria-labelledby="webcolors_title" tabindex="0"><table role="presentation" border="0" cellspacing="1" cellpadding="0">'
-               + '<tr>';
-
-       for (i=0; i<colors.length; i++) {
-               h += '<td bgcolor="' + colors[i] + '" width="10" height="10">'
-                       + '<a href="javascript:insertAction();" role="option" tabindex="-1" aria-labelledby="web_colors_' + i + '" onfocus="showColor(\'' + colors[i] + '\');" onmouseover="showColor(\'' + colors[i] + '\');" style="display:block;width:10px;height:10px;overflow:hidden;">';
-               if (tinyMCEPopup.editor.forcedHighContrastMode) {
-                       h += '<canvas class="mceColorSwatch" height="10" width="10" data-color="' + colors[i] + '"></canvas>';
-               }
-               h += '<span class="mceVoiceLabel" style="display:none;" id="web_colors_' + i + '">' + colors[i].toUpperCase() + '</span>';
-               h += '</a></td>';
-               if ((i+1) % 18 == 0)
-                       h += '</tr><tr>';
-       }
-
-       h += '</table></div>';
-
-       el.innerHTML = h;
-       el.className = 'generated';
-
-       paintCanvas(el);
-       enableKeyboardNavigation(el.firstChild);
-}
-
-function paintCanvas(el) {
-       tinyMCEPopup.getWin().tinymce.each(tinyMCEPopup.dom.select('canvas.mceColorSwatch', el), function(canvas) {
-               var context;
-               if (canvas.getContext && (context = canvas.getContext("2d"))) {
-                       context.fillStyle = canvas.getAttribute('data-color');
-                       context.fillRect(0, 0, 10, 10);
-               }
-       });
-}
-function generateNamedColors() {
-       var el = document.getElementById('namedcolors'), h = '', n, v, i = 0;
-
-       if (el.className == 'generated')
-               return;
-
-       for (n in named) {
-               v = named[n];
-               h += '<a href="javascript:insertAction();" role="option" tabindex="-1" aria-labelledby="named_colors_' + i + '" onfocus="showColor(\'' + n + '\',\'' + v + '\');" onmouseover="showColor(\'' + n + '\',\'' + v + '\');" style="background-color: ' + n + '">';
-               if (tinyMCEPopup.editor.forcedHighContrastMode) {
-                       h += '<canvas class="mceColorSwatch" height="10" width="10" data-color="' + colors[i] + '"></canvas>';
-               }
-               h += '<span class="mceVoiceLabel" style="display:none;" id="named_colors_' + i + '">' + v + '</span>';
-               h += '</a>';
-               i++;
-       }
-
-       el.innerHTML = h;
-       el.className = 'generated';
-
-       paintCanvas(el);
-       enableKeyboardNavigation(el);
-}
-
-function enableKeyboardNavigation(el) {
-       tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', {
-               root: el,
-               items: tinyMCEPopup.dom.select('a', el)
-       }, tinyMCEPopup.dom);
-}
-
-function dechex(n) {
-       return strhex.charAt(Math.floor(n / 16)) + strhex.charAt(n % 16);
-}
-
-function computeColor(e) {
-       var x, y, partWidth, partDetail, imHeight, r, g, b, coef, i, finalCoef, finalR, finalG, finalB, pos = tinyMCEPopup.dom.getPos(e.target);
-
-       x = e.offsetX ? e.offsetX : (e.target ? e.clientX - pos.x : 0);
-       y = e.offsetY ? e.offsetY : (e.target ? e.clientY - pos.y : 0);
-
-       partWidth = document.getElementById('colors').width / 6;
-       partDetail = detail / 2;
-       imHeight = document.getElementById('colors').height;
-
-       r = (x >= 0)*(x < partWidth)*255 + (x >= partWidth)*(x < 2*partWidth)*(2*255 - x * 255 / partWidth) + (x >= 4*partWidth)*(x < 5*partWidth)*(-4*255 + x * 255 / partWidth) + (x >= 5*partWidth)*(x < 6*partWidth)*255;
-       g = (x >= 0)*(x < partWidth)*(x * 255 / partWidth) + (x >= partWidth)*(x < 3*partWidth)*255     + (x >= 3*partWidth)*(x < 4*partWidth)*(4*255 - x * 255 / partWidth);
-       b = (x >= 2*partWidth)*(x < 3*partWidth)*(-2*255 + x * 255 / partWidth) + (x >= 3*partWidth)*(x < 5*partWidth)*255 + (x >= 5*partWidth)*(x < 6*partWidth)*(6*255 - x * 255 / partWidth);
-
-       coef = (imHeight - y) / imHeight;
-       r = 128 + (r - 128) * coef;
-       g = 128 + (g - 128) * coef;
-       b = 128 + (b - 128) * coef;
-
-       changeFinalColor('#' + dechex(r) + dechex(g) + dechex(b));
-       updateLight(r, g, b);
-}
-
-function updateLight(r, g, b) {
-       var i, partDetail = detail / 2, finalCoef, finalR, finalG, finalB, color;
-
-       for (i=0; i<detail; i++) {
-               if ((i>=0) && (i<partDetail)) {
-                       finalCoef = i / partDetail;
-                       finalR = dechex(255 - (255 - r) * finalCoef);
-                       finalG = dechex(255 - (255 - g) * finalCoef);
-                       finalB = dechex(255 - (255 - b) * finalCoef);
-               } else {
-                       finalCoef = 2 - i / partDetail;
-                       finalR = dechex(r * finalCoef);
-                       finalG = dechex(g * finalCoef);
-                       finalB = dechex(b * finalCoef);
-               }
-
-               color = finalR + finalG + finalB;
-
-               setCol('gs' + i, '#'+color);
-       }
-}
-
-function changeFinalColor(color) {
-       if (color.indexOf('#') == -1)
-               color = convertRGBToHex(color);
-
-       setCol('preview', color);
-       document.getElementById('color').value = color;
-}
-
-function setCol(e, c) {
-       try {
-               document.getElementById(e).style.backgroundColor = c;
-       } catch (ex) {
-               // Ignore IE warning
-       }
-}
-
-tinyMCEPopup.onInit.add(init);
diff --git a/wp-includes/js/tinymce/themes/advanced/js/image.js b/wp-includes/js/tinymce/themes/advanced/js/image.js
deleted file mode 100644 (file)
index 3f93e2d..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-var ImageDialog = {
-       preInit : function() {
-               var url;
-
-               tinyMCEPopup.requireLangPack();
-
-               if (url = tinyMCEPopup.getParam("external_image_list_url"))
-                       document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>');
-       },
-
-       init : function() {
-               var f = document.forms[0], ed = tinyMCEPopup.editor;
-
-               // Setup browse button
-               document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image');
-               if (isVisible('srcbrowser'))
-                       document.getElementById('src').style.width = '180px';
-
-               e = ed.selection.getNode();
-
-               this.fillFileList('image_list', tinyMCEPopup.getParam('external_image_list', 'tinyMCEImageList'));
-
-               if (e.nodeName == 'IMG') {
-                       f.src.value = ed.dom.getAttrib(e, 'src');
-                       f.alt.value = ed.dom.getAttrib(e, 'alt');
-                       f.border.value = this.getAttrib(e, 'border');
-                       f.vspace.value = this.getAttrib(e, 'vspace');
-                       f.hspace.value = this.getAttrib(e, 'hspace');
-                       f.width.value = ed.dom.getAttrib(e, 'width');
-                       f.height.value = ed.dom.getAttrib(e, 'height');
-                       f.insert.value = ed.getLang('update');
-                       this.styleVal = ed.dom.getAttrib(e, 'style');
-                       selectByValue(f, 'image_list', f.src.value);
-                       selectByValue(f, 'align', this.getAttrib(e, 'align'));
-                       this.updateStyle();
-               }
-       },
-
-       fillFileList : function(id, l) {
-               var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
-
-               l = typeof(l) === 'function' ? l() : window[l];
-
-               if (l && l.length > 0) {
-                       lst.options[lst.options.length] = new Option('', '');
-
-                       tinymce.each(l, function(o) {
-                               lst.options[lst.options.length] = new Option(o[0], o[1]);
-                       });
-               } else
-                       dom.remove(dom.getParent(id, 'tr'));
-       },
-
-       update : function() {
-               var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, args = {}, el;
-
-               tinyMCEPopup.restoreSelection();
-
-               if (f.src.value === '') {
-                       if (ed.selection.getNode().nodeName == 'IMG') {
-                               ed.dom.remove(ed.selection.getNode());
-                               ed.execCommand('mceRepaint');
-                       }
-
-                       tinyMCEPopup.close();
-                       return;
-               }
-
-               if (!ed.settings.inline_styles) {
-                       args = tinymce.extend(args, {
-                               vspace : nl.vspace.value,
-                               hspace : nl.hspace.value,
-                               border : nl.border.value,
-                               align : getSelectValue(f, 'align')
-                       });
-               } else
-                       args.style = this.styleVal;
-
-               tinymce.extend(args, {
-                       src : f.src.value.replace(/ /g, '%20'),
-                       alt : f.alt.value,
-                       width : f.width.value,
-                       height : f.height.value
-               });
-
-               el = ed.selection.getNode();
-
-               if (el && el.nodeName == 'IMG') {
-                       ed.dom.setAttribs(el, args);
-                       tinyMCEPopup.editor.execCommand('mceRepaint');
-                       tinyMCEPopup.editor.focus();
-               } else {
-                       tinymce.each(args, function(value, name) {
-                               if (value === "") {
-                                       delete args[name];
-                               }
-                       });
-
-                       ed.execCommand('mceInsertContent', false, tinyMCEPopup.editor.dom.createHTML('img', args), {skip_undo : 1});
-                       ed.undoManager.add();
-               }
-
-               tinyMCEPopup.close();
-       },
-
-       updateStyle : function() {
-               var dom = tinyMCEPopup.dom, st = {}, v, f = document.forms[0];
-
-               if (tinyMCEPopup.editor.settings.inline_styles) {
-                       tinymce.each(tinyMCEPopup.dom.parseStyle(this.styleVal), function(value, key) {
-                               st[key] = value;
-                       });
-
-                       // Handle align
-                       v = getSelectValue(f, 'align');
-                       if (v) {
-                               if (v == 'left' || v == 'right') {
-                                       st['float'] = v;
-                                       delete st['vertical-align'];
-                               } else {
-                                       st['vertical-align'] = v;
-                                       delete st['float'];
-                               }
-                       } else {
-                               delete st['float'];
-                               delete st['vertical-align'];
-                       }
-
-                       // Handle border
-                       v = f.border.value;
-                       if (v || v == '0') {
-                               if (v == '0')
-                                       st['border'] = '0';
-                               else
-                                       st['border'] = v + 'px solid black';
-                       } else
-                               delete st['border'];
-
-                       // Handle hspace
-                       v = f.hspace.value;
-                       if (v) {
-                               delete st['margin'];
-                               st['margin-left'] = v + 'px';
-                               st['margin-right'] = v + 'px';
-                       } else {
-                               delete st['margin-left'];
-                               delete st['margin-right'];
-                       }
-
-                       // Handle vspace
-                       v = f.vspace.value;
-                       if (v) {
-                               delete st['margin'];
-                               st['margin-top'] = v + 'px';
-                               st['margin-bottom'] = v + 'px';
-                       } else {
-                               delete st['margin-top'];
-                               delete st['margin-bottom'];
-                       }
-
-                       // Merge
-                       st = tinyMCEPopup.dom.parseStyle(dom.serializeStyle(st), 'img');
-                       this.styleVal = dom.serializeStyle(st, 'img');
-               }
-       },
-
-       getAttrib : function(e, at) {
-               var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2;
-
-               if (ed.settings.inline_styles) {
-                       switch (at) {
-                               case 'align':
-                                       if (v = dom.getStyle(e, 'float'))
-                                               return v;
-
-                                       if (v = dom.getStyle(e, 'vertical-align'))
-                                               return v;
-
-                                       break;
-
-                               case 'hspace':
-                                       v = dom.getStyle(e, 'margin-left')
-                                       v2 = dom.getStyle(e, 'margin-right');
-                                       if (v && v == v2)
-                                               return parseInt(v.replace(/[^0-9]/g, ''));
-
-                                       break;
-
-                               case 'vspace':
-                                       v = dom.getStyle(e, 'margin-top')
-                                       v2 = dom.getStyle(e, 'margin-bottom');
-                                       if (v && v == v2)
-                                               return parseInt(v.replace(/[^0-9]/g, ''));
-
-                                       break;
-
-                               case 'border':
-                                       v = 0;
-
-                                       tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) {
-                                               sv = dom.getStyle(e, 'border-' + sv + '-width');
-
-                                               // False or not the same as prev
-                                               if (!sv || (sv != v && v !== 0)) {
-                                                       v = 0;
-                                                       return false;
-                                               }
-
-                                               if (sv)
-                                                       v = sv;
-                                       });
-
-                                       if (v)
-                                               return parseInt(v.replace(/[^0-9]/g, ''));
-
-                                       break;
-                       }
-               }
-
-               if (v = dom.getAttrib(e, at))
-                       return v;
-
-               return '';
-       },
-
-       resetImageData : function() {
-               var f = document.forms[0];
-
-               f.width.value = f.height.value = "";    
-       },
-
-       updateImageData : function() {
-               var f = document.forms[0], t = ImageDialog;
-
-               if (f.width.value == "")
-                       f.width.value = t.preloadImg.width;
-
-               if (f.height.value == "")
-                       f.height.value = t.preloadImg.height;
-       },
-
-       getImageData : function() {
-               var f = document.forms[0];
-
-               this.preloadImg = new Image();
-               this.preloadImg.onload = this.updateImageData;
-               this.preloadImg.onerror = this.resetImageData;
-               this.preloadImg.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(f.src.value);
-       }
-};
-
-ImageDialog.preInit();
-tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog);
diff --git a/wp-includes/js/tinymce/themes/advanced/js/link.js b/wp-includes/js/tinymce/themes/advanced/js/link.js
deleted file mode 100644 (file)
index b08b2ba..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-tinyMCEPopup.requireLangPack();
-
-var LinkDialog = {
-       preInit : function() {
-               var url;
-
-               if (url = tinyMCEPopup.getParam("external_link_list_url"))
-                       document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>');
-       },
-
-       init : function() {
-               var f = document.forms[0], ed = tinyMCEPopup.editor;
-
-               // Setup browse button
-               document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser', 'href', 'file', 'theme_advanced_link');
-               if (isVisible('hrefbrowser'))
-                       document.getElementById('href').style.width = '180px';
-
-               this.fillClassList('class_list');
-               this.fillFileList('link_list', 'tinyMCELinkList');
-               this.fillTargetList('target_list');
-
-               if (e = ed.dom.getParent(ed.selection.getNode(), 'A')) {
-                       f.href.value = ed.dom.getAttrib(e, 'href');
-                       f.linktitle.value = ed.dom.getAttrib(e, 'title');
-                       f.insert.value = ed.getLang('update');
-                       selectByValue(f, 'link_list', f.href.value);
-                       selectByValue(f, 'target_list', ed.dom.getAttrib(e, 'target'));
-                       selectByValue(f, 'class_list', ed.dom.getAttrib(e, 'class'));
-               }
-       },
-
-       update : function() {
-               var f = document.forms[0], ed = tinyMCEPopup.editor, e, b, href = f.href.value.replace(/ /g, '%20');
-
-               tinyMCEPopup.restoreSelection();
-               e = ed.dom.getParent(ed.selection.getNode(), 'A');
-
-               // Remove element if there is no href
-               if (!f.href.value) {
-                       if (e) {
-                               b = ed.selection.getBookmark();
-                               ed.dom.remove(e, 1);
-                               ed.selection.moveToBookmark(b);
-                               tinyMCEPopup.execCommand("mceEndUndoLevel");
-                               tinyMCEPopup.close();
-                               return;
-                       }
-               }
-
-               // Create new anchor elements
-               if (e == null) {
-                       ed.getDoc().execCommand("unlink", false, null);
-                       tinyMCEPopup.execCommand("mceInsertLink", false, "#mce_temp_url#", {skip_undo : 1});
-
-                       tinymce.each(ed.dom.select("a"), function(n) {
-                               if (ed.dom.getAttrib(n, 'href') == '#mce_temp_url#') {
-                                       e = n;
-
-                                       ed.dom.setAttribs(e, {
-                                               href : href,
-                                               title : f.linktitle.value,
-                                               target : f.target_list ? getSelectValue(f, "target_list") : null,
-                                               'class' : f.class_list ? getSelectValue(f, "class_list") : null
-                                       });
-                               }
-                       });
-               } else {
-                       ed.dom.setAttribs(e, {
-                               href : href,
-                               title : f.linktitle.value
-                       });
-       
-                       if (f.target_list) {
-                               ed.dom.setAttrib(e, 'target', getSelectValue(f, "target_list"));
-                       }
-
-                       if (f.class_list) {
-                               ed.dom.setAttrib(e, 'class', getSelectValue(f, "class_list"));
-                       }
-               }
-
-               // Don't move caret if selection was image
-               if (e.childNodes.length != 1 || e.firstChild.nodeName != 'IMG') {
-                       ed.focus();
-                       ed.selection.select(e);
-                       ed.selection.collapse(0);
-                       tinyMCEPopup.storeSelection();
-               }
-
-               tinyMCEPopup.execCommand("mceEndUndoLevel");
-               tinyMCEPopup.close();
-       },
-
-       checkPrefix : function(n) {
-               if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_email')))
-                       n.value = 'mailto:' + n.value;
-
-               if (/^\s*www\./i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_external')))
-                       n.value = 'http://' + n.value;
-       },
-
-       fillFileList : function(id, l) {
-               var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
-
-               l = window[l];
-
-               if (l && l.length > 0) {
-                       lst.options[lst.options.length] = new Option('', '');
-
-                       tinymce.each(l, function(o) {
-                               lst.options[lst.options.length] = new Option(o[0], o[1]);
-                       });
-               } else
-                       dom.remove(dom.getParent(id, 'tr'));
-       },
-
-       fillClassList : function(id) {
-               var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
-
-               if (v = tinyMCEPopup.getParam('theme_advanced_styles')) {
-                       cl = [];
-
-                       tinymce.each(v.split(';'), function(v) {
-                               var p = v.split('=');
-
-                               cl.push({'title' : p[0], 'class' : p[1]});
-                       });
-               } else
-                       cl = tinyMCEPopup.editor.dom.getClasses();
-
-               if (cl.length > 0) {
-                       lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), '');
-
-                       tinymce.each(cl, function(o) {
-                               lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']);
-                       });
-               } else
-                       dom.remove(dom.getParent(id, 'tr'));
-       },
-
-       fillTargetList : function(id) {
-               var dom = tinyMCEPopup.dom, lst = dom.get(id), v;
-
-               lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), '');
-               lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_same'), '_self');
-               lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_blank'), '_blank');
-
-               if (v = tinyMCEPopup.getParam('theme_advanced_link_targets')) {
-                       tinymce.each(v.split(','), function(v) {
-                               v = v.split('=');
-                               lst.options[lst.options.length] = new Option(v[0], v[1]);
-                       });
-               }
-       }
-};
-
-LinkDialog.preInit();
-tinyMCEPopup.onInit.add(LinkDialog.init, LinkDialog);
diff --git a/wp-includes/js/tinymce/themes/advanced/js/source_editor.js b/wp-includes/js/tinymce/themes/advanced/js/source_editor.js
deleted file mode 100644 (file)
index d417937..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-tinyMCEPopup.requireLangPack();
-tinyMCEPopup.onInit.add(onLoadInit);
-
-function saveContent() {
-       tinyMCEPopup.editor.setContent(document.getElementById('htmlSource').value, {source_view : true});
-       tinyMCEPopup.close();
-}
-
-function onLoadInit() {
-       tinyMCEPopup.resizeToInnerSize();
-
-       // Remove Gecko spellchecking
-       if (tinymce.isGecko)
-               document.body.spellcheck = tinyMCEPopup.editor.getParam("gecko_spellcheck");
-
-       document.getElementById('htmlSource').value = tinyMCEPopup.editor.getContent({source_view : true});
-
-       if (tinyMCEPopup.editor.getParam("theme_advanced_source_editor_wrap", true)) {
-               turnWrapOn();
-               document.getElementById('wraped').checked = true;
-       }
-
-       resizeInputs();
-}
-
-function setWrap(val) {
-       var v, n, s = document.getElementById('htmlSource');
-
-       s.wrap = val;
-
-       if (!tinymce.isIE) {
-               v = s.value;
-               n = s.cloneNode(false);
-               n.setAttribute("wrap", val);
-               s.parentNode.replaceChild(n, s);
-               n.value = v;
-       }
-}
-
-function setWhiteSpaceCss(value) {
-       var el = document.getElementById('htmlSource');
-       tinymce.DOM.setStyle(el, 'white-space', value);
-}
-
-function turnWrapOff() {
-       if (tinymce.isWebKit) {
-               setWhiteSpaceCss('pre');
-       } else {
-               setWrap('off');
-       }
-}
-
-function turnWrapOn() {
-       if (tinymce.isWebKit) {
-               setWhiteSpaceCss('pre-wrap');
-       } else {
-               setWrap('soft');
-       }
-}
-
-function toggleWordWrap(elm) {
-       if (elm.checked) {
-               turnWrapOn();
-       } else {
-               turnWrapOff();
-       }
-}
-
-function resizeInputs() {
-       var vp = tinyMCEPopup.dom.getViewPort(window), el;
-
-       el = document.getElementById('htmlSource');
-
-       if (el) {
-               el.style.width = (vp.w - 20) + 'px';
-               el.style.height = (vp.h - 65) + 'px';
-       }
-}
diff --git a/wp-includes/js/tinymce/themes/advanced/link.htm b/wp-includes/js/tinymce/themes/advanced/link.htm
deleted file mode 100644 (file)
index 0180002..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <title>{#advanced_dlg.link_title}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="../../utils/mctabs.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="../../utils/form_utils.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="../../utils/validate.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="js/link.js?ver=358-20121205"></script>
-</head>
-<body id="link" style="display: none">
-<form onsubmit="LinkDialog.update();return false;" action="#">
-       <div class="tabs">
-               <ul>
-                       <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advanced_dlg.link_title}</a></span></li>
-               </ul>
-       </div>
-
-       <div class="panel_wrapper">
-               <div id="general_panel" class="panel current">
-                       <table border="0" cellpadding="4" cellspacing="0">
-                               <tr>
-                                       <td class="nowrap"><label for="href">{#advanced_dlg.link_url}</label></td>
-                                       <td><table border="0" cellspacing="0" cellpadding="0"> 
-                                               <tr> 
-                                                       <td><input id="href" name="href" type="text" class="mceFocus" value="" style="width: 200px" onchange="LinkDialog.checkPrefix(this);" /></td> 
-                                                       <td id="hrefbrowsercontainer">&nbsp;</td>
-                                               </tr> 
-                                       </table></td>
-                               </tr>
-                               <tr>
-                                       <td><label for="link_list">{#advanced_dlg.link_list}</label></td>
-                                       <td><select id="link_list" name="link_list" onchange="document.getElementById('href').value=this.options[this.selectedIndex].value;"></select></td>
-                               </tr>
-                               <tr>
-                                       <td><label id="targetlistlabel" for="targetlist">{#advanced_dlg.link_target}</label></td>
-                                       <td><select id="target_list" name="target_list"></select></td>
-                               </tr>
-                               <tr>
-                                       <td class="nowrap"><label for="linktitle">{#advanced_dlg.link_titlefield}</label></td>
-                                       <td><input id="linktitle" name="linktitle" type="text" value="" style="width: 200px" /></td>
-                               </tr>
-                               <tr>
-                                       <td><label for="class_list">{#class_name}</label></td>
-                                       <td><select id="class_list" name="class_list"></select></td>
-                               </tr>
-                       </table>
-               </div>
-       </div>
-
-       <div class="mceActionPanel">
-               <input type="submit" id="insert" name="insert" value="{#insert}" />
-               <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
-       </div>
-</form>
-</body>
-</html>
diff --git a/wp-includes/js/tinymce/themes/advanced/shortcuts.htm b/wp-includes/js/tinymce/themes/advanced/shortcuts.htm
deleted file mode 100644 (file)
index 781801e..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-       <head>
-               <title>{#advanced_dlg.accessibility_help}</title>
-               <script type="text/javascript" src="../../tiny_mce_popup.js?ver=358-20121205"></script>
-               <script type="text/javascript">tinyMCEPopup.requireLangPack();</script>
-       </head>
-       <body id="content">
-               <h1>{#advanced_dlg.accessibility_usage_title}</h1>
-               <h2>Toolbars</h2>
-               <p>Press ALT-F10 to move focus to the toolbars. Navigate through the buttons using the arrow keys.
-               Press enter to activate a button and return focus to the editor.
-               Press escape to return focus to the editor without performing any actions.</p>
-               
-               <h2>Status Bar</h2>
-               <p>To access the editor status bar, press ALT-F11. Use the left and right arrow keys to navigate between elements in the path.
-               Press enter or space to select an element. Press escape to return focus to the editor without changing the selection.</p>
-               
-               <h2>Context Menu</h2>
-               <p>Press shift-F10 to activate the context menu. Use the up and down arrow keys to move between menu items. To open sub-menus press the right arrow key.
-               To close submenus press the left arrow key.  Press escape to close the context menu.</p>
-               
-               <h1>Keyboard Shortcuts</h1>
-               <table>
-                       <thead>
-                               <tr>
-                                       <th>Keystroke</th>
-                                       <th>Function</th>
-                               </tr>
-                       </thead>
-                       <tbody>
-                               <tr>
-                                       <td>Control-B</td><td>Bold</td>
-                               </tr>
-                               <tr>
-                                       <td>Control-I</td><td>Italic</td>
-                               </tr>
-                               <tr>
-                                       <td>Control-Z</td><td>Undo</td>
-                               </tr>
-                               <tr>
-                                       <td>Control-Y</td><td>Redo</td>
-                               </tr>
-                       </tbody>
-               </table>
-       </body>
-</html>
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/default/content.css b/wp-includes/js/tinymce/themes/advanced/skins/default/content.css
deleted file mode 100644 (file)
index 4d63ca9..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-body, td, pre {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;}
-body {background:#FFF;}
-body.mceForceColors {background:#FFF; color:#000;}
-body.mceBrowserDefaults {background:transparent; color:inherit; font-size:inherit; font-family:inherit;}
-h1 {font-size: 2em}
-h2 {font-size: 1.5em}
-h3 {font-size: 1.17em}
-h4 {font-size: 1em}
-h5 {font-size: .83em}
-h6 {font-size: .75em}
-.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;}
-a.mceItemAnchor {display:inline-block; -webkit-user-select:all; -webkit-user-modify:read-only; -moz-user-select:all; -moz-user-modify:read-only; width:11px !important; height:11px !important; background:url(img/items.gif) no-repeat center center}
-span.mceItemNbsp {background: #DDD}
-td.mceSelected, th.mceSelected {background-color:#3399ff !important}
-img {border:0;}
-table, img, hr, .mceItemAnchor {cursor:default}
-table td, table th {cursor:text}
-ins {border-bottom:1px solid green; text-decoration: none; color:green}
-del {color:red; text-decoration:line-through}
-cite {border-bottom:1px dashed blue}
-acronym {border-bottom:1px dotted #CCC; cursor:help}
-abbr {border-bottom:1px dashed #CCC; cursor:help}
-
-/* IE */
-* html body {
-scrollbar-3dlight-color:#F0F0EE;
-scrollbar-arrow-color:#676662;
-scrollbar-base-color:#F0F0EE;
-scrollbar-darkshadow-color:#DDD;
-scrollbar-face-color:#E0E0DD;
-scrollbar-highlight-color:#F0F0EE;
-scrollbar-shadow-color:#F0F0EE;
-scrollbar-track-color:#F5F5F5;
-}
-
-img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px}
-font[face=mceinline] {font-family:inherit !important}
-*[contentEditable]:focus {outline:0}
-
-.mceItemMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc}
-.mceItemShockWave {background-image:url(../../img/shockwave.gif)}
-.mceItemFlash {background-image:url(../../img/flash.gif)}
-.mceItemQuickTime {background-image:url(../../img/quicktime.gif)}
-.mceItemWindowsMedia {background-image:url(../../img/windowsmedia.gif)}
-.mceItemRealMedia {background-image:url(../../img/realmedia.gif)}
-.mceItemVideo {background-image:url(../../img/video.gif)}
-.mceItemAudio {background-image:url(../../img/video.gif)}
-.mceItemEmbeddedAudio {background-image:url(../../img/video.gif)}
-.mceItemIframe {background-image:url(../../img/iframe.gif)}
-.mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../../img/pagebreak.gif) no-repeat center top;}
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/default/dialog.css b/wp-includes/js/tinymce/themes/advanced/skins/default/dialog.css
deleted file mode 100644 (file)
index 8950ba3..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Generic */
-body {
-font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px;
-scrollbar-3dlight-color:#F0F0EE;
-scrollbar-arrow-color:#676662;
-scrollbar-base-color:#F0F0EE;
-scrollbar-darkshadow-color:#DDDDDD;
-scrollbar-face-color:#E0E0DD;
-scrollbar-highlight-color:#F0F0EE;
-scrollbar-shadow-color:#F0F0EE;
-scrollbar-track-color:#F5F5F5;
-background:#F0F0EE;
-padding:0;
-margin:8px 8px 0 8px;
-}
-
-html {background:#F0F0EE;}
-td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;}
-textarea {resize:none;outline:none;}
-a:link, a:visited {color:black;}
-a:hover {color:#2B6FB6;}
-.nowrap {white-space: nowrap}
-
-/* Forms */
-fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;}
-legend {color:#2B6FB6; font-weight:bold;}
-label.msg {display:none;}
-label.invalid {color:#EE0000; display:inline;}
-input.invalid {border:1px solid #EE0000;}
-input {background:#FFF; border:1px solid #CCC;}
-input, select, textarea {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;}
-input, select, textarea {border:1px solid #808080;}
-input.radio {border:1px none #000000; background:transparent; vertical-align:middle;}
-input.checkbox {border:1px none #000000; background:transparent; vertical-align:middle;}
-.input_noborder {border:0;}
-
-/* Buttons */
-#insert, #cancel, input.button, .updateButton {
-border:0; margin:0; padding:0;
-font-weight:bold;
-width:94px; height:26px;
-background:url(img/buttons.png) 0 -26px;
-cursor:pointer;
-padding-bottom:2px;
-float:left;
-}
-
-#insert {background:url(img/buttons.png) 0 -52px}
-#cancel {background:url(img/buttons.png) 0 0; float:right}
-
-/* Browse */
-a.pickcolor, a.browse {text-decoration:none}
-a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.gif) -860px 0; border:1px solid #FFF; margin-left:1px;}
-.mceOldBoxModel a.browse span {width:22px; height:20px;}
-a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;}
-a.browse span.disabled {border:1px solid white; opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)}
-a.browse:hover span.disabled {border:1px solid white; background-color:transparent;}
-a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.gif) -840px 0; margin-left:2px;}
-.mceOldBoxModel a.pickcolor span {width:21px; height:17px;}
-a.pickcolor:hover span {background-color:#B2BBD0;}
-a.pickcolor:hover span.disabled {}
-
-/* Charmap */
-table.charmap {border:1px solid #AAA; text-align:center}
-td.charmap, #charmap a {width:18px; height:18px; color:#000; border:1px solid #AAA; text-align:center; font-size:12px; vertical-align:middle; line-height: 18px;}
-#charmap a {display:block; color:#000; text-decoration:none; border:0}
-#charmap a:hover {background:#CCC;color:#2B6FB6}
-#charmap #codeN {font-size:10px; font-family:Arial,Helvetica,sans-serif; text-align:center}
-#charmap #codeV {font-size:40px; height:80px; border:1px solid #AAA; text-align:center}
-
-/* Source */
-.wordWrapCode {vertical-align:middle; border:1px none #000000; background:transparent;}
-.mceActionPanel {margin-top:5px;}
-
-/* Tabs classes */
-.tabs {width:100%; height:18px; line-height:normal; background:url(img/tabs.gif) repeat-x 0 -72px;}
-.tabs ul {margin:0; padding:0; list-style:none;}
-.tabs li {float:left; background:url(img/tabs.gif) no-repeat 0 0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block;}
-.tabs li.current {background:url(img/tabs.gif) no-repeat 0 -18px; margin-right:2px;}
-.tabs span {float:left; display:block; background:url(img/tabs.gif) no-repeat right -36px; padding:0px 10px 0 0;}
-.tabs .current span {background:url(img/tabs.gif) no-repeat right -54px;}
-.tabs a {text-decoration:none; font-family:Verdana, Arial; font-size:10px;}
-.tabs a:link, .tabs a:visited, .tabs a:hover {color:black;}
-
-/* Panels */
-.panel_wrapper div.panel {display:none;}
-.panel_wrapper div.current {display:block; width:100%; height:300px; overflow:visible;}
-.panel_wrapper {border:1px solid #919B9C; border-top:0px; padding:10px; padding-top:5px; clear:both; background:white;}
-
-/* Columns */
-.column {float:left;}
-.properties {width:100%;}
-.properties .column1 {}
-.properties .column2 {text-align:left;}
-
-/* Titles */
-h1, h2, h3, h4 {color:#2B6FB6; margin:0; padding:0; padding-top:5px;}
-h3 {font-size:14px;}
-.title {font-size:12px; font-weight:bold; color:#2B6FB6;}
-
-/* Dialog specific */
-#link .panel_wrapper, #link div.current {height:125px;}
-#image .panel_wrapper, #image div.current {height:200px;}
-#plugintable thead {font-weight:bold; background:#DDD;}
-#plugintable, #about #plugintable td {border:1px solid #919B9C;}
-#plugintable {width:96%; margin-top:10px;}
-#pluginscontainer {height:290px; overflow:auto;}
-#colorpicker #preview {display:inline-block; padding-left:40px; height:14px; border:1px solid black; margin-left:5px; margin-right: 5px}
-#colorpicker #previewblock {position: relative; top: -3px; padding-left:5px; padding-top: 0px; display:inline}
-#colorpicker #preview_wrapper { text-align:center; padding-top:4px; white-space: nowrap}
-#colorpicker #colors {float:left; border:1px solid gray; cursor:crosshair;}
-#colorpicker #light {border:1px solid gray; margin-left:5px; float:left;width:15px; height:150px; cursor:crosshair;}
-#colorpicker #light div {overflow:hidden;}
-#colorpicker .panel_wrapper div.current {height:175px;}
-#colorpicker #namedcolors {width:150px;}
-#colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;}
-#colorpicker #colornamecontainer {margin-top:5px;}
-#colorpicker #picker_panel fieldset {margin:auto;width:325px;}
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/default/img/buttons.png b/wp-includes/js/tinymce/themes/advanced/skins/default/img/buttons.png
deleted file mode 100644 (file)
index 1e53560..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/default/img/buttons.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/default/img/items.gif b/wp-includes/js/tinymce/themes/advanced/skins/default/img/items.gif
deleted file mode 100644 (file)
index d2f9367..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/default/img/items.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif b/wp-includes/js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif
deleted file mode 100644 (file)
index 85e31df..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/default/img/menu_check.gif b/wp-includes/js/tinymce/themes/advanced/skins/default/img/menu_check.gif
deleted file mode 100644 (file)
index adfdddc..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/default/img/menu_check.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/default/img/progress.gif b/wp-includes/js/tinymce/themes/advanced/skins/default/img/progress.gif
deleted file mode 100644 (file)
index 5bb90fd..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/default/img/progress.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/default/img/tabs.gif b/wp-includes/js/tinymce/themes/advanced/skins/default/img/tabs.gif
deleted file mode 100644 (file)
index 06812cb..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/default/img/tabs.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/default/ui.css b/wp-includes/js/tinymce/themes/advanced/skins/default/ui.css
deleted file mode 100644 (file)
index 2e8c658..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-/* Reset */
-.defaultSkin table, .defaultSkin tbody, .defaultSkin a, .defaultSkin img, .defaultSkin tr, .defaultSkin div, .defaultSkin td, .defaultSkin iframe, .defaultSkin span, .defaultSkin *, .defaultSkin .mceText {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000; vertical-align:baseline; width:auto; border-collapse:separate; text-align:left}
-.defaultSkin a:hover, .defaultSkin a:link, .defaultSkin a:visited, .defaultSkin a:active {text-decoration:none; font-weight:normal; cursor:default; color:#000}
-.defaultSkin table td {vertical-align:middle}
-
-/* Containers */
-.defaultSkin table {direction:ltr;background:transparent}
-.defaultSkin iframe {display:block;}
-.defaultSkin .mceToolbar {height:26px}
-.defaultSkin .mceLeft {text-align:left}
-.defaultSkin .mceRight {text-align:right}
-
-/* External */
-.defaultSkin .mceExternalToolbar {position:absolute; border:1px solid #CCC; border-bottom:0; display:none;}
-.defaultSkin .mceExternalToolbar td.mceToolbar {padding-right:13px;}
-.defaultSkin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px; background:url(../../img/icons.gif) -820px 0}
-
-/* Layout */
-.defaultSkin table.mceLayout {border:0; border-left:1px solid #CCC; border-right:1px solid #CCC}
-.defaultSkin table.mceLayout tr.mceFirst td {border-top:1px solid #CCC}
-.defaultSkin table.mceLayout tr.mceLast td {border-bottom:1px solid #CCC}
-.defaultSkin table.mceToolbar, .defaultSkin tr.mceFirst .mceToolbar tr td, .defaultSkin tr.mceLast .mceToolbar tr td {border:0; margin:0; padding:0;}
-.defaultSkin td.mceToolbar {background:#F0F0EE; padding-top:1px; vertical-align:top}
-.defaultSkin .mceIframeContainer {border-top:1px solid #CCC; border-bottom:1px solid #CCC}
-.defaultSkin .mceStatusbar {background:#F0F0EE; font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:9pt; line-height:16px; overflow:visible; color:#000; display:block; height:20px}
-.defaultSkin .mceStatusbar div {float:left; margin:2px}
-.defaultSkin .mceStatusbar a.mceResize {display:block; float:right; background:url(../../img/icons.gif) -800px 0; width:20px; height:20px; cursor:se-resize; outline:0}
-.defaultSkin .mceStatusbar a:hover {text-decoration:underline}
-.defaultSkin table.mceToolbar {margin-left:3px}
-.defaultSkin span.mceIcon, .defaultSkin img.mceIcon {display:block; width:20px; height:20px}
-.defaultSkin .mceIcon {background:url(../../img/icons.gif) no-repeat 20px 20px}
-.defaultSkin td.mceCenter {text-align:center;}
-.defaultSkin td.mceCenter table {margin:0 auto; text-align:left;}
-.defaultSkin td.mceRight table {margin:0 0 0 auto;}
-
-/* Button */
-.defaultSkin .mceButton {display:block; border:1px solid #F0F0EE; width:20px; height:20px; margin-right:1px}
-.defaultSkin a.mceButtonEnabled:hover {border:1px solid #0A246A; background-color:#B2BBD0}
-.defaultSkin a.mceButtonActive, .defaultSkin a.mceButtonSelected {border:1px solid #0A246A; background-color:#C2CBE0}
-.defaultSkin .mceButtonDisabled .mceIcon {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)}
-.defaultSkin .mceButtonLabeled {width:auto}
-.defaultSkin .mceButtonLabeled span.mceIcon {float:left}
-.defaultSkin span.mceButtonLabel {display:block; font-size:10px; padding:4px 6px 0 22px; font-family:Tahoma,Verdana,Arial,Helvetica}
-.defaultSkin .mceButtonDisabled .mceButtonLabel {color:#888}
-
-/* Separator */
-.defaultSkin .mceSeparator {display:block; background:url(../../img/icons.gif) -180px 0; width:2px; height:20px; margin:2px 2px 0 4px}
-
-/* ListBox */
-.defaultSkin .mceListBox, .defaultSkin .mceListBox a {display:block}
-.defaultSkin .mceListBox .mceText {padding-left:4px; width:70px; text-align:left; border:1px solid #CCC; border-right:0; background:#FFF; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; height:20px; line-height:20px; overflow:hidden}
-.defaultSkin .mceListBox .mceOpen {width:9px; height:20px; background:url(../../img/icons.gif) -741px 0; margin-right:2px; border:1px solid #CCC;}
-.defaultSkin table.mceListBoxEnabled:hover .mceText, .defaultSkin .mceListBoxHover .mceText, .defaultSkin .mceListBoxSelected .mceText {border:1px solid #A2ABC0; border-right:0; background:#FFF}
-.defaultSkin table.mceListBoxEnabled:hover .mceOpen, .defaultSkin .mceListBoxHover .mceOpen, .defaultSkin .mceListBoxSelected .mceOpen {background-color:#FFF; border:1px solid #A2ABC0}
-.defaultSkin .mceListBoxDisabled a.mceText {color:gray; background-color:transparent;}
-.defaultSkin .mceListBoxMenu {overflow:auto; overflow-x:hidden}
-.defaultSkin .mceOldBoxModel .mceListBox .mceText {height:22px}
-.defaultSkin .mceOldBoxModel .mceListBox .mceOpen {width:11px; height:22px;}
-.defaultSkin select.mceNativeListBox {font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:7pt; background:#F0F0EE; border:1px solid gray; margin-right:2px;}
-
-/* SplitButton */
-.defaultSkin .mceSplitButton {width:32px; height:20px; direction:ltr}
-.defaultSkin .mceSplitButton a, .defaultSkin .mceSplitButton span {height:20px; display:block}
-.defaultSkin .mceSplitButton a.mceAction {width:20px; border:1px solid #F0F0EE; border-right:0;}
-.defaultSkin .mceSplitButton span.mceAction {width:20px; background-image:url(../../img/icons.gif);}
-.defaultSkin .mceSplitButton a.mceOpen {width:9px; background:url(../../img/icons.gif) -741px 0; border:1px solid #F0F0EE;}
-.defaultSkin .mceSplitButton span.mceOpen {display:none}
-.defaultSkin table.mceSplitButtonEnabled:hover a.mceAction, .defaultSkin .mceSplitButtonHover a.mceAction, .defaultSkin .mceSplitButtonSelected a.mceAction {border:1px solid #0A246A; border-right:0; background-color:#B2BBD0}
-.defaultSkin table.mceSplitButtonEnabled:hover a.mceOpen, .defaultSkin .mceSplitButtonHover a.mceOpen, .defaultSkin .mceSplitButtonSelected a.mceOpen {background-color:#B2BBD0; border:1px solid #0A246A;}
-.defaultSkin .mceSplitButtonDisabled .mceAction, .defaultSkin .mceSplitButtonDisabled a.mceOpen {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)}
-.defaultSkin .mceSplitButtonActive a.mceAction {border:1px solid #0A246A; background-color:#C2CBE0}
-.defaultSkin .mceSplitButtonActive a.mceOpen {border-left:0;}
-
-/* ColorSplitButton */
-.defaultSkin div.mceColorSplitMenu table {background:#FFF; border:1px solid gray}
-.defaultSkin .mceColorSplitMenu td {padding:2px}
-.defaultSkin .mceColorSplitMenu a {display:block; width:9px; height:9px; overflow:hidden; border:1px solid #808080}
-.defaultSkin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px}
-.defaultSkin .mceColorSplitMenu a.mceMoreColors {width:100%; height:auto; text-align:center; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; line-height:20px; border:1px solid #FFF}
-.defaultSkin .mceColorSplitMenu a.mceMoreColors:hover {border:1px solid #0A246A; background-color:#B6BDD2}
-.defaultSkin a.mceMoreColors:hover {border:1px solid #0A246A}
-.defaultSkin .mceColorPreview {margin-left:2px; width:16px; height:4px; overflow:hidden; background:#9a9b9a}
-.defaultSkin .mce_forecolor span.mceAction, .defaultSkin .mce_backcolor span.mceAction {overflow:hidden; height:16px}
-
-/* Menu */
-.defaultSkin .mceMenu {position:absolute; left:0; top:0; z-index:1000; border:1px solid #D4D0C8; direction:ltr}
-.defaultSkin .mceNoIcons span.mceIcon {width:0;}
-.defaultSkin .mceNoIcons a .mceText {padding-left:10px}
-.defaultSkin .mceMenu table {background:#FFF}
-.defaultSkin .mceMenu a, .defaultSkin .mceMenu span, .defaultSkin .mceMenu {display:block}
-.defaultSkin .mceMenu td {height:20px}
-.defaultSkin .mceMenu a {position:relative;padding:3px 0 4px 0}
-.defaultSkin .mceMenu .mceText {position:relative; display:block; font-family:Tahoma,Verdana,Arial,Helvetica; color:#000; cursor:default; margin:0; padding:0 25px 0 25px; display:block}
-.defaultSkin .mceMenu span.mceText, .defaultSkin .mceMenu .mcePreview {font-size:11px}
-.defaultSkin .mceMenu pre.mceText {font-family:Monospace}
-.defaultSkin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:22px;}
-.defaultSkin .mceMenu .mceMenuItemEnabled a:hover, .defaultSkin .mceMenu .mceMenuItemActive {background-color:#dbecf3}
-.defaultSkin td.mceMenuItemSeparator {background:#DDD; height:1px}
-.defaultSkin .mceMenuItemTitle a {border:0; background:#EEE; border-bottom:1px solid #DDD}
-.defaultSkin .mceMenuItemTitle span.mceText {color:#000; font-weight:bold; padding-left:4px}
-.defaultSkin .mceMenuItemDisabled .mceText {color:#888}
-.defaultSkin .mceMenuItemSelected .mceIcon {background:url(img/menu_check.gif)}
-.defaultSkin .mceNoIcons .mceMenuItemSelected a {background:url(img/menu_arrow.gif) no-repeat -6px center}
-.defaultSkin .mceMenu span.mceMenuLine {display:none}
-.defaultSkin .mceMenuItemSub a {background:url(img/menu_arrow.gif) no-repeat top right;}
-.defaultSkin .mceMenuItem td, .defaultSkin .mceMenuItem th {line-height: normal}
-
-/* Progress,Resize */
-.defaultSkin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; -ms-filter:'alpha(opacity=50)'; filter:alpha(opacity=50); background:#FFF}
-.defaultSkin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(img/progress.gif) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px}
-
-/* Rtl */
-.mceRtl .mceListBox .mceText {text-align: right; padding: 0 4px 0 0}
-.mceRtl .mceMenuItem .mceText {text-align: right}
-
-/* Formats */
-.defaultSkin .mce_formatPreview a {font-size:10px}
-.defaultSkin .mce_p span.mceText {}
-.defaultSkin .mce_address span.mceText {font-style:italic}
-.defaultSkin .mce_pre span.mceText {font-family:monospace}
-.defaultSkin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em}
-.defaultSkin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em}
-.defaultSkin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em}
-.defaultSkin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em}
-.defaultSkin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em}
-.defaultSkin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em}
-
-/* Theme */
-.defaultSkin span.mce_bold {background-position:0 0}
-.defaultSkin span.mce_italic {background-position:-60px 0}
-.defaultSkin span.mce_underline {background-position:-140px 0}
-.defaultSkin span.mce_strikethrough {background-position:-120px 0}
-.defaultSkin span.mce_undo {background-position:-160px 0}
-.defaultSkin span.mce_redo {background-position:-100px 0}
-.defaultSkin span.mce_cleanup {background-position:-40px 0}
-.defaultSkin span.mce_bullist {background-position:-20px 0}
-.defaultSkin span.mce_numlist {background-position:-80px 0}
-.defaultSkin span.mce_justifyleft {background-position:-460px 0}
-.defaultSkin span.mce_justifyright {background-position:-480px 0}
-.defaultSkin span.mce_justifycenter {background-position:-420px 0}
-.defaultSkin span.mce_justifyfull {background-position:-440px 0}
-.defaultSkin span.mce_anchor {background-position:-200px 0}
-.defaultSkin span.mce_indent {background-position:-400px 0}
-.defaultSkin span.mce_outdent {background-position:-540px 0}
-.defaultSkin span.mce_link {background-position:-500px 0}
-.defaultSkin span.mce_unlink {background-position:-640px 0}
-.defaultSkin span.mce_sub {background-position:-600px 0}
-.defaultSkin span.mce_sup {background-position:-620px 0}
-.defaultSkin span.mce_removeformat {background-position:-580px 0}
-.defaultSkin span.mce_newdocument {background-position:-520px 0}
-.defaultSkin span.mce_image {background-position:-380px 0}
-.defaultSkin span.mce_help {background-position:-340px 0}
-.defaultSkin span.mce_code {background-position:-260px 0}
-.defaultSkin span.mce_hr {background-position:-360px 0}
-.defaultSkin span.mce_visualaid {background-position:-660px 0}
-.defaultSkin span.mce_charmap {background-position:-240px 0}
-.defaultSkin span.mce_paste {background-position:-560px 0}
-.defaultSkin span.mce_copy {background-position:-700px 0}
-.defaultSkin span.mce_cut {background-position:-680px 0}
-.defaultSkin span.mce_blockquote {background-position:-220px 0}
-.defaultSkin .mce_forecolor span.mceAction {background-position:-720px 0}
-.defaultSkin .mce_backcolor span.mceAction {background-position:-760px 0}
-.defaultSkin span.mce_forecolorpicker {background-position:-720px 0}
-.defaultSkin span.mce_backcolorpicker {background-position:-760px 0}
-
-/* Plugins */
-.defaultSkin span.mce_advhr {background-position:-0px -20px}
-.defaultSkin span.mce_ltr {background-position:-20px -20px}
-.defaultSkin span.mce_rtl {background-position:-40px -20px}
-.defaultSkin span.mce_emotions {background-position:-60px -20px}
-.defaultSkin span.mce_fullpage {background-position:-80px -20px}
-.defaultSkin span.mce_fullscreen {background-position:-100px -20px}
-.defaultSkin span.mce_iespell {background-position:-120px -20px}
-.defaultSkin span.mce_insertdate {background-position:-140px -20px}
-.defaultSkin span.mce_inserttime {background-position:-160px -20px}
-.defaultSkin span.mce_absolute {background-position:-180px -20px}
-.defaultSkin span.mce_backward {background-position:-200px -20px}
-.defaultSkin span.mce_forward {background-position:-220px -20px}
-.defaultSkin span.mce_insert_layer {background-position:-240px -20px}
-.defaultSkin span.mce_insertlayer {background-position:-260px -20px}
-.defaultSkin span.mce_movebackward {background-position:-280px -20px}
-.defaultSkin span.mce_moveforward {background-position:-300px -20px}
-.defaultSkin span.mce_media {background-position:-320px -20px}
-.defaultSkin span.mce_nonbreaking {background-position:-340px -20px}
-.defaultSkin span.mce_pastetext {background-position:-360px -20px}
-.defaultSkin span.mce_pasteword {background-position:-380px -20px}
-.defaultSkin span.mce_selectall {background-position:-400px -20px}
-.defaultSkin span.mce_preview {background-position:-420px -20px}
-.defaultSkin span.mce_print {background-position:-440px -20px}
-.defaultSkin span.mce_cancel {background-position:-460px -20px}
-.defaultSkin span.mce_save {background-position:-480px -20px}
-.defaultSkin span.mce_replace {background-position:-500px -20px}
-.defaultSkin span.mce_search {background-position:-520px -20px}
-.defaultSkin span.mce_styleprops {background-position:-560px -20px}
-.defaultSkin span.mce_table {background-position:-580px -20px}
-.defaultSkin span.mce_cell_props {background-position:-600px -20px}
-.defaultSkin span.mce_delete_table {background-position:-620px -20px}
-.defaultSkin span.mce_delete_col {background-position:-640px -20px}
-.defaultSkin span.mce_delete_row {background-position:-660px -20px}
-.defaultSkin span.mce_col_after {background-position:-680px -20px}
-.defaultSkin span.mce_col_before {background-position:-700px -20px}
-.defaultSkin span.mce_row_after {background-position:-720px -20px}
-.defaultSkin span.mce_row_before {background-position:-740px -20px}
-.defaultSkin span.mce_merge_cells {background-position:-760px -20px}
-.defaultSkin span.mce_table_props {background-position:-980px -20px}
-.defaultSkin span.mce_row_props {background-position:-780px -20px}
-.defaultSkin span.mce_split_cells {background-position:-800px -20px}
-.defaultSkin span.mce_template {background-position:-820px -20px}
-.defaultSkin span.mce_visualchars {background-position:-840px -20px}
-.defaultSkin span.mce_abbr {background-position:-860px -20px}
-.defaultSkin span.mce_acronym {background-position:-880px -20px}
-.defaultSkin span.mce_attribs {background-position:-900px -20px}
-.defaultSkin span.mce_cite {background-position:-920px -20px}
-.defaultSkin span.mce_del {background-position:-940px -20px}
-.defaultSkin span.mce_ins {background-position:-960px -20px}
-.defaultSkin span.mce_pagebreak {background-position:0 -40px}
-.defaultSkin span.mce_restoredraft {background-position:-20px -40px}
-.defaultSkin span.mce_spellchecker {background-position:-540px -20px}
-.defaultSkin span.mce_visualblocks {background-position: -40px -40px}
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/content.css b/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/content.css
deleted file mode 100644 (file)
index ee3d369..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-body, td, pre { margin:8px;}
-body.mceForceColors {background:#FFF; color:#000;}
-h1 {font-size: 2em}
-h2 {font-size: 1.5em}
-h3 {font-size: 1.17em}
-h4 {font-size: 1em}
-h5 {font-size: .83em}
-h6 {font-size: .75em}
-.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;}
-a.mceItemAnchor {display:inline-block; width:11px !important; height:11px  !important; background:url(../default/img/items.gif) no-repeat 0 0;}
-span.mceItemNbsp {background: #DDD}
-td.mceSelected, th.mceSelected {background-color:#3399ff !important}
-img {border:0;}
-table, img, hr, .mceItemAnchor {cursor:default}
-table td, table th {cursor:text}
-ins {border-bottom:1px solid green; text-decoration: none; color:green}
-del {color:red; text-decoration:line-through}
-cite {border-bottom:1px dashed blue}
-acronym {border-bottom:1px dotted #CCC; cursor:help}
-abbr {border-bottom:1px dashed #CCC; cursor:help}
-
-img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px}
-font[face=mceinline] {font-family:inherit !important}
-*[contentEditable]:focus {outline:0}
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/dialog.css b/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/dialog.css
deleted file mode 100644 (file)
index fa3c31a..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/* Generic */
-body {
-font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px;
-background:#F0F0EE;
-color: black;
-padding:0;
-margin:8px 8px 0 8px;
-}
-
-html {background:#F0F0EE; color:#000;}
-td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;}
-textarea {resize:none;outline:none;}
-a:link, a:visited {color:black;background-color:transparent;}
-a:hover {color:#2B6FB6;background-color:transparent;}
-.nowrap {white-space: nowrap}
-
-/* Forms */
-fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;}
-legend {color:#2B6FB6; font-weight:bold;}
-label.msg {display:none;}
-label.invalid {color:#EE0000; display:inline;background-color:transparent;}
-input.invalid {border:1px solid #EE0000;background-color:transparent;}
-input {background:#FFF; border:1px solid #CCC;color:black;}
-input, select, textarea {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;}
-input, select, textarea {border:1px solid #808080;}
-input.radio {border:1px none #000000; background:transparent; vertical-align:middle;}
-input.checkbox {border:1px none #000000; background:transparent; vertical-align:middle;}
-.input_noborder {border:0;}
-
-/* Buttons */
-#insert, #cancel, input.button, .updateButton {
-font-weight:bold;
-width:94px; height:23px;
-cursor:pointer;
-padding-bottom:2px;
-float:left;
-}
-
-#cancel {float:right}
-
-/* Browse */
-a.pickcolor, a.browse {text-decoration:none}
-a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.gif) -860px 0; border:1px solid #FFF; margin-left:1px;}
-.mceOldBoxModel a.browse span {width:22px; height:20px;}
-a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;}
-a.browse span.disabled {border:1px solid white; opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)}
-a.browse:hover span.disabled {border:1px solid white; background-color:transparent;}
-a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.gif) -840px 0; margin-left:2px;}
-.mceOldBoxModel a.pickcolor span {width:21px; height:17px;}
-a.pickcolor:hover span {background-color:#B2BBD0;}
-a.pickcolor:hover span.disabled {}
-
-/* Charmap */
-table.charmap {border:1px solid #AAA; text-align:center}
-td.charmap, #charmap a {width:18px; height:18px; color:#000; border:1px solid #AAA; text-align:center; font-size:12px; vertical-align:middle; line-height: 18px;}
-#charmap a {display:block; color:#000; text-decoration:none; border:0}
-#charmap a:hover {background:#CCC;color:#2B6FB6}
-#charmap #codeN {font-size:10px; font-family:Arial,Helvetica,sans-serif; text-align:center}
-#charmap #codeV {font-size:40px; height:80px; border:1px solid #AAA; text-align:center}
-
-/* Source */
-.wordWrapCode {vertical-align:middle; border:1px none #000000; background:transparent;}
-.mceActionPanel {margin-top:5px;}
-
-/* Tabs classes */
-.tabs {width:100%; height:18px; line-height:normal;}
-.tabs ul {margin:0; padding:0; list-style:none;}
-.tabs li {float:left; border: 1px solid black; border-bottom:0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block; cursor:pointer;}
-.tabs li.current {font-weight: bold; margin-right:2px;}
-.tabs span {float:left; display:block; padding:0px 10px 0 0;}
-.tabs a {text-decoration:none; font-family:Verdana, Arial; font-size:10px;}
-.tabs a:link, .tabs a:visited, .tabs a:hover {color:black;}
-
-/* Panels */
-.panel_wrapper div.panel {display:none;}
-.panel_wrapper div.current {display:block; width:100%; height:300px; overflow:visible;}
-.panel_wrapper {border:1px solid #919B9C; padding:10px; padding-top:5px; clear:both; background:white;}
-
-/* Columns */
-.column {float:left;}
-.properties {width:100%;}
-.properties .column1 {}
-.properties .column2 {text-align:left;}
-
-/* Titles */
-h1, h2, h3, h4 {color:#2B6FB6; margin:0; padding:0; padding-top:5px;}
-h3 {font-size:14px;}
-.title {font-size:12px; font-weight:bold; color:#2B6FB6;}
-
-/* Dialog specific */
-#link .panel_wrapper, #link div.current {height:125px;}
-#image .panel_wrapper, #image div.current {height:200px;}
-#plugintable thead {font-weight:bold; background:#DDD;}
-#plugintable, #about #plugintable td {border:1px solid #919B9C;}
-#plugintable {width:96%; margin-top:10px;}
-#pluginscontainer {height:290px; overflow:auto;}
-#colorpicker #preview {display:inline-block; padding-left:40px; height:14px; border:1px solid black; margin-left:5px; margin-right: 5px}
-#colorpicker #previewblock {position: relative; top: -3px; padding-left:5px; padding-top: 0px; display:inline}
-#colorpicker #preview_wrapper { text-align:center; padding-top:4px; white-space: nowrap}
-#colorpicker #colors {float:left; border:1px solid gray; cursor:crosshair;}
-#colorpicker #light {border:1px solid gray; margin-left:5px; float:left;width:15px; height:150px; cursor:crosshair;}
-#colorpicker #light div {overflow:hidden;}
-#colorpicker .panel_wrapper div.current {height:175px;}
-#colorpicker #namedcolors {width:150px;}
-#colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;}
-#colorpicker #colornamecontainer {margin-top:5px;}
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/ui.css b/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/ui.css
deleted file mode 100644 (file)
index 86829c5..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/* Reset */
-.highcontrastSkin table, .highcontrastSkin tbody, .highcontrastSkin a, .highcontrastSkin img, .highcontrastSkin tr, .highcontrastSkin div, .highcontrastSkin td, .highcontrastSkin iframe, .highcontrastSkin span, .highcontrastSkin *, .highcontrastSkin .mceText {border:0; margin:0; padding:0; vertical-align:baseline; border-collapse:separate;}
-.highcontrastSkin a:hover, .highcontrastSkin a:link, .highcontrastSkin a:visited, .highcontrastSkin a:active {text-decoration:none; font-weight:normal; cursor:default;}
-.highcontrastSkin table td {vertical-align:middle}
-
-.highcontrastSkin .mceIconOnly {display: block !important;}
-
-/* External */
-.highcontrastSkin .mceExternalToolbar {position:absolute; border:1px solid; border-bottom:0; display:none; background-color: white;}
-.highcontrastSkin .mceExternalToolbar td.mceToolbar {padding-right:13px;}
-.highcontrastSkin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px;}
-
-/* Layout */
-.highcontrastSkin table.mceLayout {border: 1px solid;}
-.highcontrastSkin .mceIframeContainer {border-top:1px solid; border-bottom:1px solid}
-.highcontrastSkin .mceStatusbar a:hover {text-decoration:underline}
-.highcontrastSkin .mceStatusbar {display:block; line-height:1.5em; overflow:visible;}
-.highcontrastSkin .mceStatusbar div {float:left}
-.highcontrastSkin .mceStatusbar a.mceResize {display:block; float:right; width:20px; height:20px; cursor:se-resize; outline:0}
-
-.highcontrastSkin .mceToolbar td { display: inline-block; float: left;}
-.highcontrastSkin .mceToolbar tr { display: block;}
-.highcontrastSkin .mceToolbar table { display: block; }
-
-/* Button */
-
-.highcontrastSkin .mceButton { display:block; margin: 2px; padding: 5px 10px;border: 1px solid; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; -ms-border-radius: 3px; height: 2em;}
-.highcontrastSkin .mceButton .mceVoiceLabel { height: 100%; vertical-align: center; line-height: 2em}
-.highcontrastSkin .mceButtonDisabled .mceVoiceLabel { opacity:0.6; -ms-filter:'alpha(opacity=60)'; filter:alpha(opacity=60);}
-.highcontrastSkin .mceButtonActive, .highcontrastSkin .mceButton:focus, .highcontrastSkin .mceButton:active { border: 5px solid; padding: 1px 6px;-webkit-focus-ring-color:none;outline:none;}
-
-/* Separator */
-.highcontrastSkin .mceSeparator {display:block; width:16px; height:26px;}
-
-/* ListBox */
-.highcontrastSkin .mceListBox { display: block; margin:2px;-webkit-focus-ring-color:none;outline:none;}
-.highcontrastSkin .mceListBox .mceText {padding: 5px 6px;  line-height: 2em; width: 15ex; overflow: hidden;}
-.highcontrastSkin .mceListBoxDisabled .mceText { opacity:0.6; -ms-filter:'alpha(opacity=60)'; filter:alpha(opacity=60);}
-.highcontrastSkin .mceListBox a.mceText { padding: 5px 10px; display: block; height: 2em; line-height: 2em; border: 1px solid; border-right: 0; border-radius: 3px 0px 0px 3px; -moz-border-radius: 3px 0px 0px 3px; -webkit-border-radius: 3px 0px 0px 3px; -ms-border-radius: 3px 0px 0px 3px;}
-.highcontrastSkin .mceListBox a.mceOpen { padding: 5px 4px; display: block; height: 2em; line-height: 2em; border: 1px solid; border-left: 0; border-radius: 0px 3px 3px 0px; -moz-border-radius: 0px 3px 3px 0px; -webkit-border-radius: 0px 3px 3px 0px; -ms-border-radius: 0px 3px 3px 0px;}
-.highcontrastSkin .mceListBox:focus a.mceText, .highcontrastSkin .mceListBox:active a.mceText { border-width: 5px; padding: 1px 10px 1px 6px;}
-.highcontrastSkin .mceListBox:focus a.mceOpen, .highcontrastSkin .mceListBox:active a.mceOpen { border-width: 5px; padding: 1px 0px 1px 4px;}
-
-.highcontrastSkin .mceListBoxMenu {overflow-y:auto}
-
-/* SplitButton */
-.highcontrastSkin .mceSplitButtonDisabled .mceAction {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)}
-
-.highcontrastSkin .mceSplitButton { border-collapse: collapse; margin: 2px; height: 2em; line-height: 2em;-webkit-focus-ring-color:none;outline:none;}
-.highcontrastSkin .mceSplitButton td { display: table-cell; float: none; margin: 0; padding: 0; height: 2em;}
-.highcontrastSkin .mceSplitButton tr { display: table-row; }
-.highcontrastSkin table.mceSplitButton  { display: table; }
-.highcontrastSkin .mceSplitButton a.mceAction { padding: 5px 10px; display: block; height: 2em; line-height: 2em; overflow: hidden; border: 1px solid; border-right: 0; border-radius: 3px 0px 0px 3px; -moz-border-radius: 3px 0px 0px 3px; -webkit-border-radius: 3px 0px 0px 3px; -ms-border-radius: 3px 0px 0px 3px;}
-.highcontrastSkin .mceSplitButton a.mceOpen { padding: 5px 4px;  display: block; height: 2em; line-height: 2em; border: 1px solid; border-radius: 0px 3px 3px 0px; -moz-border-radius: 0px 3px 3px 0px; -webkit-border-radius: 0px 3px 3px 0px; -ms-border-radius: 0px 3px 3px 0px;}
-.highcontrastSkin .mceSplitButton .mceVoiceLabel { height: 2em; vertical-align: center; line-height: 2em; } 
-.highcontrastSkin .mceSplitButton:focus a.mceAction, .highcontrastSkin .mceSplitButton:active a.mceAction { border-width: 5px; border-right-width: 1px; padding: 1px 10px 1px 6px;-webkit-focus-ring-color:none;outline:none;}
-.highcontrastSkin .mceSplitButton:focus a.mceOpen, .highcontrastSkin .mceSplitButton:active a.mceOpen { border-width: 5px; border-left-width: 1px; padding: 1px 0px 1px 4px;-webkit-focus-ring-color:none;outline:none;}
-
-/* Menu */
-.highcontrastSkin .mceNoIcons span.mceIcon {width:0;}
-.highcontrastSkin .mceMenu {position:absolute; left:0; top:0; z-index:1000; border:1px solid; direction:ltr}
-.highcontrastSkin .mceMenu table {background:white; color: black}
-.highcontrastSkin .mceNoIcons a .mceText {padding-left:10px}
-.highcontrastSkin .mceMenu a, .highcontrastSkin .mceMenu span, .highcontrastSkin .mceMenu {display:block;background:white; color: black}
-.highcontrastSkin .mceMenu td {height:2em}
-.highcontrastSkin .mceMenu a {position:relative;padding:3px 0 4px 0; display: block;}
-.highcontrastSkin .mceMenu .mceText {position:relative; display:block; cursor:default; margin:0; padding:0 25px 0 25px;}
-.highcontrastSkin .mceMenu pre.mceText {font-family:Monospace}
-.highcontrastSkin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:26px;}
-.highcontrastSkin td.mceMenuItemSeparator {border-top:1px solid; height:1px}
-.highcontrastSkin .mceMenuItemTitle a {border:0; border-bottom:1px solid}
-.highcontrastSkin .mceMenuItemTitle span.mceText {font-weight:bold; padding-left:4px}
-.highcontrastSkin .mceNoIcons .mceMenuItemSelected span.mceText:before {content: "\2713\A0";}
-.highcontrastSkin .mceMenu span.mceMenuLine {display:none}
-.highcontrastSkin .mceMenuItemSub a .mceText:after {content: "\A0\25B8"}
-.highcontrastSkin .mceMenuItem td, .highcontrastSkin .mceMenuItem th {line-height: normal}
-
-/* ColorSplitButton */
-.highcontrastSkin div.mceColorSplitMenu table {background:#FFF; border:1px solid; color: #000}
-.highcontrastSkin .mceColorSplitMenu td {padding:2px}
-.highcontrastSkin .mceColorSplitMenu a {display:block; width:16px; height:16px; overflow:hidden; color:#000; margin: 0; padding: 0;}
-.highcontrastSkin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px}
-.highcontrastSkin .mceColorSplitMenu a.mceMoreColors {width:100%; height:auto; text-align:center; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; line-height:20px; border:1px solid #FFF}
-.highcontrastSkin .mceColorSplitMenu a.mceMoreColors:hover {border:1px solid; background-color:#B6BDD2}
-.highcontrastSkin a.mceMoreColors:hover {border:1px solid #0A246A; color: #000;}
-.highcontrastSkin .mceColorPreview {display:none;}
-.highcontrastSkin .mce_forecolor span.mceAction, .highcontrastSkin .mce_backcolor span.mceAction {height:17px;overflow:hidden}
-
-/* Progress,Resize */
-.highcontrastSkin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=50); background:#FFF}
-.highcontrastSkin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(../default/img/progress.gif) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px}
-
-/* Rtl */
-.mceRtl .mceListBox .mceText {text-align: right; padding: 0 4px 0 0}
-.mceRtl .mceMenuItem .mceText {text-align: right}
-
-/* Formats */
-.highcontrastSkin .mce_p span.mceText {}
-.highcontrastSkin .mce_address span.mceText {font-style:italic}
-.highcontrastSkin .mce_pre span.mceText {font-family:monospace}
-.highcontrastSkin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em}
-.highcontrastSkin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em}
-.highcontrastSkin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em}
-.highcontrastSkin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em}
-.highcontrastSkin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em}
-.highcontrastSkin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em}
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/content.css b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/content.css
deleted file mode 100644 (file)
index 631fa0e..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-body, td, pre {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;}
-body {background:#FFF;}
-body.mceForceColors {background:#FFF; color:#000;}
-h1 {font-size: 2em}
-h2 {font-size: 1.5em}
-h3 {font-size: 1.17em}
-h4 {font-size: 1em}
-h5 {font-size: .83em}
-h6 {font-size: .75em}
-.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;}
-a.mceItemAnchor {display:inline-block; width:11px !important; height:11px  !important; background:url(../default/img/items.gif) no-repeat 0 0;}
-span.mceItemNbsp {background: #DDD}
-td.mceSelected, th.mceSelected {background-color:#3399ff !important}
-img {border:0;}
-table, img, hr, .mceItemAnchor {cursor:default}
-table td, table th {cursor:text}
-ins {border-bottom:1px solid green; text-decoration: none; color:green}
-del {color:red; text-decoration:line-through}
-cite {border-bottom:1px dashed blue}
-acronym {border-bottom:1px dotted #CCC; cursor:help}
-abbr {border-bottom:1px dashed #CCC; cursor:help}
-
-/* IE */
-* html body {
-scrollbar-3dlight-color:#F0F0EE;
-scrollbar-arrow-color:#676662;
-scrollbar-base-color:#F0F0EE;
-scrollbar-darkshadow-color:#DDD;
-scrollbar-face-color:#E0E0DD;
-scrollbar-highlight-color:#F0F0EE;
-scrollbar-shadow-color:#F0F0EE;
-scrollbar-track-color:#F5F5F5;
-}
-
-img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px}
-font[face=mceinline] {font-family:inherit !important}
-*[contentEditable]:focus {outline:0}
-
-.mceItemMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc}
-.mceItemShockWave {background-image:url(../../img/shockwave.gif)}
-.mceItemFlash {background-image:url(../../img/flash.gif)}
-.mceItemQuickTime {background-image:url(../../img/quicktime.gif)}
-.mceItemWindowsMedia {background-image:url(../../img/windowsmedia.gif)}
-.mceItemRealMedia {background-image:url(../../img/realmedia.gif)}
-.mceItemVideo {background-image:url(../../img/video.gif)}
-.mceItemAudio {background-image:url(../../img/video.gif)}
-.mceItemIframe {background-image:url(../../img/iframe.gif)}
-.mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../../img/pagebreak.gif) no-repeat center top;}
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/dialog.css b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/dialog.css
deleted file mode 100644 (file)
index 84d2fe9..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Generic */
-body {
-font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px;
-scrollbar-3dlight-color:#F0F0EE;
-scrollbar-arrow-color:#676662;
-scrollbar-base-color:#F0F0EE;
-scrollbar-darkshadow-color:#DDDDDD;
-scrollbar-face-color:#E0E0DD;
-scrollbar-highlight-color:#F0F0EE;
-scrollbar-shadow-color:#F0F0EE;
-scrollbar-track-color:#F5F5F5;
-background:#F0F0EE;
-padding:0;
-margin:8px 8px 0 8px;
-}
-
-html {background:#F0F0EE;}
-td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;}
-textarea {resize:none;outline:none;}
-a:link, a:visited {color:black;}
-a:hover {color:#2B6FB6;}
-.nowrap {white-space: nowrap}
-
-/* Forms */
-fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;}
-legend {color:#2B6FB6; font-weight:bold;}
-label.msg {display:none;}
-label.invalid {color:#EE0000; display:inline;}
-input.invalid {border:1px solid #EE0000;}
-input {background:#FFF; border:1px solid #CCC;}
-input, select, textarea {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;}
-input, select, textarea {border:1px solid #808080;}
-input.radio {border:1px none #000000; background:transparent; vertical-align:middle;}
-input.checkbox {border:1px none #000000; background:transparent; vertical-align:middle;}
-.input_noborder {border:0;}
-
-/* Buttons */
-#insert, #cancel, input.button, .updateButton {
-border:0; margin:0; padding:0;
-font-weight:bold;
-width:94px; height:26px;
-background:url(../default/img/buttons.png) 0 -26px;
-cursor:pointer;
-padding-bottom:2px;
-float:left;
-}
-
-#insert {background:url(../default/img/buttons.png) 0 -52px}
-#cancel {background:url(../default/img/buttons.png) 0 0; float:right}
-
-/* Browse */
-a.pickcolor, a.browse {text-decoration:none}
-a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.gif) -860px 0; border:1px solid #FFF; margin-left:1px;}
-.mceOldBoxModel a.browse span {width:22px; height:20px;}
-a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;}
-a.browse span.disabled {border:1px solid white; opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)}
-a.browse:hover span.disabled {border:1px solid white; background-color:transparent;}
-a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.gif) -840px 0; margin-left:2px;}
-.mceOldBoxModel a.pickcolor span {width:21px; height:17px;}
-a.pickcolor:hover span {background-color:#B2BBD0;}
-a.pickcolor:hover span.disabled {}
-
-/* Charmap */
-table.charmap {border:1px solid #AAA; text-align:center}
-td.charmap, #charmap a {width:18px; height:18px; color:#000; border:1px solid #AAA; text-align:center; font-size:12px; vertical-align:middle; line-height: 18px;}
-#charmap a {display:block; color:#000; text-decoration:none; border:0}
-#charmap a:hover {background:#CCC;color:#2B6FB6}
-#charmap #codeN {font-size:10px; font-family:Arial,Helvetica,sans-serif; text-align:center}
-#charmap #codeV {font-size:40px; height:80px; border:1px solid #AAA; text-align:center}
-
-/* Source */
-.wordWrapCode {vertical-align:middle; border:1px none #000000; background:transparent;}
-.mceActionPanel {margin-top:5px;}
-
-/* Tabs classes */
-.tabs {width:100%; height:18px; line-height:normal; background:url(../default/img/tabs.gif) repeat-x 0 -72px;}
-.tabs ul {margin:0; padding:0; list-style:none;}
-.tabs li {float:left; background:url(../default/img/tabs.gif) no-repeat 0 0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block;}
-.tabs li.current {background:url(../default/img/tabs.gif) no-repeat 0 -18px; margin-right:2px;}
-.tabs span {float:left; display:block; background:url(../default/img/tabs.gif) no-repeat right -36px; padding:0px 10px 0 0;}
-.tabs .current span {background:url(../default/img/tabs.gif) no-repeat right -54px;}
-.tabs a {text-decoration:none; font-family:Verdana, Arial; font-size:10px;}
-.tabs a:link, .tabs a:visited, .tabs a:hover {color:black;}
-
-/* Panels */
-.panel_wrapper div.panel {display:none;}
-.panel_wrapper div.current {display:block; width:100%; height:300px; overflow:visible;}
-.panel_wrapper {border:1px solid #919B9C; border-top:0px; padding:10px; padding-top:5px; clear:both; background:white;}
-
-/* Columns */
-.column {float:left;}
-.properties {width:100%;}
-.properties .column1 {}
-.properties .column2 {text-align:left;}
-
-/* Titles */
-h1, h2, h3, h4 {color:#2B6FB6; margin:0; padding:0; padding-top:5px;}
-h3 {font-size:14px;}
-.title {font-size:12px; font-weight:bold; color:#2B6FB6;}
-
-/* Dialog specific */
-#link .panel_wrapper, #link div.current {height:125px;}
-#image .panel_wrapper, #image div.current {height:200px;}
-#plugintable thead {font-weight:bold; background:#DDD;}
-#plugintable, #about #plugintable td {border:1px solid #919B9C;}
-#plugintable {width:96%; margin-top:10px;}
-#pluginscontainer {height:290px; overflow:auto;}
-#colorpicker #preview {display:inline-block; padding-left:40px; height:14px; border:1px solid black; margin-left:5px; margin-right: 5px}
-#colorpicker #previewblock {position: relative; top: -3px; padding-left:5px; padding-top: 0px; display:inline}
-#colorpicker #preview_wrapper { text-align:center; padding-top:4px; white-space: nowrap}
-#colorpicker #colors {float:left; border:1px solid gray; cursor:crosshair;}
-#colorpicker #light {border:1px solid gray; margin-left:5px; float:left;width:15px; height:150px; cursor:crosshair;}
-#colorpicker #light div {overflow:hidden;}
-#colorpicker .panel_wrapper div.current {height:175px;}
-#colorpicker #namedcolors {width:150px;}
-#colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;}
-#colorpicker #colornamecontainer {margin-top:5px;}
-#colorpicker #picker_panel fieldset {margin:auto;width:325px;}
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg.png b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg.png
deleted file mode 100644 (file)
index 13a5cb0..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png
deleted file mode 100644 (file)
index 7fc57f2..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png
deleted file mode 100644 (file)
index c0dcc6c..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui.css b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui.css
deleted file mode 100644 (file)
index abd5d8d..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-/* Reset */
-.o2k7Skin table, .o2k7Skin tbody, .o2k7Skin a, .o2k7Skin img, .o2k7Skin tr, .o2k7Skin div, .o2k7Skin td, .o2k7Skin iframe, .o2k7Skin span, .o2k7Skin *, .o2k7Skin .mceText {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000; vertical-align:baseline; width:auto; border-collapse:separate; text-align:left}
-.o2k7Skin a:hover, .o2k7Skin a:link, .o2k7Skin a:visited, .o2k7Skin a:active {text-decoration:none; font-weight:normal; cursor:default; color:#000}
-.o2k7Skin table td {vertical-align:middle}
-
-/* Containers */
-.o2k7Skin table {background:transparent}
-.o2k7Skin iframe {display:block;}
-.o2k7Skin .mceToolbar {height:26px}
-
-/* External */
-.o2k7Skin .mceExternalToolbar {position:absolute; border:1px solid #ABC6DD; border-bottom:0; display:none}
-.o2k7Skin .mceExternalToolbar td.mceToolbar {padding-right:13px;}
-.o2k7Skin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px; background:url(../../img/icons.gif) -820px 0}
-
-/* Layout */
-.o2k7Skin table.mceLayout {border:0; border-left:1px solid #ABC6DD; border-right:1px solid #ABC6DD}
-.o2k7Skin table.mceLayout tr.mceFirst td {border-top:1px solid #ABC6DD}
-.o2k7Skin table.mceLayout tr.mceLast td {border-bottom:1px solid #ABC6DD}
-.o2k7Skin table.mceToolbar, .o2k7Skin tr.mceFirst .mceToolbar tr td, .o2k7Skin tr.mceLast .mceToolbar tr td {border:0; margin:0; padding:0}
-.o2k7Skin .mceIframeContainer {border-top:1px solid #ABC6DD; border-bottom:1px solid #ABC6DD}
-.o2k7Skin td.mceToolbar{background:#E5EFFD}
-.o2k7Skin .mceStatusbar {background:#E5EFFD; display:block; font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:9pt; line-height:16px; overflow:visible; color:#000; height:20px}
-.o2k7Skin .mceStatusbar div {float:left; padding:2px}
-.o2k7Skin .mceStatusbar a.mceResize {display:block; float:right; background:url(../../img/icons.gif) -800px 0; width:20px; height:20px; cursor:se-resize; outline:0}
-.o2k7Skin .mceStatusbar a:hover {text-decoration:underline}
-.o2k7Skin table.mceToolbar {margin-left:3px}
-.o2k7Skin .mceToolbar .mceToolbarStart span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px; margin-left:3px;}
-.o2k7Skin .mceToolbar td.mceFirst span {margin:0}
-.o2k7Skin .mceToolbar .mceToolbarEnd span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px}
-.o2k7Skin .mceToolbar .mceToolbarEndListBox span, .o2k7Skin .mceToolbar .mceToolbarStartListBox span {display:none}
-.o2k7Skin span.mceIcon, .o2k7Skin img.mceIcon {display:block; width:20px; height:20px}
-.o2k7Skin .mceIcon {background:url(../../img/icons.gif) no-repeat 20px 20px}
-.o2k7Skin td.mceCenter {text-align:center;}
-.o2k7Skin td.mceCenter table {margin:0 auto; text-align:left;}
-.o2k7Skin td.mceRight table {margin:0 0 0 auto;}
-
-/* Button */
-.o2k7Skin .mceButton {display:block; background:url(img/button_bg.png); width:22px; height:22px}
-.o2k7Skin a.mceButton span, .o2k7Skin a.mceButton img {margin-left:1px}
-.o2k7Skin .mceOldBoxModel a.mceButton span, .o2k7Skin .mceOldBoxModel a.mceButton img {margin:0 0 0 1px}
-.o2k7Skin a.mceButtonEnabled:hover {background-color:#B2BBD0; background-position:0 -22px}
-.o2k7Skin a.mceButtonActive, .o2k7Skin a.mceButtonSelected {background-position:0 -44px}
-.o2k7Skin .mceButtonDisabled .mceIcon {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)}
-.o2k7Skin .mceButtonLabeled {width:auto}
-.o2k7Skin .mceButtonLabeled span.mceIcon {float:left}
-.o2k7Skin span.mceButtonLabel {display:block; font-size:10px; padding:4px 6px 0 22px; font-family:Tahoma,Verdana,Arial,Helvetica}
-.o2k7Skin .mceButtonDisabled .mceButtonLabel {color:#888}
-
-/* Separator */
-.o2k7Skin .mceSeparator {display:block; background:url(img/button_bg.png) -22px 0; width:5px; height:22px}
-
-/* ListBox */
-.o2k7Skin .mceListBox  {padding-left: 3px}
-.o2k7Skin .mceListBox, .o2k7Skin .mceListBox a {display:block}
-.o2k7Skin .mceListBox .mceText {padding-left:4px; text-align:left; width:70px; border:1px solid #b3c7e1; border-right:0; background:#eaf2fb; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; height:20px; line-height:20px; overflow:hidden}
-.o2k7Skin .mceListBox .mceOpen {width:14px; height:22px; background:url(img/button_bg.png) -66px 0}
-.o2k7Skin table.mceListBoxEnabled:hover .mceText, .o2k7Skin .mceListBoxHover .mceText, .o2k7Skin .mceListBoxSelected .mceText {background:#FFF}
-.o2k7Skin table.mceListBoxEnabled:hover .mceOpen, .o2k7Skin .mceListBoxHover .mceOpen, .o2k7Skin .mceListBoxSelected .mceOpen {background-position:-66px -22px}
-.o2k7Skin .mceListBoxDisabled .mceText {color:gray}
-.o2k7Skin .mceListBoxMenu {overflow:auto; overflow-x:hidden; margin-left:3px}
-.o2k7Skin .mceOldBoxModel .mceListBox .mceText {height:22px}
-.o2k7Skin select.mceListBox {font-family:Tahoma,Verdana,Arial,Helvetica; font-size:12px; border:1px solid #b3c7e1; background:#FFF;}
-
-/* SplitButton */
-.o2k7Skin .mceSplitButton, .o2k7Skin .mceSplitButton a, .o2k7Skin .mceSplitButton span {display:block; height:22px; direction:ltr}
-.o2k7Skin .mceSplitButton {background:url(img/button_bg.png)}
-.o2k7Skin .mceSplitButton a.mceAction {width:22px}
-.o2k7Skin .mceSplitButton span.mceAction {width:22px; background-image:url(../../img/icons.gif)}
-.o2k7Skin .mceSplitButton a.mceOpen {width:10px; background:url(img/button_bg.png) -44px 0}
-.o2k7Skin .mceSplitButton span.mceOpen {display:none}
-.o2k7Skin table.mceSplitButtonEnabled:hover a.mceAction, .o2k7Skin .mceSplitButtonHover a.mceAction, .o2k7Skin .mceSplitButtonSelected {background:url(img/button_bg.png) 0 -22px}
-.o2k7Skin table.mceSplitButtonEnabled:hover a.mceOpen, .o2k7Skin .mceSplitButtonHover a.mceOpen, .o2k7Skin .mceSplitButtonSelected a.mceOpen {background-position:-44px -44px}
-.o2k7Skin .mceSplitButtonDisabled .mceAction {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)}
-.o2k7Skin .mceSplitButtonActive {background-position:0 -44px}
-
-/* ColorSplitButton */
-.o2k7Skin div.mceColorSplitMenu table {background:#FFF; border:1px solid gray}
-.o2k7Skin .mceColorSplitMenu td {padding:2px}
-.o2k7Skin .mceColorSplitMenu a {display:block; width:9px; height:9px; overflow:hidden; border:1px solid #808080}
-.o2k7Skin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px}
-.o2k7Skin .mceColorSplitMenu a.mceMoreColors {width:100%; height:auto; text-align:center; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; line-height:20px; border:1px solid #FFF}
-.o2k7Skin .mceColorSplitMenu a.mceMoreColors:hover {border:1px solid #0A246A; background-color:#B6BDD2}
-.o2k7Skin a.mceMoreColors:hover {border:1px solid #0A246A}
-.o2k7Skin .mceColorPreview {margin-left:2px; width:16px; height:4px; overflow:hidden; background:#9a9b9a;overflow:hidden}
-.o2k7Skin .mce_forecolor span.mceAction, .o2k7Skin .mce_backcolor span.mceAction {height:15px;overflow:hidden}
-
-/* Menu */
-.o2k7Skin .mceMenu {position:absolute; left:0; top:0; z-index:1000; border:1px solid #ABC6DD; direction:ltr}
-.o2k7Skin .mceNoIcons span.mceIcon {width:0;}
-.o2k7Skin .mceNoIcons a .mceText {padding-left:10px}
-.o2k7Skin .mceMenu table {background:#FFF}
-.o2k7Skin .mceMenu a, .o2k7Skin .mceMenu span, .o2k7Skin .mceMenu {display:block}
-.o2k7Skin .mceMenu td {height:20px}
-.o2k7Skin .mceMenu a {position:relative;padding:3px 0 4px 0}
-.o2k7Skin .mceMenu .mceText {position:relative; display:block; font-family:Tahoma,Verdana,Arial,Helvetica; color:#000; cursor:default; margin:0; padding:0 25px 0 25px; display:block}
-.o2k7Skin .mceMenu span.mceText, .o2k7Skin .mceMenu .mcePreview {font-size:11px}
-.o2k7Skin .mceMenu pre.mceText {font-family:Monospace}
-.o2k7Skin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:22px;}
-.o2k7Skin .mceMenu .mceMenuItemEnabled a:hover, .o2k7Skin .mceMenu .mceMenuItemActive {background-color:#dbecf3}
-.o2k7Skin td.mceMenuItemSeparator {background:#DDD; height:1px}
-.o2k7Skin .mceMenuItemTitle a {border:0; background:#E5EFFD; border-bottom:1px solid #ABC6DD}
-.o2k7Skin .mceMenuItemTitle span.mceText {color:#000; font-weight:bold; padding-left:4px}
-.o2k7Skin .mceMenuItemDisabled .mceText {color:#888}
-.o2k7Skin .mceMenuItemSelected .mceIcon {background:url(../default/img/menu_check.gif)}
-.o2k7Skin .mceNoIcons .mceMenuItemSelected a {background:url(../default/img/menu_arrow.gif) no-repeat -6px center}
-.o2k7Skin .mceMenu span.mceMenuLine {display:none}
-.o2k7Skin .mceMenuItemSub a {background:url(../default/img/menu_arrow.gif) no-repeat top right;}
-.o2k7Skin .mceMenuItem td, .o2k7Skin .mceMenuItem th {line-height: normal}
-
-/* Progress,Resize */
-.o2k7Skin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=50); background:#FFF}
-.o2k7Skin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(../default/img/progress.gif) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px}
-
-/* Rtl */
-.mceRtl .mceListBox .mceText {text-align: right; padding: 0 4px 0 0}
-.mceRtl .mceMenuItem .mceText {text-align: right}
-
-/* Formats */
-.o2k7Skin .mce_formatPreview a {font-size:10px}
-.o2k7Skin .mce_p span.mceText {}
-.o2k7Skin .mce_address span.mceText {font-style:italic}
-.o2k7Skin .mce_pre span.mceText {font-family:monospace}
-.o2k7Skin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em}
-.o2k7Skin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em}
-.o2k7Skin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em}
-.o2k7Skin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em}
-.o2k7Skin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em}
-.o2k7Skin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em}
-
-/* Theme */
-.o2k7Skin span.mce_bold {background-position:0 0}
-.o2k7Skin span.mce_italic {background-position:-60px 0}
-.o2k7Skin span.mce_underline {background-position:-140px 0}
-.o2k7Skin span.mce_strikethrough {background-position:-120px 0}
-.o2k7Skin span.mce_undo {background-position:-160px 0}
-.o2k7Skin span.mce_redo {background-position:-100px 0}
-.o2k7Skin span.mce_cleanup {background-position:-40px 0}
-.o2k7Skin span.mce_bullist {background-position:-20px 0}
-.o2k7Skin span.mce_numlist {background-position:-80px 0}
-.o2k7Skin span.mce_justifyleft {background-position:-460px 0}
-.o2k7Skin span.mce_justifyright {background-position:-480px 0}
-.o2k7Skin span.mce_justifycenter {background-position:-420px 0}
-.o2k7Skin span.mce_justifyfull {background-position:-440px 0}
-.o2k7Skin span.mce_anchor {background-position:-200px 0}
-.o2k7Skin span.mce_indent {background-position:-400px 0}
-.o2k7Skin span.mce_outdent {background-position:-540px 0}
-.o2k7Skin span.mce_link {background-position:-500px 0}
-.o2k7Skin span.mce_unlink {background-position:-640px 0}
-.o2k7Skin span.mce_sub {background-position:-600px 0}
-.o2k7Skin span.mce_sup {background-position:-620px 0}
-.o2k7Skin span.mce_removeformat {background-position:-580px 0}
-.o2k7Skin span.mce_newdocument {background-position:-520px 0}
-.o2k7Skin span.mce_image {background-position:-380px 0}
-.o2k7Skin span.mce_help {background-position:-340px 0}
-.o2k7Skin span.mce_code {background-position:-260px 0}
-.o2k7Skin span.mce_hr {background-position:-360px 0}
-.o2k7Skin span.mce_visualaid {background-position:-660px 0}
-.o2k7Skin span.mce_charmap {background-position:-240px 0}
-.o2k7Skin span.mce_paste {background-position:-560px 0}
-.o2k7Skin span.mce_copy {background-position:-700px 0}
-.o2k7Skin span.mce_cut {background-position:-680px 0}
-.o2k7Skin span.mce_blockquote {background-position:-220px 0}
-.o2k7Skin .mce_forecolor span.mceAction {background-position:-720px 0}
-.o2k7Skin .mce_backcolor span.mceAction {background-position:-760px 0}
-.o2k7Skin span.mce_forecolorpicker {background-position:-720px 0}
-.o2k7Skin span.mce_backcolorpicker {background-position:-760px 0}
-
-/* Plugins */
-.o2k7Skin span.mce_advhr {background-position:-0px -20px}
-.o2k7Skin span.mce_ltr {background-position:-20px -20px}
-.o2k7Skin span.mce_rtl {background-position:-40px -20px}
-.o2k7Skin span.mce_emotions {background-position:-60px -20px}
-.o2k7Skin span.mce_fullpage {background-position:-80px -20px}
-.o2k7Skin span.mce_fullscreen {background-position:-100px -20px}
-.o2k7Skin span.mce_iespell {background-position:-120px -20px}
-.o2k7Skin span.mce_insertdate {background-position:-140px -20px}
-.o2k7Skin span.mce_inserttime {background-position:-160px -20px}
-.o2k7Skin span.mce_absolute {background-position:-180px -20px}
-.o2k7Skin span.mce_backward {background-position:-200px -20px}
-.o2k7Skin span.mce_forward {background-position:-220px -20px}
-.o2k7Skin span.mce_insert_layer {background-position:-240px -20px}
-.o2k7Skin span.mce_insertlayer {background-position:-260px -20px}
-.o2k7Skin span.mce_movebackward {background-position:-280px -20px}
-.o2k7Skin span.mce_moveforward {background-position:-300px -20px}
-.o2k7Skin span.mce_media {background-position:-320px -20px}
-.o2k7Skin span.mce_nonbreaking {background-position:-340px -20px}
-.o2k7Skin span.mce_pastetext {background-position:-360px -20px}
-.o2k7Skin span.mce_pasteword {background-position:-380px -20px}
-.o2k7Skin span.mce_selectall {background-position:-400px -20px}
-.o2k7Skin span.mce_preview {background-position:-420px -20px}
-.o2k7Skin span.mce_print {background-position:-440px -20px}
-.o2k7Skin span.mce_cancel {background-position:-460px -20px}
-.o2k7Skin span.mce_save {background-position:-480px -20px}
-.o2k7Skin span.mce_replace {background-position:-500px -20px}
-.o2k7Skin span.mce_search {background-position:-520px -20px}
-.o2k7Skin span.mce_styleprops {background-position:-560px -20px}
-.o2k7Skin span.mce_table {background-position:-580px -20px}
-.o2k7Skin span.mce_cell_props {background-position:-600px -20px}
-.o2k7Skin span.mce_delete_table {background-position:-620px -20px}
-.o2k7Skin span.mce_delete_col {background-position:-640px -20px}
-.o2k7Skin span.mce_delete_row {background-position:-660px -20px}
-.o2k7Skin span.mce_col_after {background-position:-680px -20px}
-.o2k7Skin span.mce_col_before {background-position:-700px -20px}
-.o2k7Skin span.mce_row_after {background-position:-720px -20px}
-.o2k7Skin span.mce_row_before {background-position:-740px -20px}
-.o2k7Skin span.mce_merge_cells {background-position:-760px -20px}
-.o2k7Skin span.mce_table_props {background-position:-980px -20px}
-.o2k7Skin span.mce_row_props {background-position:-780px -20px}
-.o2k7Skin span.mce_split_cells {background-position:-800px -20px}
-.o2k7Skin span.mce_template {background-position:-820px -20px}
-.o2k7Skin span.mce_visualchars {background-position:-840px -20px}
-.o2k7Skin span.mce_abbr {background-position:-860px -20px}
-.o2k7Skin span.mce_acronym {background-position:-880px -20px}
-.o2k7Skin span.mce_attribs {background-position:-900px -20px}
-.o2k7Skin span.mce_cite {background-position:-920px -20px}
-.o2k7Skin span.mce_del {background-position:-940px -20px}
-.o2k7Skin span.mce_ins {background-position:-960px -20px}
-.o2k7Skin span.mce_pagebreak {background-position:0 -40px}
-.o2k7Skin span.mce_restoredraft {background-position:-20px -40px}
-.o2k7Skin span.mce_spellchecker {background-position:-540px -20px}
-.o2k7Skin span.mce_visualblocks {background-position: -40px -40px}
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_black.css b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_black.css
deleted file mode 100644 (file)
index 85812cd..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-/* Black */
-.o2k7SkinBlack .mceToolbar .mceToolbarStart span, .o2k7SkinBlack .mceToolbar .mceToolbarEnd span, .o2k7SkinBlack .mceButton, .o2k7SkinBlack .mceSplitButton, .o2k7SkinBlack .mceSeparator, .o2k7SkinBlack .mceSplitButton a.mceOpen, .o2k7SkinBlack .mceListBox a.mceOpen {background-image:url(img/button_bg_black.png)}
-.o2k7SkinBlack td.mceToolbar, .o2k7SkinBlack td.mceStatusbar, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack .mceMenuItemTitle span.mceText, .o2k7SkinBlack .mceStatusbar div, .o2k7SkinBlack .mceStatusbar span, .o2k7SkinBlack .mceStatusbar a {background:#535353; color:#FFF}
-.o2k7SkinBlack table.mceListBoxEnabled .mceText, o2k7SkinBlack .mceListBox .mceText {background:#FFF; border:1px solid #CBCFD4; border-bottom-color:#989FA9; border-right:0}
-.o2k7SkinBlack table.mceListBoxEnabled:hover .mceText, .o2k7SkinBlack .mceListBoxHover .mceText, .o2k7SkinBlack .mceListBoxSelected .mceText {background:#FFF; border:1px solid #FFBD69; border-right:0}
-.o2k7SkinBlack .mceExternalToolbar, .o2k7SkinBlack .mceListBox .mceText, .o2k7SkinBlack div.mceMenu, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceFirst td, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceLast td, .o2k7SkinBlack .mceIframeContainer {border-color: #535353;}
-.o2k7SkinBlack table.mceSplitButtonEnabled:hover a.mceAction, .o2k7SkinBlack .mceSplitButtonHover a.mceAction, .o2k7SkinBlack .mceSplitButtonSelected {background-image:url(img/button_bg_black.png)}
-.o2k7SkinBlack .mceMenu .mceMenuItemEnabled a:hover, .o2k7SkinBlack .mceMenu .mceMenuItemActive {background-color:#FFE7A1}
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_silver.css b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_silver.css
deleted file mode 100644 (file)
index d64c361..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-/* Silver */
-.o2k7SkinSilver .mceToolbar .mceToolbarStart span, .o2k7SkinSilver .mceButton, .o2k7SkinSilver .mceSplitButton, .o2k7SkinSilver .mceSeparator, .o2k7SkinSilver .mceSplitButton a.mceOpen, .o2k7SkinSilver .mceListBox a.mceOpen {background-image:url(img/button_bg_silver.png)}
-.o2k7SkinSilver td.mceToolbar, .o2k7SkinSilver td.mceStatusbar, .o2k7SkinSilver .mceMenuItemTitle a {background:#eee}
-.o2k7SkinSilver .mceListBox .mceText {background:#FFF}
-.o2k7SkinSilver .mceExternalToolbar, .o2k7SkinSilver .mceListBox .mceText, .o2k7SkinSilver div.mceMenu, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceFirst td, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceLast td, .o2k7SkinSilver .mceIframeContainer {border-color: #bbb}
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css b/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css
deleted file mode 100644 (file)
index 26a847a..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-body.mceForceColors {background:#FFF; color:#000;}
-body.mceBrowserDefaults {background:transparent; color:inherit; font-size:inherit; font-family:inherit;}
-td {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;}
-h1 {font-size: 2em}
-h2 {font-size: 1.5em}
-h3 {font-size: 1.17em}
-h4 {font-size: 1em}
-h5 {font-size: .83em}
-h6 {font-size: .75em}
-.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;}
-a.mceItemAnchor {display:inline-block; -webkit-user-select:all; -webkit-user-modify:read-only; -moz-user-select:all; -moz-user-modify:read-only; width:11px !important; height:11px !important; background:url(../default/img/items.gif) no-repeat center center}
-span.mceItemNbsp {background: #DDD}
-td.mceSelected, th.mceSelected {background-color:#3399ff !important}
-img {border:0;}
-table, img, hr, .mceItemAnchor {cursor:default}
-table td, table th {cursor:text}
-ins {border-bottom:1px solid green; text-decoration: none; color:green}
-del {color:red; text-decoration:line-through}
-cite {border-bottom:1px dashed blue}
-acronym {border-bottom:1px dotted #CCC; cursor:help}
-abbr {border-bottom:1px dashed #CCC; cursor:help}
-
-img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px}
-font[face=mceinline] {font-family:inherit !important}
-*[contentEditable]:focus {outline:0}
-
-.mceItemMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc}
-.mceItemShockWave {background-image:url(../../img/shockwave.gif)}
-.mceItemFlash {background-image:url(../../img/flash.gif)}
-.mceItemQuickTime {background-image:url(../../img/quicktime.gif)}
-.mceItemWindowsMedia {background-image:url(../../img/windowsmedia.gif)}
-.mceItemRealMedia {background-image:url(../../img/realmedia.gif)}
-.mceItemVideo {background-image:url(../../img/video.gif)}
-.mceItemAudio {background-image:url(../../img/video.gif)}
-.mceItemIframe {background-image:url(../../img/iframe.gif)}
-.mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../../img/pagebreak.gif) no-repeat center top;}
-
-/* WordPress styles */
-body {
-       font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif;
-       font-size: 14px;
-       line-height: 1.5em;
-       color: #333;
-       background-color: #fff;
-       margin: 0;
-       padding: 10px;
-}
-
-p {
-       margin-bottom: 1.3em;
-}
-
-.aligncenter,
-dl.aligncenter {
-       display: block;
-       margin-left: auto;
-       margin-right: auto;
-}
-
-.alignleft {
-       float: left;
-}
-
-.alignright {
-       float: right;
-}
-
-.wp-caption {
-       border: 1px solid #ddd;
-       text-align: center;
-       background-color: #f3f3f3;
-       padding-top: 4px;
-       margin: 10px 0;
-       -webkit-border-radius: 3px;
-       border-radius: 3px;
-}
-
-.mceIEcenter {
-       text-align: center;
-}
-
-.wp-caption img {
-       margin: 0;
-       padding: 0;
-       border: 0 none;
-       -webkit-user-drag: none;
-}
-
-.wp-caption-dd {
-       font-size: 11px;
-       line-height: 1.5;
-       padding: 0 4px 5px;
-       margin: 0;
-}
-
-pre {
-       font: 12px/18px Consolas, Monaco, monospace;
-}
-
-td {
-       color: #000;
-       font-size: 11px;
-       margin: 8px;
-}
-
-/* Styles for the WordPress plugins */
-img.mce-wp-nextpage,
-img.mce-wp-more {
-       border: 0;
-       border-top: 1px dotted #cccccc;
-       display: block;
-       height: 12px;
-       width: 100%;
-       margin: 1.2em auto 0;
-}
-
-img.mce-wp-more {
-       background: transparent url("img/mce-more.png") no-repeat right top;
-       background-size: 52px 11px;
-}
-
-img.mce-wp-nextpage {
-       background: transparent url("img/mce-nextpage.png") no-repeat right top;
-       background-size: 76px 11px;
-}
-
-
-img.wp-gallery {
-       border: 1px dashed #888;
-       background: #f2f8ff url("img/gallery.png") no-repeat scroll center center;
-       background-size: 40px 40px;
-       width: 100%;
-       height: 250px;
-}
-
-img.wp-oembed {
-       border: 1px dashed #888;
-       background: #f7f5f2 url("img/embedded.png") no-repeat scroll center center;
-       width: 300px;
-       height: 250px;
-}
-
-
-@media print,
-       (-o-min-device-pixel-ratio: 5/4),
-       (-webkit-min-device-pixel-ratio: 1.25),
-       (min-resolution: 120dpi) {
-
-       img.mce-wp-more {
-               background-image: url("img/mce-more-2x.png");
-       }
-
-       img.mce-wp-nextpage {
-               background-image: url("img/mce-nextpage-2x.png");
-       }
-
-       img.wp-gallery {
-               background-image: url("img/gallery-2x.png");
-       }
-}
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/embedded.png b/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/embedded.png
deleted file mode 100644 (file)
index 09d71ed..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/embedded.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/gallery-2x.png b/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/gallery-2x.png
deleted file mode 100644 (file)
index cb73e5c..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/gallery-2x.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/gallery.png b/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/gallery.png
deleted file mode 100644 (file)
index 414cf62..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/gallery.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-more-2x.png b/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-more-2x.png
deleted file mode 100644 (file)
index 9a7c95b..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-more-2x.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-more.png b/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-more.png
deleted file mode 100644 (file)
index a25a93d..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-more.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-nextpage-2x.png b/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-nextpage-2x.png
deleted file mode 100644 (file)
index d957d05..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-nextpage-2x.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-nextpage.png b/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-nextpage.png
deleted file mode 100644 (file)
index 09e60ee..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/mce-nextpage.png and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/tabs.gif b/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/tabs.gif
deleted file mode 100644 (file)
index 06812cb..0000000
Binary files a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/tabs.gif and /dev/null differ
diff --git a/wp-includes/js/tinymce/themes/advanced/source_editor.htm b/wp-includes/js/tinymce/themes/advanced/source_editor.htm
deleted file mode 100644 (file)
index 5548c69..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-       <title>{#advanced_dlg.code_title}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="js/source_editor.js?ver=358-20121205"></script>
-</head>
-<body onresize="resizeInputs();" style="display:none; overflow:hidden;" spellcheck="false">
-       <form name="source" onsubmit="saveContent();return false;" action="#">
-               <div style="float: left" class="title"><label for="htmlSource">{#advanced_dlg.code_title}</label></div>
-
-               <div id="wrapline" style="float: right">
-                       <input type="checkbox" name="wraped" id="wraped" onclick="toggleWordWrap(this);" class="wordWrapCode" /><label for="wraped">{#advanced_dlg.code_wordwrap}</label>
-               </div>
-
-               <br style="clear: both" />
-
-               <textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,monospace; font-size: 12px;" dir="ltr" wrap="off" class="mceFocus"></textarea>
-
-               <div class="mceActionPanel">
-                       <input type="submit" role="button" name="insert" value="{#update}" id="insert" />
-                       <input type="button" role="button" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
-               </div>
-       </form>
-</body>
-</html>
diff --git a/wp-includes/js/tinymce/themes/modern/theme.js b/wp-includes/js/tinymce/themes/modern/theme.js
new file mode 100644 (file)
index 0000000..614cdbc
--- /dev/null
@@ -0,0 +1,617 @@
+/**
+ * theme.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*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;
+
+       // Default menus
+       var defaultMenus = {
+               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'}
+       };
+
+       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;
+
+                       if (!items) {
+                               return;
+                       }
+
+                       each(items.split(/[ ,]/), function(item) {
+                               var itemName;
+
+                               function bindSelectorChanged() {
+                                       var selection = editor.selection;
+
+                                       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;
+                                                               }
+                                                       }
+
+                                                       item.active(state && nodeName == "UL");
+                                               });
+                                       }
+
+                                       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;
+                                                               }
+                                                       }
+
+                                                       item.active(state && nodeName == "OL");
+                                               });
+                                       }
+
+                                       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 == "|") {
+                                       buttonGroup = null;
+                               } else {
+                                       if (Factory.has(item)) {
+                                               item = {type: item};
+
+                                               if (settings.toolbar_items_size) {
+                                                       item.size = settings.toolbar_items_size;
+                                               }
+
+                                               toolbarItems.push(item);
+                                               buttonGroup = null;
+                                       } else {
+                                               if (!buttonGroup) {
+                                                       buttonGroup = {type: 'buttongroup', items: []};
+                                                       toolbarItems.push(buttonGroup);
+                                               }
+
+                                               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';
+
+                                                       if (settings.toolbar_items_size) {
+                                                               item.size = settings.toolbar_items_size;
+                                                       }
+
+                                                       item = Factory.create(item);
+                                                       buttonGroup.items.push(item);
+
+                                                       if (editor.initialized) {
+                                                               bindSelectorChanged();
+                                                       } else {
+                                                               editor.on('init', bindSelectorChanged);
+                                                       }
+                                               }
+                                       }
+                               }
+                       });
+
+                       toolbars.push({type: 'toolbar', layout: 'flow', items: toolbarItems});
+
+                       return true;
+               }
+
+               // Convert toolbar array to multiple options
+               if (tinymce.isArray(settings.toolbar)) {
+                       // Empty toolbar array is the same as a disabled toolbar
+                       if (settings.toolbar.length === 0) {
+                               return;
+                       }
+
+                       tinymce.each(settings.toolbar, function(toolbar, i) {
+                               settings["toolbar" + (i + 1)] = toolbar;
+                       });
+
+                       delete settings.toolbar;
+               }
+
+               // Generate toolbar<n>
+               for (var i = 1; i < 10; i++) {
+                       if (!addToolbar(settings["toolbar" + i])) {
+                               break;
+                       }
+               }
+
+               // Generate toolbar or default toolbar unless it's disabled
+               if (!toolbars.length && settings.toolbar !== false) {
+                       addToolbar(settings.toolbar || defaultToolbar);
+               }
+
+               if (toolbars.length) {
+                       return {
+                               type: 'panel',
+                               layout: 'stack',
+                               classes: "toolbar-grp",
+                               ariaRoot: true,
+                               ariaRemember: true,
+                               items: toolbars
+                       };
+               }
+       }
+
+       /**
+        * Creates the menu buttons based on config.
+        *
+        * @return {Array} Menu buttons array.
+        */
+       function createMenuButtons() {
+               var name, menuButtons = [];
+
+               function createMenuItem(name) {
+                       var menuItem;
+
+                       if (name == '|') {
+                               return {text: '|'};
+                       }
+
+                       menuItem = editor.menuItems[name];
+
+                       return menuItem;
+               }
+
+               function createMenu(context) {
+                       var menuButton, menu, menuItems, isUserDefined, removedMenuItems;
+
+                       removedMenuItems = tinymce.makeMap((settings.removed_menuitems || '').split(/[ ,]/));
+
+                       // User defined menu
+                       if (settings.menu) {
+                               menu = settings.menu[context];
+                               isUserDefined = true;
+                       } else {
+                               menu = defaultMenus[context];
+                       }
+
+                       if (menu) {
+                               menuButton = {text: menu.title};
+                               menuItems = [];
+
+                               // Default/user defined items
+                               each((menu.items || '').split(/[ ,]/), function(item) {
+                                       var menuItem = createMenuItem(item);
+
+                                       if (menuItem && !removedMenuItems[item]) {
+                                               menuItems.push(createMenuItem(item));
+                                       }
+                               });
+
+                               // Added though context
+                               if (!isUserDefined) {
+                                       each(editor.menuItems, function(menuItem) {
+                                               if (menuItem.context == context) {
+                                                       if (menuItem.separator == 'before') {
+                                                               menuItems.push({text: '|'});
+                                                       }
+
+                                                       if (menuItem.prependToContext) {
+                                                               menuItems.unshift(menuItem);
+                                                       } else {
+                                                               menuItems.push(menuItem);
+                                                       }
+
+                                                       if (menuItem.separator == 'after') {
+                                                               menuItems.push({text: '|'});
+                                                       }
+                                               }
+                                       });
+                               }
+
+                               for (var i = 0; i < menuItems.length; i++) {
+                                       if (menuItems[i].text == '|') {
+                                               if (i === 0 || i == menuItems.length - 1) {
+                                                       menuItems.splice(i, 1);
+                                               }
+                                       }
+                               }
+
+                               menuButton.menu = menuItems;
+
+                               if (!menuButton.menu.length) {
+                                       return null;
+                               }
+                       }
+
+                       return menuButton;
+               }
+
+               var defaultMenuBar = [];
+               if (settings.menu) {
+                       for (name in settings.menu) {
+                               defaultMenuBar.push(name);
+                       }
+               } else {
+                       for (name in defaultMenus) {
+                               defaultMenuBar.push(name);
+                       }
+               }
+
+               var enabledMenuNames = typeof(settings.menubar) == "string" ? settings.menubar.split(/[ ,]/) : defaultMenuBar;
+               for (var i = 0; i < enabledMenuNames.length; i++) {
+                       var menu = enabledMenuNames[i];
+                       menu = createMenu(menu);
+
+                       if (menu) {
+                               menuButtons.push(menu);
+                       }
+               }
+
+               return menuButtons;
+       }
+
+       /**
+        * Adds accessibility shortcut keys to panel.
+        *
+        * @param {tinymce.ui.Panel} panel Panel to add focus to.
+        */
+       function addAccessibilityKeys(panel) {
+               function focus(type) {
+                       var item = panel.find(type)[0];
+
+                       if (item) {
+                               item.focus(true);
+                       }
+               }
+
+               editor.shortcuts.add('Alt+F9', '', function() {
+                       focus('menubar');
+               });
+
+               editor.shortcuts.add('Alt+F10', '', function() {
+                       focus('toolbar');
+               });
+
+               editor.shortcuts.add('Alt+F11', '', function() {
+                       focus('elementpath');
+               });
+
+               panel.on('cancel', function() {
+                       editor.focus();
+               });
+       }
+
+       /**
+        * Resizes the editor to the specified width, height.
+        */
+       function resizeTo(width, height) {
+               var containerElm, iframeElm, containerSize, iframeSize;
+
+               function getSize(elm) {
+                       return {
+                               width: elm.clientWidth,
+                               height: elm.clientHeight
+                       };
+               }
+
+               containerElm = editor.getContainer();
+               iframeElm = editor.getContentAreaContainer().firstChild;
+               containerSize = getSize(containerElm);
+               iframeSize = getSize(iframeElm);
+
+               if (width !== null) {
+                       width = Math.max(settings.min_width || 100, width);
+                       width = Math.min(settings.max_width || 0xFFFF, width);
+
+                       DOM.css(containerElm, 'width', width + (containerSize.width - iframeSize.width));
+                       DOM.css(iframeElm, 'width', width);
+               }
+
+               height = Math.max(settings.min_height || 100, height);
+               height = Math.min(settings.max_height || 0xFFFF, height);
+               DOM.css(iframeElm, 'height', height);
+
+               editor.fire('ResizeEditor');
+       }
+
+       function resizeBy(dw, dh) {
+               var elm = editor.getContentAreaContainer();
+               self.resizeTo(elm.clientWidth + dw, elm.clientHeight + dh);
+       }
+
+       /**
+        * Renders the inline editor UI.
+        *
+        * @return {Object} Name/value object with theme data.
+        */
+       function renderInlineUI(args) {
+               var panel, inlineToolbarContainer;
+
+               if (settings.fixed_toolbar_container) {
+                       inlineToolbarContainer = DOM.select(settings.fixed_toolbar_container)[0];
+               }
+
+               function reposition() {
+                       if (panel && panel.moveRel && panel.visible() && !panel._fixed) {
+                               // TODO: This is kind of ugly and doesn't handle multiple scrollable elements
+                               var scrollContainer = editor.selection.getScrollContainer(), body = editor.getBody();
+                               var deltaX = 0, deltaY = 0;
+
+                               if (scrollContainer) {
+                                       var bodyPos = DOM.getPos(body), scrollContainerPos = DOM.getPos(scrollContainer);
+
+                                       deltaX = Math.max(0, scrollContainerPos.x - bodyPos.x);
+                                       deltaY = Math.max(0, scrollContainerPos.y - bodyPos.y);
+                               }
+
+                               panel.fixed(false).moveRel(body, editor.rtl ? ['tr-br', 'br-tr'] : ['tl-bl', 'bl-tl']).moveBy(deltaX, deltaY);
+                       }
+               }
+
+               function show() {
+                       if (panel) {
+                               panel.show();
+                               reposition();
+                               DOM.addClass(editor.getBody(), 'mce-edit-focus');
+                       }
+               }
+
+               function hide() {
+                       if (panel) {
+                               panel.hide();
+                               DOM.removeClass(editor.getBody(), 'mce-edit-focus');
+                       }
+               }
+
+               function render() {
+                       if (panel) {
+                               if (!panel.visible()) {
+                                       show();
+                               }
+
+                               return;
+                       }
+
+                       // Render a plain panel inside the inlineToolbarContainer if it's defined
+                       panel = self.panel = Factory.create({
+                               type: inlineToolbarContainer ? 'panel' : 'floatpanel',
+                               role: 'application',
+                               classes: 'tinymce tinymce-inline',
+                               layout: 'flex',
+                               direction: 'column',
+                               align: 'stretch',
+                               autohide: false,
+                               autofix: true,
+                               fixed: !!inlineToolbarContainer,
+                               border: 1,
+                               items: [
+                                       settings.menubar === false ? null : {type: 'menubar', border: '0 0 1 0', items: createMenuButtons()},
+                                       createToolbars()
+                               ]
+                       });
+
+                       // Add statusbar
+                       /*if (settings.statusbar !== false) {
+                               panel.add({type: 'panel', classes: 'statusbar', layout: 'flow', border: '1 0 0 0', items: [
+                                       {type: 'elementpath'}
+                               ]});
+                       }*/
+
+                       editor.fire('BeforeRenderUI');
+                       panel.renderTo(inlineToolbarContainer || document.body).reflow();
+
+                       addAccessibilityKeys(panel);
+                       show();
+
+                       editor.on('nodeChange', reposition);
+                       editor.on('activate', show);
+                       editor.on('deactivate', hide);
+
+                       editor.nodeChanged();
+               }
+
+               settings.content_editable = true;
+
+               editor.on('focus', function() {
+                       // Render only when the CSS file has been loaded
+                       if (args.skinUiCss) {
+                               tinymce.DOM.styleSheetLoader.load(args.skinUiCss, render, render);
+                       } else {
+                               render();
+                       }
+               });
+
+               editor.on('blur', hide);
+
+               // Remove the panel when the editor is removed
+               editor.on('remove', function() {
+                       if (panel) {
+                               panel.remove();
+                               panel = null;
+                       }
+               });
+
+               // Preload skin css
+               if (args.skinUiCss) {
+                       tinymce.DOM.styleSheetLoader.load(args.skinUiCss);
+               }
+
+               return {};
+       }
+
+       /**
+        * Renders the iframe editor UI.
+        *
+        * @param {Object} args Details about target element etc.
+        * @return {Object} Name/value object with theme data.
+        */
+       function renderIframeUI(args) {
+               var panel, resizeHandleCtrl, startSize;
+
+               if (args.skinUiCss) {
+                       tinymce.DOM.loadCSS(args.skinUiCss);
+               }
+
+               // Basic UI layout
+               panel = self.panel = Factory.create({
+                       type: 'panel',
+                       role: 'application',
+                       classes: 'tinymce',
+                       style: 'visibility: hidden',
+                       layout: 'stack',
+                       border: 1,
+                       items: [
+                               settings.menubar === false ? null : {type: 'menubar', border: '0 0 1 0', items: createMenuButtons()},
+                               createToolbars(),
+                               {type: 'panel', name: 'iframe', layout: 'stack', classes: 'edit-area', html: '', border: '1 0 0 0'}
+                       ]
+               });
+
+               if (settings.resize !== false) {
+                       resizeHandleCtrl = {
+                               type: 'resizehandle',
+                               direction: settings.resize,
+
+                               onResizeStart: function() {
+                                       var elm = editor.getContentAreaContainer().firstChild;
+
+                                       startSize = {
+                                               width: elm.clientWidth,
+                                               height: elm.clientHeight
+                                       };
+                               },
+
+                               onResize: function(e) {
+                                       if (settings.resize == 'both') {
+                                               resizeTo(startSize.width + e.deltaX, startSize.height + e.deltaY);
+                                       } else {
+                                               resizeTo(null, startSize.height + e.deltaY);
+                                       }
+                               }
+                       };
+               }
+
+               // Add statusbar if needed
+               if (settings.statusbar !== false) {
+                       panel.add({type: 'panel', name: 'statusbar', classes: 'statusbar', layout: 'flow', border: '1 0 0 0', ariaRoot: true, items: [
+                               {type: 'elementpath'},
+                               resizeHandleCtrl
+                       ]});
+               }
+
+               if (settings.readonly) {
+                       panel.find('*').disabled(true);
+               }
+
+               editor.fire('BeforeRenderUI');
+               panel.renderBefore(args.targetNode).reflow();
+
+               if (settings.width) {
+                       tinymce.DOM.setStyle(panel.getEl(), 'width', settings.width);
+               }
+
+               // Remove the panel when the editor is removed
+               editor.on('remove', function() {
+                       panel.remove();
+                       panel = null;
+               });
+
+               // Add accesibility shortkuts
+               addAccessibilityKeys(panel);
+
+               return {
+                       iframeContainer: panel.find('#iframe')[0].getEl(),
+                       editorContainer: panel.getEl()
+               };
+       }
+
+       /**
+        * Renders the UI for the theme. This gets called by the editor.
+        *
+        * @param {Object} args Details about target element etc.
+        * @return {Object} Theme UI data items.
+        */
+       self.renderUI = function(args) {
+               var skin = settings.skin !== false ? settings.skin || 'lightgray' : false;
+
+               if (skin) {
+                       var skinUrl = settings.skin_url;
+
+                       if (skinUrl) {
+                               skinUrl = editor.documentBaseURI.toAbsolute(skinUrl);
+                       } else {
+                               skinUrl = tinymce.baseURL + '/skins/' + skin;
+                       }
+
+                       // Load special skin for IE7
+                       // TODO: Remove this when we drop IE7 support
+                       if (tinymce.Env.documentMode <= 7) {
+                               args.skinUiCss = skinUrl + '/skin.ie7.min.css';
+                       } else {
+                               args.skinUiCss = skinUrl + '/skin.min.css';
+                       }
+
+                       // Load content.min.css or content.inline.min.css
+                       editor.contentCSS.push(skinUrl + '/content' + (editor.inline ? '.inline' : '') + '.min.css');
+               }
+
+               // Handle editor setProgressState change
+               editor.on('ProgressState', function(e) {
+                       self.throbber = self.throbber || new tinymce.ui.Throbber(self.panel.getEl('body'));
+
+                       if (e.state) {
+                               self.throbber.show(e.time);
+                       } else {
+                               self.throbber.hide();
+                       }
+               });
+
+               if (settings.inline) {
+                       return renderInlineUI(args);
+               }
+
+               return renderIframeUI(args);
+       };
+
+       self.resizeTo = resizeTo;
+       self.resizeBy = resizeBy;
+});
diff --git a/wp-includes/js/tinymce/themes/modern/theme.min.js b/wp-includes/js/tinymce/themes/modern/theme.min.js
new file mode 100644 (file)
index 0000000..7efbb0d
--- /dev/null
@@ -0,0 +1 @@
+tinymce.ThemeManager.add("modern",function(e){function t(){function t(t){var i,o=[];if(t)return d(t.split(/[ ,]/),function(t){function n(){var n=e.selection;"bullist"==r&&n.selectorChanged("ul > li",function(e,n){for(var i,o=n.parents.length;o--&&(i=n.parents[o].nodeName,"OL"!=i&&"UL"!=i););t.active(e&&"UL"==i)}),"numlist"==r&&n.selectorChanged("ol > li",function(e,n){for(var i,o=n.parents.length;o--&&(i=n.parents[o].nodeName,"OL"!=i&&"UL"!=i););t.active(e&&"OL"==i)}),t.settings.stateSelector&&n.selectorChanged(t.settings.stateSelector,function(e){t.active(e)},!0),t.settings.disabledStateSelector&&n.selectorChanged(t.settings.disabledStateSelector,function(e){t.disabled(e)})}var r;"|"==t?i=null:c.has(t)?(t={type:t},u.toolbar_items_size&&(t.size=u.toolbar_items_size),o.push(t),i=null):(i||(i={type:"buttongroup",items:[]},o.push(i)),e.buttons[t]&&(r=t,t=e.buttons[r],"function"==typeof t&&(t=t()),t.type=t.type||"button",u.toolbar_items_size&&(t.size=u.toolbar_items_size),t=c.create(t),i.items.push(t),e.initialized?n():e.on("init",n)))}),n.push({type:"toolbar",layout:"flow",items:o}),!0}var n=[];if(tinymce.isArray(u.toolbar)){if(0===u.toolbar.length)return;tinymce.each(u.toolbar,function(e,t){u["toolbar"+(t+1)]=e}),delete u.toolbar}for(var i=1;10>i&&t(u["toolbar"+i]);i++);return n.length||u.toolbar===!1||t(u.toolbar||f),n.length?{type:"panel",layout:"stack",classes:"toolbar-grp",ariaRoot:!0,ariaRemember:!0,items:n}:void 0}function n(){function t(t){var n;return"|"==t?{text:"|"}:n=e.menuItems[t]}function n(n){var i,o,r,a,s;if(s=tinymce.makeMap((u.removed_menuitems||"").split(/[ ,]/)),u.menu?(o=u.menu[n],a=!0):o=h[n],o){i={text:o.title},r=[],d((o.items||"").split(/[ ,]/),function(e){var n=t(e);n&&!s[e]&&r.push(t(e))}),a||d(e.menuItems,function(e){e.context==n&&("before"==e.separator&&r.push({text:"|"}),e.prependToContext?r.unshift(e):r.push(e),"after"==e.separator&&r.push({text:"|"}))});for(var l=0;l<r.length;l++)"|"==r[l].text&&(0===l||l==r.length-1)&&r.splice(l,1);if(i.menu=r,!i.menu.length)return null}return i}var i,o=[],r=[];if(u.menu)for(i in u.menu)r.push(i);else for(i in h)r.push(i);for(var a="string"==typeof u.menubar?u.menubar.split(/[ ,]/):r,s=0;s<a.length;s++){var l=a[s];l=n(l),l&&o.push(l)}return o}function i(t){function n(e){var n=t.find(e)[0];n&&n.focus(!0)}e.shortcuts.add("Alt+F9","",function(){n("menubar")}),e.shortcuts.add("Alt+F10","",function(){n("toolbar")}),e.shortcuts.add("Alt+F11","",function(){n("elementpath")}),t.on("cancel",function(){e.focus()})}function o(t,n){function i(e){return{width:e.clientWidth,height:e.clientHeight}}var o,r,a,s;o=e.getContainer(),r=e.getContentAreaContainer().firstChild,a=i(o),s=i(r),null!==t&&(t=Math.max(u.min_width||100,t),t=Math.min(u.max_width||65535,t),m.css(o,"width",t+(a.width-s.width)),m.css(r,"width",t)),n=Math.max(u.min_height||100,n),n=Math.min(u.max_height||65535,n),m.css(r,"height",n),e.fire("ResizeEditor")}function r(t,n){var i=e.getContentAreaContainer();l.resizeTo(i.clientWidth+t,i.clientHeight+n)}function a(o){function r(){if(h&&h.moveRel&&h.visible()&&!h._fixed){var t=e.selection.getScrollContainer(),n=e.getBody(),i=0,o=0;if(t){var r=m.getPos(n),a=m.getPos(t);i=Math.max(0,a.x-r.x),o=Math.max(0,a.y-r.y)}h.fixed(!1).moveRel(n,e.rtl?["tr-br","br-tr"]:["tl-bl","bl-tl"]).moveBy(i,o)}}function a(){h&&(h.show(),r(),m.addClass(e.getBody(),"mce-edit-focus"))}function s(){h&&(h.hide(),m.removeClass(e.getBody(),"mce-edit-focus"))}function d(){return h?void(h.visible()||a()):(h=l.panel=c.create({type:f?"panel":"floatpanel",role:"application",classes:"tinymce tinymce-inline",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!!f,border:1,items:[u.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:n()},t()]}),e.fire("BeforeRenderUI"),h.renderTo(f||document.body).reflow(),i(h),a(),e.on("nodeChange",r),e.on("activate",a),e.on("deactivate",s),void e.nodeChanged())}var h,f;return u.fixed_toolbar_container&&(f=m.select(u.fixed_toolbar_container)[0]),u.content_editable=!0,e.on("focus",function(){o.skinUiCss?tinymce.DOM.styleSheetLoader.load(o.skinUiCss,d,d):d()}),e.on("blur",s),e.on("remove",function(){h&&(h.remove(),h=null)}),o.skinUiCss&&tinymce.DOM.styleSheetLoader.load(o.skinUiCss),{}}function s(r){var a,s,d;return r.skinUiCss&&tinymce.DOM.loadCSS(r.skinUiCss),a=l.panel=c.create({type:"panel",role:"application",classes:"tinymce",style:"visibility: hidden",layout:"stack",border:1,items:[u.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:n()},t(),{type:"panel",name:"iframe",layout:"stack",classes:"edit-area",html:"",border:"1 0 0 0"}]}),u.resize!==!1&&(s={type:"resizehandle",direction:u.resize,onResizeStart:function(){var t=e.getContentAreaContainer().firstChild;d={width:t.clientWidth,height:t.clientHeight}},onResize:function(e){"both"==u.resize?o(d.width+e.deltaX,d.height+e.deltaY):o(null,d.height+e.deltaY)}}),u.statusbar!==!1&&a.add({type:"panel",name:"statusbar",classes:"statusbar",layout:"flow",border:"1 0 0 0",ariaRoot:!0,items:[{type:"elementpath"},s]}),u.readonly&&a.find("*").disabled(!0),e.fire("BeforeRenderUI"),a.renderBefore(r.targetNode).reflow(),u.width&&tinymce.DOM.setStyle(a.getEl(),"width",u.width),e.on("remove",function(){a.remove(),a=null}),i(a),{iframeContainer:a.find("#iframe")[0].getEl(),editorContainer:a.getEl()}}var l=this,u=e.settings,c=tinymce.ui.Factory,d=tinymce.each,m=tinymce.DOM,h={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"}},f="undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image";l.renderUI=function(t){var n=u.skin!==!1?u.skin||"lightgray":!1;if(n){var i=u.skin_url;i=i?e.documentBaseURI.toAbsolute(i):tinymce.baseURL+"/skins/"+n,t.skinUiCss=tinymce.Env.documentMode<=7?i+"/skin.ie7.min.css":i+"/skin.min.css",e.contentCSS.push(i+"/content"+(e.inline?".inline":"")+".min.css")}return e.on("ProgressState",function(e){l.throbber=l.throbber||new tinymce.ui.Throbber(l.panel.getEl("body")),e.state?l.throbber.show(e.time):l.throbber.hide()}),u.inline?a(t):s(t)},l.resizeTo=o,l.resizeBy=r});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/tiny_mce.js b/wp-includes/js/tinymce/tiny_mce.js
deleted file mode 100644 (file)
index f87ac77..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(e){var a=/^\s*|\s*$/g,b,d="B".replace(/A(.)|B/,"$1")==="$1";var c={majorVersion:"3",minorVersion:"5.9",releaseDate:"2013-10-18",_init:function(){var s=this,q=document,o=navigator,g=o.userAgent,m,f,l,k,j,r;s.isIE11=g.indexOf("Trident/")!=-1&&(g.indexOf("rv:")!=-1||o.appName.indexOf("Netscape")!=-1);s.isOpera=e.opera&&opera.buildNumber;s.isWebKit=/WebKit/.test(g);s.isIE=!s.isWebKit&&!s.isOpera&&(/MSIE/gi).test(g)&&(/Explorer/gi).test(o.appName)||s.isIE11;s.isIE6=s.isIE&&/MSIE [56]/.test(g);s.isIE7=s.isIE&&/MSIE [7]/.test(g);s.isIE8=s.isIE&&/MSIE [8]/.test(g);s.isIE9=s.isIE&&/MSIE [9]/.test(g);s.isGecko=!s.isWebKit&&!s.isIE11&&/Gecko/.test(g);s.isMac=g.indexOf("Mac")!=-1;s.isAir=/adobeair/i.test(g);s.isIDevice=/(iPad|iPhone)/.test(g);s.isIOS5=s.isIDevice&&g.match(/AppleWebKit\/(\d*)/)[1]>=534;if(e.tinyMCEPreInit){s.suffix=tinyMCEPreInit.suffix;s.baseURL=tinyMCEPreInit.base;s.query=tinyMCEPreInit.query;return}s.suffix="";f=q.getElementsByTagName("base");for(m=0;m<f.length;m++){r=f[m].href;if(r){if(/^https?:\/\/[^\/]+$/.test(r)){r+="/"}k=r?r.match(/.*\//)[0]:""}}function h(i){if(i.src&&/tiny_mce(|_gzip|_jquery|_prototype|_full)(_dev|_src)?.js/.test(i.src)){if(/_(src|dev)\.js/g.test(i.src)){s.suffix="_src"}if((j=i.src.indexOf("?"))!=-1){s.query=i.src.substring(j+1)}s.baseURL=i.src.substring(0,i.src.lastIndexOf("/"));if(k&&s.baseURL.indexOf("://")==-1&&s.baseURL.indexOf("/")!==0){s.baseURL=k+s.baseURL}return s.baseURL}return null}f=q.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}l=q.getElementsByTagName("head")[0];if(l){f=l.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}}return},is:function(g,f){if(!f){return g!==b}if(f=="array"&&c.isArray(g)){return true}return typeof(g)==f},isArray:Array.isArray||function(f){return Object.prototype.toString.call(f)==="[object Array]"},makeMap:function(f,j,h){var g;f=f||[];j=j||",";if(typeof(f)=="string"){f=f.split(j)}h=h||{};g=f.length;while(g--){h[f[g]]={}}return h},each:function(i,f,h){var j,g;if(!i){return 0}h=h||i;if(i.length!==b){for(j=0,g=i.length;j<g;j++){if(f.call(h,i[j],j,i)===false){return 0}}}else{for(j in i){if(i.hasOwnProperty(j)){if(f.call(h,i[j],j,i)===false){return 0}}}}return 1},map:function(g,h){var i=[];c.each(g,function(f){i.push(h(f))});return i},grep:function(g,h){var i=[];c.each(g,function(f){if(!h||h(f)){i.push(f)}});return i},inArray:function(g,h){var j,f;if(g){for(j=0,f=g.length;j<f;j++){if(g[j]===h){return j}}}return -1},extend:function(n,k){var j,f,h,g=arguments,m;for(j=1,f=g.length;j<f;j++){k=g[j];for(h in k){if(k.hasOwnProperty(h)){m=k[h];if(m!==b){n[h]=m}}}}return n},trim:function(f){return(f?""+f:"").replace(a,"")},create:function(o,f,j){var n=this,g,i,k,l,h,m=0;o=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(o);k=o[3].match(/(^|\.)(\w+)$/i)[2];i=n.createNS(o[3].replace(/\.\w+$/,""),j);if(i[k]){return}if(o[2]=="static"){i[k]=f;if(this.onCreate){this.onCreate(o[2],o[3],i[k])}return}if(!f[k]){f[k]=function(){};m=1}i[k]=f[k];n.extend(i[k].prototype,f);if(o[5]){g=n.resolve(o[5]).prototype;l=o[5].match(/\.(\w+)$/i)[1];h=i[k];if(m){i[k]=function(){return g[l].apply(this,arguments)}}else{i[k]=function(){this.parent=g[l];return h.apply(this,arguments)}}i[k].prototype[k]=i[k];n.each(g,function(p,q){i[k].prototype[q]=g[q]});n.each(f,function(p,q){if(g[q]){i[k].prototype[q]=function(){this.parent=g[q];return p.apply(this,arguments)}}else{if(q!=k){i[k].prototype[q]=p}}})}n.each(f["static"],function(p,q){i[k][q]=p});if(this.onCreate){this.onCreate(o[2],o[3],i[k].prototype)}},walk:function(i,h,j,g){g=g||this;if(i){if(j){i=i[j]}c.each(i,function(k,f){if(h.call(g,k,f,j)===false){return false}c.walk(k,h,j,g)})}},createNS:function(j,h){var g,f;h=h||e;j=j.split(".");for(g=0;g<j.length;g++){f=j[g];if(!h[f]){h[f]={}}h=h[f]}return h},resolve:function(j,h){var g,f;h=h||e;j=j.split(".");for(g=0,f=j.length;g<f;g++){h=h[j[g]];if(!h){break}}return h},addUnload:function(j,i){var h=this,g;g=function(){var f=h.unloads,l,m;if(f){for(m in f){l=f[m];if(l&&l.func){l.func.call(l.scope,1)}}if(e.detachEvent){e.detachEvent("onbeforeunload",k);e.detachEvent("onunload",g)}else{if(e.removeEventListener){e.removeEventListener("unload",g,false)}}h.unloads=l=f=w=g=0;if(e.CollectGarbage){CollectGarbage()}}};function k(){var l=document;function f(){l.detachEvent("onstop",f);if(g){g()}l=0}if(l.readyState=="interactive"){if(l){l.attachEvent("onstop",f)}e.setTimeout(function(){if(l){l.detachEvent("onstop",f)}},0)}}j={func:j,scope:i||this};if(!h.unloads){if(e.attachEvent){e.attachEvent("onunload",g);e.attachEvent("onbeforeunload",k)}else{if(e.addEventListener){e.addEventListener("unload",g,false)}}h.unloads=[j]}else{h.unloads.push(j)}return j},removeUnload:function(i){var g=this.unloads,h=null;c.each(g,function(j,f){if(j&&j.func==i){g.splice(f,1);h=i;return false}});return h},explode:function(f,g){if(!f||c.is(f,"array")){return f}return c.map(f.split(g||","),c.trim)},_addVer:function(g){var f;if(!this.query){return g}f=(g.indexOf("?")==-1?"?":"&")+this.query;if(g.indexOf("#")==-1){return g+f}return g.replace("#",f+"#")},_replace:function(h,f,g){if(d){return g.replace(h,function(){var l=f,j=arguments,k;for(k=0;k<j.length-2;k++){if(j[k]===b){l=l.replace(new RegExp("\\$"+k,"g"),"")}else{l=l.replace(new RegExp("\\$"+k,"g"),j[k])}}return l})}return g.replace(h,f)}};c._init();e.tinymce=e.tinyMCE=c})(window);tinymce.create("tinymce.util.Dispatcher",{scope:null,listeners:null,inDispatch:false,Dispatcher:function(a){this.scope=a||this;this.listeners=[]},add:function(b,a){this.listeners.push({cb:b,scope:a||this.scope});return b},addToTop:function(d,b){var a=this,c={cb:d,scope:b||a.scope};if(a.inDispatch){a.listeners=[c].concat(a.listeners)}else{a.listeners.unshift(c)}return d},remove:function(c){var b=this.listeners,a=null;tinymce.each(b,function(e,d){if(c==e.cb){a=e;b.splice(d,1);return false}});return a},dispatch:function(){var a=this,e,b=arguments,c,d=a.listeners,f;a.inDispatch=true;for(c=0;c<d.length;c++){f=d[c];e=f.cb.apply(f.scope,b.length>0?b:[f.scope]);if(e===false){break}}a.inDispatch=false;return e}});(function(){var a=tinymce.each;tinymce.create("tinymce.util.URI",{URI:function(e,g){var f=this,i,d,c,h;e=tinymce.trim(e);g=f.settings=g||{};if(/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e)){f.source=e;return}if(e.indexOf("/")===0&&e.indexOf("//")!==0){e=(g.base_uri?g.base_uri.protocol||"http":"http")+"://mce_host"+e}if(!/^[\w\-]*:?\/\//.test(e)){h=g.base_uri?g.base_uri.path:new tinymce.util.URI(location.href).directory;e=((g.base_uri&&g.base_uri.protocol)||"http")+"://mce_host"+f.toAbsPath(h,e)}e=e.replace(/@@/g,"(mce_at)");e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e);a(["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],function(b,j){var k=e[j];if(k){k=k.replace(/\(mce_at\)/g,"@@")}f[b]=k});c=g.base_uri;if(c){if(!f.protocol){f.protocol=c.protocol}if(!f.userInfo){f.userInfo=c.userInfo}if(!f.port&&f.host==="mce_host"){f.port=c.port}if(!f.host||f.host==="mce_host"){f.host=c.host}f.source=""}},setPath:function(c){var b=this;c=/^(.*?)\/?(\w+)?$/.exec(c);b.path=c[0];b.directory=c[1];b.file=c[2];b.source="";b.getURI()},toRelative:function(b){var d=this,f;if(b==="./"){return b}b=new tinymce.util.URI(b,{base_uri:d});if((b.host!="mce_host"&&d.host!=b.host&&b.host)||d.port!=b.port||d.protocol!=b.protocol){return b.getURI()}var c=d.getURI(),e=b.getURI();if(c==e||(c.charAt(c.length-1)=="/"&&c.substr(0,c.length-1)==e)){return c}f=d.toRelPath(d.path,b.path);if(b.query){f+="?"+b.query}if(b.anchor){f+="#"+b.anchor}return f},toAbsolute:function(b,c){b=new tinymce.util.URI(b,{base_uri:this});return b.getURI(this.host==b.host&&this.protocol==b.protocol?c:0)},toRelPath:function(g,h){var c,f=0,d="",e,b;g=g.substring(0,g.lastIndexOf("/"));g=g.split("/");c=h.split("/");if(g.length>=c.length){for(e=0,b=g.length;e<b;e++){if(e>=c.length||g[e]!=c[e]){f=e+1;break}}}if(g.length<c.length){for(e=0,b=c.length;e<b;e++){if(e>=g.length||g[e]!=c[e]){f=e+1;break}}}if(f===1){return h}for(e=0,b=g.length-(f-1);e<b;e++){d+="../"}for(e=f-1,b=c.length;e<b;e++){if(e!=f-1){d+="/"+c[e]}else{d+=c[e]}}return d},toAbsPath:function(e,f){var c,b=0,h=[],d,g;d=/\/$/.test(f)?"/":"";e=e.split("/");f=f.split("/");a(e,function(i){if(i){h.push(i)}});e=h;for(c=f.length-1,h=[];c>=0;c--){if(f[c].length===0||f[c]==="."){continue}if(f[c]===".."){b++;continue}if(b>0){b--;continue}h.push(f[c])}c=e.length-b;if(c<=0){g=h.reverse().join("/")}else{g=e.slice(0,c).join("/")+"/"+h.reverse().join("/")}if(g.indexOf("/")!==0){g="/"+g}if(d&&g.lastIndexOf("/")!==g.length-1){g+=d}return g},getURI:function(d){var c,b=this;if(!b.source||d){c="";if(!d){if(b.protocol){c+=b.protocol+"://"}if(b.userInfo){c+=b.userInfo+"@"}if(b.host){c+=b.host}if(b.port){c+=":"+b.port}}if(b.path){c+=b.path}if(b.query){c+="?"+b.query}if(b.anchor){c+="#"+b.anchor}b.source=c}return b.source}})})();(function(){var a=tinymce.each;tinymce.create("static tinymce.util.Cookie",{getHash:function(d){var b=this.get(d),c;if(b){a(b.split("&"),function(e){e=e.split("=");c=c||{};c[unescape(e[0])]=unescape(e[1])})}return c},setHash:function(j,b,g,f,i,c){var h="";a(b,function(e,d){h+=(!h?"":"&")+escape(d)+"="+escape(e)});this.set(j,h,g,f,i,c)},get:function(i){var h=document.cookie,g,f=i+"=",d;if(!h){return}d=h.indexOf("; "+f);if(d==-1){d=h.indexOf(f);if(d!==0){return null}}else{d+=2}g=h.indexOf(";",d);if(g==-1){g=h.length}return unescape(h.substring(d+f.length,g))},set:function(i,b,g,f,h,c){document.cookie=i+"="+escape(b)+((g)?"; expires="+g.toGMTString():"")+((f)?"; path="+escape(f):"")+((h)?"; domain="+h:"")+((c)?"; secure":"")},remove:function(c,e,d){var b=new Date();b.setTime(b.getTime()-1000);this.set(c,"",b,e,d)}})})();(function(){function serialize(o,quote){var i,v,t,name;quote=quote||'"';if(o==null){return"null"}t=typeof o;if(t=="string"){v="\bb\tt\nn\ff\rr\"\"''\\\\";return quote+o.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(a,b){if(quote==='"'&&a==="'"){return a}i=v.indexOf(b);if(i+1){return"\\"+v.charAt(i+1)}a=b.charCodeAt().toString(16);return"\\u"+"0000".substring(a.length)+a})+quote}if(t=="object"){if(o.hasOwnProperty&&Object.prototype.toString.call(o)==="[object Array]"){for(i=0,v="[";i<o.length;i++){v+=(i>0?",":"")+serialize(o[i],quote)}return v+"]"}v="{";for(name in o){if(o.hasOwnProperty(name)){v+=typeof o[name]!="function"?(v.length>1?","+quote:quote)+name+quote+":"+serialize(o[name],quote):""}}return v+"}"}return""+o}tinymce.util.JSON={serialize:serialize,parse:function(s){try{return eval("("+s+")")}catch(ex){}}}})();tinymce.create("static tinymce.util.XHR",{send:function(g){var a,e,b=window,h=0;function f(){if(!g.async||a.readyState==4||h++>10000){if(g.success&&h<10000&&a.status==200){g.success.call(g.success_scope,""+a.responseText,a,g)}else{if(g.error){g.error.call(g.error_scope,h>10000?"TIMED_OUT":"GENERAL",a,g)}}a=null}else{b.setTimeout(f,10)}}g.scope=g.scope||this;g.success_scope=g.success_scope||g.scope;g.error_scope=g.error_scope||g.scope;g.async=g.async===false?false:true;g.data=g.data||"";function d(i){a=0;try{a=new ActiveXObject(i)}catch(c){}return a}a=b.XMLHttpRequest?new XMLHttpRequest():d("Microsoft.XMLHTTP")||d("Msxml2.XMLHTTP");if(a){if(a.overrideMimeType){a.overrideMimeType(g.content_type)}a.open(g.type||(g.data?"POST":"GET"),g.url,g.async);if(g.content_type){a.setRequestHeader("Content-Type",g.content_type)}a.setRequestHeader("X-Requested-With","XMLHttpRequest");a.send(g.data);if(!g.async){return f()}e=b.setTimeout(f,10)}}});(function(){var c=tinymce.extend,b=tinymce.util.JSON,a=tinymce.util.XHR;tinymce.create("tinymce.util.JSONRequest",{JSONRequest:function(d){this.settings=c({},d);this.count=0},send:function(f){var e=f.error,d=f.success;f=c(this.settings,f);f.success=function(h,g){h=b.parse(h);if(typeof(h)=="undefined"){h={error:"JSON Parse error."}}if(h.error){e.call(f.error_scope||f.scope,h.error,g)}else{d.call(f.success_scope||f.scope,h.result)}};f.error=function(h,g){if(e){e.call(f.error_scope||f.scope,h,g)}};f.data=b.serialize({id:f.id||"c"+(this.count++),method:f.method,params:f.params});f.content_type="application/json";a.send(f)},"static":{sendRPC:function(d){return new tinymce.util.JSONRequest().send(d)}}})}());(function(a){a.VK={BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(b){return b.shiftKey||b.ctrlKey||b.altKey},metaKeyPressed:function(b){return a.isMac?b.metaKey:b.ctrlKey&&!b.altKey}}})(tinymce);tinymce.util.Quirks=function(a){var j=tinymce.VK,f=j.BACKSPACE,k=j.DELETE,e=a.dom,m=a.selection,I=a.settings,x=a.parser,p=a.serializer,F=tinymce.each;function B(O,N){try{a.getDoc().execCommand(O,false,N)}catch(M){}}function o(){var M=a.getDoc().documentMode;return M?M:6}function A(M){return M.isDefaultPrevented()}function K(){function M(S){var O,Q,N,T,P,R,U;function V(){if(P.nodeType==3){if(S&&R==P.length){return true}if(!S&&R===0){return true}}}O=m.getRng();var W=[O.startContainer,O.startOffset,O.endContainer,O.endOffset];if(!O.collapsed){S=true}P=O[(S?"start":"end")+"Container"];R=O[(S?"start":"end")+"Offset"];if(P.nodeType==3){Q=e.getParent(O.startContainer,e.isBlock);if(S){Q=e.getNext(Q,e.isBlock)}if(Q&&(V()||!O.collapsed)){N=e.create("em",{id:"__mceDel"});F(tinymce.grep(Q.childNodes),function(X){N.appendChild(X)});Q.appendChild(N)}}O=e.createRng();O.setStart(W[0],W[1]);O.setEnd(W[2],W[3]);m.setRng(O);a.getDoc().execCommand(S?"ForwardDelete":"Delete",false,null);if(N){T=m.getBookmark();while(U=e.get("__mceDel")){e.remove(U,true)}m.moveToBookmark(T)}}a.onKeyDown.add(function(N,P){var O;O=P.keyCode==k;if(!A(P)&&(O||P.keyCode==f)&&!j.modifierPressed(P)){P.preventDefault();M(O)}});a.addCommand("Delete",function(){M()})}function r(){function M(P){var O=e.create("body");var Q=P.cloneContents();O.appendChild(Q);return m.serializer.serialize(O,{format:"html"})}function N(O){var Q=M(O);var R=e.createRng();R.selectNode(a.getBody());var P=M(R);return Q===P}a.onKeyDown.add(function(P,R){var Q=R.keyCode,O;if(!A(R)&&(Q==k||Q==f)){O=P.selection.isCollapsed();if(O&&!e.isEmpty(P.getBody())){return}if(tinymce.isIE&&!O){return}if(!O&&!N(P.selection.getRng())){return}P.setContent("");P.selection.setCursorLocation(P.getBody(),0);P.nodeChanged()}})}function J(){a.onKeyDown.add(function(M,N){if(!A(N)&&N.keyCode==65&&j.metaKeyPressed(N)){N.preventDefault();M.execCommand("SelectAll")}})}function L(){if(!a.settings.content_editable){e.bind(a.getDoc(),"focusin",function(M){m.setRng(m.getRng())});e.bind(a.getDoc(),"mousedown",function(M){if(M.target==a.getDoc().documentElement){a.getWin().focus();m.setRng(m.getRng())}})}}function C(){a.onKeyDown.add(function(M,P){if(!A(P)&&P.keyCode===f){if(m.isCollapsed()&&m.getRng(true).startOffset===0){var O=m.getNode();var N=O.previousSibling;if(N&&N.nodeName&&N.nodeName.toLowerCase()==="hr"){e.remove(N);tinymce.dom.Event.cancel(P)}}}})}function z(){if(!Range.prototype.getClientRects){a.onMouseDown.add(function(N,O){if(!A(O)&&O.target.nodeName==="HTML"){var M=N.getBody();M.blur();setTimeout(function(){M.focus()},0)}})}}function h(){a.onClick.add(function(M,N){N=N.target;if(/^(IMG|HR)$/.test(N.nodeName)){m.getSel().setBaseAndExtent(N,0,N,1)}if(N.nodeName=="A"&&e.hasClass(N,"mceItemAnchor")){m.select(N)}M.nodeChanged()})}function c(){function N(){var P=e.getAttribs(m.getStart().cloneNode(false));return function(){var Q=m.getStart();if(Q!==a.getBody()){e.setAttrib(Q,"style",null);F(P,function(R){Q.setAttributeNode(R.cloneNode(true))})}}}function M(){return !m.isCollapsed()&&e.getParent(m.getStart(),e.isBlock)!=e.getParent(m.getEnd(),e.isBlock)}function O(P,Q){Q.preventDefault();return false}a.onKeyPress.add(function(P,R){var Q;if(!A(R)&&(R.keyCode==8||R.keyCode==46)&&M()){Q=N();P.getDoc().execCommand("delete",false,null);Q();R.preventDefault();return false}});e.bind(a.getDoc(),"cut",function(Q){var P;if(!A(Q)&&M()){P=N();a.onKeyUp.addToTop(O);setTimeout(function(){P();a.onKeyUp.remove(O)},0)}})}function b(){var N,M;e.bind(a.getDoc(),"selectionchange",function(){if(M){clearTimeout(M);M=0}M=window.setTimeout(function(){var O=m.getRng();if(!N||!tinymce.dom.RangeUtils.compareRanges(O,N)){a.nodeChanged();N=O}},50)})}function y(){document.body.setAttribute("role","application")}function u(){a.onKeyDown.add(function(M,O){if(!A(O)&&O.keyCode===f){if(m.isCollapsed()&&m.getRng(true).startOffset===0){var N=m.getNode().previousSibling;if(N&&N.nodeName&&N.nodeName.toLowerCase()==="table"){return tinymce.dom.Event.cancel(O)}}}})}function D(){if(o()>7){return}B("RespectVisibilityInDesign",true);a.contentStyles.push(".mceHideBrInPre pre br {display: none}");e.addClass(a.getBody(),"mceHideBrInPre");x.addNodeFilter("pre",function(M,O){var P=M.length,R,N,S,Q;while(P--){R=M[P].getAll("br");N=R.length;while(N--){S=R[N];Q=S.prev;if(Q&&Q.type===3&&Q.value.charAt(Q.value-1)!="\n"){Q.value+="\n"}else{S.parent.insert(new tinymce.html.Node("#text",3),S,true).value="\n"}}}});p.addNodeFilter("pre",function(M,O){var P=M.length,R,N,S,Q;while(P--){R=M[P].getAll("br");N=R.length;while(N--){S=R[N];Q=S.prev;if(Q&&Q.type==3){Q.value=Q.value.replace(/\r?\n$/,"")}}}})}function g(){e.bind(a.getBody(),"mouseup",function(O){var N,M=m.getNode();if(M.nodeName=="IMG"){if(N=e.getStyle(M,"width")){e.setAttrib(M,"width",N.replace(/[^0-9%]+/g,""));e.setStyle(M,"width","")}if(N=e.getStyle(M,"height")){e.setAttrib(M,"height",N.replace(/[^0-9%]+/g,""));e.setStyle(M,"height","")}}})}function d(){a.onKeyDown.add(function(S,T){var R,M,N,P,Q,U,O;R=T.keyCode==k;if(!A(T)&&(R||T.keyCode==f)&&!j.modifierPressed(T)){M=m.getRng();N=M.startContainer;P=M.startOffset;O=M.collapsed;if(N.nodeType==3&&N.nodeValue.length>0&&((P===0&&!O)||(O&&P===(R?0:1)))){U=N.previousSibling;if(U&&U.nodeName=="IMG"){return}nonEmptyElements=S.schema.getNonEmptyElements();T.preventDefault();Q=e.create("br",{id:"__tmp"});N.parentNode.insertBefore(Q,N);S.getDoc().execCommand(R?"ForwardDelete":"Delete",false,null);N=m.getRng().startContainer;U=N.previousSibling;if(U&&U.nodeType==1&&!e.isBlock(U)&&e.isEmpty(U)&&!nonEmptyElements[U.nodeName.toLowerCase()]){e.remove(U)}e.remove("__tmp")}}})}function H(){a.onKeyDown.add(function(Q,R){var O,N,S,M,P;if(A(R)||R.keyCode!=j.BACKSPACE){return}O=m.getRng();N=O.startContainer;S=O.startOffset;M=e.getRoot();P=N;if(!O.collapsed||S!==0){return}while(P&&P.parentNode&&P.parentNode.firstChild==P&&P.parentNode!=M){P=P.parentNode}if(P.tagName==="BLOCKQUOTE"){Q.formatter.toggle("blockquote",null,P);O=e.createRng();O.setStart(N,0);O.setEnd(N,0);m.setRng(O)}})}function G(){function M(){a._refreshContentEditable();B("StyleWithCSS",false);B("enableInlineTableEditing",false);if(!I.object_resizing){B("enableObjectResizing",false)}}if(!I.readonly){a.onBeforeExecCommand.add(M);a.onMouseDown.add(M)}}function t(){function M(N,O){F(e.select("a"),function(R){var P=R.parentNode,Q=e.getRoot();if(P.lastChild===R){while(P&&!e.isBlock(P)){if(P.parentNode.lastChild!==P||P===Q){return}P=P.parentNode}e.add(P,"br",{"data-mce-bogus":1})}})}a.onExecCommand.add(function(N,O){if(O==="CreateLink"){M(N)}});a.onSetContent.add(m.onSetContent.add(M))}function n(){if(I.forced_root_block){a.onInit.add(function(){B("DefaultParagraphSeparator",I.forced_root_block)})}}function q(){function M(O,N){if(!O||!N.initial){a.execCommand("mceRepaint")}}a.onUndo.add(M);a.onRedo.add(M);a.onSetContent.add(M)}function i(){a.onKeyDown.add(function(N,O){var M;if(!A(O)&&O.keyCode==f){M=N.getDoc().selection.createRange();if(M&&M.item){O.preventDefault();N.undoManager.beforeChange();e.remove(M.item(0));N.undoManager.add()}}})}function s(){var M;if(o()>=10){M="";F("p div h1 h2 h3 h4 h5 h6".split(" "),function(N,O){M+=(O>0?",":"")+N+":empty"});a.contentStyles.push(M+"{padding-right: 1px !important}")}}function v(){var O,N,ae,M,Z,ac,aa,ad,P,Q,ab,X,W,Y=document,U=a.getDoc();if(!I.object_resizing||I.webkit_fake_resize===false){return}B("enableObjectResizing",false);ab={n:[0.5,0,0,-1],e:[1,0.5,1,0],s:[0.5,1,0,1],w:[0,0.5,-1,0],nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};function S(ai){var ah,ag;ah=ai.screenX-ac;ag=ai.screenY-aa;X=ah*Z[2]+ad;W=ag*Z[3]+P;X=X<5?5:X;W=W<5?5:W;if(j.modifierPressed(ai)||(ae.nodeName=="IMG"&&Z[2]*Z[3]!==0)){X=Math.round(W/Q);W=Math.round(X*Q)}e.setStyles(M,{width:X,height:W});if(Z[2]<0&&M.clientWidth<=X){e.setStyle(M,"left",O+(ad-X))}if(Z[3]<0&&M.clientHeight<=W){e.setStyle(M,"top",N+(P-W))}}function af(){function ag(ah,ai){if(ai){if(ae.style[ah]||!a.schema.isValid(ae.nodeName.toLowerCase(),ah)){e.setStyle(ae,ah,ai)}else{e.setAttrib(ae,ah,ai)}}}ag("width",X);ag("height",W);e.unbind(U,"mousemove",S);e.unbind(U,"mouseup",af);if(Y!=U){e.unbind(Y,"mousemove",S);e.unbind(Y,"mouseup",af)}e.remove(M);R(ae)}function R(aj){var ah,ai,ag;T();ah=e.getPos(aj);O=ah.x;N=ah.y;ai=aj.offsetWidth;ag=aj.offsetHeight;if(ae!=aj){ae=aj;X=W=0}F(ab,function(am,ak){var al;al=e.get("mceResizeHandle"+ak);if(!al){al=e.add(U.documentElement,"div",{id:"mceResizeHandle"+ak,"class":"mceResizeHandle",style:"cursor:"+ak+"-resize; margin:0; padding:0"});e.bind(al,"mousedown",function(an){an.preventDefault();af();ac=an.screenX;aa=an.screenY;ad=ae.clientWidth;P=ae.clientHeight;Q=P/ad;Z=am;M=ae.cloneNode(true);e.addClass(M,"mceClonedResizable");e.setStyles(M,{left:O,top:N,margin:0});U.documentElement.appendChild(M);e.bind(U,"mousemove",S);e.bind(U,"mouseup",af);if(Y!=U){e.bind(Y,"mousemove",S);e.bind(Y,"mouseup",af)}})}else{e.show(al)}e.setStyles(al,{left:(ai*am[0]+O)-(al.offsetWidth/2),top:(ag*am[1]+N)-(al.offsetHeight/2)})});if(!tinymce.isOpera&&ae.nodeName=="IMG"){ae.setAttribute("data-mce-selected","1")}}function T(){if(ae){ae.removeAttribute("data-mce-selected")}for(var ag in ab){e.hide("mceResizeHandle"+ag)}}a.contentStyles.push(".mceResizeHandle {position: absolute;border: 1px solid black;background: #FFF;width: 5px;height: 5px;z-index: 10000}.mceResizeHandle:hover {background: #000}img[data-mce-selected] {outline: 1px solid black}img.mceClonedResizable, table.mceClonedResizable {position: absolute;outline: 1px dashed black;opacity: .5;z-index: 10000}");function V(){var ag=e.getParent(m.getNode(),"table,img");F(e.select("img[data-mce-selected]"),function(ah){ah.removeAttribute("data-mce-selected")});if(ag){R(ag)}else{T()}}a.onNodeChange.add(V);e.bind(U,"selectionchange",V);a.serializer.addAttributeFilter("data-mce-selected",function(ag,ah){var ai=ag.length;while(ai--){ag[ai].attr(ah,null)}})}function E(){if(o()<9){x.addNodeFilter("noscript",function(M){var N=M.length,O,P;while(N--){O=M[N];P=O.firstChild;if(P){O.attr("data-mce-innertext",P.value)}}});p.addNodeFilter("noscript",function(M){var N=M.length,O,Q,P;while(N--){O=M[N];Q=M[N].firstChild;if(Q){Q.value=tinymce.html.Entities.decode(Q.value)}else{P=O.attributes.map["data-mce-innertext"];if(P){O.attr("data-mce-innertext",null);Q=new tinymce.html.Node("#text",3);Q.value=P;Q.raw=true;O.append(Q)}}}})}}function l(){a.contentStyles.push("body {min-height: 100px}");a.onClick.add(function(M,N){if(N.target.nodeName=="HTML"){a.execCommand("SelectAll");a.selection.collapse(true);a.nodeChanged()}})}u();H();r();if(tinymce.isWebKit){d();K();L();h();n();if(tinymce.isIDevice){b()}else{v();J()}}if(tinymce.isIE&&!tinymce.isIE11){C();y();D();g();i();s();E()}if(tinymce.isIE11){l()}if(tinymce.isGecko&&!tinymce.isIE11){C();z();c();G();t();q()}if(tinymce.isOpera){v()}};(function(j){var a,g,d,k=/[&<>\"\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,b=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,f=/[<>&\"\']/g,c=/&(#x|#)?([\w]+);/g,i={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"};g={'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","&":"&amp;"};d={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"};function h(l){var m;m=document.createElement("div");m.innerHTML=l;return m.textContent||m.innerText||l}function e(m,p){var n,o,l,q={};if(m){m=m.split(",");p=p||10;for(n=0;n<m.length;n+=2){o=String.fromCharCode(parseInt(m[n],p));if(!g[o]){l="&"+m[n+1]+";";q[o]=l;q[l]=o}}return q}}a=e("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);j.html=j.html||{};j.html.Entities={encodeRaw:function(m,l){return m.replace(l?k:b,function(n){return g[n]||n})},encodeAllRaw:function(l){return(""+l).replace(f,function(m){return g[m]||m})},encodeNumeric:function(m,l){return m.replace(l?k:b,function(n){if(n.length>1){return"&#"+(((n.charCodeAt(0)-55296)*1024)+(n.charCodeAt(1)-56320)+65536)+";"}return g[n]||"&#"+n.charCodeAt(0)+";"})},encodeNamed:function(n,l,m){m=m||a;return n.replace(l?k:b,function(o){return g[o]||m[o]||o})},getEncodeFunc:function(l,o){var p=j.html.Entities;o=e(o)||a;function m(r,q){return r.replace(q?k:b,function(s){return g[s]||o[s]||"&#"+s.charCodeAt(0)+";"||s})}function n(r,q){return p.encodeNamed(r,q,o)}l=j.makeMap(l.replace(/\+/g,","));if(l.named&&l.numeric){return m}if(l.named){if(o){return n}return p.encodeNamed}if(l.numeric){return p.encodeNumeric}return p.encodeRaw},decode:function(l){return l.replace(c,function(n,m,o){if(m){o=parseInt(o,m.length===2?16:10);if(o>65535){o-=65536;return String.fromCharCode(55296+(o>>10),56320+(o&1023))}else{return i[o]||String.fromCharCode(o)}}return d[n]||a[n]||h(n)})}}})(tinymce);tinymce.html.Styles=function(d,f){var k=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,h=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,b=/\s*([^:]+):\s*([^;]+);?/g,l=/\s+$/,m=/rgb/,e,g,a={},j;d=d||{};j="\\\" \\' \\; \\: ; : \uFEFF".split(" ");for(g=0;g<j.length;g++){a[j[g]]="\uFEFF"+g;a["\uFEFF"+g]=j[g]}function c(n,q,p,i){function o(r){r=parseInt(r).toString(16);return r.length>1?r:"0"+r}return"#"+o(q)+o(p)+o(i)}return{toHex:function(i){return i.replace(k,c)},parse:function(s){var z={},q,n,x,r,v=d.url_converter,y=d.url_converter_scope||this;function p(D,G){var F,C,B,E;if(z["border-image"]==="none"){delete z["border-image"]}F=z[D+"-top"+G];if(!F){return}C=z[D+"-right"+G];if(F!=C){return}B=z[D+"-bottom"+G];if(C!=B){return}E=z[D+"-left"+G];if(B!=E){return}z[D+G]=E;delete z[D+"-top"+G];delete z[D+"-right"+G];delete z[D+"-bottom"+G];delete z[D+"-left"+G]}function u(C){var D=z[C],B;if(!D||D.indexOf(" ")<0){return}D=D.split(" ");B=D.length;while(B--){if(D[B]!==D[0]){return false}}z[C]=D[0];return true}function A(D,C,B,E){if(!u(C)){return}if(!u(B)){return}if(!u(E)){return}z[D]=z[C]+" "+z[B]+" "+z[E];delete z[C];delete z[B];delete z[E]}function t(B){r=true;return a[B]}function i(C,B){if(r){C=C.replace(/\uFEFF[0-9]/g,function(D){return a[D]})}if(!B){C=C.replace(/\\([\'\";:])/g,"$1")}return C}function o(C,B,F,E,G,D){G=G||D;if(G){G=i(G);return"'"+G.replace(/\'/g,"\\'")+"'"}B=i(B||F||E);if(v){B=v.call(y,B,"style")}return"url('"+B.replace(/\'/g,"\\'")+"')"}if(s){s=s.replace(/\\[\"\';:\uFEFF]/g,t).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(B){return B.replace(/[;:]/g,t)});while(q=b.exec(s)){n=q[1].replace(l,"").toLowerCase();x=q[2].replace(l,"");if(n&&x.length>0){if(n==="font-weight"&&x==="700"){x="bold"}else{if(n==="color"||n==="background-color"){x=x.toLowerCase()}}x=x.replace(k,c);x=x.replace(h,o);z[n]=r?i(x,true):x}b.lastIndex=q.index+q[0].length}p("border","");p("border","-width");p("border","-color");p("border","-style");p("padding","");p("margin","");A("border","border-width","border-style","border-color");if(z.border==="medium none"){delete z.border}}return z},serialize:function(p,r){var o="",n,q;function i(t){var x,u,s,v;x=f.styles[t];if(x){for(u=0,s=x.length;u<s;u++){t=x[u];v=p[t];if(v!==e&&v.length>0){o+=(o.length>0?" ":"")+t+": "+v+";"}}}}if(r&&f&&f.styles){i("*");i(r)}else{for(n in p){q=p[n];if(q!==e&&q.length>0){o+=(o.length>0?" ":"")+n+": "+q+";"}}}return o}}};(function(f){var a={},e=f.makeMap,g=f.each;function d(j,i){return j.split(i||",")}function h(m,l){var j,k={};function i(n){return n.replace(/[A-Z]+/g,function(o){return i(m[o])})}for(j in m){if(m.hasOwnProperty(j)){m[j]=i(m[j])}}i(l).replace(/#/g,"#text").replace(/(\w+)\[([^\]]+)\]\[([^\]]*)\]/g,function(q,o,n,p){n=d(n,"|");k[o]={attributes:e(n),attributesOrder:n,children:e(p,"|",{"#comment":{}})}});return k}function b(){var i=a.html5;if(!i){i=a.html5=h({A:"id|accesskey|class|dir|draggable|item|hidden|itemprop|role|spellcheck|style|subject|title|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"#|a|abbr|area|audio|b|bdo|br|button|canvas|cite|code|command|datalist|del|dfn|em|embed|i|iframe|img|input|ins|kbd|keygen|label|link|map|mark|meta|meter|noscript|object|output|progress|q|ruby|samp|script|select|small|span|strong|sub|sup|svg|textarea|time|var|video|wbr",C:"#|a|abbr|area|address|article|aside|audio|b|bdo|blockquote|br|button|canvas|cite|code|command|datalist|del|details|dfn|dialog|div|dl|em|embed|fieldset|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|i|iframe|img|input|ins|kbd|keygen|label|link|map|mark|menu|meta|meter|nav|noscript|ol|object|output|p|pre|progress|q|ruby|samp|script|section|select|small|span|strong|style|sub|sup|svg|table|textarea|time|ul|var|video"},"html[A|manifest][body|head]head[A][base|command|link|meta|noscript|script|style|title]title[A][#]base[A|href|target][]link[A|href|rel|media|type|sizes][]meta[A|http-equiv|name|content|charset][]style[A|type|media|scoped][#]script[A|charset|type|src|defer|async][#]noscript[A][C]body[A][C]section[A][C]nav[A][C]article[A][C]aside[A][C]h1[A][B]h2[A][B]h3[A][B]h4[A][B]h5[A][B]h6[A][B]hgroup[A][h1|h2|h3|h4|h5|h6]header[A][C]footer[A][C]address[A][C]p[A][B]br[A][]pre[A][B]dialog[A][dd|dt]blockquote[A|cite][C]ol[A|start|reversed][li]ul[A][li]li[A|value][C]dl[A][dd|dt]dt[A][B]dd[A][C]a[A|href|target|ping|rel|media|type][B]em[A][B]strong[A][B]small[A][B]cite[A][B]q[A|cite][B]dfn[A][B]abbr[A][B]code[A][B]var[A][B]samp[A][B]kbd[A][B]sub[A][B]sup[A][B]i[A][B]b[A][B]mark[A][B]progress[A|value|max][B]meter[A|value|min|max|low|high|optimum][B]time[A|datetime][B]ruby[A][B|rt|rp]rt[A][B]rp[A][B]bdo[A][B]span[A][B]ins[A|cite|datetime][B]del[A|cite|datetime][B]figure[A][C|legend|figcaption]figcaption[A][C]img[A|alt|src|height|width|usemap|ismap][]iframe[A|name|src|height|width|sandbox|seamless][]embed[A|src|height|width|type][]object[A|data|type|height|width|usemap|name|form|classid][param]param[A|name|value][]details[A|open][C|legend]command[A|type|label|icon|disabled|checked|radiogroup][]menu[A|type|label][C|li]legend[A][C|B]div[A][C]source[A|src|type|media][]audio[A|src|autobuffer|autoplay|loop|controls][source]video[A|src|autobuffer|autoplay|loop|controls|width|height|poster][source]hr[A][]form[A|accept-charset|action|autocomplete|enctype|method|name|novalidate|target][C]fieldset[A|disabled|form|name][C|legend]label[A|form|for][B]input[A|type|accept|alt|autocomplete|autofocus|checked|disabled|form|formaction|formenctype|formmethod|formnovalidate|formtarget|height|list|max|maxlength|min|multiple|pattern|placeholder|readonly|required|size|src|step|width|files|value|name][]button[A|autofocus|disabled|form|formaction|formenctype|formmethod|formnovalidate|formtarget|name|value|type][B]select[A|autofocus|disabled|form|multiple|name|size][option|optgroup]datalist[A][B|option]optgroup[A|disabled|label][option]option[A|disabled|selected|label|value][]textarea[A|autofocus|disabled|form|maxlength|name|placeholder|readonly|required|rows|cols|wrap][]keygen[A|autofocus|challenge|disabled|form|keytype|name][]output[A|for|form|name][B]canvas[A|width|height][]map[A|name][B|C]area[A|shape|coords|href|alt|target|media|rel|ping|type][]mathml[A][]svg[A][]table[A|border][caption|colgroup|thead|tfoot|tbody|tr]caption[A][C]colgroup[A|span][col]col[A|span][]thead[A][tr]tfoot[A][tr]tbody[A][tr]tr[A][th|td]th[A|headers|rowspan|colspan|scope][B]td[A|headers|rowspan|colspan][C]wbr[A][]")}return i}function c(){var i=a.html4;if(!i){i=a.html4=h({Z:"H|K|N|O|P",Y:"X|form|R|Q",ZG:"E|span|width|align|char|charoff|valign",X:"p|T|div|U|W|isindex|fieldset|table",ZF:"E|align|char|charoff|valign",W:"pre|hr|blockquote|address|center|noframes",ZE:"abbr|axis|headers|scope|rowspan|colspan|align|char|charoff|valign|nowrap|bgcolor|width|height",ZD:"[E][S]",U:"ul|ol|dl|menu|dir",ZC:"p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q",T:"h1|h2|h3|h4|h5|h6",ZB:"X|S|Q",S:"R|P",ZA:"a|G|J|M|O|P",R:"a|H|K|N|O",Q:"noscript|P",P:"ins|del|script",O:"input|select|textarea|label|button",N:"M|L",M:"em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym",L:"sub|sup",K:"J|I",J:"tt|i|b|u|s|strike",I:"big|small|font|basefont",H:"G|F",G:"br|span|bdo",F:"object|applet|img|map|iframe",E:"A|B|C",D:"accesskey|tabindex|onfocus|onblur",C:"onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"lang|xml:lang|dir",A:"id|class|style|title"},"script[id|charset|type|language|src|defer|xml:space][]style[B|id|type|media|title|xml:space][]object[E|declare|classid|codebase|data|type|codetype|archive|standby|width|height|usemap|name|tabindex|align|border|hspace|vspace][#|param|Y]param[id|name|value|valuetype|type][]p[E|align][#|S]a[E|D|charset|type|name|href|hreflang|rel|rev|shape|coords|target][#|Z]br[A|clear][]span[E][#|S]bdo[A|C|B][#|S]applet[A|codebase|archive|code|object|alt|name|width|height|align|hspace|vspace][#|param|Y]h1[E|align][#|S]img[E|src|alt|name|longdesc|width|height|usemap|ismap|align|border|hspace|vspace][]map[B|C|A|name][X|form|Q|area]h2[E|align][#|S]iframe[A|longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height][#|Y]h3[E|align][#|S]tt[E][#|S]i[E][#|S]b[E][#|S]u[E][#|S]s[E][#|S]strike[E][#|S]big[E][#|S]small[E][#|S]font[A|B|size|color|face][#|S]basefont[id|size|color|face][]em[E][#|S]strong[E][#|S]dfn[E][#|S]code[E][#|S]q[E|cite][#|S]samp[E][#|S]kbd[E][#|S]var[E][#|S]cite[E][#|S]abbr[E][#|S]acronym[E][#|S]sub[E][#|S]sup[E][#|S]input[E|D|type|name|value|checked|disabled|readonly|size|maxlength|src|alt|usemap|onselect|onchange|accept|align][]select[E|name|size|multiple|disabled|tabindex|onfocus|onblur|onchange][optgroup|option]optgroup[E|disabled|label][option]option[E|selected|disabled|label|value][]textarea[E|D|name|rows|cols|disabled|readonly|onselect|onchange][]label[E|for|accesskey|onfocus|onblur][#|S]button[E|D|name|value|type|disabled][#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]h4[E|align][#|S]ins[E|cite|datetime][#|Y]h5[E|align][#|S]del[E|cite|datetime][#|Y]h6[E|align][#|S]div[E|align][#|Y]ul[E|type|compact][li]li[E|type|value][#|Y]ol[E|type|compact|start][li]dl[E|compact][dt|dd]dt[E][#|S]dd[E][#|Y]menu[E|compact][li]dir[E|compact][li]pre[E|width|xml:space][#|ZA]hr[E|align|noshade|size|width][]blockquote[E|cite][#|Y]address[E][#|S|p]center[E][#|Y]noframes[E][#|Y]isindex[A|B|prompt][]fieldset[E][#|legend|Y]legend[E|accesskey|align][#|S]table[E|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor][caption|col|colgroup|thead|tfoot|tbody|tr]caption[E|align][#|S]col[ZG][]colgroup[ZG][col]thead[ZF][tr]tr[ZF|bgcolor][th|td]th[E|ZE][#|Y]form[E|action|method|name|enctype|onsubmit|onreset|accept|accept-charset|target][#|X|R|Q]noscript[E][#|Y]td[E|ZE][#|Y]tfoot[ZF][tr]tbody[ZF][tr]area[E|D|shape|coords|href|nohref|alt|target][]base[id|href|target][]body[E|onload|onunload|background|bgcolor|text|link|vlink|alink][#|Y]")}return i}f.html.Schema=function(A){var u=this,s={},k={},j=[],D,y;var o,q,z,r,v,n,p={};function m(F,E,H){var G=A[F];if(!G){G=a[F];if(!G){G=e(E," ",e(E.toUpperCase()," "));G=f.extend(G,H);a[F]=G}}else{G=e(G,",",e(G.toUpperCase()," "))}return G}A=A||{};y=A.schema=="html5"?b():c();if(A.verify_html===false){A.valid_elements="*[*]"}if(A.valid_styles){D={};g(A.valid_styles,function(F,E){D[E]=f.explode(F)})}o=m("whitespace_elements","pre script noscript style textarea");q=m("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr");z=m("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr");r=m("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls");n=m("non_empty_elements","td th iframe video audio object script",z);textBlockElementsMap=m("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");v=m("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex samp option datalist select optgroup",textBlockElementsMap);function i(E){return new RegExp("^"+E.replace(/([?+*])/g,".$1")+"$")}function C(L){var K,G,Z,V,aa,F,I,U,X,Q,Y,ac,O,J,W,E,S,H,ab,ad,P,T,N=/^([#+\-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/,R=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,M=/[*?+]/;if(L){L=d(L);if(s["@"]){S=s["@"].attributes;H=s["@"].attributesOrder}for(K=0,G=L.length;K<G;K++){F=N.exec(L[K]);if(F){W=F[1];Q=F[2];E=F[3];X=F[4];O={};J=[];I={attributes:O,attributesOrder:J};if(W==="#"){I.paddEmpty=true}if(W==="-"){I.removeEmpty=true}if(S){for(ad in S){O[ad]=S[ad]}J.push.apply(J,H)}if(X){X=d(X,"|");for(Z=0,V=X.length;Z<V;Z++){F=R.exec(X[Z]);if(F){U={};ac=F[1];Y=F[2].replace(/::/g,":");W=F[3];T=F[4];if(ac==="!"){I.attributesRequired=I.attributesRequired||[];I.attributesRequired.push(Y);U.required=true}if(ac==="-"){delete O[Y];J.splice(f.inArray(J,Y),1);continue}if(W){if(W==="="){I.attributesDefault=I.attributesDefault||[];I.attributesDefault.push({name:Y,value:T});U.defaultValue=T}if(W===":"){I.attributesForced=I.attributesForced||[];I.attributesForced.push({name:Y,value:T});U.forcedValue=T}if(W==="<"){U.validValues=e(T,"?")}}if(M.test(Y)){I.attributePatterns=I.attributePatterns||[];U.pattern=i(Y);I.attributePatterns.push(U)}else{if(!O[Y]){J.push(Y)}O[Y]=U}}}}if(!S&&Q=="@"){S=O;H=J}if(E){I.outputName=Q;s[E]=I}if(M.test(Q)){I.pattern=i(Q);j.push(I)}else{s[Q]=I}}}}}function t(E){s={};j=[];C(E);g(y,function(G,F){k[F]=G.children})}function l(F){var E=/^(~)?(.+)$/;if(F){g(d(F),function(J){var H=E.exec(J),I=H[1]==="~",K=I?"span":"div",G=H[2];k[G]=k[K];p[G]=K;if(!I){v[G.toUpperCase()]={};v[G]={}}if(!s[G]){s[G]=s[K]}g(k,function(L,M){if(L[K]){L[G]=L[K]}})})}}function x(F){var E=/^([+\-]?)(\w+)\[([^\]]+)\]$/;if(F){g(d(F),function(J){var I=E.exec(J),G,H;if(I){H=I[1];if(H){G=k[I[2]]}else{G=k[I[2]]={"#comment":{}}}G=k[I[2]];g(d(I[3],"|"),function(K){if(H==="-"){delete G[K]}else{G[K]={}}})}})}}function B(E){var G=s[E],F;if(G){return G}F=j.length;while(F--){G=j[F];if(G.pattern.test(E)){return G}}}if(!A.valid_elements){g(y,function(F,E){s[E]={attributes:F.attributes,attributesOrder:F.attributesOrder};k[E]=F.children});if(A.schema!="html5"){g(d("strong/b,em/i"),function(E){E=d(E,"/");s[E[1]].outputName=E[0]})}s.img.attributesDefault=[{name:"alt",value:""}];g(d("ol,ul,sub,sup,blockquote,span,font,a,table,tbody,tr,strong,em,b,i"),function(E){if(s[E]){s[E].removeEmpty=true}});g(d("p,h1,h2,h3,h4,h5,h6,th,td,pre,div,address,caption"),function(E){s[E].paddEmpty=true})}else{t(A.valid_elements)}l(A.custom_elements);x(A.valid_children);C(A.extended_valid_elements);x("+ol[ul|ol],+ul[ul|ol]");if(A.invalid_elements){f.each(f.explode(A.invalid_elements),function(E){if(s[E]){delete s[E]}})}if(!B("span")){C("span[!data-mce-type|*]")}u.children=k;u.styles=D;u.getBoolAttrs=function(){return r};u.getBlockElements=function(){return v};u.getTextBlockElements=function(){return textBlockElementsMap};u.getShortEndedElements=function(){return z};u.getSelfClosingElements=function(){return q};u.getNonEmptyElements=function(){return n};u.getWhiteSpaceElements=function(){return o};u.isValidChild=function(E,G){var F=k[E];return !!(F&&F[G])};u.isValid=function(F,E){var H,G,I=B(F);if(I){if(E){if(I.attributes[E]){return true}H=I.attributePatterns;if(H){G=H.length;while(G--){if(H[G].pattern.test(F)){return true}}}}else{return true}}return false};u.getElementRule=B;u.getCustomElements=function(){return p};u.addValidElements=C;u.setValidElements=t;u.addCustomElements=l;u.addValidChildren=x;u.elements=s}})(tinymce);(function(a){a.html.SaxParser=function(c,e){var b=this,d=function(){};c=c||{};b.schema=e=e||new a.html.Schema();if(c.fix_self_closing!==false){c.fix_self_closing=true}a.each("comment cdata text start end pi doctype".split(" "),function(f){if(f){b[f]=c[f]||d}});b.parse=function(E){var n=this,g,G=0,I,B,A=[],N,Q,C,r,z,s,M,H,O,v,m,k,t,R,o,P,F,S,L,f,J,l,D,K,h,x=0,j=a.html.Entities.decode,y,q;function u(T){var V,U;V=A.length;while(V--){if(A[V].name===T){break}}if(V>=0){for(U=A.length-1;U>=V;U--){T=A[U];if(T.valid){n.end(T.name)}}A.length=V}}function p(U,T,Y,X,W){var Z,V;T=T.toLowerCase();Y=T in H?T:j(Y||X||W||"");if(v&&!z&&T.indexOf("data-")!==0){Z=P[T];if(!Z&&F){V=F.length;while(V--){Z=F[V];if(Z.pattern.test(T)){break}}if(V===-1){Z=null}}if(!Z){return}if(Z.validValues&&!(Y in Z.validValues)){return}}N.map[T]=Y;N.push({name:T,value:Y})}l=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([A-Za-z0-9\\-\\:\\.]+)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g");D=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g;K={script:/<\/script[^>]*>/gi,style:/<\/style[^>]*>/gi,noscript:/<\/noscript[^>]*>/gi};M=e.getShortEndedElements();J=c.self_closing_elements||e.getSelfClosingElements();H=e.getBoolAttrs();v=c.validate;s=c.remove_internals;y=c.fix_self_closing;q=a.isIE;o=/^:/;while(g=l.exec(E)){if(G<g.index){n.text(j(E.substr(G,g.index-G)))}if(I=g[6]){I=I.toLowerCase();if(q&&o.test(I)){I=I.substr(1)}u(I)}else{if(I=g[7]){I=I.toLowerCase();if(q&&o.test(I)){I=I.substr(1)}O=I in M;if(y&&J[I]&&A.length>0&&A[A.length-1].name===I){u(I)}if(!v||(m=e.getElementRule(I))){k=true;if(v){P=m.attributes;F=m.attributePatterns}if(R=g[8]){z=R.indexOf("data-mce-type")!==-1;if(z&&s){k=false}N=[];N.map={};R.replace(D,p)}else{N=[];N.map={}}if(v&&!z){S=m.attributesRequired;L=m.attributesDefault;f=m.attributesForced;if(f){Q=f.length;while(Q--){t=f[Q];r=t.name;h=t.value;if(h==="{$uid}"){h="mce_"+x++}N.map[r]=h;N.push({name:r,value:h})}}if(L){Q=L.length;while(Q--){t=L[Q];r=t.name;if(!(r in N.map)){h=t.value;if(h==="{$uid}"){h="mce_"+x++}N.map[r]=h;N.push({name:r,value:h})}}}if(S){Q=S.length;while(Q--){if(S[Q] in N.map){break}}if(Q===-1){k=false}}if(N.map["data-mce-bogus"]){k=false}}if(k){n.start(I,N,O)}}else{k=false}if(B=K[I]){B.lastIndex=G=g.index+g[0].length;if(g=B.exec(E)){if(k){C=E.substr(G,g.index-G)}G=g.index+g[0].length}else{C=E.substr(G);G=E.length}if(k&&C.length>0){n.text(C,true)}if(k){n.end(I)}l.lastIndex=G;continue}if(!O){if(!R||R.indexOf("/")!=R.length-1){A.push({name:I,valid:k})}else{if(k){n.end(I)}}}}else{if(I=g[1]){n.comment(I)}else{if(I=g[2]){n.cdata(I)}else{if(I=g[3]){n.doctype(I)}else{if(I=g[4]){n.pi(I,g[5])}}}}}}G=g.index+g[0].length}if(G<E.length){n.text(j(E.substr(G)))}for(Q=A.length-1;Q>=0;Q--){I=A[Q];if(I.valid){n.end(I.name)}}}}})(tinymce);(function(d){var c=/^[ \t\r\n]*$/,e={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};function a(k,l,j){var i,h,f=j?"lastChild":"firstChild",g=j?"prev":"next";if(k[f]){return k[f]}if(k!==l){i=k[g];if(i){return i}for(h=k.parent;h&&h!==l;h=h.parent){i=h[g];if(i){return i}}}}function b(f,g){this.name=f;this.type=g;if(g===1){this.attributes=[];this.attributes.map={}}}d.extend(b.prototype,{replace:function(g){var f=this;if(g.parent){g.remove()}f.insert(g,f);f.remove();return f},attr:function(h,l){var f=this,g,j,k;if(typeof h!=="string"){for(j in h){f.attr(j,h[j])}return f}if(g=f.attributes){if(l!==k){if(l===null){if(h in g.map){delete g.map[h];j=g.length;while(j--){if(g[j].name===h){g=g.splice(j,1);return f}}}return f}if(h in g.map){j=g.length;while(j--){if(g[j].name===h){g[j].value=l;break}}}else{g.push({name:h,value:l})}g.map[h]=l;return f}else{return g.map[h]}}},clone:function(){var g=this,n=new b(g.name,g.type),h,f,m,j,k;if(m=g.attributes){k=[];k.map={};for(h=0,f=m.length;h<f;h++){j=m[h];if(j.name!=="id"){k[k.length]={name:j.name,value:j.value};k.map[j.name]=j.value}}n.attributes=k}n.value=g.value;n.shortEnded=g.shortEnded;return n},wrap:function(g){var f=this;f.parent.insert(g,f);g.append(f);return f},unwrap:function(){var f=this,h,g;for(h=f.firstChild;h;){g=h.next;f.insert(h,f,true);h=g}f.remove()},remove:function(){var f=this,h=f.parent,g=f.next,i=f.prev;if(h){if(h.firstChild===f){h.firstChild=g;if(g){g.prev=null}}else{i.next=g}if(h.lastChild===f){h.lastChild=i;if(i){i.next=null}}else{g.prev=i}f.parent=f.next=f.prev=null}return f},append:function(h){var f=this,g;if(h.parent){h.remove()}g=f.lastChild;if(g){g.next=h;h.prev=g;f.lastChild=h}else{f.lastChild=f.firstChild=h}h.parent=f;return h},insert:function(h,f,i){var g;if(h.parent){h.remove()}g=f.parent||this;if(i){if(f===g.firstChild){g.firstChild=h}else{f.prev.next=h}h.prev=f.prev;h.next=f;f.prev=h}else{if(f===g.lastChild){g.lastChild=h}else{f.next.prev=h}h.next=f.next;h.prev=f;f.next=h}h.parent=g;return h},getAll:function(g){var f=this,h,i=[];for(h=f.firstChild;h;h=a(h,f)){if(h.name===g){i.push(h)}}return i},empty:function(){var g=this,f,h,j;if(g.firstChild){f=[];for(j=g.firstChild;j;j=a(j,g)){f.push(j)}h=f.length;while(h--){j=f[h];j.parent=j.firstChild=j.lastChild=j.next=j.prev=null}}g.firstChild=g.lastChild=null;return g},isEmpty:function(k){var f=this,j=f.firstChild,h,g;if(j){do{if(j.type===1){if(j.attributes.map["data-mce-bogus"]){continue}if(k[j.name]){return false}h=j.attributes.length;while(h--){g=j.attributes[h].name;if(g==="name"||g.indexOf("data-mce-")===0){return false}}}if(j.type===8){return false}if((j.type===3&&!c.test(j.value))){return false}}while(j=a(j,f))}return true},walk:function(f){return a(this,null,f)}});d.extend(b,{create:function(g,f){var i,h;i=new b(g,e[g]||1);if(f){for(h in f){i.attr(h,f[h])}}return i}});d.html.Node=b})(tinymce);(function(b){var a=b.html.Node;b.html.DomParser=function(g,h){var f=this,e={},d=[],i={},c={};g=g||{};g.validate="validate" in g?g.validate:true;g.root_name=g.root_name||"body";f.schema=h=h||new b.html.Schema();function j(n){var p,q,y,x,A,o,r,l,u,v,k,t,m,z,s;t=b.makeMap("tr,td,th,tbody,thead,tfoot,table");k=h.getNonEmptyElements();m=h.getTextBlockElements();for(p=0;p<n.length;p++){q=n[p];if(!q.parent||q.fixed){continue}if(m[q.name]&&q.parent.name=="li"){z=q.next;while(z){if(m[z.name]){z.name="li";z.fixed=true;q.parent.insert(z,q.parent)}else{break}z=z.next}q.unwrap(q);continue}x=[q];for(y=q.parent;y&&!h.isValidChild(y.name,q.name)&&!t[y.name];y=y.parent){x.push(y)}if(y&&x.length>1){x.reverse();A=o=f.filterNode(x[0].clone());for(u=0;u<x.length-1;u++){if(h.isValidChild(o.name,x[u].name)){r=f.filterNode(x[u].clone());o.append(r)}else{r=o}for(l=x[u].firstChild;l&&l!=x[u+1];){s=l.next;r.append(l);l=s}o=r}if(!A.isEmpty(k)){y.insert(A,x[0],true);y.insert(q,A)}else{y.insert(q,x[0],true)}y=x[0];if(y.isEmpty(k)||y.firstChild===y.lastChild&&y.firstChild.name==="br"){y.empty().remove()}}else{if(q.parent){if(q.name==="li"){z=q.prev;if(z&&(z.name==="ul"||z.name==="ul")){z.append(q);continue}z=q.next;if(z&&(z.name==="ul"||z.name==="ul")){z.insert(q,z.firstChild,true);continue}q.wrap(f.filterNode(new a("ul",1)));continue}if(h.isValidChild(q.parent.name,"div")&&h.isValidChild("div",q.name)){q.wrap(f.filterNode(new a("div",1)))}else{if(q.name==="style"||q.name==="script"){q.empty().remove()}else{q.unwrap()}}}}}}f.filterNode=function(m){var l,k,n;if(k in e){n=i[k];if(n){n.push(m)}else{i[k]=[m]}}l=d.length;while(l--){k=d[l].name;if(k in m.attributes.map){n=c[k];if(n){n.push(m)}else{c[k]=[m]}}}return m};f.addNodeFilter=function(k,l){b.each(b.explode(k),function(m){var n=e[m];if(!n){e[m]=n=[]}n.push(l)})};f.addAttributeFilter=function(k,l){b.each(b.explode(k),function(m){var n;for(n=0;n<d.length;n++){if(d[n].name===m){d[n].callbacks.push(l);return}}d.push({name:m,callbacks:[l]})})};f.parse=function(v,m){var n,J,B,A,D,C,x,r,F,N,z,o,E,M=[],L,t,k,y,s,p,u,q;m=m||{};i={};c={};o=b.extend(b.makeMap("script,style,head,html,body,title,meta,param"),h.getBlockElements());u=h.getNonEmptyElements();p=h.children;z=g.validate;q="forced_root_block" in m?m.forced_root_block:g.forced_root_block;s=h.getWhiteSpaceElements();E=/^[ \t\r\n]+/;t=/[ \t\r\n]+$/;k=/[ \t\r\n]+/g;y=/^[ \t\r\n]+$/;function G(){var O=J.firstChild,l,P;while(O){l=O.next;if(O.type==3||(O.type==1&&O.name!=="p"&&!o[O.name]&&!O.attr("data-mce-type"))){if(!P){P=K(q,1);J.insert(P,O);P.append(O)}else{P.append(O)}}else{P=null}O=l}}function K(l,O){var P=new a(l,O),Q;if(l in e){Q=i[l];if(Q){Q.push(P)}else{i[l]=[P]}}return P}function I(P){var Q,l,O;for(Q=P.prev;Q&&Q.type===3;){l=Q.value.replace(t,"");if(l.length>0){Q.value=l;Q=Q.prev}else{O=Q.prev;Q.remove();Q=O}}}function H(O){var P,l={};for(P in O){if(P!=="li"&&P!="p"){l[P]=O[P]}}return l}n=new b.html.SaxParser({validate:z,self_closing_elements:H(h.getSelfClosingElements()),cdata:function(l){B.append(K("#cdata",4)).value=l},text:function(P,l){var O;if(!L){P=P.replace(k," ");if(B.lastChild&&o[B.lastChild.name]){P=P.replace(E,"")}}if(P.length!==0){O=K("#text",3);O.raw=!!l;B.append(O).value=P}},comment:function(l){B.append(K("#comment",8)).value=l},pi:function(l,O){B.append(K(l,7)).value=O;I(B)},doctype:function(O){var l;l=B.append(K("#doctype",10));l.value=O;I(B)},start:function(l,W,P){var U,R,Q,O,S,X,V,T;Q=z?h.getElementRule(l):{};if(Q){U=K(Q.outputName||l,1);U.attributes=W;U.shortEnded=P;B.append(U);T=p[B.name];if(T&&p[U.name]&&!T[U.name]){M.push(U)}R=d.length;while(R--){S=d[R].name;if(S in W.map){F=c[S];if(F){F.push(U)}else{c[S]=[U]}}}if(o[l]){I(U)}if(!P){B=U}if(!L&&s[l]){L=true}}},end:function(l){var S,P,R,O,Q;P=z?h.getElementRule(l):{};if(P){if(o[l]){if(!L){S=B.firstChild;if(S&&S.type===3){R=S.value.replace(E,"");if(R.length>0){S.value=R;S=S.next}else{O=S.next;S.remove();S=O}while(S&&S.type===3){R=S.value;O=S.next;if(R.length===0||y.test(R)){S.remove();S=O}S=O}}S=B.lastChild;if(S&&S.type===3){R=S.value.replace(t,"");if(R.length>0){S.value=R;S=S.prev}else{O=S.prev;S.remove();S=O}while(S&&S.type===3){R=S.value;O=S.prev;if(R.length===0||y.test(R)){S.remove();S=O}S=O}}}}if(L&&s[l]){L=false}if(P.removeEmpty||P.paddEmpty){if(B.isEmpty(u)){if(P.paddEmpty){B.empty().append(new a("#text","3")).value="\u00a0"}else{if(!B.attributes.map.name&&!B.attributes.map.id){Q=B.parent;B.empty().remove();B=Q;return}}}}B=B.parent}}},h);J=B=new a(m.context||g.root_name,11);n.parse(v);if(z&&M.length){if(!m.context){j(M)}else{m.invalid=true}}if(q&&J.name=="body"){G()}if(!m.invalid){for(N in i){F=e[N];A=i[N];x=A.length;while(x--){if(!A[x].parent){A.splice(x,1)}}for(D=0,C=F.length;D<C;D++){F[D](A,N,m)}}for(D=0,C=d.length;D<C;D++){F=d[D];if(F.name in c){A=c[F.name];x=A.length;while(x--){if(!A[x].parent){A.splice(x,1)}}for(x=0,r=F.callbacks.length;x<r;x++){F.callbacks[x](A,F.name,m)}}}}return J};if(g.remove_trailing_brs){f.addNodeFilter("br",function(n,m){var r,q=n.length,o,v=b.extend({},h.getBlockElements()),k=h.getNonEmptyElements(),t,s,p,u;v.body=1;for(r=0;r<q;r++){o=n[r];t=o.parent;if(v[o.parent.name]&&o===t.lastChild){p=o.prev;while(p){u=p.name;if(u!=="span"||p.attr("data-mce-type")!=="bookmark"){if(u!=="br"){break}if(u==="br"){o=null;break}}p=p.prev}if(o){o.remove();if(t.isEmpty(k)){elementRule=h.getElementRule(t.name);if(elementRule){if(elementRule.removeEmpty){t.remove()}else{if(elementRule.paddEmpty){t.empty().append(new b.html.Node("#text",3)).value="\u00a0"}}}}}}else{s=o;while(t.firstChild===s&&t.lastChild===s){s=t;if(v[t.name]){break}t=t.parent}if(s===t){textNode=new b.html.Node("#text",3);textNode.value="\u00a0";o.replace(textNode)}}}})}if(!g.allow_html_in_named_anchor){f.addAttributeFilter("id,name",function(k,l){var n=k.length,p,m,o,q;while(n--){q=k[n];if(q.name==="a"&&q.firstChild&&!q.attr("href")){o=q.parent;p=q.lastChild;do{m=p.prev;o.insert(p,q);p=m}while(p)}}})}}})(tinymce);tinymce.html.Writer=function(e){var c=[],a,b,d,f,g;e=e||{};a=e.indent;b=tinymce.makeMap(e.indent_before||"");d=tinymce.makeMap(e.indent_after||"");f=tinymce.html.Entities.getEncodeFunc(e.entity_encoding||"raw",e.entities);g=e.element_format=="html";return{start:function(m,k,p){var n,j,h,o;if(a&&b[m]&&c.length>0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}c.push("<",m);if(k){for(n=0,j=k.length;n<j;n++){h=k[n];c.push(" ",h.name,'="',f(h.value,true),'"')}}if(!p||g){c[c.length]=">"}else{c[c.length]=" />"}if(p&&a&&d[m]&&c.length>0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}},end:function(h){var i;c.push("</",h,">");if(a&&d[h]&&c.length>0){i=c[c.length-1];if(i.length>0&&i!=="\n"){c.push("\n")}}},text:function(i,h){if(i.length>0){c[c.length]=h?i:f(i)}},cdata:function(h){c.push("<![CDATA[",h,"]]>")},comment:function(h){c.push("<!--",h,"-->")},pi:function(h,i){if(i){c.push("<?",h," ",i,"?>")}else{c.push("<?",h,"?>")}if(a){c.push("\n")}},doctype:function(h){c.push("<!DOCTYPE",h,">",a?"\n":"")},reset:function(){c.length=0},getContent:function(){return c.join("").replace(/\n$/,"")}}};(function(a){a.html.Serializer=function(c,d){var b=this,e=new a.html.Writer(c);c=c||{};c.validate="validate" in c?c.validate:true;b.schema=d=d||new a.html.Schema();b.writer=e;b.serialize=function(h){var g,i;i=c.validate;g={3:function(k,j){e.text(k.value,k.raw)},8:function(j){e.comment(j.value)},7:function(j){e.pi(j.name,j.value)},10:function(j){e.doctype(j.value)},4:function(j){e.cdata(j.value)},11:function(j){if((j=j.firstChild)){do{f(j)}while(j=j.next)}}};e.reset();function f(k){var t=g[k.type],j,o,s,r,p,u,n,m,q;if(!t){j=k.name;o=k.shortEnded;s=k.attributes;if(i&&s&&s.length>1){u=[];u.map={};q=d.getElementRule(k.name);for(n=0,m=q.attributesOrder.length;n<m;n++){r=q.attributesOrder[n];if(r in s.map){p=s.map[r];u.map[r]=p;u.push({name:r,value:p})}}for(n=0,m=s.length;n<m;n++){r=s[n].name;if(!(r in u.map)){p=s.map[r];u.map[r]=p;u.push({name:r,value:p})}}s=u}e.start(k.name,s,o);if(!o){if((k=k.firstChild)){do{f(k)}while(k=k.next)}e.end(j)}}else{t(k)}}if(h.type==1&&!c.inner){f(h)}else{g[11](h)}return e.getContent()}}})(tinymce);tinymce.dom={};(function(b,h){var g=!!document.addEventListener;function c(k,j,l,i){if(k.addEventListener){k.addEventListener(j,l,i||false)}else{if(k.attachEvent){k.attachEvent("on"+j,l)}}}function e(k,j,l,i){if(k.removeEventListener){k.removeEventListener(j,l,i||false)}else{if(k.detachEvent){k.detachEvent("on"+j,l)}}}function a(n,l){var i,k=l||{};function j(){return false}function m(){return true}for(i in n){if(i!=="layerX"&&i!=="layerY"){k[i]=n[i]}}if(!k.target){k.target=k.srcElement||document}k.preventDefault=function(){k.isDefaultPrevented=m;if(n){if(n.preventDefault){n.preventDefault()}else{n.returnValue=false}}};k.stopPropagation=function(){k.isPropagationStopped=m;if(n){if(n.stopPropagation){n.stopPropagation()}else{n.cancelBubble=true}}};k.stopImmediatePropagation=function(){k.isImmediatePropagationStopped=m;k.stopPropagation()};if(!k.isDefaultPrevented){k.isDefaultPrevented=j;k.isPropagationStopped=j;k.isImmediatePropagationStopped=j}return k}function d(m,n,l){var k=m.document,j={type:"ready"};function i(){if(!l.domLoaded){l.domLoaded=true;n(j)}}if(k.readyState=="complete"){i();return}if(g){c(m,"DOMContentLoaded",i)}else{c(k,"readystatechange",function(){if(k.readyState==="complete"){e(k,"readystatechange",arguments.callee);i()}});if(k.documentElement.doScroll&&m===m.top){(function(){try{k.documentElement.doScroll("left")}catch(o){setTimeout(arguments.callee,0);return}i()})()}}c(m,"load",i)}function f(k){var q=this,p={},i,o,n,m,l;m="onmouseenter" in document.documentElement;n="onfocusin" in document.documentElement;l={mouseenter:"mouseover",mouseleave:"mouseout"};i=1;q.domLoaded=false;q.events=p;function j(t,x){var s,u,r,v;s=p[x][t.type];if(s){for(u=0,r=s.length;u<r;u++){v=s[u];if(v&&v.func.call(v.scope,t)===false){t.preventDefault()}if(t.isImmediatePropagationStopped()){return}}}}q.bind=function(x,A,D,E){var s,t,u,r,B,z,C,v=window;function y(F){j(a(F||v.event),s)}if(!x||x.nodeType===3||x.nodeType===8){return}if(!x[h]){s=i++;x[h]=s;p[s]={}}else{s=x[h];if(!p[s]){p[s]={}}}E=E||x;A=A.split(" ");u=A.length;while(u--){r=A[u];z=y;B=C=false;if(r==="DOMContentLoaded"){r="ready"}if((q.domLoaded||x.readyState=="complete")&&r==="ready"){q.domLoaded=true;D.call(E,a({type:r}));continue}if(!m){B=l[r];if(B){z=function(F){var H,G;H=F.currentTarget;G=F.relatedTarget;if(G&&H.contains){G=H.contains(G)}else{while(G&&G!==H){G=G.parentNode}}if(!G){F=a(F||v.event);F.type=F.type==="mouseout"?"mouseleave":"mouseenter";F.target=H;j(F,s)}}}}if(!n&&(r==="focusin"||r==="focusout")){C=true;B=r==="focusin"?"focus":"blur";z=function(F){F=a(F||v.event);F.type=F.type==="focus"?"focusin":"focusout";j(F,s)}}t=p[s][r];if(!t){p[s][r]=t=[{func:D,scope:E}];t.fakeName=B;t.capture=C;t.nativeHandler=z;if(!g){t.proxyHandler=k(s)}if(r==="ready"){d(x,z,q)}else{c(x,B||r,g?z:t.proxyHandler,C)}}else{t.push({func:D,scope:E})}}x=t=0;return D};q.unbind=function(x,z,A){var s,u,v,B,r,t;if(!x||x.nodeType===3||x.nodeType===8){return q}s=x[h];if(s){t=p[s];if(z){z=z.split(" ");v=z.length;while(v--){r=z[v];u=t[r];if(u){if(A){B=u.length;while(B--){if(u[B].func===A){u.splice(B,1)}}}if(!A||u.length===0){delete t[r];e(x,u.fakeName||r,g?u.nativeHandler:u.proxyHandler,u.capture)}}}}else{for(r in t){u=t[r];e(x,u.fakeName||r,g?u.nativeHandler:u.proxyHandler,u.capture)}t={}}for(r in t){return q}delete p[s];try{delete x[h]}catch(y){x[h]=null}}return q};q.fire=function(u,s,r){var v,t;if(!u||u.nodeType===3||u.nodeType===8){return q}t=a(null,r);t.type=s;do{v=u[h];if(v){j(t,v)}u=u.parentNode||u.ownerDocument||u.defaultView||u.parentWindow}while(u&&!t.isPropagationStopped());return q};q.clean=function(u){var s,r,t=q.unbind;if(!u||u.nodeType===3||u.nodeType===8){return q}if(u[h]){t(u)}if(!u.getElementsByTagName){u=u.document}if(u&&u.getElementsByTagName){t(u);r=u.getElementsByTagName("*");s=r.length;while(s--){u=r[s];if(u[h]){t(u)}}}return q};q.callNativeHandler=function(s,r){if(p){p[s][r.type].nativeHandler(r)}};q.destory=function(){p={}};q.add=function(v,s,u,t){if(typeof(v)==="string"){v=document.getElementById(v)}if(v&&v instanceof Array){var r=v.length;while(r--){q.add(v[r],s,u,t)}return}if(s==="init"){s="ready"}return q.bind(v,s instanceof Array?s.join(" "):s,u,t)};q.remove=function(v,s,u,t){if(!v){return q}if(typeof(v)==="string"){v=document.getElementById(v)}if(v instanceof Array){var r=v.length;while(r--){q.remove(v[r],s,u,t)}return q}return q.unbind(v,s instanceof Array?s.join(" "):s,u)};q.clear=function(r){if(typeof(r)==="string"){r=document.getElementById(r)}return q.clean(r)};q.cancel=function(r){if(r){q.prevent(r);q.stop(r)}return false};q.prevent=function(r){if(!r.preventDefault){r=a(r)}r.preventDefault();return false};q.stop=function(r){if(!r.stopPropagation){r=a(r)}r.stopPropagation();return false}}b.EventUtils=f;b.Event=new f(function(i){return function(j){tinymce.dom.Event.callNativeHandler(i,j)}});b.Event.bind(window,"ready",function(){});b=0})(tinymce.dom,"data-mce-expando");tinymce.dom.TreeWalker=function(a,c){var b=a;function d(i,f,e,j){var h,g;if(i){if(!j&&i[f]){return i[f]}if(i!=c){h=i[e];if(h){return h}for(g=i.parentNode;g&&g!=c;g=g.parentNode){h=g[e];if(h){return h}}}}}this.current=function(){return b};this.next=function(e){return(b=d(b,"firstChild","nextSibling",e))};this.prev=function(e){return(b=d(b,"lastChild","previousSibling",e))}};(function(e){var g=e.each,d=e.is,f=e.isWebKit,b=e.isIE,h=e.html.Entities,c=/^([a-z0-9],?)+$/i,a=/^[ \t\r\n]*$/;e.create("tinymce.dom.DOMUtils",{doc:null,root:null,files:null,pixelStyles:/^(top|left|bottom|right|width|height|borderWidth)$/,props:{"for":"htmlFor","class":"className",className:"className",checked:"checked",disabled:"disabled",maxlength:"maxLength",readonly:"readOnly",selected:"selected",value:"value",id:"id",name:"name",type:"type"},DOMUtils:function(o,l){var k=this,i,j,n;k.doc=o;k.win=window;k.files={};k.cssFlicker=false;k.counter=0;k.stdMode=!e.isIE||o.documentMode>=8;k.boxModel=!e.isIE||o.compatMode=="CSS1Compat"||k.stdMode;k.hasOuterHTML="outerHTML" in o.createElement("a");k.settings=l=e.extend({keep_values:false,hex_colors:1},l);k.schema=l.schema;k.styles=new e.html.Styles({url_converter:l.url_converter,url_converter_scope:l.url_converter_scope},l.schema);if(e.isIE6){try{o.execCommand("BackgroundImageCache",false,true)}catch(m){k.cssFlicker=true}}k.fixDoc(o);k.events=l.ownEvents?new e.dom.EventUtils(l.proxy):e.dom.Event;e.addUnload(k.destroy,k);n=l.schema?l.schema.getBlockElements():{};k.isBlock=function(q){if(!q){return false}var p=q.nodeType;if(p){return !!(p===1&&n[q.nodeName])}return !!n[q]}},fixDoc:function(k){var j=this.settings,i;if(b&&!e.isIE11&&j.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(l){k.createElement(l)});for(i in j.schema.getCustomElements()){k.createElement(i)}}},clone:function(k,i){var j=this,m,l;if(!b||e.isIE11||k.nodeType!==1||i){return k.cloneNode(i)}l=j.doc;if(!i){m=l.createElement(k.nodeName);g(j.getAttribs(k),function(n){j.setAttrib(m,n.nodeName,j.getAttrib(k,n.nodeName))});return m}return m.firstChild},getRoot:function(){var i=this,j=i.settings;return(j&&i.get(j.root_element))||i.doc.body},getViewPort:function(j){var k,i;j=!j?this.win:j;k=j.document;i=this.boxModel?k.documentElement:k.body;return{x:j.pageXOffset||i.scrollLeft,y:j.pageYOffset||i.scrollTop,w:j.innerWidth||i.clientWidth,h:j.innerHeight||i.clientHeight}},getRect:function(l){var k,i=this,j;l=i.get(l);k=i.getPos(l);j=i.getSize(l);return{x:k.x,y:k.y,w:j.w,h:j.h}},getSize:function(l){var j=this,i,k;l=j.get(l);i=j.getStyle(l,"width");k=j.getStyle(l,"height");if(i.indexOf("px")===-1){i=0}if(k.indexOf("px")===-1){k=0}return{w:parseInt(i,10)||l.offsetWidth||l.clientWidth,h:parseInt(k,10)||l.offsetHeight||l.clientHeight}},getParent:function(k,j,i){return this.getParents(k,j,i,false)},getParents:function(s,m,k,q){var j=this,i,l=j.settings,p=[];s=j.get(s);q=q===undefined;if(l.strict_root){k=k||j.getRoot()}if(d(m,"string")){i=m;if(m==="*"){m=function(o){return o.nodeType==1}}else{m=function(o){return j.is(o,i)}}}while(s){if(s==k||!s.nodeType||s.nodeType===9){break}if(!m||m(s)){if(q){p.push(s)}else{return s}}s=s.parentNode}return q?p:null},get:function(i){var j;if(i&&this.doc&&typeof(i)=="string"){j=i;i=this.doc.getElementById(i);if(i&&i.id!==j){return this.doc.getElementsByName(j)[1]}}return i},getNext:function(j,i){return this._findSib(j,i,"nextSibling")},getPrev:function(j,i){return this._findSib(j,i,"previousSibling")},select:function(k,j){var i=this;return e.dom.Sizzle(k,i.get(j)||i.get(i.settings.root_element)||i.doc,[])},is:function(l,j){var k;if(l.length===undefined){if(j==="*"){return l.nodeType==1}if(c.test(j)){j=j.toLowerCase().split(/,/);l=l.nodeName.toLowerCase();for(k=j.length-1;k>=0;k--){if(j[k]==l){return true}}return false}}return e.dom.Sizzle.matches(j,l.nodeType?[l]:l).length>0},add:function(l,o,i,k,m){var j=this;return this.run(l,function(r){var q,n;q=d(o,"string")?j.doc.createElement(o):o;j.setAttribs(q,i);if(k){if(k.nodeType){q.appendChild(k)}else{j.setHTML(q,k)}}return !m?r.appendChild(q):q})},create:function(k,i,j){return this.add(this.doc.createElement(k),k,i,j,1)},createHTML:function(q,i,m){var p="",l=this,j;p+="<"+q;for(j in i){if(i.hasOwnProperty(j)){p+=" "+j+'="'+l.encode(i[j])+'"'}}if(typeof(m)!="undefined"){return p+">"+m+"</"+q+">"}return p+" />"},remove:function(i,j){return this.run(i,function(l){var m,k=l.parentNode;if(!k){return null}if(j){while(m=l.firstChild){if(!e.isIE||m.nodeType!==3||m.nodeValue){k.insertBefore(m,l)}else{l.removeChild(m)}}}return k.removeChild(l)})},setStyle:function(l,i,j){var k=this;return k.run(l,function(o){var n,m;n=o.style;i=i.replace(/-(\D)/g,function(q,p){return p.toUpperCase()});if(k.pixelStyles.test(i)&&(e.is(j,"number")||/^[\-0-9\.]+$/.test(j))){j+="px"}switch(i){case"opacity":if(b&&!e.isIE11){n.filter=j===""?"":"alpha(opacity="+(j*100)+")";if(!l.currentStyle||!l.currentStyle.hasLayout){n.display="inline-block"}}n[i]=n["-moz-opacity"]=n["-khtml-opacity"]=j||"";break;case"float":(b&&!e.isIE11)?n.styleFloat=j:n.cssFloat=j;break;default:n[i]=j||""}if(k.settings.update_styles){k.setAttrib(o,"data-mce-style")}})},getStyle:function(l,i,k){l=this.get(l);if(!l){return}if(this.doc.defaultView&&k){i=i.replace(/[A-Z]/g,function(m){return"-"+m});try{return this.doc.defaultView.getComputedStyle(l,null).getPropertyValue(i)}catch(j){return null}}i=i.replace(/-(\D)/g,function(n,m){return m.toUpperCase()});if(i=="float"){i=b?"styleFloat":"cssFloat"}if(l.currentStyle&&k){return l.currentStyle[i]}return l.style?l.style[i]:undefined},setStyles:function(l,m){var j=this,k=j.settings,i;i=k.update_styles;k.update_styles=0;g(m,function(o,p){j.setStyle(l,p,o)});k.update_styles=i;if(k.update_styles){j.setAttrib(l,k.cssText)}},removeAllAttribs:function(i){return this.run(i,function(l){var k,j=l.attributes;for(k=j.length-1;k>=0;k--){l.removeAttributeNode(j.item(k))}})},setAttrib:function(k,l,i){var j=this;if(!k||!l){return}if(j.settings.strict){l=l.toLowerCase()}return this.run(k,function(p){var o=j.settings;var m=p.getAttribute(l);if(i!==null){switch(l){case"style":if(!d(i,"string")){g(i,function(q,r){j.setStyle(p,r,q)});return}if(o.keep_values){if(i&&!j._isRes(i)){p.setAttribute("data-mce-style",i,2)}else{p.removeAttribute("data-mce-style",2)}}p.style.cssText=i;break;case"class":p.className=i||"";break;case"src":case"href":if(o.keep_values){if(o.url_converter){i=o.url_converter.call(o.url_converter_scope||j,i,l,p)}j.setAttrib(p,"data-mce-"+l,i,2)}break;case"shape":p.setAttribute("data-mce-style",i);break}}if(d(i)&&i!==null&&i.length!==0){p.setAttribute(l,""+i,2)}else{p.removeAttribute(l,2)}if(tinyMCE.activeEditor&&m!=i){var n=tinyMCE.activeEditor;n.onSetAttrib.dispatch(n,p,l,i)}})},setAttribs:function(j,k){var i=this;return this.run(j,function(l){g(k,function(m,o){i.setAttrib(l,o,m)})})},getAttrib:function(m,o,k){var i,j=this,l;m=j.get(m);if(!m||m.nodeType!==1){return k===l?false:k}if(!d(k)){k=""}if(/^(src|href|style|coords|shape)$/.test(o)){i=m.getAttribute("data-mce-"+o);if(i){return i}}if(b&&j.props[o]){i=m[j.props[o]];i=i&&i.nodeValue?i.nodeValue:i}if(!i){i=m.getAttribute(o,2)}if(/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(o)){if(m[j.props[o]]===true&&i===""){return o}return i?o:""}if(m.nodeName==="FORM"&&m.getAttributeNode(o)){return m.getAttributeNode(o).nodeValue}if(o==="style"){i=i||m.style.cssText;if(i){i=j.serializeStyle(j.parseStyle(i),m.nodeName);if(j.settings.keep_values&&!j._isRes(i)){m.setAttribute("data-mce-style",i)}}}if(f&&o==="class"&&i){i=i.replace(/(apple|webkit)\-[a-z\-]+/gi,"")}if(b){switch(o){case"rowspan":case"colspan":if(i===1){i=""}break;case"size":if(i==="+0"||i===20||i===0){i=""}break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":if(i===0){i=""}break;case"hspace":if(i===-1){i=""}break;case"maxlength":case"tabindex":if(i===32768||i===2147483647||i==="32768"){i=""}break;case"multiple":case"compact":case"noshade":case"nowrap":if(i===65535){return o}return k;case"shape":i=i.toLowerCase();break;default:if(o.indexOf("on")===0&&i){i=e._replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1",""+i)}}}return(i!==l&&i!==null&&i!=="")?""+i:k},getPos:function(q,l){var j=this,i=0,p=0,m,o=j.doc,k;q=j.get(q);l=l||o.body;if(q){if(q.getBoundingClientRect){q=q.getBoundingClientRect();m=j.boxModel?o.documentElement:o.body;i=q.left+(o.documentElement.scrollLeft||o.body.scrollLeft)-m.clientTop;p=q.top+(o.documentElement.scrollTop||o.body.scrollTop)-m.clientLeft;return{x:i,y:p}}k=q;while(k&&k!=l&&k.nodeType){i+=k.offsetLeft||0;p+=k.offsetTop||0;k=k.offsetParent}k=q.parentNode;while(k&&k!=l&&k.nodeType){i-=k.scrollLeft||0;p-=k.scrollTop||0;k=k.parentNode}}return{x:i,y:p}},parseStyle:function(i){return this.styles.parse(i)},serializeStyle:function(j,i){return this.styles.serialize(j,i)},addStyle:function(j){var k=this.doc,i;styleElm=k.getElementById("mceDefaultStyles");if(!styleElm){styleElm=k.createElement("style"),styleElm.id="mceDefaultStyles";styleElm.type="text/css";i=k.getElementsByTagName("head")[0];if(i.firstChild){i.insertBefore(styleElm,i.firstChild)}else{i.appendChild(styleElm)}}if(styleElm.styleSheet){styleElm.styleSheet.cssText+=j}else{styleElm.appendChild(k.createTextNode(j))}},loadCSS:function(i){var k=this,l=k.doc,j;if(!i){i=""}j=l.getElementsByTagName("head")[0];g(i.split(","),function(m){var n;if(k.files[m]){return}k.files[m]=true;n=k.create("link",{rel:"stylesheet",href:e._addVer(m)});if(b&&!e.isIE11&&l.documentMode&&l.recalc){n.onload=function(){if(l.recalc){l.recalc()}n.onload=null}}j.appendChild(n)})},addClass:function(i,j){return this.run(i,function(k){var l;if(!j){return 0}if(this.hasClass(k,j)){return k.className}l=this.removeClass(k,j);return k.className=(l!=""?(l+" "):"")+j})},removeClass:function(k,l){var i=this,j;return i.run(k,function(n){var m;if(i.hasClass(n,l)){if(!j){j=new RegExp("(^|\\s+)"+l+"(\\s+|$)","g")}m=n.className.replace(j," ");m=e.trim(m!=" "?m:"");n.className=m;if(!m){n.removeAttribute("class");n.removeAttribute("className")}return m}return n.className})},hasClass:function(j,i){j=this.get(j);if(!j||!i){return false}return(" "+j.className+" ").indexOf(" "+i+" ")!==-1},show:function(i){return this.setStyle(i,"display","block")},hide:function(i){return this.setStyle(i,"display","none")},isHidden:function(i){i=this.get(i);return !i||i.style.display=="none"||this.getStyle(i,"display")=="none"},uniqueId:function(i){return(!i?"mce_":i)+(this.counter++)},setHTML:function(k,j){var i=this;return i.run(k,function(m){if(b){while(m.firstChild){m.removeChild(m.firstChild)}try{m.innerHTML="<br />"+j;m.removeChild(m.firstChild)}catch(l){var n=i.create("div");n.innerHTML="<br />"+j;g(e.grep(n.childNodes),function(p,o){if(o&&m.canHaveHTML){m.appendChild(p)}})}}else{m.innerHTML=j}return j})},getOuterHTML:function(k){var j,i=this;k=i.get(k);if(!k){return null}if(k.nodeType===1&&i.hasOuterHTML){return k.outerHTML}j=(k.ownerDocument||i.doc).createElement("body");j.appendChild(k.cloneNode(true));return j.innerHTML},setOuterHTML:function(l,j,m){var i=this;function k(p,o,r){var s,q;q=r.createElement("body");q.innerHTML=o;s=q.lastChild;while(s){i.insertAfter(s.cloneNode(true),p);s=s.previousSibling}i.remove(p)}return this.run(l,function(o){o=i.get(o);if(o.nodeType==1){m=m||o.ownerDocument||i.doc;if(b){try{if(b&&o.nodeType==1){o.outerHTML=j}else{k(o,j,m)}}catch(n){k(o,j,m)}}else{k(o,j,m)}}})},decode:h.decode,encode:h.encodeAllRaw,insertAfter:function(i,j){j=this.get(j);return this.run(i,function(l){var k,m;k=j.parentNode;m=j.nextSibling;if(m){k.insertBefore(l,m)}else{k.appendChild(l)}return l})},replace:function(m,l,i){var j=this;if(d(l,"array")){m=m.cloneNode(true)}return j.run(l,function(k){if(i){g(e.grep(k.childNodes),function(n){m.appendChild(n)})}return k.parentNode.replaceChild(m,k)})},rename:function(l,i){var k=this,j;if(l.nodeName!=i.toUpperCase()){j=k.create(i);g(k.getAttribs(l),function(m){k.setAttrib(j,m.nodeName,k.getAttrib(l,m.nodeName))});k.replace(j,l,1)}return j||l},findCommonAncestor:function(k,i){var l=k,j;while(l){j=i;while(j&&l!=j){j=j.parentNode}if(l==j){break}l=l.parentNode}if(!l&&k.ownerDocument){return k.ownerDocument.documentElement}return l},toHex:function(i){var k=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(i);function j(l){l=parseInt(l,10).toString(16);return l.length>1?l:"0"+l}if(k){i="#"+j(k[1])+j(k[2])+j(k[3]);return i}return i},getClasses:function(){var n=this,j=[],m,o={},p=n.settings.class_filter,l;if(n.classes){return n.classes}function q(i){g(i.imports,function(s){q(s)});g(i.cssRules||i.rules,function(t){switch(t.type||1){case 1:if(t.selectorText){g(t.selectorText.split(","),function(r){r=r.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(r)||!/\.[\w\-]+$/.test(r)){return}l=r;r=e._replace(/.*\.([a-z0-9_\-]+).*/i,"$1",r);if(p&&!(r=p(r,l))){return}if(!o[r]){j.push({"class":r});o[r]=1}})}break;case 3:try{q(t.styleSheet)}catch(s){}break}})}try{g(n.doc.styleSheets,q)}catch(k){}if(j.length>0){n.classes=j}return j},run:function(l,k,j){var i=this,m;if(i.doc&&typeof(l)==="string"){l=i.get(l)}if(!l){return false}j=j||this;if(!l.nodeType&&(l.length||l.length===0)){m=[];g(l,function(o,n){if(o){if(typeof(o)=="string"){o=i.doc.getElementById(o)}m.push(k.call(j,o,n))}});return m}return k.call(j,l)},getAttribs:function(j){var i;j=this.get(j);if(!j){return[]}if(b){i=[];if(j.nodeName=="OBJECT"){return j.attributes}if(j.nodeName==="OPTION"&&this.getAttrib(j,"selected")){i.push({specified:1,nodeName:"selected"})}j.cloneNode(false).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(k){i.push({specified:1,nodeName:k})});return i}return j.attributes},isEmpty:function(m,k){var r=this,o,n,q,j,l,p=0;m=m.firstChild;if(m){j=new e.dom.TreeWalker(m,m.parentNode);k=k||r.schema?r.schema.getNonEmptyElements():null;do{q=m.nodeType;if(q===1){if(m.getAttribute("data-mce-bogus")){continue}l=m.nodeName.toLowerCase();if(k&&k[l]){if(l==="br"){p++;continue}return false}n=r.getAttribs(m);o=m.attributes.length;while(o--){l=m.attributes[o].nodeName;if(l==="name"||l==="data-mce-bookmark"){return false}}}if(q==8){return false}if((q===3&&!a.test(m.nodeValue))){return false}}while(m=j.next())}return p<=1},destroy:function(j){var i=this;i.win=i.doc=i.root=i.events=i.frag=null;if(!j){e.removeUnload(i.destroy)}},createRng:function(){var i=this.doc;return i.createRange?i.createRange():new e.dom.Range(this)},nodeIndex:function(m,n){var i=0,k,l,j;if(m){for(k=m.nodeType,m=m.previousSibling,l=m;m;m=m.previousSibling){j=m.nodeType;if(n&&j==3){if(j==k||!m.nodeValue.length){continue}}i++;k=j}}return i},split:function(m,l,p){var q=this,i=q.createRng(),n,k,o;function j(v){var t,s=v.childNodes,u=v.nodeType;function x(A){var z=A.previousSibling&&A.previousSibling.nodeName=="SPAN";var y=A.nextSibling&&A.nextSibling.nodeName=="SPAN";return z&&y}if(u==1&&v.getAttribute("data-mce-type")=="bookmark"){return}for(t=s.length-1;t>=0;t--){j(s[t])}if(u!=9){if(u==3&&v.nodeValue.length>0){var r=e.trim(v.nodeValue).length;if(!q.isBlock(v.parentNode)||r>0||r===0&&x(v)){return}}else{if(u==1){s=v.childNodes;if(s.length==1&&s[0]&&s[0].nodeType==1&&s[0].getAttribute("data-mce-type")=="bookmark"){v.parentNode.insertBefore(s[0],v)}if(s.length||/^(br|hr|input|img)$/i.test(v.nodeName)){return}}}q.remove(v)}return v}if(m&&l){i.setStart(m.parentNode,q.nodeIndex(m));i.setEnd(l.parentNode,q.nodeIndex(l));n=i.extractContents();i=q.createRng();i.setStart(l.parentNode,q.nodeIndex(l)+1);i.setEnd(m.parentNode,q.nodeIndex(m)+1);k=i.extractContents();o=m.parentNode;o.insertBefore(j(n),m);if(p){o.replaceChild(p,l)}else{o.insertBefore(l,m)}o.insertBefore(j(k),m);q.remove(m);return p||l}},bind:function(l,i,k,j){return this.events.add(l,i,k,j||this)},unbind:function(k,i,j){return this.events.remove(k,i,j)},fire:function(k,j,i){return this.events.fire(k,j,i)},getContentEditable:function(j){var i;if(j.nodeType!=1){return null}i=j.getAttribute("data-mce-contenteditable");if(i&&i!=="inherit"){return i}return j.contentEditable!=="inherit"?j.contentEditable:null},_findSib:function(l,i,j){var k=this,m=i;if(l){if(d(m,"string")){m=function(n){return k.is(n,i)}}for(l=l[j];l;l=l[j]){if(m(l)){return l}}}return null},_isRes:function(i){return/^(top|left|bottom|right|width|height)/i.test(i)||/;\s*(top|left|bottom|right|width|height)/i.test(i)}});e.DOM=new e.dom.DOMUtils(document,{process_html:0})})(tinymce);(function(a){function b(c){var O=this,e=c.doc,U=0,F=1,j=2,E=true,S=false,W="startOffset",h="startContainer",Q="endContainer",A="endOffset",k=tinymce.extend,n=c.nodeIndex;k(O,{startContainer:e,startOffset:0,endContainer:e,endOffset:0,collapsed:E,commonAncestorContainer:e,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:q,setEnd:s,setStartBefore:g,setStartAfter:J,setEndBefore:K,setEndAfter:u,collapse:B,selectNode:y,selectNodeContents:G,compareBoundaryPoints:v,deleteContents:p,extractContents:I,cloneContents:d,insertNode:D,surroundContents:N,cloneRange:L,toStringIE:T});function x(){return e.createDocumentFragment()}function q(X,t){C(E,X,t)}function s(X,t){C(S,X,t)}function g(t){q(t.parentNode,n(t))}function J(t){q(t.parentNode,n(t)+1)}function K(t){s(t.parentNode,n(t))}function u(t){s(t.parentNode,n(t)+1)}function B(t){if(t){O[Q]=O[h];O[A]=O[W]}else{O[h]=O[Q];O[W]=O[A]}O.collapsed=E}function y(t){g(t);u(t)}function G(t){q(t,0);s(t,t.nodeType===1?t.childNodes.length:t.nodeValue.length)}function v(aa,t){var ad=O[h],Y=O[W],ac=O[Q],X=O[A],ab=t.startContainer,af=t.startOffset,Z=t.endContainer,ae=t.endOffset;if(aa===0){return H(ad,Y,ab,af)}if(aa===1){return H(ac,X,ab,af)}if(aa===2){return H(ac,X,Z,ae)}if(aa===3){return H(ad,Y,Z,ae)}}function p(){l(j)}function I(){return l(U)}function d(){return l(F)}function D(aa){var X=this[h],t=this[W],Z,Y;if((X.nodeType===3||X.nodeType===4)&&X.nodeValue){if(!t){X.parentNode.insertBefore(aa,X)}else{if(t>=X.nodeValue.length){c.insertAfter(aa,X)}else{Z=X.splitText(t);X.parentNode.insertBefore(aa,Z)}}}else{if(X.childNodes.length>0){Y=X.childNodes[t]}if(Y){X.insertBefore(aa,Y)}else{X.appendChild(aa)}}}function N(X){var t=O.extractContents();O.insertNode(X);X.appendChild(t);O.selectNode(X)}function L(){return k(new b(c),{startContainer:O[h],startOffset:O[W],endContainer:O[Q],endOffset:O[A],collapsed:O.collapsed,commonAncestorContainer:O.commonAncestorContainer})}function P(t,X){var Y;if(t.nodeType==3){return t}if(X<0){return t}Y=t.firstChild;while(Y&&X>0){--X;Y=Y.nextSibling}if(Y){return Y}return t}function m(){return(O[h]==O[Q]&&O[W]==O[A])}function H(Z,ab,X,aa){var ac,Y,t,ad,af,ae;if(Z==X){if(ab==aa){return 0}if(ab<aa){return -1}return 1}ac=X;while(ac&&ac.parentNode!=Z){ac=ac.parentNode}if(ac){Y=0;t=Z.firstChild;while(t!=ac&&Y<ab){Y++;t=t.nextSibling}if(ab<=Y){return -1}return 1}ac=Z;while(ac&&ac.parentNode!=X){ac=ac.parentNode}if(ac){Y=0;t=X.firstChild;while(t!=ac&&Y<aa){Y++;t=t.nextSibling}if(Y<aa){return -1}return 1}ad=c.findCommonAncestor(Z,X);af=Z;while(af&&af.parentNode!=ad){af=af.parentNode}if(!af){af=ad}ae=X;while(ae&&ae.parentNode!=ad){ae=ae.parentNode}if(!ae){ae=ad}if(af==ae){return 0}t=ad.firstChild;while(t){if(t==af){return -1}if(t==ae){return 1}t=t.nextSibling}}function C(X,aa,Z){var t,Y;if(X){O[h]=aa;O[W]=Z}else{O[Q]=aa;O[A]=Z}t=O[Q];while(t.parentNode){t=t.parentNode}Y=O[h];while(Y.parentNode){Y=Y.parentNode}if(Y==t){if(H(O[h],O[W],O[Q],O[A])>0){O.collapse(X)}}else{O.collapse(X)}O.collapsed=m();O.commonAncestorContainer=c.findCommonAncestor(O[h],O[Q])}function l(ad){var ac,Z=0,af=0,X,ab,Y,aa,t,ae;if(O[h]==O[Q]){return f(ad)}for(ac=O[Q],X=ac.parentNode;X;ac=X,X=X.parentNode){if(X==O[h]){return r(ac,ad)}++Z}for(ac=O[h],X=ac.parentNode;X;ac=X,X=X.parentNode){if(X==O[Q]){return V(ac,ad)}++af}ab=af-Z;Y=O[h];while(ab>0){Y=Y.parentNode;ab--}aa=O[Q];while(ab<0){aa=aa.parentNode;ab++}for(t=Y.parentNode,ae=aa.parentNode;t!=ae;t=t.parentNode,ae=ae.parentNode){Y=t;aa=ae}return o(Y,aa,ad)}function f(ac){var ae,af,t,Y,Z,ad,aa,X,ab;if(ac!=j){ae=x()}if(O[W]==O[A]){return ae}if(O[h].nodeType==3){af=O[h].nodeValue;t=af.substring(O[W],O[A]);if(ac!=F){Y=O[h];X=O[W];ab=O[A]-O[W];if(X===0&&ab>=Y.nodeValue.length-1){Y.parentNode.removeChild(Y)}else{Y.deleteData(X,ab)}O.collapse(E)}if(ac==j){return}if(t.length>0){ae.appendChild(e.createTextNode(t))}return ae}Y=P(O[h],O[W]);Z=O[A]-O[W];while(Y&&Z>0){ad=Y.nextSibling;aa=z(Y,ac);if(ae){ae.appendChild(aa)}--Z;Y=ad}if(ac!=F){O.collapse(E)}return ae}function r(ad,aa){var ac,ab,X,t,Z,Y;if(aa!=j){ac=x()}ab=i(ad,aa);if(ac){ac.appendChild(ab)}X=n(ad);t=X-O[W];if(t<=0){if(aa!=F){O.setEndBefore(ad);O.collapse(S)}return ac}ab=ad.previousSibling;while(t>0){Z=ab.previousSibling;Y=z(ab,aa);if(ac){ac.insertBefore(Y,ac.firstChild)}--t;ab=Z}if(aa!=F){O.setEndBefore(ad);O.collapse(S)}return ac}function V(ab,aa){var ad,X,ac,t,Z,Y;if(aa!=j){ad=x()}ac=R(ab,aa);if(ad){ad.appendChild(ac)}X=n(ab);++X;t=O[A]-X;ac=ab.nextSibling;while(ac&&t>0){Z=ac.nextSibling;Y=z(ac,aa);if(ad){ad.appendChild(Y)}--t;ac=Z}if(aa!=F){O.setStartAfter(ab);O.collapse(E)}return ad}function o(ab,t,ae){var Y,ag,aa,ac,ad,X,af,Z;if(ae!=j){ag=x()}Y=R(ab,ae);if(ag){ag.appendChild(Y)}aa=ab.parentNode;ac=n(ab);ad=n(t);++ac;X=ad-ac;af=ab.nextSibling;while(X>0){Z=af.nextSibling;Y=z(af,ae);if(ag){ag.appendChild(Y)}af=Z;--X}Y=i(t,ae);if(ag){ag.appendChild(Y)}if(ae!=F){O.setStartAfter(ab);O.collapse(E)}return ag}function i(ac,ad){var Y=P(O[Q],O[A]-1),ae,ab,aa,t,X,Z=Y!=O[Q];if(Y==ac){return M(Y,Z,S,ad)}ae=Y.parentNode;ab=M(ae,S,S,ad);while(ae){while(Y){aa=Y.previousSibling;t=M(Y,Z,S,ad);if(ad!=j){ab.insertBefore(t,ab.firstChild)}Z=E;Y=aa}if(ae==ac){return ab}Y=ae.previousSibling;ae=ae.parentNode;X=M(ae,S,S,ad);if(ad!=j){X.appendChild(ab)}ab=X}}function R(ac,ad){var Z=P(O[h],O[W]),aa=Z!=O[h],ae,ab,Y,t,X;if(Z==ac){return M(Z,aa,E,ad)}ae=Z.parentNode;ab=M(ae,S,E,ad);while(ae){while(Z){Y=Z.nextSibling;t=M(Z,aa,E,ad);if(ad!=j){ab.appendChild(t)}aa=E;Z=Y}if(ae==ac){return ab}Z=ae.nextSibling;ae=ae.parentNode;X=M(ae,S,E,ad);if(ad!=j){X.appendChild(ab)}ab=X}}function M(t,aa,ad,ae){var Z,Y,ab,X,ac;if(aa){return z(t,ae)}if(t.nodeType==3){Z=t.nodeValue;if(ad){X=O[W];Y=Z.substring(X);ab=Z.substring(0,X)}else{X=O[A];Y=Z.substring(0,X);ab=Z.substring(X)}if(ae!=F){t.nodeValue=ab}if(ae==j){return}ac=c.clone(t,S);ac.nodeValue=Y;return ac}if(ae==j){return}return c.clone(t,S)}function z(X,t){if(t!=j){return t==F?c.clone(X,E):X}X.parentNode.removeChild(X)}function T(){return c.create("body",null,d()).outerText}return O}a.Range=b;b.prototype.toString=function(){return this.toStringIE()}})(tinymce.dom);(function(){function a(d){var b=this,h=d.dom,c=true,f=false;function e(i,j){var k,t=0,q,n,m,l,o,r,p=-1,s;k=i.duplicate();k.collapse(j);s=k.parentElement();if(s.ownerDocument!==d.dom.doc){return}while(s.contentEditable==="false"){s=s.parentNode}if(!s.hasChildNodes()){return{node:s,inside:1}}m=s.children;q=m.length-1;while(t<=q){r=Math.floor((t+q)/2);l=m[r];k.moveToElementText(l);p=k.compareEndPoints(j?"StartToStart":"EndToEnd",i);if(p>0){q=r-1}else{if(p<0){t=r+1}else{return{node:l}}}}if(p<0){if(!l){k.moveToElementText(s);k.collapse(true);l=s;n=true}else{k.collapse(false)}o=0;while(k.compareEndPoints(j?"StartToStart":"StartToEnd",i)!==0){if(k.move("character",1)===0||s!=k.parentElement()){break}o++}}else{k.collapse(true);o=0;while(k.compareEndPoints(j?"StartToStart":"StartToEnd",i)!==0){if(k.move("character",-1)===0||s!=k.parentElement()){break}o++}}return{node:l,position:p,offset:o,inside:n}}function g(){var i=d.getRng(),r=h.createRng(),l,k,p,q,m,j;l=i.item?i.item(0):i.parentElement();if(l.ownerDocument!=h.doc){return r}k=d.isCollapsed();if(i.item){r.setStart(l.parentNode,h.nodeIndex(l));r.setEnd(r.startContainer,r.startOffset+1);return r}function o(A){var u=e(i,A),s,y,z=0,x,v,t;s=u.node;y=u.offset;if(u.inside&&!s.hasChildNodes()){r[A?"setStart":"setEnd"](s,0);return}if(y===v){r[A?"setStartBefore":"setEndAfter"](s);return}if(u.position<0){x=u.inside?s.firstChild:s.nextSibling;if(!x){r[A?"setStartAfter":"setEndAfter"](s);return}if(!y){if(x.nodeType==3){r[A?"setStart":"setEnd"](x,0)}else{r[A?"setStartBefore":"setEndBefore"](x)}return}while(x){t=x.nodeValue;z+=t.length;if(z>=y){s=x;z-=y;z=t.length-z;break}x=x.nextSibling}}else{x=s.previousSibling;if(!x){return r[A?"setStartBefore":"setEndBefore"](s)}if(!y){if(s.nodeType==3){r[A?"setStart":"setEnd"](x,s.nodeValue.length)}else{r[A?"setStartAfter":"setEndAfter"](x)}return}while(x){z+=x.nodeValue.length;if(z>=y){s=x;z-=y;break}x=x.previousSibling}}r[A?"setStart":"setEnd"](s,z)}try{o(true);if(!k){o()}}catch(n){if(n.number==-2147024809){m=b.getBookmark(2);p=i.duplicate();p.collapse(true);l=p.parentElement();if(!k){p=i.duplicate();p.collapse(false);q=p.parentElement();q.innerHTML=q.innerHTML}l.innerHTML=l.innerHTML;b.moveToBookmark(m);i=d.getRng();o(true);if(!k){o()}}else{throw n}}return r}this.getBookmark=function(m){var j=d.getRng(),o,i,l={};function n(u){var t,p,s,r,q=[];t=u.parentNode;p=h.getRoot().parentNode;while(t!=p&&t.nodeType!==9){s=t.children;r=s.length;while(r--){if(u===s[r]){q.push(r);break}}u=t;t=t.parentNode}return q}function k(q){var p;p=e(j,q);if(p){return{position:p.position,offset:p.offset,indexes:n(p.node),inside:p.inside}}}if(m===2){if(!j.item){l.start=k(true);if(!d.isCollapsed()){l.end=k()}}else{l.start={ctrl:true,indexes:n(j.item(0))}}}return l};this.moveToBookmark=function(k){var j,i=h.doc.body;function m(o){var r,q,n,p;r=h.getRoot();for(q=o.length-1;q>=0;q--){p=r.children;n=o[q];if(n<=p.length-1){r=p[n]}}return r}function l(r){var n=k[r?"start":"end"],q,p,o;if(n){q=n.position>0;p=i.createTextRange();p.moveToElementText(m(n.indexes));offset=n.offset;if(offset!==o){p.collapse(n.inside||q);p.moveStart("character",q?-offset:offset)}else{p.collapse(r)}j.setEndPoint(r?"StartToStart":"EndToStart",p);if(r){j.collapse(true)}}}if(k.start){if(k.start.ctrl){j=i.createControlRange();j.addElement(m(k.start.indexes));j.select()}else{j=i.createTextRange();l(true);l();j.select()}}};this.addRange=function(i){var n,l,k,p,v,q,t,s=d.dom.doc,m=s.body,r,u;function j(C){var y,B,x,A,z;x=h.create("a");y=C?k:v;B=C?p:q;A=n.duplicate();if(y==s||y==s.documentElement){y=m;B=0}if(y.nodeType==3){y.parentNode.insertBefore(x,y);A.moveToElementText(x);A.moveStart("character",B);h.remove(x);n.setEndPoint(C?"StartToStart":"EndToEnd",A)}else{z=y.childNodes;if(z.length){if(B>=z.length){h.insertAfter(x,z[z.length-1])}else{y.insertBefore(x,z[B])}A.moveToElementText(x)}else{if(y.canHaveHTML){y.innerHTML="<span>\uFEFF</span>";x=y.firstChild;A.moveToElementText(x);A.collapse(f)}}n.setEndPoint(C?"StartToStart":"EndToEnd",A);h.remove(x)}}k=i.startContainer;p=i.startOffset;v=i.endContainer;q=i.endOffset;n=m.createTextRange();if(k==v&&k.nodeType==1){if(p==q&&!k.hasChildNodes()){if(k.canHaveHTML){t=k.previousSibling;if(t&&!t.hasChildNodes()&&h.isBlock(t)){t.innerHTML="\uFEFF"}else{t=null}k.innerHTML="<span>\uFEFF</span><span>\uFEFF</span>";n.moveToElementText(k.lastChild);n.select();h.doc.selection.clear();k.innerHTML="";if(t){t.innerHTML=""}return}else{p=h.nodeIndex(k);k=k.parentNode}}if(p==q-1){try{u=k.childNodes[p];l=m.createControlRange();l.addElement(u);l.select();r=d.getRng();if(r.item&&u===r.item(0)){return}}catch(o){}}}j(true);j();n.select()};this.getRangeAt=g}tinymce.dom.TridentSelection=a})();(function(){var n=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,i="sizcache",o=0,r=Object.prototype.toString,h=false,g=true,q=/\\/g,u=/\r\n/g,x=/\W/;[0,0].sort(function(){g=false;return 0});var d=function(C,e,F,G){F=F||[];e=e||document;var I=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!C||typeof C!=="string"){return F}var z,K,N,y,J,M,L,E,B=true,A=d.isXML(e),D=[],H=C;do{n.exec("");z=n.exec(H);if(z){H=z[3];D.push(z[1]);if(z[2]){y=z[3];break}}}while(z);if(D.length>1&&j.exec(C)){if(D.length===2&&k.relative[D[0]]){K=s(D[0]+D[1],e,G)}else{K=k.relative[D[0]]?[e]:d(D.shift(),e);while(D.length){C=D.shift();if(k.relative[C]){C+=D.shift()}K=s(C,K,G)}}}else{if(!G&&D.length>1&&e.nodeType===9&&!A&&k.match.ID.test(D[0])&&!k.match.ID.test(D[D.length-1])){J=d.find(D.shift(),e,A);e=J.expr?d.filter(J.expr,J.set)[0]:J.set[0]}if(e){J=G?{expr:D.pop(),set:l(G)}:d.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&e.parentNode?e.parentNode:e,A);K=J.expr?d.filter(J.expr,J.set):J.set;if(D.length>0){N=l(K)}else{B=false}while(D.length){M=D.pop();L=M;if(!k.relative[M]){M=""}else{L=D.pop()}if(L==null){L=e}k.relative[M](N,L,A)}}else{N=D=[]}}if(!N){N=K}if(!N){d.error(M||C)}if(r.call(N)==="[object Array]"){if(!B){F.push.apply(F,N)}else{if(e&&e.nodeType===1){for(E=0;N[E]!=null;E++){if(N[E]&&(N[E]===true||N[E].nodeType===1&&d.contains(e,N[E]))){F.push(K[E])}}}else{for(E=0;N[E]!=null;E++){if(N[E]&&N[E].nodeType===1){F.push(K[E])}}}}}else{l(N,F)}if(y){d(y,I,F,G);d.uniqueSort(F)}return F};d.uniqueSort=function(y){if(p){h=g;y.sort(p);if(h){for(var e=1;e<y.length;e++){if(y[e]===y[e-1]){y.splice(e--,1)}}}}return y};d.matches=function(e,y){return d(e,null,null,y)};d.matchesSelector=function(e,y){return d(y,null,null,[e]).length>0};d.find=function(E,e,F){var D,z,B,A,C,y;if(!E){return[]}for(z=0,B=k.order.length;z<B;z++){C=k.order[z];if((A=k.leftMatch[C].exec(E))){y=A[1];A.splice(1,1);if(y.substr(y.length-1)!=="\\"){A[1]=(A[1]||"").replace(q,"");D=k.find[C](A,e,F);if(D!=null){E=E.replace(k.match[C],"");break}}}}if(!D){D=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:D,expr:E}};d.filter=function(I,H,L,B){var D,e,G,N,K,y,A,C,J,z=I,M=[],F=H,E=H&&H[0]&&d.isXML(H[0]);while(I&&H.length){for(G in k.filter){if((D=k.leftMatch[G].exec(I))!=null&&D[2]){y=k.filter[G];A=D[1];e=false;D.splice(1,1);if(A.substr(A.length-1)==="\\"){continue}if(F===M){M=[]}if(k.preFilter[G]){D=k.preFilter[G](D,F,L,M,B,E);if(!D){e=N=true}else{if(D===true){continue}}}if(D){for(C=0;(K=F[C])!=null;C++){if(K){N=y(K,D,C,F);J=B^N;if(L&&N!=null){if(J){e=true}else{F[C]=false}}else{if(J){M.push(K);e=true}}}}}if(N!==undefined){if(!L){F=M}I=I.replace(k.match[G],"");if(!e){return[]}break}}}if(I===z){if(e==null){d.error(I)}else{break}}z=I}return F};d.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var b=d.getText=function(B){var z,A,e=B.nodeType,y="";if(e){if(e===1||e===9||e===11){if(typeof B.textContent==="string"){return B.textContent}else{if(typeof B.innerText==="string"){return B.innerText.replace(u,"")}else{for(B=B.firstChild;B;B=B.nextSibling){y+=b(B)}}}}else{if(e===3||e===4){return B.nodeValue}}}else{for(z=0;(A=B[z]);z++){if(A.nodeType!==8){y+=b(A)}}}return y};var k=d.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(D,y){var A=typeof y==="string",C=A&&!x.test(y),E=A&&!C;if(C){y=y.toLowerCase()}for(var z=0,e=D.length,B;z<e;z++){if((B=D[z])){while((B=B.previousSibling)&&B.nodeType!==1){}D[z]=E||B&&B.nodeName.toLowerCase()===y?B||false:B===y}}if(E){d.filter(y,D,true)}},">":function(D,y){var C,B=typeof y==="string",z=0,e=D.length;if(B&&!x.test(y)){y=y.toLowerCase();for(;z<e;z++){C=D[z];if(C){var A=C.parentNode;D[z]=A.nodeName.toLowerCase()===y?A:false}}}else{for(;z<e;z++){C=D[z];if(C){D[z]=B?C.parentNode:C.parentNode===y}}if(B){d.filter(y,D,true)}}},"":function(A,y,C){var B,z=o++,e=t;if(typeof y==="string"&&!x.test(y)){y=y.toLowerCase();B=y;e=a}e("parentNode",y,z,A,B,C)},"~":function(A,y,C){var B,z=o++,e=t;if(typeof y==="string"&&!x.test(y)){y=y.toLowerCase();B=y;e=a}e("previousSibling",y,z,A,B,C)}},find:{ID:function(y,z,A){if(typeof z.getElementById!=="undefined"&&!A){var e=z.getElementById(y[1]);return e&&e.parentNode?[e]:[]}},NAME:function(z,C){if(typeof C.getElementsByName!=="undefined"){var y=[],B=C.getElementsByName(z[1]);for(var A=0,e=B.length;A<e;A++){if(B[A].getAttribute("name")===z[1]){y.push(B[A])}}return y.length===0?null:y}},TAG:function(e,y){if(typeof y.getElementsByTagName!=="undefined"){return y.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(A,y,z,e,D,E){A=" "+A[1].replace(q,"")+" ";if(E){return A}for(var B=0,C;(C=y[B])!=null;B++){if(C){if(D^(C.className&&(" "+C.className+" ").replace(/[\t\n\r]/g," ").indexOf(A)>=0)){if(!z){e.push(C)}}else{if(z){y[B]=false}}}}return false},ID:function(e){return e[1].replace(q,"")},TAG:function(y,e){return y[1].replace(q,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){d.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var y=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(y[1]+(y[2]||1))-0;e[3]=y[3]-0}else{if(e[2]){d.error(e[0])}}e[0]=o++;return e},ATTR:function(B,y,z,e,C,D){var A=B[1]=B[1].replace(q,"");if(!D&&k.attrMap[A]){B[1]=k.attrMap[A]}B[4]=(B[4]||B[5]||"").replace(q,"");if(B[2]==="~="){B[4]=" "+B[4]+" "}return B},PSEUDO:function(B,y,z,e,C){if(B[1]==="not"){if((n.exec(B[3])||"").length>1||/^\w/.test(B[3])){B[3]=d(B[3],null,null,y)}else{var A=d.filter(B[3],y,z,true^C);if(!z){e.push.apply(e,A)}return false}}else{if(k.match.POS.test(B[0])||k.match.CHILD.test(B[0])){return true}}return B},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(z,y,e){return !!d(e[3],z).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(z){var e=z.getAttribute("type"),y=z.type;return z.nodeName.toLowerCase()==="input"&&"text"===y&&(e===y||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(y){var e=y.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===y.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(y){var e=y.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===y.type},button:function(y){var e=y.nodeName.toLowerCase();return e==="input"&&"button"===y.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(y,e){return e===0},last:function(z,y,e,A){return y===A.length-1},even:function(y,e){return e%2===0},odd:function(y,e){return e%2===1},lt:function(z,y,e){return y<e[3]-0},gt:function(z,y,e){return y>e[3]-0},nth:function(z,y,e){return e[3]-0===y},eq:function(z,y,e){return e[3]-0===y}},filter:{PSEUDO:function(z,E,D,F){var e=E[1],y=k.filters[e];if(y){return y(z,D,E,F)}else{if(e==="contains"){return(z.textContent||z.innerText||b([z])||"").indexOf(E[3])>=0}else{if(e==="not"){var A=E[3];for(var C=0,B=A.length;C<B;C++){if(A[C]===z){return false}}return true}else{d.error(e)}}}},CHILD:function(z,B){var A,H,D,G,e,C,F,E=B[1],y=z;switch(E){case"only":case"first":while((y=y.previousSibling)){if(y.nodeType===1){return false}}if(E==="first"){return true}y=z;case"last":while((y=y.nextSibling)){if(y.nodeType===1){return false}}return true;case"nth":A=B[2];H=B[3];if(A===1&&H===0){return true}D=B[0];G=z.parentNode;if(G&&(G[i]!==D||!z.nodeIndex)){C=0;for(y=G.firstChild;y;y=y.nextSibling){if(y.nodeType===1){y.nodeIndex=++C}}G[i]=D}F=z.nodeIndex-H;if(A===0){return F===0}else{return(F%A===0&&F/A>=0)}}},ID:function(y,e){return y.nodeType===1&&y.getAttribute("id")===e},TAG:function(y,e){return(e==="*"&&y.nodeType===1)||!!y.nodeName&&y.nodeName.toLowerCase()===e},CLASS:function(y,e){return(" "+(y.className||y.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(C,A){var z=A[1],e=d.attr?d.attr(C,z):k.attrHandle[z]?k.attrHandle[z](C):C[z]!=null?C[z]:C.getAttribute(z),D=e+"",B=A[2],y=A[4];return e==null?B==="!=":!B&&d.attr?e!=null:B==="="?D===y:B==="*="?D.indexOf(y)>=0:B==="~="?(" "+D+" ").indexOf(y)>=0:!y?D&&e!==false:B==="!="?D!==y:B==="^="?D.indexOf(y)===0:B==="$="?D.substr(D.length-y.length)===y:B==="|="?D===y||D.substr(0,y.length+1)===y+"-":false},POS:function(B,y,z,C){var e=y[2],A=k.setFilters[e];if(A){return A(B,z,y,C)}}}};var j=k.match.POS,c=function(y,e){return"\\"+(e-0+1)};for(var f in k.match){k.match[f]=new RegExp(k.match[f].source+(/(?![^\[]*\])(?![^\(]*\))/.source));k.leftMatch[f]=new RegExp(/(^(?:.|\r|\n)*?)/.source+k.match[f].source.replace(/\\(\d+)/g,c))}k.match.globalPOS=j;var l=function(y,e){y=Array.prototype.slice.call(y,0);if(e){e.push.apply(e,y);return e}return y};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType}catch(v){l=function(B,A){var z=0,y=A||[];if(r.call(B)==="[object Array]"){Array.prototype.push.apply(y,B)}else{if(typeof B.length==="number"){for(var e=B.length;z<e;z++){y.push(B[z])}}else{for(;B[z];z++){y.push(B[z])}}}return y}}var p,m;if(document.documentElement.compareDocumentPosition){p=function(y,e){if(y===e){h=true;return 0}if(!y.compareDocumentPosition||!e.compareDocumentPosition){return y.compareDocumentPosition?-1:1}return y.compareDocumentPosition(e)&4?-1:1}}else{p=function(F,E){if(F===E){h=true;return 0}else{if(F.sourceIndex&&E.sourceIndex){return F.sourceIndex-E.sourceIndex}}var C,y,z=[],e=[],B=F.parentNode,D=E.parentNode,G=B;if(B===D){return m(F,E)}else{if(!B){return -1}else{if(!D){return 1}}}while(G){z.unshift(G);G=G.parentNode}G=D;while(G){e.unshift(G);G=G.parentNode}C=z.length;y=e.length;for(var A=0;A<C&&A<y;A++){if(z[A]!==e[A]){return m(z[A],e[A])}}return A===C?m(F,e[A],-1):m(z[A],E,1)};m=function(y,e,z){if(y===e){return z}var A=y.nextSibling;while(A){if(A===e){return -1}A=A.nextSibling}return 1}}(function(){var y=document.createElement("div"),z="script"+(new Date()).getTime(),e=document.documentElement;y.innerHTML="<a name='"+z+"'/>";e.insertBefore(y,e.firstChild);if(document.getElementById(z)){k.find.ID=function(B,C,D){if(typeof C.getElementById!=="undefined"&&!D){var A=C.getElementById(B[1]);return A?A.id===B[1]||typeof A.getAttributeNode!=="undefined"&&A.getAttributeNode("id").nodeValue===B[1]?[A]:undefined:[]}};k.filter.ID=function(C,A){var B=typeof C.getAttributeNode!=="undefined"&&C.getAttributeNode("id");return C.nodeType===1&&B&&B.nodeValue===A}}e.removeChild(y);e=y=null})();(function(){var e=document.createElement("div");e.appendChild(document.createComment(""));if(e.getElementsByTagName("*").length>0){k.find.TAG=function(y,C){var B=C.getElementsByTagName(y[1]);if(y[1]==="*"){var A=[];for(var z=0;B[z];z++){if(B[z].nodeType===1){A.push(B[z])}}B=A}return B}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){k.attrHandle.href=function(y){return y.getAttribute("href",2)}}e=null})();if(document.querySelectorAll){(function(){var e=d,A=document.createElement("div"),z="__sizzle__";A.innerHTML="<p class='TEST'></p>";if(A.querySelectorAll&&A.querySelectorAll(".TEST").length===0){return}d=function(L,C,G,K){C=C||document;if(!K&&!d.isXML(C)){var J=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(L);if(J&&(C.nodeType===1||C.nodeType===9)){if(J[1]){return l(C.getElementsByTagName(L),G)}else{if(J[2]&&k.find.CLASS&&C.getElementsByClassName){return l(C.getElementsByClassName(J[2]),G)}}}if(C.nodeType===9){if(L==="body"&&C.body){return l([C.body],G)}else{if(J&&J[3]){var F=C.getElementById(J[3]);if(F&&F.parentNode){if(F.id===J[3]){return l([F],G)}}else{return l([],G)}}}try{return l(C.querySelectorAll(L),G)}catch(H){}}else{if(C.nodeType===1&&C.nodeName.toLowerCase()!=="object"){var D=C,E=C.getAttribute("id"),B=E||z,N=C.parentNode,M=/^\s*[+~]/.test(L);if(!E){C.setAttribute("id",B)}else{B=B.replace(/'/g,"\\$&")}if(M&&N){C=C.parentNode}try{if(!M||N){return l(C.querySelectorAll("[id='"+B+"'] "+L),G)}}catch(I){}finally{if(!E){D.removeAttribute("id")}}}}}return e(L,C,G,K)};for(var y in e){d[y]=e[y]}A=null})()}(function(){var e=document.documentElement,z=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(z){var B=!z.call(document.createElement("div"),"div"),y=false;try{z.call(document.documentElement,"[test!='']:sizzle")}catch(A){y=true}d.matchesSelector=function(D,F){F=F.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!d.isXML(D)){try{if(y||!k.match.PSEUDO.test(F)&&!/!=/.test(F)){var C=z.call(D,F);if(C||!B||D.document&&D.document.nodeType!==11){return C}}}catch(E){}}return d(F,null,null,[D]).length>0}}})();(function(){var e=document.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}k.order.splice(1,0,"CLASS");k.find.CLASS=function(y,z,A){if(typeof z.getElementsByClassName!=="undefined"&&!A){return z.getElementsByClassName(y[1])}};e=null})();function a(y,D,C,G,E,F){for(var A=0,z=G.length;A<z;A++){var e=G[A];if(e){var B=false;e=e[y];while(e){if(e[i]===C){B=G[e.sizset];break}if(e.nodeType===1&&!F){e[i]=C;e.sizset=A}if(e.nodeName.toLowerCase()===D){B=e;break}e=e[y]}G[A]=B}}}function t(y,D,C,G,E,F){for(var A=0,z=G.length;A<z;A++){var e=G[A];if(e){var B=false;e=e[y];while(e){if(e[i]===C){B=G[e.sizset];break}if(e.nodeType===1){if(!F){e[i]=C;e.sizset=A}if(typeof D!=="string"){if(e===D){B=true;break}}else{if(d.filter(D,[e]).length>0){B=e;break}}}e=e[y]}G[A]=B}}}if(document.documentElement.contains){d.contains=function(y,e){return y!==e&&(y.contains?y.contains(e):true)}}else{if(document.documentElement.compareDocumentPosition){d.contains=function(y,e){return !!(y.compareDocumentPosition(e)&16)}}else{d.contains=function(){return false}}}d.isXML=function(e){var y=(e?e.ownerDocument||e:0).documentElement;return y?y.nodeName!=="HTML":false};var s=function(z,e,D){var C,E=[],B="",F=e.nodeType?[e]:e;while((C=k.match.PSEUDO.exec(z))){B+=C[0];z=z.replace(k.match.PSEUDO,"")}z=k.relative[z]?z+"*":z;for(var A=0,y=F.length;A<y;A++){d(z,F[A],E,D)}return d.filter(B,E)};window.tinymce.dom.Sizzle=d})();(function(a){a.dom.Element=function(f,d){var b=this,e,c;b.settings=d=d||{};b.id=f;b.dom=e=d.dom||a.DOM;if(!a.isIE){c=e.get(b.id)}a.each(("getPos,getRect,getParent,add,setStyle,getStyle,setStyles,setAttrib,setAttribs,getAttrib,addClass,removeClass,hasClass,getOuterHTML,setOuterHTML,remove,show,hide,isHidden,setHTML,get").split(/,/),function(g){b[g]=function(){var h=[f],j;for(j=0;j<arguments.length;j++){h.push(arguments[j])}h=e[g].apply(e,h);b.update(g);return h}});a.extend(b,{on:function(i,h,g){return a.dom.Event.add(b.id,i,h,g)},getXY:function(){return{x:parseInt(b.getStyle("left")),y:parseInt(b.getStyle("top"))}},getSize:function(){var g=e.get(b.id);return{w:parseInt(b.getStyle("width")||g.clientWidth),h:parseInt(b.getStyle("height")||g.clientHeight)}},moveTo:function(g,h){b.setStyles({left:g,top:h})},moveBy:function(g,i){var h=b.getXY();b.moveTo(h.x+g,h.y+i)},resizeTo:function(g,i){b.setStyles({width:g,height:i})},resizeBy:function(g,j){var i=b.getSize();b.resizeTo(i.w+g,i.h+j)},update:function(h){var g;if(a.isIE6&&d.blocker){h=h||"";if(h.indexOf("get")===0||h.indexOf("has")===0||h.indexOf("is")===0){return}if(h=="remove"){e.remove(b.blocker);return}if(!b.blocker){b.blocker=e.uniqueId();g=e.add(d.container||e.getRoot(),"iframe",{id:b.blocker,style:"position:absolute;",frameBorder:0,src:'javascript:""'});e.setStyle(g,"opacity",0)}else{g=e.get(b.blocker)}e.setStyles(g,{left:b.getStyle("left",1),top:b.getStyle("top",1),width:b.getStyle("width",1),height:b.getStyle("height",1),display:b.getStyle("display",1),zIndex:parseInt(b.getStyle("zIndex",1)||0)-1})}}})}})(tinymce);(function(d){function f(g){return g.replace(/[\n\r]+/g,"")}var c=d.is,b=d.isIE,e=d.each,a=d.dom.TreeWalker;d.create("tinymce.dom.Selection",{Selection:function(k,j,i,h){var g=this;g.dom=k;g.win=j;g.serializer=i;g.editor=h;e(["onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent"],function(l){g[l]=new d.util.Dispatcher(g)});if(!g.win.getSelection){g.tridentSel=new d.dom.TridentSelection(g)}if(d.isIE&&!d.isIE11&&k.boxModel){this._fixIESelection()}d.addUnload(g.destroy,g)},setCursorLocation:function(i,j){var g=this;var h=g.dom.createRng();h.setStart(i,j);h.setEnd(i,j);g.setRng(h);g.collapse(false)},getContent:function(h){var g=this,i=g.getRng(),m=g.dom.create("body"),k=g.getSel(),j,l,o;h=h||{};j=l="";h.get=true;h.format=h.format||"html";h.forced_root_block="";g.onBeforeGetContent.dispatch(g,h);if(h.format=="text"){return g.isCollapsed()?"":(i.text||(k.toString?k.toString():""))}if(i.cloneContents){o=i.cloneContents();if(o){m.appendChild(o)}}else{if(c(i.item)||c(i.htmlText)){m.innerHTML="<br>"+(i.item?i.item(0).outerHTML:i.htmlText);m.removeChild(m.firstChild)}else{m.innerHTML=i.toString()}}if(/^\s/.test(m.innerHTML)){j=" "}if(/\s+$/.test(m.innerHTML)){l=" "}h.getInner=true;h.content=g.isCollapsed()?"":j+g.serializer.serialize(m,h)+l;g.onGetContent.dispatch(g,h);return h.content},setContent:function(h,j){var o=this,g=o.getRng(),k,l=o.win.document,n,m;j=j||{format:"html"};j.set=true;h=j.content=h;if(!j.no_events){o.onBeforeSetContent.dispatch(o,j)}h=j.content;if(g.insertNode){h+='<span id="__caret">_</span>';if(g.startContainer==l&&g.endContainer==l){l.body.innerHTML=h}else{g.deleteContents();if(l.body.childNodes.length===0){l.body.innerHTML=h}else{if(g.createContextualFragment){g.insertNode(g.createContextualFragment(h))}else{n=l.createDocumentFragment();m=l.createElement("div");n.appendChild(m);m.outerHTML=h;g.insertNode(n)}}}k=o.dom.get("__caret");g=l.createRange();g.setStartBefore(k);g.setEndBefore(k);o.setRng(g);o.dom.remove("__caret");try{o.setRng(g)}catch(i){}}else{if(g.item){l.execCommand("Delete",false,null);g=o.getRng()}if(/^\s+/.test(h)){g.pasteHTML('<span id="__mce_tmp">_</span>'+h);o.dom.remove("__mce_tmp")}else{g.pasteHTML(h)}}if(!j.no_events){o.onSetContent.dispatch(o,j)}},getStart:function(){var i=this,h=i.getRng(),j,g,l,k;if(h.duplicate||h.item){if(h.item){return h.item(0)}l=h.duplicate();l.collapse(1);j=l.parentElement();if(j.ownerDocument!==i.dom.doc){j=i.dom.getRoot()}g=k=h.parentElement();while(k=k.parentNode){if(k==j){j=g;break}}return j}else{j=h.startContainer;if(j.nodeType==1&&j.hasChildNodes()){j=j.childNodes[Math.min(j.childNodes.length-1,h.startOffset)]}if(j&&j.nodeType==3){return j.parentNode}return j}},getEnd:function(){var h=this,g=h.getRng(),j,i;if(g.duplicate||g.item){if(g.item){return g.item(0)}g=g.duplicate();g.collapse(0);j=g.parentElement();if(j.ownerDocument!==h.dom.doc){j=h.dom.getRoot()}if(j&&j.nodeName=="BODY"){return j.lastChild||j}return j}else{j=g.endContainer;i=g.endOffset;if(j.nodeType==1&&j.hasChildNodes()){j=j.childNodes[i>0?i-1:i]}if(j&&j.nodeType==3){return j.parentNode}return j}},getBookmark:function(s,v){var y=this,n=y.dom,h,k,j,o,i,p,q,m="\uFEFF",x;function g(z,A){var t=0;e(n.select(z),function(C,B){if(C==A){t=B}});return t}function u(t){function z(E){var A,D,C,B=E?"start":"end";A=t[B+"Container"];D=t[B+"Offset"];if(A.nodeType==1&&A.nodeName=="TR"){C=A.childNodes;A=C[Math.min(E?D:D-1,C.length-1)];if(A){D=E?0:A.childNodes.length;t["set"+(E?"Start":"End")](A,D)}}}z(true);z();return t}function l(){var z=y.getRng(true),t=n.getRoot(),A={};function B(E,J){var D=E[J?"startContainer":"endContainer"],I=E[J?"startOffset":"endOffset"],C=[],F,H,G=0;if(D.nodeType==3){if(v){for(F=D.previousSibling;F&&F.nodeType==3;F=F.previousSibling){I+=F.nodeValue.length}}C.push(I)}else{H=D.childNodes;if(I>=H.length&&H.length){G=1;I=Math.max(0,H.length-1)}C.push(y.dom.nodeIndex(H[I],v)+G)}for(;D&&D!=t;D=D.parentNode){C.push(y.dom.nodeIndex(D,v))}return C}A.start=B(z,true);if(!y.isCollapsed()){A.end=B(z)}return A}if(s==2){if(y.tridentSel){return y.tridentSel.getBookmark(s)}return l()}if(s){h=y.getRng();if(h.setStart){h={startContainer:h.startContainer,startOffset:h.startOffset,endContainer:h.endContainer,endOffset:h.endOffset}}return{rng:h}}h=y.getRng();j=n.uniqueId();o=tinyMCE.activeEditor.selection.isCollapsed();x="overflow:hidden;line-height:0px";if(h.duplicate||h.item){if(!h.item){k=h.duplicate();try{h.collapse();h.pasteHTML('<span data-mce-type="bookmark" id="'+j+'_start" style="'+x+'">'+m+"</span>");if(!o){k.collapse(false);h.moveToElementText(k.parentElement());if(h.compareEndPoints("StartToEnd",k)===0){k.move("character",-1)}k.pasteHTML('<span data-mce-type="bookmark" id="'+j+'_end" style="'+x+'">'+m+"</span>")}}catch(r){return null}}else{p=h.item(0);i=p.nodeName;return{name:i,index:g(i,p)}}}else{p=y.getNode();i=p.nodeName;if(i=="IMG"){return{name:i,index:g(i,p)}}k=u(h.cloneRange());if(!o){k.collapse(false);k.insertNode(n.create("span",{"data-mce-type":"bookmark",id:j+"_end",style:x},m))}h=u(h);h.collapse(true);h.insertNode(n.create("span",{"data-mce-type":"bookmark",id:j+"_start",style:x},m))}y.moveToBookmark({id:j,keep:1});return{id:j}},moveToBookmark:function(q){var v=this,n=v.dom,l,j,g,i,u,k,x,r,s;function h(C){var t=q[C?"start":"end"],z,A,B,y;if(t){B=t[0];for(A=u,z=t.length-1;z>=1;z--){y=A.childNodes;if(t[z]>y.length-1){return}A=y[t[z]]}if(A.nodeType===3){B=Math.min(t[0],A.nodeValue.length)}if(A.nodeType===1){B=Math.min(t[0],A.childNodes.length)}if(C){g.setStart(A,B)}else{g.setEnd(A,B)}}return true}function m(D){var y=n.get(q.id+"_"+D),C,t,A,B,z=q.keep;if(y){C=y.parentNode;if(D=="start"){if(!z){t=n.nodeIndex(y)}else{C=y.firstChild;t=1}k=x=C;r=s=t}else{if(!z){t=n.nodeIndex(y)}else{C=y.firstChild;t=1}x=C;s=t}if(!z){B=y.previousSibling;A=y.nextSibling;e(d.grep(y.childNodes),function(E){if(E.nodeType==3){E.nodeValue=E.nodeValue.replace(/\uFEFF/g,"")}});while(y=n.get(q.id+"_"+D)){n.remove(y,1)}if(B&&A&&B.nodeType==A.nodeType&&B.nodeType==3&&!d.isOpera){t=B.nodeValue.length;B.appendData(A.nodeValue);n.remove(A);if(D=="start"){k=x=B;r=s=t}else{x=B;s=t}}}}}function o(t){if(n.isBlock(t)&&!t.innerHTML&&!b){t.innerHTML='<br data-mce-bogus="1" />'}return t}if(q){if(q.start){g=n.createRng();u=n.getRoot();if(v.tridentSel){return v.tridentSel.moveToBookmark(q)}if(h(true)&&h()){v.setRng(g)}}else{if(q.id){m("start");m("end");if(k){g=n.createRng();g.setStart(o(k),r);g.setEnd(o(x),s);v.setRng(g)}}else{if(q.name){v.select(n.select(q.name)[q.index])}else{if(q.rng){g=q.rng;if(g.startContainer){i=v.dom.createRng();try{i.setStart(g.startContainer,g.startOffset);i.setEnd(g.endContainer,g.endOffset)}catch(p){}g=i}v.setRng(g)}}}}}},select:function(l,k){var j=this,m=j.dom,h=m.createRng(),g;function i(n,p){var o=new a(n,n);do{if(n.nodeType==3&&d.trim(n.nodeValue).length!==0){if(p){h.setStart(n,0)}else{h.setEnd(n,n.nodeValue.length)}return}if(n.nodeName=="BR"){if(p){h.setStartBefore(n)}else{h.setEndBefore(n)}return}}while(n=(p?o.next():o.prev()))}if(l){g=m.nodeIndex(l);h.setStart(l.parentNode,g);h.setEnd(l.parentNode,g+1);if(k){i(l,1);i(l)}j.setRng(h)}return l},isCollapsed:function(){var g=this,i=g.getRng(),h=g.getSel();if(!i||i.item){return false}if(i.compareEndPoints){return i.compareEndPoints("StartToEnd",i)===0}return !h||i.collapsed},collapse:function(g){var i=this,h=i.getRng(),j;if(h.item){j=h.item(0);h=i.win.document.body.createTextRange();h.moveToElementText(j)}h.collapse(!!g);i.setRng(h)},getSel:function(){var h=this,g=this.win;return g.getSelection?g.getSelection():g.document.selection},getRng:function(m){var h=this,j,g,l,k=h.win.document;if(m&&h.tridentSel){return h.tridentSel.getRangeAt(0)}try{if(j=h.getSel()){g=j.rangeCount>0?j.getRangeAt(0):(j.createRange?j.createRange():k.createRange())}}catch(i){}if(d.isIE&&!d.isIE11&&g&&g.setStart&&k.selection.createRange().item){l=k.selection.createRange().item(0);g=k.createRange();g.setStartBefore(l);g.setEndAfter(l)}if(!g){g=k.createRange?k.createRange():k.body.createTextRange()}if(g.setStart&&g.startContainer.nodeType===9&&g.collapsed){l=h.dom.getRoot();g.setStart(l,0);g.setEnd(l,0)}if(h.selectedRange&&h.explicitRange){if(g.compareBoundaryPoints(g.START_TO_START,h.selectedRange)===0&&g.compareBoundaryPoints(g.END_TO_END,h.selectedRange)===0){g=h.explicitRange}else{h.selectedRange=null;h.explicitRange=null}}return g},setRng:function(k,g){var j,i=this;if(!i.tridentSel){j=i.getSel();if(j){i.explicitRange=k;try{j.removeAllRanges()}catch(h){}j.addRange(k);if(g===false&&j.extend){j.collapse(k.endContainer,k.endOffset);j.extend(k.startContainer,k.startOffset)}i.selectedRange=j.rangeCount>0?j.getRangeAt(0):null}}else{if(k.cloneRange){try{i.tridentSel.addRange(k);return}catch(h){}}try{k.select()}catch(h){}}},setNode:function(h){var g=this;g.setContent(g.dom.getOuterHTML(h));return h},getNode:function(){var i=this,h=i.getRng(),j=i.getSel(),m,l=h.startContainer,g=h.endContainer;function k(q,o){var p=q;while(q&&q.nodeType===3&&q.length===0){q=o?q.nextSibling:q.previousSibling}return q||p}if(!h){return i.dom.getRoot()}if(h.setStart){m=h.commonAncestorContainer;if(!h.collapsed){if(h.startContainer==h.endContainer){if(h.endOffset-h.startOffset<2){if(h.startContainer.hasChildNodes()){m=h.startContainer.childNodes[h.startOffset]}}}if(l.nodeType===3&&g.nodeType===3){if(l.length===h.startOffset){l=k(l.nextSibling,true)}else{l=l.parentNode}if(h.endOffset===0){g=k(g.previousSibling,false)}else{g=g.parentNode}if(l&&l===g){return l}}}if(m&&m.nodeType==3){return m.parentNode}return m}return h.item?h.item(0):h.parentElement()},getSelectedBlocks:function(p,h){var o=this,k=o.dom,m,l,i,j=[];m=k.getParent(p||o.getStart(),k.isBlock);l=k.getParent(h||o.getEnd(),k.isBlock);if(m){j.push(m)}if(m&&l&&m!=l){i=m;var g=new a(m,k.getRoot());while((i=g.next())&&i!=l){if(k.isBlock(i)){j.push(i)}}}if(l&&m!=l){j.push(l)}return j},isForward:function(){var i=this.dom,g=this.getSel(),j,h;if(!g||g.anchorNode==null||g.focusNode==null){return true}j=i.createRng();j.setStart(g.anchorNode,g.anchorOffset);j.collapse(true);h=i.createRng();h.setStart(g.focusNode,g.focusOffset);h.collapse(true);return j.compareBoundaryPoints(j.START_TO_START,h)<=0},normalize:function(){var h=this,g,m,l,j,i;function k(p){var o,r,n,s=h.dom,u=s.getRoot(),q,t,v;function y(z,A){var B=new a(z,s.getParent(z.parentNode,s.isBlock)||u);while(z=B[A?"prev":"next"]()){if(z.nodeName==="BR"){return true}}}function x(B,z){var C,A;z=z||o;C=new a(z,s.getParent(z.parentNode,s.isBlock)||u);while(q=C[B?"prev":"next"]()){if(q.nodeType===3&&q.nodeValue.length>0){o=q;r=B?q.nodeValue.length:0;m=true;return}if(s.isBlock(q)||t[q.nodeName.toLowerCase()]){return}A=q}if(l&&A){o=A;m=true;r=0}}o=g[(p?"start":"end")+"Container"];r=g[(p?"start":"end")+"Offset"];t=s.schema.getNonEmptyElements();if(o.nodeType===9){o=s.getRoot();r=0}if(o===u){if(p){q=o.childNodes[r>0?r-1:0];if(q){v=q.nodeName.toLowerCase();if(t[q.nodeName]||q.nodeName=="TABLE"){return}}}if(o.hasChildNodes()){o=o.childNodes[Math.min(!p&&r>0?r-1:r,o.childNodes.length-1)];r=0;if(o.hasChildNodes()&&!/TABLE/.test(o.nodeName)){q=o;n=new a(o,u);do{if(q.nodeType===3&&q.nodeValue.length>0){r=p?0:q.nodeValue.length;o=q;m=true;break}if(t[q.nodeName.toLowerCase()]){r=s.nodeIndex(q);o=q.parentNode;if(q.nodeName=="IMG"&&!p){r++}m=true;break}}while(q=(p?n.next():n.prev()))}}}if(l){if(o.nodeType===3&&r===0){x(true)}if(o.nodeType===1){q=o.childNodes[r];if(q&&q.nodeName==="BR"&&!y(q)&&!y(q,true)){x(true,o.childNodes[r])}}}if(p&&!l&&o.nodeType===3&&r===o.nodeValue.length){x(false)}if(m){g["set"+(p?"Start":"End")](o,r)}}if(d.isIE){return}g=h.getRng();l=g.collapsed;k(true);if(!l){k()}if(m){if(l){g.collapse(true)}h.setRng(g,h.isForward())}},selectorChanged:function(g,j){var h=this,i;if(!h.selectorChangedData){h.selectorChangedData={};i={};h.editor.onNodeChange.addToTop(function(l,k,o){var p=h.dom,m=p.getParents(o,null,p.getRoot()),n={};e(h.selectorChangedData,function(r,q){e(m,function(s){if(p.is(s,q)){if(!i[q]){e(r,function(t){t(true,{node:s,selector:q,parents:m})});i[q]=r}n[q]=r;return false}})});e(i,function(r,q){if(!n[q]){delete i[q];e(r,function(s){s(false,{node:o,selector:q,parents:m})})}})})}if(!h.selectorChangedData[g]){h.selectorChangedData[g]=[]}h.selectorChangedData[g].push(j);return h},scrollIntoView:function(k){var j,h,g=this,i=g.dom;h=i.getViewPort(g.editor.getWin());j=i.getPos(k).y;if(j<h.y||j+25>h.y+h.h){g.editor.getWin().scrollTo(0,j<h.y?j:j-h.h+25)}},destroy:function(h){var g=this;g.win=null;if(!h){d.removeUnload(g.destroy)}},_fixIESelection:function(){var h=this.dom,n=h.doc,i=n.body,k,o,g;function j(p,s){var q=i.createTextRange();try{q.moveToPoint(p,s)}catch(r){q=null}return q}function m(q){var p;if(q.button){p=j(q.x,q.y);if(p){if(p.compareEndPoints("StartToStart",o)>0){p.setEndPoint("StartToStart",o)}else{p.setEndPoint("EndToEnd",o)}p.select()}}else{l()}}function l(){var p=n.selection.createRange();if(o&&!p.item&&p.compareEndPoints("StartToEnd",p)===0){o.select()}h.unbind(n,"mouseup",l);h.unbind(n,"mousemove",m);o=k=0}n.documentElement.unselectable=true;h.bind(n,["mousedown","contextmenu"],function(p){if(p.target.nodeName==="HTML"){if(k){l()}g=n.documentElement;if(g.scrollHeight>g.clientHeight){return}k=1;o=j(p.x,p.y);if(o){h.bind(n,"mouseup",l);h.bind(n,"mousemove",m);h.win.focus();o.select()}}})}})})(tinymce);(function(a){a.dom.Serializer=function(e,i,f){var h,b,d=a.isIE,g=a.each,c;if(!e.apply_source_formatting){e.indent=false}i=i||a.DOM;f=f||new a.html.Schema(e);e.entity_encoding=e.entity_encoding||"named";e.remove_trailing_brs="remove_trailing_brs" in e?e.remove_trailing_brs:true;h=new a.util.Dispatcher(self);b=new a.util.Dispatcher(self);c=new a.html.DomParser(e,f);c.addAttributeFilter("src,href,style",function(k,j){var o=k.length,l,q,n="data-mce-"+j,p=e.url_converter,r=e.url_converter_scope,m;while(o--){l=k[o];q=l.attributes.map[n];if(q!==m){l.attr(j,q.length>0?q:null);l.attr(n,null)}else{q=l.attributes.map[j];if(j==="style"){q=i.serializeStyle(i.parseStyle(q),l.name)}else{if(p){q=p.call(r,q,j,l.name)}}l.attr(j,q.length>0?q:null)}}});c.addAttributeFilter("class",function(j,k){var l=j.length,m,n;while(l--){m=j[l];n=m.attr("class").replace(/(?:^|\s)mce(Item\w+|Selected)(?!\S)/g,"");m.attr("class",n.length>0?n:null)}});c.addAttributeFilter("data-mce-type",function(j,l,k){var m=j.length,n;while(m--){n=j[m];if(n.attributes.map["data-mce-type"]==="bookmark"&&!k.cleanup){n.remove()}}});c.addAttributeFilter("data-mce-expando",function(j,l,k){var m=j.length;while(m--){j[m].attr(l,null)}});c.addNodeFilter("noscript",function(j){var k=j.length,l;while(k--){l=j[k].firstChild;if(l){l.value=a.html.Entities.decode(l.value)}}});c.addNodeFilter("script,style",function(k,l){var m=k.length,n,o;function j(p){return p.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,"")}while(m--){n=k[m];o=n.firstChild?n.firstChild.value:"";if(l==="script"){n.attr("type",(n.attr("type")||"text/javascript").replace(/^mce\-/,""));if(o.length>0){n.firstChild.value="// <![CDATA[\n"+j(o)+"\n// ]]>"}}else{if(o.length>0){n.firstChild.value="<!--\n"+j(o)+"\n-->"}}}});c.addNodeFilter("#comment",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.value.indexOf("[CDATA[")===0){m.name="#cdata";m.type=4;m.value=m.value.replace(/^\[CDATA\[|\]\]$/g,"")}else{if(m.value.indexOf("mce:protected ")===0){m.name="#text";m.type=3;m.raw=true;m.value=unescape(m.value).substr(14)}}}});c.addNodeFilter("xml:namespace,input",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.type===7){m.remove()}else{if(m.type===1){if(k==="input"&&!("type" in m.attributes.map)){m.attr("type","text")}}}}});if(e.fix_list_elements){c.addNodeFilter("ul,ol",function(k,l){var m=k.length,n,j;while(m--){n=k[m];j=n.parent;if(j.name==="ul"||j.name==="ol"){if(n.prev&&n.prev.name==="li"){n.prev.append(n)}}}})}c.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style",function(j,k){var l=j.length;while(l--){j[l].attr(k,null)}});return{schema:f,addNodeFilter:c.addNodeFilter,addAttributeFilter:c.addAttributeFilter,onPreProcess:h,onPostProcess:b,serialize:function(o,m){var l,p,k,j,n;if(d&&i.select("script,style,select,map").length>0){n=o.innerHTML;o=o.cloneNode(false);i.setHTML(o,n)}else{o=o.cloneNode(true)}l=o.ownerDocument.implementation;if(l.createHTMLDocument){p=l.createHTMLDocument("");g(o.nodeName=="BODY"?o.childNodes:[o],function(q){p.body.appendChild(p.importNode(q,true))});if(o.nodeName!="BODY"){o=p.body.firstChild}else{o=p.body}k=i.doc;i.doc=p}m=m||{};m.format=m.format||"html";if(!m.no_events){m.node=o;h.dispatch(self,m)}j=new a.html.Serializer(e,f);m.content=j.serialize(c.parse(a.trim(m.getInner?o.innerHTML:i.getOuterHTML(o)),m));if(!m.cleanup){m.content=m.content.replace(/\uFEFF/g,"")}if(!m.no_events){b.dispatch(self,m)}if(k){i.doc=k}m.node=null;return m.content},addRules:function(j){f.addValidElements(j)},setRules:function(j){f.setValidElements(j)}}}})(tinymce);(function(a){a.dom.ScriptLoader=function(h){var c=0,k=1,i=2,l={},j=[],e={},d=[],g=0,f;function b(m,v){var x=this,q=a.DOM,s,o,r,n;function p(){q.remove(n);if(s){s.onreadystatechange=s.onload=s=null}v()}function u(){if(typeof(console)!=="undefined"&&console.log){console.log("Failed to load: "+m)}}n=q.uniqueId();if(a.isIE6){o=new a.util.URI(m);r=location;if(o.host==r.hostname&&o.port==r.port&&(o.protocol+":")==r.protocol&&o.protocol.toLowerCase()!="file"){a.util.XHR.send({url:a._addVer(o.getURI()),success:function(y){var t=q.create("script",{type:"text/javascript"});t.text=y;document.getElementsByTagName("head")[0].appendChild(t);q.remove(t);p()},error:u});return}}s=document.createElement("script");s.id=n;s.type="text/javascript";s.src=a._addVer(m);if(!a.isIE||a.isIE11){s.onload=p}s.onerror=u;if(!a.isOpera){s.onreadystatechange=function(){var t=s.readyState;if(t=="complete"||t=="loaded"){p()}}}(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}this.isDone=function(m){return l[m]==i};this.markDone=function(m){l[m]=i};this.add=this.load=function(m,q,n){var o,p=l[m];if(p==f){j.push(m);l[m]=c}if(q){if(!e[m]){e[m]=[]}e[m].push({func:q,scope:n||this})}};this.loadQueue=function(n,m){this.loadScripts(j,n,m)};this.loadScripts=function(m,q,p){var o;function n(r){a.each(e[r],function(s){s.func.call(s.scope)});e[r]=f}d.push({func:q,scope:p||this});o=function(){var r=a.grep(m);m.length=0;a.each(r,function(s){if(l[s]==i){n(s);return}if(l[s]!=k){l[s]=k;g++;b(s,function(){l[s]=i;g--;n(s);o()})}});if(!g){a.each(d,function(s){s.func.call(s.scope)});d.length=0}};o()}};a.ScriptLoader=new a.dom.ScriptLoader()})(tinymce);(function(a){a.dom.RangeUtils=function(c){var b="\uFEFF";this.walk=function(d,s){var i=d.startContainer,l=d.startOffset,t=d.endContainer,m=d.endOffset,j,g,o,h,r,q,e;e=c.select("td.mceSelected,th.mceSelected");if(e.length>0){a.each(e,function(u){s([u])});return}function f(u){var v;v=u[0];if(v.nodeType===3&&v===i&&l>=v.nodeValue.length){u.splice(0,1)}v=u[u.length-1];if(m===0&&u.length>0&&v===t&&v.nodeType===3){u.splice(u.length-1,1)}return u}function p(x,v,u){var y=[];for(;x&&x!=u;x=x[v]){y.push(x)}return y}function n(v,u){do{if(v.parentNode==u){return v}v=v.parentNode}while(v)}function k(x,v,y){var u=y?"nextSibling":"previousSibling";for(h=x,r=h.parentNode;h&&h!=v;h=r){r=h.parentNode;q=p(h==x?h:h[u],u);if(q.length){if(!y){q.reverse()}s(f(q))}}}if(i.nodeType==1&&i.hasChildNodes()){i=i.childNodes[l]}if(t.nodeType==1&&t.hasChildNodes()){t=t.childNodes[Math.min(m-1,t.childNodes.length-1)]}if(i==t){return s(f([i]))}j=c.findCommonAncestor(i,t);for(h=i;h;h=h.parentNode){if(h===t){return k(i,j,true)}if(h===j){break}}for(h=t;h;h=h.parentNode){if(h===i){return k(t,j)}if(h===j){break}}g=n(i,j)||i;o=n(t,j)||t;k(i,g,true);q=p(g==i?g:g.nextSibling,"nextSibling",o==t?o.nextSibling:o);if(q.length){s(f(q))}k(t,o)};this.split=function(e){var h=e.startContainer,d=e.startOffset,i=e.endContainer,g=e.endOffset;function f(j,k){return j.splitText(k)}if(h==i&&h.nodeType==3){if(d>0&&d<h.nodeValue.length){i=f(h,d);h=i.previousSibling;if(g>d){g=g-d;h=i=f(i,g).previousSibling;g=i.nodeValue.length;d=0}else{g=0}}}else{if(h.nodeType==3&&d>0&&d<h.nodeValue.length){h=f(h,d);d=0}if(i.nodeType==3&&g>0&&g<i.nodeValue.length){i=f(i,g).previousSibling;g=i.nodeValue.length}}return{startContainer:h,startOffset:d,endContainer:i,endOffset:g}}};a.dom.RangeUtils.compareRanges=function(c,b){if(c&&b){if(c.item||c.duplicate){if(c.item&&b.item&&c.item(0)===b.item(0)){return true}if(c.isEqual&&b.isEqual&&b.isEqual(c)){return true}}else{return c.startContainer==b.startContainer&&c.startOffset==b.startOffset}}return false}})(tinymce);(function(b){var a=b.dom.Event,c=b.each;b.create("tinymce.ui.KeyboardNavigation",{KeyboardNavigation:function(e,f){var q=this,n=e.root,m=e.items,o=e.enableUpDown,i=e.enableLeftRight||!e.enableUpDown,l=e.excludeFromTabOrder,k,h,p,d,g;f=f||b.DOM;k=function(r){g=r.target.id};h=function(r){f.setAttrib(r.target.id,"tabindex","-1")};d=function(r){var s=f.get(g);f.setAttrib(s,"tabindex","0");s.focus()};q.focus=function(){f.get(g).focus()};q.destroy=function(){c(m,function(s){var t=f.get(s.id);f.unbind(t,"focus",k);f.unbind(t,"blur",h)});var r=f.get(n);f.unbind(r,"focus",d);f.unbind(r,"keydown",p);m=f=n=q.focus=k=h=p=d=null;q.destroy=function(){}};q.moveFocus=function(v,s){var r=-1,u=q.controls,t;if(!g){return}c(m,function(y,x){if(y.id===g){r=x;return false}});r+=v;if(r<0){r=m.length-1}else{if(r>=m.length){r=0}}t=m[r];f.setAttrib(g,"tabindex","-1");f.setAttrib(t.id,"tabindex","0");f.get(t.id).focus();if(e.actOnFocus){e.onAction(t.id)}if(s){a.cancel(s)}};p=function(z){var v=37,u=39,y=38,A=40,r=27,t=14,s=13,x=32;switch(z.keyCode){case v:if(i){q.moveFocus(-1)}a.cancel(z);break;case u:if(i){q.moveFocus(1)}a.cancel(z);break;case y:if(o){q.moveFocus(-1)}a.cancel(z);break;case A:if(o){q.moveFocus(1)}a.cancel(z);break;case r:if(e.onCancel){e.onCancel();a.cancel(z)}break;case t:case s:case x:if(e.onAction){e.onAction(g);a.cancel(z)}break}};c(m,function(t,r){var s,u;if(!t.id){t.id=f.uniqueId("_mce_item_")}u=f.get(t.id);if(l){f.bind(u,"blur",h);s="-1"}else{s=(r===0?"0":"-1")}u.setAttribute("tabindex",s);f.bind(u,"focus",k)});if(m[0]){g=m[0].id}f.setAttrib(n,"tabindex","-1");var j=f.get(n);f.bind(j,"focus",d);f.bind(j,"keydown",p)}})})(tinymce);(function(c){var b=c.DOM,a=c.is;c.create("tinymce.ui.Control",{Control:function(f,e,d){this.id=f;this.settings=e=e||{};this.rendered=false;this.onRender=new c.util.Dispatcher(this);this.classPrefix="";this.scope=e.scope||this;this.disabled=0;this.active=0;this.editor=d},setAriaProperty:function(f,e){var d=b.get(this.id+"_aria")||b.get(this.id);if(d){b.setAttrib(d,"aria-"+f,!!e)}},focus:function(){b.get(this.id).focus()},setDisabled:function(d){if(d!=this.disabled){this.setAriaProperty("disabled",d);this.setState("Disabled",d);this.setState("Enabled",!d);this.disabled=d}},isDisabled:function(){return this.disabled},setActive:function(d){if(d!=this.active){this.setState("Active",d);this.active=d;this.setAriaProperty("pressed",d)}},isActive:function(){return this.active},setState:function(f,d){var e=b.get(this.id);f=this.classPrefix+f;if(d){b.addClass(e,f)}else{b.removeClass(e,f)}},isRendered:function(){return this.rendered},renderHTML:function(){},renderTo:function(d){b.setHTML(d,this.renderHTML())},postRender:function(){var e=this,d;if(a(e.disabled)){d=e.disabled;e.disabled=-1;e.setDisabled(d)}if(a(e.active)){d=e.active;e.active=-1;e.setActive(d)}},remove:function(){b.remove(this.id);this.destroy()},destroy:function(){c.dom.Event.clear(this.id)}})})(tinymce);tinymce.create("tinymce.ui.Container:tinymce.ui.Control",{Container:function(c,b,a){this.parent(c,b,a);this.controls=[];this.lookup={}},add:function(a){this.lookup[a.id]=a;this.controls.push(a);return a},get:function(a){return this.lookup[a]}});tinymce.create("tinymce.ui.Separator:tinymce.ui.Control",{Separator:function(b,a){this.parent(b,a);this.classPrefix="mceSeparator";this.setDisabled(true)},renderHTML:function(){return tinymce.DOM.createHTML("span",{"class":this.classPrefix,role:"separator","aria-orientation":"vertical",tabindex:"-1"})}});(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.MenuItem:tinymce.ui.Control",{MenuItem:function(g,f){this.parent(g,f);this.classPrefix="mceMenuItem"},setSelected:function(f){this.setState("Selected",f);this.setAriaProperty("checked",!!f);this.selected=f},isSelected:function(){return this.selected},postRender:function(){var f=this;f.parent();if(c(f.selected)){f.setSelected(f.selected)}}})})(tinymce);(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.Menu:tinymce.ui.MenuItem",{Menu:function(h,g){var f=this;f.parent(h,g);f.items={};f.collapsed=false;f.menuCount=0;f.onAddItem=new d.util.Dispatcher(this)},expand:function(g){var f=this;if(g){a(f,function(h){if(h.expand){h.expand()}},"items",f)}f.collapsed=false},collapse:function(g){var f=this;if(g){a(f,function(h){if(h.collapse){h.collapse()}},"items",f)}f.collapsed=true},isCollapsed:function(){return this.collapsed},add:function(f){if(!f.settings){f=new d.ui.MenuItem(f.id||b.uniqueId(),f)}this.onAddItem.dispatch(this,f);return this.items[f.id]=f},addSeparator:function(){return this.add({separator:true})},addMenu:function(f){if(!f.collapse){f=this.createMenu(f)}this.menuCount++;return this.add(f)},hasMenus:function(){return this.menuCount!==0},remove:function(f){delete this.items[f.id]},removeAll:function(){var f=this;a(f,function(g){if(g.removeAll){g.removeAll()}else{g.remove()}g.destroy()},"items",f);f.items={}},createMenu:function(g){var f=new d.ui.Menu(g.id||b.uniqueId(),g);f.onAddItem.add(this.onAddItem.dispatch,this.onAddItem);return f}})})(tinymce);(function(e){var d=e.is,c=e.DOM,f=e.each,a=e.dom.Event,b=e.dom.Element;e.create("tinymce.ui.DropMenu:tinymce.ui.Menu",{DropMenu:function(h,g){g=g||{};g.container=g.container||c.doc.body;g.offset_x=g.offset_x||0;g.offset_y=g.offset_y||0;g.vp_offset_x=g.vp_offset_x||0;g.vp_offset_y=g.vp_offset_y||0;if(d(g.icons)&&!g.icons){g["class"]+=" mceNoIcons"}this.parent(h,g);this.onShowMenu=new e.util.Dispatcher(this);this.onHideMenu=new e.util.Dispatcher(this);this.classPrefix="mceMenu"},createMenu:function(j){var h=this,i=h.settings,g;j.container=j.container||i.container;j.parent=h;j.constrain=j.constrain||i.constrain;j["class"]=j["class"]||i["class"];j.vp_offset_x=j.vp_offset_x||i.vp_offset_x;j.vp_offset_y=j.vp_offset_y||i.vp_offset_y;j.keyboard_focus=i.keyboard_focus;g=new e.ui.DropMenu(j.id||c.uniqueId(),j);g.onAddItem.add(h.onAddItem.dispatch,h.onAddItem);return g},focus:function(){var g=this;if(g.keyboardNav){g.keyboardNav.focus()}},update:function(){var i=this,j=i.settings,g=c.get("menu_"+i.id+"_tbl"),l=c.get("menu_"+i.id+"_co"),h,k;h=j.max_width?Math.min(g.offsetWidth,j.max_width):g.offsetWidth;k=j.max_height?Math.min(g.offsetHeight,j.max_height):g.offsetHeight;if(!c.boxModel){i.element.setStyles({width:h+2,height:k+2})}else{i.element.setStyles({width:h,height:k})}if(j.max_width){c.setStyle(l,"width",h)}if(j.max_height){c.setStyle(l,"height",k);if(g.clientHeight<j.max_height){c.setStyle(l,"overflow","hidden")}}},showMenu:function(p,n,r){var z=this,A=z.settings,o,g=c.getViewPort(),u,l,v,q,i=2,k,j,m=z.classPrefix;z.collapse(1);if(z.isMenuVisible){return}if(!z.rendered){o=c.add(z.settings.container,z.renderNode());f(z.items,function(h){h.postRender()});z.element=new b("menu_"+z.id,{blocker:1,container:A.container})}else{o=c.get("menu_"+z.id)}if(!e.isOpera){c.setStyles(o,{left:-65535,top:-65535})}c.show(o);z.update();p+=A.offset_x||0;n+=A.offset_y||0;g.w-=4;g.h-=4;if(A.constrain){u=o.clientWidth-i;l=o.clientHeight-i;v=g.x+g.w;q=g.y+g.h;if((p+A.vp_offset_x+u)>v){p=r?r-u:Math.max(0,(v-A.vp_offset_x)-u)}if((n+A.vp_offset_y+l)>q){n=Math.max(0,(q-A.vp_offset_y)-l)}}c.setStyles(o,{left:p,top:n});z.element.update();z.isMenuVisible=1;z.mouseClickFunc=a.add(o,"click",function(s){var h;s=s.target;if(s&&(s=c.getParent(s,"tr"))&&!c.hasClass(s,m+"ItemSub")){h=z.items[s.id];if(h.isDisabled()){return}k=z;while(k){if(k.hideMenu){k.hideMenu()}k=k.settings.parent}if(h.settings.onclick){h.settings.onclick(s)}return false}});if(z.hasMenus()){z.mouseOverFunc=a.add(o,"mouseover",function(x){var h,t,s;x=x.target;if(x&&(x=c.getParent(x,"tr"))){h=z.items[x.id];if(z.lastMenu){z.lastMenu.collapse(1)}if(h.isDisabled()){return}if(x&&c.hasClass(x,m+"ItemSub")){t=c.getRect(x);h.showMenu((t.x+t.w-i),t.y-i,t.x);z.lastMenu=h;c.addClass(c.get(h.id).firstChild,m+"ItemActive")}}})}a.add(o,"keydown",z._keyHandler,z);z.onShowMenu.dispatch(z);if(A.keyboard_focus){z._setupKeyboardNav()}},hideMenu:function(j){var g=this,i=c.get("menu_"+g.id),h;if(!g.isMenuVisible){return}if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(i,"mouseover",g.mouseOverFunc);a.remove(i,"click",g.mouseClickFunc);a.remove(i,"keydown",g._keyHandler);c.hide(i);g.isMenuVisible=0;if(!j){g.collapse(1)}if(g.element){g.element.hide()}if(h=c.get(g.id)){c.removeClass(h.firstChild,g.classPrefix+"ItemActive")}g.onHideMenu.dispatch(g)},add:function(i){var g=this,h;i=g.parent(i);if(g.isRendered&&(h=c.get("menu_"+g.id))){g._add(c.select("tbody",h)[0],i)}return i},collapse:function(g){this.parent(g);this.hideMenu(1)},remove:function(g){c.remove(g.id);this.destroy();return this.parent(g)},destroy:function(){var g=this,h=c.get("menu_"+g.id);if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(h,"mouseover",g.mouseOverFunc);a.remove(c.select("a",h),"focus",g.mouseOverFunc);a.remove(h,"click",g.mouseClickFunc);a.remove(h,"keydown",g._keyHandler);if(g.element){g.element.remove()}c.remove(h)},renderNode:function(){var i=this,j=i.settings,l,h,k,g;g=c.create("div",{role:"listbox",id:"menu_"+i.id,"class":j["class"],style:"position:absolute;left:0;top:0;z-index:200000;outline:0"});if(i.settings.parent){c.setAttrib(g,"aria-parent","menu_"+i.settings.parent.id)}k=c.add(g,"div",{role:"presentation",id:"menu_"+i.id+"_co","class":i.classPrefix+(j["class"]?" "+j["class"]:"")});i.element=new b("menu_"+i.id,{blocker:1,container:j.container});if(j.menu_line){c.add(k,"span",{"class":i.classPrefix+"Line"})}l=c.add(k,"table",{role:"presentation",id:"menu_"+i.id+"_tbl",border:0,cellPadding:0,cellSpacing:0});h=c.add(l,"tbody");f(i.items,function(m){i._add(h,m)});i.rendered=true;return g},_setupKeyboardNav:function(){var i,h,g=this;i=c.get("menu_"+g.id);h=c.select("a[role=option]","menu_"+g.id);h.splice(0,0,i);g.keyboardNav=new e.ui.KeyboardNavigation({root:"menu_"+g.id,items:h,onCancel:function(){g.hideMenu()},enableUpDown:true});i.focus()},_keyHandler:function(g){var h=this,i;switch(g.keyCode){case 37:if(h.settings.parent){h.hideMenu();h.settings.parent.focus();a.cancel(g)}break;case 39:if(h.mouseOverFunc){h.mouseOverFunc(g)}break}},_add:function(j,h){var i,q=h.settings,p,l,k,m=this.classPrefix,g;if(q.separator){l=c.add(j,"tr",{id:h.id,"class":m+"ItemSeparator"});c.add(l,"td",{"class":m+"ItemSeparator"});if(i=l.previousSibling){c.addClass(i,"mceLast")}return}i=l=c.add(j,"tr",{id:h.id,"class":m+"Item "+m+"ItemEnabled"});i=k=c.add(i,q.titleItem?"th":"td");i=p=c.add(i,"a",{id:h.id+"_aria",role:q.titleItem?"presentation":"option",href:"javascript:;",onclick:"return false;",onmousedown:"return false;"});if(q.parent){c.setAttrib(p,"aria-haspopup","true");c.setAttrib(p,"aria-owns","menu_"+h.id)}c.addClass(k,q["class"]);g=c.add(i,"span",{"class":"mceIcon"+(q.icon?" mce_"+q.icon:"")});if(q.icon_src){c.add(g,"img",{src:q.icon_src})}i=c.add(i,q.element||"span",{"class":"mceText",title:h.settings.title},h.settings.title);if(h.settings.style){if(typeof h.settings.style=="function"){h.settings.style=h.settings.style()}c.setAttrib(i,"style",h.settings.style)}if(j.childNodes.length==1){c.addClass(l,"mceFirst")}if((i=l.previousSibling)&&c.hasClass(i,m+"ItemSeparator")){c.addClass(l,"mceFirst")}if(h.collapse){c.addClass(l,m+"ItemSub")}if(i=l.previousSibling){c.removeClass(i,"mceLast")}c.addClass(l,"mceLast")}})})(tinymce);(function(b){var a=b.DOM;b.create("tinymce.ui.Button:tinymce.ui.Control",{Button:function(e,d,c){this.parent(e,d,c);this.classPrefix="mceButton"},renderHTML:function(){var f=this.classPrefix,e=this.settings,d,c;c=a.encode(e.label||"");d='<a role="button" id="'+this.id+'" href="javascript:;" class="'+f+" "+f+"Enabled "+e["class"]+(c?" "+f+"Labeled":"")+'" onmousedown="return false;" onclick="return false;" aria-labelledby="'+this.id+'_voice" title="'+a.encode(e.title)+'">';if(e.image&&!(this.editor&&this.editor.forcedHighContrastMode)){d+='<span class="mceIcon '+e["class"]+'"><img class="mceIcon" src="'+e.image+'" alt="'+a.encode(e.title)+'" /></span>'+(c?'<span class="'+f+'Label">'+c+"</span>":"")}else{d+='<span class="mceIcon '+e["class"]+'"></span>'+(c?'<span class="'+f+'Label">'+c+"</span>":"")}d+='<span class="mceVoiceLabel mceIconOnly" style="display: none;" id="'+this.id+'_voice">'+e.title+"</span>";d+="</a>";return d},postRender:function(){var d=this,e=d.settings,c;if(b.isIE&&d.editor){b.dom.Event.add(d.id,"mousedown",function(f){var g=d.editor.selection.getNode().nodeName;c=g==="IMG"?d.editor.selection.getBookmark():null})}b.dom.Event.add(d.id,"click",function(f){if(!d.isDisabled()){if(b.isIE&&d.editor&&c!==null){d.editor.selection.moveToBookmark(c)}return e.onclick.call(e.scope,f)}});b.dom.Event.add(d.id,"keydown",function(f){if(!d.isDisabled()&&f.keyCode==b.VK.SPACEBAR){b.dom.Event.cancel(f);return e.onclick.call(e.scope,f)}})}})})(tinymce);(function(e){var d=e.DOM,b=e.dom.Event,f=e.each,a=e.util.Dispatcher,c;e.create("tinymce.ui.ListBox:tinymce.ui.Control",{ListBox:function(j,i,g){var h=this;h.parent(j,i,g);h.items=[];h.onChange=new a(h);h.onPostRender=new a(h);h.onAdd=new a(h);h.onRenderMenu=new e.util.Dispatcher(this);h.classPrefix="mceListBox";h.marked={}},select:function(h){var g=this,j,i;g.marked={};if(h==c){return g.selectByIndex(-1)}if(h&&typeof(h)=="function"){i=h}else{i=function(k){return k==h}}if(h!=g.selectedValue){f(g.items,function(l,k){if(i(l.value)){j=1;g.selectByIndex(k);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(g){var i=this,j,k,h;i.marked={};if(g!=i.selectedIndex){j=d.get(i.id+"_text");h=d.get(i.id+"_voiceDesc");k=i.items[g];if(k){i.selectedValue=k.value;i.selectedIndex=g;d.setHTML(j,d.encode(k.title));d.setHTML(h,i.settings.title+" - "+k.title);d.removeClass(j,"mceTitle");d.setAttrib(i.id,"aria-valuenow",k.title)}else{d.setHTML(j,d.encode(i.settings.title));d.setHTML(h,d.encode(i.settings.title));d.addClass(j,"mceTitle");i.selectedValue=i.selectedIndex=null;d.setAttrib(i.id,"aria-valuenow",i.settings.title)}j=0}},mark:function(g){this.marked[g]=true},add:function(j,g,i){var h=this;i=i||{};i=e.extend(i,{title:j,value:g});h.items.push(i);h.onAdd.dispatch(h,i)},getLength:function(){return this.items.length},renderHTML:function(){var j="",g=this,i=g.settings,k=g.classPrefix;j='<span role="listbox" aria-haspopup="true" aria-labelledby="'+g.id+'_voiceDesc" aria-describedby="'+g.id+'_voiceDesc"><table role="presentation" tabindex="0" id="'+g.id+'" cellpadding="0" cellspacing="0" class="'+k+" "+k+"Enabled"+(i["class"]?(" "+i["class"]):"")+'"><tbody><tr>';j+="<td>"+d.createHTML("span",{id:g.id+"_voiceDesc","class":"voiceLabel",style:"display:none;"},g.settings.title);j+=d.createHTML("a",{id:g.id+"_text",tabindex:-1,href:"javascript:;","class":"mceText",onclick:"return false;",onmousedown:"return false;"},d.encode(g.settings.title))+"</td>";j+="<td>"+d.createHTML("a",{id:g.id+"_open",tabindex:-1,href:"javascript:;","class":"mceOpen",onclick:"return false;",onmousedown:"return false;"},'<span><span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span></span>')+"</td>";j+="</tr></tbody></table></span>";return j},showMenu:function(){var h=this,j,i=d.get(this.id),g;if(h.isDisabled()||h.items.length===0){return}if(h.menu&&h.menu.isMenuVisible){return h.hideMenu()}if(!h.isMenuRendered){h.renderMenu();h.isMenuRendered=true}j=d.getPos(i);g=h.menu;g.settings.offset_x=j.x;g.settings.offset_y=j.y;g.settings.keyboard_focus=!e.isOpera;f(h.items,function(k){if(g.items[k.id]){g.items[k.id].setSelected(0)}});f(h.items,function(k){if(g.items[k.id]&&h.marked[k.value]){g.items[k.id].setSelected(1)}if(k.value===h.selectedValue){g.items[k.id].setSelected(1)}});g.showMenu(0,i.clientHeight);b.add(d.doc,"mousedown",h.hideMenu,h);d.addClass(h.id,h.classPrefix+"Selected")},hideMenu:function(h){var g=this;if(g.menu&&g.menu.isMenuVisible){d.removeClass(g.id,g.classPrefix+"Selected");if(h&&h.type=="mousedown"&&(h.target.id==g.id+"_text"||h.target.id==g.id+"_open")){return}if(!h||!d.getParent(h.target,".mceMenu")){d.removeClass(g.id,g.classPrefix+"Selected");b.remove(d.doc,"mousedown",g.hideMenu,g);g.menu.hideMenu()}}},renderMenu:function(){var h=this,g;g=h.settings.control_manager.createDropMenu(h.id+"_menu",{menu_line:1,"class":h.classPrefix+"Menu mceNoIcons",max_width:250,max_height:150});g.onHideMenu.add(function(){h.hideMenu();h.focus()});g.add({title:h.settings.title,"class":"mceMenuItemTitle",onclick:function(){if(h.settings.onselect("")!==false){h.select("")}}});f(h.items,function(i){if(i.value===c){g.add({title:i.title,role:"option","class":"mceMenuItemTitle",onclick:function(){if(h.settings.onselect("")!==false){h.select("")}}})}else{i.id=d.uniqueId();i.role="option";i.onclick=function(){if(h.settings.onselect(i.value)!==false){h.select(i.value)}};g.add(i)}});h.onRenderMenu.dispatch(h,g);h.menu=g},postRender:function(){var g=this,h=g.classPrefix;b.add(g.id,"click",g.showMenu,g);b.add(g.id,"keydown",function(i){if(i.keyCode==32){g.showMenu(i);b.cancel(i)}});b.add(g.id,"focus",function(){if(!g._focused){g.keyDownHandler=b.add(g.id,"keydown",function(i){if(i.keyCode==40){g.showMenu();b.cancel(i)}});g.keyPressHandler=b.add(g.id,"keypress",function(j){var i;if(j.keyCode==13){i=g.selectedValue;g.selectedValue=null;b.cancel(j);g.settings.onselect(i)}})}g._focused=1});b.add(g.id,"blur",function(){b.remove(g.id,"keydown",g.keyDownHandler);b.remove(g.id,"keypress",g.keyPressHandler);g._focused=0});if(e.isIE6||!d.boxModel){b.add(g.id,"mouseover",function(){if(!d.hasClass(g.id,h+"Disabled")){d.addClass(g.id,h+"Hover")}});b.add(g.id,"mouseout",function(){if(!d.hasClass(g.id,h+"Disabled")){d.removeClass(g.id,h+"Hover")}})}g.onPostRender.dispatch(g,d.get(g.id))},destroy:function(){this.parent();b.clear(this.id+"_text");b.clear(this.id+"_open")}})})(tinymce);(function(e){var d=e.DOM,b=e.dom.Event,f=e.each,a=e.util.Dispatcher,c;e.create("tinymce.ui.NativeListBox:tinymce.ui.ListBox",{NativeListBox:function(h,g){this.parent(h,g);this.classPrefix="mceNativeListBox"},setDisabled:function(g){d.get(this.id).disabled=g;this.setAriaProperty("disabled",g)},isDisabled:function(){return d.get(this.id).disabled},select:function(h){var g=this,j,i;if(h==c){return g.selectByIndex(-1)}if(h&&typeof(h)=="function"){i=h}else{i=function(k){return k==h}}if(h!=g.selectedValue){f(g.items,function(l,k){if(i(l.value)){j=1;g.selectByIndex(k);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(g){d.get(this.id).selectedIndex=g+1;this.selectedValue=this.items[g]?this.items[g].value:null},add:function(k,h,g){var j,i=this;g=g||{};g.value=h;if(i.isRendered()){d.add(d.get(this.id),"option",g,k)}j={title:k,value:h,attribs:g};i.items.push(j);i.onAdd.dispatch(i,j)},getLength:function(){return this.items.length},renderHTML:function(){var i,g=this;i=d.createHTML("option",{value:""},"-- "+g.settings.title+" --");f(g.items,function(h){i+=d.createHTML("option",{value:h.value},h.title)});i=d.createHTML("select",{id:g.id,"class":"mceNativeListBox","aria-labelledby":g.id+"_aria"},i);i+=d.createHTML("span",{id:g.id+"_aria",style:"display: none"},g.settings.title);return i},postRender:function(){var h=this,i,j=true;h.rendered=true;function g(l){var k=h.items[l.target.selectedIndex-1];if(k&&(k=k.value)){h.onChange.dispatch(h,k);if(h.settings.onselect){h.settings.onselect(k)}}}b.add(h.id,"change",g);b.add(h.id,"keydown",function(q){var n,p=37,m=39,l=38,r=40,k=13,o=32;b.remove(h.id,"change",i);j=false;n=b.add(h.id,"blur",function(){if(j){return}j=true;b.add(h.id,"change",g);b.remove(h.id,"blur",n)});if(q.keyCode==k||q.keyCode==o){g(q);return b.cancel(q)}else{if(q.keyCode==r||q.keyCode==l){q.stopImmediatePropagation()}}});h.onPostRender.dispatch(h,d.get(h.id))}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.MenuButton:tinymce.ui.Button",{MenuButton:function(g,f,e){this.parent(g,f,e);this.onRenderMenu=new c.util.Dispatcher(this);f.menu_container=f.menu_container||b.doc.body},showMenu:function(){var g=this,j,i,h=b.get(g.id),f;if(g.isDisabled()){return}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}if(g.isMenuVisible){return g.hideMenu()}j=b.getPos(g.settings.menu_container);i=b.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.vp_offset_x=i.x;f.settings.vp_offset_y=i.y;f.settings.keyboard_focus=g._focused;f.showMenu(0,h.firstChild.clientHeight);a.add(b.doc,"mousedown",g.hideMenu,g);g.setState("Selected",1);g.isMenuVisible=1},renderMenu:function(){var f=this,e;e=f.settings.control_manager.createDropMenu(f.id+"_menu",{menu_line:1,"class":this.classPrefix+"Menu",icons:f.settings.icons});e.onHideMenu.add(function(){f.hideMenu();f.focus()});f.onRenderMenu.dispatch(f,e);f.menu=e},hideMenu:function(g){var f=this;if(g&&g.type=="mousedown"&&b.getParent(g.target,function(h){return h.id===f.id||h.id===f.id+"_open"})){return}if(!g||!b.getParent(g.target,".mceMenu")){f.setState("Selected",0);a.remove(b.doc,"mousedown",f.hideMenu,f);if(f.menu){f.menu.hideMenu()}}f.isMenuVisible=0},postRender:function(){var e=this,f=e.settings;a.add(e.id,"click",function(){if(!e.isDisabled()){if(f.onclick){f.onclick(e.value)}e.showMenu()}})}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.SplitButton:tinymce.ui.MenuButton",{SplitButton:function(g,f,e){this.parent(g,f,e);this.classPrefix="mceSplitButton"},renderHTML:function(){var i,f=this,g=f.settings,e;i="<tbody><tr>";if(g.image){e=b.createHTML("img ",{src:g.image,role:"presentation","class":"mceAction "+g["class"]})}else{e=b.createHTML("span",{"class":"mceAction "+g["class"]},"")}e+=b.createHTML("span",{"class":"mceVoiceLabel mceIconOnly",id:f.id+"_voice",style:"display:none;"},g.title);i+="<td >"+b.createHTML("a",{role:"button",id:f.id+"_action",tabindex:"-1",href:"javascript:;","class":"mceAction "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";e=b.createHTML("span",{"class":"mceOpen "+g["class"]},'<span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span>');i+="<td >"+b.createHTML("a",{role:"button",id:f.id+"_open",tabindex:"-1",href:"javascript:;","class":"mceOpen "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";i+="</tr></tbody>";i=b.createHTML("table",{role:"presentation","class":"mceSplitButton mceSplitButtonEnabled "+g["class"],cellpadding:"0",cellspacing:"0",title:g.title},i);return b.createHTML("div",{id:f.id,role:"button",tabindex:"0","aria-labelledby":f.id+"_voice","aria-haspopup":"true"},i)},postRender:function(){var e=this,g=e.settings,f;if(g.onclick){f=function(h){if(!e.isDisabled()){g.onclick(e.value);a.cancel(h)}};a.add(e.id+"_action","click",f);a.add(e.id,["click","keydown"],function(h){var k=32,m=14,i=13,j=38,l=40;if((h.keyCode===32||h.keyCode===13||h.keyCode===14)&&!h.altKey&&!h.ctrlKey&&!h.metaKey){f();a.cancel(h)}else{if(h.type==="click"||h.keyCode===l){e.showMenu();a.cancel(h)}}})}a.add(e.id+"_open","click",function(h){e.showMenu();a.cancel(h)});a.add([e.id,e.id+"_open"],"focus",function(){e._focused=1});a.add([e.id,e.id+"_open"],"blur",function(){e._focused=0});if(c.isIE6||!b.boxModel){a.add(e.id,"mouseover",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.addClass(e.id,"mceSplitButtonHover")}});a.add(e.id,"mouseout",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.removeClass(e.id,"mceSplitButtonHover")}})}},destroy:function(){this.parent();a.clear(this.id+"_action");a.clear(this.id+"_open");a.clear(this.id)}})})(tinymce);(function(d){var c=d.DOM,a=d.dom.Event,b=d.is,e=d.each;d.create("tinymce.ui.ColorSplitButton:tinymce.ui.SplitButton",{ColorSplitButton:function(i,h,f){var g=this;g.parent(i,h,f);g.settings=h=d.extend({colors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",grid_width:8,default_color:"#888888"},g.settings);g.onShowMenu=new d.util.Dispatcher(g);g.onHideMenu=new d.util.Dispatcher(g);g.value=h.default_color},showMenu:function(){var f=this,g,j,i,h;if(f.isDisabled()){return}if(!f.isMenuRendered){f.renderMenu();f.isMenuRendered=true}if(f.isMenuVisible){return f.hideMenu()}i=c.get(f.id);c.show(f.id+"_menu");c.addClass(i,"mceSplitButtonSelected");h=c.getPos(i);c.setStyles(f.id+"_menu",{left:h.x,top:h.y+i.firstChild.clientHeight,zIndex:200000});i=0;a.add(c.doc,"mousedown",f.hideMenu,f);f.onShowMenu.dispatch(f);if(f._focused){f._keyHandler=a.add(f.id+"_menu","keydown",function(k){if(k.keyCode==27){f.hideMenu()}});c.select("a",f.id+"_menu")[0].focus()}f.keyboardNav=new d.ui.KeyboardNavigation({root:f.id+"_menu",items:c.select("a",f.id+"_menu"),onCancel:function(){f.hideMenu();f.focus()}});f.keyboardNav.focus();f.isMenuVisible=1},hideMenu:function(g){var f=this;if(f.isMenuVisible){if(g&&g.type=="mousedown"&&c.getParent(g.target,function(h){return h.id===f.id+"_open"})){return}if(!g||!c.getParent(g.target,".mceSplitButtonMenu")){c.removeClass(f.id,"mceSplitButtonSelected");a.remove(c.doc,"mousedown",f.hideMenu,f);a.remove(f.id+"_menu","keydown",f._keyHandler);c.hide(f.id+"_menu")}f.isMenuVisible=0;f.onHideMenu.dispatch();f.keyboardNav.destroy()}},renderMenu:function(){var p=this,h,k=0,q=p.settings,g,j,l,o,f;o=c.add(q.menu_container,"div",{role:"listbox",id:p.id+"_menu","class":q.menu_class+" "+q["class"],style:"position:absolute;left:0;top:-1000px;"});h=c.add(o,"div",{"class":q["class"]+" mceSplitButtonMenu"});c.add(h,"span",{"class":"mceMenuLine"});g=c.add(h,"table",{role:"presentation","class":"mceColorSplitMenu"});j=c.add(g,"tbody");k=0;e(b(q.colors,"array")?q.colors:q.colors.split(","),function(m){m=m.replace(/^#/,"");if(!k--){l=c.add(j,"tr");k=q.grid_width-1}g=c.add(l,"td");var i={href:"javascript:;",style:{backgroundColor:"#"+m},title:p.editor.getLang("colors."+m,m),"data-mce-color":"#"+m};if(!d.isIE){i.role="option"}g=c.add(g,"a",i);if(p.editor.forcedHighContrastMode){g=c.add(g,"canvas",{width:16,height:16,"aria-hidden":"true"});if(g.getContext&&(f=g.getContext("2d"))){f.fillStyle="#"+m;f.fillRect(0,0,16,16)}else{c.remove(g)}}});if(q.more_colors_func){g=c.add(j,"tr");g=c.add(g,"td",{colspan:q.grid_width,"class":"mceMoreColors"});g=c.add(g,"a",{role:"option",id:p.id+"_more",href:"javascript:;",onclick:"return false;","class":"mceMoreColors"},q.more_colors_title);a.add(g,"click",function(i){q.more_colors_func.call(q.more_colors_scope||this);return a.cancel(i)})}c.addClass(h,"mceColorSplitMenu");a.add(p.id+"_menu","mousedown",function(i){return a.cancel(i)});a.add(p.id+"_menu","click",function(i){var m;i=c.getParent(i.target,"a",j);if(i&&i.nodeName.toLowerCase()=="a"&&(m=i.getAttribute("data-mce-color"))){p.setColor(m)}return false});return o},setColor:function(f){this.displayColor(f);this.hideMenu();this.settings.onselect(f)},displayColor:function(g){var f=this;c.setStyle(f.id+"_preview","backgroundColor",g);f.value=g},postRender:function(){var f=this,g=f.id;f.parent();c.add(g+"_action","div",{id:g+"_preview","class":"mceColorPreview"});c.setStyle(f.id+"_preview","backgroundColor",f.value)},destroy:function(){var f=this;f.parent();a.clear(f.id+"_menu");a.clear(f.id+"_more");c.remove(f.id+"_menu");if(f.keyboardNav){f.keyboardNav.destroy()}}})})(tinymce);(function(b){var d=b.DOM,c=b.each,a=b.dom.Event;b.create("tinymce.ui.ToolbarGroup:tinymce.ui.Container",{renderHTML:function(){var f=this,i=[],e=f.controls,j=b.each,g=f.settings;i.push('<div id="'+f.id+'" role="group" aria-labelledby="'+f.id+'_voice">');i.push("<span role='application'>");i.push('<span id="'+f.id+'_voice" class="mceVoiceLabel" style="display:none;">'+d.encode(g.name)+"</span>");j(e,function(h){i.push(h.renderHTML())});i.push("</span>");i.push("</div>");return i.join("")},focus:function(){var e=this;d.get(e.id).focus()},postRender:function(){var f=this,e=[];c(f.controls,function(g){c(g.controls,function(h){if(h.id){e.push(h)}})});f.keyNav=new b.ui.KeyboardNavigation({root:f.id,items:e,onCancel:function(){if(b.isWebKit){d.get(f.editor.id+"_ifr").focus()}f.editor.focus()},excludeFromTabOrder:!f.settings.tab_focus_toolbar})},destroy:function(){var e=this;e.parent();e.keyNav.destroy();a.clear(e.id)}})})(tinymce);(function(a){var c=a.DOM,b=a.each;a.create("tinymce.ui.Toolbar:tinymce.ui.Container",{renderHTML:function(){var m=this,f="",j,k,n=m.settings,e,d,g,l;l=m.controls;for(e=0;e<l.length;e++){k=l[e];d=l[e-1];g=l[e+1];if(e===0){j="mceToolbarStart";if(k.Button){j+=" mceToolbarStartButton"}else{if(k.SplitButton){j+=" mceToolbarStartSplitButton"}else{if(k.ListBox){j+=" mceToolbarStartListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,"<!-- IE -->"))}if(d&&k.ListBox){if(d.Button||d.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarEnd"},c.createHTML("span",null,"<!-- IE -->"))}}if(c.stdMode){f+='<td style="position: relative">'+k.renderHTML()+"</td>"}else{f+="<td>"+k.renderHTML()+"</td>"}if(g&&k.ListBox){if(g.Button||g.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarStart"},c.createHTML("span",null,"<!-- IE -->"))}}}j="mceToolbarEnd";if(k.Button){j+=" mceToolbarEndButton"}else{if(k.SplitButton){j+=" mceToolbarEndSplitButton"}else{if(k.ListBox){j+=" mceToolbarEndListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,"<!-- IE -->"));return c.createHTML("table",{id:m.id,"class":"mceToolbar"+(n["class"]?" "+n["class"]:""),cellpadding:"0",cellspacing:"0",align:m.settings.align||"",role:"presentation",tabindex:"-1"},"<tbody><tr>"+f+"</tr></tbody>")}})})(tinymce);(function(b){var a=b.util.Dispatcher,c=b.each;b.create("tinymce.AddOnManager",{AddOnManager:function(){var d=this;d.items=[];d.urls={};d.lookup={};d.onAdd=new a(d)},get:function(d){if(this.lookup[d]){return this.lookup[d].instance}else{return undefined}},dependencies:function(e){var d;if(this.lookup[e]){d=this.lookup[e].dependencies}return d||[]},requireLangPack:function(e){var d=b.settings;if(d&&d.language&&d.language_load!==false){b.ScriptLoader.add(this.urls[e]+"/langs/"+d.language+".js")}},add:function(f,e,d){this.items.push(e);this.lookup[f]={instance:e,dependencies:d};this.onAdd.dispatch(this,f,e);return e},createUrl:function(d,e){if(typeof e==="object"){return e}else{return{prefix:d.prefix,resource:e,suffix:d.suffix}}},addComponents:function(f,d){var e=this.urls[f];b.each(d,function(g){b.ScriptLoader.add(e+"/"+g)})},load:function(j,f,d,h){var g=this,e=f;function i(){var k=g.dependencies(j);b.each(k,function(m){var l=g.createUrl(f,m);g.load(l.resource,l,undefined,undefined)});if(d){if(h){d.call(h)}else{d.call(b.ScriptLoader)}}}if(g.urls[j]){return}if(typeof f==="object"){e=f.prefix+f.resource+f.suffix}if(e.indexOf("/")!==0&&e.indexOf("://")==-1){e=b.baseURL+"/"+e}g.urls[j]=e.substring(0,e.lastIndexOf("/"));if(g.lookup[j]){i()}else{b.ScriptLoader.add(e,i,h)}}});b.PluginManager=new b.AddOnManager();b.ThemeManager=new b.AddOnManager()}(tinymce));(function(j){var g=j.each,d=j.extend,k=j.DOM,i=j.dom.Event,f=j.ThemeManager,b=j.PluginManager,e=j.explode,h=j.util.Dispatcher,a,c=0;j.documentBaseURL=window.location.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,"");if(!/[\/\\]$/.test(j.documentBaseURL)){j.documentBaseURL+="/"}j.baseURL=new j.util.URI(j.documentBaseURL).toAbsolute(j.baseURL);j.baseURI=new j.util.URI(j.baseURL);j.onBeforeUnload=new h(j);i.add(window,"beforeunload",function(l){j.onBeforeUnload.dispatch(j,l)});j.onAddEditor=new h(j);j.onRemoveEditor=new h(j);j.EditorManager=d(j,{editors:[],i18n:{},activeEditor:null,init:function(x){var v=this,o,n=j.ScriptLoader,u,l=[],r;function q(t){var s=t.id;if(!s){s=t.name;if(s&&!k.get(s)){s=t.name}else{s=k.uniqueId()}t.setAttribute("id",s)}return s}function m(z,A,t){var y=z[A];if(!y){return}if(j.is(y,"string")){t=y.replace(/\.\w+$/,"");t=t?j.resolve(t):0;y=j.resolve(y)}return y.apply(t||this,Array.prototype.slice.call(arguments,2))}function p(t,s){return s.constructor===RegExp?s.test(t.className):k.hasClass(t,s)}v.settings=x;i.bind(window,"ready",function(){var s,t;m(x,"onpageload");switch(x.mode){case"exact":s=x.elements||"";if(s.length>0){g(e(s),function(y){if(k.get(y)){r=new j.Editor(y,x);l.push(r);r.render(1)}else{g(document.forms,function(z){g(z.elements,function(A){if(A.name===y){y="mce_editor_"+c++;k.setAttrib(A,"id",y);r=new j.Editor(y,x);l.push(r);r.render(1)}})})}})}break;case"textareas":case"specific_textareas":g(k.select("textarea"),function(y){if(x.editor_deselector&&p(y,x.editor_deselector)){return}if(!x.editor_selector||p(y,x.editor_selector)){r=new j.Editor(q(y),x);l.push(r);r.render(1)}});break;default:if(x.types){g(x.types,function(y){g(k.select(y.selector),function(A){var z=new j.Editor(q(A),j.extend({},x,y));l.push(z);z.render(1)})})}else{if(x.selector){g(k.select(x.selector),function(z){var y=new j.Editor(q(z),x);l.push(y);y.render(1)})}}}if(x.oninit){s=t=0;g(l,function(y){t++;if(!y.initialized){y.onInit.add(function(){s++;if(s==t){m(x,"oninit")}})}else{s++}if(s==t){m(x,"oninit")}})}})},get:function(l){if(l===a){return this.editors}if(!this.editors.hasOwnProperty(l)){return a}return this.editors[l]},getInstanceById:function(l){return this.get(l)},add:function(m){var l=this,n=l.editors;n[m.id]=m;n.push(m);l._setActive(m);l.onAddEditor.dispatch(l,m);return m},remove:function(n){var m=this,l,o=m.editors;if(!o[n.id]){return null}delete o[n.id];for(l=0;l<o.length;l++){if(o[l]==n){o.splice(l,1);break}}if(m.activeEditor==n){m._setActive(o[0])}n.destroy();m.onRemoveEditor.dispatch(m,n);return n},execCommand:function(r,p,o){var q=this,n=q.get(o),l;function m(){n.destroy();l.detachEvent("onunload",m);l=l.tinyMCE=l.tinymce=null}switch(r){case"mceFocus":n.focus();return true;case"mceAddEditor":case"mceAddControl":if(!q.get(o)){new j.Editor(o,q.settings).render()}return true;case"mceAddFrameControl":l=o.window;l.tinyMCE=tinyMCE;l.tinymce=j;j.DOM.doc=l.document;j.DOM.win=l;n=new j.Editor(o.element_id,o);n.render();if(j.isIE&&!j.isIE11){l.attachEvent("onunload",m)}o.page_window=null;return true;case"mceRemoveEditor":case"mceRemoveControl":if(n){n.remove()}return true;case"mceToggleEditor":if(!n){q.execCommand("mceAddControl",0,o);return true}if(n.isHidden()){n.show()}else{n.hide()}return true}if(q.activeEditor){return q.activeEditor.execCommand(r,p,o)}return false},execInstanceCommand:function(p,o,n,m){var l=this.get(p);if(l){return l.execCommand(o,n,m)}return false},triggerSave:function(){g(this.editors,function(l){l.save()})},addI18n:function(n,q){var l,m=this.i18n;if(!j.is(n,"string")){g(n,function(r,p){g(r,function(t,s){g(t,function(v,u){if(s==="common"){m[p+"."+u]=v}else{m[p+"."+s+"."+u]=v}})})})}else{g(q,function(r,p){m[n+"."+p]=r})}},_setActive:function(l){this.selectedInstance=this.activeEditor=l}})})(tinymce);(function(k){var l=k.DOM,j=k.dom.Event,f=k.extend,i=k.each,a=k.isGecko,b=k.isIE,e=k.isWebKit,d=k.is,h=k.ThemeManager,c=k.PluginManager,g=k.explode;k.create("tinymce.Editor",{Editor:function(p,o){var m=this,n=true;m.settings=o=f({id:p,language:"en",theme:"advanced",skin:"default",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:k.documentBaseURL,add_form_submit_trigger:n,submit_patch:n,add_unload_trigger:n,convert_urls:n,relative_urls:n,remove_script_host:n,table_inline_editing:false,object_resizing:n,accessibility_focus:n,doctype:k.isIE6?'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">':"<!DOCTYPE>",visual:n,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%",apply_source_formatting:n,directionality:"ltr",forced_root_block:"p",hidden_input:n,padd_empty_editor:n,render_ui:n,indentation:"30px",fix_table_elements:n,inline_styles:n,convert_fonts_to_spans:n,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,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,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",validate:n,entity_encoding:"named",url_converter:m.convertURL,url_converter_scope:m,ie7_compat:n},o);m.id=m.editorId=p;m.isNotDirty=false;m.plugins={};m.documentBaseURI=new k.util.URI(o.document_base_url||k.documentBaseURL,{base_uri:tinyMCE.baseURI});m.baseURI=k.baseURI;m.contentCSS=[];m.contentStyles=[];m.setupEvents();m.execCommands={};m.queryStateCommands={};m.queryValueCommands={};m.execCallback("setup",m)},render:function(o){var p=this,q=p.settings,r=p.id,m=k.ScriptLoader;if(!j.domLoaded){j.add(window,"ready",function(){p.render()});return}tinyMCE.settings=q;if(!p.getElement()){return}if(k.isIDevice&&!k.isIOS5){return}if(!/TEXTAREA|INPUT/i.test(p.getElement().nodeName)&&q.hidden_input&&l.getParent(r,"form")){l.insertAfter(l.create("input",{type:"hidden",name:r}),r)}if(!q.content_editable){p.orgVisibility=p.getElement().style.visibility;p.getElement().style.visibility="hidden"}if(k.WindowManager){p.windowManager=new k.WindowManager(p)}if(q.encoding=="xml"){p.onGetContent.add(function(s,t){if(t.save){t.content=l.encode(t.content)}})}if(q.add_form_submit_trigger){p.onSubmit.addToTop(function(){if(p.initialized){p.save();p.isNotDirty=1}})}if(q.add_unload_trigger){p._beforeUnload=tinyMCE.onBeforeUnload.add(function(){if(p.initialized&&!p.destroyed&&!p.isHidden()){p.save({format:"raw",no_events:true})}})}k.addUnload(p.destroy,p);if(q.submit_patch){p.onBeforeRenderUI.add(function(){var s=p.getElement().form;if(!s){return}if(s._mceOldSubmit){return}if(!s.submit.nodeType&&!s.submit.length){p.formElement=s;s._mceOldSubmit=s.submit;s.submit=function(){k.triggerSave();p.isNotDirty=1;return p.formElement._mceOldSubmit(p.formElement)}}s=null})}function n(){if(q.language&&q.language_load!==false){m.add(k.baseURL+"/langs/"+q.language+".js")}if(q.theme&&typeof q.theme!="function"&&q.theme.charAt(0)!="-"&&!h.urls[q.theme]){h.load(q.theme,"themes/"+q.theme+"/editor_template"+k.suffix+".js")}i(g(q.plugins),function(t){if(t&&!c.urls[t]){if(t.charAt(0)=="-"){t=t.substr(1,t.length);var s=c.dependencies(t);i(s,function(v){var u={prefix:"plugins/",resource:v,suffix:"/editor_plugin"+k.suffix+".js"};v=c.createUrl(u,v);c.load(v.resource,v)})}else{if(t=="safari"){return}c.load(t,{prefix:"plugins/",resource:t,suffix:"/editor_plugin"+k.suffix+".js"})}}});m.loadQueue(function(){if(!p.removed){p.init()}})}n()},init:function(){var q,G=this,H=G.settings,D,y,z,C=G.getElement(),p,m,E,v,B,F,x,r=[];k.add(G);H.aria_label=H.aria_label||l.getAttrib(C,"aria-label",G.getLang("aria.rich_text_area"));if(H.theme){if(typeof H.theme!="function"){H.theme=H.theme.replace(/-/,"");p=h.get(H.theme);G.theme=new p();if(G.theme.init){G.theme.init(G,h.urls[H.theme]||k.documentBaseURL.replace(/\/$/,""))}}else{G.theme=H.theme}}function A(s){var t=c.get(s),o=c.urls[s]||k.documentBaseURL.replace(/\/$/,""),n;if(t&&k.inArray(r,s)===-1){i(c.dependencies(s),function(u){A(u)});n=new t(G,o);G.plugins[s]=n;if(n.init){n.init(G,o);r.push(s)}}}i(g(H.plugins.replace(/\-/g,"")),A);if(H.popup_css!==false){if(H.popup_css){H.popup_css=G.documentBaseURI.toAbsolute(H.popup_css)}else{H.popup_css=G.baseURI.toAbsolute("themes/"+H.theme+"/skins/"+H.skin+"/dialog.css")}}if(H.popup_css_add){H.popup_css+=","+G.documentBaseURI.toAbsolute(H.popup_css_add)}G.controlManager=new k.ControlManager(G);G.onBeforeRenderUI.dispatch(G,G.controlManager);if(H.render_ui&&G.theme){G.orgDisplay=C.style.display;if(typeof H.theme!="function"){D=H.width||C.style.width||C.offsetWidth;y=H.height||C.style.height||C.offsetHeight;z=H.min_height||100;F=/^[0-9\.]+(|px)$/i;if(F.test(""+D)){D=Math.max(parseInt(D,10)+(p.deltaWidth||0),100)}if(F.test(""+y)){y=Math.max(parseInt(y,10)+(p.deltaHeight||0),z)}p=G.theme.renderUI({targetNode:C,width:D,height:y,deltaWidth:H.delta_width,deltaHeight:H.delta_height});l.setStyles(p.sizeContainer||p.editorContainer,{width:D,height:y});y=(p.iframeHeight||y)+(typeof(y)=="number"?(p.deltaHeight||0):"");if(y<z){y=z}}else{p=H.theme(G,C);if(p.editorContainer.nodeType){p.editorContainer=p.editorContainer.id=p.editorContainer.id||G.id+"_parent"}if(p.iframeContainer.nodeType){p.iframeContainer=p.iframeContainer.id=p.iframeContainer.id||G.id+"_iframecontainer"}y=p.iframeHeight||C.offsetHeight;if(b){G.onInit.add(function(n){n.dom.bind(n.getBody(),"beforedeactivate keydown keyup",function(){n.bookmark=n.selection.getBookmark(1)})});G.onNodeChange.add(function(n){if(document.activeElement.id==n.id+"_ifr"){n.bookmark=n.selection.getBookmark(1)}})}}G.editorContainer=p.editorContainer}if(H.content_css){i(g(H.content_css),function(n){G.contentCSS.push(G.documentBaseURI.toAbsolute(n))})}if(H.content_style){G.contentStyles.push(H.content_style)}if(H.content_editable){C=q=p=null;return G.initContentBody()}if(document.domain&&location.hostname!=document.domain){k.relaxedDomain=document.domain}G.iframeHTML=H.doctype+'<html><head xmlns="http://www.w3.org/1999/xhtml">';if(H.document_base_url!=k.documentBaseURL){G.iframeHTML+='<base href="'+G.documentBaseURI.getURI()+'" />'}if(k.isIE8){if(H.ie7_compat){G.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'}else{G.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=edge" />'}}G.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';for(x=0;x<G.contentCSS.length;x++){G.iframeHTML+='<link type="text/css" rel="stylesheet" href="'+G.contentCSS[x]+'" />'}G.contentCSS=[];v=H.body_id||"tinymce";if(v.indexOf("=")!=-1){v=G.getParam("body_id","","hash");v=v[G.id]||v}B=H.body_class||"";if(B.indexOf("=")!=-1){B=G.getParam("body_class","","hash");B=B[G.id]||""}G.iframeHTML+='</head><body id="'+v+'" class="mceContentBody '+B+'" onload="window.parent.tinyMCE.get(\''+G.id+"').onLoad.dispatch();\"><br></body></html>";if(k.relaxedDomain&&(b||(k.isOpera&&parseFloat(opera.version())<11))){E='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+G.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody();})()'}q=l.add(p.iframeContainer,"iframe",{id:G.id+"_ifr",src:E||'javascript:""',frameBorder:"0",allowTransparency:"true",title:H.aria_label,style:{width:"100%",height:y,display:"block"}});G.contentAreaContainer=p.iframeContainer;if(p.editorContainer){l.get(p.editorContainer).style.display=G.orgDisplay}C.style.visibility=G.orgVisibility;l.get(G.id).style.display="none";l.setAttrib(G.id,"aria-hidden",true);if(!k.relaxedDomain||!E){G.initContentBody()}C=q=p=null},initContentBody:function(){var n=this,p=n.settings,q=l.get(n.id),r=n.getDoc(),o,m,s;if((!b||!k.relaxedDomain)&&!p.content_editable){r.open();r.write(n.iframeHTML);r.close();if(k.relaxedDomain){r.domain=k.relaxedDomain}}if(p.content_editable){l.addClass(q,"mceContentBody");n.contentDocument=r=p.content_document||document;n.contentWindow=p.content_window||window;n.bodyElement=q;p.content_document=p.content_window=null}m=n.getBody();m.disabled=true;if(!p.readonly){m.contentEditable=n.getParam("content_editable_state",true)}m.disabled=false;n.schema=new k.html.Schema(p);n.dom=new k.dom.DOMUtils(r,{keep_values:true,url_converter:n.convertURL,url_converter_scope:n,hex_colors:p.force_hex_style_colors,class_filter:p.class_filter,update_styles:true,root_element:p.content_editable?n.id:null,schema:n.schema});n.parser=new k.html.DomParser(p,n.schema);n.parser.addAttributeFilter("src,href,style",function(t,u){var v=t.length,y,A=n.dom,z,x;while(v--){y=t[v];z=y.attr(u);x="data-mce-"+u;if(!y.attributes.map[x]){if(u==="style"){y.attr(x,A.serializeStyle(A.parseStyle(z),y.name))}else{y.attr(x,n.convertURL(z,u,y.name))}}}});n.parser.addNodeFilter("script",function(t,u){var v=t.length,x;while(v--){x=t[v];x.attr("type","mce-"+(x.attr("type")||"text/javascript"))}});n.parser.addNodeFilter("#cdata",function(t,u){var v=t.length,x;while(v--){x=t[v];x.type=8;x.name="#comment";x.value="[CDATA["+x.value+"]]"}});n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(u,v){var x=u.length,y,t=n.schema.getNonEmptyElements();while(x--){y=u[x];if(y.isEmpty(t)){y.empty().append(new k.html.Node("br",1)).shortEnded=true}}});n.serializer=new k.dom.Serializer(p,n.dom,n.schema);n.selection=new k.dom.Selection(n.dom,n.getWin(),n.serializer,n);n.formatter=new k.Formatter(n);n.undoManager=new k.UndoManager(n);n.forceBlocks=new k.ForceBlocks(n);n.enterKey=new k.EnterKey(n);n.editorCommands=new k.EditorCommands(n);n.onExecCommand.add(function(t,u){if(!/^(FontName|FontSize)$/.test(u)){n.nodeChanged()}});n.serializer.onPreProcess.add(function(t,u){return n.onPreProcess.dispatch(n,u,t)});n.serializer.onPostProcess.add(function(t,u){return n.onPostProcess.dispatch(n,u,t)});n.onPreInit.dispatch(n);if(!p.browser_spellcheck&&!p.gecko_spellcheck){r.body.spellcheck=false}if(!p.readonly){n.bindNativeEvents()}n.controlManager.onPostRender.dispatch(n,n.controlManager);n.onPostRender.dispatch(n);n.quirks=k.util.Quirks(n);if(p.directionality){m.dir=p.directionality}if(p.nowrap){m.style.whiteSpace="nowrap"}if(p.protect){n.onBeforeSetContent.add(function(t,u){i(p.protect,function(v){u.content=u.content.replace(v,function(x){return"<!--mce:protected "+escape(x)+"-->"})})})}n.onSetContent.add(function(){n.addVisual(n.getBody())});if(p.padd_empty_editor){n.onPostProcess.add(function(t,u){u.content=u.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")})}n.load({initial:true,format:"html"});n.startContent=n.getContent({format:"raw"});n.initialized=true;n.onInit.dispatch(n);n.execCallback("setupcontent_callback",n.id,m,r);n.execCallback("init_instance_callback",n);n.focus(true);n.nodeChanged({initial:true});if(n.contentStyles.length>0){s="";i(n.contentStyles,function(t){s+=t+"\r\n"});n.dom.addStyle(s)}i(n.contentCSS,function(t){n.dom.loadCSS(t)});if(p.auto_focus){setTimeout(function(){var t=k.get(p.auto_focus);t.selection.select(t.getBody(),1);t.selection.collapse(1);t.getBody().focus();t.getWin().focus()},100)}q=r=m=null},focus:function(p){var o,u=this,t=u.selection,q=u.settings.content_editable,n,r,s=u.getDoc(),m;if(!p){if(u.bookmark){t.moveToBookmark(u.bookmark);u.bookmark=null}n=t.getRng();if(n.item){r=n.item(0)}u._refreshContentEditable();if(!q){u.getWin().focus()}if(k.isGecko||q){m=u.getBody();if(m.setActive&&!k.isIE11){m.setActive()}else{m.focus()}if(q){t.normalize()}}if(r&&r.ownerDocument==s){n=s.body.createControlRange();n.addElement(r);n.select()}}if(k.activeEditor!=u){if((o=k.activeEditor)!=null){o.onDeactivate.dispatch(o,u)}u.onActivate.dispatch(u,o)}k._setActive(u)},execCallback:function(q){var m=this,p=m.settings[q],o;if(!p){return}if(m.callbackLookup&&(o=m.callbackLookup[q])){p=o.func;o=o.scope}if(d(p,"string")){o=p.replace(/\.\w+$/,"");o=o?k.resolve(o):0;p=k.resolve(p);m.callbackLookup=m.callbackLookup||{};m.callbackLookup[q]={func:p,scope:o}}return p.apply(o||m,Array.prototype.slice.call(arguments,1))},translate:function(m){var o=this.settings.language||"en",n=k.i18n;if(!m){return""}return n[o+"."+m]||m.replace(/\{\#([^\}]+)\}/g,function(q,p){return n[o+"."+p]||"{#"+p+"}"})},getLang:function(o,m){return k.i18n[(this.settings.language||"en")+"."+o]||(d(m)?m:"{#"+o+"}")},getParam:function(t,q,m){var r=k.trim,p=d(this.settings[t])?this.settings[t]:q,s;if(m==="hash"){s={};if(d(p,"string")){i(p.indexOf("=")>0?p.split(/[;,](?![^=;,]*(?:[;,]|$))/):p.split(","),function(n){n=n.split("=");if(n.length>1){s[r(n[0])]=r(n[1])}else{s[r(n[0])]=r(n)}})}else{s=p}return s}return p},nodeChanged:function(q){var m=this,n=m.selection,p;if(m.initialized){q=q||{};p=n.getStart()||m.getBody();p=b&&p.ownerDocument!=m.getDoc()?m.getBody():p;q.parents=[];m.dom.getParent(p,function(o){if(o.nodeName=="BODY"){return true}q.parents.push(o)});m.onNodeChange.dispatch(m,q?q.controlManager||m.controlManager:m.controlManager,p,n.isCollapsed(),q)}},addButton:function(n,o){var m=this;m.buttons=m.buttons||{};m.buttons[n]=o},addCommand:function(m,o,n){this.execCommands[m]={func:o,scope:n||this}},addQueryStateHandler:function(m,o,n){this.queryStateCommands[m]={func:o,scope:n||this}},addQueryValueHandler:function(m,o,n){this.queryValueCommands[m]={func:o,scope:n||this}},addShortcut:function(o,q,m,p){var n=this,r;if(n.settings.custom_shortcuts===false){return false}n.shortcuts=n.shortcuts||{};if(d(m,"string")){r=m;m=function(){n.execCommand(r,false,null)}}if(d(m,"object")){r=m;m=function(){n.execCommand(r[0],r[1],r[2])}}i(g(o),function(s){var t={func:m,scope:p||this,desc:n.translate(q),alt:false,ctrl:false,shift:false};i(g(s,"+"),function(u){switch(u){case"alt":case"ctrl":case"shift":t[u]=true;break;default:t.charCode=u.charCodeAt(0);t.keyCode=u.toUpperCase().charCodeAt(0)}});n.shortcuts[(t.ctrl?"ctrl":"")+","+(t.alt?"alt":"")+","+(t.shift?"shift":"")+","+t.keyCode]=t});return true},execCommand:function(u,r,x,m){var p=this,q=0,v,n;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(u)&&(!m||!m.skip_focus)){p.focus()}m=f({},m);p.onBeforeExecCommand.dispatch(p,u,r,x,m);if(m.terminate){return false}if(p.execCallback("execcommand_callback",p.id,p.selection.getNode(),u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}if(v=p.execCommands[u]){n=v.func.call(v.scope,r,x);if(n!==true){p.onExecCommand.dispatch(p,u,r,x,m);return n}}i(p.plugins,function(o){if(o.execCommand&&o.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);q=1;return false}});if(q){return true}if(p.theme&&p.theme.execCommand&&p.theme.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}if(p.editorCommands.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}p.getDoc().execCommand(u,r,x);p.onExecCommand.dispatch(p,u,r,x,m)},queryCommandState:function(q){var n=this,r,p;if(n._isHidden()){return}if(r=n.queryStateCommands[q]){p=r.func.call(r.scope);if(p!==true){return p}}r=n.editorCommands.queryCommandState(q);if(r!==-1){return r}try{return this.getDoc().queryCommandState(q)}catch(m){}},queryCommandValue:function(r){var n=this,q,p;if(n._isHidden()){return}if(q=n.queryValueCommands[r]){p=q.func.call(q.scope);if(p!==true){return p}}q=n.editorCommands.queryCommandValue(r);if(d(q)){return q}try{return this.getDoc().queryCommandValue(r)}catch(m){}},show:function(){var m=this;l.show(m.getContainer());l.hide(m.id);m.load()},hide:function(){var m=this,n=m.getDoc();if(b&&n){n.execCommand("SelectAll")}m.save();l.hide(m.getContainer());l.setStyle(m.id,"display",m.orgDisplay)},isHidden:function(){return !l.isHidden(this.id)},setProgressState:function(m,n,p){this.onSetProgressState.dispatch(this,m,n,p);return m},load:function(q){var m=this,p=m.getElement(),n;if(p){q=q||{};q.load=true;n=m.setContent(d(p.value)?p.value:p.innerHTML,q);q.element=p;if(!q.no_events){m.onLoadContent.dispatch(m,q)}q.element=p=null;return n}},save:function(r){var m=this,q=m.getElement(),n,p;if(!q||!m.initialized){return}r=r||{};r.save=true;r.element=q;n=r.content=m.getContent(r);if(!r.no_events){m.onSaveContent.dispatch(m,r)}n=r.content;if(!/TEXTAREA|INPUT/i.test(q.nodeName)){q.innerHTML=n;if(p=l.getParent(m.id,"form")){i(p.elements,function(o){if(o.name==m.id){o.value=n;return false}})}}else{q.value=n}r.element=q=null;return n},setContent:function(r,p){var o=this,n,m=o.getBody(),q;p=p||{};p.format=p.format||"html";p.set=true;p.content=r;if(!p.no_events){o.onBeforeSetContent.dispatch(o,p)}r=p.content;if(!k.isIE&&(r.length===0||/^\s+$/.test(r))){q=o.settings.forced_root_block;if(q){r="<"+q+'><br data-mce-bogus="1"></'+q+">"}else{r='<br data-mce-bogus="1">'}m.innerHTML=r;o.selection.select(m,true);o.selection.collapse(true);return}if(p.format!=="raw"){r=new k.html.Serializer({},o.schema).serialize(o.parser.parse(r))}p.content=k.trim(r);o.dom.setHTML(m,p.content);if(!p.no_events){o.onSetContent.dispatch(o,p)}if(!o.settings.content_editable||document.activeElement===o.getBody()){o.selection.normalize()}return p.content},getContent:function(o){var n=this,p,m=n.getBody();o=o||{};o.format=o.format||"html";o.get=true;o.getInner=true;if(!o.no_events){n.onBeforeGetContent.dispatch(n,o)}if(o.format=="raw"){p=m.innerHTML}else{if(o.format=="text"){p=m.innerText||m.textContent}else{p=n.serializer.serialize(m,o)}}if(o.format!="text"){o.content=k.trim(p)}else{o.content=p}if(!o.no_events){n.onGetContent.dispatch(n,o)}return o.content},isDirty:function(){var m=this;return k.trim(m.startContent)!=k.trim(m.getContent({format:"raw",no_events:1}))&&!m.isNotDirty},getContainer:function(){var m=this;if(!m.container){m.container=l.get(m.editorContainer||m.id+"_parent")}return m.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return l.get(this.settings.content_element||this.id)},getWin:function(){var m=this,n;if(!m.contentWindow){n=l.get(m.id+"_ifr");if(n){m.contentWindow=n.contentWindow}}return m.contentWindow},getDoc:function(){var m=this,n;if(!m.contentDocument){n=m.getWin();if(n){m.contentDocument=n.document}}return m.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(o,n,q){var m=this,p=m.settings;if(p.urlconverter_callback){return m.execCallback("urlconverter_callback",o,q,true,n)}if(!p.convert_urls||(q&&q.nodeName=="LINK")||o.indexOf("file:")===0){return o}if(p.relative_urls){return m.documentBaseURI.toRelative(o)}o=m.documentBaseURI.toAbsolute(o,p.remove_script_host);return o},addVisual:function(q){var n=this,o=n.settings,p=n.dom,m;q=q||n.getBody();if(!d(n.hasVisual)){n.hasVisual=o.visual}i(p.select("table,a",q),function(s){var r;switch(s.nodeName){case"TABLE":m=o.visual_table_class||"mceItemTable";r=p.getAttrib(s,"border");if(!r||r=="0"){if(n.hasVisual){p.addClass(s,m)}else{p.removeClass(s,m)}}return;case"A":if(!p.getAttrib(s,"href",false)){r=p.getAttrib(s,"name")||s.id;m="mceItemAnchor";if(r){if(n.hasVisual){p.addClass(s,m)}else{p.removeClass(s,m)}}}return}});n.onVisualAid.dispatch(n,q,n.hasVisual)},remove:function(){var m=this,o=m.getContainer(),n=m.getDoc();if(!m.removed){m.removed=1;if(b&&n){n.execCommand("SelectAll")}m.save();l.setStyle(m.id,"display",m.orgDisplay);if(!m.settings.content_editable){j.unbind(m.getWin());j.unbind(m.getDoc())}j.unbind(m.getBody());j.clear(o);m.execCallback("remove_instance_callback",m);m.onRemove.dispatch(m);m.onExecCommand.listeners=[];k.remove(m);l.remove(o)}},destroy:function(n){var m=this;if(m.destroyed){return}if(a){j.unbind(m.getDoc());j.unbind(m.getWin());j.unbind(m.getBody())}if(!n){k.removeUnload(m.destroy);tinyMCE.onBeforeUnload.remove(m._beforeUnload);if(m.theme&&m.theme.destroy){m.theme.destroy()}m.controlManager.destroy();m.selection.destroy();m.dom.destroy()}if(m.formElement){m.formElement.submit=m.formElement._mceOldSubmit;m.formElement._mceOldSubmit=null}m.contentAreaContainer=m.formElement=m.container=m.settings.content_element=m.bodyElement=m.contentDocument=m.contentWindow=null;if(m.selection){m.selection=m.selection.win=m.selection.dom=m.selection.dom.doc=null}m.destroyed=1},_refreshContentEditable:function(){var n=this,m,o;if(n._isHidden()){m=n.getBody();o=m.parentNode;o.removeChild(m);o.appendChild(m);m.focus()}},_isHidden:function(){var m;if(!a){return 0}m=this.selection.getSel();return(!m||!m.rangeCount||m.rangeCount===0)}})})(tinymce);(function(a){var b=a.each;a.Editor.prototype.setupEvents=function(){var c=this,d=c.settings;b(["onPreInit","onBeforeRenderUI","onPostRender","onLoad","onInit","onRemove","onActivate","onDeactivate","onClick","onEvent","onMouseUp","onMouseDown","onDblClick","onKeyDown","onKeyUp","onKeyPress","onContextMenu","onSubmit","onReset","onPaste","onPreProcess","onPostProcess","onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent","onLoadContent","onSaveContent","onNodeChange","onChange","onBeforeExecCommand","onExecCommand","onUndo","onRedo","onVisualAid","onSetProgressState","onSetAttrib"],function(e){c[e]=new a.util.Dispatcher(c)});if(d.cleanup_callback){c.onBeforeSetContent.add(function(e,f){f.content=e.execCallback("cleanup_callback","insert_to_editor",f.content,f)});c.onPreProcess.add(function(e,f){if(f.set){e.execCallback("cleanup_callback","insert_to_editor_dom",f.node,f)}if(f.get){e.execCallback("cleanup_callback","get_from_editor_dom",f.node,f)}});c.onPostProcess.add(function(e,f){if(f.set){f.content=e.execCallback("cleanup_callback","insert_to_editor",f.content,f)}if(f.get){f.content=e.execCallback("cleanup_callback","get_from_editor",f.content,f)}})}if(d.save_callback){c.onGetContent.add(function(e,f){if(f.save){f.content=e.execCallback("save_callback",e.id,f.content,e.getBody())}})}if(d.handle_event_callback){c.onEvent.add(function(f,g,h){if(c.execCallback("handle_event_callback",g,f,h)===false){g.preventDefault();g.stopPropagation()}})}if(d.handle_node_change_callback){c.onNodeChange.add(function(f,e,g){f.execCallback("handle_node_change_callback",f.id,g,-1,-1,true,f.selection.isCollapsed())})}if(d.save_callback){c.onSaveContent.add(function(e,g){var f=e.execCallback("save_callback",e.id,g.content,e.getBody());if(f){g.content=f}})}if(d.onchange_callback){c.onChange.add(function(f,e){f.execCallback("onchange_callback",f,e)})}};a.Editor.prototype.bindNativeEvents=function(){var l=this,f,d=l.settings,e=l.dom,h;h={mouseup:"onMouseUp",mousedown:"onMouseDown",click:"onClick",keyup:"onKeyUp",keydown:"onKeyDown",keypress:"onKeyPress",submit:"onSubmit",reset:"onReset",contextmenu:"onContextMenu",dblclick:"onDblClick",paste:"onPaste"};function c(i,m){var n=i.type;if(l.removed){return}if(l.onEvent.dispatch(l,i,m)!==false){l[h[i.fakeType||i.type]].dispatch(l,i,m)}}function j(i){l.focus(true)}function k(i,m){if(m.keyCode!=65||!a.VK.metaKeyPressed(m)){l.selection.normalize()}l.nodeChanged()}b(h,function(m,n){var i=d.content_editable?l.getBody():l.getDoc();switch(n){case"contextmenu":e.bind(i,n,c);break;case"paste":e.bind(l.getBody(),n,c);break;case"submit":case"reset":e.bind(l.getElement().form||a.DOM.getParent(l.id,"form"),n,c);break;default:e.bind(i,n,c)}});e.bind(d.content_editable?l.getBody():(a.isGecko?l.getDoc():l.getWin()),"focus",function(i){l.focus(true)});if(d.content_editable&&a.isOpera){e.bind(l.getBody(),"click",j);e.bind(l.getBody(),"keydown",j)}l.onMouseUp.add(k);l.onKeyUp.add(function(i,n){var m=n.keyCode;if((m>=33&&m<=36)||(m>=37&&m<=40)||m==13||m==45||m==46||m==8||(a.isMac&&(m==91||m==93))||n.ctrlKey){k(i,n)}});l.onReset.add(function(){l.setContent(l.startContent,{format:"raw"})});function g(m,i){if(m.altKey||m.ctrlKey||m.metaKey){b(l.shortcuts,function(n){var o=a.isMac?m.metaKey:m.ctrlKey;if(n.ctrl!=o||n.alt!=m.altKey||n.shift!=m.shiftKey){return}if(m.keyCode==n.keyCode||(m.charCode&&m.charCode==n.charCode)){m.preventDefault();if(i){n.func.call(n.scope)}return true}})}}l.onKeyUp.add(function(i,m){g(m)});l.onKeyPress.add(function(i,m){g(m)});l.onKeyDown.add(function(i,m){g(m,true)});if(a.isOpera){l.onClick.add(function(i,m){m.preventDefault()})}}})(tinymce);(function(d){var e=d.each,b,a=true,c=false;d.EditorCommands=function(n){var m=n.dom,p=n.selection,j={state:{},exec:{},value:{}},k=n.settings,q=n.formatter,o;function r(z,y,x){var v;z=z.toLowerCase();if(v=j.exec[z]){v(z,y,x);return a}return c}function l(x){var v;x=x.toLowerCase();if(v=j.state[x]){return v(x)}return -1}function h(x){var v;x=x.toLowerCase();if(v=j.value[x]){return v(x)}return c}function u(v,x){x=x||"exec";e(v,function(z,y){e(y.toLowerCase().split(","),function(A){j[x][A]=z})})}d.extend(this,{execCommand:r,queryCommandState:l,queryCommandValue:h,addCommands:u});function f(y,x,v){if(x===b){x=c}if(v===b){v=null}return n.getDoc().execCommand(y,x,v)}function t(v){return q.match(v)}function s(v,x){q.toggle(v,x?{value:x}:b)}function i(v){o=p.getBookmark(v)}function g(){p.moveToBookmark(o)}u({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){n.undoManager.add()},"Cut,Copy,Paste":function(z){var y=n.getDoc(),v;try{f(z)}catch(x){v=a}if(v||!y.queryCommandSupported(z)){if(d.isGecko){n.windowManager.confirm(n.getLang("clipboard_msg"),function(A){if(A){open("http://www.mozilla.org/editor/midasdemo/securityprefs.html","_blank")}})}else{n.windowManager.alert(n.getLang("clipboard_no_support"))}}},unlink:function(v){if(p.isCollapsed()){p.select(p.getNode())}f(v);p.collapse(c)},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(v){var x=v.substring(7);e("left,center,right,full".split(","),function(y){if(x!=y){q.remove("align"+y)}});s("align"+x);r("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(y){var v,x;f(y);v=m.getParent(p.getNode(),"ol,ul");if(v){x=v.parentNode;if(/^(H[1-6]|P|ADDRESS|PRE)$/.test(x.nodeName)){i();m.split(x,v);g()}}},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(v){s(v)},"ForeColor,HiliteColor,FontName":function(y,x,v){s(y,v)},FontSize:function(z,y,x){var v,A;if(x>=1&&x<=7){A=d.explode(k.font_size_style_values);v=d.explode(k.font_size_classes);if(v){x=v[x-1]||x}else{x=A[x-1]||x}}s(z,x)},RemoveFormat:function(v){q.remove(v)},mceBlockQuote:function(v){s("blockquote")},FormatBlock:function(y,x,v){return s(v||"p")},mceCleanup:function(){var v=p.getBookmark();n.setContent(n.getContent({cleanup:a}),{cleanup:a});p.moveToBookmark(v)},mceRemoveNode:function(z,y,x){var v=x||p.getNode();if(v!=n.getBody()){i();n.dom.remove(v,a);g()}},mceSelectNodeDepth:function(z,y,x){var v=0;m.getParent(p.getNode(),function(A){if(A.nodeType==1&&v++==x){p.select(A);return c}},n.getBody())},mceSelectNode:function(y,x,v){p.select(v)},mceInsertContent:function(B,I,K){var y,J,E,z,F,G,D,C,L,x,A,M,v,H;y=n.parser;J=new d.html.Serializer({},n.schema);v='<span id="mce_marker" data-mce-type="bookmark">\uFEFF</span>';G={content:K,format:"html"};p.onBeforeSetContent.dispatch(p,G);K=G.content;if(K.indexOf("{$caret}")==-1){K+="{$caret}"}K=K.replace(/\{\$caret\}/,v);if(!p.isCollapsed()){n.getDoc().execCommand("Delete",false,null)}E=p.getNode();G={context:E.nodeName.toLowerCase()};F=y.parse(K,G);A=F.lastChild;if(A.attr("id")=="mce_marker"){D=A;for(A=A.prev;A;A=A.walk(true)){if(A.type==3||!m.isBlock(A.name)){A.parent.insert(D,A,A.name==="br");break}}}if(!G.invalid){K=J.serialize(F);A=E.firstChild;M=E.lastChild;if(!A||(A===M&&A.nodeName==="BR")){m.setHTML(E,K)}else{p.setContent(K)}}else{p.setContent(v);E=p.getNode();z=n.getBody();if(E.nodeType==9){E=A=z}else{A=E}while(A!==z){E=A;A=A.parentNode}K=E==z?z.innerHTML:m.getOuterHTML(E);K=J.serialize(y.parse(K.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return J.serialize(F)})));if(E==z){m.setHTML(z,K)}else{m.setOuterHTML(E,K)}}D=m.get("mce_marker");C=m.getRect(D);L=m.getViewPort(n.getWin());if((C.y+C.h>L.y+L.h||C.y<L.y)||(C.x>L.x+L.w||C.x<L.x)){H=d.isIE?n.getDoc().documentElement:n.getBody();H.scrollLeft=C.x;H.scrollTop=C.y-L.h+25}x=m.createRng();A=D.previousSibling;if(A&&A.nodeType==3){x.setStart(A,A.nodeValue.length)}else{x.setStartBefore(D);x.setEndBefore(D)}m.remove(D);p.setRng(x);p.onSetContent.dispatch(p,G);n.addVisual()},mceInsertRawHTML:function(y,x,v){p.setContent("tiny_mce_marker");n.setContent(n.getContent().replace(/tiny_mce_marker/g,function(){return v}))},mceToggleFormat:function(y,x,v){s(v)},mceSetContent:function(y,x,v){n.setContent(v)},"Indent,Outdent":function(z){var x,v,y;x=k.indentation;v=/[a-z%]+$/i.exec(x);x=parseInt(x);if(!l("InsertUnorderedList")&&!l("InsertOrderedList")){if(!k.forced_root_block&&!m.getParent(p.getNode(),m.isBlock)){q.apply("div")}e(p.getSelectedBlocks(),function(A){if(z=="outdent"){y=Math.max(0,parseInt(A.style.paddingLeft||0)-x);m.setStyle(A,"paddingLeft",y?y+v:"")}else{m.setStyle(A,"paddingLeft",(parseInt(A.style.paddingLeft||0)+x)+v)}})}else{f(z)}},mceRepaint:function(){var x;if(d.isGecko){try{i(a);if(p.getSel()){p.getSel().selectAllChildren(n.getBody())}p.collapse(a);g()}catch(v){}}},mceToggleFormat:function(y,x,v){q.toggle(v)},InsertHorizontalRule:function(){n.execCommand("mceInsertContent",false,"<hr />")},mceToggleVisualAid:function(){n.hasVisual=!n.hasVisual;n.addVisual()},mceReplaceContent:function(y,x,v){n.execCommand("mceInsertContent",false,v.replace(/\{\$selection\}/g,p.getContent({format:"text"})))},mceInsertLink:function(z,y,x){var v;if(typeof(x)=="string"){x={href:x}}v=m.getParent(p.getNode(),"a");x.href=x.href.replace(" ","%20");if(!v||!x.href){q.remove("link")}if(x.href){q.apply("link",x,v)}},selectAll:function(){var x=m.getRoot(),v=m.createRng();if(p.getRng().setStart){v.setStart(x,0);v.setEnd(x,x.childNodes.length);p.setRng(v)}else{f("SelectAll")}}});u({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(z){var x="align"+z.substring(7);var v=p.isCollapsed()?[m.getParent(p.getNode(),m.isBlock)]:p.getSelectedBlocks();var y=d.map(v,function(A){return !!q.matchNode(A,x)});return d.inArray(y,a)!==-1},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(v){return t(v)},mceBlockQuote:function(){return t("blockquote")},Outdent:function(){var v;if(k.inline_styles){if((v=m.getParent(p.getStart(),m.isBlock))&&parseInt(v.style.paddingLeft)>0){return a}if((v=m.getParent(p.getEnd(),m.isBlock))&&parseInt(v.style.paddingLeft)>0){return a}}return l("InsertUnorderedList")||l("InsertOrderedList")||(!k.inline_styles&&!!m.getParent(p.getNode(),"BLOCKQUOTE"))},"InsertUnorderedList,InsertOrderedList":function(x){var v=m.getParent(p.getNode(),"ul,ol");return v&&(x==="insertunorderedlist"&&v.tagName==="UL"||x==="insertorderedlist"&&v.tagName==="OL")}},"state");u({"FontSize,FontName":function(y){var x=0,v;if(v=m.getParent(p.getNode(),"span")){if(y=="fontsize"){x=v.style.fontSize}else{x=v.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()}}return x}},"value");u({Undo:function(){n.undoManager.undo()},Redo:function(){n.undoManager.redo()}})}})(tinymce);(function(b){var a=b.util.Dispatcher;b.UndoManager=function(h){var l,i=0,e=[],g,k,j,f;function c(){return b.trim(h.getContent({format:"raw",no_events:1}).replace(/<span[^>]+data-mce-bogus[^>]+>[\u200B\uFEFF]+<\/span>/g,""))}function d(){l.typing=false;l.add()}onBeforeAdd=new a(l);k=new a(l);j=new a(l);f=new a(l);k.add(function(m,n){if(m.hasUndo()){return h.onChange.dispatch(h,n,m)}});j.add(function(m,n){return h.onUndo.dispatch(h,n,m)});f.add(function(m,n){return h.onRedo.dispatch(h,n,m)});h.onInit.add(function(){l.add()});h.onBeforeExecCommand.add(function(m,p,o,q,n){if(p!="Undo"&&p!="Redo"&&p!="mceRepaint"&&(!n||!n.skip_undo)){l.beforeChange()}});h.onExecCommand.add(function(m,p,o,q,n){if(p!="Undo"&&p!="Redo"&&p!="mceRepaint"&&(!n||!n.skip_undo)){l.add()}});h.onSaveContent.add(d);h.dom.bind(h.dom.getRoot(),"dragend",d);h.dom.bind(h.getBody(),"focusout",function(m){if(!h.removed&&l.typing){d()}});h.onKeyUp.add(function(m,o){var n=o.keyCode;if((n>=33&&n<=36)||(n>=37&&n<=40)||n==45||n==13||o.ctrlKey){d()}});h.onKeyDown.add(function(m,o){var n=o.keyCode;if((n>=33&&n<=36)||(n>=37&&n<=40)||n==45){if(l.typing){d()}return}if((n<16||n>20)&&n!=224&&n!=91&&!l.typing){l.beforeChange();l.typing=true;l.add()}});h.onMouseDown.add(function(m,n){if(l.typing){d()}});h.addShortcut("ctrl+z","undo_desc","Undo");h.addShortcut("ctrl+y","redo_desc","Redo");l={data:e,typing:false,onBeforeAdd:onBeforeAdd,onAdd:k,onUndo:j,onRedo:f,beforeChange:function(){g=h.selection.getBookmark(2,true)},add:function(p){var m,n=h.settings,o;p=p||{};p.content=c();l.onBeforeAdd.dispatch(l,p);o=e[i];if(o&&o.content==p.content){return null}if(e[i]){e[i].beforeBookmark=g}if(n.custom_undo_redo_levels){if(e.length>n.custom_undo_redo_levels){for(m=0;m<e.length-1;m++){e[m]=e[m+1]}e.length--;i=e.length}}p.bookmark=h.selection.getBookmark(2,true);if(i<e.length-1){e.length=i+1}e.push(p);i=e.length-1;l.onAdd.dispatch(l,p);h.isNotDirty=0;return p},undo:function(){var n,m;if(l.typing){l.add();l.typing=false}if(i>0){n=e[--i];h.setContent(n.content,{format:"raw"});h.selection.moveToBookmark(n.beforeBookmark);l.onUndo.dispatch(l,n)}return n},redo:function(){var m;if(i<e.length-1){m=e[++i];h.setContent(m.content,{format:"raw"});h.selection.moveToBookmark(m.bookmark);l.onRedo.dispatch(l,m)}return m},clear:function(){e=[];i=0;l.typing=false},hasUndo:function(){return i>0||this.typing},hasRedo:function(){return i<e.length-1&&!this.typing}};return l}})(tinymce);tinymce.ForceBlocks=function(c){var b=c.settings,e=c.dom,a=c.selection,d=c.schema.getBlockElements();function f(){var j=a.getStart(),h=c.getBody(),g,k,o,s,q,i,l,m=-16777215,p,r;if(!j||j.nodeType!==1||!b.forced_root_block){return}while(j&&j!=h){if(d[j.nodeName]){return}j=j.parentNode}g=a.getRng();if(g.setStart){k=g.startContainer;o=g.startOffset;s=g.endContainer;q=g.endOffset}else{if(g.item){j=g.item(0);g=c.getDoc().body.createTextRange();g.moveToElementText(j)}r=g.parentElement().ownerDocument===c.getDoc();tmpRng=g.duplicate();tmpRng.collapse(true);o=tmpRng.move("character",m)*-1;if(!tmpRng.collapsed){tmpRng=g.duplicate();tmpRng.collapse(false);q=(tmpRng.move("character",m)*-1)-o}}j=h.firstChild;while(j){if(j.nodeType===3||(j.nodeType==1&&!d[j.nodeName])){if(j.nodeType===3&&j.nodeValue.length==0){l=j;j=j.nextSibling;e.remove(l);continue}if(!i){i=e.create(b.forced_root_block);j.parentNode.insertBefore(i,j);p=true}l=j;j=j.nextSibling;i.appendChild(l)}else{i=null;j=j.nextSibling}}if(p){if(g.setStart){g.setStart(k,o);g.setEnd(s,q);a.setRng(g)}else{if(r){try{g=c.getDoc().body.createTextRange();g.moveToElementText(h);g.collapse(true);g.moveStart("character",o);if(q>0){g.moveEnd("character",q)}g.select()}catch(n){}}}c.nodeChanged()}}if(b.forced_root_block){c.onKeyUp.add(f);c.onNodeChange.add(f)}};(function(c){var b=c.DOM,a=c.dom.Event,d=c.each,e=c.extend;c.create("tinymce.ControlManager",{ControlManager:function(f,j){var h=this,g;j=j||{};h.editor=f;h.controls={};h.onAdd=new c.util.Dispatcher(h);h.onPostRender=new c.util.Dispatcher(h);h.prefix=j.prefix||f.id+"_";h._cls={};h.onPostRender.add(function(){d(h.controls,function(i){i.postRender()})})},get:function(f){return this.controls[this.prefix+f]||this.controls[f]},setActive:function(h,f){var g=null;if(g=this.get(h)){g.setActive(f)}return g},setDisabled:function(h,f){var g=null;if(g=this.get(h)){g.setDisabled(f)}return g},add:function(g){var f=this;if(g){f.controls[g.id]=g;f.onAdd.dispatch(g,f)}return g},createControl:function(j){var o,k,g,h=this,m=h.editor,n,f;if(!h.controlFactories){h.controlFactories=[];d(m.plugins,function(i){if(i.createControl){h.controlFactories.push(i)}})}n=h.controlFactories;for(k=0,g=n.length;k<g;k++){o=n[k].createControl(j,h);if(o){return h.add(o)}}if(j==="|"||j==="separator"){return h.createSeparator()}if(m.buttons&&(o=m.buttons[j])){return h.createButton(j,o)}return h.add(o)},createDropMenu:function(f,n,h){var m=this,i=m.editor,j,g,k,l;n=e({"class":"mceDropDown",constrain:i.settings.constrain_menus},n);n["class"]=n["class"]+" "+i.getParam("skin")+"Skin";if(k=i.getParam("skin_variant")){n["class"]+=" "+i.getParam("skin")+"Skin"+k.substring(0,1).toUpperCase()+k.substring(1)}n["class"]+=i.settings.directionality=="rtl"?" mceRtl":"";f=m.prefix+f;l=h||m._cls.dropmenu||c.ui.DropMenu;j=m.controls[f]=new l(f,n);j.onAddItem.add(function(r,q){var p=q.settings;p.title=i.getLang(p.title,p.title);if(!p.onclick){p.onclick=function(o){if(p.cmd){i.execCommand(p.cmd,p.ui||false,p.value)}}}});i.onRemove.add(function(){j.destroy()});if(c.isIE){j.onShowMenu.add(function(){i.focus();g=i.selection.getBookmark(1)});j.onHideMenu.add(function(){if(g){i.selection.moveToBookmark(g);g=0}})}return m.add(j)},createListBox:function(f,n,h){var l=this,j=l.editor,i,k,m;if(l.get(f)){return null}n.title=j.translate(n.title);n.scope=n.scope||j;if(!n.onselect){n.onselect=function(o){j.execCommand(n.cmd,n.ui||false,o||n.value)}}n=e({title:n.title,"class":"mce_"+f,scope:n.scope,control_manager:l},n);f=l.prefix+f;function g(o){return o.settings.use_accessible_selects&&!c.isGecko}if(j.settings.use_native_selects||g(j)){k=new c.ui.NativeListBox(f,n)}else{m=h||l._cls.listbox||c.ui.ListBox;k=new m(f,n,j)}l.controls[f]=k;if(c.isWebKit){k.onPostRender.add(function(p,o){a.add(o,"mousedown",function(){j.bookmark=j.selection.getBookmark(1)});a.add(o,"focus",function(){j.selection.moveToBookmark(j.bookmark);j.bookmark=null})})}if(k.hideMenu){j.onMouseDown.add(k.hideMenu,k)}return l.add(k)},createButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.label=g.translate(i.label);i.scope=i.scope||g;if(!i.onclick&&!i.menu_button){i.onclick=function(){g.execCommand(i.cmd,i.ui||false,i.value)}}i=e({title:i.title,"class":"mce_"+m,unavailable_prefix:g.getLang("unavailable",""),scope:i.scope,control_manager:h},i);m=h.prefix+m;if(i.menu_button){f=l||h._cls.menubutton||c.ui.MenuButton;k=new f(m,i,g);g.onMouseDown.add(k.hideMenu,k)}else{f=h._cls.button||c.ui.Button;k=new f(m,i,g)}return h.add(k)},createMenuButton:function(h,f,g){f=f||{};f.menu_button=1;return this.createButton(h,f,g)},createSplitButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.scope=i.scope||g;if(!i.onclick){i.onclick=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}if(!i.onselect){i.onselect=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}i=e({title:i.title,"class":"mce_"+m,scope:i.scope,control_manager:h},i);m=h.prefix+m;f=l||h._cls.splitbutton||c.ui.SplitButton;k=h.add(new f(m,i,g));g.onMouseDown.add(k.hideMenu,k);return k},createColorSplitButton:function(f,n,h){var l=this,j=l.editor,i,k,m,g;if(l.get(f)){return null}n.title=j.translate(n.title);n.scope=n.scope||j;if(!n.onclick){n.onclick=function(o){if(c.isIE){g=j.selection.getBookmark(1)}j.execCommand(n.cmd,n.ui||false,o||n.value)}}if(!n.onselect){n.onselect=function(o){j.execCommand(n.cmd,n.ui||false,o||n.value)}}n=e({title:n.title,"class":"mce_"+f,menu_class:j.getParam("skin")+"Skin",scope:n.scope,more_colors_title:j.getLang("more_colors")},n);f=l.prefix+f;m=h||l._cls.colorsplitbutton||c.ui.ColorSplitButton;k=new m(f,n,j);j.onMouseDown.add(k.hideMenu,k);j.onRemove.add(function(){k.destroy()});if(c.isIE){k.onShowMenu.add(function(){j.focus();g=j.selection.getBookmark(1)});k.onHideMenu.add(function(){if(g){j.selection.moveToBookmark(g);g=0}})}return l.add(k)},createToolbar:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||g._cls.toolbar||c.ui.Toolbar;i=new f(k,h,g.editor);if(g.get(k)){return null}return g.add(i)},createToolbarGroup:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||this._cls.toolbarGroup||c.ui.ToolbarGroup;i=new f(k,h,g.editor);if(g.get(k)){return null}return g.add(i)},createSeparator:function(g){var f=g||this._cls.separator||c.ui.Separator;return new f()},setControlType:function(g,f){return this._cls[g.toLowerCase()]=f},destroy:function(){d(this.controls,function(f){f.destroy()});this.controls=null}})})(tinymce);(function(d){var a=d.util.Dispatcher,e=d.each,c=d.isIE,b=d.isOpera;d.create("tinymce.WindowManager",{WindowManager:function(f){var g=this;g.editor=f;g.onOpen=new a(g);g.onClose=new a(g);g.params={};g.features={}},open:function(z,h){var v=this,k="",n,m,i=v.editor.settings.dialog_type=="modal",q,o,j,g=d.DOM.getViewPort(),r;z=z||{};h=h||{};o=b?g.w:screen.width;j=b?g.h:screen.height;z.name=z.name||"mc_"+new Date().getTime();z.width=parseInt(z.width||320);z.height=parseInt(z.height||240);z.resizable=true;z.left=z.left||parseInt(o/2)-(z.width/2);z.top=z.top||parseInt(j/2)-(z.height/2);h.inline=false;h.mce_width=z.width;h.mce_height=z.height;h.mce_auto_focus=z.auto_focus;if(i){if(c){z.center=true;z.help=false;z.dialogWidth=z.width+"px";z.dialogHeight=z.height+"px";z.scroll=z.scrollbars||false}}e(z,function(p,f){if(d.is(p,"boolean")){p=p?"yes":"no"}if(!/^(name|url)$/.test(f)){if(c&&i){k+=(k?";":"")+f+":"+p}else{k+=(k?",":"")+f+"="+p}}});v.features=z;v.params=h;v.onOpen.dispatch(v,z,h);r=z.url||z.file;r=d._addVer(r);try{if(c&&i){q=1;window.showModalDialog(r,window,k)}else{q=window.open(r,z.name,k)}}catch(l){}if(!q){alert(v.editor.getLang("popup_blocked"))}},close:function(f){f.close();this.onClose.dispatch(this)},createInstance:function(i,h,g,m,l,k){var j=d.resolve(i);return new j(h,g,m,l,k)},confirm:function(h,f,i,g){g=g||window;f.call(i||this,g.confirm(this._decode(this.editor.getLang(h,h))))},alert:function(h,f,j,g){var i=this;g=g||window;g.alert(i._decode(i.editor.getLang(h,h)));if(f){f.call(j||i)}},resizeBy:function(f,g,h){h.resizeBy(f,g)},_decode:function(f){return d.DOM.decode(f).replace(/\\n/g,"\n")}})}(tinymce));(function(a){a.Formatter=function(aa){var Q={},T=a.each,c=aa.dom,r=aa.selection,t=a.dom.TreeWalker,N=new a.dom.RangeUtils(c),d=aa.schema.isValidChild,A=a.isArray,H=c.isBlock,m=aa.settings.forced_root_block,s=c.nodeIndex,G="\uFEFF",e=/^(src|href|style)$/,X=false,C=true,P,D,x=c.getContentEditable;function I(ab){if(ab.nodeType){ab=ab.nodeName}return !!aa.schema.getTextBlockElements()[ab.toLowerCase()]}function n(ac,ab){return c.getParents(ac,ab,c.getRoot())}function b(ab){return ab.nodeType===1&&ab.id==="_mce_caret"}function j(){l({alignleft:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"},defaultBlock:"div"},{selector:"img,table",collapsed:false,styles:{"float":"left"}}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"},defaultBlock:"div"},{selector:"img",collapsed:false,styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",collapsed:false,styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"},defaultBlock:"div"},{selector:"img,table",collapsed:false,styles:{"float":"right"}}],alignfull:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,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:true},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:true},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},wrap_links:false},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},wrap_links:false},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"},link:{inline:"a",selector:"a",remove:"all",split:true,deep:true,onmatch:function(ab){return true},onformat:function(ad,ab,ac){T(ac,function(af,ae){c.setAttrib(ad,ae,af)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike",remove:"all",split:true,expand:false,block_expand:true,deep:true},{selector:"span",attributes:["style","class"],remove:"empty",split:true,expand:false,deep:true},{selector:"*",attributes:["style","class"],split:false,expand:false,deep:true}]});T("p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp".split(/\s/),function(ab){l(ab,{block:ab,remove:"all"})});l(aa.settings.formats)}function W(){aa.addShortcut("ctrl+b","bold_desc","Bold");aa.addShortcut("ctrl+i","italic_desc","Italic");aa.addShortcut("ctrl+u","underline_desc","Underline");for(var ab=1;ab<=6;ab++){aa.addShortcut("ctrl+"+ab,"",["FormatBlock",false,"h"+ab])}aa.addShortcut("ctrl+7","",["FormatBlock",false,"p"]);aa.addShortcut("ctrl+8","",["FormatBlock",false,"div"]);aa.addShortcut("ctrl+9","",["FormatBlock",false,"address"])}function V(ab){return ab?Q[ab]:Q}function l(ab,ac){if(ab){if(typeof(ab)!=="string"){T(ab,function(ae,ad){l(ad,ae)})}else{ac=ac.length?ac:[ac];T(ac,function(ad){if(ad.deep===D){ad.deep=!ad.selector}if(ad.split===D){ad.split=!ad.selector||ad.inline}if(ad.remove===D&&ad.selector&&!ad.inline){ad.remove="none"}if(ad.selector&&ad.inline){ad.mixed=true;ad.block_expand=true}if(typeof(ad.classes)==="string"){ad.classes=ad.classes.split(/\s+/)}});Q[ab]=ac}}}var i=function(ac){var ab;aa.dom.getParent(ac,function(ad){ab=aa.dom.getStyle(ad,"text-decoration");return ab&&ab!=="none"});return ab};var L=function(ab){var ac;if(ab.nodeType===1&&ab.parentNode&&ab.parentNode.nodeType===1){ac=i(ab.parentNode);if(aa.dom.getStyle(ab,"color")&&ac){aa.dom.setStyle(ab,"text-decoration",ac)}else{if(aa.dom.getStyle(ab,"textdecoration")===ac){aa.dom.setStyle(ab,"text-decoration",null)}}}};function Y(ae,al,ag){var ah=V(ae),am=ah[0],ak,ac,aj,ai=r.isCollapsed();function ab(aq,ap){ap=ap||am;if(aq){if(ap.onformat){ap.onformat(aq,ap,al,ag)}T(ap.styles,function(at,ar){c.setStyle(aq,ar,q(at,al))});T(ap.attributes,function(at,ar){c.setAttrib(aq,ar,q(at,al))});T(ap.classes,function(ar){ar=q(ar,al);if(!c.hasClass(aq,ar)){c.addClass(aq,ar)}})}}function af(){function ar(ay,aw){var ax=new t(aw);for(ag=ax.current();ag;ag=ax.prev()){if(ag.childNodes.length>1||ag==ay||ag.tagName=="BR"){return ag}}}var aq=aa.selection.getRng();var av=aq.startContainer;var ap=aq.endContainer;if(av!=ap&&aq.endOffset===0){var au=ar(av,ap);var at=au.nodeType==3?au.length:au.childNodes.length;aq.setEnd(au,at)}return aq}function ad(at,ay,aw,av,aq){var ap=[],ar=-1,ax,aA=-1,au=-1,az;T(at.childNodes,function(aC,aB){if(aC.nodeName==="UL"||aC.nodeName==="OL"){ar=aB;ax=aC;return false}});T(at.childNodes,function(aC,aB){if(aC.nodeName==="SPAN"&&c.getAttrib(aC,"data-mce-type")=="bookmark"){if(aC.id==ay.id+"_start"){aA=aB}else{if(aC.id==ay.id+"_end"){au=aB}}}});if(ar<=0||(aA<ar&&au>ar)){T(a.grep(at.childNodes),aq);return 0}else{az=c.clone(aw,X);T(a.grep(at.childNodes),function(aC,aB){if((aA<ar&&aB<ar)||(aA>ar&&aB>ar)){ap.push(aC);aC.parentNode.removeChild(aC)}});if(aA<ar){at.insertBefore(az,ax)}else{if(aA>ar){at.insertBefore(az,ax.nextSibling)}}av.push(az);T(ap,function(aB){az.appendChild(aB)});return az}}function an(aq,at,aw){var ap=[],av,ar,au=true;av=am.inline||am.block;ar=c.create(av);ab(ar);N.walk(aq,function(ax){var ay;function az(aA){var aF,aD,aB,aC,aE;aE=au;aF=aA.nodeName.toLowerCase();aD=aA.parentNode.nodeName.toLowerCase();if(aA.nodeType===1&&x(aA)){aE=au;au=x(aA)==="true";aC=true}if(g(aF,"br")){ay=0;if(am.block){c.remove(aA)}return}if(am.wrapper&&y(aA,ae,al)){ay=0;return}if(au&&!aC&&am.block&&!am.wrapper&&I(aF)){aA=c.rename(aA,av);ab(aA);ap.push(aA);ay=0;return}if(am.selector){T(ah,function(aG){if("collapsed" in aG&&aG.collapsed!==ai){return}if(c.is(aA,aG.selector)&&!b(aA)){ab(aA,aG);aB=true}});if(!am.inline||aB){ay=0;return}}if(au&&!aC&&d(av,aF)&&d(aD,av)&&!(!aw&&aA.nodeType===3&&aA.nodeValue.length===1&&aA.nodeValue.charCodeAt(0)===65279)&&!b(aA)&&(!am.inline||!H(aA))){if(!ay){ay=c.clone(ar,X);aA.parentNode.insertBefore(ay,aA);ap.push(ay)}ay.appendChild(aA)}else{if(aF=="li"&&at){ay=ad(aA,at,ar,ap,az)}else{ay=0;T(a.grep(aA.childNodes),az);if(aC){au=aE}ay=0}}}T(ax,az)});if(am.wrap_links===false){T(ap,function(ax){function ay(aC){var aB,aA,az;if(aC.nodeName==="A"){aA=c.clone(ar,X);ap.push(aA);az=a.grep(aC.childNodes);for(aB=0;aB<az.length;aB++){aA.appendChild(az[aB])}aC.appendChild(aA)}T(a.grep(aC.childNodes),ay)}ay(ax)})}T(ap,function(az){var ax;function aA(aC){var aB=0;T(aC.childNodes,function(aD){if(!f(aD)&&!K(aD)){aB++}});return aB}function ay(aB){var aD,aC;T(aB.childNodes,function(aE){if(aE.nodeType==1&&!K(aE)&&!b(aE)){aD=aE;return X}});if(aD&&h(aD,am)){aC=c.clone(aD,X);ab(aC);c.replace(aC,aB,C);c.remove(aD,1)}return aC||aB}ax=aA(az);if((ap.length>1||!H(az))&&ax===0){c.remove(az,1);return}if(am.inline||am.wrapper){if(!am.exact&&ax===1){az=ay(az)}T(ah,function(aB){T(c.select(aB.inline,az),function(aD){var aC;if(aB.wrap_links===false){aC=aD.parentNode;do{if(aC.nodeName==="A"){return}}while(aC=aC.parentNode)}Z(aB,al,aD,aB.exact?aD:null)})});if(y(az.parentNode,ae,al)){c.remove(az,1);az=0;return C}if(am.merge_with_parents){c.getParent(az.parentNode,function(aB){if(y(aB,ae,al)){c.remove(az,1);az=0;return C}})}if(az&&am.merge_siblings!==false){az=u(E(az),az);az=u(az,E(az,C))}}})}if(am){if(ag){if(ag.nodeType){ac=c.createRng();ac.setStartBefore(ag);ac.setEndAfter(ag);an(p(ac,ah),null,true)}else{an(ag,null,true)}}else{if(!ai||!am.inline||c.select("td.mceSelected,th.mceSelected").length){var ao=aa.selection.getNode();if(!m&&ah[0].defaultBlock&&!c.getParent(ao,c.isBlock)){Y(ah[0].defaultBlock)}aa.selection.setRng(af());ak=r.getBookmark();an(p(r.getRng(C),ah),ak);if(am.styles&&(am.styles.color||am.styles.textDecoration)){a.walk(ao,L,"childNodes");L(ao)}r.moveToBookmark(ak);R(r.getRng(C));aa.nodeChanged()}else{U("apply",ae,al)}}}}function B(ad,am,af){var ag=V(ad),ao=ag[0],ak,aj,ac,al=true;function ae(av){var au,at,ar,aq,ax,aw;if(av.nodeType===3){return}if(av.nodeType===1&&x(av)){ax=al;al=x(av)==="true";aw=true}au=a.grep(av.childNodes);if(al&&!aw){for(at=0,ar=ag.length;at<ar;at++){if(Z(ag[at],am,av,av)){break}}}if(ao.deep){if(au.length){for(at=0,ar=au.length;at<ar;at++){ae(au[at])}if(aw){al=ax}}}}function ah(aq){var ar;T(n(aq.parentNode).reverse(),function(at){var au;if(!ar&&at.id!="_start"&&at.id!="_end"){au=y(at,ad,am);if(au&&au.split!==false){ar=at}}});return ar}function ab(au,aq,aw,az){var aA,ay,ax,at,av,ar;if(au){ar=au.parentNode;for(aA=aq.parentNode;aA&&aA!=ar;aA=aA.parentNode){ay=c.clone(aA,X);for(av=0;av<ag.length;av++){if(Z(ag[av],am,ay,ay)){ay=0;break}}if(ay){if(ax){ay.appendChild(ax)}if(!at){at=ay}ax=ay}}if(az&&(!ao.mixed||!H(au))){aq=c.split(au,aq)}if(ax){aw.parentNode.insertBefore(ax,aw);at.appendChild(aw)}}return aq}function an(aq){return ab(ah(aq),aq,aq,true)}function ai(at){var ar=c.get(at?"_start":"_end"),aq=ar[at?"firstChild":"lastChild"];if(K(aq)){aq=aq[at?"firstChild":"lastChild"]}c.remove(ar,true);return aq}function ap(aq){var at,au,ar;aq=p(aq,ag,C);if(ao.split){at=M(aq,C);au=M(aq);if(at!=au){if(/^(TR|TD)$/.test(at.nodeName)&&at.firstChild){at=(at.nodeName=="TD"?at.firstChild:at.firstChild.firstChild)||at}at=S(at,"span",{id:"_start","data-mce-type":"bookmark"});au=S(au,"span",{id:"_end","data-mce-type":"bookmark"});an(at);an(au);at=ai(C);au=ai()}else{at=au=an(at)}aq.startContainer=at.parentNode;aq.startOffset=s(at);aq.endContainer=au.parentNode;aq.endOffset=s(au)+1}N.walk(aq,function(av){T(av,function(aw){ae(aw);if(aw.nodeType===1&&aa.dom.getStyle(aw,"text-decoration")==="underline"&&aw.parentNode&&i(aw.parentNode)==="underline"){Z({deep:false,exact:true,inline:"span",styles:{textDecoration:"underline"}},null,aw)}})})}if(af){if(af.nodeType){ac=c.createRng();ac.setStartBefore(af);ac.setEndAfter(af);ap(ac)}else{ap(af)}return}if(!r.isCollapsed()||!ao.inline||c.select("td.mceSelected,th.mceSelected").length){ak=r.getBookmark();ap(r.getRng(C));r.moveToBookmark(ak);if(ao.inline&&k(ad,am,r.getStart())){R(r.getRng(true))}aa.nodeChanged()}else{U("remove",ad,am)}}function F(ac,ae,ad){var ab=V(ac);if(k(ac,ae,ad)&&(!("toggle" in ab[0])||ab[0].toggle)){B(ac,ae,ad)}else{Y(ac,ae,ad)}}function y(ac,ab,ah,af){var ad=V(ab),ai,ag,ae;function aj(an,ap,aq){var am,ao,ak=ap[aq],al;if(ap.onmatch){return ap.onmatch(an,ap,aq)}if(ak){if(ak.length===D){for(am in ak){if(ak.hasOwnProperty(am)){if(aq==="attributes"){ao=c.getAttrib(an,am)}else{ao=O(an,am)}if(af&&!ao&&!ap.exact){return}if((!af||ap.exact)&&!g(ao,q(ak[am],ah))){return}}}}else{for(al=0;al<ak.length;al++){if(aq==="attributes"?c.getAttrib(an,ak[al]):O(an,ak[al])){return ap}}}}return ap}if(ad&&ac){for(ag=0;ag<ad.length;ag++){ai=ad[ag];if(h(ac,ai)&&aj(ac,ai,"attributes")&&aj(ac,ai,"styles")){if(ae=ai.classes){for(ag=0;ag<ae.length;ag++){if(!c.hasClass(ac,ae[ag])){return}}}return ai}}}}function k(ad,af,ae){var ac;function ab(ag){ag=c.getParent(ag,function(ah){return !!y(ah,ad,af,true)});return y(ag,ad,af)}if(ae){return ab(ae)}ae=r.getNode();if(ab(ae)){return C}ac=r.getStart();if(ac!=ae){if(ab(ac)){return C}}return X}function v(ai,ah){var af,ag=[],ae={},ad,ac,ab;af=r.getStart();c.getParent(af,function(al){var ak,aj;for(ak=0;ak<ai.length;ak++){aj=ai[ak];if(!ae[aj]&&y(al,aj,ah)){ae[aj]=true;ag.push(aj)}}},c.getRoot());return ag}function z(af){var ah=V(af),ae,ad,ag,ac,ab;if(ah){ae=r.getStart();ad=n(ae);for(ac=ah.length-1;ac>=0;ac--){ab=ah[ac].selector;if(!ab){return C}for(ag=ad.length-1;ag>=0;ag--){if(c.is(ad[ag],ab)){return C}}}}return X}function J(ab,ae,ac){var ad;if(!P){P={};ad={};aa.onNodeChange.addToTop(function(ag,af,ai){var ah=n(ai),aj={};T(P,function(ak,al){T(ah,function(am){if(y(am,al,{},ak.similar)){if(!ad[al]){T(ak,function(an){an(true,{node:am,format:al,parents:ah})});ad[al]=ak}aj[al]=ak;return false}})});T(ad,function(ak,al){if(!aj[al]){delete ad[al];T(ak,function(am){am(false,{node:ai,format:al,parents:ah})})}})})}T(ab.split(","),function(af){if(!P[af]){P[af]=[];P[af].similar=ac}P[af].push(ae)});return this}a.extend(this,{get:V,register:l,apply:Y,remove:B,toggle:F,match:k,matchAll:v,matchNode:y,canApply:z,formatChanged:J});j();W();function h(ab,ac){if(g(ab,ac.inline)){return C}if(g(ab,ac.block)){return C}if(ac.selector){return c.is(ab,ac.selector)}}function g(ac,ab){ac=ac||"";ab=ab||"";ac=""+(ac.nodeName||ac);ab=""+(ab.nodeName||ab);return ac.toLowerCase()==ab.toLowerCase()}function O(ac,ab){var ad=c.getStyle(ac,ab);if(ab=="color"||ab=="backgroundColor"){ad=c.toHex(ad)}if(ab=="fontWeight"&&ad==700){ad="bold"}return""+ad}function q(ab,ac){if(typeof(ab)!="string"){ab=ab(ac)}else{if(ac){ab=ab.replace(/%(\w+)/g,function(ae,ad){return ac[ad]||ae})}}return ab}function f(ab){return ab&&ab.nodeType===3&&/^([\t \r\n]+|)$/.test(ab.nodeValue)}function S(ad,ac,ab){var ae=c.create(ac,ab);ad.parentNode.insertBefore(ae,ad);ae.appendChild(ad);return ae}function p(ab,am,ae){var ap,an,ah,al,ad=ab.startContainer,ai=ab.startOffset,ar=ab.endContainer,ak=ab.endOffset;function ao(aA){var au,ax,az,aw,av,at;au=ax=aA?ad:ar;av=aA?"previousSibling":"nextSibling";at=c.getRoot();function ay(aB){return aB.nodeName=="BR"&&aB.getAttribute("data-mce-bogus")&&!aB.nextSibling}if(au.nodeType==3&&!f(au)){if(aA?ai>0:ak<au.nodeValue.length){return au}}for(;;){if(!am[0].block_expand&&H(ax)){return ax}for(aw=ax[av];aw;aw=aw[av]){if(!K(aw)&&!f(aw)&&!ay(aw)){return ax}}if(ax.parentNode==at){au=ax;break}ax=ax.parentNode}return au}function ag(at,au){if(au===D){au=at.nodeType===3?at.length:at.childNodes.length}while(at&&at.hasChildNodes()){at=at.childNodes[au];if(at){au=at.nodeType===3?at.length:at.childNodes.length}}return{node:at,offset:au}}if(ad.nodeType==1&&ad.hasChildNodes()){an=ad.childNodes.length-1;ad=ad.childNodes[ai>an?an:ai];if(ad.nodeType==3){ai=0}}if(ar.nodeType==1&&ar.hasChildNodes()){an=ar.childNodes.length-1;ar=ar.childNodes[ak>an?an:ak-1];if(ar.nodeType==3){ak=ar.nodeValue.length}}function aq(au){var at=au;while(at){if(at.nodeType===1&&x(at)){return x(at)==="false"?at:au}at=at.parentNode}return au}function aj(au,ay,aA){var ax,av,az,at;function aw(aC,aE){var aF,aB,aD=aC.nodeValue;if(typeof(aE)=="undefined"){aE=aA?aD.length:0}if(aA){aF=aD.lastIndexOf(" ",aE);aB=aD.lastIndexOf("\u00a0",aE);aF=aF>aB?aF:aB;if(aF!==-1&&!ae){aF++}}else{aF=aD.indexOf(" ",aE);aB=aD.indexOf("\u00a0",aE);aF=aF!==-1&&(aB===-1||aF<aB)?aF:aB}return aF}if(au.nodeType===3){az=aw(au,ay);if(az!==-1){return{container:au,offset:az}}at=au}ax=new t(au,c.getParent(au,H)||aa.getBody());while(av=ax[aA?"prev":"next"]()){if(av.nodeType===3){at=av;az=aw(av);if(az!==-1){return{container:av,offset:az}}}else{if(H(av)){break}}}if(at){if(aA){ay=0}else{ay=at.length}return{container:at,offset:ay}}}function af(au,at){var av,aw,ay,ax;if(au.nodeType==3&&au.nodeValue.length===0&&au[at]){au=au[at]}av=n(au);for(aw=0;aw<av.length;aw++){for(ay=0;ay<am.length;ay++){ax=am[ay];if("collapsed" in ax&&ax.collapsed!==ab.collapsed){continue}if(c.is(av[aw],ax.selector)){return av[aw]}}}return au}function ac(au,at,aw){var av;if(!am[0].wrapper){av=c.getParent(au,am[0].block)}if(!av){av=c.getParent(au.nodeType==3?au.parentNode:au,I)}if(av&&am[0].wrapper){av=n(av,"ul,ol").reverse()[0]||av}if(!av){av=au;while(av[at]&&!H(av[at])){av=av[at];if(g(av,"br")){break}}}return av||au}ad=aq(ad);ar=aq(ar);if(K(ad.parentNode)||K(ad)){ad=K(ad)?ad:ad.parentNode;ad=ad.nextSibling||ad;if(ad.nodeType==3){ai=0}}if(K(ar.parentNode)||K(ar)){ar=K(ar)?ar:ar.parentNode;ar=ar.previousSibling||ar;if(ar.nodeType==3){ak=ar.length}}if(am[0].inline){if(ab.collapsed){al=aj(ad,ai,true);if(al){ad=al.container;ai=al.offset}al=aj(ar,ak);if(al){ar=al.container;ak=al.offset}}ah=ag(ar,ak);if(ah.node){while(ah.node&&ah.offset===0&&ah.node.previousSibling){ah=ag(ah.node.previousSibling)}if(ah.node&&ah.offset>0&&ah.node.nodeType===3&&ah.node.nodeValue.charAt(ah.offset-1)===" "){if(ah.offset>1){ar=ah.node;ar.splitText(ah.offset-1)}}}}if(am[0].inline||am[0].block_expand){if(!am[0].inline||(ad.nodeType!=3||ai===0)){ad=ao(true)}if(!am[0].inline||(ar.nodeType!=3||ak===ar.nodeValue.length)){ar=ao()}}if(am[0].selector&&am[0].expand!==X&&!am[0].inline){ad=af(ad,"previousSibling");ar=af(ar,"nextSibling")}if(am[0].block||am[0].selector){ad=ac(ad,"previousSibling");ar=ac(ar,"nextSibling");if(am[0].block){if(!H(ad)){ad=ao(true)}if(!H(ar)){ar=ao()}}}if(ad.nodeType==1){ai=s(ad);ad=ad.parentNode}if(ar.nodeType==1){ak=s(ar)+1;ar=ar.parentNode}return{startContainer:ad,startOffset:ai,endContainer:ar,endOffset:ak}}function Z(ah,ag,ae,ab){var ad,ac,af;if(!h(ae,ah)){return X}if(ah.remove!="all"){T(ah.styles,function(aj,ai){aj=q(aj,ag);if(typeof(ai)==="number"){ai=aj;ab=0}if(!ab||g(O(ab,ai),aj)){c.setStyle(ae,ai,"")}af=1});if(af&&c.getAttrib(ae,"style")==""){ae.removeAttribute("style");ae.removeAttribute("data-mce-style")}T(ah.attributes,function(ak,ai){var aj;ak=q(ak,ag);if(typeof(ai)==="number"){ai=ak;ab=0}if(!ab||g(c.getAttrib(ab,ai),ak)){if(ai=="class"){ak=c.getAttrib(ae,ai);if(ak){aj="";T(ak.split(/\s+/),function(al){if(/mce\w+/.test(al)){aj+=(aj?" ":"")+al}});if(aj){c.setAttrib(ae,ai,aj);return}}}if(ai=="class"){ae.removeAttribute("className")}if(e.test(ai)){ae.removeAttribute("data-mce-"+ai)}ae.removeAttribute(ai)}});T(ah.classes,function(ai){ai=q(ai,ag);if(!ab||c.hasClass(ab,ai)){c.removeClass(ae,ai)}});ac=c.getAttribs(ae);for(ad=0;ad<ac.length;ad++){if(ac[ad].nodeName.indexOf("_")!==0){return X}}}if(ah.remove!="none"){o(ae,ah);return C}}function o(ad,ae){var ab=ad.parentNode,ac;function af(ah,ag,ai){ah=E(ah,ag,ai);return !ah||(ah.nodeName=="BR"||H(ah))}if(ae.block){if(!m){if(H(ad)&&!H(ab)){if(!af(ad,X)&&!af(ad.firstChild,C,1)){ad.insertBefore(c.create("br"),ad.firstChild)}if(!af(ad,C)&&!af(ad.lastChild,X,1)){ad.appendChild(c.create("br"))}}}else{if(ab==c.getRoot()){if(!ae.list_block||!g(ad,ae.list_block)){T(a.grep(ad.childNodes),function(ag){if(d(m,ag.nodeName.toLowerCase())){if(!ac){ac=S(ag,m)}else{ac.appendChild(ag)}}else{ac=0}})}}}}if(ae.selector&&ae.inline&&!g(ae.inline,ad)){return}c.remove(ad,1)}function E(ac,ab,ad){if(ac){ab=ab?"nextSibling":"previousSibling";for(ac=ad?ac:ac[ab];ac;ac=ac[ab]){if(ac.nodeType==1||!f(ac)){return ac}}}}function K(ab){return ab&&ab.nodeType==1&&ab.getAttribute("data-mce-type")=="bookmark"}function u(af,ae){var ab,ad,ac;function ah(ak,aj){if(ak.nodeName!=aj.nodeName){return X}function ai(am){var an={};T(c.getAttribs(am),function(ao){var ap=ao.nodeName.toLowerCase();if(ap.indexOf("_")!==0&&ap!=="style"){an[ap]=c.getAttrib(am,ap)}});return an}function al(ap,ao){var an,am;for(am in ap){if(ap.hasOwnProperty(am)){an=ao[am];if(an===D){return X}if(ap[am]!=an){return X}delete ao[am]}}for(am in ao){if(ao.hasOwnProperty(am)){return X}}return C}if(!al(ai(ak),ai(aj))){return X}if(!al(c.parseStyle(c.getAttrib(ak,"style")),c.parseStyle(c.getAttrib(aj,"style")))){return X}return C}function ag(aj,ai){for(ad=aj;ad;ad=ad[ai]){if(ad.nodeType==3&&ad.nodeValue.length!==0){return aj}if(ad.nodeType==1&&!K(ad)){return ad}}return aj}if(af&&ae){af=ag(af,"previousSibling");ae=ag(ae,"nextSibling");if(ah(af,ae)){for(ad=af.nextSibling;ad&&ad!=ae;){ac=ad;ad=ad.nextSibling;af.appendChild(ac)}c.remove(ae);T(a.grep(ae.childNodes),function(ai){af.appendChild(ai)});return af}}return ae}function M(ac,ag){var ab,af,ad,ae;ab=ac[ag?"startContainer":"endContainer"];af=ac[ag?"startOffset":"endOffset"];if(ab.nodeType==1){ad=ab.childNodes.length-1;if(!ag&&af){af--}ab=ab.childNodes[af>ad?ad:af]}if(ab.nodeType===3&&ag&&af>=ab.nodeValue.length){ab=new t(ab,aa.getBody()).next()||ab}if(ab.nodeType===3&&!ag&&af===0){ab=new t(ab,aa.getBody()).prev()||ab}return ab}function U(ak,ab,ai){var al="_mce_caret",ac=aa.settings.caret_debug;function ad(ap){var ao=c.create("span",{id:al,"data-mce-bogus":true,style:ac?"color:red":""});if(ap){ao.appendChild(aa.getDoc().createTextNode(G))}return ao}function aj(ap,ao){while(ap){if((ap.nodeType===3&&ap.nodeValue!==G)||ap.childNodes.length>1){return false}if(ao&&ap.nodeType===1){ao.push(ap)}ap=ap.firstChild}return true}function ag(ao){while(ao){if(ao.id===al){return ao}ao=ao.parentNode}}function af(ao){var ap;if(ao){ap=new t(ao,ao);for(ao=ap.current();ao;ao=ap.next()){if(ao.nodeType===3){return ao}}}}function ae(aq,ap){var ar,ao;if(!aq){aq=ag(r.getStart());if(!aq){while(aq=c.get(al)){ae(aq,false)}}}else{ao=r.getRng(true);if(aj(aq)){if(ap!==false){ao.setStartBefore(aq);ao.setEndBefore(aq)}c.remove(aq)}else{ar=af(aq);if(ar.nodeValue.charAt(0)===G){ar=ar.deleteData(0,1)}c.remove(aq,1)}r.setRng(ao)}}function ah(){var aq,ao,av,au,ar,ap,at;aq=r.getRng(true);au=aq.startOffset;ap=aq.startContainer;at=ap.nodeValue;ao=ag(r.getStart());if(ao){av=af(ao)}if(at&&au>0&&au<at.length&&/\w/.test(at.charAt(au))&&/\w/.test(at.charAt(au-1))){ar=r.getBookmark();aq.collapse(true);aq=p(aq,V(ab));aq=N.split(aq);Y(ab,ai,aq);r.moveToBookmark(ar)}else{if(!ao||av.nodeValue!==G){ao=ad(true);av=ao.firstChild;aq.insertNode(ao);au=1;Y(ab,ai,ao)}else{Y(ab,ai,ao)}r.setCursorLocation(av,au)}}function am(){var ao=r.getRng(true),ap,at,aw,av,aq,az,ay=[],au,ax;ap=ao.startContainer;at=ao.startOffset;aq=ap;if(ap.nodeType==3){if(at!=ap.nodeValue.length||ap.nodeValue===G){av=true}aq=aq.parentNode}while(aq){if(y(aq,ab,ai)){az=aq;break}if(aq.nextSibling){av=true}ay.push(aq);aq=aq.parentNode}if(!az){return}if(av){aw=r.getBookmark();ao.collapse(true);ao=p(ao,V(ab),true);ao=N.split(ao);B(ab,ai,ao);r.moveToBookmark(aw)}else{ax=ad();aq=ax;for(au=ay.length-1;au>=0;au--){aq.appendChild(c.clone(ay[au],false));aq=aq.firstChild}aq.appendChild(c.doc.createTextNode(G));aq=aq.firstChild;var ar=c.getParent(az,I);if(ar&&c.isEmpty(ar)){az.parentNode.replaceChild(ax,az)}else{c.insertAfter(ax,az)}r.setCursorLocation(aq,1);if(c.isEmpty(az)){c.remove(az)}}}function an(){var ap,ao,aq;ao=ag(r.getStart());if(ao&&!c.isEmpty(ao)){a.walk(ao,function(ar){if(ar.nodeType==1&&ar.id!==al&&!c.isEmpty(ar)){c.setAttrib(ar,"data-mce-bogus",null)}},"childNodes")}}if(!self._hasCaretEvents){aa.onBeforeGetContent.addToTop(function(){var ao=[],ap;if(aj(ag(r.getStart()),ao)){ap=ao.length;while(ap--){c.setAttrib(ao[ap],"data-mce-bogus","1")}}});a.each("onMouseUp onKeyUp".split(" "),function(ao){aa[ao].addToTop(function(){ae();an()})});aa.onKeyDown.addToTop(function(ao,aq){var ap=aq.keyCode;if(ap==8||ap==37||ap==39){ae(ag(r.getStart()))}an()});r.onSetContent.add(an);self._hasCaretEvents=true}if(ak=="apply"){ah()}else{am()}}function R(ac){var ab=ac.startContainer,ai=ac.startOffset,ae,ah,ag,ad,af;if(ab.nodeType==3&&ai>=ab.nodeValue.length){ai=s(ab);ab=ab.parentNode;ae=true}if(ab.nodeType==1){ad=ab.childNodes;ab=ad[Math.min(ai,ad.length-1)];ah=new t(ab,c.getParent(ab,c.isBlock));if(ai>ad.length-1||ae){ah.next()}for(ag=ah.current();ag;ag=ah.next()){if(ag.nodeType==3&&!f(ag)){af=c.create("a",null,G);ag.parentNode.insertBefore(af,ag);ac.setStart(ag,0);r.setRng(ac);c.remove(af);return}}}}}})(tinymce);tinymce.onAddEditor.add(function(e,a){var d,h,g,c=a.settings;function b(j,i){e.each(i,function(l,k){if(l){g.setStyle(j,k,l)}});g.rename(j,"span")}function f(i,j){g=i.dom;if(c.convert_fonts_to_spans){e.each(g.select("font,u,strike",j.node),function(k){d[k.nodeName.toLowerCase()](a.dom,k)})}}if(c.inline_styles){h=e.explode(c.font_size_legacy_values);d={font:function(j,i){b(i,{backgroundColor:i.style.backgroundColor,color:i.color,fontFamily:i.face,fontSize:h[parseInt(i.size,10)-1]})},u:function(j,i){b(i,{textDecoration:"underline"})},strike:function(j,i){b(i,{textDecoration:"line-through"})}};a.onPreProcess.add(f);a.onSetContent.add(f);a.onInit.add(function(){a.selection.onSetContent.add(f)})}});(function(b){var a=b.dom.TreeWalker;b.EnterKey=function(f){var i=f.dom,e=f.selection,d=f.settings,h=f.undoManager,c=f.schema.getNonEmptyElements();function g(B){var v=e.getRng(true),G,j,A,u,p,M,C,o,k,n,t,J,x,D;function E(N){return N&&i.isBlock(N)&&!/^(TD|TH|CAPTION|FORM)$/.test(N.nodeName)&&!/^(fixed|absolute)/i.test(N.style.position)&&i.getContentEditable(N)!=="true"}function F(O){var N;if(b.isIE&&!b.isIE11&&i.isBlock(O)){N=e.getRng();O.appendChild(i.create("span",null,"\u00a0"));e.select(O);O.lastChild.outerHTML="";e.setRng(N)}}function z(P){var O=P,Q=[],N;while(O=O.firstChild){if(i.isBlock(O)){return}if(O.nodeType==1&&!c[O.nodeName.toLowerCase()]){Q.push(O)}}N=Q.length;while(N--){O=Q[N];if(!O.hasChildNodes()||(O.firstChild==O.lastChild&&O.firstChild.nodeValue==="")){i.remove(O)}else{if(O.nodeName=="A"&&(O.innerText||O.textContent)===" "){i.remove(O)}}}}function m(O){var T,R,N,U,S,Q=O,P;N=i.createRng();if(O.hasChildNodes()){T=new a(O,O);while(R=T.current()){if(R.nodeType==3){N.setStart(R,0);N.setEnd(R,0);break}if(c[R.nodeName.toLowerCase()]){N.setStartBefore(R);N.setEndBefore(R);break}Q=R;R=T.next()}if(!R){N.setStart(Q,0);N.setEnd(Q,0)}}else{if(O.nodeName=="BR"){if(O.nextSibling&&i.isBlock(O.nextSibling)){if(!M||M<9){P=i.create("br");O.parentNode.insertBefore(P,O)}N.setStartBefore(O);N.setEndBefore(O)}else{N.setStartAfter(O);N.setEndAfter(O)}}else{N.setStart(O,0);N.setEnd(O,0)}}e.setRng(N);i.remove(P);S=i.getViewPort(f.getWin());U=i.getPos(O).y;if(U<S.y||U+25>S.y+S.h){f.getWin().scrollTo(0,U<S.y?U:U-S.h+25)}}function r(O){var P=A,R,Q,N;R=O||t=="TABLE"?i.create(O||x):p.cloneNode(false);N=R;if(d.keep_styles!==false){do{if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(P.nodeName)){if(P.id=="_mce_caret"){continue}Q=P.cloneNode(false);i.setAttrib(Q,"id","");if(R.hasChildNodes()){Q.appendChild(R.firstChild);R.appendChild(Q)}else{N=Q;R.appendChild(Q)}}}while(P=P.parentNode)}if(!b.isIE||b.isIE11){N.innerHTML='<br data-mce-bogus="1">'}return R}function q(Q){var P,O,N;if(A.nodeType==3&&(Q?u>0:u<A.nodeValue.length)){return false}if(A.parentNode==p&&D&&!Q){return true}if(Q&&A.nodeType==1&&A==p.firstChild){return true}if(A.nodeName==="TABLE"||(A.previousSibling&&A.previousSibling.nodeName=="TABLE")){return(D&&!Q)||(!D&&Q)}P=new a(A,p);if(A.nodeType==3){if(Q&&u==0){P.prev()}else{if(!Q&&u==A.nodeValue.length){P.next()}}}while(O=P.current()){if(O.nodeType===1){if(!O.getAttribute("data-mce-bogus")){N=O.nodeName.toLowerCase();if(c[N]&&N!=="br"){return false}}}else{if(O.nodeType===3&&!/^[ \t\r\n]*$/.test(O.nodeValue)){return false}}if(Q){P.prev()}else{P.next()}}return true}function l(N,T){var U,S,P,R,Q,O=x||"P";S=i.getParent(N,i.isBlock);if(!S||!E(S)){S=S||j;if(!S.hasChildNodes()){U=i.create(O);S.appendChild(U);v.setStart(U,0);v.setEnd(U,0);return U}R=N;while(R.parentNode!=S){R=R.parentNode}while(R&&!i.isBlock(R)){P=R;R=R.previousSibling}if(P){U=i.create(O);P.parentNode.insertBefore(U,P);R=P;while(R&&!i.isBlock(R)){Q=R.nextSibling;U.appendChild(R);R=Q}v.setStart(N,T);v.setEnd(N,T)}}return N}function H(){function N(P){var O=n[P?"firstChild":"lastChild"];while(O){if(O.nodeType==1){break}O=O[P?"nextSibling":"previousSibling"]}return O===p}o=x?r(x):i.create("BR");if(N(true)&&N()){i.replace(o,n)}else{if(N(true)){n.parentNode.insertBefore(o,n)}else{if(N()){i.insertAfter(o,n);F(o)}else{G=v.cloneRange();G.setStartAfter(p);G.setEndAfter(n);k=G.extractContents();i.insertAfter(k,n);i.insertAfter(o,n)}}}i.remove(p);m(o);h.add()}function y(){var O=new a(A,p),N;while(N=O.next()){if(c[N.nodeName.toLowerCase()]||N.length>0){return true}}}function L(){var P,O,N;if(A&&A.nodeType==3&&u>=A.nodeValue.length){if((!b.isIE||b.isIE11)&&!y()){P=i.create("br");v.insertNode(P);v.setStartAfter(P);v.setEndAfter(P);O=true}}P=i.create("br");v.insertNode(P);if((b.isIE&&!b.isIE11)&&t=="PRE"&&(!M||M<8)){P.parentNode.insertBefore(i.doc.createTextNode("\r"),P)}N=i.create("span",{},"&nbsp;");P.parentNode.insertBefore(N,P);e.scrollIntoView(N);i.remove(N);if(!O){v.setStartAfter(P);v.setEndAfter(P)}else{v.setStartBefore(P);v.setEndBefore(P)}e.setRng(v);h.add()}function s(N){do{if(N.nodeType===3){N.nodeValue=N.nodeValue.replace(/^[\r\n]+/,"")}N=N.firstChild}while(N)}function K(P){var N=i.getRoot(),O,Q;O=P;while(O!==N&&i.getContentEditable(O)!=="false"){if(i.getContentEditable(O)==="true"){Q=O}O=O.parentNode}return O!==N?Q:N}function I(O){var N;if(!b.isIE||b.isIE11){O.normalize();N=O.lastChild;if(!N||(/^(left|right)$/gi.test(i.getStyle(N,"float",true)))){i.add(O,"br")}}}if(!v.collapsed){f.execCommand("Delete");return}if(B.isDefaultPrevented()){return}A=v.startContainer;u=v.startOffset;x=(d.force_p_newlines?"p":"")||d.forced_root_block;x=x?x.toUpperCase():"";M=i.doc.documentMode;C=B.shiftKey;if(A.nodeType==1&&A.hasChildNodes()){D=u>A.childNodes.length-1;A=A.childNodes[Math.min(u,A.childNodes.length-1)]||A;if(D&&A.nodeType==3){u=A.nodeValue.length}else{u=0}}j=K(A);if(!j){return}h.beforeChange();if(!i.isBlock(j)&&j!=i.getRoot()){if(!x||C){L()}return}if((x&&!C)||(!x&&C)){A=l(A,u)}p=i.getParent(A,i.isBlock);n=p?i.getParent(p.parentNode,i.isBlock):null;t=p?p.nodeName.toUpperCase():"";J=n?n.nodeName.toUpperCase():"";if(J=="LI"&&!B.ctrlKey){p=n;t=J}if(t=="LI"){if(!x&&C){L();return}if(i.isEmpty(p)){if(/^(UL|OL|LI)$/.test(n.parentNode.nodeName)){return false}H();return}}if(t=="PRE"&&d.br_in_pre!==false){if(!C){L();return}}else{if((!x&&!C&&t!="LI")||(x&&C)){L();return}}x=x||"P";if(q()){if(/^(H[1-6]|PRE)$/.test(t)&&J!="HGROUP"){o=r(x)}else{o=r()}if(d.end_container_on_empty_block&&E(n)&&i.isEmpty(p)){o=i.split(n,p)}else{i.insertAfter(o,p)}m(o)}else{if(q(true)){o=p.parentNode.insertBefore(r(),p);F(o)}else{G=v.cloneRange();G.setEndAfter(p);k=G.extractContents();s(k);o=k.firstChild;i.insertAfter(k,p);z(o);I(p);m(o)}}i.setAttrib(o,"id","");h.add()}f.onKeyDown.add(function(k,j){if(j.keyCode==13){if(g(j)!==false){j.preventDefault()}}})}})(tinymce);
\ No newline at end of file
index 0808f8f9b23fe2497c23d051047dd8271f11302b..9150f8654b86b59123bf6eeee1267acfe5c94010 100644 (file)
@@ -1,5 +1,539 @@
+/**
+ * Popup.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
 
-// Uncomment and change this document.domain value if you are loading the script cross subdomains
-// document.domain = 'moxiecode.com';
+var tinymce, tinyMCE;
 
-var tinymce=null,tinyMCEPopup,tinyMCE;tinyMCEPopup={init:function(){var b=this,a,c;a=b.getWin();tinymce=a.tinymce;tinyMCE=a.tinyMCE;b.editor=tinymce.EditorManager.activeEditor;b.params=b.editor.windowManager.params;b.features=b.editor.windowManager.features;b.dom=b.editor.windowManager.createInstance("tinymce.dom.DOMUtils",document,{ownEvents:true,proxy:tinyMCEPopup._eventProxy});b.dom.bind(window,"ready",b._onDOMLoaded,b);if(b.features.popup_css!==false){b.dom.loadCSS(b.features.popup_css||b.editor.settings.popup_css)}b.listeners=[];b.onInit={add:function(e,d){b.listeners.push({func:e,scope:d})}};b.isWindow=!b.getWindowArg("mce_inline");b.id=b.getWindowArg("mce_window_id");b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return(!window.frameElement&&window.dialogArguments)||opener||parent||top},getWindowArg:function(c,b){var a=this.params[c];return tinymce.is(a)?a:b},getParam:function(b,a){return this.editor.getParam(b,a)},getLang:function(b,a){return this.editor.getLang(b,a)},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},resizeToInnerSize:function(){var a=this;setTimeout(function(){var b=a.dom.getViewPort(window);a.editor.windowManager.resizeBy(a.getWindowArg("mce_width")-b.w,a.getWindowArg("mce_height")-b.h,a.id||window)},10)},executeOnLoad:function(s){this.onInit.add(function(){eval(s)})},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;if(!a.isWindow&&tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}},requireLangPack:function(){var b=this,a=b.getWindowArg("plugin_url")||b.getWindowArg("theme_url");if(a&&b.editor.settings.language&&b.features.translate_i18n!==false&&b.editor.settings.language_load!==false){a+="/langs/"+b.editor.settings.language+"_dlg.js";if(!tinymce.ScriptLoader.isDone(a)){document.write('<script type="text/javascript" src="'+tinymce._addVer(a)+'"><\/script>');tinymce.ScriptLoader.markDone(a)}}},pickColor:function(b,a){this.execCommand("mceColorPicker",true,{color:document.getElementById(a).value,func:function(e){document.getElementById(a).value=e;try{document.getElementById(a).onchange()}catch(d){}}})},openBrowser:function(a,c,b){tinyMCEPopup.restoreSelection();this.editor.execCallback("file_browser_callback",a,document.getElementById(a).value,c,window)},confirm:function(b,a,c){this.editor.windowManager.confirm(b,a,c,window)},alert:function(b,a,c){this.editor.windowManager.alert(b,a,c,window)},close:function(){var a=this;function b(){a.editor.windowManager.close(window);tinymce=tinyMCE=a.editor=a.params=a.dom=a.dom.doc=null}if(tinymce.isOpera){a.getWin().setTimeout(b,0)}else{b()}},_restoreSelection:function(a){var a=(a&&a.target)||window.event.srcElement;if(a.nodeName=="INPUT"&&(a.type=="submit"||a.type=="button")){tinyMCEPopup.restoreSelection()}},_onDOMLoaded:function(){var b=tinyMCEPopup,d=document.title,e,c,a;if(b.features.translate_i18n!==false){c=document.body.innerHTML;if(tinymce.isIE){c=c.replace(/ (value|title|alt)=([^"][^\s>]+)/gi,' $1="$2"')}document.dir=b.editor.getParam("directionality","");if((a=b.editor.translate(c))&&a!=c){document.body.innerHTML=a}if((a=b.editor.translate(d))&&a!=d){document.title=d=a}}if(!b.editor.getParam("browser_preferred_colors",false)||!b.isWindow){b.dom.addClass(document.body,"forceColors")}document.body.style.display="";if(tinymce.isIE&&!tinymce.isIE11){document.attachEvent("onmouseup",tinyMCEPopup._restoreSelection);b.dom.add(b.dom.select("head")[0],"base",{target:"_self"})}else{if(tinymce.isIE11){document.addEventListener("mouseup",tinyMCEPopup._restoreSelection,false)}}b.restoreSelection();b.resizeToInnerSize();if(!b.isWindow){b.editor.windowManager.setTitle(window,d)}else{window.focus()}if(!tinymce.isIE&&!b.isWindow){b.dom.bind(document,"focus",function(){b.editor.windowManager.focus(b.id)})}tinymce.each(b.dom.select("select"),function(f){f.onkeydown=tinyMCEPopup._accessHandler});tinymce.each(b.listeners,function(f){f.func.call(f.scope,b.editor)});if(b.getWindowArg("mce_auto_focus",true)){window.focus();tinymce.each(document.forms,function(g){tinymce.each(g.elements,function(f){if(b.dom.hasClass(f,"mceFocus")&&!f.disabled){f.focus();return false}})})}document.onkeyup=tinyMCEPopup._closeWinKeyHandler},_accessHandler:function(a){a=a||window.event;if(a.keyCode==13||a.keyCode==32){var b=a.target||a.srcElement;if(b.onchange){b.onchange()}return tinymce.dom.Event.cancel(a)}},_closeWinKeyHandler:function(a){a=a||window.event;if(a.keyCode==27){tinyMCEPopup.close()}},_eventProxy:function(a){return function(b){tinyMCEPopup.dom.events.callNativeHandler(a,b)}}};tinyMCEPopup.init();
\ No newline at end of file
+/**
+ * TinyMCE popup/dialog helper class. This gives you easy access to the
+ * parent editor instance and a bunch of other things. It's higly recommended
+ * that you load this script into your dialogs.
+ *
+ * @static
+ * @class tinyMCEPopup
+ */
+var tinyMCEPopup = {
+       /**
+        * Initializes the popup this will be called automatically.
+        *
+        * @method init
+        */
+       init: function() {
+               var self = this, parentWin, settings, uiWindow;
+
+               // Find window & API
+               parentWin = self.getWin();
+               tinymce = tinyMCE = parentWin.tinymce;
+               self.editor = tinymce.EditorManager.activeEditor;
+               self.params = self.editor.windowManager.getParams();
+
+               uiWindow = self.editor.windowManager.windows[self.editor.windowManager.windows.length - 1];
+               self.features = uiWindow.features;
+               self.uiWindow = uiWindow;
+
+               settings = self.editor.settings;
+
+               // Setup popup CSS path(s)
+               if (settings.popup_css !== false) {
+                       if (settings.popup_css) {
+                               settings.popup_css = self.editor.documentBaseURI.toAbsolute(settings.popup_css);
+                       } else {
+                               settings.popup_css = self.editor.baseURI.toAbsolute("plugins/compat3x/css/dialog.css");
+                       }
+               }
+
+               if (settings.popup_css_add) {
+                       settings.popup_css += ',' + self.editor.documentBaseURI.toAbsolute(settings.popup_css_add);
+               }
+
+               // Setup local DOM
+               self.dom = self.editor.windowManager.createInstance('tinymce.dom.DOMUtils', document, {
+                       ownEvents: true,
+                       proxy: tinyMCEPopup._eventProxy
+               });
+
+               self.dom.bind(window, 'ready', self._onDOMLoaded, self);
+
+               // Enables you to skip loading the default css
+               if (self.features.popup_css !== false) {
+                       self.dom.loadCSS(self.features.popup_css || self.editor.settings.popup_css);
+               }
+
+               // Setup on init listeners
+               self.listeners = [];
+
+               /**
+                * Fires when the popup is initialized.
+                *
+                * @event onInit
+                * @param {tinymce.Editor} editor Editor instance.
+                * @example
+                * // Alerts the selected contents when the dialog is loaded
+                * tinyMCEPopup.onInit.add(function(ed) {
+                *     alert(ed.selection.getContent());
+                * });
+                * 
+                * // Executes the init method on page load in some object using the SomeObject scope
+                * tinyMCEPopup.onInit.add(SomeObject.init, SomeObject);
+                */
+               self.onInit = {
+                       add: function(func, scope) {
+                               self.listeners.push({func : func, scope : scope});
+                       }
+               };
+
+               self.isWindow = !self.getWindowArg('mce_inline');
+               self.id = self.getWindowArg('mce_window_id');
+       },
+
+       /**
+        * Returns the reference to the parent window that opened the dialog.
+        *
+        * @method getWin
+        * @return {Window} Reference to the parent window that opened the dialog.
+        */
+       getWin: function() {
+               // Added frameElement check to fix bug: #2817583
+               return (!window.frameElement && window.dialogArguments) || opener || parent || top;
+       },
+
+       /**
+        * Returns a window argument/parameter by name.
+        *
+        * @method getWindowArg
+        * @param {String} name Name of the window argument to retrive.
+        * @param {String} defaultValue Optional default value to return.
+        * @return {String} Argument value or default value if it wasn't found.
+        */
+       getWindowArg : function(name, defaultValue) {
+               var value = this.params[name];
+
+               return tinymce.is(value) ? value : defaultValue;
+       },
+
+       /**
+        * Returns a editor parameter/config option value.
+        *
+        * @method getParam
+        * @param {String} name Name of the editor config option to retrive.
+        * @param {String} defaultValue Optional default value to return.
+        * @return {String} Parameter value or default value if it wasn't found.
+        */
+       getParam : function(name, defaultValue) {
+               return this.editor.getParam(name, defaultValue);
+       },
+
+       /**
+        * Returns a language item by key.
+        *
+        * @method getLang
+        * @param {String} name Language item like mydialog.something.
+        * @param {String} defaultValue Optional default value to return.
+        * @return {String} Language value for the item like "my string" or the default value if it wasn't found.
+        */
+       getLang : function(name, defaultValue) {
+               return this.editor.getLang(name, defaultValue);
+       },
+
+       /**
+        * Executed a command on editor that opened the dialog/popup.
+        *
+        * @method execCommand
+        * @param {String} cmd Command to execute.
+        * @param {Boolean} ui Optional boolean value if the UI for the command should be presented or not.
+        * @param {Object} val Optional value to pass with the comman like an URL.
+        * @param {Object} a Optional arguments object.
+        */
+       execCommand : function(cmd, ui, val, args) {
+               args = args || {};
+               args.skip_focus = 1;
+
+               this.restoreSelection();
+               return this.editor.execCommand(cmd, ui, val, args);
+       },
+
+       /**
+        * Resizes the dialog to the inner size of the window. This is needed since various browsers
+        * have different border sizes on windows.
+        *
+        * @method resizeToInnerSize
+        */
+       resizeToInnerSize : function() {
+               /*var self = this;
+
+               // Detach it to workaround a Chrome specific bug
+               // https://sourceforge.net/tracker/?func=detail&atid=635682&aid=2926339&group_id=103281
+               setTimeout(function() {
+                       var vp = self.dom.getViewPort(window);
+
+                       self.editor.windowManager.resizeBy(
+                               self.getWindowArg('mce_width') - vp.w,
+                               self.getWindowArg('mce_height') - vp.h,
+                               self.id || window
+                       );
+               }, 10);*/
+       },
+
+       /**
+        * Will executed the specified string when the page has been loaded. This function
+        * was added for compatibility with the 2.x branch.
+        *
+        * @method executeOnLoad
+        * @param {String} evil String to evalutate on init.
+        */
+       executeOnLoad : function(evil) {
+               this.onInit.add(function() {
+                       eval(evil);
+               });
+       },
+
+       /**
+        * Stores the current editor selection for later restoration. This can be useful since some browsers
+        * looses it's selection if a control element is selected/focused inside the dialogs.
+        *
+        * @method storeSelection
+        */
+       storeSelection : function() {
+               this.editor.windowManager.bookmark = tinyMCEPopup.editor.selection.getBookmark(1);
+       },
+
+       /**
+        * Restores any stored selection. This can be useful since some browsers
+        * looses it's selection if a control element is selected/focused inside the dialogs.
+        *
+        * @method restoreSelection
+        */
+       restoreSelection : function() {
+               var self = tinyMCEPopup;
+
+               if (!self.isWindow && tinymce.isIE) {
+                       self.editor.selection.moveToBookmark(self.editor.windowManager.bookmark);
+               }
+       },
+
+       /**
+        * Loads a specific dialog language pack. If you pass in plugin_url as a argument
+        * when you open the window it will load the <plugin url>/langs/<code>_dlg.js lang pack file.
+        *
+        * @method requireLangPack
+        */
+       requireLangPack : function() {
+               var self = this, url = self.getWindowArg('plugin_url') || self.getWindowArg('theme_url'), settings = self.editor.settings, lang;
+
+               if (settings.language !== false) {
+                       lang = settings.language || "en";
+               }
+
+               if (url && lang && self.features.translate_i18n !== false && settings.language_load !== false) {
+                       url += '/langs/' + lang + '_dlg.js';
+
+                       if (!tinymce.ScriptLoader.isDone(url)) {
+                               document.write('<script type="text/javascript" src="' + url + '"></script>');
+                               tinymce.ScriptLoader.markDone(url);
+                       }
+               }
+       },
+
+       /**
+        * Executes a color picker on the specified element id. When the user
+        * then selects a color it will be set as the value of the specified element.
+        *
+        * @method pickColor
+        * @param {DOMEvent} e DOM event object.
+        * @param {string} element_id Element id to be filled with the color value from the picker.
+        */
+       pickColor : function(e, element_id) {
+               this.execCommand('mceColorPicker', true, {
+                       color : document.getElementById(element_id).value,
+                       func : function(c) {
+                               document.getElementById(element_id).value = c;
+
+                               try {
+                                       document.getElementById(element_id).onchange();
+                               } catch (ex) {
+                                       // Try fire event, ignore errors
+                               }
+                       }
+               });
+       },
+
+       /**
+        * Opens a filebrowser/imagebrowser this will set the output value from
+        * the browser as a value on the specified element.
+        *
+        * @method openBrowser
+        * @param {string} element_id Id of the element to set value in.
+        * @param {string} type Type of browser to open image/file/flash.
+        * @param {string} option Option name to get the file_broswer_callback function name from.
+        */
+       openBrowser : function(element_id, type) {
+               tinyMCEPopup.restoreSelection();
+               this.editor.execCallback('file_browser_callback', element_id, document.getElementById(element_id).value, type, window);
+       },
+
+       /**
+        * Creates a confirm dialog. Please don't use the blocking behavior of this
+        * native version use the callback method instead then it can be extended.
+        *
+        * @method confirm
+        * @param {String} t Title for the new confirm dialog.
+        * @param {function} cb Callback function to be executed after the user has selected ok or cancel.
+        * @param {Object} s Optional scope to execute the callback in.
+        */
+       confirm : function(t, cb, s) {
+               this.editor.windowManager.confirm(t, cb, s, window);
+       },
+
+       /**
+        * Creates a alert dialog. Please don't use the blocking behavior of this
+        * native version use the callback method instead then it can be extended.
+        *
+        * @method alert
+        * @param {String} tx Title for the new alert dialog.
+        * @param {function} cb Callback function to be executed after the user has selected ok.
+        * @param {Object} s Optional scope to execute the callback in.
+        */
+       alert : function(tx, cb, s) {
+               this.editor.windowManager.alert(tx, cb, s, window);
+       },
+
+       /**
+        * Closes the current window.
+        *
+        * @method close
+        */
+       close : function() {
+               var t = this;
+
+               // To avoid domain relaxing issue in Opera
+               function close() {
+                       t.editor.windowManager.close(window);
+                       tinymce = tinyMCE = t.editor = t.params = t.dom = t.dom.doc = null; // Cleanup
+               }
+
+               if (tinymce.isOpera) {
+                       t.getWin().setTimeout(close, 0);
+               } else {
+                       close();
+               }
+       },
+
+       // Internal functions   
+
+       _restoreSelection : function() {
+               var e = window.event.srcElement;
+
+               if (e.nodeName == 'INPUT' && (e.type == 'submit' || e.type == 'button')) {
+                       tinyMCEPopup.restoreSelection();
+               }
+       },
+
+/*     _restoreSelection : function() {
+               var e = window.event.srcElement;
+
+               // If user focus a non text input or textarea
+               if ((e.nodeName != 'INPUT' && e.nodeName != 'TEXTAREA') || e.type != 'text')
+                       tinyMCEPopup.restoreSelection();
+       },*/
+
+       _onDOMLoaded : function() {
+               var t = tinyMCEPopup, ti = document.title, h, nv;
+
+               // Translate page
+               if (t.features.translate_i18n !== false) {
+                       var map = {
+                               "update": "Ok",
+                               "insert": "Ok",
+                               "cancel": "Cancel",
+                               "not_set": "--",
+                               "class_name": "Class name",
+                               "browse": "Browse"
+                       };
+
+                       var langCode = tinymce.settings.language || 'en';
+                       for (var key in map) {
+                               tinymce.i18n.data[langCode + "." + key] = tinymce.i18n.translate(map[key]);
+                       }
+
+                       h = document.body.innerHTML;
+
+                       // Replace a=x with a="x" in IE
+                       if (tinymce.isIE) {
+                               h = h.replace(/ (value|title|alt)=([^"][^\s>]+)/gi, ' $1="$2"');
+                       }
+
+                       document.dir = t.editor.getParam('directionality','');
+
+                       if ((nv = t.editor.translate(h)) && nv != h) {
+                               document.body.innerHTML = nv;
+                       }
+
+                       if ((nv = t.editor.translate(ti)) && nv != ti) {
+                               document.title = ti = nv;
+                       }
+               }
+
+               if (!t.editor.getParam('browser_preferred_colors', false) || !t.isWindow) {
+                       t.dom.addClass(document.body, 'forceColors');
+               }
+
+               document.body.style.display = '';
+
+               // Restore selection in IE when focus is placed on a non textarea or input element of the type text
+               if (tinymce.Env.ie) {
+                       if (tinymce.Env.ie < 11) {
+                               document.attachEvent('onmouseup', tinyMCEPopup._restoreSelection);
+
+                               // Add base target element for it since it would fail with modal dialogs
+                               t.dom.add(t.dom.select('head')[0], 'base', {target: '_self'});
+                       } else {
+                               document.addEventListener('mouseup', tinyMCEPopup._restoreSelection, false);
+                       }
+               }
+
+               t.restoreSelection();
+               t.resizeToInnerSize();
+
+               // Set inline title
+               if (!t.isWindow) {
+                       t.editor.windowManager.setTitle(window, ti);
+               } else {
+                       window.focus();
+               }
+
+               if (!tinymce.isIE && !t.isWindow) {
+                       t.dom.bind(document, 'focus', function() {
+                               t.editor.windowManager.focus(t.id);
+                       });
+               }
+
+               // Patch for accessibility
+               tinymce.each(t.dom.select('select'), function(e) {
+                       e.onkeydown = tinyMCEPopup._accessHandler;
+               });
+
+               // Call onInit
+               // Init must be called before focus so the selection won't get lost by the focus call
+               tinymce.each(t.listeners, function(o) {
+                       o.func.call(o.scope, t.editor);
+               });
+
+               // Move focus to window
+               if (t.getWindowArg('mce_auto_focus', true)) {
+                       window.focus();
+
+                       // Focus element with mceFocus class
+                       tinymce.each(document.forms, function(f) {
+                               tinymce.each(f.elements, function(e) {
+                                       if (t.dom.hasClass(e, 'mceFocus') && !e.disabled) {
+                                               e.focus();
+                                               return false; // Break loop
+                                       }
+                               });
+                       });
+               }
+
+               document.onkeyup = tinyMCEPopup._closeWinKeyHandler;
+
+               if ('textContent' in document) {
+                       t.uiWindow.getEl('head').firstChild.textContent = document.title;
+               } else {
+                       t.uiWindow.getEl('head').firstChild.innerText = document.title;
+               }
+       },
+
+       _accessHandler : function(e) {
+               e = e || window.event;
+
+               if (e.keyCode == 13 || e.keyCode == 32) {
+                       var elm = e.target || e.srcElement;
+
+                       if (elm.onchange) {
+                               elm.onchange();
+                       }
+
+                       return tinymce.dom.Event.cancel(e);
+               }
+       },
+
+       _closeWinKeyHandler : function(e) {
+               e = e || window.event;
+
+               if (e.keyCode == 27) {
+                       tinyMCEPopup.close();
+               }
+       },
+
+       _eventProxy: function(id) {
+               return function(evt) {
+                       tinyMCEPopup.dom.events.callNativeHandler(id, evt);
+               };
+       }
+};
+
+tinyMCEPopup.init();
+
+tinymce.util.Dispatcher = function(scope) {
+       this.scope = scope || this;
+       this.listeners = [];
+
+       this.add = function(callback, scope) {
+               this.listeners.push({cb : callback, scope : scope || this.scope});
+
+               return callback;
+       };
+
+       this.addToTop = function(callback, scope) {
+               var self = this, listener = {cb : callback, scope : scope || self.scope};
+
+               // Create new listeners if addToTop is executed in a dispatch loop
+               if (self.inDispatch) {
+                       self.listeners = [listener].concat(self.listeners);
+               } else {
+                       self.listeners.unshift(listener);
+               }
+
+               return callback;
+       };
+
+       this.remove = function(callback) {
+               var listeners = this.listeners, output = null;
+
+               tinymce.each(listeners, function(listener, i) {
+                       if (callback == listener.cb) {
+                               output = listener;
+                               listeners.splice(i, 1);
+                               return false;
+                       }
+               });
+
+               return output;
+       };
+
+       this.dispatch = function() {
+               var self = this, returnValue, args = arguments, i, listeners = self.listeners, listener;
+
+               self.inDispatch = true;
+               
+               // Needs to be a real loop since the listener count might change while looping
+               // And this is also more efficient
+               for (i = 0; i < listeners.length; i++) {
+                       listener = listeners[i];
+                       returnValue = listener.cb.apply(listener.scope, args.length > 0 ? args : [listener.scope]);
+
+                       if (returnValue === false) {
+                               break;
+                       }
+               }
+
+               self.inDispatch = false;
+
+               return returnValue;
+       };
+};
diff --git a/wp-includes/js/tinymce/tinymce.min.js b/wp-includes/js/tinymce/tinymce.min.js
new file mode 100644 (file)
index 0000000..271e76c
--- /dev/null
@@ -0,0 +1,10 @@
+// 4.0.21.1 (2014-04-09)
+!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/dom/DomQuery",d="tinymce/html/Styles",f="tinymce/dom/TreeWalker",p="tinymce/util/Tools",m="tinymce/dom/Range",h="tinymce/html/Entities",g="tinymce/Env",v="tinymce/dom/StyleSheetLoader",y="tinymce/dom/DOMUtils",b="tinymce/dom/ScriptLoader",C="tinymce/AddOnManager",x="tinymce/html/Node",w="tinymce/html/Schema",_="tinymce/html/SaxParser",N="tinymce/html/DomParser",E="tinymce/html/Writer",S="tinymce/html/Serializer",k="tinymce/dom/Serializer",T="tinymce/dom/TridentSelection",R="tinymce/util/VK",A="tinymce/dom/ControlSelection",B="tinymce/dom/RangeUtils",L="tinymce/dom/Selection",D="tinymce/fmt/Preview",M="tinymce/Formatter",H="tinymce/UndoManager",P="tinymce/EnterKey",O="tinymce/ForceBlocks",I="tinymce/EditorCommands",F="tinymce/util/URI",z="tinymce/util/Class",W="tinymce/ui/Selector",V="tinymce/ui/Collection",U="tinymce/ui/DomUtils",q="tinymce/ui/Control",$="tinymce/ui/Factory",j="tinymce/ui/KeyboardNavigation",K="tinymce/ui/Container",Y="tinymce/ui/DragHelper",G="tinymce/ui/Scrollable",X="tinymce/ui/Panel",J="tinymce/ui/Movable",Q="tinymce/ui/Resizable",Z="tinymce/ui/FloatPanel",et="tinymce/ui/Window",tt="tinymce/ui/MessageBox",nt="tinymce/WindowManager",rt="tinymce/util/Quirks",it="tinymce/util/Observable",ot="tinymce/Shortcuts",at="tinymce/Editor",st="tinymce/util/I18n",lt="tinymce/FocusManager",ct="tinymce/EditorManager",ut="tinymce/LegacyInput",dt="tinymce/util/XHR",ft="tinymce/util/JSON",pt="tinymce/util/JSONRequest",mt="tinymce/util/JSONP",ht="tinymce/util/LocalStorage",gt="tinymce/Compat",vt="tinymce/ui/Layout",yt="tinymce/ui/AbsoluteLayout",bt="tinymce/ui/Tooltip",Ct="tinymce/ui/Widget",xt="tinymce/ui/Button",wt="tinymce/ui/ButtonGroup",_t="tinymce/ui/Checkbox",Nt="tinymce/ui/PanelButton",Et="tinymce/ui/ColorButton",St="tinymce/ui/ComboBox",kt="tinymce/ui/Path",Tt="tinymce/ui/ElementPath",Rt="tinymce/ui/FormItem",At="tinymce/ui/Form",Bt="tinymce/ui/FieldSet",Lt="tinymce/ui/FilePicker",Dt="tinymce/ui/FitLayout",Mt="tinymce/ui/FlexLayout",Ht="tinymce/ui/FlowLayout",Pt="tinymce/ui/FormatControls",Ot="tinymce/ui/GridLayout",It="tinymce/ui/Iframe",Ft="tinymce/ui/Label",zt="tinymce/ui/Toolbar",Wt="tinymce/ui/MenuBar",Vt="tinymce/ui/MenuButton",Ut="tinymce/ui/ListBox",qt="tinymce/ui/MenuItem",$t="tinymce/ui/Menu",jt="tinymce/ui/Radio",Kt="tinymce/ui/ResizeHandle",Yt="tinymce/ui/Spacer",Gt="tinymce/ui/SplitButton",Xt="tinymce/ui/StackLayout",Jt="tinymce/ui/TabPanel",Qt="tinymce/ui/TextBox",Zt="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,m){function h(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]={}),m=m||t,o=o.split(" "),y=o.length;y--;)b=o[y],x=h,C=w=!1,"DOMContentLoaded"===b&&(b="ready"),a.domLoaded&&"ready"===b&&"complete"==t.readyState?p.call(m,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:m}):(s[g][b]=v=[{func:p,scope:m}],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,m=o.fakeName,h=o.capture;o=o.slice(0,u).concat(o.slice(u+1)),o.nativeHandler=p,o.fakeName=m,o.capture=h,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){return ht.test(e+"")}function n(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>_.cacheLength&&delete e[t.shift()],e[n]=r,r}}function r(e){return e[I]=!0,e}function i(e){var t=B.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t=null}}function o(e,t,n,r){var i,o,a,s,l,c,f,p,m,h;if((t?t.ownerDocument||t:F)!==B&&A(t),t=t||B,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(D&&!r){if(i=gt.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))&&O(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])&&z.getElementsByClassName&&t.getElementsByClassName)return Z.apply(n,t.getElementsByClassName(a)),n}if(z.qsa&&!M.test(e)){if(f=!0,p=I,m=t,h=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(c=u(e),(f=t.getAttribute("id"))?p=f.replace(bt,"\\$&"):t.setAttribute("id",p),p="[id='"+p+"'] ",l=c.length;l--;)c[l]=p+d(c[l]);m=mt.test(e)&&t.parentNode||t,h=c.join(",")}if(h)try{return Z.apply(n,m.querySelectorAll(h)),n}catch(g){}finally{f||t.removeAttribute("id")}}}return b(e.replace(lt,"$1"),t,n,r)}function a(e,t){var n=t&&e,r=n&&(~t.sourceIndex||G)-(~e.sourceIndex||G);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,t){var n,r,i,a,s,l,c,u=q[e+" "];if(u)return t?0:u.slice(0);for(s=e,l=[],c=_.preFilter;s;){(!n||(r=ct.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=ut.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(lt," ")}),s=s.slice(n.length));for(a in _.filter)!(r=pt[a].exec(s))||c[a]&&!(r=c[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?o.error(e):q(e,l).slice(0)}function d(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function f(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,u=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(c=t[I]||(t[I]={}),(l=c[r])&&l[0]===u){if((s=l[1])===!0||s===w)return s===!0}else if(l=c[r]=[u],l[1]=e(t,n,a)||w,l[1]===!0)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(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 h(e,t,n,i,o,a){return i&&!i[I]&&(i=h(i)),o&&!o[I]&&(o=h(o,a)),r(function(r,a,s,l){var c,u,d,f=[],p=[],h=a.length,g=r||y(t||"*",s.nodeType?[s]:s,[]),v=!e||!r&&t?g:m(g,f,e,s,l),b=n?o||(r?e:h||i)?[]:a:v;if(n&&n(v,b,s,l),i)for(c=m(b,p),i(c,[],s,l),u=c.length;u--;)(d=c[u])&&(b[p[u]]=!(v[p[u]]=d));if(r){if(o||e){if(o){for(c=[],u=b.length;u--;)(d=b[u])&&c.push(v[u]=d);o(null,b=[],c,l)}for(u=b.length;u--;)(d=b[u])&&(c=o?tt.call(r,d):f[u])>-1&&(r[c]=!(a[c]=d))}}else b=m(b===a?b.splice(h,b.length):b),o?o(null,a,b,l):Z.apply(a,b)})}function g(e){for(var t,n,r,i=e.length,o=_.relative[e[0].type],a=o||_.relative[" "],s=o?1:0,l=f(function(e){return e===t},a,!0),c=f(function(e){return tt.call(t,e)>-1},a,!0),u=[function(e,n,r){return!o&&(r||n!==k)||((t=n).nodeType?l(e,n,r):c(e,n,r))}];i>s;s++)if(n=_.relative[e[s].type])u=[f(p(u),n)];else{if(n=_.filter[e[s].type].apply(null,e[s].matches),n[I]){for(r=++s;i>r&&!_.relative[e[r].type];r++);return h(s>1&&p(u),s>1&&d(e.slice(0,s-1)).replace(lt,"$1"),n,r>s&&g(e.slice(s,r)),i>r&&g(e=e.slice(r)),i>r&&d(e))}u.push(n)}return p(u)}function v(e,t){var n=0,i=t.length>0,a=e.length>0,s=function(r,s,l,c,u){var d,f,p,h=[],g=0,v="0",y=r&&[],b=null!=u,C=k,x=r||a&&_.find.TAG("*",u&&s.parentNode||s),N=W+=null==C?1:Math.random()||.1;for(b&&(k=s!==B&&s,w=n);null!=(d=x[v]);v++){if(a&&d){for(f=0;p=e[f++];)if(p(d,s,l)){c.push(d);break}b&&(W=N,w=++n)}i&&((d=!p&&d)&&g--,r&&y.push(d))}if(g+=v,i&&v!==g){for(f=0;p=t[f++];)p(y,h,s,l);if(r){if(g>0)for(;v--;)y[v]||h[v]||(h[v]=J.call(c));h=m(h)}Z.apply(c,h),b&&!r&&h.length>0&&g+t.length>1&&o.uniqueSort(c)}return b&&(W=N,k=C),y};return i?r(s):s}function y(e,t,n){for(var r=0,i=t.length;i>r;r++)o(e,t[r],n);return n}function b(e,t,n,r){var i,o,a,s,l,c=u(e);if(!r&&1===c.length){if(o=c[0]=c[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&9===t.nodeType&&D&&_.relative[o[1].type]){if(t=(_.find.ID(a.matches[0].replace(xt,wt),t)||[])[0],!t)return n;e=e.slice(o.shift().value.length)}for(i=pt.needsContext.test(e)?0:o.length;i--&&(a=o[i],!_.relative[s=a.type]);)if((l=_.find[s])&&(r=l(a.matches[0].replace(xt,wt),mt.test(o[0].type)&&t.parentNode||t))){if(o.splice(i,1),e=r.length&&d(o),!e)return Z.apply(n,r),n;break}}return S(e,c)(r,t,!D,n,mt.test(e)),n}function C(){}var x,w,_,N,E,S,k,T,R,A,B,L,D,M,H,P,O,I="sizzle"+-new Date,F=window.document,z={},W=0,V=0,U=n(),q=n(),$=n(),j=!1,K=function(){return 0},Y=typeof t,G=1<<31,X=[],J=X.pop,Q=X.push,Z=X.push,et=X.slice,tt=X.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1},nt="[\\x20\\t\\r\\n\\f]",rt="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",it=rt.replace("w","w#"),ot="([*^$|!~]?=)",at="\\["+nt+"*("+rt+")"+nt+"*(?:"+ot+nt+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+it+")|)|)"+nt+"*\\]",st=":("+rt+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+at.replace(3,8)+")*)|.*)\\)|)",lt=new RegExp("^"+nt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+nt+"+$","g"),ct=new RegExp("^"+nt+"*,"+nt+"*"),ut=new RegExp("^"+nt+"*([\\x20\\t\\r\\n\\f>+~])"+nt+"*"),dt=new RegExp(st),ft=new RegExp("^"+it+"$"),pt={ID:new RegExp("^#("+rt+")"),CLASS:new RegExp("^\\.("+rt+")"),NAME:new RegExp("^\\[name=['\"]?("+rt+")['\"]?\\]"),TAG:new RegExp("^("+rt.replace("w","w*")+")"),ATTR:new RegExp("^"+at),PSEUDO:new RegExp("^"+st),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+nt+"*(even|odd|(([+-]|)(\\d*)n|)"+nt+"*(?:([+-]|)"+nt+"*(\\d+)|))"+nt+"*\\)|)","i"),needsContext:new RegExp("^"+nt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+nt+"*((?:-\\d)?\\d*)"+nt+"*\\)|)(?=[^-]|$)","i")},mt=/[\x20\t\r\n\f]*[+~]/,ht=/^[^{]+\{\s*\[native code/,gt=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,vt=/^(?:input|select|textarea|button)$/i,yt=/^h\d$/i,bt=/'|\\/g,Ct=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,xt=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,wt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320)};try{Z.apply(X=et.call(F.childNodes),F.childNodes),X[F.childNodes.length].nodeType}catch(_t){Z={apply:X.length?function(e,t){Q.apply(e,et.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}E=o.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},A=o.setDocument=function(n){var r=n?n.ownerDocument||n:F;return r!==B&&9===r.nodeType&&r.documentElement?(B=r,L=r.documentElement,D=!E(r),z.getElementsByTagName=i(function(e){return e.appendChild(r.createComment("")),!e.getElementsByTagName("*").length}),z.attributes=i(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),z.getElementsByClassName=i(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),z.getByName=i(function(e){e.id=I+0,e.appendChild(B.createElement("a")).setAttribute("name",I),e.appendChild(B.createElement("i")).setAttribute("name",I),L.appendChild(e);var t=r.getElementsByName&&r.getElementsByName(I).length===2+r.getElementsByName(I+0).length;return L.removeChild(e),t}),z.sortDetached=i(function(e){return e.compareDocumentPosition&&1&e.compareDocumentPosition(B.createElement("div"))}),_.attrHandle=i(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==Y&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},z.getByName?(_.find.ID=function(e,t){if(typeof t.getElementById!==Y&&D){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},_.filter.ID=function(e){var t=e.replace(xt,wt);return function(e){return e.getAttribute("id")===t}}):(_.find.ID=function(e,n){if(typeof n.getElementById!==Y&&D){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==Y&&r.getAttributeNode("id").value===e?[r]:t:[]}},_.filter.ID=function(e){var t=e.replace(xt,wt);return function(e){var n=typeof e.getAttributeNode!==Y&&e.getAttributeNode("id");return n&&n.value===t}}),_.find.TAG=z.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},_.find.NAME=z.getByName&&function(e,t){return typeof t.getElementsByName!==Y?t.getElementsByName(name):void 0},_.find.CLASS=z.getElementsByClassName&&function(e,t){return typeof t.getElementsByClassName!==Y&&D?t.getElementsByClassName(e):void 0},H=[],M=[":focus"],(z.qsa=e(r.querySelectorAll))&&(i(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||M.push("\\["+nt+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||M.push(":checked")}),i(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&M.push("[*^$]="+nt+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||M.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),M.push(",.*:")})),(z.matchesSelector=e(P=L.matchesSelector||L.mozMatchesSelector||L.webkitMatchesSelector||L.oMatchesSelector||L.msMatchesSelector))&&i(function(e){z.disconnectedMatch=P.call(e,"div"),P.call(e,"[s!='']:x"),H.push("!=",st)}),M=new RegExp(M.join("|")),H=H.length&&new RegExp(H.join("|")),O=e(L.contains)||L.compareDocumentPosition?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},K=L.compareDocumentPosition?function(e,t){if(e===t)return j=!0,0;var n=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return n?1&n||T&&t.compareDocumentPosition(e)===n?e===r||O(F,e)?-1:t===r||O(F,t)?1:R?tt.call(R,e)-tt.call(R,t):0:4&n?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var n,i=0,o=e.parentNode,s=t.parentNode,l=[e],c=[t];if(e===t)return j=!0,0;if(!o||!s)return e===r?-1:t===r?1:o?-1:s?1:0;if(o===s)return a(e,t);for(n=e;n=n.parentNode;)l.unshift(n);for(n=t;n=n.parentNode;)c.unshift(n);for(;l[i]===c[i];)i++;return i?a(l[i],c[i]):l[i]===F?-1:c[i]===F?1:0},B):B},o.matches=function(e,t){return o(e,null,null,t)},o.matchesSelector=function(e,t){if((e.ownerDocument||e)!==B&&A(e),t=t.replace(Ct,"='$1']"),z.matchesSelector&&D&&(!H||!H.test(t))&&!M.test(t))try{var n=P.call(e,t);if(n||z.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return o(t,B,null,[e]).length>0},o.contains=function(e,t){return(e.ownerDocument||e)!==B&&A(e),O(e,t)},o.attr=function(e,t){var n;return(e.ownerDocument||e)!==B&&A(e),D&&(t=t.toLowerCase()),(n=_.attrHandle[t])?n(e):!D||z.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},o.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},o.uniqueSort=function(e){var t,n=[],r=0,i=0;if(j=!z.detectDuplicates,T=!z.sortDetached,R=!z.sortStable&&e.slice(0),e.sort(K),j){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return e},N=o.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+=N(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=N(t);return n},_=o.selectors={cacheLength:50,createPseudo:r,match:pt,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xt,wt),e[3]=(e[4]||e[5]||"").replace(xt,wt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||o.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&o.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return pt.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&dt.test(n)&&(t=u(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){return"*"===e?function(){return!0}:(e=e.replace(xt,wt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+nt+")"+e+"("+nt+"|$)"))&&U(e,function(e){return t.test(e.className||typeof e.getAttribute!==Y&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=o.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!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,m,h=o!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s;if(g){if(o){for(;h;){for(d=t;d=d[h];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;m=h="only"===e&&!m&&"nextSibling"}return!0}if(m=[a?g.firstChild:g.lastChild],a&&y){for(u=g[I]||(g[I]={}),c=u[e]||[],p=c[0]===W&&c[1],f=c[0]===W&&c[2],d=p&&g.childNodes[p];d=++p&&d&&d[h]||(f=p=0)||m.pop();)if(1===d.nodeType&&++f&&d===t){u[e]=[W,p,f];break}}else if(y&&(c=(t[I]||(t[I]={}))[e])&&c[0]===W)f=c[1];else for(;(d=++p&&d&&d[h]||(f=p=0)||m.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++f||(y&&((d[I]||(d[I]={}))[e]=[W,f]),d!==t)););return f-=i,f===r||f%r===0&&f/r>=0}}},PSEUDO:function(e,t){var n,i=_.pseudos[e]||_.setFilters[e.toLowerCase()]||o.error("unsupported pseudo: "+e);return i[I]?i(t):i.length>1?(n=[e,e,"",t],_.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,n){for(var r,o=i(e,t),a=o.length;a--;)r=tt.call(e,o[a]),e[r]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:r(function(e){var t=[],n=[],i=S(e.replace(lt,"$1"));return i[I]?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(e){return function(t){return o(e,t).length>0}}),contains:r(function(e){return function(t){return(t.textContent||t.innerText||N(t)).indexOf(e)>-1}}),lang:r(function(e){return ft.test(e||"")||o.error("unsupported lang: "+e),e=e.replace(xt,wt).toLowerCase(),function(t){var n;do if(n=D?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.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===B.activeElement&&(!B.hasFocus||B.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.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!_.pseudos.empty(e)},header:function(e){return yt.test(e.nodeName)},input:function(e){return vt.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"))||t.toLowerCase()===e.type)},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})}};for(x in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})_.pseudos[x]=s(x);for(x in{submit:!0,reset:!0})_.pseudos[x]=l(x);return S=o.compile=function(e,t){var n,r=[],i=[],o=$[e+" "];if(!o){for(t||(t=u(e)),n=t.length;n--;)o=g(t[n]),o[I]?r.push(o):i.push(o);o=$(e,v(i,r))}return o},_.pseudos.nth=_.pseudos.eq,C.prototype=_.filters=_.pseudos,_.setFilters=new C,z.sortStable=I.split("").sort(K).join("")===I,A(),[0,0].sort(K),z.detectDuplicates=j,o}),r(u,[l,c],function(e,n){function r(e){return"undefined"!=typeof e}function i(e){return"string"==typeof e}function o(e){var t,n,r;for(r=v.createElement("div"),t=v.createDocumentFragment(),r.innerHTML=e;n=r.firstChild;)t.appendChild(n);return t}function a(e,t,n){var r;if("string"==typeof t)t=o(t);else if(t.length){for(r=0;r<t.length;r++)a(e,t[r],n);return e}for(r=e.length;r--;)n.call(e[r],t.parentNode?t:t);return e}function s(e,t){return e&&t&&-1!==(" "+e.className+" ").indexOf(" "+t+" ")}function l(e,t){var n;for(e=e||[],"string"==typeof e&&(e=e.split(" ")),t=t||{},n=e.length;n--;)t[e[n]]={};return t}function c(e,t){return new c.fn.init(e,t)}function u(e){var t=arguments,n,r,i;for(r=1;r<t.length;r++){n=t[r];for(i in n)e[i]=n[i]}return e}function d(e){var t=[],n,r;for(n=0,r=e.length;r>n;n++)t[n]=e[n];return t}function f(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===t?"":(""+e).replace(N,"")}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,a,r)===!1))break}else for(i=0;n>i&&(a=e[i],t.call(a,a,r)!==!1);i++);return e}function h(e,n,r){for(var i=[],o=e[n];o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!c(o).is(r));)1===o.nodeType&&i.push(o),o=o[n];return i}function g(e,t,n,r){for(var i=[];e;e=e[n])r&&e.nodeType!==r||e===t||i.push(e);return i}var v=document,y=Array.prototype.push,b=Array.prototype.slice,C=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,x=e.Event,w=l("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"),_=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},N=/^\s*|\s*$/g;return c.fn=c.prototype={constructor:c,selector:"",length:0,init:function(e,t){var n=this,r,a;if(!e)return n;if(e.nodeType)return n.context=n[0]=e,n.length=1,n;if(i(e)){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:C.exec(e),!r)return c(t||document).find(e);if(r[1])for(a=o(e).firstChild;a;)this.add(a),a=a.nextSibling;else{if(a=v.getElementById(r[2]),a.id!==r[2])return n.find(e);n.length=1,n[0]=a}}else this.add(e);return n},toArray:function(){return d(this)},add:function(e){var t=this;return _(e)?y.apply(t,e):e instanceof c?t.add(e.toArray()):y.call(t,e),t},attr:function(e,n){var i=this;if("object"==typeof e)m(e,function(e,t){i.attr(t,e)});else{if(!r(n))return i[0]&&1===i[0].nodeType?i[0].getAttribute(e):t;this.each(function(){1===this.nodeType&&this.setAttribute(e,n)})}return i},css:function(e,n){var i=this;if("object"==typeof e)m(e,function(e,t){i.css(t,e)});else{if(e=e.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}),!r(n))return i[0]?i[0].style[e]:t;"number"!=typeof n||w[e]||(n+="px"),i.each(function(){var t=this.style;"opacity"===e&&this.runtimeStyle&&"undefined"==typeof this.runtimeStyle.opacity&&(t.filter=""===n?"":"alpha(opacity="+100*n+")");try{t[e]=n}catch(r){}})}return i},remove:function(){for(var e=this,t,n=this.length;n--;)t=e[n],x.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(r(e)){for(n=t.length;n--;)t[n].innerHTML=e;return t}return t[0]?t[0].innerHTML:""},text:function(e){var t=this,n;if(r(e)){for(n=t.length;n--;)t[n].innerText=t[0].textContent=e;return t}return t[0]?t[0].innerText||t[0].textContent:""},append:function(){return a(this,arguments,function(e){1===this.nodeType&&this.appendChild(e)})},prepend:function(){return a(this,arguments,function(e){1===this.nodeType&&this.insertBefore(e,this.firstChild)})},before:function(){var e=this;return e[0]&&e[0].parentNode?a(e,arguments,function(e){this.parentNode.insertBefore(e,this.nextSibling)}):e},after:function(){var e=this;return e[0]&&e[0].parentNode?a(e,arguments,function(e){this.parentNode.insertBefore(e,this)}):e},appendTo:function(e){return c(e).append(this),this},addClass:function(e){return this.toggleClass(e,!0)},removeClass:function(e){return this.toggleClass(e,!1)},toggleClass:function(e,t){var n=this;return-1!==e.indexOf(" ")?m(e.split(" "),function(){n.toggleClass(this,t)}):n.each(function(n){var r;s(n,e)!==t&&(r=n.className,t?n.className+=r?" "+e:e:n.className=p((" "+r+" ").replace(" "+e+" "," ")))}),n},hasClass:function(e){return s(this[0],e)},each:function(e){return m(this,e)},on:function(e,t){return this.each(function(){x.bind(this,e,t)})},off:function(e,t){return this.each(function(){x.unbind(this,e,t)})},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},slice:function(){return new c(b.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)},replaceWith:function(e){var t=this;return t[0]&&t[0].parentNode.replaceChild(c(e)[0],t[0]),t},wrap:function(e){return e=c(e)[0],this.each(function(){var t=this,n=e.cloneNode(!1);t.parentNode.insertBefore(n,t),n.appendChild(t)})},unwrap:function(){return this.each(function(){for(var e=this,t=e.firstChild,n;t;)n=t,t=t.nextSibling,e.parentNode.insertBefore(n,e)})},clone:function(){var e=[];return this.each(function(){e.push(this.cloneNode(!0))}),c(e)},find:function(e){var t,n,r=[];for(t=0,n=this.length;n>t;t++)c.find(e,this[t],r);return c(r)},push:y,sort:[].sort,splice:[].splice},u(c,{extend:u,toArray:d,inArray:f,isArray:_,each:m,trim:p,makeMap:l,find:n,expr:n.selectors,unique:n.uniqueSort,text:n.getText,isXMLDoc:n.isXML,contains:n.contains,filter:function(e,t,n){return n&&(e=":not("+e+")"),t=1===t.length?c.find.matchesSelector(t[0],e)?[t[0]]:[]:c.find.matches(e,t)}}),m({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t){return h(e,"parentNode",t)},next:function(e){return g(e,"nextSibling",1)},prev:function(e){return g(e,"previousSibling",1)},nextNodes:function(e){return g(e,"nextSibling")},prevNodes:function(e){return g(e,"previousSibling")},children:function(e){return g(e.firstChild,"nextSibling",1)},contents:function(e){return d(("iframe"===e.nodeName?e.contentDocument||e.contentWindow.document:e).childNodes)}},function(e,t){c.fn[e]=function(n){var r=this,i;if(r.length>1)throw new Error("DomQuery only supports traverse functions on a single node.");return r[0]&&(i=t(r[0],n)),i=c(i),n&&"parentsUntil"!==e?i.filter(n):i}}),c.fn.filter=function(e){return c.filter(e)},c.fn.is=function(e){return!!e&&this.filter(e).length>0},c.fn.init.prototype=c.fn,c}),r(d,[],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="\ufeff";
+for(e=e||{},u=("\\\" \\' \\; \\: ; : "+d).split(" "),l=0;l<u.length;l++)c[u[l]]=d+l,c[d+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=h[e+"-top"+t],r&&(i=h[e+"-right"+t],i&&(o=h[e+"-bottom"+t],o&&(a=h[e+"-left"+t])))){var s=[r,i,o,a];for(l=s.length-1;l--&&s[l]===s[l+1];);l>-1&&n||(h[e+t]=-1==l?s[0]:s.join(" "),delete h[e+"-top"+t],delete h[e+"-right"+t],delete h[e+"-bottom"+t],delete h[e+"-left"+t])}}function u(e){var t=h[e],n;if(t){for(t=t.split(" "),n=t.length;n--;)if(t[n]!==t[0])return!1;return h[e]=t[0],!0}}function d(e,t,n,r){u(t)&&u(n)&&u(r)&&(h[e]=h[t]+" "+h[n]+" "+h[r],delete h[t],delete h[n],delete h[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 m(t,n,r,i,o,a){return(o=o||a)?(o=p(o),"'"+o.replace(/\'/g,"\\'")+"'"):(n=p(n||r||i),!e.allow_script_urls&&/(java|vb)script:/i.test(n.replace(/[\s\r\n]+/,""))?"":(C&&(n=C.call(x,n,"style")),"url('"+n.replace(/\'/g,"\\'")+"')"))}var h={},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,""),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,m),h[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"===h.border&&delete h.border,"none"===h["border-image"]&&delete h["border-image"]}return h},serialize:function(e,n){function r(n){var r,o,a,l;if(r=t.styles[n])for(o=0,a=r.length;a>o;o++)n=r[o],l=e[n],l!==s&&l.length>0&&(i+=(i.length>0?" ":"")+n+": "+l+";")}var i="",o,a;if(n&&t&&t.styles)r("*"),r(n);else for(o in e)a=e[o],a!==s&&a.length>0&&(i+=(i.length>0?" ":"")+o+": "+a+";");return i}}}}),r(f,[],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(p,[],function(){function e(e){return null===e||e===t?"":(""+e).replace(h,"")}function n(e,n){return n?"array"==n&&g(e)?!0:typeof e==n:e!==t}function r(e){var t=[],n,r;for(n=0,r=e.length;r>n;n++)t[n]=e[n];return t}function i(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 o(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 a(e,t){var n=[];return o(e,function(e){n.push(t(e))}),n}function s(e,t){var n=[];return o(e,function(e){(!t||t(e))&&n.push(e)}),n}function l(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],o[a]=c?function(){return i[s].apply(this,arguments)}: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 c(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 u(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 d(e,t,n,r){r=r||this,e&&(n&&(e=e[n]),o(e,function(e,i){return t.call(r,e,i,n)===!1?!1:void d(e,t,n,r)}))}function f(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(t,r){return!t||n(t,"array")?t:a(t.split(r||","),e)}var h=/^\s*|\s*$/g,g=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};return{trim:e,isArray:g,is:n,toArray:r,makeMap:i,each:o,map:a,grep:s,inArray:c,extend:u,create:l,walk:d,createNS:f,resolve:p,explode:m}}),r(m,[p],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[q]=M[W]):(M[V]=M[U],M[W]=M[q]),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[q],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 m(){N(I)}function h(){return N(P)}function g(){return N(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 $(new t(n),{startContainer:M[V],startOffset:M[W],endContainer:M[U],endOffset:M[q],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[q]}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[q]=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[q])>0&&M.collapse(e):M.collapse(e),M.collapsed=x(),M.commonAncestorContainer=n.findCommonAncestor(M[V],M[U])}function N(e){var t,n=0,r=0,i,o,a,s,l,c;if(M[V]==M[U])return E(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 E(e){var t,n,i,o,a,s,l,c,u;if(e!=I&&(t=r()),M[W]==M[q])return t;if(3==M[V].nodeType){if(n=M[V].nodeValue,i=n.substring(M[W],M[q]),e!=O&&(o=M[V],c=M[W],u=M[q]-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[q]-M[W];o&&a>0;)s=o.nextSibling,l=L(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=L(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[q]-i,o=e.nextSibling;o&&a>0;)s=o.nextSibling,l=L(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=L(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[q]-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 L(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[q],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 L(e,t){return t!=I?t==O?n.clone(e,F):e:void e.parentNode.removeChild(e)}function D(){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",q="endOffset",$=e.extend,j=n.nodeIndex;return $(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:m,extractContents:h,cloneContents:g,insertNode:v,surroundContents:y,cloneRange:b,toStringIE:D}),M}return t.prototype.toString=function(){return this.toStringIE()},t}),r(h,[p],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=/[&<>\"\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,c=/[<>&\"\']/g,u=/&(#x|#)?([\w]+);/g,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;"},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,r){return n?(r=parseInt(r,2===n.length?16:10),r>65535?(r-=65536,String.fromCharCode(55296+(r>>10),56320+(1023&r))):d[r]||String.fromCharCode(r)):a[e]||i[e]||t(e)})}};return f}),r(g,[],function(){var e=navigator,t=e.userAgent,n,r,i,o,a,s,l;n=window.opera&&window.opera.buildNumber,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,i=i||o,a=!r&&!o&&/Gecko/.test(t),s=-1!=t.indexOf("Mac"),l=/(iPad|iPhone)/.test(t);var c=!l||t.match(/AppleWebKit\/(\d*)/)[1]>=534;return{opera:n,webkit:r,ie:i,gecko:a,mac:s,iOS:l,contentEditable:c,transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",caretAfter:8!=i,range:window.getSelection&&"Range"in window,documentMode:i?document.documentMode||7:10}}),r(v,[],function(){return function(e,t){function n(t){e.getElementsByTagName("head")[0].appendChild(t)}function r(t,r,s){function l(){for(var e=v.passed,t=e.length;t--;)e[t]();v.status=2,v.passed=[],v.failed=[]}function c(){for(var e=v.failed,t=e.length;t--;)e[t]();v.status=3,v.passed=[],v.failed=[]}function u(){var e=navigator.userAgent.match(/WebKit\/(\d*)/);return!!(e&&e[1]<536)}function d(e,t){e()||((new Date).getTime()-g<a?window.setTimeout(t,0):c())}function f(){d(function(){for(var t=e.styleSheets,n,r=t.length,i;r--;)if(n=t[r],i=n.ownerNode?n.ownerNode:n.owningElement,i&&i.id===m.id)return l(),!0},f)}function p(){d(function(){try{var e=h.sheet.cssRules;return l(),!!e}catch(t){}},p)}var m,h,g,v;if(o[t]?v=o[t]:(v={passed:[],failed:[]},o[t]=v),r&&v.passed.push(r),s&&v.failed.push(s),1!=v.status){if(2==v.status)return void l();if(3==v.status)return void c();if(v.status=1,m=e.createElement("link"),m.rel="stylesheet",m.type="text/css",m.id="u"+i++,m.async=!1,m.defer=!1,g=(new Date).getTime(),"onload"in m&&!u())m.onload=f,m.onerror=c;else{if(navigator.userAgent.indexOf("Firefox")>0)return h=e.createElement("style"),h.textContent='@import "'+t+'"',p(),void n(h);f()}n(m),m.href=t}}var i=0,o={},a;t=t||{},a=t.maxLoadTime||5e3,this.load=r}}),r(y,[c,d,l,f,m,h,g,p,v],function(e,n,r,i,o,a,s,l,c){function u(e,t){var i=this,o;i.doc=e,i.win=window,i.files={},i.counter=0,i.stdMode=!v||e.documentMode>=8,i.boxModel=!v||"CSS1Compat"==e.compatMode||i.stdMode,i.hasOuterHTML="outerHTML"in e.createElement("a"),i.styleSheetLoader=new c(e),this.boundEvents=[],i.settings=t=h({keep_values:!1,hex_colors:1},t),i.schema=t.schema,i.styles=new n({url_converter:t.url_converter,url_converter_scope:t.url_converter_scope},t.schema),i.fixDoc(e),i.events=t.ownEvents?new r(t.proxy):r.Event,o=t.schema?t.schema.getBlockElements():{},i.isBlock=function(e){if(!e)return!1;var t=e.nodeType;return t?!(1!==t||!o[e.nodeName]):!!o[e]}}var d=l.each,f=l.is,p=l.grep,m=l.trim,h=l.extend,g=s.webkit,v=s.ie,y=/^([a-z0-9],?)+$/i,b=/^[ \t\r\n]*$/,C=l.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"," ");return u.prototype={root:null,props:{"for":"htmlFor","class":"className",className:"className",checked:"checked",disabled:"disabled",maxlength:"maxLength",readonly:"readOnly",selected:"selected",value:"value",id:"id",name:"name",type:"type"},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),d(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),r))},getRoot:function(){var e=this;return e.get(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),f(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.get(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=f(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]&&(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 this.run(e,function(e){var n,r=e.parentNode;if(!r)return null;if(t)for(;n=e.firstChild;)!v||3!==n.nodeType||n.nodeValue?r.insertBefore(n,e):e.removeChild(n);return r.removeChild(e)})},setStyle:function(e,t,n){return this.run(e,function(e){var r=this,i,o;if(t)if("string"==typeof t){i=e.style,t=t.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}),"number"!=typeof n||C[t]||(n+="px"),"opacity"===t&&e.runtimeStyle&&"undefined"==typeof e.runtimeStyle.opacity&&(i.filter=""===n?"":"alpha(opacity="+100*n+")"),"float"==t&&(t="cssFloat"in e.style?"cssFloat":"styleFloat");try{i[t]=n}catch(a){}r.settings.update_styles&&e.removeAttribute("data-mce-style")}else for(o in t)r.setStyle(e,o,t[o])})},getStyle:function(e,n,r){if(e=this.get(e)){if(this.doc.defaultView&&r){n=n.replace(/[A-Z]/g,function(e){return"-"+e});try{return this.doc.defaultView.getComputedStyle(e,null).getPropertyValue(n)}catch(i){return null}}return n=n.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}),"float"==n&&(n=v?"styleFloat":"cssFloat"),e.currentStyle&&r?e.currentStyle[n]:e.style?e.style[n]:t}},setStyles:function(e,t){this.setStyle(e,t)},css:function(e,t,n){this.setStyle(e,t,n)},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;if(e&&t)return this.run(e,function(e){var i=r.settings,o=e.getAttribute(t);if(null!==n)switch(t){case"style":if(!f(n,"string"))return void d(n,function(t,n){r.setStyle(e,n,t)});i.keep_values&&(n?e.setAttribute("data-mce-style",n,2):e.removeAttribute("data-mce-style",2)),e.style.cssText=n;break;case"class":e.className=n||"";break;case"src":case"href":i.keep_values&&(i.url_converter&&(n=i.url_converter.call(i.url_converter_scope||r,n,t,e)),r.setAttrib(e,"data-mce-"+t,n,2));break;case"shape":e.setAttribute("data-mce-style",n)}f(n)&&null!==n&&0!==n.length?e.setAttribute(t,""+n,2):e.removeAttribute(t,2),o!=n&&i.onSetAttrib&&i.onSetAttrib({attrElm:e,attrName:t,attrValue:n})})},setAttribs:function(e,t){var n=this;return this.run(e,function(e){d(t,function(t,r){n.setAttrib(e,r,t)})})},getAttrib:function(e,t,n){var r,i=this,o;if(e=i.get(e),!e||1!==e.nodeType)return n===o?!1:n;if(f(n)||(n=""),/^(src|href|style|coords|shape)$/.test(t)&&(r=e.getAttribute("data-mce-"+t)))return r;if(v&&i.props[t]&&(r=e[i.props[t]],r=r&&r.nodeValue?r.nodeValue:r),r||(r=e.getAttribute(t,2)),/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(t))return e[i.props[t]]===!0&&""===r?t:r?t:"";if("FORM"===e.nodeName&&e.getAttributeNode(t))return e.getAttributeNode(t).nodeValue;if("style"===t&&(r=r||e.style.cssText,r&&(r=i.serializeStyle(i.parseStyle(r),e.nodeName),i.settings.keep_values&&e.setAttribute("data-mce-style",r))),g&&"class"===t&&r&&(r=r.replace(/(apple|webkit)\-[a-z\-]+/gi,"")),v)switch(t){case"rowspan":case"colspan":1===r&&(r="");break;case"size":("+0"===r||20===r||0===r)&&(r="");break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":0===r&&(r="");break;case"hspace":-1===r&&(r="");break;case"maxlength":case"tabindex":(32768===r||2147483647===r||"32768"===r)&&(r="");break;case"multiple":case"compact":case"noshade":case"nowrap":return 65535===r?t:n;case"shape":r=r.toLowerCase();break;default:0===t.indexOf("on")&&r&&(r=(""+r).replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1"))}return r!==o&&null!==r&&""!==r?""+r:n},getPos:function(e,t){var n=this,r=0,i=0,o,a=n.doc,s;if(e=n.get(e),t=t||a.body,e){if(t===a.body&&e.getBoundingClientRect)return s=e.getBoundingClientRect(),t=n.boxModel?a.documentElement:a.body,r=s.left+(a.documentElement.scrollLeft||a.body.scrollLeft)-t.clientLeft,i=s.top+(a.documentElement.scrollTop||a.body.scrollTop)-t.clientTop,{x:r,y:i};for(o=e;o&&o!=t&&o.nodeType;)r+=o.offsetLeft||0,i+=o.offsetTop||0,o=o.offsetParent;for(o=e.parentNode;o&&o!=t&&o.nodeType;)r-=o.scrollLeft||0,i-=o.scrollTop||0,o=o.parentNode}return{x:r,y:i}},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!==u.DOM&&n===document){var o=u.DOM.addedStyles;if(o=o||[],o[e])return;o[e]=!0,u.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!==u.DOM&&n===document?void u.DOM.loadCSS(e):(e||(e=""),r=n.getElementsByTagName("head")[0],void d(e.split(","),function(e){var i;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){return this.run(e,function(e){var n;return t?this.hasClass(e,t)?e.className:(n=this.removeClass(e,t),e.className=n=(""!==n?n+" ":"")+t,n):0})},removeClass:function(e,t){var n=this,r;return n.run(e,function(e){var i;return n.hasClass(e,t)?(r||(r=new RegExp("(^|\\s+)"+t+"(\\s+|$)","g")),i=e.className.replace(r," "),i=m(" "!=i?i:""),e.className=i,i||(e.removeAttribute("class"),e.removeAttribute("className")),i):e.className})},hasClass:function(e,t){return e=this.get(e),e&&t?-1!==(" "+e.className+" ").indexOf(" "+t+" "):!1},toggleClass:function(e,n,r){r=r===t?!this.hasClass(e,n):r,this.hasClass(e,n)!==r&&(r?this.addClass(e,n):this.removeClass(e,n))},show:function(e){return this.setStyle(e,"display","block")},hide:function(e){return this.setStyle(e,"display","none")},isHidden:function(e){return e=this.get(e),!e||"none"==e.style.display||"none"==this.getStyle(e,"display")},uniqueId:function(e){return(e?e:"mce_")+this.counter++},setHTML:function(e,t){var n=this;return n.run(e,function(e){if(v){for(;e.firstChild;)e.removeChild(e.firstChild);try{e.innerHTML="<br />"+t,e.removeChild(e.firstChild)}catch(r){var i=n.create("div");i.innerHTML="<br />"+t,d(p(i.childNodes),function(t,n){n&&e.canHaveHTML&&e.appendChild(t)})}}else e.innerHTML=t;return t})},getOuterHTML:function(e){var t,n=this;return(e=n.get(e))?1===e.nodeType&&n.hasOuterHTML?e.outerHTML:(t=(e.ownerDocument||n.doc).createElement("body"),t.appendChild(e.cloneNode(!0)),t.innerHTML):null},setOuterHTML:function(e,t,n){var r=this;return r.run(e,function(e){function i(){var i,o;for(o=n.createElement("body"),o.innerHTML=t,i=o.lastChild;i;)r.insertAfter(i.cloneNode(!0),e),i=i.previousSibling;r.remove(e)}if(1==e.nodeType)if(n=n||e.ownerDocument||r.doc,v)try{1==e.nodeType&&r.hasOuterHTML?e.outerHTML=t:i()}catch(o){i()}else i()})},decode:a.decode,encode:a.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 f(t,"array")&&(e=e.cloneNode(!0)),n&&d(p(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),d(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(l.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=[],d(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,o,a,s,l,c=0;if(e=e.firstChild){s=new i(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(o=n.getAttribs(e),r=o.length;r--;)if(l=o[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 o(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=m(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(l.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(l.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 1!=e.nodeType?null:(t=e.getAttribute("data-mce-contenteditable"),t&&"inherit"!==t?t:"inherit"!==e.contentEditable?e.contentEditable:null)},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},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}},u.DOM=new u(document),u}),r(b,[y,p],function(e,t){function n(){function e(e,t){function n(){o.remove(s),a&&(a.onreadystatechange=a.onload=a=null),t()
+}function i(){"undefined"!=typeof console&&console.log&&console.log("Failed to load: "+e)}var o=r,a,s;s=o.uniqueId(),a=document.createElement("script"),a.id=s,a.type="text/javascript",a.src=e,"onreadystatechange"in a?a.onreadystatechange=function(){/loaded|complete/.test(a.readyState)&&n()}:a.onload=n,a.onerror=i,(document.getElementsByTagName("head")[0]||document.body).appendChild(a)}var t=0,n=1,a=2,s={},l=[],c={},u=[],d=0,f;this.isDone=function(e){return s[e]==a},this.markDone=function(e){s[e]=a},this.add=this.load=function(e,n,r){var i=s[e];i==f&&(l.push(e),s[e]=t),n&&(c[e]||(c[e]=[]),c[e].push({func:n,scope:r||this}))},this.loadQueue=function(e,t){this.loadScripts(l,e,t)},this.loadScripts=function(t,r,l){function p(e){i(c[e],function(e){e.func.call(e.scope)}),c[e]=f}var m;u.push({func:r,scope:l||this}),(m=function(){var r=o(t);t.length=0,i(r,function(t){return s[t]==a?void p(t):void(s[t]!=n&&(s[t]=n,d++,e(t,function(){s[t]=a,d--,p(t),m()})))}),d||(i(u,function(e){e.func.call(e.scope)}),u.length=0)})()}}var r=e.DOM,i=t.each,o=t.grep;return n.ScriptLoader=new n,n}),r(C,[b,p],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,[],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-"))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(w,[p],function(e){function t(e,t){return e?e.split(t||" "):[]}function n(e){function n(e,n,r){function i(e){var t={},n,r;for(n=0,r=e.length;r>n;n++)t[e[n]]={};return t}var o,l,c,u=arguments;for(r=r||[],n=n||"","string"==typeof r&&(r=t(r)),l=3;l<u.length;l++)"string"==typeof u[l]&&(u[l]=t(u[l])),r.push.apply(r,u[l]);for(e=t(e),o=e.length;o--;)c=[].concat(s,t(n)),a[e[o]]={attributes:i(c),attributesOrder:c,children:i(r)}}function i(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={},s,l,c,u,d,f;return r[e]?r[e]:(s=t("id accesskey class dir lang style tabindex title"),l=t("address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul"),c=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&&(s.push.apply(s,t("contenteditable contextmenu draggable dropzone hidden spellcheck translate")),l.push.apply(l,t("article aside details dialog figure header footer hgroup section nav")),c.push.apply(c,t("audio canvas command datalist mark meter output progress time wbr video ruby bdi keygen"))),"html5-strict"!=e&&(s.push("xml:lang"),f=t("acronym applet basefont big font strike tt"),c.push.apply(c,f),o(f,function(e){n(e,"",c)}),d=t("center dir isindex noframes"),l.push.apply(l,d),u=[].concat(l,c),o(d,function(e){n(e,"",u)})),u=u||[].concat(l,c),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",u),n("address dt dd div caption","",u),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","",c),n("blockquote","cite",u),n("ol","reversed start type","li"),n("ul","","li"),n("li","value",u),n("dl","","dt dd"),n("a","href target rel media hreflang type",c),n("q","cite",c),n("ins del","cite datetime",u),n("img","src alt usemap ismap width height"),n("iframe","src name width height",u),n("embed","src type width height"),n("object","data type typemustmatch name usemap form width height",u,"param"),n("param","name value"),n("map","name",u,"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",u),n("th","colspan rowspan headers scope abbr",u),n("form","accept-charset action autocomplete enctype method name novalidate target",u),n("fieldset","disabled form name",u,"legend"),n("label","form for",c),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?u:c),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",u,"li"),n("noscript","",u),"html4"!=e&&(n("wbr"),n("ruby","",c,"rt rp"),n("figcaption","",u),n("mark rt rp summary bdi","",c),n("canvas","width height",u),n("video","src crossorigin poster preload autoplay mediagroup loop muted controls width height",u,"track source"),n("audio","src crossorigin preload autoplay mediagroup loop muted controls",u,"track source"),n("source","src type media"),n("track","kind src srclang label default"),n("datalist","",c,"option"),n("article section nav aside header footer","",u),n("hgroup","","h1 h2 h3 h4 h5 h6"),n("figure","",u,"figcaption"),n("time","datetime",c),n("dialog","open",u),n("command","type label icon disabled checked radiogroup command"),n("output","for form name",c),n("progress","value max",c),n("meter","value min max low high optimum",c),n("details","open",u,"summary"),n("keygen","autofocus challenge disabled form keytype name")),"html5-strict"!=e&&(i("script","language xml:space"),i("style","xml:space"),i("object","declare classid codebase codetype archive standby align border hspace vspace"),i("param","valuetype type"),i("a","charset name rev shape coords"),i("br","clear"),i("applet","codebase archive code object alt name width height align hspace vspace"),i("img","name longdesc align border hspace vspace"),i("iframe","longdesc frameborder marginwidth marginheight scrolling align"),i("font basefont","size color face"),i("input","usemap align"),i("select","onchange"),i("textarea"),i("h1 h2 h3 h4 h5 h6 div p legend caption","align"),i("ul","type compact"),i("li","type"),i("ol dl menu dir","compact"),i("pre","width xml:space"),i("hr","align noshade size width"),i("isindex","prompt"),i("table","summary width frame rules cellspacing cellpadding align bgcolor"),i("col","width align char charoff valign"),i("colgroup","width align char charoff valign"),i("thead","align char charoff valign"),i("tr","align char charoff valign bgcolor"),i("th","axis align char charoff valign nowrap bgcolor width height"),i("form","accept"),i("td","abbr axis scope align char charoff valign nowrap bgcolor width height"),i("tfoot","align char charoff valign"),i("tbody","align char charoff valign"),i("area","nohref"),i("body","background bgcolor text link vlink alink")),"html4"!=e&&(i("input button select textarea","autofocus"),i("input textarea","placeholder"),i("a","download"),i("link script img","crossorigin"),i("iframe","srcdoc sandbox seamless allowfullscreen")),o(t("a form meter progress dfn"),function(e){a[e]&&delete a[e].children[e]}),delete a.caption.children.table,r[e]=a,a)}var r={},i=e.makeMap,o=e.each,a=e.extend,s=e.explode,l=e.inArray;return function(e){function c(t,n,o){var s=e[t];return s?s=i(s,",",i(s.toUpperCase()," ")):(s=r[t],s||(s=i(n," ",i(n.toUpperCase()," ")),s=a(s,o),r[t]=s)),s}function u(e){return new RegExp("^"+e.replace(/([?+*])/g,".$1")+"$")}function d(e){var n,r,o,a,s,c,d,f,p,m,h,g,y,C,x,w,_,N,E,S=/^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)\])?$/,k=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,T=/[*?+]/;if(e)for(e=t(e,","),v["@"]&&(w=v["@"].attributes,_=v["@"].attributesOrder),n=0,r=e.length;r>n;n++)if(s=S.exec(e[n])){if(C=s[1],p=s[2],x=s[3],f=s[5],g={},y=[],c={attributes:g,attributesOrder:y},"#"===C&&(c.paddEmpty=!0),"-"===C&&(c.removeEmpty=!0),"!"===s[4]&&(c.removeEmptyAttrs=!0),w){for(N in w)g[N]=w[N];y.push.apply(y,_)}if(f)for(f=t(f,"|"),o=0,a=f.length;a>o;o++)if(s=k.exec(f[o])){if(d={},h=s[1],m=s[2].replace(/::/g,":"),C=s[3],E=s[4],"!"===h&&(c.attributesRequired=c.attributesRequired||[],c.attributesRequired.push(m),d.required=!0),"-"===h){delete g[m],y.splice(l(y,m),1);continue}C&&("="===C&&(c.attributesDefault=c.attributesDefault||[],c.attributesDefault.push({name:m,value:E}),d.defaultValue=E),":"===C&&(c.attributesForced=c.attributesForced||[],c.attributesForced.push({name:m,value:E}),d.forcedValue=E),"<"===C&&(d.validValues=i(E,"?"))),T.test(m)?(c.attributePatterns=c.attributePatterns||[],d.pattern=u(m),c.attributePatterns.push(d)):(g[m]||y.push(m),g[m]=d)}w||"@"!=p||(w=g,_=y),x&&(c.outputName=p,v[x]=c),T.test(p)?(c.pattern=u(p),b.push(c)):v[p]=c}}function f(e){v={},b=[],d(e),o(x,function(e,t){y[t]=e.children})}function p(e){var n=/^(~)?(.+)$/;e&&(r.text_block_elements=r.block_elements=null,o(t(e,","),function(e){var t=n.exec(e),r="~"===t[1],i=r?"span":"div",s=t[2];if(y[s]=y[i],R[s]=i,r||(S[s.toUpperCase()]={},S[s]={}),!v[s]){var l=v[i];l=a({},l),delete l.removeEmptyAttrs,delete l.removeEmpty,v[s]=l}o(y,function(e,t){e[i]&&(y[t]=e=a({},y[t]),e[s]=e[i])})}))}function m(e){var n=/^([+\-]?)(\w+)\[([^\]]+)\]$/;e&&o(t(e,","),function(e){var r=n.exec(e),i,s;r&&(s=r[1],i=s?y[r[2]]:y[r[2]]={"#comment":{}},i=y[r[2]],o(t(r[3],"|"),function(e){"-"===s?(y[r[2]]=i=a({},y[r[2]]),delete i[e]):i[e]={}}))})}function h(e){var t=v[e],n;if(t)return t;for(n=b.length;n--;)if(t=b[n],t.pattern.test(e))return t}var g=this,v={},y={},b=[],C,x,w,_,N,E,S,k,T,R={},A={};e=e||{},x=n(e.schema),e.verify_html===!1&&(e.valid_elements="*[*]"),e.valid_styles&&(C={},o(e.valid_styles,function(e,t){C[t]=s(e)})),w=c("whitespace_elements","pre script noscript style textarea video audio iframe object"),_=c("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr"),N=c("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr track"),E=c("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls"),k=c("non_empty_elements","td th iframe video audio object script",N),T=c("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"),S=c("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup",T),o((e.special||"script noscript style textarea").split(" "),function(e){A[e]=new RegExp("</"+e+"[^>]*>","gi")}),e.valid_elements?f(e.valid_elements):(o(x,function(e,t){v[t]={attributes:e.attributes,attributesOrder:e.attributesOrder},y[t]=e.children}),"html5"!=e.schema&&o(t("strong/b em/i"),function(e){e=t(e,"/"),v[e[1]].outputName=e[0]}),v.img.attributesDefault=[{name:"alt",value:""}],o(t("ol ul sub sup blockquote span font a table tbody tr strong em b i"),function(e){v[e]&&(v[e].removeEmpty=!0)}),o(t("p h1 h2 h3 h4 h5 h6 th td pre div address caption"),function(e){v[e].paddEmpty=!0}),o(t("span"),function(e){v[e].removeEmptyAttrs=!0})),p(e.custom_elements),m(e.valid_children),d(e.extended_valid_elements),m("+ol[ul|ol],+ul[ul|ol]"),e.invalid_elements&&o(s(e.invalid_elements),function(e){v[e]&&delete v[e]}),h("span")||d("span[!data-mce-type|*]"),g.children=y,g.styles=C,g.getBoolAttrs=function(){return E},g.getBlockElements=function(){return S},g.getTextBlockElements=function(){return T},g.getShortEndedElements=function(){return N},g.getSelfClosingElements=function(){return _},g.getNonEmptyElements=function(){return k},g.getWhiteSpaceElements=function(){return w},g.getSpecialElements=function(){return A},g.isValidChild=function(e,t){var n=y[e];return!(!n||!n[t])},g.isValid=function(e,t){var n,r,i=h(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},g.getElementRule=h,g.getCustomElements=function(){return R},g.addValidElements=d,g.setValidElements=f,g.addCustomElements=p,g.addValidChildren=m,g.elements=v}}),r(_,[w,h,p],function(e,t,n){var r=n.each;return function(i,o){function a(){}var s=this;i=i||{},s.schema=o=o||new e,i.fix_self_closing!==!1&&(i.fix_self_closing=!0),r("comment cdata text start end pi doctype".split(" "),function(e){e&&(s[e]=i[e]||a)}),s.parse=function(e){function r(e){var t,n;for(t=f.length;t--&&f[t].name!==e;);if(t>=0){for(n=f.length-1;n>=t;n--)e=f[n],e.valid&&s.end(e.name);f.length=t}}function a(e,t,n,r,o){var a,s,l=/[\s\u0000-\u001F]+/g;if(t=t.toLowerCase(),n=t in C?t:F(n||r||o||""),w&&!v&&0!==t.indexOf("data-")){if(a=k[t],!a&&T){for(s=T.length;s--&&(a=T[s],!a.pattern.test(t)););-1===s&&(a=null)}if(!a)return;if(a.validValues&&!(n in a.validValues))return}if(W[t]&&!i.allow_script_urls){var c=n.replace(l,"");try{if(c=decodeURIComponent(c),V.test(c))return}catch(u){if(c=unescape(c),V.test(c))return}}p.map[t]=n,p.push({name:t,value:n})}var s=this,l,c=0,u,d,f=[],p,m,h,g,v,y,b,C,x,w,_,N,E,S,k,T,R,A,B,L,D,M,H,P,O,I=0,F=t.decode,z,W=n.makeMap("src,href"),V=/(java|vb)script:/i;for(M=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([A-Za-z0-9\\-\\:\\.]+)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g"),H=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g,b=o.getShortEndedElements(),D=i.self_closing_elements||o.getSelfClosingElements(),C=o.getBoolAttrs(),w=i.validate,y=i.remove_internals,z=i.fix_self_closing,P=o.getSpecialElements();l=M.exec(e);){if(c<l.index&&s.text(F(e.substr(c,l.index-c))),u=l[6])u=u.toLowerCase(),":"===u.charAt(0)&&(u=u.substr(1)),r(u);else if(u=l[7]){if(u=u.toLowerCase(),":"===u.charAt(0)&&(u=u.substr(1)),x=u in b,z&&D[u]&&f.length>0&&f[f.length-1].name===u&&r(u),!w||(_=o.getElementRule(u))){if(N=!0,w&&(k=_.attributes,T=_.attributePatterns),(S=l[8])?(v=-1!==S.indexOf("data-mce-type"),v&&y&&(N=!1),p=[],p.map={},S.replace(H,a)):(p=[],p.map={}),w&&!v){if(R=_.attributesRequired,A=_.attributesDefault,B=_.attributesForced,L=_.removeEmptyAttrs,L&&!p.length&&(N=!1),B)for(m=B.length;m--;)E=B[m],g=E.name,O=E.value,"{$uid}"===O&&(O="mce_"+I++),p.map[g]=O,p.push({name:g,value:O});if(A)for(m=A.length;m--;)E=A[m],g=E.name,g in p.map||(O=E.value,"{$uid}"===O&&(O="mce_"+I++),p.map[g]=O,p.push({name:g,value:O}));if(R){for(m=R.length;m--&&!(R[m]in p.map););-1===m&&(N=!1)}p.map["data-mce-bogus"]&&(N=!1)}N&&s.start(u,p,x)}else N=!1;if(d=P[u]){d.lastIndex=c=l.index+l[0].length,(l=d.exec(e))?(N&&(h=e.substr(c,l.index-c)),c=l.index+l[0].length):(h=e.substr(c),c=e.length),N&&(h.length>0&&s.text(h,!0),s.end(u)),M.lastIndex=c;continue}x||(S&&S.indexOf("/")==S.length-1?N&&s.end(u):f.push({name:u,valid:N}))}else(u=l[1])?(">"===u.charAt(0)&&(u=" "+u),i.allow_conditional_comments||"[if"!==u.substr(0,3)||(u=" "+u),s.comment(u)):(u=l[2])?s.cdata(u):(u=l[3])?s.doctype(u):(u=l[4])&&s.pi(u,l[5]);c=l.index+l[0].length}for(c<e.length&&s.text(F(e.substr(c))),m=f.length-1;m>=0;m--)u=f[m],u.valid&&s.end(u.name)}}}),r(N,[x,w,_,p],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,m,h,g,v,y;for(h=i("tr,td,th,tbody,thead,tfoot,table"),m=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)&&!h[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(m)?o.insert(r,a[0],!0):(o.insert(s,a[0],!0),o.insert(r,s)),o=a[0],(o.isEmpty(m)||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={},m={};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=m[n],r?r.push(e):m[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(L,"")))}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 h(e){var t,n,r;for(t=e.prev;t&&3===t.type;)n=t.value.replace(L,""),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,_,N,E,S,k,T,R,A=[],B,L,D,M,H,P,O,I;if(o=o||{},p={},m={},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]+/,L=/[ \t\r\n]+$/,D=/[ \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(D," "),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,h(b)},doctype:function(e){var t;t=b.append(u("#doctype",10)),t.value=e,h(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&&(E=m[a],E?E.push(r):m[a]=[r]);T[e]&&h(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(L,""),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,b.empty().remove(),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 p){for(E=d[S],C=p[S],_=C.length;_--;)C[_].parent||C.splice(_,1);for(x=0,w=E.length;w>x;x++)E[x](C,S,o)}for(x=0,w=f.length;w>x;x++)if(E=f[x],E.name in m){for(C=m[E.name],_=C.length;_--;)C[_].parent||C.splice(_,1);for(_=0,N=E.callbacks.length;N>_;_++)E.callbacks[_](C,E.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,m;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&&(m=new e("#text",3),m.value="\xa0",i.replace(m))}}),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(E,[h,p],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),'"');r[r.length]=!n||l?">":" />",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," ",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(S,[E,w],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,m,h;if(n)n(e);else{if(s=e.name,l=e.shortEnded,c=e.attributes,a&&c&&c.length>1){for(f=[],f.map={},h=r.getElementRule(e.name),p=0,m=h.attributesOrder.length;m>p;p++)u=h.attributesOrder[p],u in c.map&&(d=c.map[u],f.map[u]=d,f.push({name:u,value:d}));for(p=0,m=c.length;m>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(k,[y,N,h,S,x,w,g,p],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").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.addAttributeFilter("data-mce-expando",function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)}),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;r--;)if(i=e[r],o=i.firstChild?i.firstChild.value:"","script"===t){var a=(i.attr("type")||"text/javascript").replace(/^mce\-/,"");i.attr("type","text/javascript"===a?null:a),o.length>0&&(i.firstChild.value="// <![CDATA[\n"+n(o)+"\n// ]]>")}else 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",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,m,h;return a.ie&&s.select("script,style,select,map").length>0?(h=t.innerHTML,t=t.cloneNode(!1),s.setHTML(t,h)):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)),m=new r(e,d),n.content=m.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(T,[],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(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(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,m;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)):(m=t.childNodes,m.length?(n>=m.length?i.insertAfter(a,m[m.length-1]):t.insertBefore(a,m[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,m,h;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(h=s.childNodes[l],a=p.createControlRange(),a.addElement(h),a.select(),m=e.getRng(),m.item&&h===m.item(0))return}catch(g){}}n(!0),n(),r.select()},this.getRangeAt=n}return e}),r(R,[g],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},metaKeyPressed:function(t){return(e.mac?t.metaKey:t.ctrlKey)&&!t.altKey}}}),r(A,[R,p,g],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;n=t.screenX-k,r=t.screenY-T,H=n*E[2]+B,P=r*E[3]+L,H=5>H?5:H,P=5>P?5:P,(e.modifierPressed(t)||"IMG"==w.nodeName&&E[2]*E[3]!==0)&&(H=Math.round(P/D),P=Math.round(H*D)),C.setStyles(_,{width:H,height:P}),E[2]<0&&_.clientWidth<=H&&C.setStyle(_,"left",R+(B-H)),E[3]<0&&_.clientHeight<=P&&C.setStyle(_,"top",A+(L-P)),M||(i.fire("ObjectResizeStart",{target:w,width:B,height:L}),M=!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))}M=!1,e("width",H),e("height",P),C.unbind(O,"mousemove",a),C.unbind(O,"mouseup",s),I!=O&&(C.unbind(I,"mousemove",a),C.unbind(I,"mouseup",s)),C.remove(_),F&&"TABLE"!=w.nodeName||l(w),i.fire("ObjectResized",{target:w,width:H,height:P}),i.nodeChanged()}function l(e,t,r){var l,u,d,f,p,m=i.getBody();g(),l=C.getPos(e,m),R=l.x,A=l.y,p=e.getBoundingClientRect(),u=p.width||p.right-p.left,d=p.height||p.bottom-p.top,w!=e&&(h(),w=e,H=P=0),f=i.fire("ObjectSelected",{target:e}),o(e)&&!f.isDefaultPrevented()?x(N,function(e,o){function l(t){k=t.screenX,T=t.screenY,B=w.clientWidth,L=w.clientHeight,D=L/B,E=e,_=w.cloneNode(!0),C.addClass(_,"mce-clonedresizable"),_.contentEditable=!1,_.unSelectabe=!0,C.setStyles(_,{left:R,top:A,margin:0}),_.removeAttribute("data-mce-selected"),i.getBody().appendChild(_),C.bind(O,"mousemove",a),C.bind(O,"mouseup",s),I!=O&&(C.bind(I,"mousemove",a),C.bind(I,"mouseup",s))}var c,f;return t?void(o==t&&l(r)):(c=C.get("mceResizeHandle"+o),c?C.show(c):(f=i.getBody(),c=C.add(f,"div",{id:"mceResizeHandle"+o,"data-mce-bogus":!0,"class":"mce-resizehandle",unselectable:!0,style:"cursor:"+o+"-resize; margin:0; padding:0"}),n.ie&&(c.contentEditable=!1)),e.elm||(C.bind(c,"mousedown",function(e){e.stopImmediatePropagation(),e.preventDefault(),l(e)}),e.elm=c),void C.setStyles(c,{left:u*e[0]+R-c.offsetWidth/2,top:d*e[1]+A-c.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;return x(C.select("img[data-mce-selected],hr[data-mce-selected]"),function(e){e.removeAttribute("data-mce-selected")}),n="mousedown"==e.type?e.target:r.getNode(),n=C.getParent(n,F?"table":"table,img,hr"),t(n,i.getBody())&&(v(),t(r.getStart(),n)&&t(r.getEnd(),n)&&(!F||n!=r.getStart()&&"IMG"!==r.getStart().nodeName))?void l(n):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],Math.abs(a-c)<8&&Math.abs(s-u)<8){E=o;break}M=!0,i.getDoc().selection.empty(),l(t,r,S)}function m(e){var t=e.srcElement;if(t!=w){if(h(),0===t.id.indexOf("mceResizeHandle"))return void(e.returnValue=!1);("IMG"==t.nodeName||"TABLE"==t.nodeName)&&(c(),w=t,d(t,"resizestart",p))}}function h(){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(F){t=O.body.createControlRange();try{return t.addElement(e),t.select(),!0}catch(n){}}}function b(){w=_=null,F&&(h(),f(i.getBody(),"controlselect",m))}var C=i.dom,x=t.each,w,_,N,E,S,k,T,R,A,B,L,D,M,H,P,O=i.getDoc(),I=document,F=n.ie&&n.ie<11;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 z=".mce-content-body";return i.contentStyles.push(z+" div.mce-resizehandle {position: absolute;border: 1px solid black;background: #FFF;width: 5px;height: 5px;z-index: 10000}"+z+" .mce-resizehandle:hover {background: #000}"+z+" img[data-mce-selected], hr[data-mce-selected] {outline: 1px solid black;resize: none}"+z+" .mce-clonedresizable {position: absolute;"+(n.gecko?"":"outline: 1px dashed black;")+"opacity: .5;filter: alpha(opacity=50);z-index: 10000}"),i.on("init",function(){F?(i.on("ObjectResized",function(e){"TABLE"!=e.target.nodeName&&(c(),y(e.target))}),d(i.getBody(),"controlselect",m),i.on("mousedown",function(e){S=e})):(v(),n.ie>=11&&(i.on("mouseup",function(e){var t=e.target.nodeName;/^(TABLE|IMG|HR)$/.test(t)&&(i.selection.select(e.target,"TABLE"==t),i.nodeChanged())}),i.dom.bind(i.getBody(),"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 mousedown mouseup ResizeEditor",u),i.on("keydown keyup",function(e){w&&"TABLE"==w.nodeName&&u(e)})}),i.on("remove",g),{isResizable:o,showResizeRect:l,hideResizeRect:c,updateResizeRect:u,controlSelect:y,destroy:b}}}),r(B,[p,f],function(e,t){function n(e){this.walk=function(t,n){function i(e){var t;return t=e[0],3===t.nodeType&&t===l&&c>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===d&&e.length>0&&t===u&&3===t.nodeType&&e.splice(e.length-1,1),e}function o(e,t,n){for(var r=[];e&&e!=n;e=e[t])r.push(e);return r}function a(e,t){do{if(e.parentNode==t)return e;e=e.parentNode}while(e)}function s(e,t,r){var a=r?"nextSibling":"previousSibling";for(h=e,g=h.parentNode;h&&h!=t;h=g)g=h.parentNode,v=o(h==e?h:h[a],a),v.length&&(r||v.reverse(),n(i(v)))}var l=t.startContainer,c=t.startOffset,u=t.endContainer,d=t.endOffset,f,p,m,h,g,v,y;if(y=e.select("td.mce-item-selected,th.mce-item-selected"),y.length>0)return void r(y,function(e){n([e])});if(1==l.nodeType&&l.hasChildNodes()&&(l=l.childNodes[c]),1==u.nodeType&&u.hasChildNodes()&&(u=u.childNodes[Math.min(d-1,u.childNodes.length-1)]),l==u)return n(i([l]));for(f=e.findCommonAncestor(l,u),h=l;h;h=h.parentNode){if(h===u)return s(l,f,!0);if(h===f)break}for(h=u;h;h=h.parentNode){if(h===l)return s(u,f);if(h===f)break}p=a(l,f)||l,m=a(u,f)||u,s(l,p,!0),v=o(p==l?p:p.nextSibling,"nextSibling",m==u?m.nextSibling:m),v.length&&n(i(v)),s(u,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(3===p.nodeType&&p.nodeValue.length>0)return c=p,u=n?p.nodeValue.length:0,void(i=!0);if(e.isBlock(p)||m[p.nodeName.toLowerCase()])return;s=p}o&&s&&(c=s,i=!0,u=0)}var c,u,d,f=e.getRoot(),p,m,h,g;if(c=n[(r?"start":"end")+"Container"],u=n[(r?"start":"end")+"Offset"],g=1==c.nodeType&&u===c.childNodes.length,m=e.schema.getNonEmptyElements(),h=r,1==c.nodeType&&u>c.childNodes.length-1&&(h=!1),9===c.nodeType&&(c=e.getRoot(),u=0),c===f){if(h&&(p=c.childNodes[u>0?u-1:0],p&&(m[p.nodeName]||"TABLE"==p.nodeName)))return;if(c.hasChildNodes()&&(u=Math.min(!h&&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=h?0:p.nodeValue.length,c=p,i=!0;break}if(m[p.nodeName.toLowerCase()]){u=e.nodeIndex(p),c=p.parentNode,"IMG"!=p.nodeName||h||u++,i=!0;break}}while(p=h?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))),h&&!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 r=e.each;return n.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},n}),r(L,[f,T,A,B,g,p],function(e,n,r,i,o,a){function s(e,t,i,o){var a=this;a.dom=e,a.win=t,a.serializer=i,a.editor=o,a.controlSelection=new r(a,o),a.win.getSelection||(a.tridentSel=new n(a))}var l=a.each,c=a.grep,u=a.trim,d=o.ie,f=o.opera;return s.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(){var e=this,t=e.getRng(),n,r,i,o;if(t.duplicate||t.item){if(t.item)return t.item(0);for(i=t.duplicate(),i.collapse(1),n=i.parentElement(),n.ownerDocument!==e.dom.doc&&(n=e.dom.getRoot()),r=o=t.parentElement();o=o.parentNode;)if(o==n){n=r;break}return n}return n=t.startContainer,1==n.nodeType&&n.hasChildNodes()&&(n=n.childNodes[Math.min(n.childNodes.length-1,t.startOffset)]),n&&3==n.nodeType?n.parentNode:n},getEnd:function(){var e=this,t=e.getRng(),n,r;return t.duplicate||t.item?t.item?t.item(0):(t=t.duplicate(),t.collapse(0),n=t.parentElement(),n.ownerDocument!==e.dom.doc&&(n=e.dom.getRoot()),n&&"BODY"==n.nodeName?n.lastChild||n:n):(n=t.endContainer,r=t.endOffset,1==n.nodeType&&n.hasChildNodes()&&(n=n.childNodes[r>0?r-1:r]),n&&3==n.nodeType?n.parentNode:n)},getBookmark:function(e,t){function n(e,t){var n=0;return l(a.select(e),function(e,r){e==t&&(n=r)}),n}function r(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 i(){function e(e,n){var i=e[n?"startContainer":"endContainer"],a=e[n?"startOffset":"endOffset"],s=[],l,c,u=0;if(3==i.nodeType){if(t)for(l=i.previousSibling;l&&3==l.nodeType;l=l.previousSibling)a+=l.nodeValue.length;s.push(a)}else c=i.childNodes,a>=c.length&&c.length&&(u=1,a=Math.max(0,c.length-1)),s.push(o.dom.nodeIndex(c[a],t)+u);for(;i&&i!=r;i=i.parentNode)s.push(o.dom.nodeIndex(i,t));return s}var n=o.getRng(!0),r=a.getRoot(),i={};return i.start=e(n,!0),o.isCollapsed()||(i.end=e(n)),i}var o=this,a=o.dom,s,c,u,d,f,p,m="&#xFEFF;",h;if(2==e)return p=o.getNode(),f=p?p.nodeName:null,"IMG"==f?{name:f,index:n(f,p)}:o.tridentSel?o.tridentSel.getBookmark(e):i();if(e)return{rng:o.getRng()};if(s=o.getRng(),u=a.uniqueId(),d=o.isCollapsed(),h="overflow:hidden;line-height:0px",s.duplicate||s.item){if(s.item)return p=s.item(0),f=p.nodeName,{name:f,index:n(f,p)};c=s.duplicate();try{s.collapse(),s.pasteHTML('<span data-mce-type="bookmark" id="'+u+'_start" style="'+h+'">'+m+"</span>"),d||(c.collapse(!1),s.moveToElementText(c.parentElement()),0===s.compareEndPoints("StartToEnd",c)&&c.move("character",-1),c.pasteHTML('<span data-mce-type="bookmark" id="'+u+'_end" style="'+h+'">'+m+"</span>"))}catch(g){return null}}else{if(p=o.getNode(),f=p.nodeName,"IMG"==f)return{name:f,index:n(f,p)};c=r(s.cloneRange()),d||(c.collapse(!1),c.insertNode(a.create("span",{"data-mce-type":"bookmark",id:u+"_end",style:h},m))),s=r(s),s.collapse(!0),s.insertNode(a.create("span",{"data-mce-type":"bookmark",id:u+"_start",style:h},m))}return o.moveToBookmark({id:u,keep:1}),{id:u}},moveToBookmark:function(e){function t(t){var n=e[t?"start":"end"],r,i,o,l;if(n){for(o=n[0],i=s,r=n.length-1;r>=1;r--){if(l=i.childNodes,n[r]>l.length-1)return;i=l[n[r]]}3===i.nodeType&&(o=Math.min(n[0],i.nodeValue.length)),1===i.nodeType&&(o=Math.min(n[0],i.childNodes.length)),t?a.setStart(i,o):a.setEnd(i,o)}return!0}function n(t){var n=o.get(e.id+"_"+t),r,i,a,s,d=e.keep;if(n&&(r=n.parentNode,"start"==t?(d?(r=n.firstChild,i=1):i=o.nodeIndex(n),u=p=r,m=h=i):(d?(r=n.firstChild,i=1):i=o.nodeIndex(n),p=r,h=i),!d)){for(s=n.previousSibling,a=n.nextSibling,l(c(n.childNodes),function(e){3==e.nodeType&&(e.nodeValue=e.nodeValue.replace(/\uFEFF/g,""))});n=o.get(e.id+"_"+t);)o.remove(n,1);s&&a&&s.nodeType==a.nodeType&&3==s.nodeType&&!f&&(i=s.nodeValue.length,s.appendData(a.nodeValue),o.remove(a),"start"==t?(u=p=s,m=h=i):(p=s,h=i))}}function r(e){return!o.isBlock(e)||e.innerHTML||d||(e.innerHTML='<br data-mce-bogus="1" />'),e}var i=this,o=i.dom,a,s,u,p,m,h;if(e)if(e.start){if(a=o.createRng(),s=o.getRoot(),i.tridentSel)return i.tridentSel.moveToBookmark(e);t(!0)&&t()&&i.setRng(a)}else e.id?(n("start"),n("end"),u&&(a=o.createRng(),a.setStart(r(u),m),a.setEnd(r(p),h),i.setRng(a))):e.name?i.select(o.select(e.name)[e.index]):e.rng&&i.setRng(e.rng)},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.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!d&&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={};l(n.selectorChangedData,function(e,t){l(o,function(n){return i.is(n,t)?(r[t]||(l(e,function(e){e(!0,{node:n,selector:t,parents:o})}),r[t]=e),a[t]=e,!1):void 0})}),l(r,function(e,n){a[n]||(delete r[n],l(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)},_moveEndPoint:function(t,n,r){var i=n,a=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])return void(r?t.setStartBefore(n):"BR"==n.nodeName?t.setEndBefore(n):t.setEndAfter(n));if(o.ie&&o.ie<11&&this.dom.isBlock(n)&&this.dom.isEmpty(n))return void(r?t.setStart(n,0):t.setEnd(n,0))}while(n=r?a.next():a.prev());"BODY"==i.nodeName&&(r?t.setStart(i,0):t.setEnd(i,i.childNodes.length))},destroy:function(){this.win=null,this.controlSelection.destroy()}},s}),r(D,[p],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(M,[f,B,p,D],function(e,t,n,r){return function(i){function o(e){return e.nodeType&&(e=e.nodeName),!!i.schema.getTextBlockElements()[e.toLowerCase()]}function a(e,t){return z.getParents(e,t,z.getRoot())}function s(e){return 1===e.nodeType&&"_mce_caret"===e.id}function l(){d({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"},wrap_links:!1},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},wrap_links:!1},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){nt(n,function(t,n){z.setAttrib(e,n,t)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q",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}]}),nt("p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp".split(/\s/),function(e){d(e,{block:e,remove:"all"})}),d(i.settings.formats)}function c(){i.addShortcut("ctrl+b","bold_desc","Bold"),i.addShortcut("ctrl+i","italic_desc","Italic"),i.addShortcut("ctrl+u","underline_desc","Underline");for(var e=1;6>=e;e++)i.addShortcut("ctrl+"+e,"",["FormatBlock",!1,"h"+e]);i.addShortcut("ctrl+7","",["FormatBlock",!1,"p"]),i.addShortcut("ctrl+8","",["FormatBlock",!1,"div"]),i.addShortcut("ctrl+9","",["FormatBlock",!1,"address"])}function u(e){return e?F[e]:F}function d(e,t){e&&("string"!=typeof e?nt(e,function(e,t){d(t,e)}):(t=t.length?t:[t],nt(t,function(e){e.deep===Q&&(e.deep=!e.selector),e.split===Q&&(e.split=!e.selector||e.inline),e.remove===Q&&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+/))}),F[e]=t))}function f(e){var t;return i.dom.getParent(e,function(e){return t=i.dom.getStyle(e,"text-decoration"),t&&"none"!==t}),t}function p(e){var t;1===e.nodeType&&e.parentNode&&1===e.parentNode.nodeType&&(t=f(e.parentNode),i.dom.getStyle(e,"color")&&t?i.dom.setStyle(e,"text-decoration",t):i.dom.getStyle(e,"textdecoration")===t&&i.dom.setStyle(e,"text-decoration",null))}function m(t,n,r){function a(e,t){t=t||h,e&&(t.onformat&&t.onformat(e,t,n,r),nt(t.styles,function(t,r){z.setStyle(e,r,k(t,n))}),nt(t.attributes,function(t,r){z.setAttrib(e,r,k(t,n))}),nt(t.classes,function(t){t=k(t,n),z.hasClass(e,t)||z.addClass(e,t)}))}function l(){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=i.selection.getRng(),o=n.startContainer,a=n.endContainer;if(o!=a&&0===n.endOffset){var s=t(o,a),l=3==s.nodeType?s.length:s.childNodes.length;n.setEnd(s,l)}return n}function c(e,t,n,r,i){var o=[],a=-1,s,l=-1,c=-1,u;return nt(e.childNodes,function(e,t){return"UL"===e.nodeName||"OL"===e.nodeName?(a=t,s=e,!1):void 0}),nt(e.childNodes,function(e,n){"SPAN"===e.nodeName&&"bookmark"==z.getAttrib(e,"data-mce-type")&&(e.id==t.id+"_start"?l=n:e.id==t.id+"_end"&&(c=n))}),0>=a||a>l&&c>a?(nt(rt(e.childNodes),i),0):(u=z.clone(n,G),nt(rt(e.childNodes),function(e,t){(a>l&&a>t||l>a&&t>a)&&(o.push(e),e.parentNode.removeChild(e))}),a>l?e.insertBefore(u,s):l>a&&e.insertBefore(u,s.nextSibling),r.push(u),nt(o,function(e){u.appendChild(e)}),u)}function d(e,r,i){var l=[],u,d,p=!0;u=h.inline||h.block,d=z.create(u),a(d),V.walk(e,function(e){function m(e){var y,C,x,w,_;return _=p,y=e.nodeName.toLowerCase(),C=e.parentNode.nodeName.toLowerCase(),1===e.nodeType&&Z(e)&&(_=p,p="true"===Z(e),w=!0),N(y,"br")?(g=0,void(h.block&&z.remove(e))):h.wrapper&&v(e,t,n)?void(g=0):p&&!w&&h.block&&!h.wrapper&&o(y)&&U(C,u)?(e=z.rename(e,u),a(e),l.push(e),void(g=0)):h.selector&&(nt(f,function(t){"collapsed"in t&&t.collapsed!==b||z.is(e,t.selector)&&!s(e)&&(a(e,t),x=!0)}),!h.inline||x)?void(g=0):void(!p||w||!U(u,y)||!U(C,u)||!i&&3===e.nodeType&&1===e.nodeValue.length&&65279===e.nodeValue.charCodeAt(0)||s(e)||h.inline&&q(e)?"li"==y&&r?g=c(e,r,d,l,m):(g=0,nt(rt(e.childNodes),m),w&&(p=_),g=0):(g||(g=z.clone(d,G),e.parentNode.insertBefore(g,e),l.push(g)),g.appendChild(e)))}var g;nt(e,m)}),h.wrap_links===!1&&nt(l,function(e){function t(e){var n,r,i;if("A"===e.nodeName){for(r=z.clone(d,G),l.push(r),i=rt(e.childNodes),n=0;n<i.length;n++)r.appendChild(i[n]);e.appendChild(r)}nt(rt(e.childNodes),t)}t(e)}),nt(l,function(e){function r(e){var t=0;return nt(e.childNodes,function(e){T(e)||M(e)||t++}),t}function i(e){var t,n;return nt(e.childNodes,function(e){return 1!=e.nodeType||M(e)||s(e)?void 0:(t=e,G)}),t&&!M(t)&&_(t,h)&&(n=z.clone(t,G),a(n),z.replace(n,e,X),z.remove(t,1)),n||e}var o;if(o=r(e),(l.length>1||!q(e))&&0===o)return void z.remove(e,1);if(h.inline||h.wrapper){if(h.exact||1!==o||(e=i(e)),nt(f,function(t){nt(z.select(t.inline,e),function(e){var r;if(!M(e)){if(t.wrap_links===!1){r=e.parentNode;do if("A"===r.nodeName)return;while(r=r.parentNode)}B(t,n,e,t.exact?e:null)}})}),v(e.parentNode,t,n))return z.remove(e,1),e=0,X;h.merge_with_parents&&z.getParent(e.parentNode,function(r){return v(r,t,n)?(z.remove(e,1),e=0,X):void 0}),e&&h.merge_siblings!==!1&&(e=H(D(e),e),e=H(e,D(e,X)))}})}var f=u(t),h=f[0],g,y,b=!r&&W.isCollapsed();if(h)if(r)r.nodeType?(y=z.createRng(),y.setStartBefore(r),y.setEndAfter(r),d(A(y,f),null,!0)):d(r,null,!0);else if(b&&h.inline&&!z.select("td.mce-item-selected,th.mce-item-selected").length)O("apply",t,n);else{var C=i.selection.getNode();$||!f[0].defaultBlock||z.getParent(C,z.isBlock)||m(f[0].defaultBlock),i.selection.setRng(l()),g=W.getBookmark(),d(A(W.getRng(X),f),g),h.styles&&(h.styles.color||h.styles.textDecoration)&&(it(C,p,"childNodes"),p(C)),W.moveToBookmark(g),I(W.getRng(X)),i.nodeChanged()}}function h(e,t,n){function r(e){var n,i,o,a,s;
+if(1===e.nodeType&&Z(e)&&(a=b,b="true"===Z(e),s=!0),n=rt(e.childNodes),b&&!s)for(i=0,o=p.length;o>i&&!B(p[i],t,e,e);i++);if(m.deep&&n.length){for(i=0,o=n.length;o>i;i++)r(n[i]);s&&(b=a)}}function o(n){var r;return nt(a(n.parentNode).reverse(),function(n){var i;r||"_start"==n.id||"_end"==n.id||(i=v(n,e,t),i&&i.split!==!1&&(r=n))}),r}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=z.clone(o,G),c=0;c<p.length;c++)if(B(p[c],t,a,a)){a=0;break}a&&(s&&a.appendChild(s),l||(l=a),s=a)}!i||m.mixed&&q(e)||(n=z.split(e,n)),s&&(r.parentNode.insertBefore(s,r),l.appendChild(r))}return n}function l(e){return s(o(e),e,e,!0)}function c(e){var t=z.get(e?"_start":"_end"),n=t[e?"firstChild":"lastChild"];return M(n)&&(n=n[e?"firstChild":"lastChild"]),z.remove(t,!0),n}function d(e){var t,n,o=e.commonAncestorContainer;e=A(e,p,X),m.split&&(t=P(e,X),n=P(e),t!=n?(/^(TR|TH|TD)$/.test(t.nodeName)&&t.firstChild&&(t="TR"==t.nodeName?t.firstChild.firstChild||t:t.firstChild||t),o&&/^T(HEAD|BODY|FOOT|R)$/.test(o.nodeName)&&/^(TH|TD)$/.test(n.nodeName)&&n.firstChild&&(n=n.firstChild||n),t=R(t,"span",{id:"_start","data-mce-type":"bookmark"}),n=R(n,"span",{id:"_end","data-mce-type":"bookmark"}),l(t),l(n),t=c(X),n=c()):t=n=l(t),e.startContainer=t.parentNode,e.startOffset=j(t),e.endContainer=n.parentNode,e.endOffset=j(n)+1),V.walk(e,function(e){nt(e,function(e){r(e),1===e.nodeType&&"underline"===i.dom.getStyle(e,"text-decoration")&&e.parentNode&&"underline"===f(e.parentNode)&&B({deep:!1,exact:!0,inline:"span",styles:{textDecoration:"underline"}},null,e)})})}var p=u(e),m=p[0],h,g,b=!0;return n?void(n.nodeType?(g=z.createRng(),g.setStartBefore(n),g.setEndAfter(n),d(g)):d(n)):void(W.isCollapsed()&&m.inline&&!z.select("td.mce-item-selected,th.mce-item-selected").length?O("remove",e,t):(h=W.getBookmark(),d(W.getRng(X)),W.moveToBookmark(h),m.inline&&y(e,t,W.getStart())&&I(W.getRng(!0)),i.nodeChanged()))}function g(e,t,n){var r=u(e);!y(e,t,n)||"toggle"in r[0]&&!r[0].toggle?m(e,t,n):h(e,t,n)}function v(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===Q){for(o in s)if(s.hasOwnProperty(o)){if(a="attributes"===i?z.getAttrib(e,o):E(e,o),r&&!a&&!t.exact)return;if((!r||t.exact)&&!N(a,S(k(s[o],n),o)))return}}else for(l=0;l<s.length;l++)if("attributes"===i?z.getAttrib(e,s[l]):E(e,s[l]))return t;return t}var o=u(t),a,s,l;if(o&&e)for(s=0;s<o.length;s++)if(a=o[s],_(e,a)&&i(e,a,"attributes")&&i(e,a,"styles")){if(l=a.classes)for(s=0;s<l.length;s++)if(!z.hasClass(e,l[s]))return;return a}}function y(e,t,n){function r(n){var r=z.getRoot();return n===r?!1:(n=z.getParent(n,function(n){return n.parentNode===r||!!v(n,e,t,!0)}),v(n,e,t))}var i;return n?r(n):(n=W.getNode(),r(n)?X:(i=W.getStart(),i!=n&&r(i)?X:G))}function b(e,t){var n,r=[],i={};return n=W.getStart(),z.getParent(n,function(n){var o,a;for(o=0;o<e.length;o++)a=e[o],!i[a]&&v(n,a,t)&&(i[a]=!0,r.push(a))},z.getRoot()),r}function C(e){var t=u(e),n,r,i,o,s;if(t)for(n=W.getStart(),r=a(n),o=t.length-1;o>=0;o--){if(s=t[o].selector,!s||t[o].defaultBlock)return X;for(i=r.length-1;i>=0;i--)if(z.is(r[i],s))return X}return G}function x(e,t,n){var r;return J||(J={},r={},i.on("NodeChange",function(e){var t=a(e.element),n={};nt(J,function(e,i){nt(t,function(o){return v(o,i,{},e.similar)?(r[i]||(nt(e,function(e){e(!0,{node:o,format:i,parents:t})}),r[i]=e),n[i]=e,!1):void 0})}),nt(r,function(i,o){n[o]||(delete r[o],nt(i,function(n){n(!1,{node:e.element,format:o,parents:t})}))})})),nt(e.split(","),function(e){J[e]||(J[e]=[],J[e].similar=n),J[e].push(t)}),this}function w(e){return r.getCssText(i,e)}function _(e,t){return N(e,t.inline)?X:N(e,t.block)?X:t.selector?1==e.nodeType&&z.is(e,t.selector):void 0}function N(e,t){return e=e||"",t=t||"",e=""+(e.nodeName||e),t=""+(t.nodeName||t),e.toLowerCase()==t.toLowerCase()}function E(e,t){return S(z.getStyle(e,t),t)}function S(e,t){return("color"==t||"backgroundColor"==t)&&(e=z.toHex(e)),"fontWeight"==t&&700==e&&(e="bold"),"fontFamily"==t&&(e=e.replace(/[\'\"]/g,"").replace(/,\s+/g,",")),""+e}function k(e,t){return"string"!=typeof e?e=e(t):t&&(e=e.replace(/%(\w+)/g,function(e,n){return t[n]||e})),e}function T(e){return e&&3===e.nodeType&&/^([\t \r\n]+|)$/.test(e.nodeValue)}function R(e,t,n){var r=z.create(t,n);return e.parentNode.insertBefore(r,e),r.appendChild(e),r}function A(t,n,r){function s(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=z.getRoot(),3==r.nodeType&&!T(r)&&(e?v>0:b<r.nodeValue.length))return r;for(;;){if(!n[0].block_expand&&q(i))return i;for(o=i[a];o;o=o[a])if(!M(o)&&!T(o)&&!t(o))return i;if(i.parentNode==s){r=i;break}i=i.parentNode}return r}function l(e,t){for(t===Q&&(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&&Z(t))return"false"===Z(t)?t:e;t=t.parentNode}return e}function u(t,n,o){function a(e,t){var n,i,a=e.nodeValue;return"undefined"==typeof t&&(t=o?a.length:0),o?(n=a.lastIndexOf(" ",t),i=a.lastIndexOf("\xa0",t),n=n>i?n:i,-1===n||r||n++):(n=a.indexOf(" ",t),i=a.indexOf("\xa0",t),n=-1!==n&&(-1===i||i>n)?n:i),n}var s,l,c,u;if(3===t.nodeType){if(c=a(t,n),-1!==c)return{container:t,offset:c};u=t}for(s=new e(t,z.getParent(t,q)||i.getBody());l=s[o?"prev":"next"]();)if(3===l.nodeType){if(u=l,c=a(l),-1!==c)return{container:l,offset:c}}else if(q(l))break;return u?(n=o?0:u.length,{container:u,offset:n}):void 0}function d(e,r){var i,o,s,l;for(3==e.nodeType&&0===e.nodeValue.length&&e[r]&&(e=e[r]),i=a(e),o=0;o<i.length;o++)for(s=0;s<n.length;s++)if(l=n[s],!("collapsed"in l&&l.collapsed!==t.collapsed)&&z.is(i[o],l.selector))return i[o];return e}function f(e,t){var r,i=z.getRoot();if(n[0].wrapper||(r=z.getParent(e,n[0].block,i)),r||(r=z.getParent(3==e.nodeType?e.parentNode:e,function(e){return e!=i&&o(e)})),r&&n[0].wrapper&&(r=a(r,"ul,ol").reverse()[0]||r),!r)for(r=e;r[t]&&!q(r[t])&&(r=r[t],!N(r,"br")););return r||e}var p,m,h,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),(M(g.parentNode)||M(g))&&(g=M(g)?g:g.parentNode,g=g.nextSibling||g,3==g.nodeType&&(v=0)),(M(y.parentNode)||M(y))&&(y=M(y)?y:y.parentNode,y=y.previousSibling||y,3==y.nodeType&&(b=y.length)),n[0].inline&&(t.collapsed&&(h=u(g,v,!0),h&&(g=h.container,v=h.offset),h=u(y,b),h&&(y=h.container,b=h.offset)),m=l(y,b),m.node)){for(;m.node&&0===m.offset&&m.node.previousSibling;)m=l(m.node.previousSibling);m.node&&m.offset>0&&3===m.node.nodeType&&" "===m.node.nodeValue.charAt(m.offset-1)&&m.offset>1&&(y=m.node,y.splitText(m.offset-1))}return(n[0].inline||n[0].block_expand)&&(n[0].inline&&3==g.nodeType&&0!==v||(g=s(!0)),n[0].inline&&3==y.nodeType&&b!==y.nodeValue.length||(y=s())),n[0].selector&&n[0].expand!==G&&!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&&(q(g)||(g=s(!0)),q(y)||(y=s()))),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 B(e,t,n,r){var i,o,a;if(!_(n,e))return G;if("all"!=e.remove)for(nt(e.styles,function(e,i){e=S(k(e,t),i),"number"==typeof i&&(i=e,r=0),(!r||N(E(r,i),e))&&z.setStyle(n,i,""),a=1}),a&&""===z.getAttrib(n,"style")&&(n.removeAttribute("style"),n.removeAttribute("data-mce-style")),nt(e.attributes,function(e,i){var o;if(e=k(e,t),"number"==typeof i&&(i=e,r=0),!r||N(z.getAttrib(r,i),e)){if("class"==i&&(e=z.getAttrib(n,i),e&&(o="",nt(e.split(/\s+/),function(e){/mce\w+/.test(e)&&(o+=(o?" ":"")+e)}),o)))return void z.setAttrib(n,i,o);"class"==i&&n.removeAttribute("className"),Y.test(i)&&n.removeAttribute("data-mce-"+i),n.removeAttribute(i)}}),nt(e.classes,function(e){e=k(e,t),(!r||z.hasClass(r,e))&&z.removeClass(n,e)}),o=z.getAttribs(n),i=0;i<o.length;i++)if(0!==o[i].nodeName.indexOf("_"))return G;return"none"!=e.remove?(L(n,e),X):void 0}function L(e,t){function n(e,t,n){return e=D(e,t,n),!e||"BR"==e.nodeName||q(e)}var r=e.parentNode,o;t.block&&($?r==z.getRoot()&&(t.list_block&&N(e,t.list_block)||nt(rt(e.childNodes),function(e){U($,e.nodeName.toLowerCase())?o?o.appendChild(e):(o=R(e,$),z.setAttribs(o,i.settings.forced_root_block_attrs)):o=0})):q(e)&&!q(r)&&(n(e,G)||n(e.firstChild,X,1)||e.insertBefore(z.create("br"),e.firstChild),n(e,X)||n(e.lastChild,G,1)||e.appendChild(z.create("br")))),t.selector&&t.inline&&!N(t.inline,e)||z.remove(e,1)}function D(e,t,n){if(e)for(t=t?"nextSibling":"previousSibling",e=n?e:e[t];e;e=e[t])if(1==e.nodeType||!T(e))return e}function M(e){return e&&1==e.nodeType&&"bookmark"==e.getAttribute("data-mce-type")}function H(e,t){function n(e,t){function n(e){var t={};return nt(z.getAttribs(e),function(n){var r=n.nodeName.toLowerCase();0!==r.indexOf("_")&&"style"!==r&&"data-mce-style"!==r&&(t[r]=z.getAttrib(e,r))}),t}function r(e,t){var n,r;for(r in e)if(e.hasOwnProperty(r)){if(n=t[r],n===Q)return G;if(e[r]!=n)return G;delete t[r]}for(r in t)if(t.hasOwnProperty(r))return G;return X}return e.nodeName!=t.nodeName?G:r(n(e),n(t))&&r(z.parseStyle(z.getAttrib(e,"style")),z.parseStyle(z.getAttrib(t,"style")))?!M(e)&&!M(t):G}function r(e,t){for(i=e;i;i=i[t]){if(3==i.nodeType&&0!==i.nodeValue.length)return e;if(1==i.nodeType&&!M(i))return i}return e}var i,o;if(e&&t&&(e=r(e,"previousSibling"),t=r(t,"nextSibling"),n(e,t))){for(i=e.nextSibling;i&&i!=t;)o=i,i=i.nextSibling,e.appendChild(o);return z.remove(t),nt(rt(t.childNodes),function(t){e.appendChild(t)}),e}return t}function P(t,n){var r,o,a;return r=t[n?"startContainer":"endContainer"],o=t[n?"startOffset":"endOffset"],1==r.nodeType&&(a=r.childNodes.length-1,!n&&o&&o--,r=r.childNodes[o>a?a:o]),3===r.nodeType&&n&&o>=r.nodeValue.length&&(r=new e(r,i.getBody()).next()||r),3!==r.nodeType||n||0!==o||(r=new e(r,i.getBody()).prev()||r),r}function O(t,n,r){function a(e){var t=z.create("span",{id:y,"data-mce-bogus":!0,style:b?"color:red":""});return e&&t.appendChild(i.getDoc().createTextNode(K)),t}function s(e,t){for(;e;){if(3===e.nodeType&&e.nodeValue!==K||e.childNodes.length>1)return!1;t&&1===e.nodeType&&t.push(e),e=e.firstChild}return!0}function l(e){for(;e;){if(e.id===y)return e;e=e.parentNode}}function c(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=W.getRng(!0),s(e)?(t!==!1&&(r.setStartBefore(e),r.setEndBefore(e)),z.remove(e)):(n=c(e),n.nodeValue.charAt(0)===K&&(n=n.deleteData(0,1)),z.remove(e,1)),W.setRng(r);else if(e=l(W.getStart()),!e)for(;e=z.get(y);)d(e,!1)}function f(){var e,t,i,o,s,d,f;e=W.getRng(!0),o=e.startOffset,d=e.startContainer,f=d.nodeValue,t=l(W.getStart()),t&&(i=c(t)),f&&o>0&&o<f.length&&/\w/.test(f.charAt(o))&&/\w/.test(f.charAt(o-1))?(s=W.getBookmark(),e.collapse(!0),e=A(e,u(n)),e=V.split(e),m(n,r,e),W.moveToBookmark(s)):(t&&i.nodeValue===K?m(n,r,t):(t=a(!0),i=t.firstChild,e.insertNode(t),o=1,m(n,r,t)),W.setCursorLocation(i,o))}function p(){var e=W.getRng(!0),t,i,s,l,c,d,f=[],p,m;for(t=e.startContainer,i=e.startOffset,c=t,3==t.nodeType&&((i!=t.nodeValue.length||t.nodeValue===K)&&(l=!0),c=c.parentNode);c;){if(v(c,n,r)){d=c;break}c.nextSibling&&(l=!0),f.push(c),c=c.parentNode}if(d)if(l)s=W.getBookmark(),e.collapse(!0),e=A(e,u(n),!0),e=V.split(e),h(n,r,e),W.moveToBookmark(s);else{for(m=a(),c=m,p=f.length-1;p>=0;p--)c.appendChild(z.clone(f[p],!1)),c=c.firstChild;c.appendChild(z.doc.createTextNode(K)),c=c.firstChild;var g=z.getParent(d,o);g&&z.isEmpty(g)?d.parentNode.replaceChild(m,d):z.insertAfter(m,d),W.setCursorLocation(c,1),z.isEmpty(d)&&z.remove(d)}}function g(){var e;e=l(W.getStart()),e&&!z.isEmpty(e)&&it(e,function(e){1!=e.nodeType||e.id===y||z.isEmpty(e)||z.setAttrib(e,"data-mce-bogus",null)},"childNodes")}var y="_mce_caret",b=i.settings.caret_debug;i._hasCaretEvents||(tt=function(){var e=[],t;if(s(l(W.getStart()),e))for(t=e.length;t--;)z.setAttrib(e[t],"data-mce-bogus","1")},et=function(e){var t=e.keyCode;d(),(8==t||37==t||39==t)&&d(l(W.getStart())),g()},i.on("SetContent",function(e){e.selection&&g()}),i._hasCaretEvents=!0),"apply"==t?f():p()}function I(t){var n=t.startContainer,r=t.startOffset,i,o,a,s,l;if(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,z.getParent(n,z.isBlock)),(r>s.length-1||i)&&o.next(),a=o.current();a;a=o.next())if(3==a.nodeType&&!T(a))return l=z.create("a",null,K),a.parentNode.insertBefore(l,a),t.setStart(a,0),W.setRng(t),void z.remove(l)}var F={},z=i.dom,W=i.selection,V=new t(z),U=i.schema.isValidChild,q=z.isBlock,$=i.settings.forced_root_block,j=z.nodeIndex,K="\ufeff",Y=/^(src|href|style)$/,G=!1,X=!0,J,Q,Z=z.getContentEditable,et,tt,nt=n.each,rt=n.grep,it=n.walk,ot=n.extend;ot(this,{get:u,register:d,apply:m,remove:h,toggle:g,match:y,matchAll:b,matchNode:v,canApply:C,formatChanged:x,getCssText:w}),l(),c(),i.on("BeforeGetContent",function(){tt&&tt()}),i.on("mouseup keydown",function(e){et&&et(e)})}}),r(H,[g,p],function(e,t){var n=t.trim,r;return r=new RegExp(["<span[^>]+data-mce-bogus[^>]+>[\u200b\ufeff]+<\\/span>","<div[^>]+data-mce-bogus[^>]+><\\/div>",'\\s?data-mce-selected="[^"]+"'].join("|"),"gi"),function(t){function i(){return n(t.getContent({format:"raw",no_events:1}).replace(r,""))}function o(e){a.typing=!1,a.add({},e)}var a=this,s=0,l=[],c,u,d=0;return t.on("init",function(){a.add()}),t.on("BeforeExecCommand",function(e){var t=e.command;"Undo"!=t&&"Redo"!=t&&"mceRepaint"!=t&&a.beforeChange()}),t.on("ExecCommand",function(e){var t=e.command;"Undo"!=t&&"Redo"!=t&&"mceRepaint"!=t&&o(e)}),t.on("ObjectResizeStart",function(){a.beforeChange()}),t.on("SaveContent ObjectResized blur",o),t.dom.bind(t.dom.getRoot(),"dragend",o),t.on("KeyUp",function(n){var r=n.keyCode;(r>=33&&36>=r||r>=37&&40>=r||45==r||13==r||n.ctrlKey)&&(o(),t.nodeChanged()),(46==r||8==r||e.mac&&(91==r||93==r))&&t.nodeChanged(),u&&a.typing&&(t.isDirty()||(t.isNotDirty=!l[0]||i()==l[0].content,t.isNotDirty||t.fire("change",{level:l[0],lastLevel:null})),t.fire("TypingUndo"),u=!1,t.nodeChanged())}),t.on("KeyDown",function(e){var t=e.keyCode;return t>=33&&36>=t||t>=37&&40>=t||45==t?void(a.typing&&o(e)):void((16>t||t>20)&&224!=t&&91!=t&&!a.typing&&(a.beforeChange(),a.typing=!0,a.add({},e),u=!0))}),t.on("MouseDown",function(e){a.typing&&o(e)}),t.addShortcut("ctrl+z","","Undo"),t.addShortcut("ctrl+y,ctrl+shift+z","","Redo"),t.on("AddUndo Undo Redo ClearUndos MouseUp",function(e){e.isDefaultPrevented()||t.nodeChanged()}),a={data:l,typing:!1,beforeChange:function(){d||(c=t.selection.getBookmark(2,!0))},add:function(e,n){var r,o=t.settings,a;if(e=e||{},e.content=i(),d||t.removed)return null;if(a=l[s],t.fire("BeforeAddUndo",{level:e,lastLevel:a,originalEvent:n}).isDefaultPrevented())return null;if(a&&a.content==e.content)return null;if(l[s]&&(l[s].beforeBookmark=c),o.custom_undo_redo_levels&&l.length>o.custom_undo_redo_levels){for(r=0;r<l.length-1;r++)l[r]=l[r+1];l.length--,s=l.length}e.bookmark=t.selection.getBookmark(2,!0),s<l.length-1&&(l.length=s+1),l.push(e),s=l.length-1;var u={level:e,lastLevel:a,originalEvent:n};return t.fire("AddUndo",u),s>0&&(t.isNotDirty=!1,t.fire("change",u)),e},undo:function(){var e;return a.typing&&(a.add(),a.typing=!1),s>0&&(e=l[--s],0===s&&(t.isNotDirty=!0),t.setContent(e.content,{format:"raw"}),t.selection.moveToBookmark(e.beforeBookmark),t.fire("undo",{level:e})),e},redo:function(){var e;return s<l.length-1&&(e=l[++s],t.setContent(e.content,{format:"raw"}),t.selection.moveToBookmark(e.bookmark),t.fire("redo",{level:e})),e},clear:function(){l=[],s=0,a.typing=!1,t.fire("ClearUndos")},hasUndo:function(){return s>0||a.typing&&l[0]&&i()!=l[0].content},hasRedo:function(){return s<l.length-1&&!this.typing},transact:function(e){a.beforeChange();try{d++,e()}finally{d--}a.add()}}}}),r(P,[f,B,g],function(e,t,n){var r=n.ie&&n.ie<11;return function(i){function o(o){function f(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){for(var t=e,n=[],r;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 h(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(n.ie&&n.ie<9&&B&&B.firstChild&&B.firstChild==B.lastChild&&"BR"==B.firstChild.tagName&&a.remove(B.firstChild),"LI"==t.nodeName){var f=r(t.firstChild);f&&/^(UL|OL)$/.test(f.nodeName)&&t.insertBefore(a.doc.createTextNode("\xa0"),t.firstChild)}if(l=a.createRng(),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(d[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)?((!L||9>L)&&(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 g(e){var t=l.forced_root_block;t&&t.toLowerCase()===e.tagName.toLowerCase()&&a.setAttribs(e,l.forced_root_block_attrs)}function v(e){var t=R,n,i,o;if(e||"TABLE"==O?(n=a.create(e||F),g(n)):n=B.cloneNode(!1),o=n,l.keep_styles!==!1)do if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U|VAR|CITE|DFN|CODE|MARK|Q|SUP|SUB|SAMP)$/.test(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 y(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 b(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||!f(r)){if(r=r||T,!r.hasChildNodes())return n=a.create(d),g(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),g(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"==e.nodeName?e:P}var n=P.parentNode.nodeName;/^(OL|UL|LI)$/.test(n)&&(F="LI"),M=F?v(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),h(M),c.add()}function x(){for(var t=new e(R,B),n;n=t.next();)if(d[n.nodeName.toLowerCase()]||n.length>0)return!0}function w(){var e,t,n;R&&3==R.nodeType&&A>=R.nodeValue.length&&(r||x()||(e=a.create("br"),S.insertNode(e),S.setStartAfter(e),S.setEndAfter(e),t=!0)),e=a.create("br"),S.insertNode(e),r&&"PRE"==O&&(!L||8>L)&&e.parentNode.insertBefore(a.doc.createTextNode("\r"),e),n=a.create("span",{},"&nbsp;"),e.parentNode.insertBefore(n,e),s.scrollIntoView(n),a.remove(n),t?(S.setStartBefore(e),S.setEndBefore(e)):(S.setStartAfter(e),S.setEndAfter(e)),s.setRng(S),c.add()}function _(e){do 3===e.nodeType&&(e.nodeValue=e.nodeValue.replace(/^[\r\n]+/,"")),e=e.firstChild;while(e)}function N(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 E(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,L,D,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():"",L=a.doc.documentMode,D=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=N(R)){if(c.beforeChange(),!a.isBlock(T)&&T!=a.getRoot())return void((!F||D)&&w());if((F&&!D||!F&&D)&&(R=b(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"==O){if(!F&&D)return void w();if(a.isEmpty(B))return void C()}if("PRE"==O&&l.br_in_pre!==!1){if(!D)return void w()}else if(!F&&!D&&"LI"!=O||F&&D)return void w();F&&B===i.getBody()||(F=F||"P",y()?(M=/^(H[1-6]|PRE|FIGURE)$/.test(O)&&"HGROUP"!=I?v(F):v(),l.end_container_on_empty_block&&f(P)&&a.isEmpty(B)?M=a.split(P,B):a.insertAfter(M,B),h(M)):y(!0)?(M=B.parentNode.insertBefore(v(),B),p(M),h(B)):(k=S.cloneRange(),k.setEndAfter(B),H=k.extractContents(),_(H),M=H.firstChild,a.insertAfter(H,B),m(M),E(B),h(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();i.on("keydown",function(e){13==e.keyCode&&o(e)!==!1&&e.preventDefault()})}}),r(O,[],function(){return function(e){function t(){var t=i.getStart(),s=e.getBody(),l,c,u,d,f,p,m,h=-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",h),y.collapsed||(y=l.duplicate(),y.collapse(!1),f=-1*y.move("character",h)-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){m=t,t=t.nextSibling,r.remove(m);continue}p||(p=r.create(C,e.settings.forced_root_block_attrs),t.parentNode.insertBefore(p,t),g=!0),m=t,t=t.nextSibling,p.appendChild(m)}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(I,[S,g,p],function(e,n,r){var i=r.each,o=r.extend,a=r.map,s=r.inArray,l=r.explode,c=n.gecko,u=n.ie,d=!0,f=!1;return function(r){function p(e,t,n){var r;return e=e.toLowerCase(),(r=N.exec[e])?(r(e,t,n),d):f}function m(e){var t;return e=e.toLowerCase(),(t=N.state[e])?t(e):-1}function h(e){var t;return e=e.toLowerCase(),(t=N.value[e])?t(e):f}function g(e,t){t=t||"exec",i(e,function(e,n){i(n.toLowerCase().split(","),function(n){N[t][n]=e})})}function v(e,n,i){return n===t&&(n=f),i===t&&(i=null),r.getDoc().execCommand(e,n,i)}function y(e){return S.match(e)}function b(e,n){S.toggle(e,n?{value:n}:t),r.nodeChanged()}function C(e){k=_.getBookmark(e)}function x(){_.moveToBookmark(k)}var w=r.dom,_=r.selection,N={state:{},exec:{},value:{}},E=r.settings,S=r.formatter,k;o(this,{execCommand:p,queryCommandState:m,queryCommandValue:h,addCommands:g}),g({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){r.undoManager.add()},"Cut,Copy,Paste":function(e){var t=r.getDoc(),i;try{v(e)}catch(o){i=d}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(_.isCollapsed()){var e=_.getNode();return void("A"==e.tagName&&r.dom.remove(e,!0))}S.remove("link")},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t=e.substring(7);"full"==t&&(t="justify"),i("left,center,right,justify".split(","),function(e){t!=e&&S.remove("align"+e)}),b("align"+t),p("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(e){var t,n;v(e),t=w.getParent(_.getNode(),"ol,ul"),t&&(n=t.parentNode,/^(H[1-6]|P|ADDRESS|PRE)$/.test(n.nodeName)&&(C(),w.split(n,t),x()))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){b(e)},"ForeColor,HiliteColor,FontName":function(e,t,n){b(e,n)},FontSize:function(e,t,n){var r,i;n>=1&&7>=n&&(i=l(E.font_size_style_values),r=l(E.font_size_classes),n=r?r[n-1]||n:i[n-1]||n),b(e,n)},RemoveFormat:function(e){S.remove(e)},mceBlockQuote:function(){b("blockquote")},FormatBlock:function(e,t,n){return b(n||"p")},mceCleanup:function(){var e=_.getBookmark();r.setContent(r.getContent({cleanup:d}),{cleanup:d}),_.moveToBookmark(e)},mceRemoveNode:function(e,t,n){var i=n||_.getNode();i!=r.getBody()&&(C(),r.dom.remove(i,d),x())},mceSelectNodeDepth:function(e,t,n){var i=0;w.getParent(_.getNode(),function(e){return 1==e.nodeType&&i++==n?(_.select(e),f):void 0},r.getBody())},mceSelectNode:function(e,t,n){_.select(n)},mceInsertContent:function(t,n,i){function o(e){function t(e){return r[e]&&3==r[e].nodeType}var n,r,i;return n=_.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}var a,s,l,c,d,f,p,m,h,g,v;/^ | $/.test(i)&&(i=o(i)),a=r.parser,s=new e({},r.schema),v='<span id="mce_marker" data-mce-type="bookmark">&#xFEFF;&#200B;</span>',f={content:i,format:"html",selection:!0},r.fire("BeforeSetContent",f),i=f.content,-1==i.indexOf("{$caret}")&&(i+="{$caret}"),i=i.replace(/\{\$caret\}/,v),m=_.getRng();var y=m.startContainer||(m.parentElement?m.parentElement():null),b=r.getBody();y===b&&_.isCollapsed()&&w.isBlock(b.firstChild)&&w.isEmpty(b.firstChild)&&(m=w.createRng(),m.setStart(b.firstChild,0),m.setEnd(b.firstChild,0),_.setRng(m)),_.isCollapsed()||r.getDoc().execCommand("Delete",!1,null),l=_.getNode();var C={context:l.nodeName.toLowerCase()};if(d=a.parse(i,C),h=d.lastChild,"mce_marker"==h.attr("id"))for(p=h,h=h.prev;h;h=h.walk(!0))if(3==h.type||!w.isBlock(h.name)){h.parent.insert(p,h,"br"===h.name);break}if(C.invalid){for(_.setContent(v),l=_.getNode(),c=r.getBody(),9==l.nodeType?l=h=c:h=l;h!==c;)l=h,h=h.parentNode;i=l==c?c.innerHTML:w.getOuterHTML(l),i=s.serialize(a.parse(i.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return s.serialize(d)}))),l==c?w.setHTML(c,i):w.setOuterHTML(l,i)}else i=s.serialize(d),h=l.firstChild,g=l.lastChild,!h||h===g&&"BR"===h.nodeName?w.setHTML(l,i):_.setContent(i);p=w.get("mce_marker"),_.scrollIntoView(p),m=w.createRng(),h=p.previousSibling,h&&3==h.nodeType?(m.setStart(h,h.nodeValue.length),u||(g=p.nextSibling,g&&3==g.nodeType&&(h.appendData(g.data),g.parentNode.removeChild(g)))):(m.setStartBefore(p),m.setEndBefore(p)),w.remove(p),_.setRng(m),r.fire("SetContent",f),r.addVisual()},mceInsertRawHTML:function(e,t,n){_.setContent("tiny_mce_marker"),r.setContent(r.getContent().replace(/tiny_mce_marker/g,function(){return n}))},mceToggleFormat:function(e,t,n){b(n)},mceSetContent:function(e,t,n){r.setContent(n)},"Indent,Outdent":function(e){var t,n,o;t=E.indentation,n=/[a-z%]+$/i.exec(t),t=parseInt(t,10),m("InsertUnorderedList")||m("InsertOrderedList")?v(e):(E.forced_root_block||w.getParent(_.getNode(),w.isBlock)||S.apply("div"),i(_.getSelectedBlocks(),function(i){if("LI"!=i.nodeName){var a=r.getParam("indent_use_margin",!1)?"margin":"padding";a+="rtl"==w.getStyle(i,"direction",!0)?"Right":"Left","outdent"==e?(o=Math.max(0,parseInt(i.style[a]||0,10)-t),w.setStyle(i,a,o?o+n:"")):(o=parseInt(i.style[a]||0,10)+t+n,w.setStyle(i,a,o))}}))},mceRepaint:function(){if(c)try{C(d),_.getSel()&&_.getSel().selectAllChildren(r.getBody()),_.collapse(d),x()}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,_.getContent({format:"text"})))},mceInsertLink:function(e,t,n){var r;"string"==typeof n&&(n={href:n}),r=w.getParent(_.getNode(),"a"),n.href=n.href.replace(" ","%20"),r&&n.href||S.remove("link"),n.href&&S.apply("link",n,r)},selectAll:function(){var e=w.getRoot(),t;_.getRng().setStart?(t=w.createRng(),t.setStart(e,0),t.setEnd(e,e.childNodes.length),_.setRng(t)):(t=_.getRng(),t.item||(t.moveToElementText(e),t.select()))},"delete":function(){v("Delete");var e=r.getBody();w.isEmpty(e)&&(r.setContent(""),e.firstChild&&w.isBlock(e.firstChild)?r.selection.setCursorLocation(e.firstChild,0):r.selection.setCursorLocation(e,0))},mceNewDocument:function(){r.setContent("")}}),g({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t="align"+e.substring(7),n=_.isCollapsed()?[w.getParent(_.getNode(),w.isBlock)]:_.getSelectedBlocks(),r=a(n,function(e){return!!S.matchNode(e,t)});return-1!==s(r,d)},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){return y(e)},mceBlockQuote:function(){return y("blockquote")},Outdent:function(){var e;if(E.inline_styles){if((e=w.getParent(_.getStart(),w.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return d;if((e=w.getParent(_.getEnd(),w.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return d}return m("InsertUnorderedList")||m("InsertOrderedList")||!E.inline_styles&&!!w.getParent(_.getNode(),"BLOCKQUOTE")},"InsertUnorderedList,InsertOrderedList":function(e){var t=w.getParent(_.getNode(),"ul,ol");return t&&("insertunorderedlist"===e&&"UL"===t.tagName||"insertorderedlist"===e&&"OL"===t.tagName)}},"state"),g({"FontSize,FontName":function(e){var t=0,n;return(n=w.getParent(_.getNode(),"span"))&&(t="fontsize"==e?n.style.fontSize:n.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()),t}},"value"),g({Undo:function(){r.undoManager.undo()},Redo:function(){r.undoManager.redo()}})}}),r(F,[p],function(e){function t(e,i){var o=this,a,s;if(e=r(e),i=o.settings=i||{},/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e))return void(o.source=e);var l=0===e.indexOf("//");0!==e.indexOf("/")||l||(e=(i.base_uri?i.base_uri.protocol||"http":"http")+"://mce_host"+e),/^[\w\-]*:?\/\//.test(e)||(s=i.base_uri?i.base_uri.path:new t(location.href).directory,e=""===i.base_uri.protocol?"//mce_host"+o.toAbsPath(s,e):(i.base_uri&&i.base_uri.protocol||"http")+"://mce_host"+o.toAbsPath(s,e)),e=e.replace(/@@/g,"(mce_at)"),e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e),n(["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],function(t,n){var r=e[n];
+r&&(r=r.replace(/\(mce_at\)/g,"@@")),o[t]=r}),a=i.base_uri,a&&(o.protocol||(o.protocol=a.protocol),o.userInfo||(o.userInfo=a.userInfo),o.port||"mce_host"!==o.host||(o.port=a.port),o.host&&"mce_host"!==o.host||(o.host=a.host),o.source=""),l&&(o.protocol="")}var n=e.each,r=e.trim;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(this.host==e.host&&this.protocol==e.protocol?n:0)},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(z,[p],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],u[d]="function"==typeof f&&c[d]?s(d,f):f;return t.prototype=u,t.constructor=t,t.extend=i,t},t}),r(W,[z],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,m;for(t=t||this._selectors,n=0,r=t.length;r>n;n++){for(a=t[n],o=a.length,m=e,p=0,i=o-1;i>=0;i--)for(c=a[i];m;){if(c.psuedo)for(f=m.parent().items(),u=d=f.length;u--&&f[u]!==m;);for(s=0,l=c.length;l>s;s++)if(!c[s](m,u,d)){s=l+1;break}if(s===l){p++;break}if(i===o-1)break;m=m.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(V,[p,W,z],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(U,[p,y],function(e,t){return{id:function(){return t.DOM.uniqueId()},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)},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(q,[z,p,V,U],function(e,t,n,r){var i=t.makeMap("focusin focusout scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave wheel keydown keypress keyup contextmenu"," "),o={},a="onmousewheel"in document,s=!1,l="mce-",c=e.extend({Statics:{elementIdCache:o,classPrefix:l},isRtl:function(){return c.rtl},classPrefix:l,init:function(e){var n=this,i,o;if(n.settings=e=t.extend({},n.Defaults,e),n._id=e.id||r.id(),n._text=n._name="",n._width=n._height=0,n._aria={role:e.role},i=e.classes)for(i=i.split(" "),i.map={},o=i.length;o--;)i.map[i[o]]=!0;n._classes=i||[],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,i,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=r.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 m=n.left+n.right,h=n.top+n.bottom,g=t.maxWidth||65535,v=t.maxHeight||65535;return e._layoutRect=i={x:t.x||0,y:t.y||0,w:a,h:s,deltaW:m,deltaH:h,contentW:a-m,contentH:s-h,innerW:a-m,innerH:s-h,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={},i},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 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,o,a,s,l;if(t)for("string"==typeof t&&(t=n(t)),s=e.toLowerCase().split(" "),l=s.length;l--;)e=s[l],o=r._bindings,o||(o=r._bindings={}),a=o[e],a||(a=o[e]=[]),a.push(t),i[e]&&(r._nativeEvents||(r._nativeEvents={}),r._nativeEvents[e]=!0,r._rendered&&r.bindPendingEvents());return r},off:function(e,t){var n=this,r,i=n._bindings,o,a,s,l;if(i)if(e)for(s=e.toLowerCase().split(" "),r=s.length;r--;){if(e=s[r],o=i[e],!e){for(a in i)i[a].length=0;return n}if(o)if(t)for(l=o.length;l--;)o[l]===t&&o.splice(l,1);else o.length=0}else n._bindings=[];return n},fire:function(e,t,n){function r(){return!1}function i(){return!0}var o=this,a,s,l,c;if(e=e.toLowerCase(),t=t||{},t.type||(t.type=e),t.control||(t.control=o),t.preventDefault||(t.preventDefault=function(){t.isDefaultPrevented=i},t.stopPropagation=function(){t.isPropagationStopped=i},t.stopImmediatePropagation=function(){t.isImmediatePropagationStopped=i},t.isDefaultPrevented=r,t.isPropagationStopped=r,t.isImmediatePropagationStopped=r),o._bindings&&(l=o._bindings[e]))for(a=0,s=l.length;s>a&&(t.isImmediatePropagationStopped()||l[a].call(o,t)!==!1);a++);if(n!==!1)for(c=o.parent();c&&!t.isPropagationStopped();)c.fire(e,t,!1),c=c.parent();return t},hasEventListeners:function(e){return e in this._bindings},parents:function(e){var t=this,r,i=new n;for(r=t.parent();r;r=r.parent())i.add(r);return e&&(i=i.filter(e)),i},parentsAndSelf:function(e){return new n(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 r.innerHtml(this.getEl(),e),this},getEl:function(e,t){var n,i=e?this._id+"-"+e:this._id;return n=o[i]=(t===!0?null:o[i])||r.get(i)},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(),i,a;if(e.items){var s=e.items().toArray();for(a=s.length;a--;)s[a].remove()}n&&n.items&&(i=[],n.items().each(function(t){t!==e&&i.push(t)}),n.items().set(i),n._lastRect=null),e._eventsRoot&&e._eventsRoot==e&&r.off(t);var l=e.getRoot().controlIdLookup;if(l&&delete l[e._id],delete o[e._id],t&&t.parentNode){var c=t.getElementsByTagName("*");for(a=c.length;a--;)delete o[c[a].id];t.parentNode.removeChild(t)}return e._rendered=!1,e},renderBefore:function(e){var t=this;return e.parentNode.insertBefore(r.createFragment(t.renderHtml()),e),t.postRender(),t},renderTo:function(e){var t=this;return e=e||t.getContainerElm(),e.appendChild(r.createFragment(t.renderHtml())),t.postRender(),t},postRender:function(){var e=this,t=e.settings,n,i,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||r.css(e.getEl(),"display","none"),e.settings.border&&(i=e.borderBox(),r.css(e.getEl(),{"border-top-width":i.top,"border-right-width":i.right,"border-bottom-width":i.bottom,"border-left-width":i.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 i(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 m=d._delegates;m||(m=d._delegates={});for(p in f){if(!f)return!1;"wheel"!==p||s?("mouseenter"===p||"mouseleave"===p?d._hasMouseEnter||(r.on(d.getEl(),"mouseleave",t),r.on(d.getEl(),"mouseover",n),d._hasMouseEnter=1):m[p]||(r.on(d.getEl(),p,e),m[p]=!0),f[p]=!1):a?r.on(o.getEl(),"mousewheel",i):r.on(o.getEl(),"DOMMouseScroll",i)}}},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($,[],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(j,[],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 m(){var e=t(),i=n();"menuitem"==e&&"menubar"==i?v():"button"==e&&r("haspopup")?v({key:"down"}):u(1)}function h(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;return b=document.activeElement,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,m);break;case 27:g();break;case 14:case 13:case 32:t(e,v);break;case 9:h(e)!==!1&&e.preventDefault()}}),y.on("focusin",function(e){b=e.target,C=e.control}),{focusFirst:l}}}),r(K,[q,V,W,$,j,p,U],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(Y,[U],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,m;n.preventDefault(),s=n.button,p=i(),d=n.screenX,f=n.screenY,m=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,background:"red",cursor:m}),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(G,[U,Y],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,m,h,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"),m=d["client"+s]-2*o,m-=n&&r?f["client"+u]:0,h=d["scroll"+s],g=m/h,v={},v[y]=d["offset"+a]+o,v[b]=m,e.css(f,v),v={},v[y]=d["scroll"+a]*g,v[b]=m*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(X,[K,G],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(J,[U],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&&(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(Q,[U],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(Z,[X,J,Q,U],function(e,t,n,r){function i(e){var t;for(t=s.length;t--;)s[t]===e&&s.splice(t,1);for(t=l.length;t--;)l[t]===e&&l.splice(t,1)}var o,a,s=[],l=[],c,u=e.extend({Mixins:[t,n],init:function(e){function t(){var e,t=u.zIndex||65535,n;if(l.length)for(e=0;e<l.length;e++)l[e].modal&&(t++,n=l[e]),l[e].getEl().style.zIndex=t,l[e].zIndex=t,t++;var i=document.getElementById(d.classPrefix+"modal-block");n?r.css(i,"z-index",n.zIndex-1):i&&(i.parentNode.removeChild(i),c=!1),u.currentZIndex=t}function n(e,t){for(;e;){if(e==t)return!0;e=e.parent()}}function i(e){function t(t,n){for(var r,i=0;i<s.length;i++)if(s[i]!=e)for(r=s[i].parent();r&&(r=r.parent());)r==e&&s[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))))}var d=this;d._super(e),d._eventsRoot=d,d.addClass("floatpanel"),e.autohide&&(o||(o=function(e){for(var t=s.length;t--;){var r=s[t],i=r.getParentCtrl(e.target);if(r.settings.autohide){if(i&&(n(i,r)||r.parent()===i))continue;e=r.fire("autohide",{target:e.target}),e.isDefaultPrevented()||r.hide()}}},r.on(document,"click",o)),s.push(d)),e.autofix&&(a||(a=function(){var e;for(e=s.length;e--;)i(s[e])},r.on(window,"scroll",a)),d.on("move",function(){i(this)})),d.on("postrender show",function(e){if(e.control==d){var n,i=d.classPrefix;d.modal&&!c&&(n=r.createFragment('<div id="'+i+'modal-block" class="'+i+"reset "+i+'fade"></div>'),n=n.firstChild,d.getContainerElm().appendChild(n),setTimeout(function(){r.addClass(n,i+"in"),r.addClass(d.getEl(),i+"in")
+},0),c=!0),l.push(d),t()}}),d.on("close hide",function(e){if(e.control==d){for(var n=l.length;n--;)l[n]===d&&l.splice(n,1);t()}}),d.on("show",function(){d.parents().each(function(e){return e._fixed?(d.fixed(!0),!1):void 0})}),e.popover&&(d._preBodyHtml='<div class="'+d.classPrefix+'arrow"></div>',d.addClass("popover").addClass("bottom").addClass(d.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=s.length;t--&&s[t]!==e;);return-1===t&&s.push(e),n},hide:function(){return i(this),this._super()},hideAll:function(){u.hideAll()},close:function(){var e=this;return e.fire("close"),e.remove()},remove:function(){i(this),this._super()},postRender:function(){var e=this;return e.settings.bodyRole&&this.getEl("body").setAttribute("role",e.settings.bodyRole),e._super()}});return u.hideAll=function(){for(var e=s.length;e--;){var t=s[e];t&&t.settings.autohide&&(t.hide(),s.splice(e,1))}},u}),r(et,[Z,X,U,Y],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(tt,[et],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){var r,i=n.callback||function(){};switch(n.buttons){case t.OK_CANCEL:r=[{type:"button",text:"Ok",subtype:"primary",onClick:function(e){e.control.parents()[1].close(),i(!0)}},{type:"button",text:"Cancel",onClick:function(e){e.control.parents()[1].close(),i(!1)}}];break;case t.YES_NO:r=[{type:"button",text:"Ok",subtype:"primary",onClick:function(e){e.control.parents()[1].close(),i(!0)}}];break;case t.YES_NO_CANCEL:r=[{type:"button",text:"Ok",subtype:"primary",onClick:function(e){e.control.parents()[1].close()}}];break;default:r=[{type:"button",text:"Ok",subtype:"primary",onClick:function(e){e.control.parents()[1].close(),i(!0)}}]}return new e({padding:20,x:n.x,y:n.y,minWidth:300,minHeight:100,layout:"flex",pack:"center",align:"center",buttons:r,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(){i(!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(nt,[et,tt],function(e,t){return function(n){function r(){return o.length?o[o.length-1]:void 0}var i=this,o=[];i.windows=o,i.open=function(t,r){var i;return n.editorManager.activeEditor=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);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||{},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(rt,[R,B,x,h,g,p],function(e,t,n,r,i,o){return function(a){function s(e,t){try{a.getDoc().execCommand(e,!1,t)}catch(n){}}function l(){var e=a.getDoc().documentMode;return e?e:6}function c(e){return e.isDefaultPrevented()}function u(){function t(e){var t=new i(function(){});o.each(a.getBody().getElementsByTagName("*"),function(e){"SPAN"==e.tagName&&e.setAttribute("mce-data-marked",1),!e.hasAttribute("data-mce-style")&&e.hasAttribute("style")&&a.dom.setAttrib(e,"style",e.getAttribute("style"))}),t.observe(a.getDoc(),{childList:!0,attributes:!0,subtree:!0,attributeFilter:["style"]}),a.getDoc().execCommand(e?"ForwardDelete":"Delete",!1,null);var n=a.selection.getRng(),r=n.startContainer.parentNode;o.each(t.takeRecords(),function(e){if("style"==e.attributeName){var t=e.target.getAttribute("data-mce-style");t?e.target.setAttribute("style",t):e.target.removeAttribute("style")}o.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),U.remove(e,!0),i&&(n.setStart(i,t),n.setEnd(i,t),a.selection.setRng(n))}})}),t.disconnect(),o.each(a.dom.select("span[mce-data-marked]"),function(e){e.removeAttribute("mce-data-marked")})}var n=a.getDoc(),r="data:text/mce-internal,",i=window.MutationObserver,s;i||(s=!0,i=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("DOMNodeInserted",e),r.removeEventListener("DOMAttrModified",t),r.removeEventListener("DOMSubtreeModified",e,!1)},this.takeRecords=function(){return n}}),a.on("keydown",function(n){var r=n.keyCode==V,i=e.metaKeyPressed(n);if(!c(n)&&(r||n.keyCode==W)){var o=a.selection.getRng(),s=o.startContainer,l=o.startOffset;if(!i&&o.collapsed&&3==s.nodeType&&(r?l<s.data.length:l>0))return;n.preventDefault(),i&&a.selection.getSel().modify("extend",r?"forward":"backward","word"),t(r)}}),a.on("keypress",function(n){c(n)||q.isCollapsed()||!n.charCode||e.metaKeyPressed(n)||(n.preventDefault(),t(!0),a.selection.setContent(String.fromCharCode(n.charCode)))}),a.addCommand("Delete",function(){t()}),a.addCommand("ForwardDelete",function(){t(!0)}),s||(a.on("dragstart",function(e){e.dataTransfer.setData("URL","data:text/mce-internal,"+escape(a.selection.getContent()))}),a.on("drop",function(e){if(!c(e)){var i=e.dataTransfer.getData("URL");if(!i||-1==i.indexOf(r)||!n.caretRangeFromPoint)return;i=unescape(i.substr(r.length)),n.caretRangeFromPoint&&(e.preventDefault(),t(),a.selection.setRng(n.caretRangeFromPoint(e.x,e.y)),a.insertContent(i))}}),a.on("cut",function(e){!c(e)&&e.clipboardData&&(e.preventDefault(),e.clipboardData.clearData(),e.clipboardData.setData("text/html",a.selection.getContent()),e.clipboardData.setData("text/plain",a.selection.getContent({format:"text"})),t(!0))}))}function d(){function e(e){var t=U.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(a.getBody()),t.compareRanges(n,r)}var i=e(n),o=U.createRng();o.selectNode(a.getBody());var s=e(o);return i===s}a.on("keydown",function(e){var t=e.keyCode,r,i;if(!c(e)&&(t==V||t==W)){if(r=a.selection.isCollapsed(),i=a.getBody(),r&&!U.isEmpty(i))return;if(!r&&!n(a.selection.getRng()))return;e.preventDefault(),a.setContent(""),i.firstChild&&U.isBlock(i.firstChild)?a.selection.setCursorLocation(i.firstChild,0):a.selection.setCursorLocation(i,0),a.nodeChanged()}})}function f(){a.on("keydown",function(t){!c(t)&&65==t.keyCode&&e.metaKeyPressed(t)&&(t.preventDefault(),a.execCommand("SelectAll"))})}function p(){a.settings.content_editable||(U.bind(a.getDoc(),"focusin",function(){q.setRng(q.getRng())}),U.bind(a.getDoc(),"mousedown",function(e){e.target==a.getDoc().documentElement&&(a.getBody().focus(),q.setRng(q.getRng()))}))}function m(){a.on("keydown",function(e){if(!c(e)&&e.keyCode===W&&q.isCollapsed()&&0===q.getRng(!0).startOffset){var t=q.getNode(),n=t.previousSibling;if("HR"==t.nodeName)return U.remove(t),void e.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(U.remove(n),e.preventDefault())}})}function h(){window.Range.prototype.getClientRects||a.on("mousedown",function(e){if(!c(e)&&"HTML"===e.target.nodeName){var t=a.getBody();t.blur(),setTimeout(function(){t.focus()},0)}})}function g(){a.on("click",function(e){e=e.target,/^(IMG|HR)$/.test(e.nodeName)&&q.getSel().setBaseAndExtent(e,0,e,1),"A"==e.nodeName&&U.hasClass(e,"mce-item-anchor")&&q.select(e),a.nodeChanged()})}function v(){function e(){var e=U.getAttribs(q.getStart().cloneNode(!1));return function(){var t=q.getStart();t!==a.getBody()&&(U.setAttrib(t,"style",null),z(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}}function t(){return!q.isCollapsed()&&U.getParent(q.getStart(),U.isBlock)!=U.getParent(q.getEnd(),U.isBlock)}a.on("keypress",function(n){var r;return c(n)||8!=n.keyCode&&46!=n.keyCode||!t()?void 0:(r=e(),a.getDoc().execCommand("delete",!1,null),r(),n.preventDefault(),!1)}),U.bind(a.getDoc(),"cut",function(n){var r;!c(n)&&t()&&(r=e(),setTimeout(function(){r()},0))})}function y(){var e,n;a.on("selectionchange",function(){n&&(clearTimeout(n),n=0),n=window.setTimeout(function(){if(!a.removed){var n=q.getRng();e&&t.compareRanges(n,e)||(a.nodeChanged(),e=n)}},50)})}function b(){document.body.setAttribute("role","application")}function C(){a.on("keydown",function(e){if(!c(e)&&e.keyCode===W&&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 x(){l()>7||(s("RespectVisibilityInDesign",!0),a.contentStyles.push(".mceHideBrInPre pre br {display: none}"),U.addClass(a.getBody(),"mceHideBrInPre"),j.addNodeFilter("pre",function(e){for(var t=e.length,r,i,o,a;t--;)for(r=e[t].getAll("br"),i=r.length;i--;)o=r[i],a=o.prev,a&&3===a.type&&"\n"!=a.value.charAt(a.value-1)?a.value+="\n":o.parent.insert(new n("#text",3),o,!0).value="\n"}),K.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 w(){U.bind(a.getBody(),"mouseup",function(){var e,t=q.getNode();"IMG"==t.nodeName&&((e=U.getStyle(t,"width"))&&(U.setAttrib(t,"width",e.replace(/[^0-9%]+/g,"")),U.setStyle(t,"width","")),(e=U.getStyle(t,"height"))&&(U.setAttrib(t,"height",e.replace(/[^0-9%]+/g,"")),U.setStyle(t,"height","")))})}function _(){a.on("keydown",function(t){var n,r,i,o,s;if(!c(t)&&t.keyCode==e.BACKSPACE&&(n=q.getRng(),r=n.startContainer,i=n.startOffset,o=U.getRoot(),s=r,n.collapsed&&0===i)){for(;s&&s.parentNode&&s.parentNode.firstChild==s&&s.parentNode!=o;)s=s.parentNode;"BLOCKQUOTE"===s.tagName&&(a.formatter.toggle("blockquote",null,s),n=U.createRng(),n.setStart(r,0),n.setEnd(r,0),q.setRng(n))}})}function N(){function e(){a._refreshContentEditable(),s("StyleWithCSS",!1),s("enableInlineTableEditing",!1),$.object_resizing||s("enableObjectResizing",!1)}$.readonly||a.on("BeforeExecCommand MouseDown",e)}function E(){function e(){z(U.select("a"),function(e){var t=e.parentNode,n=U.getRoot();if(t.lastChild===e){for(;t&&!U.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}U.add(t,"br",{"data-mce-bogus":1})}})}a.on("SetContent ExecCommand",function(t){("setcontent"==t.type||"mceInsertLink"===t.command)&&e()})}function S(){$.forced_root_block&&a.on("init",function(){s("DefaultParagraphSeparator",$.forced_root_block)})}function k(){a.on("Undo Redo SetContent",function(e){e.initial||a.execCommand("mceRepaint")})}function T(){a.on("keydown",function(e){var t;c(e)||e.keyCode!=W||(t=a.getDoc().selection.createRange(),t&&t.item&&(e.preventDefault(),a.undoManager.beforeChange(),U.remove(t.item(0)),a.undoManager.add()))})}function R(){var e;l()>=10&&(e="",z("p div h1 h2 h3 h4 h5 h6".split(" "),function(t,n){e+=(n>0?",":"")+t+":empty"}),a.contentStyles.push(e+"{padding-right: 1px !important}"))}function A(){l()<9&&(j.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)}),K.addNodeFilter("noscript",function(e){for(var t=e.length,i,o,a;t--;)i=e[t],o=e[t].firstChild,o?o.value=r.decode(o.value):(a=i.attributes.map["data-mce-innertext"],a&&(i.attr("data-mce-innertext",null),o=new n("#text",3),o.value=a,o.raw=!0,i.append(o)))}))}function B(){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(),U.unbind(r,"mouseup",n),U.unbind(r,"mousemove",t),a=o=0}var r=U.doc,i=r.body,o,a,s;r.documentElement.unselectable=!0,U.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&&(U.bind(r,"mouseup",n),U.bind(r,"mousemove",t),U.getRoot().focus(),a.select())}})}function L(){a.on("keyup focusin mouseup",function(t){65==t.keyCode&&e.metaKeyPressed(t)||q.normalize()},!0)}function D(){a.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")}function M(){a.inline||a.on("keydown",function(){document.activeElement==document.body&&a.getWin().focus()})}function H(){a.inline||(a.contentStyles.push("body {min-height: 150px}"),a.on("click",function(e){"HTML"==e.target.nodeName&&(a.getBody().focus(),a.selection.normalize(),a.nodeChanged())}))}function P(){i.mac&&a.on("keydown",function(t){!e.metaKeyPressed(t)||37!=t.keyCode&&39!=t.keyCode||(t.preventDefault(),a.selection.getSel().modify("move",37==t.keyCode?"backward":"forward","word"))})}function O(){s("AutoUrlDetect",!1)}function I(){a.inline||a.on("focus blur",function(){var e=a.dom.create("br");a.getBody().appendChild(e),e.parentNode.removeChild(e)},!0)}function F(){a.on("click",function(e){var t=e.target;do if("A"===t.tagName)return void e.preventDefault();while(t=t.parentNode)}),a.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")}var z=o.each,W=e.BACKSPACE,V=e.DELETE,U=a.dom,q=a.selection,$=a.settings,j=a.parser,K=a.serializer,Y=i.gecko,G=i.ie,X=i.webkit;C(),_(),d(),L(),X&&(u(),p(),g(),S(),i.iOS?(y(),M(),H(),F()):f()),G&&i.ie<11&&(m(),b(),x(),w(),T(),R(),A(),B()),i.ie>=11&&(H(),I()),i.ie&&(f(),O()),Y&&(m(),h(),v(),N(),E(),k(),D(),P())}}),r(it,[p],function(e){function t(){return!1}function n(){return!0}var r="__bindings",i=e.makeMap("focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave keydown keypress keyup contextmenu dragstart dragend dragover draggesture dragdrop drop drag"," ");return{fire:function(e,i,o){var a=this,s,l,c,u,d;if(e=e.toLowerCase(),i=i||{},i.type=e,!a.removed||"remove"===e){if(i.target||(i.target=a),i.preventDefault||(i.preventDefault=function(){i.isDefaultPrevented=n},i.stopPropagation=function(){i.isPropagationStopped=n},i.stopImmediatePropagation=function(){i.isImmediatePropagationStopped=n},i.isDefaultPrevented=t,i.isPropagationStopped=t,i.isImmediatePropagationStopped=t),a[r]&&(s=a[r][e]))for(l=0,c=s.length;c>l&&(s[l]=u=s[l],!i.isImmediatePropagationStopped());l++)if(u.call(a,i)===!1)return i.preventDefault(),i;if(o!==!1&&a.parent)for(d=a.parent();d&&!i.isPropagationStopped();)d.fire(e,i,!1),d=d.parent();return i}},on:function(e,t,n){var o=this,a,s,l,c;if(t===!1&&(t=function(){return!1}),t)for(l=e.toLowerCase().split(" "),c=l.length;c--;)e=l[c],a=o[r],a||(a=o[r]={}),s=a[e],s||(s=a[e]=[],o.bindNative&&i[e]&&o.bindNative(e)),n?s.unshift(t):s.push(t);return o},off:function(e,t){var n=this,o,a=n[r],s,l,c,u;if(a)if(e)for(c=e.toLowerCase().split(" "),o=c.length;o--;){if(e=c[o],s=a[e],!e){for(l in a)a[e].length=0;return n}if(s){if(t)for(u=s.length;u--;)s[u]===t&&s.splice(u,1);else s.length=0;!s.length&&n.unbindNative&&i[e]&&(n.unbindNative(e),delete a[e])}}else{if(n.unbindNative)for(e in a)n.unbindNative(e);n[r]=[]}return n},hasEventListeners:function(e){var t=this[r];return e=e.toLowerCase(),!(!t||!t[e]||0===t[e].length)}}}),r(ot,[p,g],function(e,t){var n=e.each,r=e.explode,i={f9:120,f10:121,f11:122};return function(o){var a=this,s={};o.on("keyup keypress keydown",function(e){(e.altKey||e.ctrlKey||e.metaKey)&&n(s,function(n){var r=t.mac?e.metaKey:e.ctrlKey;if(n.ctrl==r&&n.alt==e.altKey&&n.shift==e.shiftKey)return e.keyCode==n.keyCode||e.charCode&&e.charCode==n.charCode?(e.preventDefault(),"keydown"==e.type&&n.func.call(n.scope),!0):void 0})}),a.add=function(t,a,l,c){var u;return u=l,"string"==typeof l?l=function(){o.execCommand(u,!1,null)}:e.isArray(u)&&(l=function(){o.execCommand(u[0],u[1],u[2])}),n(r(t.toLowerCase()),function(e){var t={func:l,scope:c||o,desc:o.translate(a),alt:!1,ctrl:!1,shift:!1};n(r(e,"+"),function(e){switch(e){case"alt":case"ctrl":case"shift":t[e]=!0;break;default:t.charCode=e.charCodeAt(0),t.keyCode=i[e]||e.toUpperCase().charCodeAt(0)}}),s[(t.ctrl?"ctrl":"")+","+(t.alt?"alt":"")+","+(t.shift?"shift":"")+","+t.keyCode]=t}),!0}}}),r(at,[y,C,x,k,S,L,M,H,P,O,I,F,b,l,nt,w,N,rt,g,p,it,ot],function(e,n,r,i,o,a,s,l,c,u,d,f,p,m,h,g,v,y,b,C,x,w){function _(e,t){return"selectionchange"==t?e.getDoc():!e.inline&&/^mouse|click|contextmenu|drop/.test(t)?e.getDoc():e.getBody()}function N(e,t,r){var i=this,o,a;o=i.documentBaseUrl=r.documentBaseURL,a=r.baseURI,i.settings=t=T({id:e,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:o,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,ul,li,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,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",validate:!0,entity_encoding:"named",url_converter:i.convertURL,url_converter_scope:i,ie7_compat:!0},t),n.language=t.language||"en",n.languageLoad=t.language_load,n.baseURL=r.baseURL,i.id=t.id=e,i.isNotDirty=!0,i.plugins={},i.documentBaseURI=new f(t.document_base_url||o,{base_uri:a}),i.baseURI=a,i.contentCSS=[],i.contentStyles=[],i.shortcuts=new w(i),i.execCommands={},i.queryStateCommands={},i.queryValueCommands={},i.loadedCSS={},i.suffix=r.suffix,i.editorManager=r,i.inline=t.inline,r.fire("SetupEditor",i),i.execCallback("setup",i)}var E=e.DOM,S=n.ThemeManager,k=n.PluginManager,T=C.extend,R=C.each,A=C.explode,B=C.inArray,L=C.trim,D=C.resolve,M=m.Event,H=b.gecko,P=b.ie;return N.prototype={render:function(){function e(){E.unbind(window,"ready",e),n.render()}function t(){var e=p.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)}C.isArray(r.plugins)&&(r.plugins=r.plugins.join(" ")),R(r.external_plugins,function(e,t){k.load(t,e),r.plugins+=" "+t}),R(r.plugins.split(/[ ,]/),function(e){if(e=L(e),e&&!k.urls[e])if("-"==e.charAt(0)){e=e.substr(1,e.length);var t=k.dependencies(e);R(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"};e=k.createUrl(t,e),k.load(e.resource,e)})}else k.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(!M.domLoaded)return void E.bind(window,"ready",e);if(n.getElement()&&b.contentEditable){r.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility="hidden");var a=n.getElement().form||E.getParent(i,"form");a&&(n.formElement=a,r.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(E.insertAfter(E.create("input",{type:"hidden",name:i}),i),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},E.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 h(n),"xml"==r.encoding&&n.on("GetContent",function(e){e.save&&(e.content=E.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=k.get(n),i,o;i=k.urls[n]||t.documentBaseUrl.replace(/\/$/,""),n=L(n),r&&-1===B(h,n)&&(R(k.dependencies(n),function(t){e(t)}),o=new r(t,i),t.plugins[n]=o,o.init&&(o.init(t,i),h.push(n)))}var t=this,n=t.settings,r=t.getElement(),i,o,a,s,l,c,u,d,f,p,m,h=[];if(t.rtl=this.editorManager.i18n.rtl,t.editorManager.add(t),n.aria_label=n.aria_label||E.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.theme=n.theme),R(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||(E.setStyles(l.sizeContainer||l.editorContainer,{wi2dth:i,h2eight:o}),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&&R(A(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()+'" />'),!b.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" />',m=0;m<t.contentCSS.length;m++){var g=t.contentCSS[m];t.iframeHTML+='<link type="text/css" rel="stylesheet" href="'+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]||""),t.iframeHTML+='</head><body id="'+d+'" class="mce-content-body '+f+'" onload="window.parent.tinymce.get(\''+t.id+"').fire('load');\"><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);})()';if(document.domain!=location.hostname&&(u=v),s=E.add(l.iframeContainer,"iframe",{id:t.id+"_ifr",src:u||'javascript:""',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"}}),P)try{t.getDoc()}catch(y){s.src=u=v}t.contentAreaContainer=l.iframeContainer,l.editorContainer&&(E.get(l.editorContainer).style.display=t.orgDisplay),E.get(t.id).style.display="none",E.setAttrib(t.id,"aria-hidden",!0),u||t.initContentBody(),r=s=l=null},initContentBody:function(t){var n=this,o=n.settings,f=E.get(n.id),p=n.getDoc(),m,h;o.inline||(n.getElement().style.visibility=n.orgVisibility),t||o.content_editable||(p.open(),p.write(n.iframeHTML),p.close()),o.content_editable&&(n.on("remove",function(){var e=this.getBody();E.removeClass(e,"mce-content-body"),E.removeClass(e,"mce-edit-focus"),E.setAttrib(e,"contentEditable",null)}),E.addClass(f,"mce-content-body"),n.contentDocument=p=o.content_document||document,n.contentWindow=o.content_window||window,n.bodyElement=f,o.content_document=o.content_window=null,o.root_name=f.nodeName.toLowerCase()),m=n.getBody(),m.disabled=!0,o.readonly||(n.inline&&"static"==E.getStyle(m,"position",!0)&&(m.style.position="relative"),m.contentEditable=n.getParam("content_editable_state",!0)),m.disabled=!1,n.schema=new g(o),n.dom=new e(p,{keep_values:!0,url_converter:n.convertURL,url_converter_scope:n,hex_colors:o.force_hex_style_colors,class_filter:o.class_filter,update_styles:!0,root_element:o.content_editable?n.id:null,collect:o.content_editable,schema:n.schema,onSetAttrib:function(e){n.fire("SetAttrib",e)}}),n.parser=new v(o,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?i.attr(s,o.serializeStyle(o.parseStyle(a),i.name)):"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")||"text/javascript"))}),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,i,o=n.schema.getNonEmptyElements();t--;)i=e[t],i.isEmpty(o)&&(i.empty().append(new r("br",1)).shortEnded=!0)}),n.serializer=new i(o,n),n.selection=new a(n.dom,n.getWin(),n.serializer,n),n.formatter=new s(n),n.undoManager=new l(n),n.forceBlocks=new u(n),n.enterKey=new c(n),n.editorCommands=new d(n),n.fire("PreInit"),o.browser_spellcheck||o.gecko_spellcheck||(p.body.spellcheck=!1,E.setAttrib(m,"spellcheck","false")),n.fire("PostRender"),n.quirks=y(n),o.directionality&&(m.dir=o.directionality),o.nowrap&&(m.style.whiteSpace="nowrap"),o.protect&&n.on("BeforeSetContent",function(e){R(o.protect,function(t){e.content=e.content.replace(t,function(e){return"<!--mce:protected "+escape(e)+"-->"})})}),n.on("SetContent",function(){n.addVisual(n.getBody())}),o.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,R(n._pendingNativeEvents,function(e){n.dom.bind(_(n,e),e,function(e){n.fire(e.type,e)})}),n.fire("init"),n.focus(!0),n.nodeChanged({initial:!0}),n.execCallback("init_instance_callback",n),n.contentStyles.length>0&&(h="",R(n.contentStyles,function(e){h+=e+"\r\n"
+}),n.dom.addStyle(h)),R(n.contentCSS,function(e){n.loadedCSS[e]||(n.dom.loadCSS(e),n.loadedCSS[e]=!0)}),o.auto_focus&&setTimeout(function(){var e=n.editorManager.get(o.auto_focus);e.selection.select(e.getBody(),1),e.selection.collapse(1),e.getBody().focus(),e.getWin().focus()},100),f=p=m=null},focus:function(e){var t,n=this,r=n.selection,i=n.settings.content_editable,o,a,s=n.getDoc(),l;if(!e){if(o=r.getRng(),o.item&&(a=o.item(0)),n._refreshContentEditable(),i||(b.opera||n.getBody().focus(),n.getWin().focus()),H||i){if(l=n.getBody(),l.setActive)try{l.setActive()}catch(c){l.focus()}else l.focus();i&&r.normalize()}a&&a.ownerDocument==s&&(o=s.body.createControlRange(),o.addElement(a),o.select())}n.editorManager.activeEditor!=n&&((t=n.editorManager.activeEditor)&&t.fire("deactivate",{relatedTarget:n}),n.fire("activate",{relatedTarget:t})),n.editorManager.activeEditor=n},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?D(r):0,n=D(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?R(r.split(r.indexOf("=")>0?/[;,](?![^=;,]*(?:[;,]|$))/:","),function(e){e=e.split("="),i[L(e[0])]=L(e.length>1?e[1]:e)}):i=r,i):r},nodeChanged:function(){var e=this,t=e.selection,n,r,i;!e.initialized||e.settings.disable_nodechange||e.settings.readonly||(i=e.getBody(),n=t.getStart()||i,n=P&&n.ownerDocument!=e.getDoc()?e.getBody():n,"IMG"==n.nodeName&&t.isCollapsed()&&(n=n.parentNode),r=[],e.dom.getParent(n,function(e){return e===i?!0:void r.push(e)}),e.fire("NodeChange",{element:n,parents:r}))},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.execCommands[e]={func:t,scope:n||this}},addQueryStateHandler:function(e,t,n){this.queryStateCommands[e]={func:t,scope:n||this}},addQueryValueHandler:function(e,t,n){this.queryValueCommands[e]={func:t,scope:n||this}},addShortcut:function(e,t,n,r){this.shortcuts.add(e,t,n,r)},execCommand:function(e,t,n,r){var i=this,o=0,a;return/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(e)||r&&r.skip_focus||i.focus(),r=T({},r),r=i.fire("BeforeExecCommand",{command:e,ui:t,value:n}),r.isDefaultPrevented()?!1:(a=i.execCommands[e])&&a.func.call(a.scope,t,n)!==!0?(i.fire("ExecCommand",{command:e,ui:t,value:n}),!0):(R(i.plugins,function(r){return r.execCommand&&r.execCommand(e,t,n)?(i.fire("ExecCommand",{command:e,ui:t,value:n}),o=!0,!1):void 0}),o?o:i.theme&&i.theme.execCommand&&i.theme.execCommand(e,t,n)?(i.fire("ExecCommand",{command:e,ui:t,value:n}),!0):i.editorCommands.execCommand(e,t,n)?(i.fire("ExecCommand",{command:e,ui:t,value:n}),!0):(i.getDoc().execCommand(e,t,n),void i.fire("ExecCommand",{command:e,ui:t,value:n})))},queryCommandState:function(e){var t=this,n,r;if(!t._isHidden()){if((n=t.queryStateCommands[e])&&(r=n.func.call(n.scope),r!==!0))return r;if(r=t.editorCommands.queryCommandState(e),-1!==r)return r;try{return t.getDoc().queryCommandState(e)}catch(i){}}},queryCommandValue:function(e){var n=this,r,i;if(!n._isHidden()){if((r=n.queryValueCommands[e])&&(i=r.func.call(r.scope),i!==!0))return i;if(i=n.editorCommands.queryCommandValue(e),i!==t)return i;try{return n.getDoc().queryCommandValue(e)}catch(o){}}},show:function(){var e=this;E.show(e.getContainer()),E.hide(e.id),e.load(),e.fire("show")},hide:function(){var e=this,t=e.getDoc();P&&t&&!e.inline&&t.execCommand("SelectAll"),e.save(),E.hide(e.getContainer()),E.setStyle(e.id,"display",e.orgDisplay),e.fire("hide")},isHidden:function(){return!E.isHidden(this.id)},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=E.getParent(t.id,"form"))&&R(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=P&&11>P?"":'<br data-mce-bogus="1">',e=n.dom.createHTML(i,n.settings.forced_root_block_attrs,e)):P||(e='<br data-mce-bogus="1">'),r.innerHTML=e,n.fire("SetContent",t)):("raw"!==t.format&&(e=new o({},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),e.content="text"!=e.format?L(n):n,e.no_events||t.fire("GetContent",e),e.content},insertContent:function(e){this.execCommand("mceInsertContent",!1,e)},isDirty:function(){return!this.isNotDirty},getContainer:function(){var e=this;return e.container||(e.container=E.get(e.editorContainer||e.id+"_parent")),e.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return E.get(this.settings.content_element||this.id)},getWin:function(){var e=this,t;return e.contentWindow||(t=E.get(e.id+"_ifr"),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),R(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.addClass(e,o):i.removeClass(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;if(!e.removed){e.removed=1,e.save(),e.hasHiddenInput&&E.remove(e.getElement().nextSibling),e.inline||(P&&10>P&&e.getDoc().execCommand("SelectAll",!1,null),E.setStyle(e.id,"display",e.orgDisplay),e.getBody().onload=null,M.unbind(e.getWin()),M.unbind(e.getDoc()));var t=e.getContainer();M.unbind(e.getBody()),M.unbind(t),e.fire("remove"),e.editorManager.remove(e),E.remove(t),e.destroy()}},bindNative:function(e){var t=this;t.settings.readonly||(t.initialized?t.dom.bind(_(t,e),e,function(n){t.fire(e,n)}):t._pendingNativeEvents?t._pendingNativeEvents.push(e):t._pendingNativeEvents=[e])},unbindNative:function(e){var t=this;t.initialized&&t.dom.unbind(e)},destroy:function(e){var t=this,n;if(!t.destroyed){if(!e&&!t.removed)return void t.remove();e&&H&&(M.unbind(t.getDoc()),M.unbind(t.getWin()),M.unbind(t.getBody())),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),E.unbind(n,"submit reset",t.formEventDelegate)),t.contentAreaContainer=t.formElement=t.container=t.editorContainer=null,t.settings.content_element=t.bodyElement=t.contentDocument=t.contentWindow=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 H?(e=this.selection.getSel(),!e||!e.rangeCount||0===e.rangeCount):0}},T(N.prototype,x),N}),r(st,[],function(){var e={};return{rtl:!1,add:function(t,n){for(var r in n)e[r]=n[r];this.rtl=this.rtl||"rtl"===e._dir},translate:function(t){if("undefined"==typeof t)return t;if("string"!=typeof t&&t.raw)return t.raw;if(t.push){var n=t.slice(1);t=(e[t[0]]||t[0]).replace(/\{([^\}]+)\}/g,function(e,t){return n[t]})}return e[t]||t},data:e}}),r(lt,[y,g],function(e,t){function n(e){function a(){try{return document.activeElement}catch(e){return document.body}}function s(e){return e&&e.startContainer?{startContainer:e.startContainer,startOffset:e.startOffset,endContainer:e.endContainer,endOffset:e.endOffset}:e}function l(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 c(e){return!!o.getParent(e,n.isEditorUIElement)}function u(e,t){for(var n=t.getBody();e;){if(e==n)return!0;e=e.parentNode}}function d(n){var d=n.editor;d.on("init",function(){(d.inline||t.ie)&&(d.on("nodechange keyup",function(){var e=document.activeElement;e&&e.id==d.id+"_ifr"&&(e=d.getBody()),u(e,d)&&(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)}},o.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(l(d,d.selection.lastFocusBookmark)),d.selection.lastFocusBookmark=null),t!=d&&(t&&t.fire("blur",{focusedEditor:d}),e.activeEditor=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;c(a())||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&&(n.selection.lastFocusBookmark=s(n.lastRng)),c(t.target)||e.focusedEditor!=n||(n.fire("blur",{focusedEditor:null}),e.focusedEditor=null))},o.bind(document,"focusin",i))}function f(t){e.focusedEditor==t.editor&&(e.focusedEditor=null),e.activeEditor||(o.unbind(document,"selectionchange",r),o.unbind(document,"focusin",i),r=i=null)}e.on("AddEditor",d),e.on("RemoveEditor",f)}var r,i,o=e.DOM;return n.isEditorUIElement=function(e){return-1!==e.className.toString().indexOf("mce-")},n}),r(ct,[at,y,F,g,p,it,st,lt],function(e,t,n,r,i,o,a,s){var l=t.DOM,c=i.explode,u=i.each,d=i.extend,f=0,p,m={majorVersion:"4",minorVersion:"0.21.1",releaseDate:"2014-04-09",editors:[],i18n:a,activeEditor:null,setup:function(){var e=this,t,r,i="",o;if(r=document.location.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(r)||(r+="/"),o=window.tinymce||window.tinyMCEPreInit)t=o.base||o.baseURL,i=o.suffix;else for(var a=document.getElementsByTagName("script"),l=0;l<a.length;l++){var c=a[l].src;if(/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(c)){-1!=c.indexOf(".min")&&(i=".min"),t=c.substring(0,c.lastIndexOf("/"));break}}e.baseURL=new n(r).toAbsolute(t),e.documentBaseURL=r,e.baseURI=new n(e.baseURL),e.suffix=i,e.focusManager=new s(e)},init:function(t){function n(e){var t=e.id;return t||(t=e.name,t=t&&!l.get(t)?e.name:l.uniqueId(),e.setAttribute("id",t)),t}function r(t,n){if(!s.get(t)){var r=new e(t,n,s);p.push(r),r.render()}}function i(e,t,n){var r=e[t];if(r)return r.apply(n||this,Array.prototype.slice.call(arguments,2))}function o(e,t){return t.constructor===RegExp?t.test(e.className):l.hasClass(e,t)}function a(){var h,g;if(l.unbind(window,"ready",a),i(t,"onpageload"),t.types)return void u(t.types,function(e){u(l.select(e.selector),function(i){r(n(i),d({},t,e))})});if(t.selector)return void u(l.select(t.selector),function(e){r(n(e),t)});switch(t.mode){case"exact":h=t.elements||"",h.length>0&&u(c(h),function(n){l.get(n)?(m=new e(n,t,s),p.push(m),m.render()):u(document.forms,function(e){u(e.elements,function(e){e.name===n&&(n="mce_editor_"+f++,l.setAttrib(e,"id",n),r(n,t))})})});break;case"textareas":case"specific_textareas":u(l.select("textarea"),function(e){t.editor_deselector&&o(e,t.editor_deselector)||(!t.editor_selector||o(e,t.editor_selector))&&r(n(e),t)})}t.oninit&&(h=g=0,u(p,function(e){g++,e.initialized?h++:e.on("init",function(){h++,h==g&&i(t,"oninit")}),h==g&&i(t,"oninit")}))}var s=this,p=[],m;s.settings=t,l.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}),p||(p=function(){t.fire("BeforeUnload")},l.bind(window,"beforeunload",p)),e},createEditor:function(t,n){return this.add(new e(t,n,this))},remove:function(e){var t=this,n,r=t.editors,i,o;{if(e){if("string"==typeof e)return e=e.selector||e,void u(l.select(e),function(e){t.remove(r[e.id])});if(i=e,!r[i.id])return null;for(delete r[i.id],n=0;n<r.length;n++)if(r[n]==i){r.splice(n,1),o=!0;break}return t.activeEditor==i&&(t.activeEditor=r[0]),o&&t.fire("RemoveEditor",{editor:i}),r.length||l.unbind(window,"beforeunload",p),i.remove(),i}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(){u(this.editors,function(e){e.save()})},addI18n:function(e,t){a.add(e,t)},translate:function(e){return a.translate(e)}};return d(m,o),m.setup(),window.tinymce=window.tinyMCE=m,m}),r(ut,[ct,p],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(t,n){e(n,{textDecoration:"underline"})},strike:function(t,n){e(n,{textDecoration:"line-through"})}},t.on("PreProcess SetContent",i))})})}),r(dt,[],function(){return{send:function(e){function t(){!e.async||4==n.readyState||r++>1e4?(e.success&&1e4>r&&200==n.status?e.success.call(e.success_scope,""+n.responseText,n,e):e.error&&e.error.call(e.error_scope,r>1e4?"TIMED_OUT":"GENERAL",n,e),n=null):setTimeout(t,10)}var n,r=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||"",n=new XMLHttpRequest){if(n.overrideMimeType&&n.overrideMimeType(e.content_type),n.open(e.type||(e.data?"POST":"GET"),e.url,e.async),e.content_type&&n.setRequestHeader("Content-Type",e.content_type),n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.send(e.data),!e.async)return t();setTimeout(t,10)}}}}),r(ft,[],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(pt,[ft,dt,p],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(mt,[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(ht,[],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(gt,[y,l,b,C,p,g],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(vt,[z,p],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(yt,[vt],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(bt,[q,J],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(Ct,[q,bt],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(xt,[Ct],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(wt,[K],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(_t,[Ct],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(Nt,[xt,Z],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()}})}),r(Et,[Nt,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},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(St,[Ct,$,U],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(kt,[Ct],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(Tt,[kt,ct],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 n.on("select",function(t){var n=[],i,o=r.getBody();for(r.focus(),i=r.selection.getStart();i&&i!=o;)e(i)||n.push(i),i=i.parentNode;r.selection.select(n[n.length-1-t.index]),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]});i.push({name:s.name})}n.data(i)}),n._super()}})}),r(Rt,[K],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(At,[K,Rt],function(e,t){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,n=e.items();n.each(function(n){var r,i=n.settings.label;i&&(r=new t({layout:"flex",autoResize:"overflow",defaults:{flex:1},items:[{type:"label",id:n._id+"-l",text:i,flex:0,forId:n._id,disabled:n.disabled()}]}),r.type="formitem",n.aria("labelledby",n._id+"-l"),"undefined"==typeof n.settings.flex&&(n.settings.flex=1),e.replace(n,r),r.add(n))})},recalcLabels:function(){var e=this,t=0,n=[],r,i;if(e.settings.labelGapCalc!==!1)for(e.items().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(Bt,[At],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(Lt,[St],function(e){return e.extend({init:function(e){var t=this,n=tinymce.activeEditor,r;e.spellcheck=!1,r=n.settings.file_browser_callback,r&&(e.icon="browse",e.onaction=function(){r(t.getEl("inp").id,t.getEl("inp").value,e.filetype,window)}),t._super(e)}})}),r(Dt,[yt],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(Mt,[yt],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,c,u,d,f,p,m,h,g,v=[],y,b,C,x,w,_,N,E,S,k,T,R,A,B,L,D,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",N="h",E="minH",k="maxH",R="innerH",T="top",A="deltaH",B="contentH",P="left",M="w",L="x",D="innerW",H="minW",O="right",I="deltaW",F="contentW"):(S="x",N="w",E="minW",k="maxW",R="innerW",T="left",A="deltaW",B="contentW",P="top",M="h",L="y",D="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],m=p.layoutRect(),h=p.settings,g=h.flex,d-=n-1>t?c:0,g>0&&(u+=g,m[k]&&v.push(p),m.flex=g),d-=m[E],y=o[P]+m[H]+o[O],y>_&&(_=y);if(x={},x[E]=0>d?i[E]-d+i[A]: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],m=p.layoutRect(),b=m[k],y=m[E]+m.flex*C,y>b?(d-=m[k]-m[E],u-=m.flex,m.flex=0,m.maxFlexSize=b):m.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[L]=o[P],t=0,n=r.length;n>t;t++)p=r[t],m=p.layoutRect(),y=m.maxFlexSize||m[E],"center"===s?x[L]=Math.round(i[D]/2-m[M]/2):"stretch"===s?(x[M]=z(m[H]||0,i[D]-o[P]-o[O]),x[L]=o[P]):"end"===s&&(x[L]=i[D]-m[M]-o.top),m.flex>0&&(y+=m.flex*C),x[N]=y,x[S]=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(Ht,[vt],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(Pt,[q,Ct,Z,p,ct,g],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.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}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,n=this.settings.format;n&&t.parent().on("show",function(){t.disabled(!e.formatter.canApply(n)),t.active(e.formatter.match(n))})},onclick:function(){this.settings.format&&d(this.settings.format)}}}}function o(){return e.undoManager?e.undoManager.hasUndo():!1}function a(){return e.undoManager?e.undoManager.hasRedo():!1}function l(){var t=this;t.disabled(!o()),e.on("Undo Redo AddUndo TypingUndo",function(){t.disabled(!o())})}function c(){var t=this;t.disabled(!a()),e.on("Undo Redo AddUndo TypingUndo",function(){t.disabled(!a())})}function u(){var t=this;e.on("VisualAid",function(e){t.active(e.hasVisual)}),t.active(e.hasVisual)}function d(t){t.control&&(t=t.control.value()),t&&e.execCommand("mceToggleFormat",!1,t)}var f;f=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(){d(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"],hr:["Insert horizontal rule","InsertHorizontalRule"],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:l,cmd:"undo"}),e.addButton("redo",{tooltip:"Redo",onPostRender:c,cmd:"redo"}),e.addMenuItem("newdocument",{text:"New document",shortcut:"Ctrl+N",icon:"newdocument",cmd:"mceNewDocument"}),e.addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Ctrl+Z",onPostRender:l,cmd:"undo"}),e.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Ctrl+Y",onPostRender:c,cmd:"redo"}),e.addMenuItem("visualaid",{text:"Visual aids",selectable:!0,onPostRender:u,cmd:"mceToggleVisualAid"}),s({cut:["Cut","Cut","Ctrl+X"],copy:["Copy","Copy","Ctrl+C"],paste:["Paste","Paste","Ctrl+V"],selectall:["Select all","SelectAll","Ctrl+A"],bold:["Bold","Bold","Ctrl+B"],italic:["Italic","Italic","Ctrl+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:f}),e.addButton("formatselect",function(){var n=[],i=r(e.settings.block_formats||"Paragraph=p;Address=address;Pre=pre;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6");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:d,onPostRender:t(n)}}),e.addButton("fontselect",function(){var n="Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;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){n.push({text:e,value:e})}),{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:f})}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(Ot,[yt],function(e){return e.extend({recalc:function(e){var t=e.settings,n,r,i,o,a,s,l,c,u,d,f,p,m,h,g,v,y,b,C,x,w,_,N=[],E=[],S,k,T,R;for(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,C&&"string"==typeof C&&(C=[C]),x&&"string"==typeof x&&(x=[x]),d=0;r>d;d++)N.push(0);for(f=0;n>f;f++)E.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,N[d]=S>N[d]?S:N[d],E[f]=k>E[f]?k:E[f];for(T=o.innerW-g.left-g.right,w=0,d=0;r>d;d++)w+=N[d]+(d>0?y:0),T-=(d>0?y:0)+N[d];for(R=o.innerH-g.top-g.bottom,_=0,f=0;n>f;f++)_+=E[f]+(f>0?b:0),R-=(f>0?b:0)+E[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 A;A="start"==t.packV?0:R>0?Math.floor(R/n):0;var B=0,L=t.flexWidths;if(L)for(d=0;d<L.length;d++)B+=L[d];else B=r;var D=T/B;for(d=0;r>d;d++)N[d]+=L?L[d]*D:D;for(m=g.top,f=0;n>f;f++){for(p=g.left,s=E[f]+A,d=0;r>d&&(u=i[f*r+d],u);d++)h=u.settings,c=u.layoutRect(),a=Math.max(N[d],c.startMinWidth),c.x=p,c.y=m,v=h.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=h.alignV||(x?x[d]||x[0]:null),"center"==v?c.y=m+s/2-c.h/2:"bottom"==v?c.y=m+s-c.h:"stretch"==v&&(c.h=s),u.layoutRect(c),p+=a+y,u.recalc&&u.recalc();m+=s+b}}else if(l.w=l.minW,l.h=l.minH,e.layoutRect(l),this.recalc(e),null===e._lastRect){var M=e.parent();M&&(M._lastRect=null,M.recalc())}}})}),r(It,[Ct],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(Ft,[Ct,U],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(zt,[K],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(Wt,[zt],function(e){return e.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}})}),r(Vt,[xt,$,Wt],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?r+"ico "+r+"i-"+e.settings.icon:"";return 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+'"></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(Ut,[Vt],function(e){return e.extend({init:function(e){var t=this,n,r,i,o,a;if(t._values=n=e.values,n){for(r=0;r<n.length;r++)if(i=n[r].selected||e.value===n[r].value){o=o||n[r].text,t._value=n[r].value;break}!i&&n.length>0&&(o=n[0].text,t._value=n[0].value),e.menu=n}e.text=e.text||o||n[0].text,t._super(e),t.addClass("listbox"),t.on("select",function(n){var r=n.control;a&&(n.lastControl=a),e.multiple?r.active(!r.active()):t.value(n.control.settings.value),a=r})},value:function(e){function t(e,n){e.items().each(function(e){r=e.value()===n,r&&(i=i||e.text()),e.active(r),e.menu&&t(e.menu,n)})}var n=this,r,i,o,a;if("undefined"!=typeof e){if(n.menu)t(n.menu,e);else for(o=n.settings.menu,a=0;a<o.length;a++)r=o[a].value==e,r&&(i=i||o[a].text),o[a].active=r;n.text(i||this.settings.text)}return n._super(e)}})}),r(qt,[Ct,$,g],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.fire("show"),r.on("cancel",function(t){t.stopPropagation(),e.focus(),r.hide()}),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(){var e=this,t=e._id,r=e.settings,i=e.classPrefix,o=e.encode(e._text),a=e.settings.icon,s="",l=r.shortcut;return a&&e.parent().addClass("menu-has-icons"),r.image&&(a="none",s=" style=\"background-image: url('"+r.image+"')\""),l&&n.mac&&(l=l.replace(/ctrl\+alt\+/i,"&#x2325;&#x2318;"),l=l.replace(/ctrl\+/i,"&#x2318;"),l=l.replace(/alt\+/i,"&#x2325;"),l=l.replace(/shift\+/i,"&#x21E7;")),a=i+"ico "+i+"i-"+(e.settings.icon||"none"),'<div id="'+t+'" class="'+e.classes()+'" tabindex="-1">'+("-"!==o?'<i class="'+a+'"'+s+"></i>\xa0":"")+("-"!==o?'<span id="'+t+'-text" class="'+i+'text">'+o+"</span>":"")+(l?'<div id="'+t+'-shortcut" class="'+i+'menu-shortcut">'+l+"</div>":"")+(r.menu?'<div class="'+i+'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($t,[Z,qt,p],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(jt,[_t],function(e){return e.extend({Defaults:{classes:"radio",role:"radio"}})}),r(Kt,[Ct,Y],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(Yt,[Ct],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(Gt,[Vt,U],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=e.settings.icon?n+"ico "+n+"i-"+e.settings.icon:"";return'<div id="'+t+'" class="'+e.classes()+'" role="button" tabindex="-1"><button type="button" hidefocus="1" tabindex="-1">'+(r?'<i class="'+r+'"></i>':"")+(e._text?(r?" ":"")+e._text:"")+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1">'+(e._menuBtnText?(r?"\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(Xt,[Ht],function(e){return e.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"}})}),r(Jt,[X,U],function(e,t){return e.extend({lastIdx:0,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"),e!=this.lastIdx&&(this.items()[this.lastIdx].hide(),this.lastIdx=e),this.items()[e].show().fire("showtab"),this.reflow()},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(t,n){r=Math.max(r,t.layoutRect().minW),i=Math.max(i,t.layoutRect().minH),e.settings.activeTab!=n&&t.hide()}),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(Qt,[Ct,U],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(Zt,[U,q],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,m,h,g,v,y,b,C,x,w,_,N,E,S,k,T,R,A,B,L,D,M,H,P,O,I,F,z,W,V,U,q,$,j,K,Y,G,X,J,Q,Z,et,tt,nt,rt,it,ot,at,st,lt,ct,ut,dt,ft,pt,mt,ht,gt,vt,yt,bt,Ct,xt,wt,_t,Nt,Et,St,kt,Tt,Rt,At,Bt,Lt,Dt,Mt,Ht,Pt,Ot,It,Ft,zt,Wt,Vt,Ut,qt,$t,jt,Kt,Yt,Gt,Xt,Jt,Qt,Zt])}(this);
\ No newline at end of file
index 4d9ffe272b0b5dd50a0a53e868fde1b32e7ac17c..8d30787d5d51532c01f2819064e909ffeb25cd65 100644 (file)
@@ -1,11 +1,11 @@
 /**
  * editable_selects.js
  *
- * Copyright 2009, Moxiecode Systems AB
+ * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
  *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
  */
 
 var TinyMCE_EditableSelects = {
index 6f62fe606dd974e5235a8a9125943d895f2a4b15..5c7134fcae21db68b262091cb9f9378797412aae 100644 (file)
@@ -1,11 +1,11 @@
 /**
  * form_utils.js
  *
- * Copyright 2009, Moxiecode Systems AB
+ * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
  *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
  */
 
 var themeBaseURL = tinyMCEPopup.editor.baseURI.toAbsolute('themes/' + tinyMCEPopup.getParam("theme"));
@@ -132,9 +132,9 @@ function addClassesToList(list_id, specific_option) {
                        }
                }
        } else {
-               tinymce.each(tinyMCEPopup.editor.dom.getClasses(), function(o) {
+               /*tinymce.each(tinyMCEPopup.editor.dom.getClasses(), function(o) {
                        styleSelectElm.options[styleSelectElm.length] = new Option(o.title || o['class'], o['class']);
-               });
+               });*/
        }
 }
 
index 027ef40e74c1ef1db832c7b3a7713e9e91e0bba1..2391c782f8091b18a5df40ee9522fc5af50853f6 100644 (file)
@@ -1,13 +1,15 @@
 /**
  * mctabs.js
  *
- * Copyright 2009, Moxiecode Systems AB
+ * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
  *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
  */
 
+/*jshint globals: tinyMCEPopup */
+
 function MCTabs() {
        this.settings = [];
        this.onChange = tinyMCEPopup.editor.windowManager.createInstance('tinymce.util.Dispatcher');
@@ -122,9 +124,9 @@ tinyMCEPopup.onInit.add(function() {
        var tinymce = tinyMCEPopup.getWin().tinymce, dom = tinyMCEPopup.dom, each = tinymce.each;
 
        each(dom.select('div.tabs'), function(tabContainerElm) {
-               var keyNav;
+               //var keyNav;
 
-               dom.setAttrib(tabContainerElm, "role", "tablist"); 
+               dom.setAttrib(tabContainerElm, "role", "tablist");
 
                var items = tinyMCEPopup.dom.select('li', tabContainerElm);
                var action = function(id) {
@@ -141,7 +143,7 @@ tinyMCEPopup.onInit.add(function() {
 
                dom.bind(dom.getRoot(), 'keydown', function(evt) {
                        if (evt.keyCode === 9 && evt.ctrlKey && !evt.altKey) { // Tab
-                               keyNav.moveFocus(evt.shiftKey ? -1 : 1);
+                               //keyNav.moveFocus(evt.shiftKey ? -1 : 1);
                                tinymce.dom.Event.cancel(evt);
                        }
                });
@@ -150,13 +152,13 @@ tinyMCEPopup.onInit.add(function() {
                        dom.setAttrib(a, 'tabindex', '-1');
                });
 
-               keyNav = tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', {
+               /*keyNav = tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', {
                        root: tabContainerElm,
                        items: items,
                        onAction: action,
                        actOnFocus: true,
                        enableLeftRight: true,
                        enableUpDown: true
-               }, tinyMCEPopup.dom);
+               }, tinyMCEPopup.dom);*/
        });
 });
\ No newline at end of file
index 760d0290fd944b435a9c22ffe8e4fb5cc1048a8c..d13aaa1baa9741fdce6e6a7d689729ce8f55eab0 100644 (file)
@@ -1,11 +1,11 @@
 /**
  * validate.js
  *
- * Copyright 2009, Moxiecode Systems AB
+ * Copyright, Moxiecode Systems AB
  * Released under LGPL License.
  *
- * License: http://tinymce.moxiecode.com/license
- * Contributing: http://tinymce.moxiecode.com/contributing
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
  */
 
 /**
index befcf9473ea0552f3ebecdf74bae15f72069dc86..cd5e6be8caf5dd83f0cf7601e7783badc18715fd 100644 (file)
@@ -13,195 +13,111 @@ header('Content-Type: text/html; charset=' . get_bloginfo('charset'));
 <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('Rich Editor Help'); ?></title>
-<script type="text/javascript" src="tiny_mce_popup.js?ver=358-20121205"></script>
-<?php
-wp_admin_css( 'wp-admin', true );
-?>
+<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;
        }
-       #wphead {
-               font-size: 80%;
-               border-top: 0;
-               color: #555;
-               background-color: #f1f1f1;
-       }
-       #wphead h1 {
-               font-size: 24px;
-               color: #555;
-               margin: 0;
-               padding: 10px;
-       }
-       #tabs {
-               padding: 15px 15px 3px;
-               background-color: #f1f1f1;
-               border-bottom: 1px solid #dfdfdf;
-               margin: 0;
-       }
-       #tabs li {
-               display: inline;
-       }
-       #tabs a.current {
+
+       .wrap {
                background-color: #fff;
-               border-color: #dfdfdf;
-               border-bottom-color: #fff;
-               color: #d54e21;
-       }
-       #tabs a {
-               color: #2583AD;
-               padding: 6px;
-               border-width: 1px 1px 0;
-               border-style: solid solid none;
-               border-color: #f1f1f1;
-               text-decoration: none;
-       }
-       #tabs a:hover {
-               color: #d54e21;
-       }
-       .wrap h2 {
-               border-bottom-color: #dfdfdf;
-               color: #555;
-               margin: 5px 0;
-               padding: 0;
-               font-size: 18px;
-       }
-       #user_info {
-               right: 5%;
-               top: 5px;
-       }
-       h3 {
-               font-size: 1.1em;
-               margin-top: 10px;
-               margin-bottom: 0px;
-       }
-       #flipper {
+               border-top: 1px solid #ddd;
+               height: 390px;
                margin: 0;
-               padding: 5px 20px 10px;
-               background-color: #fff;
-               border-left: 1px solid #dfdfdf;
-               border-bottom: 1px solid #dfdfdf;
-       }
-       * html {
-        overflow-x: hidden;
-        overflow-y: scroll;
-    }
-       #flipper div p {
-               margin-top: 0.4em;
-               margin-bottom: 0.8em;
-               text-align: justify;
+               overflow: auto;
+               padding: 10px 16px;
        }
+
        th {
                text-align: center;
        }
+
        .top th {
                text-decoration: underline;
        }
+
        .top .key {
                text-align: center;
                width: 5em;
        }
-       .top .action {
-               text-align: left;
-       }
-       .align {
-               border-left: 3px double #333;
-               border-right: 3px double #333;
-       }
+
        .keys {
+               border: 0 none;
                margin-bottom: 15px;
                width: 100%;
-               border: 0 none;
        }
+
        .keys p {
                display: inline-block;
                margin: 0px;
                padding: 0px;
        }
-       .keys .left { text-align: left; }
-       .keys .center { text-align: center; }
-       .keys .right { text-align: right; }
-       td b {
-               font-family: "Times New Roman" Times serif;
+
+       .keys .left {
+               text-align: left;
        }
-       #buttoncontainer {
+
+       .keys .center {
                text-align: center;
-               margin-bottom: 20px;
        }
-       #buttoncontainer a, #buttoncontainer a:hover {
-               border-bottom: 0px;
+
+       .keys .right {
+               text-align: right;
        }
+
        .macos .win,
        .windows .mac {
                display: none;
        }
+
 </style>
 <?php if ( is_rtl() ) : ?>
 <style type="text/css">
-       #wphead, #tabs {
-               padding-left: auto;
-               padding-right: 15px;
+
+       .keys .left {
+               text-align: right;
        }
-       #flipper {
-               margin: 5px 0 3px 10px;
+
+       .keys .right {
+               text-align: left;
        }
-       .keys .left, .top, .action { text-align: right; }
-       .keys .right { text-align: left; }
-       td b { font-family: Tahoma, "Times New Roman", Times, serif }
+
 </style>
 <?php endif; ?>
 </head>
 <body class="windows wp-core-ui">
 <script type="text/javascript">
-if ( tinymce.isMac )
+var win = window.dialogArguments || opener || parent || top;
+
+if ( win && win.tinymce && win.tinymce.isMac ) {
        document.body.className = document.body.className.replace(/windows/, 'macos');
+}
 </script>
 
-<ul id="tabs">
-       <li><a id="tab1" href="javascript:flipTab(1)" title="<?php esc_attr_e('Basics of Rich Editing'); ?>" accesskey="1" class="current"><?php _e('Basics'); ?></a></li>
-       <li><a id="tab2" href="javascript:flipTab(2)" title="<?php esc_attr_e('Advanced use of the Rich Editor'); ?>" accesskey="2"><?php _e('Advanced'); ?></a></li>
-       <li><a id="tab3" href="javascript:flipTab(3)" title="<?php esc_attr_e('Hotkeys'); ?>" accesskey="3"><?php _e('Hotkeys'); ?></a></li>
-       <li><a id="tab4" href="javascript:flipTab(4)" title="<?php esc_attr_e('About the software'); ?>" accesskey="4"><?php _e('About'); ?></a></li>
-</ul>
-
-<div id="flipper" class="wrap">
-
-<div id="content1">
-       <h2><?php _e('Rich Editing Basics'); ?></h2>
-       <p><?php _e('<em>Rich editing</em>, also called WYSIWYG for What You See Is What You Get, means your text is formatted as you type. The rich editor creates HTML code behind the scenes while you concentrate on writing. Font styles, links and images all appear approximately as they will on the internet.'); ?></p>
-       <p><?php _e('WordPress includes a rich HTML editor that works well in all major web browsers used today. However editing HTML is not the same as typing text. Each web page has two major components: the structure, which is the actual HTML code and is produced by the editor as you type, and the display, that is applied to it by the currently selected WordPress theme and is defined in style.css. WordPress is producing valid XHTML 1.0 which means that inserting multiple line breaks (BR tags) after a paragraph would not produce white space on the web page. The BR tags will be removed as invalid by the internal HTML correcting functions.'); ?></p>
-       <p><?php _e('While using the editor, most basic keyboard shortcuts work like in any other text editor. For example: Shift+Enter inserts line break, Ctrl+C = copy, Ctrl+X = cut, Ctrl+Z = undo, Ctrl+Y = redo, Ctrl+A = select all, etc. (on Mac use the Command key instead of Ctrl). See the Hotkeys tab for all available keyboard shortcuts.'); ?></p>
-    <p><?php _e('If you do not like the way the rich editor works, you may turn it off from Your Profile submenu, under Users in the admin menu.'); ?></p>
-</div>
-
-<div id="content2" class="hidden">
-       <h2><?php _e('Advanced Rich Editing'); ?></h2>
-       <h3><?php _e('Images and Attachments'); ?></h3>
-       <p><?php _e('There is a button in the editor toolbar for inserting images that are already hosted somewhere on the internet. If you have a URL for an image, click this button and enter the URL in the box which appears.'); ?></p>
-       <p><?php _e('If you need to upload an image or another media file from your computer, you can use the Media Library button above the editor. The media library will attempt to create a thumbnail-sized copy from each uploaded image. To insert your image into the post, first click on the thumbnail to reveal a menu of options. When you have selected the options you like, click "Insert into Post" and your image or file will appear in the post you are editing.'); ?></p>
-       <h3><?php _e('HTML in the Rich Editor'); ?></h3>
-       <p><?php _e('Any HTML entered directly into the rich editor will show up as text when the post is viewed. What you see is what you get. When you want to include HTML elements that cannot be generated with the toolbar buttons, you must enter it by hand in the Text editor. Examples are tables and &lt;code&gt;. To do this, click the Text tab and edit the code, then switch back to Visual mode. If the code is valid and understood by the editor, you should see it rendered immediately.'); ?></p>
-       <h3><?php _e('Pasting in the Rich Editor'); ?></h3>
-       <p><?php _e('When pasting content from another web page the results can be inconsistent and depend on your browser and on the web page you are pasting from. The editor tries to correct any invalid HTML code that was pasted, but for best results try using the Text tab or one of the paste buttons that are on the second row. Alternatively try pasting paragraph by paragraph. In most browsers to select one paragraph at a time, triple-click on it.'); ?></p>
-       <p><?php _e('Pasting content from another application, like Word or Excel, is best done with the Paste from Word button on the second row, or in Text mode.'); ?></p>
-</div>
+<div class="wrap">
 
-<div id="content3" class="hidden">
-       <h2><?php _e('Writing at Full Speed'); ?></h2>
-    <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>
+<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>1</th><td><?php _e('Heading 1'); ?></td></tr>
                <tr><th>2</th><td><?php _e('Heading 2'); ?></td><th>3</th><td><?php _e('Heading 3'); ?></td></tr>
                <tr><th>4</th><td><?php _e('Heading 4'); ?></td><th>5</th><td><?php _e('Heading 5'); ?></td></tr>
                <tr><th>6</th><td><?php _e('Heading 6'); ?></td><th>9</th><td><?php _e('Address'); ?></td></tr>
+               <tr><th>k</th><td><?php _e('Insert/edit link'); ?></td><th> </th><td>&nbsp;</td></tr>
        </table>
 
        <p><?php _e('The following shortcuts use different access keys: Alt + Shift + letter.'); ?></p>
@@ -215,6 +131,7 @@ if ( tinymce.isMac )
                <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 style="padding: 15px 10px 10px;"><?php _e('Editor width in Distraction Free Writing mode:'); ?></p>
@@ -225,57 +142,6 @@ if ( tinymce.isMac )
        </table>
 </div>
 
-<div id="content4" class="hidden">
-       <h2><?php _e('About TinyMCE'); ?></h2>
-
-    <p><?php _e('Version:'); ?> <span id="version"></span> (<span id="date"></span>)</p>
-       <p><?php printf(__('TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor released as Open Source under %sLGPL</a> by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.'), '<a href="'.home_url('/wp-includes/js/tinymce/license.txt').'" target="_blank" title="'.esc_attr__('GNU Library General Public License').'">'); ?></p>
-       <p><?php _e('Copyright &copy; 2003-2011, <a href="http://www.moxiecode.com" target="_blank">Moxiecode Systems AB</a>, All rights reserved.'); ?></p>
-       <p><?php _e('For more information about this software visit the <a href="http://tinymce.com" target="_blank">TinyMCE website</a>.'); ?></p>
-
-       <div id="buttoncontainer">
-               <a href="http://www.moxiecode.com" target="_blank"><img src="themes/advanced/img/gotmoxie.png" alt="<?php esc_attr_e('Got Moxie?'); ?>" style="border: 0" /></a>
-       </div>
-
-</div>
-</div>
-
-<div class="mceActionPanel">
-       <div style="margin: 8px auto; text-align: center;padding-bottom: 10px;">
-               <input type="button" id="cancel" name="cancel" value="<?php esc_attr_e('Close'); ?>" title="<?php esc_attr_e('Close'); ?>" onclick="tinyMCEPopup.close();" />
-       </div>
 </div>
-<script type="text/javascript">
-       function d(id) { return document.getElementById(id); }
-
-       function flipTab(n) {
-               var i, c, t;
-
-               for ( i = 1; i <= 4; i++ ) {
-                       c = d('content'+i.toString());
-                       t = d('tab'+i.toString());
-                       if ( n == i ) {
-                               c.className = '';
-                               t.className = 'current';
-                       } else {
-                               c.className = 'hidden';
-                               t.className = '';
-                       }
-               }
-       }
-
-    tinyMCEPopup.onInit.add(function() {
-        var win = tinyMCEPopup.getWin();
-
-               d('version').innerHTML = tinymce.majorVersion + "." + tinymce.minorVersion;
-        d('date').innerHTML = tinymce.releaseDate;
-
-               if ( win.fullscreen && win.fullscreen.settings.visible ) {
-                       d('content1').className = 'hidden';
-                       d('tabs').className = 'hidden';
-                       d('content3').className = 'dfw';
-               }
-    });
-</script>
 </body>
 </html>
diff --git a/wp-includes/js/tinymce/wp-tinymce-schema.js b/wp-includes/js/tinymce/wp-tinymce-schema.js
deleted file mode 100644 (file)
index 503a563..0000000
+++ /dev/null
@@ -1,940 +0,0 @@
-/**
- * TinyMCE Schema.js
- *
- * Duck-punched by WordPress core to support a sane schema superset.
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-(function(tinymce) {
-       var mapCache = {}, makeMap = tinymce.makeMap, each = tinymce.each;
-
-       function split(str, delim) {
-               return str.split(delim || ',');
-       };
-
-       /**
-        * Unpacks the specified lookup and string data it will also parse it into an object
-        * map with sub object for it's children. This will later also include the attributes.
-        */
-       function unpack(lookup, data) {
-               var key, elements = {};
-
-               function replace(value) {
-                       return value.replace(/[A-Z]+/g, function(key) {
-                               return replace(lookup[key]);
-                       });
-               };
-
-               // Unpack lookup
-               for (key in lookup) {
-                       if (lookup.hasOwnProperty(key))
-                               lookup[key] = replace(lookup[key]);
-               }
-
-               // Unpack and parse data into object map
-               replace(data).replace(/#/g, '#text').replace(/(\w+)\[([^\]]+)\]\[([^\]]*)\]/g, function(str, name, attributes, children) {
-                       attributes = split(attributes, '|');
-
-                       elements[name] = {
-                               attributes : makeMap(attributes),
-                               attributesOrder : attributes,
-                               children : makeMap(children, '|', {'#comment' : {}})
-                       }
-               });
-
-               return elements;
-       };
-
-       /**
-        * Returns the HTML5 schema and caches it in the mapCache.
-        */
-       function getHTML5() {
-               var html5 = mapCache.html5;
-
-               if (!html5) {
-                       html5 = mapCache.html5 = unpack({
-                                       A : 'accesskey|class|contextmenu|dir|draggable|dropzone|hidden|id|inert|itemid|itemprop|itemref|itemscope|itemtype|lang|spellcheck|style|tabindex|title|translate|item|role|subject|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup',
-                                       B : '#|a|abbr|area|audio|b|bdi|bdo|br|button|canvas|cite|code|command|data|datalist|del|dfn|em|embed|i|iframe|img|input|ins|kbd|keygen|label|link|map|mark|math|meta|meter|noscript|object|output|progress|q|ruby|s|samp|script|select|small|span|strong|sub|sup|svg|textarea|time|u|var|video|wbr',
-                                       C : '#|a|abbr|area|address|article|aside|audio|b|bdi|bdo|blockquote|br|button|canvas|cite|code|command|data|datalist|del|details|dfn|dialog|div|dl|em|embed|fieldset|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|i|iframe|img|input|ins|kbd|keygen|label|link|map|mark|math|menu|meta|meter|nav|noscript|ol|object|output|p|pre|progress|q|ruby|s|samp|script|section|select|small|span|strong|style|sub|sup|svg|table|textarea|time|u|ul|var|video|wbr'
-                               }, 'html[A|manifest][body|head]' +
-                                       'head[A][base|command|link|meta|noscript|script|style|title]' +
-                                       'title[A][#]' +
-                                       'base[A|href|target][]' +
-                                       'link[A|href|rel|media|type|sizes|crossorigin|hreflang][]' +
-                                       'meta[A|http-equiv|name|content|charset][]' +
-                                       'style[A|type|media|scoped][#]' +
-                                       'script[A|charset|type|src|defer|async|crossorigin][#]' +
-                                       'noscript[A][C]' +
-                                       'body[A|onafterprint|onbeforeprint|onbeforeunload|onblur|onerror|onfocus|onfullscreenchange|onfullscreenerror|onhashchange|onload|onmessage|onoffline|ononline|onpagehide|onpageshow|onpopstate|onresize|onscroll|onstorage|onunload][C]' +
-                                       'section[A][C]' +
-                                       'nav[A][C]' +
-                                       'article[A][C]' +
-                                       'aside[A][C]' +
-                                       'h1[A][B]' +
-                                       'h2[A][B]' +
-                                       'h3[A][B]' +
-                                       'h4[A][B]' +
-                                       'h5[A][B]' +
-                                       'h6[A][B]' +
-                                       'hgroup[A][h1|h2|h3|h4|h5|h6]' +
-                                       'header[A][C]' +
-                                       'footer[A][C]' +
-                                       'address[A][C]' +
-                                       'p[A][B]' +
-                                       'br[A][]' +
-                                       'pre[A][B]' +
-                                       'dialog[A|open][C|dd|dt]' +
-                                       'blockquote[A|cite][C]' +
-                                       'ol[A|start|reversed][li]' +
-                                       'ul[A][li]' +
-                                       'li[A|value][C]' +
-                                       'dl[A][dd|dt]' +
-                                       'dt[A][C|B]' +
-                                       'dd[A][C]' +
-                                       'a[A|href|target|download|ping|rel|media|type][B]' +
-                                       'em[A][B]' +
-                                       'strong[A][B]' +
-                                       'small[A][B]' +
-                                       's[A][B]' +
-                                       'cite[A][B]' +
-                                       'q[A|cite][B]' +
-                                       'dfn[A][B]' +
-                                       'abbr[A][B]' +
-                                       'code[A][B]' +
-                                       'var[A][B]' +
-                                       'samp[A][B]' +
-                                       'kbd[A][B]' +
-                                       'sub[A][B]' +
-                                       'sup[A][B]' +
-                                       'i[A][B]' +
-                                       'b[A][B]' +
-                                       'u[A][B]' +
-                                       'mark[A][B]' +
-                                       'progress[A|value|max][B]' +
-                                       'meter[A|value|min|max|low|high|optimum][B]' +
-                                       'time[A|datetime][B]' +
-                                       'ruby[A][B|rt|rp]' +
-                                       'rt[A][B]' +
-                                       'rp[A][B]' +
-                                       'bdi[A][B]' +
-                                       'bdo[A][B]' +
-                                       'span[A][B]' +
-                                       'ins[A|cite|datetime][C|B]' +
-                                       'del[A|cite|datetime][C|B]' +
-                                       'figure[A][C|legend|figcaption]' +
-                                       'figcaption[A][C]' +
-                                       'img[A|alt|src|srcset|crossorigin|usemap|ismap|width|height][]' +
-                                       'iframe[A|name|src|srcdoc|height|width|sandbox|seamless|allowfullscreen][C|B]' +
-                                       'embed[A|src|height|width|type][]' +
-                                       'object[A|data|type|typemustmatch|name|usemap|form|width|height][C|B|param]' +
-                                       'param[A|name|value][]' +
-                                       'summary[A][B]' +
-                                       'details[A|open][C|legend|summary]' +
-                                       'command[A|type|label|icon|disabled|checked|radiogroup|command][]' +
-                                       'menu[A|type|label][C|li]' +
-                                       'legend[A][C|B]' +
-                                       'div[A][C]' +
-                                       'source[A|src|type|media][]' +
-                                       'track[A|kind|src|srclang|label|default][]' +
-                                       'audio[A|src|autobuffer|autoplay|loop|controls|crossorigin|preload|mediagroup|muted][C|source|track]' +
-                                       'video[A|src|autobuffer|autoplay|loop|controls|width|height|poster|crossorigin|preload|mediagroup|muted][C|source|track]' +
-                                       'hr[A][]' +
-                                       'form[A|accept-charset|action|autocomplete|enctype|method|name|novalidate|target][C]' +
-                                       'fieldset[A|disabled|form|name][C|legend]' +
-                                       'label[A|form|for][B]' +
-                                       'input[A|type|accept|alt|autocomplete|autofocus|checked|dirname|disabled|form|formaction|formenctype|formmethod|formnovalidate|formtarget|height|inputmode|list|max|maxlength|min|multiple|name|pattern|placeholder|readonly|required|size|src|step|value|width|files][]' +
-                                       'button[A|autofocus|disabled|form|formaction|formenctype|formmethod|formnovalidate|formtarget|name|type|value][B]' +
-                                       'select[A|autofocus|disabled|form|multiple|name|required|size][option|optgroup]' +
-                                       'data[A|value][B]' +
-                                       'datalist[A][B|option]' +
-                                       'optgroup[A|disabled|label][option]' +
-                                       'option[A|disabled|selected|label|value][#]' +
-                                       'textarea[A|autocomplete|autofocus|cols|dirname|disabled|form|inputmode|maxlength|name|placeholder|readonly|required|rows|wrap][#]' +
-                                       'keygen[A|autofocus|challenge|disabled|form|keytype|name][]' +
-                                       'output[A|for|form|name][B]' +
-                                       'canvas[A|width|height][a|button|input]' +
-                                       'map[A|name][C|B]' +
-                                       'area[A|alt|coords|shape|href|target|download|ping|rel|media|hreflang|type][]' +
-                                       'math[A][]' +
-                                       'svg[A][]' +
-                                       'table[A][caption|colgroup|thead|tfoot|tbody|tr]' +
-                                       'caption[A][C]' +
-                                       'colgroup[A|span][col]' +
-                                       'col[A|span][]' +
-                                       'thead[A][tr]' +
-                                       'tfoot[A][tr]' +
-                                       'tbody[A][tr]' +
-                                       'tr[A][th|td]' +
-                                       'th[A|headers|rowspan|colspan|scope][C]' +
-                                       'td[A|headers|rowspan|colspan][C]' +
-                                       'wbr[A][]'
-                       );
-               }
-
-               return html5;
-       };
-
-       /**
-        * Returns the HTML4 schema and caches it in the mapCache.
-        */
-       function getHTML4() {
-               var html4 = mapCache.html4;
-
-               if (!html4) {
-                       // This is the XHTML 1.0 transitional elements with it's attributes and children packed to reduce it's size
-                       html4 = mapCache.html4 = unpack({
-                               Z : 'H|K|N|O|P',
-                               Y : 'X|form|R|Q',
-                               ZG : 'E|span|width|align|char|charoff|valign',
-                               X : 'p|T|div|U|W|isindex|fieldset|table',
-                               ZF : 'E|align|char|charoff|valign',
-                               W : 'pre|hr|blockquote|address|center|noframes',
-                               ZE : 'abbr|axis|headers|scope|rowspan|colspan|align|char|charoff|valign|nowrap|bgcolor|width|height',
-                               ZD : '[E][S]',
-                               U : 'ul|ol|dl|menu|dir',
-                               ZC : 'p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q',
-                               T : 'h1|h2|h3|h4|h5|h6',
-                               ZB : 'X|S|Q',
-                               S : 'R|P',
-                               ZA : 'a|G|J|M|O|P',
-                               R : 'a|H|K|N|O',
-                               Q : 'noscript|P',
-                               P : 'ins|del|script',
-                               O : 'input|select|textarea|label|button',
-                               N : 'M|L',
-                               M : 'em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym',
-                               L : 'sub|sup',
-                               K : 'J|I',
-                               J : 'tt|i|b|u|s|strike',
-                               I : 'big|small|font|basefont',
-                               H : 'G|F',
-                               G : 'br|span|bdo',
-                               F : 'object|applet|img|map|iframe',
-                               E : 'A|B|C',
-                               D : 'accesskey|tabindex|onfocus|onblur',
-                               C : 'onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup',
-                               B : 'lang|xml:lang|dir',
-                               A : 'id|class|style|title'
-                       }, 'script[id|charset|type|language|src|defer|xml:space][]' +
-                               'style[B|id|type|media|title|xml:space][]' +
-                               'object[E|declare|classid|codebase|data|type|codetype|archive|standby|width|height|usemap|name|tabindex|align|border|hspace|vspace][#|param|Y]' +
-                               'param[id|name|value|valuetype|type][]' +
-                               'p[E|align][#|S]' +
-                               'a[E|D|charset|type|name|href|hreflang|rel|rev|shape|coords|target][#|Z]' +
-                               'br[A|clear][]' +
-                               'span[E][#|S]' +
-                               'bdo[A|C|B][#|S]' +
-                               'applet[A|codebase|archive|code|object|alt|name|width|height|align|hspace|vspace][#|param|Y]' +
-                               'h1[E|align][#|S]' +
-                               'img[E|src|alt|name|longdesc|width|height|usemap|ismap|align|border|hspace|vspace][]' +
-                               'map[B|C|A|name][X|form|Q|area]' +
-                               'h2[E|align][#|S]' +
-                               'iframe[A|longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height][#|Y]' +
-                               'h3[E|align][#|S]' +
-                               'tt[E][#|S]' +
-                               'i[E][#|S]' +
-                               'b[E][#|S]' +
-                               'u[E][#|S]' +
-                               's[E][#|S]' +
-                               'strike[E][#|S]' +
-                               'big[E][#|S]' +
-                               'small[E][#|S]' +
-                               'font[A|B|size|color|face][#|S]' +
-                               'basefont[id|size|color|face][]' +
-                               'em[E][#|S]' +
-                               'strong[E][#|S]' +
-                               'dfn[E][#|S]' +
-                               'code[E][#|S]' +
-                               'q[E|cite][#|S]' +
-                               'samp[E][#|S]' +
-                               'kbd[E][#|S]' +
-                               'var[E][#|S]' +
-                               'cite[E][#|S]' +
-                               'abbr[E][#|S]' +
-                               'acronym[E][#|S]' +
-                               'sub[E][#|S]' +
-                               'sup[E][#|S]' +
-                               'input[E|D|type|name|value|checked|disabled|readonly|size|maxlength|src|alt|usemap|onselect|onchange|accept|align][]' +
-                               'select[E|name|size|multiple|disabled|tabindex|onfocus|onblur|onchange][optgroup|option]' +
-                               'optgroup[E|disabled|label][option]' +
-                               'option[E|selected|disabled|label|value][]' +
-                               'textarea[E|D|name|rows|cols|disabled|readonly|onselect|onchange][]' +
-                               'label[E|for|accesskey|onfocus|onblur][#|S]' +
-                               'button[E|D|name|value|type|disabled][#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]' +
-                               'h4[E|align][#|S]' +
-                               'ins[E|cite|datetime][#|Y]' +
-                               'h5[E|align][#|S]' +
-                               'del[E|cite|datetime][#|Y]' +
-                               'h6[E|align][#|S]' +
-                               'div[E|align][#|Y]' +
-                               'ul[E|type|compact][li]' +
-                               'li[E|type|value][#|Y]' +
-                               'ol[E|type|compact|start][li]' +
-                               'dl[E|compact][dt|dd]' +
-                               'dt[E][#|S]' +
-                               'dd[E][#|Y]' +
-                               'menu[E|compact][li]' +
-                               'dir[E|compact][li]' +
-                               'pre[E|width|xml:space][#|ZA]' +
-                               'hr[E|align|noshade|size|width][]' +
-                               'blockquote[E|cite][#|Y]' +
-                               'address[E][#|S|p]' +
-                               'center[E][#|Y]' +
-                               'noframes[E][#|Y]' +
-                               'isindex[A|B|prompt][]' +
-                               'fieldset[E][#|legend|Y]' +
-                               'legend[E|accesskey|align][#|S]' +
-                               'table[E|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor][caption|col|colgroup|thead|tfoot|tbody|tr]' +
-                               'caption[E|align][#|S]' +
-                               'col[ZG][]' +
-                               'colgroup[ZG][col]' +
-                               'thead[ZF][tr]' +
-                               'tr[ZF|bgcolor][th|td]' +
-                               'th[E|ZE][#|Y]' +
-                               'form[E|action|method|name|enctype|onsubmit|onreset|accept|accept-charset|target][#|X|R|Q]' +
-                               'noscript[E][#|Y]' +
-                               'td[E|ZE][#|Y]' +
-                               'tfoot[ZF][tr]' +
-                               'tbody[ZF][tr]' +
-                               'area[E|D|shape|coords|href|nohref|alt|target][]' +
-                               'base[id|href|target][]' +
-                               'body[E|onload|onunload|background|bgcolor|text|link|vlink|alink][#|Y]'
-                       );
-               }
-
-               return html4;
-       };
-
-       /**
-        * WordPress Core
-        *
-        * Returns a schema that is the result of a deep merge between the HTML5
-        * and HTML4 schemas.
-        */
-       function getSaneSchema() {
-               var cachedMapCache = mapCache,
-                       html5, html4;
-
-               if ( mapCache.sane )
-                       return mapCache.sane;
-
-               // Bust the mapCache so we're not dealing with the other schema objects.
-               mapCache = {};
-               html5 = getHTML5();
-               html4 = getHTML4();
-               mapCache = cachedMapCache;
-
-               each( html4, function( html4settings, tag ) {
-                       var html5settings = html5[ tag ],
-                               difference = [];
-
-                       // Merge tags missing in HTML5 mode.
-                       if ( ! html5settings ) {
-                               html5[ tag ] = html4settings;
-                               return;
-                       }
-
-                       // Merge attributes missing from this HTML5 tag.
-                       each( html4settings.attributes, function( attribute, key ) {
-                               if ( ! html5settings.attributes[ key ] )
-                                       html5settings.attributes[ key ] = attribute;
-                       });
-
-                       // Merge any missing attributes into the attributes order.
-                       each( html4settings.attributesOrder, function( key ) {
-                               if ( -1 === tinymce.inArray( html5settings.attributesOrder, key ) )
-                                       difference.push( key );
-                       });
-
-                       html5settings.attributesOrder = html5settings.attributesOrder.concat( difference );
-
-                       // Merge children missing from this HTML5 tag.
-                       each( html4settings.children, function( child, key ) {
-                               if ( ! html5settings.children[ key ] )
-                                       html5settings.children[ key ] = child;
-                       });
-               });
-
-               return mapCache.sane = html5;
-       }
-
-       /**
-        * Schema validator class.
-        *
-        * @class tinymce.html.Schema
-        * @example
-        *  if (tinymce.activeEditor.schema.isValidChild('p', 'span'))
-        *    alert('span is valid child of p.');
-        *
-        *  if (tinymce.activeEditor.schema.getElementRule('p'))
-        *    alert('P is a valid element.');
-        *
-        * @class tinymce.html.Schema
-        * @version 3.4
-        */
-
-       /**
-        * Constructs a new Schema instance.
-        *
-        * @constructor
-        * @method Schema
-        * @param {Object} settings Name/value settings object.
-        */
-       tinymce.html.Schema = function(settings) {
-               var self = this, elements = {}, children = {}, patternElements = [], validStyles, schemaItems;
-               var whiteSpaceElementsMap, selfClosingElementsMap, shortEndedElementsMap, boolAttrMap, blockElementsMap, nonEmptyElementsMap, customElementsMap = {};
-
-               // Creates an lookup table map object for the specified option or the default value
-               function createLookupTable(option, default_value, extend) {
-                       var value = settings[option];
-
-                       if (!value) {
-                               // Get cached default map or make it if needed
-                               value = mapCache[option];
-
-                               if (!value) {
-                                       value = makeMap(default_value, ' ', makeMap(default_value.toUpperCase(), ' '));
-                                       value = tinymce.extend(value, extend);
-
-                                       mapCache[option] = value;
-                               }
-                       } else {
-                               // Create custom map
-                               value = makeMap(value, ',', makeMap(value.toUpperCase(), ' '));
-                       }
-
-                       return value;
-               };
-
-               settings = settings || {};
-
-               /**
-                * WordPress core uses a sane schema in place of the default "HTML5" schema.
-                */
-               schemaItems = settings.schema == "html5" ? getSaneSchema() : getHTML4();
-
-               // Allow all elements and attributes if verify_html is set to false
-               if (settings.verify_html === false)
-                       settings.valid_elements = '*[*]';
-
-               // Build styles list
-               if (settings.valid_styles) {
-                       validStyles = {};
-
-                       // Convert styles into a rule list
-                       each(settings.valid_styles, function(value, key) {
-                               validStyles[key] = tinymce.explode(value);
-                       });
-               }
-
-               // Setup map objects
-               whiteSpaceElementsMap = createLookupTable('whitespace_elements', 'pre script noscript style textarea');
-               selfClosingElementsMap = createLookupTable('self_closing_elements', 'colgroup dd dt li option p td tfoot th thead tr');
-               shortEndedElementsMap = createLookupTable('short_ended_elements', 'area base basefont br col frame hr img input isindex link meta param embed source wbr');
-               boolAttrMap = createLookupTable('boolean_attributes', 'checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls');
-               nonEmptyElementsMap = createLookupTable('non_empty_elements', 'td th iframe video audio object', shortEndedElementsMap);
-               textBlockElementsMap = createLookupTable('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');
-               blockElementsMap = createLookupTable('block_elements', 'hr table tbody thead tfoot ' +
-                                               'th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup', textBlockElementsMap);
-
-               // Converts a wildcard expression string to a regexp for example *a will become /.*a/.
-               function patternToRegExp(str) {
-                       return new RegExp('^' + str.replace(/([?+*])/g, '.$1') + '$');
-               };
-
-               // Parses the specified valid_elements string and adds to the current rules
-               // This function is a bit hard to read since it's heavily optimized for speed
-               function addValidElements(valid_elements) {
-                       var ei, el, ai, al, yl, matches, element, attr, attrData, elementName, attrName, attrType, attributes, attributesOrder,
-                               prefix, outputName, globalAttributes, globalAttributesOrder, transElement, key, childKey, value,
-                               elementRuleRegExp = /^([#+\-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/,
-                               attrRuleRegExp = /^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,
-                               hasPatternsRegExp = /[*?+]/;
-
-                       if (valid_elements) {
-                               // Split valid elements into an array with rules
-                               valid_elements = split(valid_elements);
-
-                               if (elements['@']) {
-                                       globalAttributes = elements['@'].attributes;
-                                       globalAttributesOrder = elements['@'].attributesOrder;
-                               }
-
-                               // Loop all rules
-                               for (ei = 0, el = valid_elements.length; ei < el; ei++) {
-                                       // Parse element rule
-                                       matches = elementRuleRegExp.exec(valid_elements[ei]);
-                                       if (matches) {
-                                               // Setup local names for matches
-                                               prefix = matches[1];
-                                               elementName = matches[2];
-                                               outputName = matches[3];
-                                               attrData = matches[4];
-
-                                               // Create new attributes and attributesOrder
-                                               attributes = {};
-                                               attributesOrder = [];
-
-                                               // Create the new element
-                                               element = {
-                                                       attributes : attributes,
-                                                       attributesOrder : attributesOrder
-                                               };
-
-                                               // Padd empty elements prefix
-                                               if (prefix === '#')
-                                                       element.paddEmpty = true;
-
-                                               // Remove empty elements prefix
-                                               if (prefix === '-')
-                                                       element.removeEmpty = true;
-
-                                               // Copy attributes from global rule into current rule
-                                               if (globalAttributes) {
-                                                       for (key in globalAttributes)
-                                                               attributes[key] = globalAttributes[key];
-
-                                                       attributesOrder.push.apply(attributesOrder, globalAttributesOrder);
-                                               }
-
-                                               // Attributes defined
-                                               if (attrData) {
-                                                       attrData = split(attrData, '|');
-                                                       for (ai = 0, al = attrData.length; ai < al; ai++) {
-                                                               matches = attrRuleRegExp.exec(attrData[ai]);
-                                                               if (matches) {
-                                                                       attr = {};
-                                                                       attrType = matches[1];
-                                                                       attrName = matches[2].replace(/::/g, ':');
-                                                                       prefix = matches[3];
-                                                                       value = matches[4];
-
-                                                                       // Required
-                                                                       if (attrType === '!') {
-                                                                               element.attributesRequired = element.attributesRequired || [];
-                                                                               element.attributesRequired.push(attrName);
-                                                                               attr.required = true;
-                                                                       }
-
-                                                                       // Denied from global
-                                                                       if (attrType === '-') {
-                                                                               delete attributes[attrName];
-                                                                               attributesOrder.splice(tinymce.inArray(attributesOrder, attrName), 1);
-                                                                               continue;
-                                                                       }
-
-                                                                       // Default value
-                                                                       if (prefix) {
-                                                                               // Default value
-                                                                               if (prefix === '=') {
-                                                                                       element.attributesDefault = element.attributesDefault || [];
-                                                                                       element.attributesDefault.push({name: attrName, value: value});
-                                                                                       attr.defaultValue = value;
-                                                                               }
-
-                                                                               // Forced value
-                                                                               if (prefix === ':') {
-                                                                                       element.attributesForced = element.attributesForced || [];
-                                                                                       element.attributesForced.push({name: attrName, value: value});
-                                                                                       attr.forcedValue = value;
-                                                                               }
-
-                                                                               // Required values
-                                                                               if (prefix === '<')
-                                                                                       attr.validValues = makeMap(value, '?');
-                                                                       }
-
-                                                                       // Check for attribute patterns
-                                                                       if (hasPatternsRegExp.test(attrName)) {
-                                                                               element.attributePatterns = element.attributePatterns || [];
-                                                                               attr.pattern = patternToRegExp(attrName);
-                                                                               element.attributePatterns.push(attr);
-                                                                       } else {
-                                                                               // Add attribute to order list if it doesn't already exist
-                                                                               if (!attributes[attrName])
-                                                                                       attributesOrder.push(attrName);
-
-                                                                               attributes[attrName] = attr;
-                                                                       }
-                                                               }
-                                                       }
-                                               }
-
-                                               // Global rule, store away these for later usage
-                                               if (!globalAttributes && elementName == '@') {
-                                                       globalAttributes = attributes;
-                                                       globalAttributesOrder = attributesOrder;
-                                               }
-
-                                               // Handle substitute elements such as b/strong
-                                               if (outputName) {
-                                                       element.outputName = elementName;
-                                                       elements[outputName] = element;
-                                               }
-
-                                               // Add pattern or exact element
-                                               if (hasPatternsRegExp.test(elementName)) {
-                                                       element.pattern = patternToRegExp(elementName);
-                                                       patternElements.push(element);
-                                               } else
-                                                       elements[elementName] = element;
-                                       }
-                               }
-                       }
-               };
-
-               function setValidElements(valid_elements) {
-                       elements = {};
-                       patternElements = [];
-
-                       addValidElements(valid_elements);
-
-                       each(schemaItems, function(element, name) {
-                               children[name] = element.children;
-                       });
-               };
-
-               // Adds custom non HTML elements to the schema
-               function addCustomElements(custom_elements) {
-                       var customElementRegExp = /^(~)?(.+)$/;
-
-                       if (custom_elements) {
-                               each(split(custom_elements), function(rule) {
-                                       var matches = customElementRegExp.exec(rule),
-                                               inline = matches[1] === '~',
-                                               cloneName = inline ? 'span' : 'div',
-                                               name = matches[2];
-
-                                       children[name] = children[cloneName];
-                                       customElementsMap[name] = cloneName;
-
-                                       // If it's not marked as inline then add it to valid block elements
-                                       if (!inline) {
-                                               blockElementsMap[name.toUpperCase()] = {};
-                                               blockElementsMap[name] = {};
-                                       }
-
-                                       // Add elements clone if needed
-                                       if (!elements[name]) {
-                                               elements[name] = elements[cloneName];
-                                       }
-
-                                       // Add custom elements at span/div positions
-                                       each(children, function(element, child) {
-                                               if (element[cloneName])
-                                                       element[name] = element[cloneName];
-                                       });
-                               });
-                       }
-               };
-
-               // Adds valid children to the schema object
-               function addValidChildren(valid_children) {
-                       var childRuleRegExp = /^([+\-]?)(\w+)\[([^\]]+)\]$/;
-
-                       if (valid_children) {
-                               each(split(valid_children), function(rule) {
-                                       var matches = childRuleRegExp.exec(rule), parent, prefix;
-
-                                       if (matches) {
-                                               prefix = matches[1];
-
-                                               // Add/remove items from default
-                                               if (prefix)
-                                                       parent = children[matches[2]];
-                                               else
-                                                       parent = children[matches[2]] = {'#comment' : {}};
-
-                                               parent = children[matches[2]];
-
-                                               each(split(matches[3], '|'), function(child) {
-                                                       if (prefix === '-')
-                                                               delete parent[child];
-                                                       else
-                                                               parent[child] = {};
-                                               });
-                                       }
-                               });
-                       }
-               };
-
-               function getElementRule(name) {
-                       var element = elements[name], i;
-
-                       // Exact match found
-                       if (element)
-                               return element;
-
-                       // No exact match then try the patterns
-                       i = patternElements.length;
-                       while (i--) {
-                               element = patternElements[i];
-
-                               if (element.pattern.test(name))
-                                       return element;
-                       }
-               };
-
-               if (!settings.valid_elements) {
-                       // No valid elements defined then clone the elements from the schema spec
-                       each(schemaItems, function(element, name) {
-                               elements[name] = {
-                                       attributes : element.attributes,
-                                       attributesOrder : element.attributesOrder
-                               };
-
-                               children[name] = element.children;
-                       });
-
-                       // Switch these on HTML4
-                       if (settings.schema != "html5") {
-                               each(split('strong/b,em/i'), function(item) {
-                                       item = split(item, '/');
-                                       elements[item[1]].outputName = item[0];
-                               });
-                       }
-
-                       // Add default alt attribute for images
-                       elements.img.attributesDefault = [{name: 'alt', value: ''}];
-
-                       // Remove these if they are empty by default
-                       each(split('ol,ul,sub,sup,blockquote,span,font,a,table,tbody,tr'), function(name) {
-                               if (elements[name]) {
-                                       elements[name].removeEmpty = true;
-                               }
-                       });
-
-                       // Padd these by default
-                       each(split('p,h1,h2,h3,h4,h5,h6,th,td,pre,div,address,caption'), function(name) {
-                               elements[name].paddEmpty = true;
-                       });
-               } else
-                       setValidElements(settings.valid_elements);
-
-               addCustomElements(settings.custom_elements);
-               addValidChildren(settings.valid_children);
-               addValidElements(settings.extended_valid_elements);
-
-               // Todo: Remove this when we fix list handling to be valid
-               addValidChildren('+ol[ul|ol],+ul[ul|ol]');
-
-               // Delete invalid elements
-               if (settings.invalid_elements) {
-                       tinymce.each(tinymce.explode(settings.invalid_elements), function(item) {
-                               if (elements[item])
-                                       delete elements[item];
-                       });
-               }
-
-               // If the user didn't allow span only allow internal spans
-               if (!getElementRule('span'))
-                       addValidElements('span[!data-mce-type|*]');
-
-               /**
-                * Name/value map object with valid parents and children to those parents.
-                *
-                * @example
-                * children = {
-                *    div:{p:{}, h1:{}}
-                * };
-                * @field children
-                * @type {Object}
-                */
-               self.children = children;
-
-               /**
-                * Name/value map object with valid styles for each element.
-                *
-                * @field styles
-                * @type {Object}
-                */
-               self.styles = validStyles;
-
-               /**
-                * Returns a map with boolean attributes.
-                *
-                * @method getBoolAttrs
-                * @return {Object} Name/value lookup map for boolean attributes.
-                */
-               self.getBoolAttrs = function() {
-                       return boolAttrMap;
-               };
-
-               /**
-                * Returns a map with block elements.
-                *
-                * @method getBlockElements
-                * @return {Object} Name/value lookup map for block elements.
-                */
-               self.getBlockElements = function() {
-                       return blockElementsMap;
-               };
-
-               /**
-                * Returns a map with text block elements. Such as: p,h1-h6,div,address
-                *
-                * @method getTextBlockElements
-                * @return {Object} Name/value lookup map for block elements.
-                */
-               self.getTextBlockElements = function() {
-                       return textBlockElementsMap;
-               };
-
-               /**
-                * Returns a map with short ended elements such as BR or IMG.
-                *
-                * @method getShortEndedElements
-                * @return {Object} Name/value lookup map for short ended elements.
-                */
-               self.getShortEndedElements = function() {
-                       return shortEndedElementsMap;
-               };
-
-               /**
-                * Returns a map with self closing tags such as <li>.
-                *
-                * @method getSelfClosingElements
-                * @return {Object} Name/value lookup map for self closing tags elements.
-                */
-               self.getSelfClosingElements = function() {
-                       return selfClosingElementsMap;
-               };
-
-               /**
-                * Returns a map with elements that should be treated as contents regardless if it has text
-                * content in them or not such as TD, VIDEO or IMG.
-                *
-                * @method getNonEmptyElements
-                * @return {Object} Name/value lookup map for non empty elements.
-                */
-               self.getNonEmptyElements = function() {
-                       return nonEmptyElementsMap;
-               };
-
-               /**
-                * Returns a map with elements where white space is to be preserved like PRE or SCRIPT.
-                *
-                * @method getWhiteSpaceElements
-                * @return {Object} Name/value lookup map for white space elements.
-                */
-               self.getWhiteSpaceElements = function() {
-                       return whiteSpaceElementsMap;
-               };
-
-               /**
-                * Returns true/false if the specified element and it's child is valid or not
-                * according to the schema.
-                *
-                * @method isValidChild
-                * @param {String} name Element name to check for.
-                * @param {String} child Element child to verify.
-                * @return {Boolean} True/false if the element is a valid child of the specified parent.
-                */
-               self.isValidChild = function(name, child) {
-                       var parent = children[name];
-
-                       return !!(parent && parent[child]);
-               };
-
-               /**
-                * Returns true/false if the specified element name and optional attribute is
-                * valid according to the schema.
-                *
-                * @method isValid
-                * @param {String} name Name of element to check.
-                * @param {String} attr Optional attribute name to check for.
-                * @return {Boolean} True/false if the element and attribute is valid.
-                */
-               self.isValid = function(name, attr) {
-                       var attrPatterns, i, rule = getElementRule(name);
-
-                       // Check if it's a valid element
-                       if (rule) {
-                               if (attr) {
-                                       // Check if attribute name exists
-                                       if (rule.attributes[attr]) {
-                                               return true;
-                                       }
-
-                                       // Check if attribute matches a regexp pattern
-                                       attrPatterns = rule.attributePatterns;
-                                       if (attrPatterns) {
-                                               i = attrPatterns.length;
-                                               while (i--) {
-                                                       if (attrPatterns[i].pattern.test(name)) {
-                                                               return true;
-                                                       }
-                                               }
-                                       }
-                               } else {
-                                       return true;
-                               }
-                       }
-
-                       // No match
-                       return false;
-               };
-
-               /**
-                * Returns true/false if the specified element is valid or not
-                * according to the schema.
-                *
-                * @method getElementRule
-                * @param {String} name Element name to check for.
-                * @return {Object} Element object or undefined if the element isn't valid.
-                */
-               self.getElementRule = getElementRule;
-
-               /**
-                * Returns an map object of all custom elements.
-                *
-                * @method getCustomElements
-                * @return {Object} Name/value map object of all custom elements.
-                */
-               self.getCustomElements = function() {
-                       return customElementsMap;
-               };
-
-               /**
-                * Parses a valid elements string and adds it to the schema. The valid elements format is for example "element[attr=default|otherattr]".
-                * Existing rules will be replaced with the ones specified, so this extends the schema.
-                *
-                * @method addValidElements
-                * @param {String} valid_elements String in the valid elements format to be parsed.
-                */
-               self.addValidElements = addValidElements;
-
-               /**
-                * Parses a valid elements string and sets it to the schema. The valid elements format is for example "element[attr=default|otherattr]".
-                * Existing rules will be replaced with the ones specified, so this extends the schema.
-                *
-                * @method setValidElements
-                * @param {String} valid_elements String in the valid elements format to be parsed.
-                */
-               self.setValidElements = setValidElements;
-
-               /**
-                * Adds custom non HTML elements to the schema.
-                *
-                * @method addCustomElements
-                * @param {String} custom_elements Comma separated list of custom elements to add.
-                */
-               self.addCustomElements = addCustomElements;
-
-               /**
-                * Parses a valid children string and adds them to the schema structure. The valid children format is for example: "element[child1|child2]".
-                *
-                * @method addValidChildren
-                * @param {String} valid_children Valid children elements string to parse
-                */
-               self.addValidChildren = addValidChildren;
-
-               self.elements = elements;
-       };
-})(tinymce);
index 74093164d0084ca2d884367770b5cbfb5d662d60..1cb8145117383a43e2610051c029391c94f5ff5d 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 83a003d720e12b396dd6a78f345838b63f42f93d..03abd2d9dea9299e989ea7b96f4c9b0f4c2ab356 100644 (file)
@@ -32,7 +32,8 @@ if ( isset($_GET['c']) && 1 == $_GET['c'] && isset($_SERVER['HTTP_ACCEPT_ENCODIN
        header('Content-Encoding: gzip');
        echo $file;
 } else {
-       echo get_file($basepath . '/tiny_mce.js');
-       echo get_file($basepath . '/wp-tinymce-schema.js');
+       // Back compat. This file shouldn't be used if this condition can occur (as in, if gzip isn't accepted).
+       echo get_file( $basepath . '/tinymce.min.js' );
+       echo get_file( $basepath . '/plugins/compat3x/plugin.min.js' );
 }
 exit;
index abebe3999ae949a199d666611445fbd4e5802f05..075e91838d93c8d2a8cf20ecded96873d9353899 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)):(this.vars[encodeURIComponent(a)]=Array(encodeURIComponent(b),!0),void 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];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
index 88d63a5b467bed8770908ba28980a608dc9afbca..5c6742f7a8e2db8c5b65b1f5a4933b59b0372802 100644 (file)
@@ -1,5 +1 @@
-//     Underscore.js 1.4.4
-//     http://underscorejs.org
-//     (c) 2009-2013 Jeremy Ashkenas, DocumentCloud Inc.
-//     Underscore may be freely distributed under the MIT license.
-(function(){var n=this,t=n._,r={},e=Array.prototype,u=Object.prototype,i=Function.prototype,a=e.push,o=e.slice,c=e.concat,l=u.toString,f=u.hasOwnProperty,s=e.forEach,p=e.map,h=e.reduce,v=e.reduceRight,d=e.filter,g=e.every,m=e.some,y=e.indexOf,b=e.lastIndexOf,x=Array.isArray,_=Object.keys,j=i.bind,w=function(n){return n instanceof w?n:this instanceof w?(this._wrapped=n,void 0):new w(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=w),exports._=w):n._=w,w.VERSION="1.4.4";var A=w.each=w.forEach=function(n,t,e){if(null!=n)if(s&&n.forEach===s)n.forEach(t,e);else if(n.length===+n.length){for(var u=0,i=n.length;i>u;u++)if(t.call(e,n[u],u,n)===r)return}else for(var a in n)if(w.has(n,a)&&t.call(e,n[a],a,n)===r)return};w.map=w.collect=function(n,t,r){var e=[];return null==n?e:p&&n.map===p?n.map(t,r):(A(n,function(n,u,i){e[e.length]=t.call(r,n,u,i)}),e)};var O="Reduce of empty array with no initial value";w.reduce=w.foldl=w.inject=function(n,t,r,e){var u=arguments.length>2;if(null==n&&(n=[]),h&&n.reduce===h)return e&&(t=w.bind(t,e)),u?n.reduce(t,r):n.reduce(t);if(A(n,function(n,i,a){u?r=t.call(e,r,n,i,a):(r=n,u=!0)}),!u)throw new TypeError(O);return r},w.reduceRight=w.foldr=function(n,t,r,e){var u=arguments.length>2;if(null==n&&(n=[]),v&&n.reduceRight===v)return e&&(t=w.bind(t,e)),u?n.reduceRight(t,r):n.reduceRight(t);var i=n.length;if(i!==+i){var a=w.keys(n);i=a.length}if(A(n,function(o,c,l){c=a?a[--i]:--i,u?r=t.call(e,r,n[c],c,l):(r=n[c],u=!0)}),!u)throw new TypeError(O);return r},w.find=w.detect=function(n,t,r){var e;return E(n,function(n,u,i){return t.call(r,n,u,i)?(e=n,!0):void 0}),e},w.filter=w.select=function(n,t,r){var e=[];return null==n?e:d&&n.filter===d?n.filter(t,r):(A(n,function(n,u,i){t.call(r,n,u,i)&&(e[e.length]=n)}),e)},w.reject=function(n,t,r){return w.filter(n,function(n,e,u){return!t.call(r,n,e,u)},r)},w.every=w.all=function(n,t,e){t||(t=w.identity);var u=!0;return null==n?u:g&&n.every===g?n.every(t,e):(A(n,function(n,i,a){return(u=u&&t.call(e,n,i,a))?void 0:r}),!!u)};var E=w.some=w.any=function(n,t,e){t||(t=w.identity);var u=!1;return null==n?u:m&&n.some===m?n.some(t,e):(A(n,function(n,i,a){return u||(u=t.call(e,n,i,a))?r:void 0}),!!u)};w.contains=w.include=function(n,t){return null==n?!1:y&&n.indexOf===y?n.indexOf(t)!=-1:E(n,function(n){return n===t})},w.invoke=function(n,t){var r=o.call(arguments,2),e=w.isFunction(t);return w.map(n,function(n){return(e?t:n[t]).apply(n,r)})},w.pluck=function(n,t){return w.map(n,function(n){return n[t]})},w.where=function(n,t,r){return w.isEmpty(t)?r?null:[]:w[r?"find":"filter"](n,function(n){for(var r in t)if(t[r]!==n[r])return!1;return!0})},w.findWhere=function(n,t){return w.where(n,t,!0)},w.max=function(n,t,r){if(!t&&w.isArray(n)&&n[0]===+n[0]&&65535>n.length)return Math.max.apply(Math,n);if(!t&&w.isEmpty(n))return-1/0;var e={computed:-1/0,value:-1/0};return A(n,function(n,u,i){var a=t?t.call(r,n,u,i):n;a>=e.computed&&(e={value:n,computed:a})}),e.value},w.min=function(n,t,r){if(!t&&w.isArray(n)&&n[0]===+n[0]&&65535>n.length)return Math.min.apply(Math,n);if(!t&&w.isEmpty(n))return 1/0;var e={computed:1/0,value:1/0};return A(n,function(n,u,i){var a=t?t.call(r,n,u,i):n;e.computed>a&&(e={value:n,computed:a})}),e.value},w.shuffle=function(n){var t,r=0,e=[];return A(n,function(n){t=w.random(r++),e[r-1]=e[t],e[t]=n}),e};var k=function(n){return w.isFunction(n)?n:function(t){return t[n]}};w.sortBy=function(n,t,r){var e=k(t);return w.pluck(w.map(n,function(n,t,u){return{value:n,index:t,criteria:e.call(r,n,t,u)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index<t.index?-1:1}),"value")};var F=function(n,t,r,e){var u={},i=k(t||w.identity);return A(n,function(t,a){var o=i.call(r,t,a,n);e(u,o,t)}),u};w.groupBy=function(n,t,r){return F(n,t,r,function(n,t,r){(w.has(n,t)?n[t]:n[t]=[]).push(r)})},w.countBy=function(n,t,r){return F(n,t,r,function(n,t){w.has(n,t)||(n[t]=0),n[t]++})},w.sortedIndex=function(n,t,r,e){r=null==r?w.identity:k(r);for(var u=r.call(e,t),i=0,a=n.length;a>i;){var o=i+a>>>1;u>r.call(e,n[o])?i=o+1:a=o}return i},w.toArray=function(n){return n?w.isArray(n)?o.call(n):n.length===+n.length?w.map(n,w.identity):w.values(n):[]},w.size=function(n){return null==n?0:n.length===+n.length?n.length:w.keys(n).length},w.first=w.head=w.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:o.call(n,0,t)},w.initial=function(n,t,r){return o.call(n,0,n.length-(null==t||r?1:t))},w.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:o.call(n,Math.max(n.length-t,0))},w.rest=w.tail=w.drop=function(n,t,r){return o.call(n,null==t||r?1:t)},w.compact=function(n){return w.filter(n,w.identity)};var R=function(n,t,r){return A(n,function(n){w.isArray(n)?t?a.apply(r,n):R(n,t,r):r.push(n)}),r};w.flatten=function(n,t){return R(n,t,[])},w.without=function(n){return w.difference(n,o.call(arguments,1))},w.uniq=w.unique=function(n,t,r,e){w.isFunction(t)&&(e=r,r=t,t=!1);var u=r?w.map(n,r,e):n,i=[],a=[];return A(u,function(r,e){(t?e&&a[a.length-1]===r:w.contains(a,r))||(a.push(r),i.push(n[e]))}),i},w.union=function(){return w.uniq(c.apply(e,arguments))},w.intersection=function(n){var t=o.call(arguments,1);return w.filter(w.uniq(n),function(n){return w.every(t,function(t){return w.indexOf(t,n)>=0})})},w.difference=function(n){var t=c.apply(e,o.call(arguments,1));return w.filter(n,function(n){return!w.contains(t,n)})},w.zip=function(){for(var n=o.call(arguments),t=w.max(w.pluck(n,"length")),r=Array(t),e=0;t>e;e++)r[e]=w.pluck(n,""+e);return r},w.object=function(n,t){if(null==n)return{};for(var r={},e=0,u=n.length;u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},w.indexOf=function(n,t,r){if(null==n)return-1;var e=0,u=n.length;if(r){if("number"!=typeof r)return e=w.sortedIndex(n,t),n[e]===t?e:-1;e=0>r?Math.max(0,u+r):r}if(y&&n.indexOf===y)return n.indexOf(t,r);for(;u>e;e++)if(n[e]===t)return e;return-1},w.lastIndexOf=function(n,t,r){if(null==n)return-1;var e=null!=r;if(b&&n.lastIndexOf===b)return e?n.lastIndexOf(t,r):n.lastIndexOf(t);for(var u=e?r:n.length;u--;)if(n[u]===t)return u;return-1},w.range=function(n,t,r){1>=arguments.length&&(t=n||0,n=0),r=arguments[2]||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=0,i=Array(e);e>u;)i[u++]=n,n+=r;return i},w.bind=function(n,t){if(n.bind===j&&j)return j.apply(n,o.call(arguments,1));var r=o.call(arguments,2);return function(){return n.apply(t,r.concat(o.call(arguments)))}},w.partial=function(n){var t=o.call(arguments,1);return function(){return n.apply(this,t.concat(o.call(arguments)))}},w.bindAll=function(n){var t=o.call(arguments,1);return 0===t.length&&(t=w.functions(n)),A(t,function(t){n[t]=w.bind(n[t],n)}),n},w.memoize=function(n,t){var r={};return t||(t=w.identity),function(){var e=t.apply(this,arguments);return w.has(r,e)?r[e]:r[e]=n.apply(this,arguments)}},w.delay=function(n,t){var r=o.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},w.defer=function(n){return w.delay.apply(w,[n,1].concat(o.call(arguments,1)))},w.throttle=function(n,t){var r,e,u,i,a=0,o=function(){a=new Date,u=null,i=n.apply(r,e)};return function(){var c=new Date,l=t-(c-a);return r=this,e=arguments,0>=l?(clearTimeout(u),u=null,a=c,i=n.apply(r,e)):u||(u=setTimeout(o,l)),i}},w.debounce=function(n,t,r){var e,u;return function(){var i=this,a=arguments,o=function(){e=null,r||(u=n.apply(i,a))},c=r&&!e;return clearTimeout(e),e=setTimeout(o,t),c&&(u=n.apply(i,a)),u}},w.once=function(n){var t,r=!1;return function(){return r?t:(r=!0,t=n.apply(this,arguments),n=null,t)}},w.wrap=function(n,t){return function(){var r=[n];return a.apply(r,arguments),t.apply(this,r)}},w.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length-1;r>=0;r--)t=[n[r].apply(this,t)];return t[0]}},w.after=function(n,t){return 0>=n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},w.keys=_||function(n){if(n!==Object(n))throw new TypeError("Invalid object");var t=[];for(var r in n)w.has(n,r)&&(t[t.length]=r);return t},w.values=function(n){var t=[];for(var r in n)w.has(n,r)&&t.push(n[r]);return t},w.pairs=function(n){var t=[];for(var r in n)w.has(n,r)&&t.push([r,n[r]]);return t},w.invert=function(n){var t={};for(var r in n)w.has(n,r)&&(t[n[r]]=r);return t},w.functions=w.methods=function(n){var t=[];for(var r in n)w.isFunction(n[r])&&t.push(r);return t.sort()},w.extend=function(n){return A(o.call(arguments,1),function(t){if(t)for(var r in t)n[r]=t[r]}),n},w.pick=function(n){var t={},r=c.apply(e,o.call(arguments,1));return A(r,function(r){r in n&&(t[r]=n[r])}),t},w.omit=function(n){var t={},r=c.apply(e,o.call(arguments,1));for(var u in n)w.contains(r,u)||(t[u]=n[u]);return t},w.defaults=function(n){return A(o.call(arguments,1),function(t){if(t)for(var r in t)null==n[r]&&(n[r]=t[r])}),n},w.clone=function(n){return w.isObject(n)?w.isArray(n)?n.slice():w.extend({},n):n},w.tap=function(n,t){return t(n),n};var I=function(n,t,r,e){if(n===t)return 0!==n||1/n==1/t;if(null==n||null==t)return n===t;n instanceof w&&(n=n._wrapped),t instanceof w&&(t=t._wrapped);var u=l.call(n);if(u!=l.call(t))return!1;switch(u){case"[object String]":return n==t+"";case"[object Number]":return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case"[object Date]":case"[object Boolean]":return+n==+t;case"[object RegExp]":return n.source==t.source&&n.global==t.global&&n.multiline==t.multiline&&n.ignoreCase==t.ignoreCase}if("object"!=typeof n||"object"!=typeof t)return!1;for(var i=r.length;i--;)if(r[i]==n)return e[i]==t;r.push(n),e.push(t);var a=0,o=!0;if("[object Array]"==u){if(a=n.length,o=a==t.length)for(;a--&&(o=I(n[a],t[a],r,e)););}else{var c=n.constructor,f=t.constructor;if(c!==f&&!(w.isFunction(c)&&c instanceof c&&w.isFunction(f)&&f instanceof f))return!1;for(var s in n)if(w.has(n,s)&&(a++,!(o=w.has(t,s)&&I(n[s],t[s],r,e))))break;if(o){for(s in t)if(w.has(t,s)&&!a--)break;o=!a}}return r.pop(),e.pop(),o};w.isEqual=function(n,t){return I(n,t,[],[])},w.isEmpty=function(n){if(null==n)return!0;if(w.isArray(n)||w.isString(n))return 0===n.length;for(var t in n)if(w.has(n,t))return!1;return!0},w.isElement=function(n){return!(!n||1!==n.nodeType)},w.isArray=x||function(n){return"[object Array]"==l.call(n)},w.isObject=function(n){return n===Object(n)},A(["Arguments","Function","String","Number","Date","RegExp"],function(n){w["is"+n]=function(t){return l.call(t)=="[object "+n+"]"}}),w.isArguments(arguments)||(w.isArguments=function(n){return!(!n||!w.has(n,"callee"))}),"function"!=typeof/./&&(w.isFunction=function(n){return"function"==typeof n}),w.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},w.isNaN=function(n){return w.isNumber(n)&&n!=+n},w.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"==l.call(n)},w.isNull=function(n){return null===n},w.isUndefined=function(n){return n===void 0},w.has=function(n,t){return f.call(n,t)},w.noConflict=function(){return n._=t,this},w.identity=function(n){return n},w.times=function(n,t,r){for(var e=Array(n),u=0;n>u;u++)e[u]=t.call(r,u);return e},w.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))};var M={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;"}};M.unescape=w.invert(M.escape);var S={escape:RegExp("["+w.keys(M.escape).join("")+"]","g"),unescape:RegExp("("+w.keys(M.unescape).join("|")+")","g")};w.each(["escape","unescape"],function(n){w[n]=function(t){return null==t?"":(""+t).replace(S[n],function(t){return M[n][t]})}}),w.result=function(n,t){if(null==n)return null;var r=n[t];return w.isFunction(r)?r.call(n):r},w.mixin=function(n){A(w.functions(n),function(t){var r=w[t]=n[t];w.prototype[t]=function(){var n=[this._wrapped];return a.apply(n,arguments),D.call(this,r.apply(w,n))}})};var N=0;w.uniqueId=function(n){var t=++N+"";return n?n+t:t},w.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var T=/(.)^/,q={"'":"'","\\":"\\","\r":"r","\n":"n","       ":"t","\u2028":"u2028","\u2029":"u2029"},B=/\\|'|\r|\n|\t|\u2028|\u2029/g;w.template=function(n,t,r){var e;r=w.defaults({},r,w.templateSettings);var u=RegExp([(r.escape||T).source,(r.interpolate||T).source,(r.evaluate||T).source].join("|")+"|$","g"),i=0,a="__p+='";n.replace(u,function(t,r,e,u,o){return a+=n.slice(i,o).replace(B,function(n){return"\\"+q[n]}),r&&(a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'"),e&&(a+="'+\n((__t=("+e+"))==null?'':__t)+\n'"),u&&(a+="';\n"+u+"\n__p+='"),i=o+t.length,t}),a+="';\n",r.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{e=Function(r.variable||"obj","_",a)}catch(o){throw o.source=a,o}if(t)return e(t,w);var c=function(n){return e.call(this,n,w)};return c.source="function("+(r.variable||"obj")+"){\n"+a+"}",c},w.chain=function(n){return w(n).chain()};var D=function(n){return this._chain?w(n).chain():n};w.mixin(w),A(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=e[n];w.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!=n&&"splice"!=n||0!==r.length||delete r[0],D.call(this,r)}}),A(["concat","join","slice"],function(n){var t=e[n];w.prototype[n]=function(){return D.call(this,t.apply(this._wrapped,arguments))}}),w.extend(w.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this);
\ No newline at end of file
+(function(){var a=this,b=a._,c={},d=Array.prototype,e=Object.prototype,f=Function.prototype,g=d.push,h=d.slice,i=d.concat,j=e.toString,k=e.hasOwnProperty,l=d.forEach,m=d.map,n=d.reduce,o=d.reduceRight,p=d.filter,q=d.every,r=d.some,s=d.indexOf,t=d.lastIndexOf,u=Array.isArray,v=Object.keys,w=f.bind,x=function(a){return a instanceof x?a:this instanceof x?void(this._wrapped=a):new x(a)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=x),exports._=x):a._=x,x.VERSION="1.6.0";var y=x.each=x.forEach=function(a,b,d){if(null==a)return a;if(l&&a.forEach===l)a.forEach(b,d);else if(a.length===+a.length){for(var e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===c)return}else for(var g=x.keys(a),e=0,f=g.length;f>e;e++)if(b.call(d,a[g[e]],g[e],a)===c)return;return a};x.map=x.collect=function(a,b,c){var d=[];return null==a?d:m&&a.map===m?a.map(b,c):(y(a,function(a,e,f){d.push(b.call(c,a,e,f))}),d)};var z="Reduce of empty array with no initial value";x.reduce=x.foldl=x.inject=function(a,b,c,d){var e=arguments.length>2;if(null==a&&(a=[]),n&&a.reduce===n)return d&&(b=x.bind(b,d)),e?a.reduce(b,c):a.reduce(b);if(y(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)}),!e)throw new TypeError(z);return c},x.reduceRight=x.foldr=function(a,b,c,d){var e=arguments.length>2;if(null==a&&(a=[]),o&&a.reduceRight===o)return d&&(b=x.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=a.length;if(f!==+f){var g=x.keys(a);f=g.length}if(y(a,function(h,i,j){i=g?g[--f]:--f,e?c=b.call(d,c,a[i],i,j):(c=a[i],e=!0)}),!e)throw new TypeError(z);return c},x.find=x.detect=function(a,b,c){var d;return A(a,function(a,e,f){return b.call(c,a,e,f)?(d=a,!0):void 0}),d},x.filter=x.select=function(a,b,c){var d=[];return null==a?d:p&&a.filter===p?a.filter(b,c):(y(a,function(a,e,f){b.call(c,a,e,f)&&d.push(a)}),d)},x.reject=function(a,b,c){return x.filter(a,function(a,d,e){return!b.call(c,a,d,e)},c)},x.every=x.all=function(a,b,d){b||(b=x.identity);var e=!0;return null==a?e:q&&a.every===q?a.every(b,d):(y(a,function(a,f,g){return(e=e&&b.call(d,a,f,g))?void 0:c}),!!e)};var A=x.some=x.any=function(a,b,d){b||(b=x.identity);var e=!1;return null==a?e:r&&a.some===r?a.some(b,d):(y(a,function(a,f,g){return e||(e=b.call(d,a,f,g))?c:void 0}),!!e)};x.contains=x.include=function(a,b){return null==a?!1:s&&a.indexOf===s?-1!=a.indexOf(b):A(a,function(a){return a===b})},x.invoke=function(a,b){var c=h.call(arguments,2),d=x.isFunction(b);return x.map(a,function(a){return(d?b:a[b]).apply(a,c)})},x.pluck=function(a,b){return x.map(a,x.property(b))},x.where=function(a,b){return x.filter(a,x.matches(b))},x.findWhere=function(a,b){return x.find(a,x.matches(b))},x.max=function(a,b,c){if(!b&&x.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.max.apply(Math,a);var d=-1/0,e=-1/0;return y(a,function(a,f,g){var h=b?b.call(c,a,f,g):a;h>e&&(d=a,e=h)}),d},x.min=function(a,b,c){if(!b&&x.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.min.apply(Math,a);var d=1/0,e=1/0;return y(a,function(a,f,g){var h=b?b.call(c,a,f,g):a;e>h&&(d=a,e=h)}),d},x.shuffle=function(a){var b,c=0,d=[];return y(a,function(a){b=x.random(c++),d[c-1]=d[b],d[b]=a}),d},x.sample=function(a,b,c){return null==b||c?(a.length!==+a.length&&(a=x.values(a)),a[x.random(a.length-1)]):x.shuffle(a).slice(0,Math.max(0,b))};var B=function(a){return null==a?x.identity:x.isFunction(a)?a:x.property(a)};x.sortBy=function(a,b,c){return b=B(b),x.pluck(x.map(a,function(a,d,e){return{value:a,index:d,criteria:b.call(c,a,d,e)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;if(c!==d){if(c>d||void 0===c)return 1;if(d>c||void 0===d)return-1}return a.index-b.index}),"value")};var C=function(a){return function(b,c,d){var e={};return c=B(c),y(b,function(f,g){var h=c.call(d,f,g,b);a(e,h,f)}),e}};x.groupBy=C(function(a,b,c){x.has(a,b)?a[b].push(c):a[b]=[c]}),x.indexBy=C(function(a,b,c){a[b]=c}),x.countBy=C(function(a,b){x.has(a,b)?a[b]++:a[b]=1}),x.sortedIndex=function(a,b,c,d){c=B(c);for(var e=c.call(d,b),f=0,g=a.length;g>f;){var h=f+g>>>1;c.call(d,a[h])<e?f=h+1:g=h}return f},x.toArray=function(a){return a?x.isArray(a)?h.call(a):a.length===+a.length?x.map(a,x.identity):x.values(a):[]},x.size=function(a){return null==a?0:a.length===+a.length?a.length:x.keys(a).length},x.first=x.head=x.take=function(a,b,c){return null==a?void 0:null==b||c?a[0]:0>b?[]:h.call(a,0,b)},x.initial=function(a,b,c){return h.call(a,0,a.length-(null==b||c?1:b))},x.last=function(a,b,c){return null==a?void 0:null==b||c?a[a.length-1]:h.call(a,Math.max(a.length-b,0))},x.rest=x.tail=x.drop=function(a,b,c){return h.call(a,null==b||c?1:b)},x.compact=function(a){return x.filter(a,x.identity)};var D=function(a,b,c){return b&&x.every(a,x.isArray)?i.apply(c,a):(y(a,function(a){x.isArray(a)||x.isArguments(a)?b?g.apply(c,a):D(a,b,c):c.push(a)}),c)};x.flatten=function(a,b){return D(a,b,[])},x.without=function(a){return x.difference(a,h.call(arguments,1))},x.partition=function(a,b){var c=[],d=[];return y(a,function(a){(b(a)?c:d).push(a)}),[c,d]},x.uniq=x.unique=function(a,b,c,d){x.isFunction(b)&&(d=c,c=b,b=!1);var e=c?x.map(a,c,d):a,f=[],g=[];return y(e,function(c,d){(b?d&&g[g.length-1]===c:x.contains(g,c))||(g.push(c),f.push(a[d]))}),f},x.union=function(){return x.uniq(x.flatten(arguments,!0))},x.intersection=function(a){var b=h.call(arguments,1);return x.filter(x.uniq(a),function(a){return x.every(b,function(b){return x.contains(b,a)})})},x.difference=function(a){var b=i.apply(d,h.call(arguments,1));return x.filter(a,function(a){return!x.contains(b,a)})},x.zip=function(){for(var a=x.max(x.pluck(arguments,"length").concat(0)),b=new Array(a),c=0;a>c;c++)b[c]=x.pluck(arguments,""+c);return b},x.object=function(a,b){if(null==a)return{};for(var c={},d=0,e=a.length;e>d;d++)b?c[a[d]]=b[d]:c[a[d][0]]=a[d][1];return c},x.indexOf=function(a,b,c){if(null==a)return-1;var d=0,e=a.length;if(c){if("number"!=typeof c)return d=x.sortedIndex(a,b),a[d]===b?d:-1;d=0>c?Math.max(0,e+c):c}if(s&&a.indexOf===s)return a.indexOf(b,c);for(;e>d;d++)if(a[d]===b)return d;return-1},x.lastIndexOf=function(a,b,c){if(null==a)return-1;var d=null!=c;if(t&&a.lastIndexOf===t)return d?a.lastIndexOf(b,c):a.lastIndexOf(b);for(var e=d?c:a.length;e--;)if(a[e]===b)return e;return-1},x.range=function(a,b,c){arguments.length<=1&&(b=a||0,a=0),c=arguments[2]||1;for(var d=Math.max(Math.ceil((b-a)/c),0),e=0,f=new Array(d);d>e;)f[e++]=a,a+=c;return f};var E=function(){};x.bind=function(a,b){var c,d;if(w&&a.bind===w)return w.apply(a,h.call(arguments,1));if(!x.isFunction(a))throw new TypeError;return c=h.call(arguments,2),d=function(){if(!(this instanceof d))return a.apply(b,c.concat(h.call(arguments)));E.prototype=a.prototype;var e=new E;E.prototype=null;var f=a.apply(e,c.concat(h.call(arguments)));return Object(f)===f?f:e}},x.partial=function(a){var b=h.call(arguments,1);return function(){for(var c=0,d=b.slice(),e=0,f=d.length;f>e;e++)d[e]===x&&(d[e]=arguments[c++]);for(;c<arguments.length;)d.push(arguments[c++]);return a.apply(this,d)}},x.bindAll=function(a){var b=h.call(arguments,1);if(0===b.length)throw new Error("bindAll must be passed function names");return y(b,function(b){a[b]=x.bind(a[b],a)}),a},x.memoize=function(a,b){var c={};return b||(b=x.identity),function(){var d=b.apply(this,arguments);return x.has(c,d)?c[d]:c[d]=a.apply(this,arguments)}},x.delay=function(a,b){var c=h.call(arguments,2);return setTimeout(function(){return a.apply(null,c)},b)},x.defer=function(a){return x.delay.apply(x,[a,1].concat(h.call(arguments,1)))},x.throttle=function(a,b,c){var d,e,f,g=null,h=0;c||(c={});var i=function(){h=c.leading===!1?0:x.now(),g=null,f=a.apply(d,e),d=e=null};return function(){var j=x.now();h||c.leading!==!1||(h=j);var k=b-(j-h);return d=this,e=arguments,0>=k?(clearTimeout(g),g=null,h=j,f=a.apply(d,e),d=e=null):g||c.trailing===!1||(g=setTimeout(i,k)),f}},x.debounce=function(a,b,c){var d,e,f,g,h,i=function(){var j=x.now()-g;b>j?d=setTimeout(i,b-j):(d=null,c||(h=a.apply(f,e),f=e=null))};return function(){f=this,e=arguments,g=x.now();var j=c&&!d;return d||(d=setTimeout(i,b)),j&&(h=a.apply(f,e),f=e=null),h}},x.once=function(a){var b,c=!1;return function(){return c?b:(c=!0,b=a.apply(this,arguments),a=null,b)}},x.wrap=function(a,b){return x.partial(b,a)},x.compose=function(){var a=arguments;return function(){for(var b=arguments,c=a.length-1;c>=0;c--)b=[a[c].apply(this,b)];return b[0]}},x.after=function(a,b){return function(){return--a<1?b.apply(this,arguments):void 0}},x.keys=function(a){if(!x.isObject(a))return[];if(v)return v(a);var b=[];for(var c in a)x.has(a,c)&&b.push(c);return b},x.values=function(a){for(var b=x.keys(a),c=b.length,d=new Array(c),e=0;c>e;e++)d[e]=a[b[e]];return d},x.pairs=function(a){for(var b=x.keys(a),c=b.length,d=new Array(c),e=0;c>e;e++)d[e]=[b[e],a[b[e]]];return d},x.invert=function(a){for(var b={},c=x.keys(a),d=0,e=c.length;e>d;d++)b[a[c[d]]]=c[d];return b},x.functions=x.methods=function(a){var b=[];for(var c in a)x.isFunction(a[c])&&b.push(c);return b.sort()},x.extend=function(a){return y(h.call(arguments,1),function(b){if(b)for(var c in b)a[c]=b[c]}),a},x.pick=function(a){var b={},c=i.apply(d,h.call(arguments,1));return y(c,function(c){c in a&&(b[c]=a[c])}),b},x.omit=function(a){var b={},c=i.apply(d,h.call(arguments,1));for(var e in a)x.contains(c,e)||(b[e]=a[e]);return b},x.defaults=function(a){return y(h.call(arguments,1),function(b){if(b)for(var c in b)void 0===a[c]&&(a[c]=b[c])}),a},x.clone=function(a){return x.isObject(a)?x.isArray(a)?a.slice():x.extend({},a):a},x.tap=function(a,b){return b(a),a};var F=function(a,b,c,d){if(a===b)return 0!==a||1/a==1/b;if(null==a||null==b)return a===b;a instanceof x&&(a=a._wrapped),b instanceof x&&(b=b._wrapped);var e=j.call(a);if(e!=j.call(b))return!1;switch(e){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if("object"!=typeof a||"object"!=typeof b)return!1;for(var f=c.length;f--;)if(c[f]==a)return d[f]==b;var g=a.constructor,h=b.constructor;if(g!==h&&!(x.isFunction(g)&&g instanceof g&&x.isFunction(h)&&h instanceof h)&&"constructor"in a&&"constructor"in b)return!1;c.push(a),d.push(b);var i=0,k=!0;if("[object Array]"==e){if(i=a.length,k=i==b.length)for(;i--&&(k=F(a[i],b[i],c,d)););}else{for(var l in a)if(x.has(a,l)&&(i++,!(k=x.has(b,l)&&F(a[l],b[l],c,d))))break;if(k){for(l in b)if(x.has(b,l)&&!i--)break;k=!i}}return c.pop(),d.pop(),k};x.isEqual=function(a,b){return F(a,b,[],[])},x.isEmpty=function(a){if(null==a)return!0;if(x.isArray(a)||x.isString(a))return 0===a.length;for(var b in a)if(x.has(a,b))return!1;return!0},x.isElement=function(a){return!(!a||1!==a.nodeType)},x.isArray=u||function(a){return"[object Array]"==j.call(a)},x.isObject=function(a){return a===Object(a)},y(["Arguments","Function","String","Number","Date","RegExp"],function(a){x["is"+a]=function(b){return j.call(b)=="[object "+a+"]"}}),x.isArguments(arguments)||(x.isArguments=function(a){return!(!a||!x.has(a,"callee"))}),"function"!=typeof/./&&(x.isFunction=function(a){return"function"==typeof a}),x.isFinite=function(a){return isFinite(a)&&!isNaN(parseFloat(a))},x.isNaN=function(a){return x.isNumber(a)&&a!=+a},x.isBoolean=function(a){return a===!0||a===!1||"[object Boolean]"==j.call(a)},x.isNull=function(a){return null===a},x.isUndefined=function(a){return void 0===a},x.has=function(a,b){return k.call(a,b)},x.noConflict=function(){return a._=b,this},x.identity=function(a){return a},x.constant=function(a){return function(){return a}},x.property=function(a){return function(b){return b[a]}},x.matches=function(a){return function(b){if(b===a)return!0;for(var c in a)if(a[c]!==b[c])return!1;return!0}},x.times=function(a,b,c){for(var d=Array(Math.max(0,a)),e=0;a>e;e++)d[e]=b.call(c,e);return d},x.random=function(a,b){return null==b&&(b=a,a=0),a+Math.floor(Math.random()*(b-a+1))},x.now=Date.now||function(){return(new Date).getTime()};var G={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"}};G.unescape=x.invert(G.escape);var H={escape:new RegExp("["+x.keys(G.escape).join("")+"]","g"),unescape:new RegExp("("+x.keys(G.unescape).join("|")+")","g")};x.each(["escape","unescape"],function(a){x[a]=function(b){return null==b?"":(""+b).replace(H[a],function(b){return G[a][b]})}}),x.result=function(a,b){if(null==a)return void 0;var c=a[b];return x.isFunction(c)?c.call(a):c},x.mixin=function(a){y(x.functions(a),function(b){var c=x[b]=a[b];x.prototype[b]=function(){var a=[this._wrapped];return g.apply(a,arguments),M.call(this,c.apply(x,a))}})};var I=0;x.uniqueId=function(a){var b=++I+"";return a?a+b:b},x.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var J=/(.)^/,K={"'":"'","\\":"\\","\r":"r","\n":"n","  ":"t","\u2028":"u2028","\u2029":"u2029"},L=/\\|'|\r|\n|\t|\u2028|\u2029/g;x.template=function(a,b,c){var d;c=x.defaults({},c,x.templateSettings);var e=new RegExp([(c.escape||J).source,(c.interpolate||J).source,(c.evaluate||J).source].join("|")+"|$","g"),f=0,g="__p+='";a.replace(e,function(b,c,d,e,h){return g+=a.slice(f,h).replace(L,function(a){return"\\"+K[a]}),c&&(g+="'+\n((__t=("+c+"))==null?'':_.escape(__t))+\n'"),d&&(g+="'+\n((__t=("+d+"))==null?'':__t)+\n'"),e&&(g+="';\n"+e+"\n__p+='"),f=h+b.length,b}),g+="';\n",c.variable||(g="with(obj||{}){\n"+g+"}\n"),g="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+g+"return __p;\n";try{d=new Function(c.variable||"obj","_",g)}catch(h){throw h.source=g,h}if(b)return d(b,x);var i=function(a){return d.call(this,a,x)};return i.source="function("+(c.variable||"obj")+"){\n"+g+"}",i},x.chain=function(a){return x(a).chain()};var M=function(a){return this._chain?x(a).chain():a};x.mixin(x),y(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=d[a];x.prototype[a]=function(){var c=this._wrapped;return b.apply(c,arguments),"shift"!=a&&"splice"!=a||0!==c.length||delete c[0],M.call(this,c)}}),y(["concat","join","slice"],function(a){var b=d[a];x.prototype[a]=function(){return M.call(this,b.apply(this._wrapped,arguments))}}),x.extend(x.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}}),"function"==typeof define&&define.amd&&define("underscore",[],function(){return x})}).call(this);
\ No newline at end of file
index e3e1268a3d5110bc1a41a197e2d9c913800752d0..fc7b25c1bf220bc8ce912d4df8943d0b674ad7ab 100644 (file)
@@ -1 +1 @@
-!function(a){function b(){var b,d=a("#wp-auth-check"),f=a("#wp-auth-check-form"),g=e.find(".wp-auth-fallback-expired"),h=!1;f.length&&(a(window).on("beforeunload.wp-auth-check",function(a){a.originalEvent.returnValue=window.authcheckL10n.beforeunload}),b=a('<iframe id="wp-auth-check-frame" frameborder="0">').attr("title",g.text()),b.load(function(){var b,i;h=!0;try{i=a(this).contents().find("body"),b=i.height()}catch(j){return e.addClass("fallback"),d.css("max-height",""),f.remove(),g.focus(),void 0}b?i&&i.hasClass("interim-login-success")?c():d.css("max-height",b+40+"px"):i&&i.length||(e.addClass("fallback"),d.css("max-height",""),f.remove(),g.focus())}).attr("src",f.data("src")),a("#wp-auth-check-form").append(b)),e.removeClass("hidden"),b?(b.focus(),setTimeout(function(){h||(e.addClass("fallback"),f.remove(),g.focus())},1e4)):g.focus()}function c(){a(window).off("beforeunload.wp-auth-check"),"undefined"==typeof adminpage||"post-php"!==adminpage&&"post-new-php"!==adminpage||"undefined"==typeof wp||!wp.heartbeat||wp.heartbeat.connectNow(),e.fadeOut(200,function(){e.addClass("hidden").css("display",""),a("#wp-auth-check-frame").remove()})}function d(){var a=parseInt(window.authcheckL10n.interval,10)||180;f=(new Date).getTime()+1e3*a}var e,f;a(document).on("heartbeat-tick.wp-auth-check",function(a,f){"wp-auth-check"in f&&(d(),!f["wp-auth-check"]&&e.hasClass("hidden")?b():f["wp-auth-check"]&&!e.hasClass("hidden")&&c())}).on("heartbeat-send.wp-auth-check",function(a,b){(new Date).getTime()>f&&(b["wp-auth-check"]=!0)}).ready(function(){d(),e=a("#wp-auth-check-wrap"),e.find(".wp-auth-check-close").on("click",function(){c()})})}(jQuery);
\ No newline at end of file
+!function(a){function b(){var b,d=a("#wp-auth-check"),f=a("#wp-auth-check-form"),g=e.find(".wp-auth-fallback-expired"),h=!1;f.length&&(a(window).on("beforeunload.wp-auth-check",function(a){a.originalEvent.returnValue=window.authcheckL10n.beforeunload}),b=a('<iframe id="wp-auth-check-frame" frameborder="0">').attr("title",g.text()),b.load(function(){var b,i;h=!0;try{i=a(this).contents().find("body"),b=i.height()}catch(j){return e.addClass("fallback"),d.css("max-height",""),f.remove(),void g.focus()}b?i&&i.hasClass("interim-login-success")?c():d.css("max-height",b+40+"px"):i&&i.length||(e.addClass("fallback"),d.css("max-height",""),f.remove(),g.focus())}).attr("src",f.data("src")),a("#wp-auth-check-form").append(b)),e.removeClass("hidden"),b?(b.focus(),setTimeout(function(){h||(e.addClass("fallback"),f.remove(),g.focus())},1e4)):g.focus()}function c(){a(window).off("beforeunload.wp-auth-check"),"undefined"==typeof adminpage||"post-php"!==adminpage&&"post-new-php"!==adminpage||"undefined"==typeof wp||!wp.heartbeat||wp.heartbeat.connectNow(),e.fadeOut(200,function(){e.addClass("hidden").css("display",""),a("#wp-auth-check-frame").remove()})}function d(){var a=parseInt(window.authcheckL10n.interval,10)||180;f=(new Date).getTime()+1e3*a}var e,f;a(document).on("heartbeat-tick.wp-auth-check",function(a,f){"wp-auth-check"in f&&(d(),!f["wp-auth-check"]&&e.hasClass("hidden")?b():f["wp-auth-check"]&&!e.hasClass("hidden")&&c())}).on("heartbeat-send.wp-auth-check",function(a,b){(new Date).getTime()>f&&(b["wp-auth-check"]=!0)}).ready(function(){d(),e=a("#wp-auth-check-wrap"),e.find(".wp-auth-check-close").on("click",function(){c()})})}(jQuery);
\ No newline at end of file
index 9e0041d4d09fe174cc36951b40170fe9a11896ba..0db9161faacb8fa1db4fe3b3e577845c6e6d7f8c 100644 (file)
@@ -340,10 +340,12 @@ window.wp = window.wp || {};
                // The constructor for the `Views` manager.
                Subviews: wp.Backbone.Subviews,
 
-               constructor: function() {
+               constructor: function( options ) {
                        this.views = new this.Subviews( this, this.views );
                        this.on( 'ready', this.ready, this );
 
+                       this.options = options || {};
+
                        Backbone.View.apply( this, arguments );
                },
 
index 6f21210da56ca8d2695b026e611ca0ad40f527be..1edeedf596a32355e96c8c2affe88c3a08358551 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){wp.Backbone={},wp.Backbone.Subviews=function(a,b){this.view=a,this._views=_.isArray(b)?{"":b}:b||{}},wp.Backbone.Subviews.extend=Backbone.Model.extend,_.extend(wp.Backbone.Subviews.prototype,{all:function(){return _.flatten(this._views)},get:function(a){return a=a||"",this._views[a]},first:function(a){var b=this.get(a);return b&&b.length?b[0]:null},set:function(a,b,c){var d,e;return _.isString(a)||(c=b,b=a,a=""),c=c||{},b=_.isArray(b)?b:[b],d=this.get(a),e=b,d&&(c.add?_.isUndefined(c.at)?e=d.concat(b):(e=d,e.splice.apply(e,[c.at,0].concat(b))):(_.each(e,function(a){a.__detach=!0}),_.each(d,function(a){a.__detach?a.$el.detach():a.remove()}),_.each(e,function(a){delete a.__detach}))),this._views[a]=e,_.each(b,function(b){var c=b.Views||wp.Backbone.Subviews,d=b.views=b.views||new c(b);d.parent=this.view,d.selector=a},this),c.silent||this._attach(a,b,_.extend({ready:this._isReady()},c)),this},add:function(a,b,c){return _.isString(a)||(c=b,b=a,a=""),this.set(a,b,_.extend({add:!0},c))},unset:function(a,b,c){var d;return _.isString(a)||(c=b,b=a,a=""),b=b||[],(d=this.get(a))&&(b=_.isArray(b)?b:[b],this._views[a]=b.length?_.difference(d,b):[]),c&&c.silent||_.invoke(b,"remove"),this},detach:function(){return a(_.pluck(this.all(),"el")).detach(),this},render:function(){var a={ready:this._isReady()};return _.each(this._views,function(b,c){this._attach(c,b,a)},this),this.rendered=!0,this},remove:function(a){return a&&a.silent||(this.parent&&this.parent.views&&this.parent.views.unset(this.selector,this.view,{silent:!0}),delete this.parent,delete this.selector),_.invoke(this.all(),"remove"),this._views=[],this},replace:function(a,b){return a.html(b),this},insert:function(a,b,c){var d,e=c&&c.at;return _.isNumber(e)&&(d=a.children()).length>e?d.eq(e).before(b):a.append(b),this},ready:function(){this.view.trigger("ready"),_.chain(this.all()).map(function(a){return a.views}).flatten().where({attached:!0}).invoke("ready")},_attach:function(a,b,c){var d,e=a?this.view.$(a):this.view.$el;return e.length?(d=_.chain(b).pluck("views").flatten().value(),_.each(d,function(a){a.rendered||(a.view.render(),a.rendered=!0)},this),this[c.add?"insert":"replace"](e,_.pluck(b,"el"),c),_.each(d,function(a){a.attached=!0,c.ready&&a.ready()},this),this):this},_isReady:function(){for(var a=this.view.el;a;){if(a===document.body)return!0;a=a.parentNode}return!1}}),wp.Backbone.View=Backbone.View.extend({Subviews:wp.Backbone.Subviews,constructor:function(){this.views=new this.Subviews(this,this.views),this.on("ready",this.ready,this),Backbone.View.apply(this,arguments)},remove:function(){var a=Backbone.View.prototype.remove.apply(this,arguments);return this.views&&this.views.remove(),a},render:function(){var a;return this.prepare&&(a=this.prepare()),this.views.detach(),this.template&&(a=a||{},this.trigger("prepare",a),this.$el.html(this.template(a))),this.views.render(),this},prepare:function(){return this.options},ready:function(){}})}(jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a){wp.Backbone={},wp.Backbone.Subviews=function(a,b){this.view=a,this._views=_.isArray(b)?{"":b}:b||{}},wp.Backbone.Subviews.extend=Backbone.Model.extend,_.extend(wp.Backbone.Subviews.prototype,{all:function(){return _.flatten(this._views)},get:function(a){return a=a||"",this._views[a]},first:function(a){var b=this.get(a);return b&&b.length?b[0]:null},set:function(a,b,c){var d,e;return _.isString(a)||(c=b,b=a,a=""),c=c||{},b=_.isArray(b)?b:[b],d=this.get(a),e=b,d&&(c.add?_.isUndefined(c.at)?e=d.concat(b):(e=d,e.splice.apply(e,[c.at,0].concat(b))):(_.each(e,function(a){a.__detach=!0}),_.each(d,function(a){a.__detach?a.$el.detach():a.remove()}),_.each(e,function(a){delete a.__detach}))),this._views[a]=e,_.each(b,function(b){var c=b.Views||wp.Backbone.Subviews,d=b.views=b.views||new c(b);d.parent=this.view,d.selector=a},this),c.silent||this._attach(a,b,_.extend({ready:this._isReady()},c)),this},add:function(a,b,c){return _.isString(a)||(c=b,b=a,a=""),this.set(a,b,_.extend({add:!0},c))},unset:function(a,b,c){var d;return _.isString(a)||(c=b,b=a,a=""),b=b||[],(d=this.get(a))&&(b=_.isArray(b)?b:[b],this._views[a]=b.length?_.difference(d,b):[]),c&&c.silent||_.invoke(b,"remove"),this},detach:function(){return a(_.pluck(this.all(),"el")).detach(),this},render:function(){var a={ready:this._isReady()};return _.each(this._views,function(b,c){this._attach(c,b,a)},this),this.rendered=!0,this},remove:function(a){return a&&a.silent||(this.parent&&this.parent.views&&this.parent.views.unset(this.selector,this.view,{silent:!0}),delete this.parent,delete this.selector),_.invoke(this.all(),"remove"),this._views=[],this},replace:function(a,b){return a.html(b),this},insert:function(a,b,c){var d,e=c&&c.at;return _.isNumber(e)&&(d=a.children()).length>e?d.eq(e).before(b):a.append(b),this},ready:function(){this.view.trigger("ready"),_.chain(this.all()).map(function(a){return a.views}).flatten().where({attached:!0}).invoke("ready")},_attach:function(a,b,c){var d,e=a?this.view.$(a):this.view.$el;return e.length?(d=_.chain(b).pluck("views").flatten().value(),_.each(d,function(a){a.rendered||(a.view.render(),a.rendered=!0)},this),this[c.add?"insert":"replace"](e,_.pluck(b,"el"),c),_.each(d,function(a){a.attached=!0,c.ready&&a.ready()},this),this):this},_isReady:function(){for(var a=this.view.el;a;){if(a===document.body)return!0;a=a.parentNode}return!1}}),wp.Backbone.View=Backbone.View.extend({Subviews:wp.Backbone.Subviews,constructor:function(a){this.views=new this.Subviews(this,this.views),this.on("ready",this.ready,this),this.options=a||{},Backbone.View.apply(this,arguments)},remove:function(){var a=Backbone.View.prototype.remove.apply(this,arguments);return this.views&&this.views.remove(),a},render:function(){var a;return this.prepare&&(a=this.prepare()),this.views.detach(),this.template&&(a=a||{},this.trigger("prepare",a),this.$el.html(this.template(a))),this.views.render(),this},prepare:function(){return this.options},ready:function(){}})}(jQuery);
\ No newline at end of file
index bb9367e5ae3084ac292b08313357d21de424b2c0..f31db9b556e37117f03635e226720de8b3d709ee 100644 (file)
@@ -309,7 +309,11 @@ wpList = {
        },
 
        add: function( e, s ) {
-               e = $( $.trim(e) ); // Trim leading whitespaces
+               if ( 'string' == typeof e ) {
+                       e = $( $.trim( e ) ); // Trim leading whitespaces
+               } else {
+                       e = $( e );
+               }
 
                var list = $(this), old = false, _s = { pos: 0, id: 0, oldId: null }, ba, ref, color;
 
index af041510f0fcc7e9cad0ab59867c3d49af080b96..f19cc225dfc3adbe5711b3d4a36b6f9245adb5af 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]),b.clear.call(j,"#"+d.element),void 0)},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(a.trim(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,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
index be17674006ed638105ee148289a0d9f56c23cba0..a74a80f8e50ab5ef56ae71933b87fcc45e880403 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),c(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){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
diff --git a/wp-includes/js/wpdialog.js b/wp-includes/js/wpdialog.js
new file mode 100644 (file)
index 0000000..9f5c19b
--- /dev/null
@@ -0,0 +1,19 @@
+( function($) {
+       $.widget('wp.wpdialog', $.ui.dialog, {
+               open: function() {
+                       // Add beforeOpen event.
+                       if ( this.isOpen() || false === this._trigger('beforeOpen') ) {
+                               return;
+                       }
+
+                       // Open the dialog.
+                       this._super();
+                       // WebKit leaves focus in the TinyMCE editor unless we shift focus.
+                       this.element.focus();
+                       this._trigger('refresh');
+               }
+       });
+
+       $.wp.wpdialog.prototype.options.closeOnEscape = false;
+
+})(jQuery);
diff --git a/wp-includes/js/wpdialog.min.js b/wp-includes/js/wpdialog.min.js
new file mode 100644 (file)
index 0000000..fa27edb
--- /dev/null
@@ -0,0 +1 @@
+!function(a){a.widget("wp.wpdialog",a.ui.dialog,{open:function(){this.isOpen()||!1===this._trigger("beforeOpen")||(this._super(),this.element.focus(),this._trigger("refresh"))}}),a.wp.wpdialog.prototype.options.closeOnEscape=!1}(jQuery);
\ No newline at end of file
index 7756c0fdb706c0c9e15e1c2284baa98edaee75b7..7d1c6774e8897e2466829175abde458269bc65b0 100644 (file)
@@ -1,8 +1,8 @@
-/* global ajaxurl, tinymce, wpLinkL10n, tinyMCEPopup, setUserSetting, wpActiveEditor */
+/* global ajaxurl, tinymce, wpLinkL10n, setUserSetting, wpActiveEditor */
 var wpLink;
 
-(function($){
-       var inputs = {}, rivers = {}, ed, River, Query;
+( function( $ ) {
+       var inputs = {}, rivers = {}, editor, searchTimer, River, Query;
 
        wpLink = {
                timeToTriggerRiver: 150,
@@ -12,78 +12,96 @@ var wpLink;
                lastSearch: '',
                textarea: '',
 
-               init : function() {
-                       inputs.dialog = $('#wp-link');
-                       inputs.submit = $('#wp-link-submit');
+               init: function() {
+                       inputs.wrap = $('#wp-link-wrap');
+                       inputs.dialog = $( '#wp-link' );
+                       inputs.backdrop = $( '#wp-link-backdrop' );
+                       inputs.submit = $( '#wp-link-submit' );
+                       inputs.close = $( '#wp-link-close' );
                        // URL
-                       inputs.url = $('#url-field');
-                       inputs.nonce = $('#_ajax_linking_nonce');
+                       inputs.url = $( '#url-field' );
+                       inputs.nonce = $( '#_ajax_linking_nonce' );
                        // Secondary options
-                       inputs.title = $('#link-title-field');
+                       inputs.title = $( '#link-title-field' );
                        // Advanced Options
-                       inputs.openInNewTab = $('#link-target-checkbox');
-                       inputs.search = $('#search-field');
+                       inputs.openInNewTab = $( '#link-target-checkbox' );
+                       inputs.search = $( '#search-field' );
                        // Build Rivers
-                       rivers.search = new River( $('#search-results') );
-                       rivers.recent = new River( $('#most-recent-results') );
-                       rivers.elements = $('.query-results', inputs.dialog);
+                       rivers.search = new River( $( '#search-results' ) );
+                       rivers.recent = new River( $( '#most-recent-results' ) );
+                       rivers.elements = inputs.dialog.find( '.query-results' );
 
                        // Bind event handlers
                        inputs.dialog.keydown( wpLink.keydown );
                        inputs.dialog.keyup( wpLink.keyup );
-                       inputs.submit.click( function(e){
-                               e.preventDefault();
+                       inputs.submit.click( function( event ) {
+                               event.preventDefault();
                                wpLink.update();
                        });
-                       $('#wp-link-cancel').click( function(e){
-                               e.preventDefault();
+                       inputs.close.add( inputs.backdrop ).add( '#wp-link-cancel a' ).click( function( event ) {
+                               event.preventDefault();
                                wpLink.close();
                        });
-                       $('#internal-toggle').click( wpLink.toggleInternalLinking );
 
-                       rivers.elements.bind('river-select', wpLink.updateFields );
+                       $( '#wp-link-search-toggle' ).click( wpLink.toggleInternalLinking );
 
-                       inputs.search.keyup( wpLink.searchInternalLinks );
+                       rivers.elements.on( 'river-select', wpLink.updateFields );
 
-                       inputs.dialog.bind('wpdialogrefresh', wpLink.refresh);
-                       inputs.dialog.bind('wpdialogbeforeopen', wpLink.beforeOpen);
-                       inputs.dialog.bind('wpdialogclose', wpLink.onClose);
+                       inputs.search.keyup( function() {
+                               var self = this;
+
+                               window.clearTimeout( searchTimer );
+                               searchTimer = window.setTimeout( function() {
+                                       wpLink.searchInternalLinks.call( self );
+                               }, 500 );
+                       });
                },
 
-               beforeOpen : function() {
+               open: function( editorId ) {
+                       var ed;
+                       
                        wpLink.range = null;
 
-                       if ( ! wpLink.isMCE() && document.selection ) {
-                               wpLink.textarea.focus();
-                               wpLink.range = document.selection.createRange();
+                       if ( editorId ) {
+                               window.wpActiveEditor = editorId;
                        }
-               },
 
-               open : function() {
-                       if ( !wpActiveEditor )
+                       if ( ! window.wpActiveEditor ) {
                                return;
+                       }
 
-                       this.textarea = $('#'+wpActiveEditor).get(0);
+                       this.textarea = $( '#' + window.wpActiveEditor ).get( 0 );
 
-                       // Initialize the dialog if necessary (html mode).
-                       if ( ! inputs.dialog.data('wpdialog') ) {
-                               inputs.dialog.wpdialog({
-                                       title: wpLinkL10n.title,
-                                       width: 480,
-                                       height: 'auto',
-                                       modal: true,
-                                       dialogClass: 'wp-dialog'
-                               });
+                       if ( typeof tinymce !== 'undefined' ) {
+                               ed = tinymce.get( wpActiveEditor );
+
+                               if ( ed && ! ed.isHidden() ) {
+                                       editor = ed;
+                               } else {
+                                       editor = null;
+                               }
+
+                               if ( editor && tinymce.isIE ) {
+                                       editor.windowManager.bookmark = editor.selection.getBookmark();
+                               }
+                       }
+
+                       if ( ! wpLink.isMCE() && document.selection ) {
+                               this.textarea.focus();
+                               this.range = document.selection.createRange();
                        }
 
-                       inputs.dialog.wpdialog('open');
+                       inputs.wrap.show();
+                       inputs.backdrop.show();
+
+                       wpLink.refresh();
                },
 
-               isMCE : function() {
-                       return tinyMCEPopup && ( ed = tinyMCEPopup.editor ) && ! ed.isHidden();
+               isMCE: function() {
+                       return editor && ! editor.isHidden();
                },
 
-               refresh : function() {
+               refresh: function() {
                        // Refresh rivers (clear links, check visibility)
                        rivers.search.refresh();
                        rivers.recent.refresh();
@@ -102,19 +120,16 @@ var wpLink;
                                rivers.recent.ajax();
                },
 
-               mceRefresh : function() {
+               mceRefresh: function() {
                        var e;
-                       ed = tinyMCEPopup.editor;
-
-                       tinyMCEPopup.restoreSelection();
 
                        // If link exists, select proper values.
-                       if ( e = ed.dom.getParent(ed.selection.getNode(), 'A') ) {
+                       if ( e = editor.dom.getParent( editor.selection.getNode(), 'A' ) ) {
                                // Set URL and description.
-                               inputs.url.val( ed.dom.getAttrib(e, 'href') );
-                               inputs.title.val( ed.dom.getAttrib(e, 'title') );
+                               inputs.url.val( editor.dom.getAttrib( e, 'href' ) );
+                               inputs.title.val( editor.dom.getAttrib( e, 'title' ) );
                                // Set open in new tab.
-                               inputs.openInNewTab.prop('checked', ( '_blank' == ed.dom.getAttrib( e, 'target' ) ) );
+                               inputs.openInNewTab.prop( 'checked', ( '_blank' === editor.dom.getAttrib( e, 'target' ) ) );
                                // Update save prompt.
                                inputs.submit.val( wpLinkL10n.update );
 
@@ -124,40 +139,39 @@ var wpLink;
                        }
                },
 
-               close : function() {
-                       if ( wpLink.isMCE() )
-                               tinyMCEPopup.close();
-                       else
-                               inputs.dialog.wpdialog('close');
-               },
-
-               onClose: function() {
+               close: function() {
                        if ( ! wpLink.isMCE() ) {
                                wpLink.textarea.focus();
+
                                if ( wpLink.range ) {
                                        wpLink.range.moveToBookmark( wpLink.range.getBookmark() );
                                        wpLink.range.select();
                                }
+                       } else {
+                               editor.focus();
                        }
+
+                       inputs.backdrop.hide();
+                       inputs.wrap.hide();
                },
 
-               getAttrs : function() {
+               getAttrs: function() {
                        return {
-                               href : inputs.url.val(),
-                               title : inputs.title.val(),
-                               target : inputs.openInNewTab.prop('checked') ? '_blank' : ''
+                               href: inputs.url.val(),
+                               title: inputs.title.val(),
+                               target: inputs.openInNewTab.prop( 'checked' ) ? '_blank' : ''
                        };
                },
 
-               update : function() {
+               update: function() {
                        if ( wpLink.isMCE() )
                                wpLink.mceUpdate();
                        else
                                wpLink.htmlUpdate();
                },
 
-               htmlUpdate : function() {
-                       var attrs, html, begin, end, cursor, selection,
+               htmlUpdate: function() {
+                       var attrs, html, begin, end, cursor, title, selection,
                                textarea = wpLink.textarea;
 
                        if ( ! textarea )
@@ -172,10 +186,14 @@ var wpLink;
                        // Build HTML
                        html = '<a href="' + attrs.href + '"';
 
-                       if ( attrs.title )
-                               html += ' title="' + attrs.title + '"';
-                       if ( attrs.target )
+                       if ( attrs.title ) {
+                               title = attrs.title.replace( /</g, '&lt;' ).replace( />/g, '&gt;' ).replace( /"/g, '&quot;' );
+                               html += ' title="' + title + '"';
+                       }
+
+                       if ( attrs.target ) {
                                html += ' target="' + attrs.target + '"';
+                       }
 
                        html += '>';
 
@@ -213,78 +231,54 @@ var wpLink;
                        textarea.focus();
                },
 
-               mceUpdate : function() {
-                       var ed = tinyMCEPopup.editor,
-                               attrs = wpLink.getAttrs(),
-                               e, b;
+               mceUpdate: function() {
+                       var link,
+                               attrs = wpLink.getAttrs();
 
-                       tinyMCEPopup.restoreSelection();
-                       e = ed.dom.getParent(ed.selection.getNode(), 'A');
+                       wpLink.close();
+                       editor.focus();
+
+                       if ( tinymce.isIE ) {
+                               editor.selection.moveToBookmark( editor.windowManager.bookmark );
+                       }
+
+                       link = editor.dom.getParent( editor.selection.getNode(), 'a[href]' );
 
                        // If the values are empty, unlink and return
                        if ( ! attrs.href || attrs.href == 'http://' ) {
-                               if ( e ) {
-                                       b = ed.selection.getBookmark();
-                                       ed.dom.remove(e, 1);
-                                       ed.selection.moveToBookmark(b);
-                                       tinyMCEPopup.execCommand('mceEndUndoLevel');
-                                       wpLink.close();
-                               }
+                               editor.execCommand( 'unlink' );
                                return;
                        }
 
-                       if (e == null) {
-                               ed.getDoc().execCommand('unlink', false, null);
-                               tinyMCEPopup.execCommand('mceInsertLink', false, '#mce_temp_url#', {skip_undo : 1});
-
-                               tinymce.each(ed.dom.select('a'), function(n) {
-                                       if (ed.dom.getAttrib(n, 'href') == '#mce_temp_url#') {
-                                               e = n;
-                                               ed.dom.setAttribs(e, attrs);
-                                       }
-                               });
-
-                               // Sometimes WebKit lets a user create a link where
-                               // they shouldn't be able to. In this case, CreateLink
-                               // injects "#mce_temp_url#" into their content. Fix it.
-                               if ( tinymce.isWebKit && $(e).text() == '#mce_temp_url#' ) {
-                                       ed.dom.remove(e);
-                                       e = null;
-                               }
+                       if ( link ) {
+                               editor.dom.setAttribs( link, attrs );
                        } else {
-                               ed.dom.setAttribs(e, attrs);
+                               editor.execCommand( 'mceInsertLink', false, attrs );
                        }
 
-                       // Move the caret if selection was not an image.
-                       if ( e && (e.childNodes.length != 1 || e.firstChild.nodeName != 'IMG') ) {
-                               ed.selection.select(e);
-                               ed.selection.collapse(0);
-                               tinyMCEPopup.storeSelection();
-                       }
-
-                       ed.execCommand('mceEndUndoLevel');
-                       wpLink.close();
-                       ed.focus();
+                       // Move the cursor to the end of the selection
+                       editor.selection.collapse();
                },
 
-               updateFields : function( e, li, originalEvent ) {
-                       inputs.url.val( li.children('.item-permalink').val() );
-                       inputs.title.val( li.hasClass('no-title') ? '' : li.children('.item-title').text() );
+               updateFields: function( e, li, originalEvent ) {
+                       inputs.url.val( li.children( '.item-permalink' ).val() );
+                       inputs.title.val( li.hasClass( 'no-title' ) ? '' : li.children( '.item-title' ).text() );
                        if ( originalEvent && originalEvent.type == 'click' )
                                inputs.url.focus();
                },
-               setDefaultValues : function() {
+
+               setDefaultValues: function() {
                        // Set URL and description to defaults.
                        // Leave the new tab setting as-is.
-                       inputs.url.val('http://');
-                       inputs.title.val('');
+                       inputs.url.val( 'http://' );
+                       inputs.title.val( '' );
 
                        // Update save prompt.
                        inputs.submit.val( wpLinkL10n.save );
                },
 
-               searchInternalLinks : function() {
-                       var t = $(this), waiting,
+               searchInternalLinks: function() {
+                       var t = $( this ), waiting,
                                search = t.val();
 
                        if ( search.length > 2 ) {
@@ -299,30 +293,49 @@ var wpLink;
                                waiting = t.parent().find('.spinner').show();
 
                                rivers.search.change( search );
-                               rivers.search.ajax( function(){ waiting.hide(); });
+                               rivers.search.ajax( function() {
+                                       waiting.hide();
+                               });
                        } else {
                                rivers.search.hide();
                                rivers.recent.show();
                        }
                },
 
-               next : function() {
+               next: function() {
                        rivers.search.next();
                        rivers.recent.next();
                },
-               prev : function() {
+
+               prev: function() {
                        rivers.search.prev();
                        rivers.recent.prev();
                },
 
-               keydown : function( event ) {
-                       var fn, key = $.ui.keyCode;
+               keydown: function( event ) {
+                       var fn, id,
+                               key = $.ui.keyCode;
 
-                       if ( event.which !== key.UP && event.which !== key.DOWN ) {
+                       if ( key.ESCAPE === event.keyCode ) {
+                               wpLink.close();
+                               event.stopImmediatePropagation();
+                       } else if ( key.TAB === event.keyCode ) {
+                               id = event.target.id;
+
+                               if ( id === 'wp-link-submit' && ! event.shiftKey ) {
+                                       inputs.close.focus();
+                                       event.preventDefault();
+                               } else if ( id === 'wp-link-close' && event.shiftKey ) {
+                                       inputs.submit.focus();
+                                       event.preventDefault();
+                               }
+                       }
+
+                       if ( event.keyCode !== key.UP && event.keyCode !== key.DOWN ) {
                                return;
                        }
 
-                       fn = event.which === key.UP ? 'prev' : 'next';
+                       fn = event.keyCode === key.UP ? 'prev' : 'next';
                        clearInterval( wpLink.keyInterval );
                        wpLink[ fn ]();
                        wpLink.keyInterval = setInterval( wpLink[ fn ], wpLink.keySensitivity );
@@ -332,20 +345,13 @@ var wpLink;
                keyup: function( event ) {
                        var key = $.ui.keyCode;
 
-                       if ( event.which === key.ESCAPE ) {
-                               event.stopImmediatePropagation();
-                               if ( ! $(document).triggerHandler( 'wp_CloseOnEscape', [{ event: event, what: 'wplink', cb: wpLink.close }] ) )
-                                       wpLink.close();
-                               return false;
-                       }
-
                        if ( event.which === key.UP || event.which === key.DOWN ) {
                                clearInterval( wpLink.keyInterval );
                                event.preventDefault();
                        }
                },
 
-               delayedCallback : function( func, delay ) {
+               delayedCallback: function( func, delay ) {
                        var timeoutTriggered, funcTriggered, funcArgs, funcContext;
 
                        if ( ! delay )
@@ -356,7 +362,7 @@ var wpLink;
                                        return func.apply( funcContext, funcArgs );
                                // Otherwise, wait.
                                timeoutTriggered = true;
-                       }, delay);
+                       }, delay );
 
                        return function() {
                                if ( timeoutTriggered )
@@ -368,53 +374,37 @@ var wpLink;
                        };
                },
 
-               toggleInternalLinking : function( event ) {
-                       var panel = $('#search-panel'),
-                               widget = inputs.dialog.wpdialog('widget'),
-                               // We're about to toggle visibility; it's currently the opposite
-                               visible = !panel.is(':visible'),
-                               win = $(window);
-
-                       $(this).toggleClass('toggle-arrow-active', visible);
-
-                       inputs.dialog.height('auto');
-                       panel.slideToggle( 300, function() {
-                               setUserSetting('wplink', visible ? '1' : '0');
-                               inputs[ visible ? 'search' : 'url' ].focus();
-
-                               // Move the box if the box is now expanded, was opened in a collapsed state,
-                               // and if it needs to be moved. (Judged by bottom not being positive or
-                               // bottom being smaller than top.)
-                               var scroll = win.scrollTop(),
-                                       top = widget.offset().top,
-                                       bottom = top + widget.outerHeight(),
-                                       diff = bottom - win.height();
-
-                               if ( diff > scroll ) {
-                                       widget.animate({'top': diff < top ?  top - diff : scroll }, 200);
-                               }
-                       });
-                       event.preventDefault();
+               toggleInternalLinking: function() {
+                       var visible = inputs.wrap.hasClass( 'search-panel-visible' );
+
+                       inputs.wrap.toggleClass( 'search-panel-visible', ! visible );
+                       setUserSetting( 'wplink', visible ? '0' : '1' );
+                       inputs[ ! visible ? 'search' : 'url' ].focus();
                }
        };
 
        River = function( element, search ) {
                var self = this;
                this.element = element;
-               this.ul = element.children('ul');
+               this.ul = element.children( 'ul' );
+               this.contentHeight = element.children( '#link-selector-height' );
                this.waiting = element.find('.river-waiting');
 
                this.change( search );
                this.refresh();
 
-               element.scroll( function(){ self.maybeLoad(); });
-               element.delegate('li', 'click', function(e){ self.select( $(this), e ); });
+               $( '#wp-link .query-results, #wp-link #link-selector' ).scroll( function() {
+                       self.maybeLoad();
+               });
+               element.on( 'click', 'li', function( event ) {
+                       self.select( $( this ), event );
+               });
        };
 
        $.extend( River.prototype, {
                refresh: function() {
                        this.deselect();
-                       this.visible = this.element.is(':visible');
+                       this.visible = this.element.is( ':visible' );
                },
                show: function() {
                        if ( ! this.visible ) {
@@ -431,11 +421,11 @@ var wpLink;
                select: function( li, event ) {
                        var liHeight, elHeight, liTop, elTop;
 
-                       if ( li.hasClass('unselectable') || li == this.selected )
+                       if ( li.hasClass( 'unselectable' ) || li == this.selected )
                                return;
 
                        this.deselect();
-                       this.selected = li.addClass('selected');
+                       this.selected = li.addClass( 'selected' );
                        // Make sure the element is visible
                        liHeight = li.outerHeight();
                        elHeight = this.element.height();
@@ -448,11 +438,11 @@ var wpLink;
                                this.element.scrollTop( elTop + liTop - elHeight + liHeight );
 
                        // Trigger the river-select event
-                       this.element.trigger('river-select', [ li, event, this ]);
+                       this.element.trigger( 'river-select', [ li, event, this ] );
                },
                deselect: function() {
                        if ( this.selected )
-                               this.selected.removeClass('selected');
+                               this.selected.removeClass( 'selected' );
                        this.selected = false;
                },
                prev: function() {
@@ -461,7 +451,7 @@ var wpLink;
 
                        var to;
                        if ( this.selected ) {
-                               to = this.selected.prev('li');
+                               to = this.selected.prev( 'li' );
                                if ( to.length )
                                        this.select( to );
                        }
@@ -470,7 +460,7 @@ var wpLink;
                        if ( ! this.visible )
                                return;
 
-                       var to = this.selected ? this.selected.next('li') : $('li:not(.unselectable):first', this.element);
+                       var to = this.selected ? this.selected.next( 'li' ) : $( 'li:not(.unselectable):first', this.element );
                        if ( to.length )
                                this.select( to );
                },
@@ -491,13 +481,13 @@ var wpLink;
 
                        this._search = search;
                        this.query = new Query( search );
-                       this.element.scrollTop(0);
+                       this.element.scrollTop( 0 );
                },
                process: function( results, params ) {
                        var list = '', alt = true, classes = '',
                                firstPage = params.page == 1;
 
-                       if ( !results ) {
+                       if ( ! results ) {
                                if ( firstPage ) {
                                        list += '<li class="unselectable"><span class="item-title"><em>' +
                                                wpLinkL10n.noMatchesFound + '</em></span></li>';
@@ -522,20 +512,22 @@ var wpLink;
                                el = this.element,
                                bottom = el.scrollTop() + el.height();
 
-                       if ( ! this.query.ready() || bottom < this.ul.height() - wpLink.riverBottomThreshold )
+                       if ( ! this.query.ready() || bottom < this.contentHeight.height() - wpLink.riverBottomThreshold )
                                return;
 
                        setTimeout(function() {
                                var newTop = el.scrollTop(),
                                        newBottom = newTop + el.height();
 
-                               if ( ! self.query.ready() || newBottom < self.ul.height() - wpLink.riverBottomThreshold )
+                               if ( ! self.query.ready() || newBottom < self.contentHeight.height() - wpLink.riverBottomThreshold )
                                        return;
 
                                self.waiting.show();
                                el.scrollTop( newTop + self.waiting.outerHeight() );
 
-                               self.ajax( function() { self.waiting.hide(); });
+                               self.ajax( function() {
+                                       self.waiting.hide();
+                               });
                        }, wpLink.timeToTriggerRiver );
                }
        });
@@ -549,7 +541,7 @@ var wpLink;
 
        $.extend( Query.prototype, {
                ready: function() {
-                       return !( this.querying || this.allLoaded );
+                       return ! ( this.querying || this.allLoaded );
                },
                ajax: function( callback ) {
                        var self = this,
@@ -564,14 +556,14 @@ var wpLink;
 
                        this.querying = true;
 
-                       $.post( ajaxurl, query, function(r) {
+                       $.post( ajaxurl, query, function( r ) {
                                self.page++;
                                self.querying = false;
-                               self.allLoaded = !r;
+                               self.allLoaded = ! r;
                                callback( r, query );
                        }, 'json' );
                }
        });
 
-       $(document).ready( wpLink.init );
-})(jQuery);
+       $( document ).ready( wpLink.init );
+})( jQuery );
index 5e0f06dd223bd8dabeec89c104ac5eaf4dfb128f..5aaeeef1965260f181cc7f13047eab60f941f058 100644 (file)
@@ -1 +1 @@
-var wpLink;!function(a){var b,c,d,e={},f={};wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",textarea:"",init:function(){e.dialog=a("#wp-link"),e.submit=a("#wp-link-submit"),e.url=a("#url-field"),e.nonce=a("#_ajax_linking_nonce"),e.title=a("#link-title-field"),e.openInNewTab=a("#link-target-checkbox"),e.search=a("#search-field"),f.search=new c(a("#search-results")),f.recent=new c(a("#most-recent-results")),f.elements=a(".query-results",e.dialog),e.dialog.keydown(wpLink.keydown),e.dialog.keyup(wpLink.keyup),e.submit.click(function(a){a.preventDefault(),wpLink.update()}),a("#wp-link-cancel").click(function(a){a.preventDefault(),wpLink.close()}),a("#internal-toggle").click(wpLink.toggleInternalLinking),f.elements.bind("river-select",wpLink.updateFields),e.search.keyup(wpLink.searchInternalLinks),e.dialog.bind("wpdialogrefresh",wpLink.refresh),e.dialog.bind("wpdialogbeforeopen",wpLink.beforeOpen),e.dialog.bind("wpdialogclose",wpLink.onClose)},beforeOpen:function(){wpLink.range=null,!wpLink.isMCE()&&document.selection&&(wpLink.textarea.focus(),wpLink.range=document.selection.createRange())},open:function(){wpActiveEditor&&(this.textarea=a("#"+wpActiveEditor).get(0),e.dialog.data("wpdialog")||e.dialog.wpdialog({title:wpLinkL10n.title,width:480,height:"auto",modal:!0,dialogClass:"wp-dialog"}),e.dialog.wpdialog("open"))},isMCE:function(){return tinyMCEPopup&&(b=tinyMCEPopup.editor)&&!b.isHidden()},refresh:function(){f.search.refresh(),f.recent.refresh(),wpLink.isMCE()?wpLink.mceRefresh():wpLink.setDefaultValues(),e.url.focus()[0].select(),f.recent.ul.children().length||f.recent.ajax()},mceRefresh:function(){var a;b=tinyMCEPopup.editor,tinyMCEPopup.restoreSelection(),(a=b.dom.getParent(b.selection.getNode(),"A"))?(e.url.val(b.dom.getAttrib(a,"href")),e.title.val(b.dom.getAttrib(a,"title")),e.openInNewTab.prop("checked","_blank"==b.dom.getAttrib(a,"target")),e.submit.val(wpLinkL10n.update)):wpLink.setDefaultValues()},close:function(){wpLink.isMCE()?tinyMCEPopup.close():e.dialog.wpdialog("close")},onClose:function(){wpLink.isMCE()||(wpLink.textarea.focus(),wpLink.range&&(wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select()))},getAttrs:function(){return{href:e.url.val(),title:e.title.val(),target:e.openInNewTab.prop("checked")?"_blank":""}},update:function(){wpLink.isMCE()?wpLink.mceUpdate():wpLink.htmlUpdate()},htmlUpdate:function(){var a,b,c,d,e,f,g=wpLink.textarea;g&&(a=wpLink.getAttrs(),a.href&&"http://"!=a.href&&(b='<a href="'+a.href+'"',a.title&&(b+=' title="'+a.title+'"'),a.target&&(b+=' target="'+a.target+'"'),b+=">",document.selection&&wpLink.range?(g.focus(),wpLink.range.text=b+wpLink.range.text+"</a>",wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select(),wpLink.range=null):"undefined"!=typeof g.selectionStart&&(c=g.selectionStart,d=g.selectionEnd,f=g.value.substring(c,d),b=b+f+"</a>",e=c+b.length,c==d&&(e-="</a>".length),g.value=g.value.substring(0,c)+b+g.value.substring(d,g.value.length),g.selectionStart=g.selectionEnd=e),wpLink.close(),g.focus()))},mceUpdate:function(){var b,c,d=tinyMCEPopup.editor,e=wpLink.getAttrs();return tinyMCEPopup.restoreSelection(),b=d.dom.getParent(d.selection.getNode(),"A"),e.href&&"http://"!=e.href?(null==b?(d.getDoc().execCommand("unlink",!1,null),tinyMCEPopup.execCommand("mceInsertLink",!1,"#mce_temp_url#",{skip_undo:1}),tinymce.each(d.dom.select("a"),function(a){"#mce_temp_url#"==d.dom.getAttrib(a,"href")&&(b=a,d.dom.setAttribs(b,e))}),tinymce.isWebKit&&"#mce_temp_url#"==a(b).text()&&(d.dom.remove(b),b=null)):d.dom.setAttribs(b,e),!b||1==b.childNodes.length&&"IMG"==b.firstChild.nodeName||(d.selection.select(b),d.selection.collapse(0),tinyMCEPopup.storeSelection()),d.execCommand("mceEndUndoLevel"),wpLink.close(),d.focus(),void 0):(b&&(c=d.selection.getBookmark(),d.dom.remove(b,1),d.selection.moveToBookmark(c),tinyMCEPopup.execCommand("mceEndUndoLevel"),wpLink.close()),void 0)},updateFields:function(a,b,c){e.url.val(b.children(".item-permalink").val()),e.title.val(b.hasClass("no-title")?"":b.children(".item-title").text()),c&&"click"==c.type&&e.url.focus()},setDefaultValues:function(){e.url.val("http://"),e.title.val(""),e.submit.val(wpLinkL10n.save)},searchInternalLinks:function(){var b,c=a(this),d=c.val();if(d.length>2){if(f.recent.hide(),f.search.show(),wpLink.lastSearch==d)return;wpLink.lastSearch=d,b=c.parent().find(".spinner").show(),f.search.change(d),f.search.ajax(function(){b.hide()})}else f.search.hide(),f.recent.show()},next:function(){f.search.next(),f.recent.next()},prev:function(){f.search.prev(),f.recent.prev()},keydown:function(b){var c,d=a.ui.keyCode;(b.which===d.UP||b.which===d.DOWN)&&(c=b.which===d.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;return b.which===c.ESCAPE?(b.stopImmediatePropagation(),a(document).triggerHandler("wp_CloseOnEscape",[{event:b,what:"wplink",cb:wpLink.close}])||wpLink.close(),!1):((b.which===c.UP||b.which===c.DOWN)&&(clearInterval(wpLink.keyInterval),b.preventDefault()),void 0)},delayedCallback:function(a,b){var c,d,e,f;return b?(setTimeout(function(){return d?a.apply(f,e):(c=!0,void 0)},b),function(){return c?a.apply(this,arguments):(e=arguments,f=this,d=!0,void 0)}):a},toggleInternalLinking:function(b){var c=a("#search-panel"),d=e.dialog.wpdialog("widget"),f=!c.is(":visible"),g=a(window);a(this).toggleClass("toggle-arrow-active",f),e.dialog.height("auto"),c.slideToggle(300,function(){setUserSetting("wplink",f?"1":"0"),e[f?"search":"url"].focus();var a=g.scrollTop(),b=d.offset().top,c=b+d.outerHeight(),h=c-g.height();h>a&&d.animate({top:b>h?b-h:a},200)}),b.preventDefault()}},c=function(b,c){var d=this;this.element=b,this.ul=b.children("ul"),this.waiting=b.find(".river-waiting"),this.change(c),this.refresh(),b.scroll(function(){d.maybeLoad()}),b.delegate("li","click",function(b){d.select(a(this),b)})},a.extend(c.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 d(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"><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.ul.height()-wpLink.riverBottomThreshold||setTimeout(function(){var c=b.scrollTop(),d=c+b.height();!a.query.ready()||d<a.ul.height()-wpLink.riverBottomThreshold||(a.waiting.show(),b.scrollTop(c+a.waiting.outerHeight()),a.ajax(function(){a.waiting.hide()}))},wpLink.timeToTriggerRiver)}}),d=function(a){this.page=1,this.allLoaded=!1,this.querying=!1,this.search=a},a.extend(d.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:e.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){var b,c,d,e,f={},g={};wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",textarea:"",init:function(){f.wrap=a("#wp-link-wrap"),f.dialog=a("#wp-link"),f.backdrop=a("#wp-link-backdrop"),f.submit=a("#wp-link-submit"),f.close=a("#wp-link-close"),f.url=a("#url-field"),f.nonce=a("#_ajax_linking_nonce"),f.title=a("#link-title-field"),f.openInNewTab=a("#link-target-checkbox"),f.search=a("#search-field"),g.search=new d(a("#search-results")),g.recent=new d(a("#most-recent-results")),g.elements=f.dialog.find(".query-results"),f.dialog.keydown(wpLink.keydown),f.dialog.keyup(wpLink.keyup),f.submit.click(function(a){a.preventDefault(),wpLink.update()}),f.close.add(f.backdrop).add("#wp-link-cancel a").click(function(a){a.preventDefault(),wpLink.close()}),a("#wp-link-search-toggle").click(wpLink.toggleInternalLinking),g.elements.on("river-select",wpLink.updateFields),f.search.keyup(function(){var a=this;window.clearTimeout(c),c=window.setTimeout(function(){wpLink.searchInternalLinks.call(a)},500)})},open:function(c){var d;wpLink.range=null,c&&(window.wpActiveEditor=c),window.wpActiveEditor&&(this.textarea=a("#"+window.wpActiveEditor).get(0),"undefined"!=typeof tinymce&&(d=tinymce.get(wpActiveEditor),b=d&&!d.isHidden()?d:null,b&&tinymce.isIE&&(b.windowManager.bookmark=b.selection.getBookmark())),!wpLink.isMCE()&&document.selection&&(this.textarea.focus(),this.range=document.selection.createRange()),f.wrap.show(),f.backdrop.show(),wpLink.refresh())},isMCE:function(){return b&&!b.isHidden()},refresh:function(){g.search.refresh(),g.recent.refresh(),wpLink.isMCE()?wpLink.mceRefresh():wpLink.setDefaultValues(),f.url.focus()[0].select(),g.recent.ul.children().length||g.recent.ajax()},mceRefresh:function(){var a;(a=b.dom.getParent(b.selection.getNode(),"A"))?(f.url.val(b.dom.getAttrib(a,"href")),f.title.val(b.dom.getAttrib(a,"title")),f.openInNewTab.prop("checked","_blank"===b.dom.getAttrib(a,"target")),f.submit.val(wpLinkL10n.update)):wpLink.setDefaultValues()},close:function(){wpLink.isMCE()?b.focus():(wpLink.textarea.focus(),wpLink.range&&(wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select())),f.backdrop.hide(),f.wrap.hide()},getAttrs:function(){return{href:f.url.val(),title:f.title.val(),target:f.openInNewTab.prop("checked")?"_blank":""}},update:function(){wpLink.isMCE()?wpLink.mceUpdate():wpLink.htmlUpdate()},htmlUpdate:function(){var a,b,c,d,e,f,g,h=wpLink.textarea;h&&(a=wpLink.getAttrs(),a.href&&"http://"!=a.href&&(b='<a href="'+a.href+'"',a.title&&(f=a.title.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),b+=' title="'+f+'"'),a.target&&(b+=' target="'+a.target+'"'),b+=">",document.selection&&wpLink.range?(h.focus(),wpLink.range.text=b+wpLink.range.text+"</a>",wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select(),wpLink.range=null):"undefined"!=typeof h.selectionStart&&(c=h.selectionStart,d=h.selectionEnd,g=h.value.substring(c,d),b=b+g+"</a>",e=c+b.length,c==d&&(e-="</a>".length),h.value=h.value.substring(0,c)+b+h.value.substring(d,h.value.length),h.selectionStart=h.selectionEnd=e),wpLink.close(),h.focus()))},mceUpdate:function(){var a,c=wpLink.getAttrs();return wpLink.close(),b.focus(),tinymce.isIE&&b.selection.moveToBookmark(b.windowManager.bookmark),a=b.dom.getParent(b.selection.getNode(),"a[href]"),c.href&&"http://"!=c.href?(a?b.dom.setAttribs(a,c):b.execCommand("mceInsertLink",!1,c),void b.selection.collapse()):void b.execCommand("unlink")},updateFields:function(a,b,c){f.url.val(b.children(".item-permalink").val()),f.title.val(b.hasClass("no-title")?"":b.children(".item-title").text()),c&&"click"==c.type&&f.url.focus()},setDefaultValues:function(){f.url.val("http://"),f.title.val(""),f.submit.val(wpLinkL10n.save)},searchInternalLinks:function(){var b,c=a(this),d=c.val();if(d.length>2){if(g.recent.hide(),g.search.show(),wpLink.lastSearch==d)return;wpLink.lastSearch=d,b=c.parent().find(".spinner").show(),g.search.change(d),g.search.ajax(function(){b.hide()})}else g.search.hide(),g.recent.show()},next:function(){g.search.next(),g.recent.next()},prev:function(){g.search.prev(),g.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&&(f.submit.focus(),b.preventDefault()):(f.close.focus(),b.preventDefault())),(b.keyCode===e.UP||b.keyCode===e.DOWN)&&(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(){var a=f.wrap.hasClass("search-panel-visible");f.wrap.toggleClass("search-panel-visible",!a),setUserSetting("wplink",a?"0":"1"),f[a?"url":"search"].focus()}},d=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(d.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 e(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"><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.show(),b.scrollTop(c+a.waiting.outerHeight()),a.ajax(function(){a.waiting.hide()}))},wpLink.timeToTriggerRiver)}}),e=function(a){this.page=1,this.allLoaded=!1,this.querying=!1,this.search=a},a.extend(e.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:f.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 531e6efea0b768deee7fbeae6e8553838c0b1e7d..9d8d6fed1934fff3d2de3ec8617061d5c8f9efa7 100644 (file)
@@ -119,6 +119,7 @@ if ( ! CUSTOM_TAGS ) {
                        'datetime' => true,
                ),
                'dd' => array(),
+               'dfn' => array(),
                'details' => array(
                        'align' => true,
                        'dir' => true,
@@ -235,6 +236,7 @@ if ( ! CUSTOM_TAGS ) {
                'map' => array(
                        'name' => true,
                ),
+               'mark' => array(),
                'menu' => array(
                        'type' => true,
                ),
@@ -257,6 +259,7 @@ if ( ! CUSTOM_TAGS ) {
                        'cite' => true,
                ),
                's' => array(),
+               'samp' => array(),
                'span' => array(
                        'dir' => true,
                        'align' => true,
@@ -498,27 +501,42 @@ function wp_kses( $string, $allowed_html, $allowed_protocols = array() ) {
 function wp_kses_allowed_html( $context = '' ) {
        global $allowedposttags, $allowedtags, $allowedentitynames;
 
-       if ( is_array( $context ) )
+       if ( is_array( $context ) ) {
+               /**
+                * Filter HTML elements allowed for a given context.
+                *
+                * @since 3.5.0
+                *
+                * @param string $tags    Allowed tags, attributes, and/or entities.
+                * @param string $context Context to judge allowed tags by. Allowed values are 'post',
+                *                        'data', 'strip', 'entities', 'explicit', or the name of a filter.
+                */
                return apply_filters( 'wp_kses_allowed_html', $context, 'explicit' );
+       }
 
        switch ( $context ) {
                case 'post':
+                       /** This filter is documented in wp-includes/kses.php */
                        return apply_filters( 'wp_kses_allowed_html', $allowedposttags, $context );
                        break;
                case 'user_description':
                case 'pre_user_description':
                        $tags = $allowedtags;
                        $tags['a']['rel'] = true;
+                       /** This filter is documented in wp-includes/kses.php */
                        return apply_filters( 'wp_kses_allowed_html', $tags, $context );
                        break;
                case 'strip':
+                       /** This filter is documented in wp-includes/kses.php */
                        return apply_filters( 'wp_kses_allowed_html', array(), $context );
                        break;
                case 'entities':
+                       /** This filter is documented in wp-includes/kses.php */
                        return apply_filters( 'wp_kses_allowed_html', $allowedentitynames, $context);
                        break;
                case 'data':
                default:
+                       /** This filter is documented in wp-includes/kses.php */
                        return apply_filters( 'wp_kses_allowed_html', $allowedtags, $context );
        }
 }
@@ -537,7 +555,16 @@ function wp_kses_allowed_html( $context = '' ) {
  * @return string Filtered content through 'pre_kses' hook
  */
 function wp_kses_hook( $string, $allowed_html, $allowed_protocols ) {
-       $string = apply_filters('pre_kses', $string, $allowed_html, $allowed_protocols);
+       /**
+        * Filter content to be run through kses.
+        *
+        * @since 2.3.0
+        *
+        * @param string $string            Content to run through kses.
+        * @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;
 }
 
@@ -760,10 +787,10 @@ function wp_kses_hair($attr, $allowed_protocols) {
                switch ($mode) {
                        case 0 : # attribute name, href for instance
 
-                               if (preg_match('/^([-a-zA-Z]+)/', $attr, $match)) {
+                               if ( preg_match('/^([-a-zA-Z:]+)/', $attr, $match ) ) {
                                        $attrname = $match[1];
                                        $working = $mode = 1;
-                                       $attr = preg_replace('/^[-a-zA-Z]+/', '', $attr);
+                                       $attr = preg_replace( '/^[-a-zA-Z:]+/', '', $attr );
                                }
 
                                break;
@@ -1411,6 +1438,14 @@ function safecss_filter_attr( $css, $deprecated = '' ) {
                return '';
 
        $css_array = explode( ';', trim( $css ) );
+
+       /**
+        * Filter list of allowed CSS attributes.
+        *
+        * @since 2.8.1
+        *
+        * @param array $attr List of allowed CSS attributes.
+        */
        $allowed_attr = apply_filters( 'safe_style_css', array( 'text-align', 'margin', 'color', 'float',
        'border', 'background', 'background-color', 'border-bottom', 'border-bottom-color',
        'border-bottom-style', 'border-bottom-width', 'border-collapse', 'border-color', 'border-left',
@@ -1464,6 +1499,7 @@ function _wp_add_global_attributes( $value ) {
                'id' => true,
                'style' => true,
                'title' => true,
+               'role' => true,
        );
 
        if ( true === $value )
index e4df76bd46c753a7b800f4b2fdcb441bd3c69285..541cb15f99086deb94967813ba3216cf8f5793c3 100644 (file)
@@ -53,7 +53,7 @@ function get_locale() {
        if ( empty( $locale ) )
                $locale = 'en_US';
 
-       // duplicate_hook
+       /** This filter is documented in wp-includes/l10n.php */
        return apply_filters( 'locale', $locale );
 }
 
@@ -424,9 +424,9 @@ function load_textdomain( $domain, $mofile ) {
         *
         * @since 2.9.0
         *
-        * @param boolean        Whether to override the text domain. Default false.
-        * @param string $domain Text domain. Unique identifier for retrieving translated strings.
-        * @param string $mofile Path to the MO file.
+        * @param bool   $override Whether to override the text domain. Default false.
+        * @param string $domain   Text domain. Unique identifier for retrieving translated strings.
+        * @param string $mofile   Path to the MO file.
         */
        $plugin_override = apply_filters( 'override_load_textdomain', false, $domain, $mofile );
 
@@ -479,12 +479,12 @@ function unload_textdomain( $domain ) {
        global $l10n;
 
        /**
-        * Filter text text domain for loading translation.
+        * Filter the text domain for loading translation.
         *
         * @since 3.0.0
         *
-        * @param boolean        Whether to override unloading the text domain. Default false.
-        * @param string $domain Text domain. Unique identifier for retrieving translated strings.
+        * @param bool   $override Whether to override unloading the text domain. Default false.
+        * @param string $domain   Text domain. Unique identifier for retrieving translated strings.
         */
        $plugin_override = apply_filters( 'override_unload_textdomain', false, $domain );
 
@@ -591,7 +591,7 @@ function load_plugin_textdomain( $domain, $deprecated = false, $plugin_rel_path
  * @return bool True when textdomain is successfully loaded, false otherwise.
  */
 function load_muplugin_textdomain( $domain, $mu_plugin_rel_path = '' ) {
-       // duplicate_hook
+       /** This filter is documented in wp-includes/l10n.php */
        $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
        $path = trailingslashit( WPMU_PLUGIN_DIR . '/' . ltrim( $mu_plugin_rel_path, '/' ) );
 
index 45e3ba28709118ac594290205df2b2b6dc1cc2d8..07f260d498c09e6ae010391030f71f6b3dae3aa7 100644 (file)
  * Display the permalink for the current post.
  *
  * @since 1.2.0
- * @uses apply_filters() Calls 'the_permalink' filter on the permalink string.
  */
 function the_permalink() {
+       /**
+        * Filter the display of the permalink for the current post.
+        *
+        * @since 1.5.0
+        *
+        * @param string $permalink The permalink for the current post.
+        */
        echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
 }
 
@@ -38,9 +44,18 @@ function user_trailingslashit($string, $type_of_url = '') {
        else
                $string = untrailingslashit($string);
 
-       // Note that $type_of_url can be one of following:
-       // single, single_trackback, single_feed, single_paged, feed, category, page, year, month, day, paged, post_type_archive
-       $string = apply_filters('user_trailingslashit', $string, $type_of_url);
+       /**
+        * Filter the trailing slashed string, depending on whether the site is set
+        * to use training slashes.
+        *
+        * @since 2.2.0
+        *
+        * @param string $string      URL with or without a trailing slash.
+        * @param string $type_of_url The type of URL being considered. Accepts 'single', 'single_trackback',
+        *                            '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;
 }
 
@@ -68,13 +83,30 @@ function permalink_anchor( $mode = 'id' ) {
        }
 }
 
+/**
+ * Retrieve full permalink for current post or post ID.
+ *
+ * This function is an alias for get_permalink().
+ *
+ * @since 3.9.0
+ *
+ * @see get_permalink()
+ *
+ * @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.
+ */
+function get_the_permalink( $id = 0, $leavename = false ) {
+       return get_permalink( $id, $leavename );
+}
+
 /**
  * Retrieve full permalink for current post or post ID.
  *
  * @since 1.0.0
  *
- * @param int|WP_Post $id Optional. Post ID or post object, defaults to the current post.
- * @param bool $leavename Optional. Whether to keep post name or page name, defaults to 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.
  */
 function get_permalink( $id = 0, $leavename = false ) {
@@ -112,7 +144,18 @@ function get_permalink( $id = 0, $leavename = false ) {
 
        $permalink = get_option('permalink_structure');
 
-       $permalink = apply_filters('pre_post_link', $permalink, $post, $leavename);
+       /**
+        * Filter the permalink structure for a post before token replacement occurs.
+        *
+        * Only applies to posts with post_type of 'post'.
+        *
+        * @since 3.0.0
+        *
+        * @param string  $permalink The site's permalink structure.
+        * @param WP_Post $post      The post in question.
+        * @param bool    $leavename Whether to keep the post name.
+        */
+       $permalink = apply_filters( 'pre_post_link', $permalink, $post, $leavename );
 
        if ( '' != $permalink && !in_array($post->post_status, array('draft', 'pending', 'auto-draft')) ) {
                $unixtime = strtotime($post->post_date);
@@ -122,7 +165,18 @@ function get_permalink( $id = 0, $leavename = false ) {
                        $cats = get_the_category($post->ID);
                        if ( $cats ) {
                                usort($cats, '_usort_terms_by_ID'); // order by ID
+
+                               /**
+                                * Filter the category that gets used in the %category% permalink token.
+                                *
+                                * @since 3.5.0
+                                *
+                                * @param stdClass $cat  The category to use in the permalink.
+                                * @param array    $cats Array of all categories associated with the post.
+                                * @param WP_Post  $post The post in question.
+                                */
                                $category_object = apply_filters( 'post_link_category', $cats[0], $cats, $post );
+
                                $category_object = get_term( $category_object, 'category' );
                                $category = $category_object->slug;
                                if ( $parent = $category_object->parent )
@@ -162,7 +216,19 @@ function get_permalink( $id = 0, $leavename = false ) {
        } else { // if they're not using the fancy permalink option
                $permalink = home_url('?p=' . $post->ID);
        }
-       return apply_filters('post_link', $permalink, $post, $leavename);
+
+       /**
+        * Filter the permalink for a post.
+        *
+        * Only applies to posts with post_type of 'post'.
+        *
+        * @since 1.5.0
+        *
+        * @param string  $permalink The post's permalink.
+        * @param WP_Post $post      The post in question.
+        * @param bool    $leavename Whether to keep the post name.
+        */
+       return apply_filters( 'post_link', $permalink, $post, $leavename );
 }
 
 /**
@@ -206,7 +272,17 @@ function get_post_permalink( $id = 0, $leavename = false, $sample = false ) {
                $post_link = home_url($post_link);
        }
 
-       return apply_filters('post_type_link', $post_link, $post, $leavename, $sample);
+       /**
+        * Filter the permalink for a post with a custom post type.
+        *
+        * @since 3.0.0
+        *
+        * @param string  $post_link The post's permalink.
+        * @param WP_Post $post      The post in question.
+        * @param bool    $leavename Whether to keep the post name.
+        * @param bool    $sample    Is it a sample permalink.
+        */
+       return apply_filters( 'post_type_link', $post_link, $post, $leavename, $sample );
 }
 
 /**
@@ -245,6 +321,15 @@ function get_page_link( $post = false, $leavename = false, $sample = false ) {
        else
                $link = _get_page_link( $post, $leavename, $sample );
 
+       /**
+        * Filter the permalink for a page.
+        *
+        * @since 1.5.0
+        *
+        * @param string $link    The page's permalink.
+        * @param int    $post_id The ID of the page.
+        * @param bool   $sample  Is it a sample permalink.
+        */
        return apply_filters( 'page_link', $link, $post->ID, $sample );
 }
 
@@ -281,6 +366,14 @@ function _get_page_link( $post = false, $leavename = false, $sample = false ) {
                $link = home_url( '?page_id=' . $post->ID );
        }
 
+       /**
+        * Filter the permalink for a non-page_on_front page.
+        *
+        * @since 2.1.0
+        *
+        * @param string $link    The page's permalink.
+        * @param int    $post_id The ID of the page.
+        */
        return apply_filters( '_get_page_link', $link, $post->ID );
 }
 
@@ -324,6 +417,14 @@ function get_attachment_link( $post = null, $leavename = false ) {
        if ( ! $link )
                $link = home_url( '/?attachment_id=' . $post->ID );
 
+       /**
+        * Filter the permalink for an attachment.
+        *
+        * @since 2.0.0
+        *
+        * @param string $link    The attachment's permalink.
+        * @param int    $post_id Attachment ID.
+        */
        return apply_filters( 'attachment_link', $link, $post->ID );
 }
 
@@ -342,10 +443,20 @@ function get_year_link($year) {
        $yearlink = $wp_rewrite->get_year_permastruct();
        if ( !empty($yearlink) ) {
                $yearlink = str_replace('%year%', $year, $yearlink);
-               return apply_filters('year_link', home_url( user_trailingslashit($yearlink, 'year') ), $year);
+               $yearlink = home_url( user_trailingslashit( $yearlink, 'year' ) );
        } else {
-               return apply_filters('year_link', home_url('?m=' . $year), $year);
+               $yearlink = home_url( '?m=' . $year );
        }
+
+       /**
+        * Filter the year archive permalink.
+        *
+        * @since 1.5.0
+        *
+        * @param string $yearlink Permalink for the year archive.
+        * @param int    $year     Year for the archive.
+        */
+       return apply_filters( 'year_link', $yearlink, $year );
 }
 
 /**
@@ -367,10 +478,21 @@ function get_month_link($year, $month) {
        if ( !empty($monthlink) ) {
                $monthlink = str_replace('%year%', $year, $monthlink);
                $monthlink = str_replace('%monthnum%', zeroise(intval($month), 2), $monthlink);
-               return apply_filters('month_link', home_url( user_trailingslashit($monthlink, 'month') ), $year, $month);
+               $monthlink = home_url( user_trailingslashit( $monthlink, 'month' ) );
        } else {
-               return apply_filters('month_link', home_url( '?m=' . $year . zeroise($month, 2) ), $year, $month);
+               $monthlink = home_url( '?m=' . $year . zeroise( $month, 2 ) );
        }
+
+       /**
+        * Filter the month archive permalink.
+        *
+        * @since 1.5.0
+        *
+        * @param string $monthlink Permalink for the month archive.
+        * @param int    $year      Year for the archive.
+        * @param int    $month     The month for the archive.
+        */
+       return apply_filters( 'month_link', $monthlink, $year, $month );
 }
 
 /**
@@ -397,10 +519,22 @@ function get_day_link($year, $month, $day) {
                $daylink = str_replace('%year%', $year, $daylink);
                $daylink = str_replace('%monthnum%', zeroise(intval($month), 2), $daylink);
                $daylink = str_replace('%day%', zeroise(intval($day), 2), $daylink);
-               return apply_filters('day_link', home_url( user_trailingslashit($daylink, 'day') ), $year, $month, $day);
+               $daylink = home_url( user_trailingslashit( $daylink, 'day' ) );
        } else {
-               return apply_filters('day_link', home_url( '?m=' . $year . zeroise($month, 2) . zeroise($day, 2) ), $year, $month, $day);
+               $daylink = home_url( '?m=' . $year . zeroise( $month, 2 ) . zeroise( $day, 2 ) );
        }
+
+       /**
+        * Filter the day archive permalink.
+        *
+        * @since 1.5.0
+        *
+        * @param string $daylink Permalink for the day archive.
+        * @param int    $year    Year for the archive.
+        * @param int    $month   Month for the archive.
+        * @param int    $day     The day for the archive.
+        */
+       return apply_filters( 'day_link', $daylink, $year, $month, $day );
 }
 
 /**
@@ -413,6 +547,16 @@ function get_day_link($year, $month, $day) {
  */
 function the_feed_link( $anchor, $feed = '' ) {
        $link = '<a href="' . esc_url( get_feed_link( $feed ) ) . '">' . $anchor . '</a>';
+
+       /**
+        * Filter the feed link anchor tag.
+        *
+        * @since 3.0.0
+        *
+        * @param string $link The complete anchor tag for a feed link.
+        * @param string $feed The feed type, or an empty string for the
+        *                     default feed type.
+        */
        echo apply_filters( 'the_feed_link', $link, $feed );
 }
 
@@ -450,7 +594,15 @@ function get_feed_link($feed = '') {
                $output = home_url("?feed={$feed}");
        }
 
-       return apply_filters('feed_link', $output, $feed);
+       /**
+        * Filter the feed type permalink.
+        *
+        * @since 1.5.0
+        *
+        * @param string $output The feed permalink.
+        * @param string $feed   Feed type.
+        */
+       return apply_filters( 'feed_link', $output, $feed );
 }
 
 /**
@@ -489,7 +641,14 @@ function get_post_comments_feed_link($post_id = 0, $feed = '') {
                        $url = add_query_arg( array( 'feed' => $feed, 'p' => $post_id ), home_url( '/' ) );
        }
 
-       return apply_filters('post_comments_feed_link', $url);
+       /**
+        * Filter the post comments feed permalink.
+        *
+        * @since 1.5.1
+        *
+        * @param string $url Post comments feed permalink.
+        */
+       return apply_filters( 'post_comments_feed_link', $url );
 }
 
 /**
@@ -499,8 +658,6 @@ function get_post_comments_feed_link($post_id = 0, $feed = '') {
  * anchor. If no link text is specified, default text is used. If no post ID is
  * specified, the current post is used.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.5.0
  *
  * @param string $link_text Descriptive text.
@@ -513,6 +670,15 @@ function post_comments_feed_link( $link_text = '', $post_id = '', $feed = '' ) {
        if ( empty($link_text) )
                $link_text = __('Comments Feed');
 
+       /**
+        * Filter the post comment feed link anchor tag.
+        *
+        * @since 2.8.0
+        *
+        * @param string $link    The complete anchor tag for the comment feed link.
+        * @param int    $post_id Post ID.
+        * @param string $feed    The feed type, or an empty string for the default feed type.
+        */
        echo apply_filters( 'post_comments_feed_link_html', "<a href='$url'>$link_text</a>", $post_id, $feed );
 }
 
@@ -522,8 +688,6 @@ function post_comments_feed_link( $link_text = '', $post_id = '', $feed = '' ) {
  * Returns a link to the feed for all posts by a given author. A specific feed
  * can be requested or left blank to get the default feed.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.5.0
  *
  * @param int $author_id ID of an author.
@@ -549,7 +713,15 @@ function get_author_feed_link( $author_id, $feed = '' ) {
                $link = trailingslashit($link) . user_trailingslashit($feed_link, 'feed');
        }
 
-       $link = apply_filters('author_feed_link', $link, $feed);
+       /**
+        * Filter the feed link for a given author.
+        *
+        * @since 1.5.1
+        *
+        * @param string $link The author feed link.
+        * @param string $feed Feed type.
+        */
+       $link = apply_filters( 'author_feed_link', $link, $feed );
 
        return $link;
 }
@@ -560,8 +732,6 @@ function get_author_feed_link( $author_id, $feed = '' ) {
  * Returns a link to the feed for all posts in a given category. A specific feed
  * can be requested or left blank to get the default feed.
  *
- * @package WordPress
- * @subpackage Feed
  * @since 2.5.0
  *
  * @param int $cat_id ID of a category.
@@ -578,7 +748,7 @@ function get_category_feed_link($cat_id, $feed = '') {
  * Returns a link to the feed for all posts in a given term. A specific feed
  * can be requested or left blank to get the default feed.
  *
- * @since 3.0
+ * @since 3.0.0
  *
  * @param int $term_id ID of a category.
  * @param string $taxonomy Optional. Taxonomy of $term_id
@@ -618,12 +788,38 @@ function get_term_feed_link( $term_id, $taxonomy = 'category', $feed = '' ) {
                $link = trailingslashit( $link ) . user_trailingslashit( $feed_link, 'feed' );
        }
 
-       if ( 'category' == $taxonomy )
+       if ( 'category' == $taxonomy ) {
+               /**
+                * Filter the category feed link.
+                *
+                * @since 1.5.1
+                *
+                * @param string $link The category feed link.
+                * @param string $feed Feed type.
+                */
                $link = apply_filters( 'category_feed_link', $link, $feed );
-       elseif ( 'post_tag' == $taxonomy )
+       } elseif ( 'post_tag' == $taxonomy ) {
+               /**
+                * Filter the post tag feed link.
+                *
+                * @since 2.3.0
+                *
+                * @param string $link The tag feed link.
+                * @param string $feed Feed type.
+                */
                $link = apply_filters( 'tag_feed_link', $link, $feed );
-       else
+       } else {
+               /**
+                * Filter the feed link for a taxonomy other than 'category' or 'post_tag'.
+                *
+                * @since 3.0.0
+                *
+                * @param string $link The taxonomy feed link.
+                * @param string $feed Feed type.
+                * @param string $feed The taxonomy name.
+                */
                $link = apply_filters( 'taxonomy_feed_link', $link, $feed, $taxonomy );
+       }
 
        return $link;
 }
@@ -651,6 +847,13 @@ function get_tag_feed_link($tag_id, $feed = '') {
  * @return string
  */
 function get_edit_tag_link( $tag_id, $taxonomy = 'post_tag' ) {
+       /**
+        * Filter the edit link for a tag (or term in another taxonomy).
+        *
+        * @since 2.7.0
+        *
+        * @param string $link The term edit link.
+        */
        return apply_filters( 'get_edit_tag_link', get_edit_term_link( $tag_id, $taxonomy ) );
 }
 
@@ -667,6 +870,14 @@ function get_edit_tag_link( $tag_id, $taxonomy = 'post_tag' ) {
  */
 function edit_tag_link( $link = '', $before = '', $after = '', $tag = null ) {
        $link = edit_term_link( $link, '', '', $tag, false );
+
+       /**
+        * Filter the anchor tag for the edit link for a tag (or term in another taxonomy).
+        *
+        * @since 2.7.0
+        *
+        * @param string $link The anchor tag for the edit link.
+        */
        echo $before . apply_filters( 'edit_tag_link', $link ) . $after;
 }
 
@@ -698,6 +909,16 @@ function get_edit_term_link( $term_id, $taxonomy, $object_type = '' ) {
 
        $location = add_query_arg( $args, admin_url( 'edit-tags.php' ) );
 
+       /**
+        * Filter the edit link for a term.
+        *
+        * @since 3.1.0
+        *
+        * @param string $location    The edit link.
+        * @param int    $term_id     Term ID.
+        * @param string $taxonomy    Taxonomy name.
+        * @param string $object_type The object type (eg. the post type).
+        */
        return apply_filters( 'get_edit_term_link', $location, $term_id, $taxonomy, $object_type );
 }
 
@@ -727,6 +948,15 @@ function edit_term_link( $link = '', $before = '', $after = '', $term = null, $e
                $link = __('Edit This');
 
        $link = '<a href="' . get_edit_term_link( $term->term_id, $term->taxonomy ) . '">' . $link . '</a>';
+
+       /**
+        * Filter the anchor tag for the edit link of a term.
+        *
+        * @since 3.1.0
+        *
+        * @param string $link    The anchor tag for the edit link.
+        * @param int    $term_id Term ID.
+        */
        $link = $before . apply_filters( 'edit_term_link', $link, $term->term_id ) . $after;
 
        if ( $echo )
@@ -762,6 +992,14 @@ function get_search_link( $query = '' ) {
                $link = home_url( user_trailingslashit( $link, 'search' ) );
        }
 
+       /**
+        * Filter the search permalink.
+        *
+        * @since 3.0.0
+        *
+        * @param string $link   Search permalink.
+        * @param string $search The URL-encoded search term.
+        */
        return apply_filters( 'search_link', $link, $search );
 }
 
@@ -790,7 +1028,16 @@ function get_search_feed_link($search_query = '', $feed = '') {
                $link .= "feed/$feed/";
        }
 
-       $link = apply_filters('search_feed_link', $link, $feed, 'posts');
+       /**
+        * Filter the search feed link.
+        *
+        * @since 2.5.0
+        *
+        * @param string $link Search feed link.
+        * @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;
 }
@@ -819,6 +1066,7 @@ function get_search_comments_feed_link($search_query = '', $feed = '') {
        else
                $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;
@@ -851,6 +1099,14 @@ function get_post_type_archive_link( $post_type ) {
                $link = home_url( '?post_type=' . $post_type );
        }
 
+       /**
+        * Filter the post type archive permalink.
+        *
+        * @since 3.1.0
+        *
+        * @param string $link      The post type archive permalink.
+        * @param string $post_type Post type name.
+        */
        return apply_filters( 'post_type_archive_link', $link, $post_type );
 }
 
@@ -881,6 +1137,14 @@ function get_post_type_archive_feed_link( $post_type, $feed = '' ) {
                $link = add_query_arg( 'feed', $feed, $link );
        }
 
+       /**
+        * Filter the post type archive feed link.
+        *
+        * @since 3.1.0
+        *
+        * @param string $link The post type archive feed link.
+        * @param string $feed Feed type.
+        */
        return apply_filters( 'post_type_archive_feed_link', $link, $feed );
 }
 
@@ -914,7 +1178,17 @@ function get_edit_post_link( $id = 0, $context = 'display' ) {
        if ( !current_user_can( 'edit_post', $post->ID ) )
                return;
 
-       return apply_filters( 'get_edit_post_link', admin_url( sprintf($post_type_object->_edit_link . $action, $post->ID) ), $post->ID, $context );
+       /**
+        * Filter the post edit link.
+        *
+        * @since 2.3.0
+        *
+        * @param string $link    The edit link.
+        * @param int    $post_id Post ID.
+        * @param string $context The link context. If set to 'display' then ampersands
+        *                        are encoded.
+        */
+       return apply_filters( 'get_edit_post_link', admin_url( sprintf( $post_type_object->_edit_link . $action, $post->ID ) ), $post->ID, $context );
 }
 
 /**
@@ -939,6 +1213,15 @@ function edit_post_link( $link = null, $before = '', $after = '', $id = 0 ) {
 
        $post_type_obj = get_post_type_object( $post->post_type );
        $link = '<a class="post-edit-link" href="' . $url . '">' . $link . '</a>';
+
+       /**
+        * Filter the post edit link anchor tag.
+        *
+        * @since 2.3.0
+        *
+        * @param string $link    Anchor tag for the edit link.
+        * @param int    $post_id Post ID.
+        */
        echo $before . apply_filters( 'edit_post_link', $link, $post->ID ) . $after;
 }
 
@@ -972,6 +1255,15 @@ function get_delete_post_link( $id = 0, $deprecated = '', $force_delete = false
 
        $delete_link = add_query_arg( 'action', $action, admin_url( sprintf( $post_type_object->_edit_link, $post->ID ) ) );
 
+       /**
+        * Filter the post delete link.
+        *
+        * @since 2.9.0
+        *
+        * @param string $link         The delete link.
+        * @param int    $post_id      Post ID.
+        * @param bool   $force_delete Whether to bypass the trash and force deletion. Default false.
+        */
        return apply_filters( 'get_delete_post_link', wp_nonce_url( $delete_link, "$action-post_{$post->ID}" ), $post->ID, $force_delete );
 }
 
@@ -990,18 +1282,25 @@ function get_edit_comment_link( $comment_id = 0 ) {
                return;
 
        $location = admin_url('comment.php?action=editcomment&amp;c=') . $comment->comment_ID;
+
+       /**
+        * Filter the comment edit link.
+        *
+        * @since 2.3.0
+        *
+        * @param string $location The edit link.
+        */
        return apply_filters( 'get_edit_comment_link', $location );
 }
 
 /**
- * Display or retrieve edit comment link with formatting.
+ * Display edit comment link with formatting.
  *
  * @since 1.0.0
  *
  * @param string $link Optional. Anchor text.
  * @param string $before Optional. Display before edit link.
  * @param string $after Optional. Display after edit link.
- * @return string|null HTML content, if $echo is set to false.
  */
 function edit_comment_link( $link = null, $before = '', $after = '' ) {
        global $comment;
@@ -1013,6 +1312,15 @@ function edit_comment_link( $link = null, $before = '', $after = '' ) {
                $link = __('Edit This');
 
        $link = '<a class="comment-edit-link" href="' . get_edit_comment_link( $comment->comment_ID ) . '">' . $link . '</a>';
+
+       /**
+        * Filter the comment edit link anchor tag.
+        *
+        * @since 2.3.0
+        *
+        * @param string $link       Anchor tag for the edit link.
+        * @param int    $comment_id Comment ID.
+        */
        echo $before . apply_filters( 'edit_comment_link', $link, $comment->comment_ID ) . $after;
 }
 
@@ -1031,6 +1339,15 @@ function get_edit_bookmark_link( $link = 0 ) {
                return;
 
        $location = admin_url('link.php?action=edit&amp;link_id=') . $link->link_id;
+
+       /**
+        * Filter the bookmark (link) edit link.
+        *
+        * @since 2.7.0
+        *
+        * @param string $location The edit link.
+        * @param int    $link_id  Bookmark ID.
+        */
        return apply_filters( 'get_edit_bookmark_link', $location, $link->link_id );
 }
 
@@ -1054,6 +1371,15 @@ function edit_bookmark_link( $link = '', $before = '', $after = '', $bookmark =
                $link = __('Edit This');
 
        $link = '<a href="' . get_edit_bookmark_link( $bookmark ) . '">' . $link . '</a>';
+
+       /**
+        * Filter the bookmark edit link anchor tag.
+        *
+        * @since 2.7.0
+        *
+        * @param string $link    Anchor tag for the edit link.
+        * @param int    $link_id Bookmark ID.
+        */
        echo $before . apply_filters( 'edit_bookmark_link', $link, $bookmark->link_id ) . $after;
 }
 
@@ -1082,6 +1408,14 @@ function get_edit_user_link( $user_id = null ) {
        else
                $link = add_query_arg( 'user_id', $user->ID, self_admin_url( 'user-edit.php' ) );
 
+       /**
+        * Filter the user edit link.
+        *
+        * @since 3.5.0
+        *
+        * @param string $link    The edit link.
+        * @param int    $user_id User ID.
+        */
        return apply_filters( 'get_edit_user_link', $link, $user->ID );
 }
 
@@ -1179,8 +1513,44 @@ function get_adjacent_post( $in_same_term = false, $excluded_terms = '', $previo
        $op = $previous ? '<' : '>';
        $order = $previous ? 'DESC' : 'ASC';
 
+       /**
+        * Filter the JOIN clause in the SQL for an adjacent post query.
+        *
+        * The dynamic portion of the hook name, $adjacent, refers to the type
+        * of adjacency, 'next' or 'previous'.
+        *
+        * @since 2.5.0
+        *
+        * @param string $join           The JOIN clause in the SQL.
+        * @param bool   $in_same_term   Whether post should be in a same taxonomy term.
+        * @param array  $excluded_terms Array of excluded term IDs.
+        */
        $join  = apply_filters( "get_{$adjacent}_post_join", $join, $in_same_term, $excluded_terms );
+
+       /**
+        * Filter the WHERE clause in the SQL for an adjacent post query.
+        *
+        * The dynamic portion of the hook name, $adjacent, refers to the type
+        * of adjacency, 'next' or 'previous'.
+        *
+        * @since 2.5.0
+        *
+        * @param string $where          The WHERE clause in the SQL.
+        * @param bool   $in_same_term   Whether post should be in a same taxonomy term.
+        * @param array  $excluded_terms Array of excluded term IDs.
+        */
        $where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare( "WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish' $posts_in_ex_terms_sql", $current_post_date, $post->post_type), $in_same_term, $excluded_terms );
+
+       /**
+        * Filter the ORDER BY clause in the SQL for an adjacent post query.
+        *
+        * The dynamic portion of the hook name, $adjacent, refers to the type
+        * of adjacency, 'next' or 'previous'.
+        *
+        * @since 2.5.0
+        *
+        * @param string $order_by The ORDER BY clause in the SQL.
+        */
        $sort  = apply_filters( "get_{$adjacent}_post_sort", "ORDER BY p.post_date $order LIMIT 1" );
 
        $query = "SELECT p.ID FROM $wpdb->posts AS p $join $where $sort";
@@ -1242,6 +1612,17 @@ function get_adjacent_post_rel_link( $title = '%title', $in_same_term = false, $
        $link .= "' href='" . get_permalink( $post ) . "' />\n";
 
        $adjacent = $previous ? 'previous' : 'next';
+
+       /**
+        * Filter the adjacent post relational link.
+        *
+        * The dynamic portion of the hook name, $adjacent, refers to the type
+        * of adjacency, 'next' or 'previous'.
+        *
+        * @since 2.8.0
+        *
+        * @param string $link The relational link.
+        */
        return apply_filters( "{$adjacent}_post_rel_link", $link );
 }
 
@@ -1256,8 +1637,8 @@ function get_adjacent_post_rel_link( $title = '%title', $in_same_term = false, $
  * @param string       $taxonomy       Optional. Taxonomy, if $in_same_term is true. Default 'category'.
  */
 function adjacent_posts_rel_link( $title = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) {
-       echo get_adjacent_post_rel_link( $title, $in_same_term, $excluded_terms = '', true, $taxonomy );
-       echo get_adjacent_post_rel_link( $title, $in_same_term, $excluded_terms = '', false, $taxonomy );
+       echo get_adjacent_post_rel_link( $title, $in_same_term, $excluded_terms, true, $taxonomy );
+       echo get_adjacent_post_rel_link( $title, $in_same_term, $excluded_terms, false, $taxonomy );
 }
 
 /**
@@ -1284,7 +1665,7 @@ function adjacent_posts_rel_link_wp_head() {
  * @param string       $taxonomy       Optional. Taxonomy, if $in_same_term is true. Default 'category'.
  */
 function next_post_rel_link( $title = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) {
-       echo get_adjacent_post_rel_link( $title, $in_same_term, $excluded_terms = '', false, $taxonomy );
+       echo get_adjacent_post_rel_link( $title, $in_same_term, $excluded_terms, false, $taxonomy );
 }
 
 /**
@@ -1298,7 +1679,7 @@ function next_post_rel_link( $title = '%title', $in_same_term = false, $excluded
  * @param string       $taxonomy       Optional. Taxonomy, if $in_same_term is true. Default 'category'.
  */
 function prev_post_rel_link( $title = '%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ) {
-       echo get_adjacent_post_rel_link( $title, $in_same_term, $excluded_terms = '', true, $taxonomy );
+       echo get_adjacent_post_rel_link( $title, $in_same_term, $excluded_terms, true, $taxonomy );
 }
 
 /**
@@ -1313,7 +1694,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 object
+ * @return mixed 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();
@@ -1454,6 +1835,7 @@ function get_adjacent_post_link( $format, $link, $in_same_cat = false, $excluded
 
                /** This filter is documented in wp-includes/post-template.php */
                $title = apply_filters( 'the_title', $title, $post->ID );
+
                $date = mysql2date( get_option( 'date_format' ), $post->post_date );
                $rel = $previous ? 'prev' : 'next';
 
@@ -1467,6 +1849,19 @@ function get_adjacent_post_link( $format, $link, $in_same_cat = false, $excluded
 
        $adjacent = $previous ? 'previous' : 'next';
 
+       /**
+        * Filter the adjacent post link.
+        *
+        * The dynamic portion of the hook name, $adjacent, refers to the type
+        * of adjacency, 'next' or 'previous'.
+        *
+        * @since 2.6.0
+        *
+        * @param string  $output The adjacent post link.
+        * @param string  $format Link anchor format.
+        * @param string  $link   Link permalink format.
+        * @param WP_Post $post   The adjacent post.
+        */
        return apply_filters( "{$adjacent}_post_link", $output, $format, $link, $post );
 }
 
@@ -1549,7 +1944,14 @@ function get_pagenum_link($pagenum = 1, $escape = true ) {
                $result = $base . $request . $query_string;
        }
 
-       $result = apply_filters('get_pagenum_link', $result);
+       /**
+        * Filter the page number link for the current request.
+        *
+        * @since 2.5.0
+        *
+        * @param string $result The page number link.
+        */
+       $result = apply_filters( 'get_pagenum_link', $result );
 
        if ( $escape )
                return esc_url( $result );
@@ -1620,7 +2022,15 @@ function get_next_posts_link( $label = null, $max_page = 0 ) {
                $label = __( 'Next Page &raquo;' );
 
        if ( !is_single() && ( $nextpage <= $max_page ) ) {
+               /**
+                * Filter the anchor tag attributes for the next posts page link.
+                *
+                * @since 2.7.0
+                *
+                * @param string $attributes Attributes for the anchor tag.
+                */
                $attr = apply_filters( 'next_posts_link_attributes', '' );
+
                return '<a href="' . next_posts( $max_page, false ) . "\" $attr>" . preg_replace('/&([^#])(?![a-z]{1,8};)/i', '&#038;$1', $label) . '</a>';
        }
 }
@@ -1691,6 +2101,13 @@ function get_previous_posts_link( $label = null ) {
                $label = __( '&laquo; Previous Page' );
 
        if ( !is_single() && $paged > 1 ) {
+               /**
+                * Filter the anchor tag attributes for the previous posts page link.
+                *
+                * @since 2.7.0
+                *
+                * @param string $attributes Attributes for the anchor tag.
+                */
                $attr = apply_filters( 'previous_posts_link_attributes', '' );
                return '<a href="' . previous_posts( false ) . "\" $attr>". preg_replace( '/&([^#])(?![a-z]{1,8};)/i', '&#038;$1', $label ) .'</a>';
        }
@@ -1711,7 +2128,7 @@ function previous_posts_link( $label = null ) {
 /**
  * Return post pages link navigation for previous and next pages.
  *
- * @since 2.8
+ * @since 2.8.0
  *
  * @param string|array $args Optional args.
  * @return string The posts link navigation.
@@ -1792,7 +2209,14 @@ function get_comments_pagenum_link( $pagenum = 1, $max_page = 0 ) {
 
        $result .= '#comments';
 
-       $result = apply_filters('get_comments_pagenum_link', $result);
+       /**
+        * Filter the comments page number link for the current request.
+        *
+        * @since 2.7.0
+        *
+        * @param string $result The comments page number link.
+        */
+       $result = apply_filters( 'get_comments_pagenum_link', $result );
 
        return $result;
 }
@@ -1828,6 +2252,13 @@ function get_next_comments_link( $label = '', $max_page = 0 ) {
        if ( empty($label) )
                $label = __('Newer Comments &raquo;');
 
+       /**
+        * Filter the anchor tag attributes for the next comments page link.
+        *
+        * @since 2.7.0
+        *
+        * @param string $attributes Attributes for the anchor tag.
+        */
        return '<a href="' . esc_url( get_comments_pagenum_link( $nextpage, $max_page ) ) . '" ' . apply_filters( 'next_comments_link_attributes', '' ) . '>'. preg_replace('/&([^#])(?![a-z]{1,8};)/i', '&#038;$1', $label) .'</a>';
 }
 
@@ -1865,6 +2296,13 @@ function get_previous_comments_link( $label = '' ) {
        if ( empty($label) )
                $label = __('&laquo; Older Comments');
 
+       /**
+        * Filter the anchor tag attributes for the previous comments page link.
+        *
+        * @since 2.7.0
+        *
+        * @param string $attributes Attributes for the anchor tag.
+        */
        return '<a href="' . esc_url( get_comments_pagenum_link( $prevpage ) ) . '" ' . apply_filters( 'previous_comments_link_attributes', '' ) . '>' . preg_replace('/&([^#])(?![a-z]{1,8};)/i', '&#038;$1', $label) .'</a>';
 }
 
@@ -1946,7 +2384,14 @@ function get_shortcut_link() {
 
        $link = str_replace(array("\r", "\n", "\t"),  '', $link);
 
-       return apply_filters('shortcut_link', $link);
+       /**
+        * Filter the Press This bookmarklet link.
+        *
+        * @since 2.6.0
+        *
+        * @param string $link The Press This bookmarklet link.
+        */
+       return apply_filters( 'shortcut_link', $link );
 }
 
 /**
@@ -1956,7 +2401,6 @@ function get_shortcut_link() {
  * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
  * overridden.
  *
- * @package WordPress
  * @since 3.0.0
  *
  * @uses get_home_url()
@@ -1976,7 +2420,6 @@ function home_url( $path = '', $scheme = null ) {
  * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
  * overridden.
  *
- * @package WordPress
  * @since 3.0.0
  *
  * @param  int $blog_id   (optional) Blog ID. Defaults to current blog.
@@ -2007,6 +2450,16 @@ function get_home_url( $blog_id = null, $path = '', $scheme = null ) {
        if ( $path && is_string( $path ) )
                $url .= '/' . ltrim( $path, '/' );
 
+       /**
+        * Filter the home URL.
+        *
+        * @since 3.0.0
+        *
+        * @param string      $url         The complete home URL including scheme and path.
+        * @param string      $path        Path relative to the home URL. Blank string if no path is specified.
+        * @param string|null $orig_scheme Scheme to give the home URL context. Accepts 'http', 'https', 'relative' or null.
+        * @param int|null    $blog_id     Blog ID, or null for the current blog.
+        */
        return apply_filters( 'home_url', $url, $path, $orig_scheme, $blog_id );
 }
 
@@ -2017,8 +2470,7 @@ function get_home_url( $blog_id = null, $path = '', $scheme = null ) {
  * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
  * overridden.
  *
- * @package WordPress
- * @since 2.6.0
+ * @since 3.0.0
  *
  * @uses get_site_url()
  *
@@ -2037,7 +2489,6 @@ function site_url( $path = '', $scheme = null ) {
  * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
  * overridden.
  *
- * @package WordPress
  * @since 3.0.0
  *
  * @param int $blog_id (optional) Blog ID. Defaults to current blog.
@@ -2059,13 +2510,23 @@ function get_site_url( $blog_id = null, $path = '', $scheme = null ) {
        if ( $path && is_string( $path ) )
                $url .= '/' . ltrim( $path, '/' );
 
+       /**
+        * Filter the site URL.
+        *
+        * @since 2.7.0
+        *
+        * @param string      $url     The complete site URL including scheme and path.
+        * @param string      $path    Path relative to the site URL. Blank string if no path is specified.
+        * @param string|null $scheme  Scheme to give the site URL context. Accepts 'http', 'https', 'login',
+        *                             'login_post', 'admin', 'relative' or null.
+        * @param int|null    $blog_id Blog ID, or null for the current blog.
+        */
        return apply_filters( 'site_url', $url, $path, $scheme, $blog_id );
 }
 
 /**
  * Retrieve the url to the admin area for the current site.
  *
- * @package WordPress
  * @since 2.6.0
  *
  * @param string $path Optional path relative to the admin url.
@@ -2079,7 +2540,6 @@ function admin_url( $path = '', $scheme = 'admin' ) {
 /**
  * Retrieve the url to the admin area for a given site.
  *
- * @package WordPress
  * @since 3.0.0
  *
  * @param int $blog_id (optional) Blog ID. Defaults to current blog.
@@ -2093,13 +2553,21 @@ function get_admin_url( $blog_id = null, $path = '', $scheme = 'admin' ) {
        if ( $path && is_string( $path ) )
                $url .= ltrim( $path, '/' );
 
+       /**
+        * Filter the admin area URL.
+        *
+        * @since 2.8.0
+        *
+        * @param string   $url     The complete admin area URL including scheme and path.
+        * @param string   $path    Path relative to the admin area URL. Blank string if no path is specified.
+        * @param int|null $blog_id Blog ID, or null for the current blog.
+        */
        return apply_filters( 'admin_url', $url, $path, $blog_id );
 }
 
 /**
  * Retrieve the url to the includes directory.
  *
- * @package WordPress
  * @since 2.6.0
  *
  * @param string $path Optional. Path relative to the includes url.
@@ -2112,13 +2580,21 @@ function includes_url( $path = '', $scheme = null ) {
        if ( $path && is_string( $path ) )
                $url .= ltrim($path, '/');
 
-       return apply_filters('includes_url', $url, $path);
+       /**
+        * Filter the URL to the includes directory.
+        *
+        * @since 2.8.0
+        *
+        * @param string $url  The complete URL to the includes directory including scheme and path.
+        * @param string $path Path relative to the URL to the wp-includes directory. Blank string
+        *                     if no path is specified.
+        */
+       return apply_filters( 'includes_url', $url, $path );
 }
 
 /**
  * Retrieve the url to the content directory.
  *
- * @package WordPress
  * @since 2.6.0
  *
  * @param string $path Optional. Path relative to the content url.
@@ -2130,14 +2606,22 @@ function content_url($path = '') {
        if ( $path && is_string( $path ) )
                $url .= '/' . ltrim($path, '/');
 
-       return apply_filters('content_url', $url, $path);
+       /**
+        * Filter the URL to the content directory.
+        *
+        * @since 2.8.0
+        *
+        * @param string $url  The complete URL to the content directory including scheme and path.
+        * @param string $path Path relative to the URL to the content directory. Blank string
+        *                     if no path is specified.
+        */
+       return apply_filters( 'content_url', $url, $path);
 }
 
 /**
  * Retrieve the url to the plugins directory or to a specific file within that directory.
  * You can hardcode the plugin slug in $path or pass __FILE__ as a second argument to get the correct folder name.
  *
- * @package WordPress
  * @since 2.6.0
  *
  * @param string $path Optional. Path relative to the plugins url.
@@ -2169,7 +2653,18 @@ function plugins_url($path = '', $plugin = '') {
        if ( $path && is_string( $path ) )
                $url .= '/' . ltrim($path, '/');
 
-       return apply_filters('plugins_url', $url, $path, $plugin);
+       /**
+        * Filter the URL to the plugins directory.
+        *
+        * @since 2.8.0
+        *
+        * @param string $url    The complete URL to the plugins directory including scheme and path.
+        * @param string $path   Path relative to the URL to the plugins directory. Blank string
+        *                       if no path is specified.
+        * @param string $plugin The plugin file path to be relative to. Blank string if no plugin
+        *                       is specified.
+        */
+       return apply_filters( 'plugins_url', $url, $path, $plugin );
 }
 
 /**
@@ -2179,7 +2674,6 @@ function plugins_url($path = '', $plugin = '') {
  * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
  * overridden.
  *
- * @package WordPress
  * @since 3.0.0
  *
  * @param string $path Optional. Path relative to the site url.
@@ -2200,6 +2694,17 @@ function network_site_url( $path = '', $scheme = null ) {
        if ( $path && is_string( $path ) )
                $url .= ltrim( $path, '/' );
 
+       /**
+        * Filter the network site URL.
+        *
+        * @since 3.0.0
+        *
+        * @param string      $url    The complete network site URL including scheme and path.
+        * @param string      $path   Path relative to the network site URL. Blank string if
+        *                            no path is specified.
+        * @param string|null $scheme Scheme to give the URL context. Accepts 'http', 'https',
+        *                            'relative' or null.
+        */
        return apply_filters( 'network_site_url', $url, $path, $scheme );
 }
 
@@ -2210,7 +2715,6 @@ function network_site_url( $path = '', $scheme = null ) {
  * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
  * overridden.
  *
- * @package WordPress
  * @since 3.0.0
  *
  * @param  string $path   (optional) Path relative to the home url.
@@ -2235,13 +2739,23 @@ function network_home_url( $path = '', $scheme = null ) {
        if ( $path && is_string( $path ) )
                $url .= ltrim( $path, '/' );
 
+       /**
+        * Filter the network home URL.
+        *
+        * @since 3.0.0
+        *
+        * @param string      $url         The complete network home URL including scheme and path.
+        * @param string      $path        Path relative to the network home URL. Blank string
+        *                                 if no path is specified.
+        * @param string|null $orig_scheme Scheme to give the URL context. Accepts 'http', 'https',
+        *                                 'relative' or null.
+        */
        return apply_filters( 'network_home_url', $url, $path, $orig_scheme);
 }
 
 /**
  * Retrieve the url to the admin area for the network.
  *
- * @package WordPress
  * @since 3.0.0
  *
  * @param string $path Optional path relative to the admin url.
@@ -2257,13 +2771,21 @@ function network_admin_url( $path = '', $scheme = 'admin' ) {
        if ( $path && is_string( $path ) )
                $url .= ltrim($path, '/');
 
-       return apply_filters('network_admin_url', $url, $path);
+       /**
+        * Filter the network admin URL.
+        *
+        * @since 3.0.0
+        *
+        * @param string $url  The complete network admin URL including scheme and path.
+        * @param string $path Path relative to the network admin URL. Blank string if
+        *                     no path is specified.
+        */
+       return apply_filters( 'network_admin_url', $url, $path );
 }
 
 /**
  * Retrieve the url to the admin area for the current user.
  *
- * @package WordPress
  * @since 3.0.0
  *
  * @param string $path Optional path relative to the admin url.
@@ -2276,13 +2798,21 @@ function user_admin_url( $path = '', $scheme = 'admin' ) {
        if ( $path && is_string( $path ) )
                $url .= ltrim($path, '/');
 
-       return apply_filters('user_admin_url', $url, $path);
+       /**
+        * Filter the user admin URL for the current user.
+        *
+        * @since 3.1.0
+        *
+        * @param string $url  The complete URL including scheme and path.
+        * @param string $path Path relative to the URL. Blank string if
+        *                     no path is specified.
+        */
+       return apply_filters( 'user_admin_url', $url, $path );
 }
 
 /**
  * Retrieve the url to the admin area for either the current blog or the network depending on context.
  *
- * @package WordPress
  * @since 3.1.0
  *
  * @param string $path Optional path relative to the admin url.
@@ -2332,6 +2862,16 @@ function set_url_scheme( $url, $scheme = null ) {
                $url = preg_replace( '#^\w+://#', $scheme . '://', $url );
        }
 
+       /**
+        * Filter the resulting URL after setting the scheme.
+        *
+        * @since 3.4.0
+        *
+        * @param string $url         The complete URL including scheme and path.
+        * @param string $scheme      Scheme applied to the URL. One of 'http', 'https', or 'relative'.
+        * @param string $orig_scheme Scheme requested for the URL. One of 'http', 'https', 'login',
+        *                            'login_post', 'admin', 'rpc', or 'relative'.
+        */
        return apply_filters( 'set_url_scheme', $url, $scheme, $orig_scheme );
 }
 
@@ -2344,13 +2884,13 @@ function set_url_scheme( $url, $scheme = null ) {
  *
  * @since 3.1.0
  *
- * @param int $user_id User ID
+ * @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, $path = '', $scheme = 'admin' ) {
-       $user_id = (int) $user_id;
+function get_dashboard_url( $user_id = 0, $path = '', $scheme = 'admin' ) {
+       $user_id = $user_id ? (int) $user_id : get_current_user_id();
 
        $blogs = get_blogs_of_user( $user_id );
        if ( ! is_super_admin() && empty($blogs) ) {
@@ -2370,6 +2910,17 @@ function get_dashboard_url( $user_id, $path = '', $scheme = 'admin' ) {
                }
        }
 
+       /**
+        * Filter the dashboard URL for a user.
+        *
+        * @since 3.1.0
+        *
+        * @param string $url     The complete URL including scheme and path.
+        * @param int    $user_id The user ID.
+        * @param string $path    Path relative to the URL. Blank string if no path is specified.
+        * @param string $scheme  Scheme to give the URL context. Accepts 'http', 'https', 'login',
+        *                        'login_post', 'admin', 'relative' or null.
+        */
        return apply_filters( 'user_dashboard_url', $url, $user_id, $path, $scheme);
 }
 
@@ -2378,27 +2929,37 @@ function get_dashboard_url( $user_id, $path = '', $scheme = 'admin' ) {
  *
  * @since 3.1.0
  *
- * @param int $user User ID
- * @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 $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_edit_profile_url( $user, $scheme = 'admin' ) {
-       $user = (int) $user;
+function get_edit_profile_url( $user_id = 0, $scheme = 'admin' ) {
+       $user_id = $user_id ? (int) $user_id : get_current_user_id();
 
        if ( is_user_admin() )
                $url = user_admin_url( 'profile.php', $scheme );
        elseif ( is_network_admin() )
                $url = network_admin_url( 'profile.php', $scheme );
        else
-               $url = get_dashboard_url( $user, 'profile.php', $scheme );
+               $url = get_dashboard_url( $user_id, 'profile.php', $scheme );
 
-       return apply_filters( 'edit_profile_url', $url, $user, $scheme);
+       /**
+        * Filter the URL for a user's profile editor.
+        *
+        * @since 3.1.0
+        *
+        * @param string $url     The complete URL including scheme and path.
+        * @param int    $user_id The user ID.
+        * @param string $scheme  Scheme to give the URL context. Accepts 'http', 'https', 'login',
+        *                        'login_post', 'admin', 'relative' or null.
+        */
+       return apply_filters( 'edit_profile_url', $url, $user_id, $scheme);
 }
 
 /**
  * Output rel=canonical for singular queries.
  *
- * @package WordPress
  * @since 2.9.0
 */
 function rel_canonical() {
@@ -2433,8 +2994,21 @@ function rel_canonical() {
  * @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) {
-       // Allow plugins to short-circuit this function.
-       $shortlink = apply_filters('pre_get_shortlink', false, $id, $context, $allow_slugs);
+       /**
+        * Filter whether to preempt generating a shortlink for the given post.
+        *
+        * Passing a truthy value to the filter will effectively short-circuit the
+        * shortlink-generation process, returning that value instead.
+        *
+        * @since 3.0.0
+        *
+        * @param bool|string $return      Short-circuit return value. Either false or a URL string.
+        * @param int         $id          Post ID, or 0 for the current post.
+        * @param string      $context     The context for the link. One of 'post' or 'query',
+        * @param bool        $allow_slugs Whether to allow post slugs in the shortlink.
+        */
+       $shortlink = apply_filters( 'pre_get_shortlink', false, $id, $context, $allow_slugs );
+
        if ( false !== $shortlink )
                return $shortlink;
 
@@ -2454,11 +3028,25 @@ function wp_get_shortlink($id = 0, $context = 'post', $allow_slugs = true) {
        // Return p= link for all public post types.
        if ( ! empty( $post_id ) ) {
                $post_type = get_post_type_object( $post->post_type );
-               if ( $post_type->public )
-                       $shortlink = home_url('?p=' . $post_id);
+
+               if ( 'page' === $post->post_type && $post->ID == get_option( 'page_on_front' ) && 'page' == get_option( 'show_on_front' ) ) {
+                       $shortlink = home_url( '/' );
+               } elseif ( $post_type->public ) {
+                       $shortlink = home_url( '?p=' . $post_id );
+               }
        }
 
-       return apply_filters('get_shortlink', $shortlink, $id, $context, $allow_slugs);
+       /**
+        * Filter the shortlink for a post.
+        *
+        * @since 3.0.0
+        *
+        * @param string $shortlink   Shortlink URL.
+        * @param int    $id          Post ID, or 0 for the current post.
+        * @param string $context     The context for the link. One of 'post' or 'query',
+        * @param bool   $allow_slugs Whether to allow post slugs in the shortlink. Not used by default.
+        */
+       return apply_filters( 'get_shortlink', $shortlink, $id, $context, $allow_slugs );
 }
 
 /**
@@ -2527,6 +3115,17 @@ function the_shortlink( $text = '', $title = '', $before = '', $after = '' ) {
 
        if ( !empty( $shortlink ) ) {
                $link = '<a rel="shortlink" href="' . esc_url( $shortlink ) . '" title="' . $title . '">' . $text . '</a>';
+
+               /**
+                * Filter the shortlink anchor tag for a post.
+                *
+                * @since 3.0.0
+                *
+                * @param string $link      Shortlink anchor tag.
+                * @param string $shortlink Shortlink URL.
+                * @param string $text      Shortlink's text.
+                * @param string $title     Shortlink's title attribute.
+                */
                $link = apply_filters( 'the_shortlink', $link, $shortlink, $text, $title );
                echo $before, $link, $after;
        }
index e589f5fa5a3b6f740384dd2256ca525348f17fa9..f46572e3ccd5b240221255e9f0c58854916b8593 100644 (file)
@@ -104,11 +104,13 @@ function wp_check_php_mysql_versions() {
        $php_version = phpversion();
        if ( version_compare( $required_php_version, $php_version, '>' ) ) {
                wp_load_translations_early();
+               header( 'Content-Type: text/html; charset=utf-8' );
                die( sprintf( __( 'Your server is running PHP version %1$s but WordPress %2$s requires at least %3$s.' ), $php_version, $wp_version, $required_php_version ) );
        }
 
-       if ( ! extension_loaded( 'mysql' ) && ! file_exists( WP_CONTENT_DIR . '/db.php' ) ) {
+       if ( ! extension_loaded( 'mysql' ) && ! extension_loaded( 'mysqli' ) && ! file_exists( WP_CONTENT_DIR . '/db.php' ) ) {
                wp_load_translations_early();
+                header( 'Content-Type: text/html; charset=utf-8' );
                die( __( 'Your PHP installation appears to be missing the MySQL extension which is required by WordPress.' ) );
        }
 }
@@ -196,30 +198,21 @@ function timer_start() {
 }
 
 /**
- * Return and/or display the time from the page start to when function is called.
- *
- * You can get the results and print them by doing:
- * <code>
- * $nTimePageTookToExecute = timer_stop();
- * echo $nTimePageTookToExecute;
- * </code>
- *
- * Or instead, you can do:
- * <code>
- * timer_stop(1);
- * </code>
- * which will do what the above does. If you need the result, you can assign it to a variable, but
- * in most cases, you only need to echo it.
+ * Retrieve or display the time from the page start to when function is called.
  *
  * @since 0.71
- * @global float $timestart Seconds from when timer_start() is called
- * @global float $timeend Seconds from when function is called
  *
- * @param int $display Use '0' or null to not echo anything and 1 to echo the total time
- * @param int $precision The amount of digits from the right of the decimal to display. Default is 3.
- * @return float The "second.microsecond" finished time calculation
+ * @global float $timestart Seconds from when timer_start() is called.
+ * @global float $timeend   Seconds from when function is called.
+ *
+ * @param int $display   Whether to echo or return the results. Accepts 0|false for return,
+ *                       1|true for echo. Default 0|false.
+ * @param int $precision The number of digits from the right of the decimal to display.
+ *                       Default 3.
+ * @return string The "second.microsecond" finished time calculation. The number is formatted
+ *                for human consumption, both localized and rounded.
  */
-function timer_stop( $display = 0, $precision = 3 ) { // if called like timer_stop(1), will echo $timetotal
+function timer_stop( $display = 0, $precision = 3 ) {
        global $timestart, $timeend;
        $timeend = microtime( true );
        $timetotal = $timeend - $timestart;
index 57d1c0087d7bc3475498dce7117ddab1f1ac0c2e..202fd0747b05c03eac2d3d172a90453bdb3fdf00 100644 (file)
@@ -7,6 +7,106 @@
  * @since 3.5.0
  */
 
+/**
+ * Output the markup for a audio tag to be used in an Underscore template
+ * when data.model is passed.
+ *
+ * @since 3.9.0
+ */
+function wp_underscore_audio_template() {
+       $audio_types = wp_get_audio_extensions();
+?>
+<audio controls
+       class="wp-audio-shortcode"
+       width="{{ _.isUndefined( data.model.width ) ? 400 : data.model.width }}"
+       preload="{{ _.isUndefined( data.model.preload ) ? 'none' : data.model.preload }}"
+       <#
+       <?php foreach ( array( 'autoplay', 'loop' ) as $attr ):
+       ?>if ( ! _.isUndefined( data.model.<?php echo $attr ?> ) && data.model.<?php echo $attr ?> ) {
+               #> <?php echo $attr ?><#
+       }
+       <?php endforeach ?>#>
+>
+       <# if ( ! _.isEmpty( data.model.src ) ) { #>
+       <source src="{{ data.model.src }}" type="{{ wp.media.view.settings.embedMimes[ data.model.src.split('.').pop() ] }}" />
+       <# } #>
+
+       <?php foreach ( $audio_types as $type ):
+       ?><# if ( ! _.isEmpty( data.model.<?php echo $type ?> ) ) { #>
+       <source src="{{ data.model.<?php echo $type ?> }}" type="{{ wp.media.view.settings.embedMimes[ '<?php echo $type ?>' ] }}" />
+       <# } #>
+       <?php endforeach;
+?></audio>
+<?php
+}
+
+/**
+ * Output the markup for a video tag to be used in an Underscore template
+ * when data.model is passed.
+ *
+ * @since 3.9.0
+ */
+function wp_underscore_video_template() {
+       $video_types = wp_get_video_extensions();
+?>
+<#  var w, h, settings = wp.media.view.settings,
+               isYouTube = ! _.isEmpty( data.model.src ) && data.model.src.match(/youtube|youtu\.be/);
+
+       if ( settings.contentWidth && data.model.width >= settings.contentWidth ) {
+               w = settings.contentWidth;
+       } else {
+               w = data.model.width;
+       }
+
+       if ( w !== data.model.width ) {
+               h = Math.ceil( ( h * w ) / data.model.width );
+       } else {
+               h = data.model.height;
+       }
+#>
+<div style="max-width: 100%; width: {{ w }}px">
+<video controls
+       class="wp-video-shortcode{{ isYouTube ? ' youtube-video' : '' }}"
+       width="{{ w }}"
+       height="{{ h }}"
+       <?php
+       $props = array( 'poster' => '', 'preload' => 'metadata' );
+       foreach ( $props as $key => $value ):
+               if ( empty( $value ) ) {
+               ?><#
+               if ( ! _.isUndefined( data.model.<?php echo $key ?> ) && data.model.<?php echo $key ?> ) {
+                       #> <?php echo $key ?>="{{ data.model.<?php echo $key ?> }}"<#
+               } #>
+               <?php } else {
+                       echo $key ?>="{{ _.isUndefined( data.model.<?php echo $key ?> ) ? '<?php echo $value ?>' : data.model.<?php echo $key ?> }}"<?php
+               }
+       endforeach;
+       ?><#
+       <?php foreach ( array( 'autoplay', 'loop' ) as $attr ):
+       ?> if ( ! _.isUndefined( data.model.<?php echo $attr ?> ) && data.model.<?php echo $attr ?> ) {
+               #> <?php echo $attr ?><#
+       }
+       <?php endforeach ?>#>
+>
+       <# if ( ! _.isEmpty( data.model.src ) ) {
+               if ( isYouTube ) { #>
+               <source src="{{ data.model.src }}" type="video/youtube" />
+               <# } else { #>
+               <source src="{{ data.model.src }}" type="{{ settings.embedMimes[ data.model.src.split('.').pop() ] }}" />
+               <# }
+       } #>
+
+       <?php foreach ( $video_types as $type ):
+       ?><# if ( data.model.<?php echo $type ?> ) { #>
+       <source src="{{ data.model.<?php echo $type ?> }}" type="{{ settings.embedMimes[ '<?php echo $type ?>' ] }}" />
+       <# } #>
+       <?php endforeach; ?>
+       {{{ data.model.content }}}
+</video>
+</div>
+<?php
+}
+
 /**
  * Prints the templates used in the media manager.
  *
@@ -41,6 +141,12 @@ function wp_print_media_templates() {
                </div>
        </script>
 
+       <script type="text/html" id="tmpl-uploader-editor">
+               <div class="uploader-editor-content">
+                       <div class="uploader-editor-title"><?php _e( 'Drop files to upload' ); ?></div>
+               </div>
+       </script>
+
        <script type="text/html" id="tmpl-uploader-inline">
                <# var messageClass = data.message ? 'has-upload-message' : 'no-upload-message'; #>
                <div class="uploader-inline-content {{ messageClass }}">
@@ -48,7 +154,7 @@ function wp_print_media_templates() {
                        <h3 class="upload-message">{{ data.message }}</h3>
                <# } #>
                <?php if ( ! _device_can_upload() ) : ?>
-                       <h3 class="upload-instructions"><?php printf( __('The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.'), 'http://wordpress.org/mobile/' ); ?></h3>
+                       <h3 class="upload-instructions"><?php printf( __('The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.'), 'https://wordpress.org/mobile/' ); ?></h3>
                <?php elseif ( is_multisite() && ! is_upload_space_available() ) : ?>
                        <h3 class="upload-instructions"><?php _e( 'Upload Limit Exceeded' ); ?></h3>
                        <?php
@@ -99,12 +205,11 @@ function wp_print_media_templates() {
                                        printf( __( 'Maximum upload file size: %d%s.' ), esc_html($upload_size_unit), esc_html($byte_sizes[$u]) );
                                ?></p>
 
-                               <?php if ( ( $GLOBALS['is_IE'] || $GLOBALS['is_opera']) && $max_upload_size > 100 * 1024 * 1024 ) :
-                                       $browser_uploader = admin_url( 'media-new.php?browser-uploader&post_id=' ) . '{{ data.postId }}';
-                                       ?>
-                                       <p class="big-file-warning"><?php printf( __( 'Your browser has some limitations uploading large files with the multi-file uploader. Please use the <a href="%1$s" target="%2$s">browser uploader</a> for files over 100MB.' ),
-                                               $browser_uploader, '_blank' ); ?></p>
-                               <?php endif; ?>
+                               <# if ( data.suggestedWidth && data.suggestedHeight ) { #>
+                                       <p class="suggested-dimensions">
+                                               <?php _e( 'Suggested image dimensions:' ); ?> {{data.suggestedWidth}} &times; {{data.suggestedHeight}}
+                                       </p>
+                               <# } #>
 
                                <?php
                                /** This action is documented in wp-admin/includes/media.php */
@@ -153,11 +258,11 @@ function wp_print_media_templates() {
                        <# } #>
 
                        <# if ( data.buttons.close ) { #>
-                               <a class="close media-modal-icon" href="#" title="<?php _e('Remove'); ?>"></a>
+                               <a class="close media-modal-icon" href="#" title="<?php esc_attr_e('Remove'); ?>"></a>
                        <# } #>
 
                        <# if ( data.buttons.check ) { #>
-                               <a class="check" href="#" title="<?php _e('Deselect'); ?>"><div class="media-modal-icon"></div></a>
+                               <a class="check" href="#" title="<?php esc_attr_e('Deselect'); ?>"><div class="media-modal-icon"></div></a>
                        <# } #>
                </div>
                <#
@@ -218,7 +323,11 @@ function wp_print_media_templates() {
                                <# } #>
 
                                <# if ( ! data.uploading && data.can.remove ) { #>
-                                       <a class="delete-attachment" href="#"><?php _e( 'Delete Permanently' ); ?></a>
+                                       <?php if ( MEDIA_TRASH ): ?>
+                                               <a class="trash-attachment" href="#"><?php _e( 'Trash' ); ?></a>
+                                       <?php else: ?>
+                                               <a class="delete-attachment" href="#"><?php _e( 'Delete Permanently' ); ?></a>
+                                       <?php endif; ?>
                                <# } #>
 
                                <div class="compat-meta">
@@ -411,6 +520,40 @@ function wp_print_media_templates() {
                </label>
        </script>
 
+       <script type="text/html" id="tmpl-playlist-settings">
+               <h3><?php _e( 'Playlist Settings' ); ?></h3>
+
+               <# var emptyModel = _.isEmpty( data.model ),
+                       isVideo = 'video' === data.controller.get('library').props.get('type'); #>
+
+               <label class="setting">
+                       <input type="checkbox" data-setting="tracklist" <# if ( emptyModel ) { #>
+                               checked="checked"
+                       <# } #> />
+                       <# if ( isVideo ) { #>
+                       <span><?php _e( 'Show Video List' ); ?></span>
+                       <# } else { #>
+                       <span><?php _e( 'Show Tracklist' ); ?></span>
+                       <# } #>
+               </label>
+
+               <# if ( ! isVideo ) { #>
+               <label class="setting">
+                       <input type="checkbox" data-setting="artists" <# if ( emptyModel ) { #>
+                               checked="checked"
+                       <# } #> />
+                       <span><?php _e( 'Show Artist Name in Tracklist' ); ?></span>
+               </label>
+               <# } #>
+
+               <label class="setting">
+                       <input type="checkbox" data-setting="images" <# if ( emptyModel ) { #>
+                               checked="checked"
+                       <# } #> />
+                       <span><?php _e( 'Show Images' ); ?></span>
+               </label>
+       </script>
+
        <script type="text/html" id="tmpl-embed-link-settings">
                <label class="setting">
                        <span><?php _e('Title'); ?></span>
@@ -500,10 +643,423 @@ function wp_print_media_templates() {
                        }
                </style>
        </script>
+
+       <script type="text/html" id="tmpl-image-details">
+               <div class="media-embed">
+                       <div class="embed-media-settings">
+                               <div class="column-image">
+                                       <div class="image">
+                                               <img src="{{ data.model.url }}" draggable="false" />
+
+                                               <# if ( data.attachment && window.imageEdit ) { #>
+                                                       <div class="actions">
+                                                               <input type="button" class="edit-attachment button" value="<?php esc_attr_e( 'Edit Original' ); ?>" />
+                                                               <input type="button" class="replace-attachment button" value="<?php esc_attr_e( 'Replace' ); ?>" />
+                                                       </div>
+                                               <# } #>
+                                       </div>
+                               </div>
+                               <div class="column-settings">
+                                       <?php
+                                       /** This filter is documented in wp-admin/includes/media.php */
+                                       if ( ! apply_filters( 'disable_captions', '' ) ) : ?>
+                                               <label class="setting caption">
+                                                       <span><?php _e('Caption'); ?></span>
+                                                       <textarea data-setting="caption">{{ data.model.caption }}</textarea>
+                                               </label>
+                                       <?php endif; ?>
+
+                                       <label class="setting alt-text">
+                                               <span><?php _e('Alternative Text'); ?></span>
+                                               <input type="text" data-setting="alt" value="{{ data.model.alt }}" />
+                                       </label>
+
+                                       <h3><?php _e( 'Display Settings' ); ?></h3>
+                                       <div class="setting align">
+                                               <span><?php _e('Align'); ?></span>
+                                               <div class="button-group button-large" data-setting="align">
+                                                       <button class="button" value="left">
+                                                               <?php esc_attr_e('Left'); ?>
+                                                       </button>
+                                                       <button class="button" value="center">
+                                                               <?php esc_attr_e('Center'); ?>
+                                                       </button>
+                                                       <button class="button" value="right">
+                                                               <?php esc_attr_e('Right'); ?>
+                                                       </button>
+                                                       <button class="button active" value="none">
+                                                               <?php esc_attr_e('None'); ?>
+                                                       </button>
+                                               </div>
+                                       </div>
+
+                                       <# if ( data.attachment ) { #>
+                                               <# if ( 'undefined' !== typeof data.attachment.sizes ) { #>
+                                                       <label class="setting size">
+                                                               <span><?php _e('Size'); ?></span>
+                                                               <select class="size" name="size"
+                                                                       data-setting="size"
+                                                                       <# if ( data.userSettings ) { #>
+                                                                               data-user-setting="imgsize"
+                                                                       <# } #>>
+                                                                       <?php
+                                                                       /** This filter is documented in wp-admin/includes/media.php */
+                                                                       $sizes = apply_filters( 'image_size_names_choose', array(
+                                                                               'thumbnail' => __('Thumbnail'),
+                                                                               'medium'    => __('Medium'),
+                                                                               'large'     => __('Large'),
+                                                                               'full'      => __('Full Size'),
+                                                                       ) );
+
+                                                                       foreach ( $sizes as $value => $name ) : ?>
+                                                                               <#
+                                                                               var size = data.sizes['<?php echo esc_js( $value ); ?>'];
+                                                                               if ( size ) { #>
+                                                                                       <option value="<?php echo esc_attr( $value ); ?>">
+                                                                                               <?php echo esc_html( $name ); ?> &ndash; {{ size.width }} &times; {{ size.height }}
+                                                                                       </option>
+                                                                               <# } #>
+                                                                       <?php endforeach; ?>
+                                                                       <option value="<?php echo esc_attr( 'custom' ); ?>">
+                                                                               <?php _e( 'Custom Size' ); ?>
+                                                                       </option>
+                                                               </select>
+                                                       </label>
+                                               <# } #>
+                                                       <div class="custom-size<# if ( data.model.size !== 'custom' ) { #> hidden<# } #>">
+                                                               <label><span><?php _e( 'Width' ); ?> <small>(px)</small></span> <input data-setting="customWidth" type="number" step="1" value="{{ data.model.customWidth }}" /></label><span class="sep">&times;</span><label><span><?php _e( 'Height' ); ?> <small>(px)</small></span><input data-setting="customHeight" type="number" step="1" value="{{ data.model.customHeight }}" /></label>
+                                                       </div>
+                                       <# } #>
+
+                                       <div class="setting link-to">
+                                               <span><?php _e('Link To'); ?></span>
+                                               <select data-setting="link">
+                                               <# if ( data.attachment ) { #>
+                                                       <option value="file">
+                                                               <?php esc_attr_e('Media File'); ?>
+                                                       </option>
+                                                       <option value="post">
+                                                               <?php esc_attr_e('Attachment Page'); ?>
+                                                       </option>
+                                               <# } else { #>
+                                                       <option value="file">
+                                                               <?php esc_attr_e('Image URL'); ?>
+                                                       </option>
+                                               <# } #>
+                                                       <option value="custom">
+                                                               <?php esc_attr_e('Custom URL'); ?>
+                                                       </option>
+                                                       <option value="none">
+                                                               <?php esc_attr_e('None'); ?>
+                                                       </option>
+                                               </select>
+                                               <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>
+                                               <div class="advanced-settings hidden">
+                                                       <div class="advanced-image">
+                                                               <label class="setting title-text">
+                                                                       <span><?php _e('Image Title Attribute'); ?></span>
+                                                                       <input type="text" data-setting="title" value="{{ data.model.title }}" />
+                                                               </label>
+                                                               <label class="setting extra-classes">
+                                                                       <span><?php _e('Image CSS Class'); ?></span>
+                                                                       <input type="text" data-setting="extraClasses" value="{{ data.model.extraClasses }}" />
+                                                               </label>
+                                                       </div>
+                                                       <div class="advanced-link">
+                                                               <div class="setting link-target">
+                                                                       <label><input type="checkbox" data-setting="linkTargetBlank" value="_blank" <# if ( data.model.linkTargetBlank ) { #>checked="checked"<# } #>><?php _e( 'Open link in a new window/tab' ); ?></label>
+                                                               </div>
+                                                               <label class="setting link-rel">
+                                                                       <span><?php _e('Link Rel'); ?></span>
+                                                                       <input type="text" data-setting="linkRel" value="{{ data.model.linkClassName }}" />
+                                                               </label>
+                                                               <label class="setting link-class-name">
+                                                                       <span><?php _e('Link CSS Class'); ?></span>
+                                                                       <input type="text" data-setting="linkClassName" value="{{ data.model.linkClassName }}" />
+                                                               </label>
+                                                       </div>
+                                               </div>
+                                       </div>
+                               </div>
+                       </div>
+               </div>
+       </script>
+
+       <script type="text/html" id="tmpl-image-editor">
+               <div id="media-head-{{ data.id }}"></div>
+               <div id="image-editor-{{ data.id }}"></div>
+       </script>
+
+       <script type="text/html" id="tmpl-audio-details">
+               <# var ext, html5types = {
+                       mp3: wp.media.view.settings.embedMimes.mp3,
+                       ogg: wp.media.view.settings.embedMimes.ogg
+               }; #>
+
+               <?php $audio_types = wp_get_audio_extensions(); ?>
+               <div class="media-embed media-embed-details">
+                       <div class="embed-media-settings embed-audio-settings">
+                               <?php wp_underscore_audio_template() ?>
+
+                               <# if ( ! _.isEmpty( data.model.src ) ) {
+                                       ext = data.model.src.split('.').pop();
+                                       if ( html5types[ ext ] ) {
+                                               delete html5types[ ext ];
+                                       }
+                               #>
+                               <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>
+                               </label>
+                               <# } #>
+                               <?php
+
+                               foreach ( $audio_types as $type ):
+                               ?><# if ( ! _.isEmpty( data.model.<?php echo $type ?> ) ) {
+                                       if ( ! _.isUndefined( html5types.<?php echo $type ?> ) ) {
+                                               delete html5types.<?php echo $type ?>;
+                                       }
+                               #>
+                               <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>
+                               </label>
+                               <# } #>
+                               <?php endforeach ?>
+
+                               <# if ( ! _.isEmpty( html5types ) ) { #>
+                               <div class="setting">
+                                       <span><?php _e( 'Add alternate sources for maximum HTML5 playback:' ) ?></span>
+                                       <div class="button-large">
+                                       <# _.each( html5types, function (mime, type) { #>
+                                       <button class="button add-media-source" data-mime="{{ mime }}">{{ type }}</button>
+                                       <# } ) #>
+                                       </div>
+                               </div>
+                               <# } #>
+
+                               <div class="setting preload">
+                                       <span><?php _e( 'Preload' ); ?></span>
+                                       <div class="button-group button-large" data-setting="preload">
+                                               <button class="button" value="auto"><?php _ex( 'Auto', 'auto preload' ); ?></button>
+                                               <button class="button" value="metadata"><?php _e( 'Metadata' ); ?></button>
+                                               <button class="button active" value="none"><?php _e( 'None' ); ?></button>
+                                       </div>
+                               </div>
+
+                               <label class="setting checkbox-setting">
+                                       <span><?php _e( 'Autoplay' ); ?></span>
+                                       <input type="checkbox" data-setting="autoplay" />
+                               </label>
+
+                               <label class="setting checkbox-setting">
+                                       <span><?php _e( 'Loop' ); ?></span>
+                                       <input type="checkbox" data-setting="loop" />
+                               </label>
+                               <div class="clear"></div>
+                       </div>
+               </div>
+       </script>
+
+       <script type="text/html" id="tmpl-video-details">
+               <# var ext, html5types = {
+                       mp4: wp.media.view.settings.embedMimes.mp4,
+                       ogv: wp.media.view.settings.embedMimes.ogv,
+                       webm: wp.media.view.settings.embedMimes.webm
+               }; #>
+
+               <?php $video_types = wp_get_video_extensions(); ?>
+               <div class="media-embed media-embed-details">
+                       <div class="embed-media-settings embed-video-settings">
+                               <div class="wp-video-holder">
+                               <#
+                               var isYouTube = ! _.isEmpty( data.model.src ) && data.model.src.match(/youtube|youtu\.be/);
+                                       w = ! data.model.width || data.model.width > 640 ? 640 : data.model.width,
+                                       h = ! data.model.height ? 360 : data.model.height;
+
+                               if ( data.model.width && w !== data.model.width ) {
+                                       h = Math.ceil( ( h * w ) / data.model.width );
+                               }
+                               #>
+
+                               <?php wp_underscore_video_template() ?>
+
+                               <# if ( ! _.isEmpty( data.model.src ) ) {
+                                       ext = data.model.src.split('.').pop();
+                                       if ( html5types[ ext ] ) {
+                                               delete html5types[ ext ];
+                                       }
+                               #>
+                               <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>
+                               </label>
+                               <# } #>
+                               <?php foreach ( $video_types as $type ):
+                               ?><# if ( ! _.isEmpty( data.model.<?php echo $type ?> ) ) {
+                                       if ( ! _.isUndefined( html5types.<?php echo $type ?> ) ) {
+                                               delete html5types.<?php echo $type ?>;
+                                       }
+                               #>
+                               <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>
+                               </label>
+                               <# } #>
+                               <?php endforeach ?>
+                               </div>
+
+                               <# if ( ! _.isEmpty( html5types ) ) { #>
+                               <div class="setting">
+                                       <span><?php _e( 'Add alternate sources for maximum HTML5 playback:' ); ?></span>
+                                       <div class="button-large">
+                                       <# _.each( html5types, function (mime, type) { #>
+                                       <button class="button add-media-source" data-mime="{{ mime }}">{{ type }}</button>
+                                       <# } ) #>
+                                       </div>
+                               </div>
+                               <# } #>
+
+                               <# if ( ! _.isEmpty( data.model.poster ) ) { #>
+                               <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>
+                               </label>
+                               <# } #>
+                               <div class="setting preload">
+                                       <span><?php _e( 'Preload' ); ?></span>
+                                       <div class="button-group button-large" data-setting="preload">
+                                               <button class="button" value="auto"><?php _ex( 'Auto', 'auto preload' ); ?></button>
+                                               <button class="button" value="metadata"><?php _e( 'Metadata' ); ?></button>
+                                               <button class="button active" value="none"><?php _e( 'None' ); ?></button>
+                                       </div>
+                               </div>
+
+                               <label class="setting checkbox-setting">
+                                       <span><?php _e( 'Autoplay' ); ?></span>
+                                       <input type="checkbox" data-setting="autoplay" />
+                               </label>
+
+                               <label class="setting checkbox-setting">
+                                       <span><?php _e( 'Loop' ); ?></span>
+                                       <input type="checkbox" data-setting="loop" />
+                               </label>
+                               <div class="clear"></div>
+
+                               <label class="setting" data-setting="content">
+                                       <span><?php _e( 'Tracks (subtitles, captions, descriptions, chapters, or metadata)' ); ?></span>
+                                       <#
+                                       var content = '';
+                                       if ( ! _.isEmpty( data.model.content ) ) {
+                                               var tracks = jQuery( data.model.content ).filter( 'track' );
+                                               _.each( tracks.toArray(), function (track) {
+                                                       content += track.outerHTML; #>
+                                               <p>
+                                                       <input class="content-track" type="text" value="{{ track.outerHTML }}" />
+                                                       <a class="remove-setting remove-track"><?php _e( 'Remove' ); ?></a>
+                                               </p>
+                                               <# } ); #>
+                                       <# } else { #>
+                                       <em><?php _e( 'There are no associated subtitles.' ); ?></em>
+                                       <# } #>
+                                       <textarea class="hidden content-setting">{{ content }}</textarea>
+                               </label>
+                       </div>
+               </div>
+       </script>
+
+       <script type="text/html" id="tmpl-editor-gallery">
+               <div class="toolbar">
+                       <div class="dashicons dashicons-edit edit"></div><div class="dashicons dashicons-no-alt remove"></div>
+               </div>
+               <# if ( data.attachments ) { #>
+                       <div class="gallery gallery-columns-{{ data.columns }}">
+                               <# _.each( data.attachments, function( attachment, index ) { #>
+                                       <dl class="gallery-item">
+                                               <dt class="gallery-icon">
+                                                       <# if ( attachment.thumbnail ) { #>
+                                                               <img src="{{ attachment.thumbnail.url }}" width="{{ attachment.thumbnail.width }}" height="{{ attachment.thumbnail.height }}" />
+                                                       <# } else { #>
+                                                               <img src="{{ attachment.url }}" />
+                                                       <# } #>
+                                               </dt>
+                                               <dd class="wp-caption-text gallery-caption">
+                                                       {{ attachment.caption }}
+                                               </dd>
+                                       </dl>
+                                       <# if ( index % data.columns === data.columns - 1 ) { #>
+                                               <br style="clear: both;">
+                                       <# } #>
+                               <# } ); #>
+                       </div>
+               <# } else { #>
+                       <div class="wpview-error">
+                               <div class="dashicons dashicons-format-gallery"></div><p><?php _e( 'No items found.' ); ?></p>
+                       </div>
+               <# } #>
+       </script>
+
+       <script type="text/html" id="tmpl-editor-audio">
+               <div class="toolbar">
+                       <div class="dashicons dashicons-edit edit"></div>
+                       <div class="dashicons dashicons-no-alt remove"></div>
+               </div>
+               <?php wp_underscore_audio_template() ?>
+               <div class="wpview-overlay"></div>
+       </script>
+
+       <script type="text/html" id="tmpl-editor-video">
+               <div class="toolbar">
+                       <div class="dashicons dashicons-edit edit"></div>
+                       <div class="dashicons dashicons-no-alt remove"></div>
+               </div>
+               <?php wp_underscore_video_template() ?>
+               <div class="wpview-overlay"></div>
+       </script>
+
+       <?php wp_underscore_playlist_templates() ?>
+
+       <script type="text/html" id="tmpl-editor-playlist">
+               <div class="toolbar">
+                       <div class="dashicons dashicons-edit edit"></div>
+                       <div class="dashicons dashicons-no-alt remove"></div>
+               </div>
+               <# if ( data.tracks ) { #>
+                       <div class="wp-playlist wp-{{ data.type }}-playlist wp-playlist-{{ data.style }}">
+                               <# if ( 'audio' === data.type ){ #>
+                               <div class="wp-playlist-current-item"></div>
+                               <# } #>
+                               <{{ data.type }} controls="controls" preload="none" <#
+                                       if ( data.width ) { #> width="{{ data.width }}"<# }
+                                       #><# if ( data.height ) { #> height="{{ data.height }}"<# } #>></{{ data.type }}>
+                               <div class="wp-playlist-next"></div>
+                               <div class="wp-playlist-prev"></div>
+                       </div>
+                       <div class="wpview-overlay"></div>
+               <# } else { #>
+                       <div class="wpview-error">
+                               <div class="dashicons dashicons-video-alt3"></div><p><?php _e( 'No items found.' ); ?></p>
+                       </div>
+               <# } #>
+       </script>
+
+       <script type="text/html" id="tmpl-crop-content">
+               <img class="crop-image" src="{{ data.url }}">
+               <div class="upload-errors"></div>
+       </script>
+
        <?php
 
        /**
-        * Prints the media manager custom media templates.
+        * Fires when the custom Backbone media templates are printed.
         *
         * @since 3.5.0
         */
index f063e8e8e13af3111550ee91cd79e80738273ade..d4061170deb9b945b1b341b2750811b17196803b 100644 (file)
@@ -78,6 +78,18 @@ function image_constrain_size_for_editor($width, $height, $size = 'medium', $con
                $max_height = $height;
        }
 
+       /**
+        * Filter the maximum image size dimensions for the editor.
+        *
+        * @since 2.5.0
+        *
+        * @param array        $max_image_size An array with the width as the first element,
+        *                                     and the height as the second element.
+        * @param string|array $size           Size of what the result image should be.
+        * @param string       $context        The context the image is being resized for.
+        *                                     Possible values are 'display' (like in a theme)
+        *                                     or 'edit' (like inserting into an editor).
+        */
        list( $max_width, $max_height ) = apply_filters( 'editor_max_image_size', array( $max_width, $max_height ), $size, $context );
 
        return wp_constrain_dimensions( $width, $height, $max_width, $max_height );
@@ -126,8 +138,6 @@ function image_hwstring($width, $height) {
  * to the new image that was resized.
  *
  * @since 2.5.0
- * @uses apply_filters() Calls 'image_downsize' on $id and $size to provide
- *             resize services.
  *
  * @param int $id Attachment ID for image.
  * @param array|string $size Optional, default is 'medium'. Size of image, either array or string.
@@ -138,9 +148,21 @@ function image_downsize($id, $size = 'medium') {
        if ( !wp_attachment_is_image($id) )
                return false;
 
-       // plugins can use this to provide resize services
-       if ( $out = apply_filters( 'image_downsize', false, $id, $size ) )
+       /**
+        * Filter whether to preempt the output of image_downsize().
+        *
+        * Passing a truthy value to the filter will effectively short-circuit
+        * down-sizing the image, returning that value as output instead.
+        *
+        * @since 2.5.0
+        *
+        * @param bool         $downsize Whether to short-circuit the image downsize. Default false.
+        * @param int          $id       Attachment ID for image.
+        * @param array|string $size     Size of image, either array or string. Default 'medium'.
+        */
+       if ( $out = apply_filters( 'image_downsize', false, $id, $size ) ) {
                return $out;
+       }
 
        $img_url = wp_get_attachment_url($id);
        $meta = wp_get_attachment_metadata($id);
@@ -181,19 +203,79 @@ function image_downsize($id, $size = 'medium') {
 }
 
 /**
- * Registers a new image size
+ * Register a new image size.
+ *
+ * Cropping behavior for the image size is dependent on the value of $crop:
+ * 1. If false (default), images will be scaled, not cropped.
+ * 2. If an array in the form of array( x_crop_position, y_crop_position ):
+ *    - x_crop_position accepts 'left' 'center', or 'right'.
+ *    - y_crop_position accepts 'top', 'center', or 'bottom'.
+ *    Images will be cropped to the specified dimensions within the defined crop area.
+ * 3. If true, images will be cropped to the specified dimensions using center positions.
  *
  * @since 2.9.0
+ *
+ * @param string     $name   Image size identifier.
+ * @param int        $width  Image width in pixels.
+ * @param int        $height Image height in pixels.
+ * @param bool|array $crop   Optional. Whether to crop images to specified height and width or resize.
+ *                           An array can specify positioning of the crop area. Default false.
+ * @return bool|array False, if no image was created. Metadata array on success.
  */
 function add_image_size( $name, $width = 0, $height = 0, $crop = false ) {
        global $_wp_additional_image_sizes;
-       $_wp_additional_image_sizes[$name] = array( 'width' => absint( $width ), 'height' => absint( $height ), 'crop' => (bool) $crop );
+
+       $_wp_additional_image_sizes[ $name ] = array(
+               'width'  => absint( $width ),
+               'height' => absint( $height ),
+               'crop'   => $crop,
+       );
 }
 
 /**
- * Registers an image size for the post thumbnail
+ * Check if an image size exists.
+ *
+ * @since 3.9.0
+ *
+ * @param string $name The image size to check.
+ * @return bool True if the image size exists, false if not.
+ */
+function has_image_size( $name ) {
+       global $_wp_additional_image_sizes;
+
+       return isset( $_wp_additional_image_sizes[ $name ] );
+}
+
+/**
+ * Remove a new image size.
+ *
+ * @since 3.9.0
+ *
+ * @param string $name The image size to remove.
+ * @return bool True if the image size was successfully removed, false on failure.
+ */
+function remove_image_size( $name ) {
+       global $_wp_additional_image_sizes;
+
+       if ( isset( $_wp_additional_image_sizes[ $name ] ) ) {
+               unset( $_wp_additional_image_sizes[ $name ] );
+               return true;
+       }
+
+       return false;
+}
+
+/**
+ * Registers an image size for the post thumbnail.
  *
  * @since 2.9.0
+ * @see add_image_size() for details on cropping behavior.
+ *
+ * @param int        $width  Image width in pixels.
+ * @param int        $height Image height in pixels.
+ * @param bool|array $crop   Optional. Whether to crop images to specified height and width or resize.
+ *                           An array can specify positioning of the crop area. Default false.
+ * @return bool|array False, if no image was created. Metadata array on success.
  */
 function set_post_thumbnail_size( $width = 0, $height = 0, $crop = false ) {
        add_image_size( 'post-thumbnail', $width, $height, $crop );
@@ -213,11 +295,6 @@ function set_post_thumbnail_size( $width = 0, $height = 0, $crop = false ) {
  *
  * @since 2.5.0
  *
- * @uses apply_filters() The 'get_image_tag_class' filter is the IMG element
- *             class attribute.
- * @uses apply_filters() The 'get_image_tag' filter is the full IMG element with
- *             all attributes.
- *
  * @param int $id Attachment ID.
  * @param string $alt Image Description for the alt attribute.
  * @param string $title Image Description for the title attribute.
@@ -233,10 +310,33 @@ function get_image_tag($id, $alt, $title, $align, $size='medium') {
        $title = $title ? 'title="' . esc_attr( $title ) . '" ' : '';
 
        $class = 'align' . esc_attr($align) .' size-' . esc_attr($size) . ' wp-image-' . $id;
-       $class = apply_filters('get_image_tag_class', $class, $id, $align, $size);
+
+       /**
+        * Filter the value of the attachment's image tag class attribute.
+        *
+        * @since 2.6.0
+        *
+        * @param string $class CSS class name or space-separated list of classes.
+        * @param int    $id    Attachment ID.
+        * @param string $align Part of the class name for aligning the image.
+        * @param string $size  Optional. Default is 'medium'.
+        */
+       $class = apply_filters( 'get_image_tag_class', $class, $id, $align, $size );
 
        $html = '<img src="' . esc_attr($img_src) . '" alt="' . esc_attr($alt) . '" ' . $title . $hwstring . 'class="' . $class . '" />';
 
+       /**
+        * Filter the HTML content for the image tag.
+        *
+        * @since 2.6.0
+        *
+        * @param string $html  HTML content for the image.
+        * @param int    $id    Attachment ID.
+        * @param string $alt   Alternate text.
+        * @param string $title Attachment title.
+        * @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;
@@ -300,22 +400,28 @@ function wp_constrain_dimensions( $current_width, $current_height, $max_width=0,
 }
 
 /**
- * Retrieve calculated resized dimensions for use in WP_Image_Editor.
+ * Retrieve calculated resize dimensions for use in WP_Image_Editor.
+ *
+ * Calculates dimensions and coordinates for a resized image that fits
+ * within a specified width and height.
  *
- * Calculate dimensions and coordinates for a resized image that fits within a
- * specified width and height. If $crop is true, the largest matching central
- * portion of the image will be cropped out and resized to the required size.
+ * Cropping behavior is dependent on the value of $crop:
+ * 1. If false (default), images will not be cropped.
+ * 2. If an array in the form of array( x_crop_position, y_crop_position ):
+ *    - x_crop_position accepts 'left' 'center', or 'right'.
+ *    - y_crop_position accepts 'top', 'center', or 'bottom'.
+ *    Images will be cropped to the specified dimensions within the defined crop area.
+ * 3. If true, images will be cropped to the specified dimensions using center positions.
  *
  * @since 2.5.0
- * @uses apply_filters() Calls 'image_resize_dimensions' on $orig_w, $orig_h, $dest_w, $dest_h and
- *             $crop to provide custom resize dimensions.
- *
- * @param int $orig_w Original width.
- * @param int $orig_h Original height.
- * @param int $dest_w New width.
- * @param int $dest_h New height.
- * @param bool $crop Optional, default is false. Whether to crop image or resize.
- * @return bool|array False on failure. Returned array matches parameters for imagecopyresampled() PHP function.
+ *
+ * @param int        $orig_w Original width in pixels.
+ * @param int        $orig_h Original height in pixels.
+ * @param int        $dest_w New width in pixels.
+ * @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()`.
  */
 function image_resize_dimensions($orig_w, $orig_h, $dest_w, $dest_h, $crop = false) {
 
@@ -325,7 +431,22 @@ function image_resize_dimensions($orig_w, $orig_h, $dest_w, $dest_h, $crop = fal
        if ($dest_w <= 0 && $dest_h <= 0)
                return false;
 
-       // plugins can use this to provide custom resize dimensions
+       /**
+        * Filter whether to preempt calculating the image resize dimensions.
+        *
+        * Passing a non-null value to the filter will effectively short-circuit
+        * image_resize_dimensions(), returning that value instead.
+        *
+        * @since 3.4.0
+        *
+        * @param null|mixed $null   Whether to preempt output of the resize dimensions.
+        * @param int        $orig_w Original width in pixels.
+        * @param int        $orig_h Original height in pixels.
+        * @param int        $dest_w New width in pixels.
+        * @param int        $dest_h New height in pixels.
+        * @param bool|array $crop   Whether to crop image to specified height and width or resize.
+        *                           An array can specify positioning of the crop area. Default false.
+        */
        $output = apply_filters( 'image_resize_dimensions', null, $orig_w, $orig_h, $dest_w, $dest_h, $crop );
        if ( null !== $output )
                return $output;
@@ -349,8 +470,27 @@ function image_resize_dimensions($orig_w, $orig_h, $dest_w, $dest_h, $crop = fal
                $crop_w = round($new_w / $size_ratio);
                $crop_h = round($new_h / $size_ratio);
 
-               $s_x = floor( ($orig_w - $crop_w) / 2 );
-               $s_y = floor( ($orig_h - $crop_h) / 2 );
+               if ( ! is_array( $crop ) || count( $crop ) !== 2 ) {
+                       $crop = array( 'center', 'center' );
+               }
+
+               list( $x, $y ) = $crop;
+
+               if ( 'left' === $x ) {
+                       $s_x = 0;
+               } elseif ( 'right' === $x ) {
+                       $s_x = $orig_w - $crop_w;
+               } else {
+                       $s_x = floor( ( $orig_w - $crop_w ) / 2 );
+               }
+
+               if ( 'top' === $y ) {
+                       $s_y = 0;
+               } elseif ( 'bottom' === $y ) {
+                       $s_y = $orig_h - $crop_h;
+               } else {
+                       $s_y = floor( ( $orig_h - $crop_h ) / 2 );
+               }
        } else {
                // don't crop, just resize using $dest_w x $dest_h as a maximum bounding box
                $crop_w = $orig_w;
@@ -491,6 +631,14 @@ function get_intermediate_image_sizes() {
        if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) )
                $image_sizes = array_merge( $image_sizes, array_keys( $_wp_additional_image_sizes ) );
 
+       /**
+        * Filter the list of intermediate image sizes.
+        *
+        * @since 2.5.0
+        *
+        * @param array $image_sizes An array of intermediate image sizes. Defaults
+        *                           are 'thumbnail', 'medium', 'large'.
+        */
        return apply_filters( 'intermediate_image_sizes', $image_sizes );
 }
 
@@ -515,7 +663,8 @@ function wp_get_attachment_image_src($attachment_id, $size='thumbnail', $icon =
        $src = false;
 
        if ( $icon && $src = wp_mime_type_icon($attachment_id) ) {
-               $icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/crystal' );
+               /** 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);
        }
@@ -532,10 +681,10 @@ function wp_get_attachment_image_src($attachment_id, $size='thumbnail', $icon =
  * efficient than having to find the closest-sized image and then having the
  * browser scale down the image.
  *
+ * @since 2.5.0
+ *
  * @see add_image_size()
- * @uses apply_filters() Calls 'wp_get_attachment_image_attributes' hook on attributes array
  * @uses wp_get_attachment_image_src() Gets attachment file URL and dimensions
- * @since 2.5.0
  *
  * @param int $attachment_id Image attachment ID.
  * @param string $size Optional, default is 'thumbnail'.
@@ -564,6 +713,15 @@ function wp_get_attachment_image($attachment_id, $size = 'thumbnail', $icon = fa
                        $default_attr['alt'] = trim(strip_tags( $attachment->post_title )); // Finally, use the title
 
                $attr = wp_parse_args($attr, $default_attr);
+
+               /**
+                * Filter the list of attachment image attributes.
+                *
+                * @since 2.8.0
+                *
+                * @param mixed $attr          Attributes for the image markup.
+                * @param int   $attachment_id Image attachment ID.
+                */
                $attr = apply_filters( 'wp_get_attachment_image_attributes', $attr, $attachment );
                $attr = array_map( 'esc_attr', $attr );
                $html = rtrim("<img $hwstring");
@@ -623,11 +781,20 @@ add_shortcode('caption', 'img_caption_shortcode');
  *
  * @since 2.6.0
  *
- * @param array $attr Attributes attributed to the shortcode.
+ * @param array $attr {
+ *     Attributes of the caption shortcode.
+ *
+ *     @type string $id      ID of the div element for the caption.
+ *     @type string $align   Class name that aligns the caption. Default 'alignnone'. Accepts 'alignleft',
+ *                           'aligncenter', alignright', 'alignnone'.
+ *     @type int    $width   The width of the caption, in pixels.
+ *     @type string $caption The caption text.
+ *     @type string $class   Additional class name(s) added to the caption container.
+ * }
  * @param string $content Optional. Shortcode content.
- * @return string
+ * @return string HTML content to display the caption.
  */
-function img_caption_shortcode($attr, $content = null) {
+function img_caption_shortcode( $attr, $content = null ) {
        // New-style shortcode with the caption inside the shortcode with the link and image tags.
        if ( ! isset( $attr['caption'] ) ) {
                if ( preg_match( '#((?:<a [^>]+>\s*)?<img [^>]+>(?:\s*</a>)?)(.*)#is', $content, $matches ) ) {
@@ -636,8 +803,21 @@ function img_caption_shortcode($attr, $content = null) {
                }
        }
 
-       // Allow plugins/themes to override the default caption template.
-       $output = apply_filters('img_caption_shortcode', '', $attr, $content);
+       /**
+        * Filter the default caption shortcode output.
+        *
+        * If the filtered output isn't empty, it will be used instead of generating
+        * the default caption template.
+        *
+        * @since 2.6.0
+        *
+        * @see img_caption_shortcode()
+        *
+        * @param string $output  The caption output. Default empty.
+        * @param array  $attr    Attributes of the caption shortcode.
+        * @param string $content The image element, possibly wrapped in a hyperlink.
+        */
+       $output = apply_filters( 'img_caption_shortcode', '', $attr, $content );
        if ( $output != '' )
                return $output;
 
@@ -645,7 +825,8 @@ function img_caption_shortcode($attr, $content = null) {
                'id'      => '',
                'align'   => 'alignnone',
                'width'   => '',
-               'caption' => ''
+               'caption' => '',
+               'class'   => '',
        ), $attr, 'caption' );
 
        $atts['width'] = (int) $atts['width'];
@@ -655,6 +836,13 @@ function img_caption_shortcode($attr, $content = null) {
        if ( ! empty( $atts['id'] ) )
                $atts['id'] = 'id="' . esc_attr( $atts['id'] ) . '" ';
 
+       $class = trim( 'wp-caption ' . $atts['align'] . ' ' . $atts['class'] );
+
+       if ( current_theme_supports( 'html5', 'caption' ) ) {
+               return '<figure ' . $atts['id'] . 'style="width: ' . (int) $atts['width'] . 'px;" class="' . esc_attr( $class ) . '">'
+               . do_shortcode( $content ) . '<figcaption class="wp-caption-text">' . $atts['caption'] . '</figcaption></figure>';
+       }
+
        $caption_width = 10 + $atts['width'];
 
        /**
@@ -665,16 +853,12 @@ function img_caption_shortcode($attr, $content = null) {
         *
         * @since 3.7.0
         *
-        * @param int $caption_width Width in pixels. To remove this inline style, return zero.
-        * @param array $atts {
-        *     The attributes of the caption shortcode.
+        * @see img_caption_shortcode()
         *
-        *     @type string 'id'      The ID of the div element for the caption.
-        *     @type string 'align'   The class name that aligns the caption. Default 'alignnone'.
-        *     @type int    'width'   The width of the image being captioned.
-        *     @type string 'caption' The image's caption.
-        * }
-        * @param string $content The image element, possibly wrapped in a hyperlink.
+        * @param int    $caption_width Width of the caption in pixels. To remove this inline style,
+        *                              return zero.
+        * @param array  $atts          Attributes of the caption shortcode.
+        * @param string $content       The image element, possibly wrapped in a hyperlink.
         */
        $caption_width = apply_filters( 'img_caption_shortcode_width', $caption_width, $atts, $content );
 
@@ -682,7 +866,7 @@ function img_caption_shortcode($attr, $content = null) {
        if ( $caption_width )
                $style = 'style="width: ' . (int) $caption_width . 'px" ';
 
-       return '<div ' . $atts['id'] . $style . 'class="wp-caption ' . esc_attr( $atts['align'] ) . '">'
+       return '<div ' . $atts['id'] . $style . 'class="' . esc_attr( $class ) . '">'
        . do_shortcode( $content ) . '<p class="wp-caption-text">' . $atts['caption'] . '</p></div>';
 }
 
@@ -696,10 +880,30 @@ add_shortcode('gallery', 'gallery_shortcode');
  *
  * @since 2.5.0
  *
- * @param array $attr Attributes of the shortcode.
+ * @param array $attr {
+ *     Attributes of the gallery shortcode.
+ *
+ *     @type string $order      Order of the images in the gallery. Default 'ASC'. Accepts 'ASC', 'DESC'.
+ *     @type string $orderby    The field to use when ordering the images. Default 'menu_order ID'.
+ *                              Accepts any valid SQL ORDERBY statement.
+ *     @type int    $id         Post ID.
+ *     @type string $itemtag    HTML tag to use for each image in the gallery.
+ *                              Default 'dl', or 'figure' when the theme registers HTML5 gallery support.
+ *     @type string $icontag    HTML tag to use for each image's icon.
+ *                              Default 'dt', or 'div' when the theme registers HTML5 gallery support.
+ *     @type string $captiontag HTML tag to use for each image's caption.
+ *                              Default 'dd', or 'figcaption' when the theme registers HTML5 gallery support.
+ *     @type int    $columns    Number of columns of images to display. Default 3.
+ *     @type string $size       Size of the images to display. Default 'thumbnail'.
+ *     @type string $ids        A comma-separated list of IDs of attachments to display. Default empty.
+ *     @type string $include    A comma-separated list of IDs of attachments to include. Default empty.
+ *     @type string $exclude    A comma-separated list of IDs of attachments to exclude. Default empty.
+ *     @type string $link       What to link each image to. Default empty (links to the attachment page).
+ *                              Accepts 'file', 'none'.
+ * }
  * @return string HTML content to display gallery.
  */
-function gallery_shortcode($attr) {
+function gallery_shortcode( $attr ) {
        $post = get_post();
 
        static $instance = 0;
@@ -712,8 +916,20 @@ function gallery_shortcode($attr) {
                $attr['include'] = $attr['ids'];
        }
 
-       // Allow plugins/themes to override the default gallery template.
-       $output = apply_filters('post_gallery', '', $attr);
+       /**
+        * Filter the default gallery shortcode output.
+        *
+        * If the filtered output isn't empty, it will be used instead of generating
+        * the default gallery template.
+        *
+        * @since 2.5.0
+        *
+        * @see gallery_shortcode()
+        *
+        * @param string $output The gallery output. Default empty.
+        * @param array  $attr   Attributes of the gallery shortcode.
+        */
+       $output = apply_filters( 'post_gallery', '', $attr );
        if ( $output != '' )
                return $output;
 
@@ -724,13 +940,14 @@ function gallery_shortcode($attr) {
                        unset( $attr['orderby'] );
        }
 
+       $html5 = current_theme_supports( 'html5', 'gallery' );
        extract(shortcode_atts(array(
                'order'      => 'ASC',
                'orderby'    => 'menu_order ID',
                'id'         => $post ? $post->ID : 0,
-               'itemtag'    => 'dl',
-               'icontag'    => 'dt',
-               'captiontag' => 'dd',
+               'itemtag'    => $html5 ? 'figure'     : 'dl',
+               'icontag'    => $html5 ? 'div'        : 'dt',
+               'captiontag' => $html5 ? 'figcaption' : 'dd',
                'columns'    => 3,
                'size'       => 'thumbnail',
                'include'    => '',
@@ -783,7 +1000,17 @@ function gallery_shortcode($attr) {
        $selector = "gallery-{$instance}";
 
        $gallery_style = $gallery_div = '';
-       if ( apply_filters( 'use_default_gallery_style', true ) )
+
+       /**
+        * Filter whether to print default gallery styles.
+        *
+        * @since 3.1.0
+        *
+        * @param bool $print Whether to print default gallery styles.
+        *                    Defaults to false if the theme supports HTML5 galleries.
+        *                    Otherwise, defaults to true.
+        */
+       if ( apply_filters( 'use_default_gallery_style', ! $html5 ) ) {
                $gallery_style = "
                <style type='text/css'>
                        #{$selector} {
@@ -802,10 +1029,21 @@ function gallery_shortcode($attr) {
                                margin-left: 0;
                        }
                        /* see gallery_shortcode() in wp-includes/media.php */
-               </style>";
+               </style>\n\t\t";
+       }
+
        $size_class = sanitize_html_class( $size );
        $gallery_div = "<div id='$selector' class='gallery galleryid-{$id} gallery-columns-{$columns} gallery-size-{$size_class}'>";
-       $output = apply_filters( 'gallery_style', $gallery_style . "\n\t\t" . $gallery_div );
+
+       /**
+        * Filter the default gallery shortcode CSS styles.
+        *
+        * @since 2.5.0
+        *
+        * @param string $gallery_style Default gallery shortcode CSS styles.
+        * @param string $gallery_div   Opening HTML div container for the gallery shortcode output.
+        */
+       $output = apply_filters( 'gallery_style', $gallery_style . $gallery_div );
 
        $i = 0;
        foreach ( $attachments as $id => $attachment ) {
@@ -834,17 +1072,304 @@ function gallery_shortcode($attr) {
                                </{$captiontag}>";
                }
                $output .= "</{$itemtag}>";
-               if ( $columns > 0 && ++$i % $columns == 0 )
+               if ( ! $html5 && $columns > 0 && ++$i % $columns == 0 ) {
                        $output .= '<br style="clear: both" />';
+               }
+       }
+
+       if ( ! $html5 && $columns > 0 && $i % $columns !== 0 ) {
+               $output .= "
+                       <br style='clear: both' />";
        }
 
        $output .= "
-                       <br style='clear: both;' />
                </div>\n";
 
        return $output;
 }
 
+/**
+ * Output the templates used by playlists.
+ *
+ * @since 3.9.0
+ */
+function wp_underscore_playlist_templates() {
+?>
+<script type="text/html" id="tmpl-wp-playlist-current-item">
+       <# if ( data.image ) { #>
+       <img src="{{ data.thumb.src }}"/>
+       <# } #>
+       <div class="wp-playlist-caption">
+               <span class="wp-playlist-item-meta wp-playlist-item-title">&#8220;{{ data.title }}&#8221;</span>
+               <# if ( data.meta.album ) { #><span class="wp-playlist-item-meta wp-playlist-item-album">{{ data.meta.album }}</span><# } #>
+               <# if ( data.meta.artist ) { #><span class="wp-playlist-item-meta wp-playlist-item-artist">{{ data.meta.artist }}</span><# } #>
+       </div>
+</script>
+<script type="text/html" id="tmpl-wp-playlist-item">
+       <div class="wp-playlist-item">
+               <a class="wp-playlist-caption" href="{{ data.src }}">
+                       {{ data.index ? ( data.index + '. ' ) : '' }}
+                       <# if ( data.caption ) { #>
+                               {{ data.caption }}
+                       <# } else { #>
+                               <span class="wp-playlist-item-title">&#8220;{{{ data.title }}}&#8221;</span>
+                               <# if ( data.artists && data.meta.artist ) { #>
+                               <span class="wp-playlist-item-artist"> &mdash; {{ data.meta.artist }}</span>
+                               <# } #>
+                       <# } #>
+               </a>
+               <# if ( data.meta.length_formatted ) { #>
+               <div class="wp-playlist-item-length">{{ data.meta.length_formatted }}</div>
+               <# } #>
+       </div>
+</script>
+<?php
+}
+
+/**
+ * Output and enqueue default scripts and styles for playlists.
+ *
+ * @since 3.9.0
+ *
+ * @param string $type Type of playlist. Accepts 'audio' or 'video'.
+ */
+function wp_playlist_scripts( $type ) {
+       wp_enqueue_style( 'wp-mediaelement' );
+       wp_enqueue_script( 'wp-playlist' );
+?>
+<!--[if lt IE 9]><script>document.createElement('<?php echo esc_js( $type ) ?>');</script><![endif]-->
+<?php
+       add_action( 'wp_footer', 'wp_underscore_playlist_templates', 0 );
+       add_action( 'admin_footer', 'wp_underscore_playlist_templates', 0 );
+}
+add_action( 'wp_playlist_scripts', 'wp_playlist_scripts' );
+
+/**
+ * The playlist shortcode.
+ *
+ * This implements the functionality of the playlist shortcode for displaying
+ * a collection of WordPress audio or video files in a post.
+ *
+ * @since 3.9.0
+ *
+ * @param array $attr Playlist shortcode attributes.
+ * @return string Playlist output. Empty string if the passed type is unsupported.
+ */
+function wp_playlist_shortcode( $attr ) {
+       global $content_width;
+       $post = get_post();
+
+       static $instance = 0;
+       $instance++;
+
+       if ( ! empty( $attr['ids'] ) ) {
+               // 'ids' is explicitly ordered, unless you specify otherwise.
+               if ( empty( $attr['orderby'] ) ) {
+                       $attr['orderby'] = 'post__in';
+               }
+               $attr['include'] = $attr['ids'];
+       }
+
+       /**
+        * Filter the playlist output.
+        *
+        * Passing a non-empty value to the filter will short-circuit generation
+        * of the default playlist output, returning the passed value instead.
+        *
+        * @since 3.9.0
+        *
+        * @param string $output Playlist output. Default empty.
+        * @param array  $attr   An array of shortcode attributes.
+        */
+       $output = apply_filters( 'post_playlist', '', $attr );
+       if ( $output != '' ) {
+               return $output;
+       }
+
+       /*
+        * We're trusting author input, so let's at least make sure it looks
+        * like a valid orderby statement.
+        */
+       if ( isset( $attr['orderby'] ) ) {
+               $attr['orderby'] = sanitize_sql_orderby( $attr['orderby'] );
+               if ( ! $attr['orderby'] )
+                       unset( $attr['orderby'] );
+       }
+
+       extract( shortcode_atts( array(
+               'type'          => 'audio',
+               'order'         => 'ASC',
+               'orderby'       => 'menu_order ID',
+               'id'            => $post ? $post->ID : 0,
+               'include'       => '',
+               'exclude'   => '',
+               'style'         => 'light',
+               'tracklist' => true,
+               'tracknumbers' => true,
+               'images'        => true,
+               'artists'       => true
+       ), $attr, 'playlist' ) );
+
+       $id = intval( $id );
+       if ( 'RAND' == $order ) {
+               $orderby = 'none';
+       }
+
+       $args = array(
+               'post_status' => 'inherit',
+               'post_type' => 'attachment',
+               'post_mime_type' => $type,
+               'order' => $order,
+               'orderby' => $orderby
+       );
+
+       if ( ! empty( $include ) ) {
+               $args['include'] = $include;
+               $_attachments = get_posts( $args );
+
+               $attachments = array();
+               foreach ( $_attachments as $key => $val ) {
+                       $attachments[$val->ID] = $_attachments[$key];
+               }
+       } elseif ( ! empty( $exclude ) ) {
+               $args['post_parent'] = $id;
+               $args['exclude'] = $exclude;
+               $attachments = get_children( $args );
+       } else {
+               $args['post_parent'] = $id;
+               $attachments = get_children( $args );
+       }
+
+       if ( empty( $attachments ) ) {
+               return '';
+       }
+
+       if ( is_feed() ) {
+               $output = "\n";
+               foreach ( $attachments as $att_id => $attachment ) {
+                       $output .= wp_get_attachment_link( $att_id ) . "\n";
+               }
+               return $output;
+       }
+
+       $outer = 22; // default padding and border of wrapper
+
+       $default_width = 640;
+       $default_height = 360;
+
+       $theme_width = empty( $content_width ) ? $default_width : ( $content_width - $outer );
+       $theme_height = empty( $content_width ) ? $default_height : round( ( $default_height * $theme_width ) / $default_width );
+
+       $data = compact( 'type' );
+
+       // don't pass strings to JSON, will be truthy in JS
+       foreach ( array( 'tracklist', 'tracknumbers', 'images', 'artists' ) as $key ) {
+               $data[$key] = filter_var( $$key, FILTER_VALIDATE_BOOLEAN );
+       }
+
+       $tracks = array();
+       foreach ( $attachments as $attachment ) {
+               $url = wp_get_attachment_url( $attachment->ID );
+               $ftype = wp_check_filetype( $url, wp_get_mime_types() );
+               $track = array(
+                       'src' => $url,
+                       'type' => $ftype['type'],
+                       'title' => $attachment->post_title,
+                       'caption' => $attachment->post_excerpt,
+                       'description' => $attachment->post_content
+               );
+
+               $track['meta'] = array();
+               $meta = wp_get_attachment_metadata( $attachment->ID );
+               if ( ! empty( $meta ) ) {
+
+                       foreach ( wp_get_attachment_id3_keys( $attachment ) as $key => $label ) {
+                               if ( ! empty( $meta[ $key ] ) ) {
+                                       $track['meta'][ $key ] = $meta[ $key ];
+                               }
+                       }
+
+                       if ( 'video' === $type ) {
+                               if ( ! empty( $meta['width'] ) && ! empty( $meta['height'] ) ) {
+                                       $width = $meta['width'];
+                                       $height = $meta['height'];
+                                       $theme_height = round( ( $height * $theme_width ) / $width );
+                               } else {
+                                       $width = $default_width;
+                                       $height = $default_height;
+                               }
+
+                               $track['dimensions'] = array(
+                                       'original' => compact( 'width', 'height' ),
+                                       'resized' => array(
+                                               'width' => $theme_width,
+                                               'height' => $theme_height
+                                       )
+                               );
+                       }
+               }
+
+               if ( $images ) {
+                       $id = get_post_thumbnail_id( $attachment->ID );
+                       if ( ! empty( $id ) ) {
+                               list( $src, $width, $height ) = wp_get_attachment_image_src( $id, 'full' );
+                               $track['image'] = compact( 'src', 'width', 'height' );
+                               list( $src, $width, $height ) = wp_get_attachment_image_src( $id, 'thumbnail' );
+                               $track['thumb'] = compact( 'src', 'width', 'height' );
+                       } else {
+                               $src = wp_mime_type_icon( $attachment->ID );
+                               $width = 48;
+                               $height = 64;
+                               $track['image'] = compact( 'src', 'width', 'height' );
+                               $track['thumb'] = compact( 'src', 'width', 'height' );
+                       }
+               }
+
+               $tracks[] = $track;
+       }
+       $data['tracks'] = $tracks;
+
+       $safe_type = esc_attr( $type );
+       $safe_style = esc_attr( $style );
+
+       ob_start();
+
+       if ( 1 === $instance ) {
+               /**
+                * Print and enqueue playlist scripts, styles, and JavaScript templates.
+                *
+                * @since 3.9.0
+                *
+                * @param string $type  Type of playlist. Possible values are 'audio' or 'video'.
+                * @param string $style The 'theme' for the playlist. Core provides 'light' and 'dark'.
+                */
+               do_action( 'wp_playlist_scripts', $type, $style );
+       } ?>
+<div class="wp-playlist wp-<?php echo $safe_type ?>-playlist wp-playlist-<?php echo $safe_style ?>">
+       <?php if ( 'audio' === $type ): ?>
+       <div class="wp-playlist-current-item"></div>
+       <?php endif ?>
+       <<?php echo $safe_type ?> controls="controls" preload="none" width="<?php
+               echo (int) $theme_width;
+       ?>"<?php if ( 'video' === $safe_type ):
+               echo ' height="', (int) $theme_height, '"';
+       endif; ?>></<?php echo $safe_type ?>>
+       <div class="wp-playlist-next"></div>
+       <div class="wp-playlist-prev"></div>
+       <noscript>
+       <ol><?php
+       foreach ( $attachments as $att_id => $attachment ) {
+               printf( '<li>%s</li>', wp_get_attachment_link( $att_id ) );
+       }
+       ?></ol>
+       </noscript>
+       <script type="application/json"><?php echo json_encode( $data ) ?></script>
+</div>
+       <?php
+       return ob_get_clean();
+}
+add_shortcode( 'playlist', 'wp_playlist_shortcode' );
+
 /**
  * Provide a No-JS Flash fallback as a last resort for audio / video
  *
@@ -854,19 +1379,67 @@ function gallery_shortcode($attr) {
  * @return string Fallback HTML
  */
 function wp_mediaelement_fallback( $url ) {
+       /**
+        * Filter the Mediaelement fallback output for no-JS.
+        *
+        * @since 3.6.0
+        *
+        * @param string $output Fallback output for no-JS.
+        * @param string $url    Media file URL.
+        */
        return apply_filters( 'wp_mediaelement_fallback', sprintf( '<a href="%1$s">%1$s</a>', esc_url( $url ) ), $url );
 }
 
 /**
- * Return a filtered list of WP-supported audio formats
+ * Return a filtered list of WP-supported audio formats.
  *
  * @since 3.6.0
  * @return array
  */
 function wp_get_audio_extensions() {
+       /**
+        * Filter the list of supported audio formats.
+        *
+        * @since 3.6.0
+        *
+        * @param array $extensions An array of support audio formats. Defaults are
+        *                          'mp3', 'ogg', 'wma', 'm4a', 'wav'.
+        */
        return apply_filters( 'wp_audio_extensions', array( 'mp3', 'ogg', 'wma', 'm4a', 'wav' ) );
 }
 
+/**
+ * Return useful keys to use to lookup data from an attachment's stored metadata.
+ *
+ * @since 3.9.0
+ *
+ * @param WP_Post $attachment The current attachment, provided for context.
+ * @param string  $context    The context. Accepts 'edit', 'display'. Default 'display'.
+ * @return array Key/value pairs of field keys to labels.
+ */
+function wp_get_attachment_id3_keys( $attachment, $context = 'display' ) {
+       $fields = array(
+               'artist' => __( 'Artist' ),
+               'album' => __( 'Album' ),
+       );
+
+       if ( 'display' === $context ) {
+               $fields['genre']            = __( 'Genre' );
+               $fields['year']             = __( 'Year' );
+               $fields['length_formatted'] = _x( 'Length', 'video or audio' );
+       }
+
+       /**
+        * Filter the editable list of keys to look up data from an attachment's metadata.
+        *
+        * @since 3.9.0
+        *
+        * @param array   $fields     Key/value pairs of field keys to labels.
+        * @param WP_Post $attachment Attachment object.
+        * @param string  $context    The context. Accepts 'edit', 'display'. Default 'display'.
+        */
+       return apply_filters( 'wp_get_attachment_id3_keys', $fields, $attachment, $context );
+}
 /**
  * The Audio shortcode.
  *
@@ -875,7 +1448,17 @@ function wp_get_audio_extensions() {
  *
  * @since 3.6.0
  *
- * @param array  $attr    Attributes of the shortcode.
+ * @param array $attr {
+ *     Attributes of the audio shortcode.
+ *
+ *     @type string $src      URL to the source of the audio file. Default empty.
+ *     @type string $loop     The 'loop' attribute for the `<audio>` element. Default empty.
+ *     @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}-{$instances}'.
+ *     @type string $style    The 'style' attribute for the `<audio>` element. Default 'width: 100%'.
+ * }
  * @param string $content Optional. Shortcode content.
  * @return string HTML content to display audio.
  */
@@ -886,12 +1469,14 @@ function wp_audio_shortcode( $attr, $content = '' ) {
        $instances++;
 
        /**
-        * Override the default audio shortcode.
+        * Filter the default audio shortcode output.
         *
-        * @since 3.7.0
+        * If the filtered output isn't empty, it will be used instead of generating the default audio template.
         *
-        * @param null              Empty variable to be replaced with shortcode markup.
-        * @param array  $attr      Attributes of the shortcode.
+        * @since 3.6.0
+        *
+        * @param string $html      Empty variable to be replaced with shortcode markup.
+        * @param array  $attr      Attributes of the shortcode. @see wp_audio_shortcode()
         * @param string $content   Shortcode content.
         * @param int    $instances Unique numeric ID of this audio shortcode instance.
         */
@@ -944,12 +1529,26 @@ function wp_audio_shortcode( $attr, $content = '' ) {
                array_unshift( $default_types, 'src' );
        }
 
+       /**
+        * Filter the media library used for the audio shortcode.
+        *
+        * @since 3.6.0
+        *
+        * @param string $library Media library used for the audio shortcode.
+        */
        $library = apply_filters( 'wp_audio_shortcode_library', 'mediaelement' );
        if ( 'mediaelement' === $library && did_action( 'init' ) ) {
                wp_enqueue_style( 'wp-mediaelement' );
                wp_enqueue_script( 'wp-mediaelement' );
        }
 
+       /**
+        * Filter the class attribute for the audio shortcode output container.
+        *
+        * @since 3.6.0
+        *
+        * @param string $class CSS class or list of space-separated classes.
+        */
        $atts = array(
                'class'    => apply_filters( 'wp_audio_shortcode_class', 'wp-audio-shortcode' ),
                'id'       => sprintf( 'audio-%d-%d', $post_id, $instances ),
@@ -982,7 +1581,8 @@ function wp_audio_shortcode( $attr, $content = '' ) {
                        if ( empty( $fileurl ) )
                                $fileurl = $$fallback;
                        $type = wp_check_filetype( $$fallback, wp_get_mime_types() );
-                       $html .= sprintf( $source, $type['type'], esc_url( $$fallback ) );
+                       $url = add_query_arg( '_', $instances, $$fallback );
+                       $html .= sprintf( $source, $type['type'], esc_url( $url ) );
                }
        }
 
@@ -990,6 +1590,17 @@ function wp_audio_shortcode( $attr, $content = '' ) {
                $html .= wp_mediaelement_fallback( $fileurl );
        $html .= '</audio>';
 
+       /**
+        * Filter the audio shortcode output.
+        *
+        * @since 3.6.0
+        *
+        * @param string $html    Audio shortcode HTML output.
+        * @param array  $atts    Array of audio shortcode attributes.
+        * @param string $audio   Audio file.
+        * @param int    $post_id Post ID.
+        * @param string $library Media library used for the audio shortcode.
+        */
        return apply_filters( 'wp_audio_shortcode', $html, $atts, $audio, $post_id, $library );
 }
 add_shortcode( 'audio', 'wp_audio_shortcode' );
@@ -1001,6 +1612,14 @@ add_shortcode( 'audio', 'wp_audio_shortcode' );
  * @return array
  */
 function wp_get_video_extensions() {
+       /**
+        * Filter the list of supported video formats.
+        *
+        * @since 3.6.0
+        *
+        * @param array $extensions An array of support video formats. Defaults are
+        *                          'mp4', 'm4v', 'webm', 'ogv', 'wmv', 'flv'.
+        */
        return apply_filters( 'wp_video_extensions', array( 'mp4', 'm4v', 'webm', 'ogv', 'wmv', 'flv' ) );
 }
 
@@ -1012,7 +1631,22 @@ function wp_get_video_extensions() {
  *
  * @since 3.6.0
  *
- * @param array  $attr    Attributes of the shortcode.
+ * @param array $attr {
+ *     Attributes of the shortcode.
+ *
+ *     @type string $src      URL to the source of the video file. Default empty.
+ *     @type int    $height   Height of the video embed in pixels. Default 360.
+ *     @type int    $width    Width of the video embed in pixels. Default $content_width or 640.
+ *     @type string $poster   The 'poster' attribute for the `<video>` element. Default empty.
+ *     @type string $loop     The 'loop' attribute for the `<video>` element. Default empty.
+ *     @type string $autoplay The 'autoplay' attribute for the `<video>` element. Default empty.
+ *     @type string $preload  The 'preload' attribute for the `<video>` element.
+ *                            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}-{$instances}'.
+ * }
  * @param string $content Optional. Shortcode content.
  * @return string HTML content to display video.
  */
@@ -1024,13 +1658,18 @@ function wp_video_shortcode( $attr, $content = '' ) {
        $instances++;
 
        /**
-        * Override the default video shortcode.
+        * Filter the default video shortcode output.
         *
-        * @since 3.7.0
+        * If the filtered output isn't empty, it will be used instead of generating
+        * the default video template.
         *
-        * @param null              Empty variable to be replaced with shortcode markup.
-        * @param array  $attr      Attributes of the shortcode.
-        * @param string $content   Shortcode content.
+        * @since 3.6.0
+        *
+        * @see wp_video_shortcode()
+        *
+        * @param string $html      Empty variable to be replaced with shortcode markup.
+        * @param array  $attr      Attributes of the video shortcode.
+        * @param string $content   Video shortcode content.
         * @param int    $instances Unique numeric ID of this video shortcode instance.
         */
        $html = apply_filters( 'wp_video_shortcode_override', '', $attr, $content, $instances );
@@ -1046,8 +1685,8 @@ function wp_video_shortcode( $attr, $content = '' ) {
                'loop'     => '',
                'autoplay' => '',
                'preload'  => 'metadata',
+               'width'    => 640,
                'height'   => 360,
-               'width'    => empty( $content_width ) ? 640 : $content_width,
        );
 
        foreach ( $default_types as $type )
@@ -1056,23 +1695,30 @@ function wp_video_shortcode( $attr, $content = '' ) {
        $atts = shortcode_atts( $defaults_atts, $attr, 'video' );
        extract( $atts );
 
-       $w = $width;
-       $h = $height;
-       if ( is_admin() && $width > 600 )
-               $w = 600;
-       elseif ( ! is_admin() && $w > $defaults_atts['width'] )
-               $w = $defaults_atts['width'];
-
-       if ( $w < $width )
-               $height = round( ( $h * $w ) / $width );
+       if ( is_admin() ) {
+               // shrink the video so it isn't huge in the admin
+               if ( $width > $defaults_atts['width'] ) {
+                       $height = round( ( $height * $defaults_atts['width'] ) / $width );
+                       $width = $defaults_atts['width'];
+               }
+       } else {
+               // if the video is bigger than the theme
+               if ( ! empty( $content_width ) && $width > $content_width ) {
+                       $height = round( ( $height * $content_width ) / $width );
+                       $width = $content_width;
+               }
+       }
 
-       $width = $w;
+       $yt_pattern = '#^https?://(:?www\.)?(:?youtube\.com/watch|youtu\.be/)#';
 
        $primary = false;
        if ( ! empty( $src ) ) {
-               $type = wp_check_filetype( $src, wp_get_mime_types() );
-               if ( ! in_array( strtolower( $type['ext'] ), $default_types ) )
-                       return sprintf( '<a class="wp-embedded-video" href="%s">%s</a>', esc_url( $src ), esc_html( $src ) );
+               if ( ! preg_match( $yt_pattern, $src ) ) {
+                       $type = wp_check_filetype( $src, wp_get_mime_types() );
+                       if ( ! in_array( strtolower( $type['ext'] ), $default_types ) ) {
+                               return sprintf( '<a class="wp-embedded-video" href="%s">%s</a>', esc_url( $src ), esc_html( $src ) );
+                       }
+               }
                $primary = true;
                array_unshift( $default_types, 'src' );
        } else {
@@ -1098,12 +1744,26 @@ function wp_video_shortcode( $attr, $content = '' ) {
                array_unshift( $default_types, 'src' );
        }
 
+       /**
+        * Filter the media library used for the video shortcode.
+        *
+        * @since 3.6.0
+        *
+        * @param string $library Media library used for the video shortcode.
+        */
        $library = apply_filters( 'wp_video_shortcode_library', 'mediaelement' );
        if ( 'mediaelement' === $library && did_action( 'init' ) ) {
                wp_enqueue_style( 'wp-mediaelement' );
                wp_enqueue_script( 'wp-mediaelement' );
        }
 
+       /**
+        * Filter the class attribute for the video shortcode output container.
+        *
+        * @since 3.6.0
+        *
+        * @param string $class CSS class or list of space-separated classes.
+        */
        $atts = array(
                'class'    => apply_filters( 'wp_video_shortcode_class', 'wp-video-shortcode' ),
                'id'       => sprintf( 'video-%d-%d', $post_id, $instances ),
@@ -1137,18 +1797,41 @@ function wp_video_shortcode( $attr, $content = '' ) {
                if ( ! empty( $$fallback ) ) {
                        if ( empty( $fileurl ) )
                                $fileurl = $$fallback;
-                       $type = wp_check_filetype( $$fallback, wp_get_mime_types() );
-                       // m4v sometimes shows up as video/mpeg which collides with mp4
-                       if ( 'm4v' === $type['ext'] )
-                               $type['type'] = 'video/m4v';
-                       $html .= sprintf( $source, $type['type'], esc_url( $$fallback ) );
+
+                       if ( 'src' === $fallback && preg_match( $yt_pattern, $src ) ) {
+                               $type = array( 'type' => 'video/youtube' );
+                       } else {
+                               $type = wp_check_filetype( $$fallback, wp_get_mime_types() );
+                       }
+                       $url = add_query_arg( '_', $instances, $$fallback );
+                       $html .= sprintf( $source, $type['type'], esc_url( $url ) );
                }
        }
+
+       if ( ! empty( $content ) ) {
+               if ( false !== strpos( $content, "\n" ) )
+                       $content = str_replace( array( "\r\n", "\n", "\t" ), '', $content );
+
+               $html .= trim( $content );
+       }
+
        if ( 'mediaelement' === $library )
                $html .= wp_mediaelement_fallback( $fileurl );
        $html .= '</video>';
 
        $html = sprintf( '<div style="width: %dpx; max-width: 100%%;" class="wp-video">%s</div>', $width, $html );
+
+       /**
+        * Filter the output of the video shortcode.
+        *
+        * @since 3.6.0
+        *
+        * @param string $html    Video shortcode HTML output.
+        * @param array  $atts    Array of video shortcode attributes.
+        * @param string $video   Video file.
+        * @param int    $post_id Post ID.
+        * @param string $library Media library used for the video shortcode.
+        */
        return apply_filters( 'wp_video_shortcode', $html, $atts, $video, $post_id, $library );
 }
 add_shortcode( 'video', 'wp_video_shortcode' );
@@ -1203,6 +1886,20 @@ function adjacent_image_link($prev = true, $size = 'thumbnail', $text = false) {
        }
 
        $adjacent = $prev ? 'previous' : 'next';
+
+       /**
+        * Filter the adjacent image link.
+        *
+        * The dynamic portion of the hook name, $adjacent, refers to the type of adjacency,
+        * either 'next', or 'previous'.
+        *
+        * @since 3.5.0
+        *
+        * @param string $output        Adjacent image HTML markup.
+        * @param int    $attachment_id Attachment ID
+        * @param string $size          Image size.
+        * @param string $text          Link text.
+        */
        echo apply_filters( "{$adjacent}_image_link", $output, $attachment_id, $size, $text );
 }
 
@@ -1338,6 +2035,14 @@ function wp_embed_defaults() {
 
        $height = min( ceil( $width * 1.5 ), 1000 );
 
+       /**
+        * Filter the default array of embed dimensions.
+        *
+        * @since 2.9.0
+        *
+        * @param int $width  Width of the embed in pixels.
+        * @param int $height Height of the embed in pixels.
+        */
        return apply_filters( 'embed_defaults', compact( 'width', 'height' ) );
 }
 
@@ -1431,10 +2136,37 @@ function wp_oembed_remove_provider( $format ) {
  * @since 2.9.0
  */
 function wp_maybe_load_embeds() {
-       if ( ! apply_filters( 'load_default_embeds', true ) )
+       /**
+        * Filter whether to load the default embed handlers.
+        *
+        * Returning a falsey value will prevent loading the default embed handlers.
+        *
+        * @since 2.9.0
+        *
+        * @param bool $maybe_load_embeds Whether to load the embeds library. Default true.
+        */
+       if ( ! apply_filters( 'load_default_embeds', true ) ) {
                return;
+       }
+
        wp_embed_register_handler( 'googlevideo', '#http://video\.google\.([A-Za-z.]{2,5})/videoplay\?docid=([\d-]+)(.*?)#i', 'wp_embed_handler_googlevideo' );
+
+       /**
+        * Filter the audio embed handler callback.
+        *
+        * @since 3.6.0
+        *
+        * @param callback $handler Audio embed handler callback function.
+        */
        wp_embed_register_handler( 'audio', '#^https?://.+?\.(' . join( '|', wp_get_audio_extensions() ) . ')$#i', apply_filters( 'wp_audio_embed_handler', 'wp_embed_handler_audio' ), 9999 );
+
+       /**
+        * Filter the video embed handler callback.
+        *
+        * @since 3.6.0
+        *
+        * @param callback $handler Video embed handler callback function.
+        */
        wp_embed_register_handler( 'video', '#^https?://.+?\.(' . join( '|', wp_get_video_extensions() ) . ')$#i', apply_filters( 'wp_video_embed_handler', 'wp_embed_handler_video' ), 9999 );
 }
 
@@ -1459,6 +2191,17 @@ function wp_embed_handler_googlevideo( $matches, $attr, $url, $rawattr ) {
                list( $width, $height ) = wp_expand_dimensions( 425, 344, $attr['width'], $attr['height'] );
        }
 
+       /**
+        * Filter the Google Video embed output.
+        *
+        * @since 2.9.0
+        *
+        * @param string $html    Google Video HTML embed markup.
+        * @param array  $matches The regex matches from the provided regex.
+        * @param array  $attr    An array of embed attributes.
+        * @param string $url     The original URL that was matched by the regex.
+        * @param array  $rawattr The original unmodified attributes.
+        */
        return apply_filters( 'embed_googlevideo', '<embed type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid=' . esc_attr($matches[2]) . '&amp;hl=en&amp;fs=true" style="width:' . esc_attr($width) . 'px;height:' . esc_attr($height) . 'px" allowFullScreen="true" allowScriptAccess="always" />', $matches, $attr, $url, $rawattr );
 }
 
@@ -1475,6 +2218,17 @@ function wp_embed_handler_googlevideo( $matches, $attr, $url, $rawattr ) {
  */
 function wp_embed_handler_audio( $matches, $attr, $url, $rawattr ) {
        $audio = sprintf( '[audio src="%s" /]', esc_url( $url ) );
+
+       /**
+        * Filter the audio embed output.
+        *
+        * @since 3.6.0
+        *
+        * @param string $audio   Audio embed output.
+        * @param array  $attr    An array of embed attributes.
+        * @param string $url     The original URL that was matched by the regex.
+        * @param array  $rawattr The original unmodified attributes.
+        */
        return apply_filters( 'wp_embed_handler_audio', $audio, $attr, $url, $rawattr );
 }
 
@@ -1496,6 +2250,17 @@ function wp_embed_handler_video( $matches, $attr, $url, $rawattr ) {
                $dimensions .= sprintf( 'height="%d" ', (int) $rawattr['height'] );
        }
        $video = sprintf( '[video %s src="%s" /]', $dimensions, esc_url( $url ) );
+
+       /**
+        * Filter the video embed output.
+        *
+        * @since 3.6.0
+        *
+        * @param string $video   Video embed output.
+        * @param array  $attr    An array of embed attributes.
+        * @param string $url     The original URL that was matched by the regex.
+        * @param array  $rawattr The original unmodified attributes.
+        */
        return apply_filters( 'wp_embed_handler_video', $video, $attr, $url, $rawattr );
 }
 
@@ -1529,8 +2294,17 @@ function wp_convert_hr_to_bytes( $size ) {
 function wp_max_upload_size() {
        $u_bytes = wp_convert_hr_to_bytes( ini_get( 'upload_max_filesize' ) );
        $p_bytes = wp_convert_hr_to_bytes( ini_get( 'post_max_size' ) );
-       $bytes   = apply_filters( 'upload_size_limit', min( $u_bytes, $p_bytes ), $u_bytes, $p_bytes );
-       return $bytes;
+
+       /**
+        * Filter the maximum upload size allowed in php.ini.
+        *
+        * @since 2.5.0
+        *
+        * @param int $size    Max upload size limit in bytes.
+        * @param int $u_bytes Maximum upload filesize in bytes.
+        * @param int $p_bytes Maximum size of POST data in bytes.
+        */
+       return apply_filters( 'upload_size_limit', min( $u_bytes, $p_bytes ), $u_bytes, $p_bytes );
 }
 
 /**
@@ -1597,8 +2371,15 @@ function _wp_image_editor_choose( $args = array() ) {
        require_once ABSPATH . WPINC . '/class-wp-image-editor-gd.php';
        require_once ABSPATH . WPINC . '/class-wp-image-editor-imagick.php';
 
-       $implementations = apply_filters( 'wp_image_editors',
-               array( 'WP_Image_Editor_Imagick', 'WP_Image_Editor_GD' ) );
+       /**
+        * Filter the list of image editing library classes.
+        *
+        * @since 3.5.0
+        *
+        * @param array $image_editors List of available image editors. Defaults are
+        *                             'WP_Image_Editor_Imagick', 'WP_Image_Editor_GD'.
+        */
+       $implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_Imagick', 'WP_Image_Editor_GD' ) );
 
        foreach ( $implementations as $implementation ) {
                if ( ! call_user_func( array( $implementation, 'test' ), $args ) )
@@ -1637,16 +2418,14 @@ function wp_plupload_default_settings() {
        $max_upload_size = wp_max_upload_size();
 
        $defaults = array(
-               'runtimes'            => 'html5,silverlight,flash,html4',
+               'runtimes'            => 'html5,flash,silverlight,html4',
                'file_data_name'      => 'async-upload', // key passed to $_FILE.
-               'multiple_queues'     => true,
-               'max_file_size'       => $max_upload_size . 'b',
                'url'                 => admin_url( 'async-upload.php', 'relative' ),
                'flash_swf_url'       => includes_url( 'js/plupload/plupload.flash.swf' ),
                'silverlight_xap_url' => includes_url( 'js/plupload/plupload.silverlight.xap' ),
-               'filters'             => array( array( 'title' => __( 'Allowed Files' ), 'extensions' => '*') ),
-               'multipart'           => true,
-               'urlstream_upload'    => true,
+               'filters' => array(
+                       'max_file_size'   => $max_upload_size . 'b',
+               ),
        );
 
        // Multi-file uploading doesn't currently work in iOS Safari,
@@ -1654,12 +2433,26 @@ function wp_plupload_default_settings() {
        if ( wp_is_mobile() )
                $defaults['multi_selection'] = false;
 
+       /**
+        * Filter the Plupload default settings.
+        *
+        * @since 3.4.0
+        *
+        * @param array $defaults Default Plupload settings array.
+        */
        $defaults = apply_filters( 'plupload_default_settings', $defaults );
 
        $params = array(
                'action' => 'upload-attachment',
        );
 
+       /**
+        * Filter the Plupload default parameters.
+        *
+        * @since 3.4.0
+        *
+        * @param array $params Default Plupload parameters array.
+        */
        $params = apply_filters( 'plupload_default_params', $params );
        $params['_wpnonce'] = wp_create_nonce( 'media-form' );
        $defaults['multipart_params'] = $params;
@@ -1730,12 +2523,14 @@ function wp_prepare_attachment_for_js( $attachment ) {
                'nonces'      => array(
                        'update' => false,
                        'delete' => false,
+                       'edit'   => false
                ),
                'editLink'   => false,
        );
 
        if ( current_user_can( 'edit_post', $attachment->ID ) ) {
                $response['nonces']['update'] = wp_create_nonce( 'update-post_' . $attachment->ID );
+               $response['nonces']['edit'] = wp_create_nonce( 'image_editor-' . $attachment->ID );
                $response['editLink'] = get_edit_post_link( $attachment->ID, 'raw' );
        }
 
@@ -1744,6 +2539,7 @@ function wp_prepare_attachment_for_js( $attachment ) {
 
        if ( $meta && 'image' === $type ) {
                $sizes = array();
+
                /** This filter is documented in wp-admin/includes/media.php */
                $possible_sizes = apply_filters( 'image_size_names_choose', array(
                        'thumbnail' => __('Thumbnail'),
@@ -1758,6 +2554,8 @@ function wp_prepare_attachment_for_js( $attachment ) {
                // If the filter does not return something, then image_downsize() is just an expensive
                // way to check the image metadata, which we do second.
                foreach ( $possible_sizes as $size => $label ) {
+
+                       /** This filter is documented in wp-includes/media.php */
                        if ( $downsize = apply_filters( 'image_downsize', false, $attachment->ID, $size ) ) {
                                if ( ! $downsize[3] )
                                        continue;
@@ -1806,11 +2604,41 @@ function wp_prepare_attachment_for_js( $attachment ) {
        if ( $meta && ( 'audio' === $type || 'video' === $type ) ) {
                if ( isset( $meta['length_formatted'] ) )
                        $response['fileLength'] = $meta['length_formatted'];
+
+               $response['meta'] = array();
+               foreach ( wp_get_attachment_id3_keys( $attachment ) as $key => $label ) {
+                       if ( ! empty( $meta[ $key ] ) ) {
+                               $response['meta'][ $key ] = $meta[ $key ];
+                       }
+               }
+
+               $id = get_post_thumbnail_id( $attachment->ID );
+               if ( ! empty( $id ) ) {
+                       list( $src, $width, $height ) = wp_get_attachment_image_src( $id, 'full' );
+                       $response['image'] = compact( 'src', 'width', 'height' );
+                       list( $src, $width, $height ) = wp_get_attachment_image_src( $id, 'thumbnail' );
+                       $response['thumb'] = compact( 'src', 'width', 'height' );
+               } else {
+                       $src = wp_mime_type_icon( $attachment->ID );
+                       $width = 48;
+                       $height = 64;
+                       $response['image'] = compact( 'src', 'width', 'height' );
+                       $response['thumb'] = compact( 'src', 'width', 'height' );
+               }
        }
 
        if ( function_exists('get_compat_media_markup') )
                $response['compat'] = get_compat_media_markup( $attachment->ID, array( 'in_modal' => true ) );
 
+       /**
+        * Filter the attachment data prepared for JavaScript.
+        *
+        * @since 3.5.0
+        *
+        * @param array      $response   Array of prepared attachment data.
+        * @param int|object $attachment Attachment ID or object.
+        * @param array      $meta       Array of attachment meta data.
+        */
        return apply_filters( 'wp_prepare_attachment_for_js', $response, $attachment, $meta );
 }
 
@@ -1826,6 +2654,8 @@ function wp_enqueue_media( $args = array() ) {
        if ( did_action( 'wp_enqueue_media' ) )
                return;
 
+       global $content_width;
+
        $defaults = array(
                'post' => null,
        );
@@ -1841,6 +2671,7 @@ function wp_enqueue_media( $args = array() ) {
                'library'  => '',
        );
 
+       /** This filter is documented in wp-admin/includes/media.php */
        $tabs = apply_filters( 'media_upload_tabs', $tabs );
        unset( $tabs['type'], $tabs['type_url'], $tabs['gallery'], $tabs['library'] );
 
@@ -1850,10 +2681,33 @@ function wp_enqueue_media( $args = array() ) {
                'size'  => get_option( 'image_default_size' ),  // empty default
        );
 
+       $exts = array_merge( wp_get_audio_extensions(), wp_get_video_extensions() );
+       $mimes = get_allowed_mime_types();
+       $ext_mimes = array();
+       foreach ( $exts as $ext ) {
+               foreach ( $mimes as $ext_preg => $mime_match ) {
+                       if ( preg_match( '#' . $ext . '#i', $ext_preg ) ) {
+                               $ext_mimes[ $ext ] = $mime_match;
+                               break;
+                       }
+               }
+       }
+
+       $audio = $video = 0;
+       $counts = (array) wp_count_attachments();
+       foreach ( $counts as $mime => $total ) {
+               if ( 0 === strpos( $mime, 'audio/' ) ) {
+                       $audio += (int) $total;
+               } elseif ( 0 === strpos( $mime, 'video/' ) ) {
+                       $video += (int) $total;
+               }
+       }
+
        $settings = array(
                'tabs'      => $tabs,
                'tabUrl'    => add_query_arg( array( 'chromeless' => true ), admin_url('media-upload.php') ),
                'mimeTypes' => wp_list_pluck( get_post_mime_types(), 0 ),
+               /** This filter is documented in wp-admin/includes/media.php */
                'captions'  => ! apply_filters( 'disable_captions', '' ),
                'nonce'     => array(
                        'sendToEditor' => wp_create_nonce( 'media-send-to-editor' ),
@@ -1862,7 +2716,13 @@ function wp_enqueue_media( $args = array() ) {
                        'id' => 0,
                ),
                'defaultProps' => $props,
-               'embedExts'    => array_merge( wp_get_audio_extensions(), wp_get_video_extensions() ),
+               'attachmentCounts' => array(
+                       'audio' => $audio,
+                       'video' => $video
+               ),
+               'embedExts'    => $exts,
+               'embedMimes'   => $ext_mimes,
+               'contentWidth' => $content_width,
        );
 
        $post = null;
@@ -1873,7 +2733,16 @@ function wp_enqueue_media( $args = array() ) {
                        'nonce' => wp_create_nonce( 'update-post_' . $post->ID ),
                );
 
-               if ( current_theme_supports( 'post-thumbnails', $post->post_type ) && post_type_supports( $post->post_type, 'thumbnail' ) ) {
+               $thumbnail_support = current_theme_supports( 'post-thumbnails', $post->post_type ) && post_type_supports( $post->post_type, 'thumbnail' );
+               if ( ! $thumbnail_support && 'attachment' === $post->post_type && $post->post_mime_type ) {
+                       if ( 0 === strpos( $post->post_mime_type, 'audio/' ) ) {
+                               $thumbnail_support = post_type_supports( 'attachment:audio', 'thumbnail' ) || current_theme_supports( 'post-thumbnails', 'attachment:audio' );
+                       } elseif ( 0 === strpos( $post->post_mime_type, 'video/' ) ) {
+                               $thumbnail_support = post_type_supports( 'attachment:video', 'thumbnail' ) || current_theme_supports( 'post-thumbnails', 'attachment:video' );
+                       }
+               }
+
+               if ( $thumbnail_support ) {
                        $featured_image_id = get_post_meta( $post->ID, '_thumbnail_id', true );
                        $settings['post']['featuredImageId'] = $featured_image_id ? $featured_image_id : -1;
                }
@@ -1888,6 +2757,10 @@ function wp_enqueue_media( $args = array() ) {
                'search'      => __( 'Search' ),
                'select'      => __( 'Select' ),
                'cancel'      => __( 'Cancel' ),
+               'update'      => __( 'Update' ),
+               'replace'     => __( 'Replace' ),
+               'remove'      => __( 'Remove' ),
+               'back'        => __( 'Back' ),
                /* translators: This is a would-be plural string used in the media manager.
                   If there is not a word you can use in your language to avoid issues with the
                   lack of plural support here, turn it into "selected: %d" then translate it.
@@ -1903,6 +2776,8 @@ function wp_enqueue_media( $args = array() ) {
                'mediaLibraryTitle'  => __( 'Media Library' ),
                'insertMediaTitle'   => __( 'Insert Media' ),
                'createNewGallery'   => __( 'Create a new gallery' ),
+               'createNewPlaylist'   => __( 'Create a new playlist' ),
+               'createNewVideoPlaylist'   => __( 'Create a new video playlist' ),
                'returnToLibrary'    => __( '&#8592; Return to library' ),
                'allMediaItems'      => __( 'All media items' ),
                'noItemsFound'       => __( 'No items found.' ),
@@ -1926,17 +2801,90 @@ function wp_enqueue_media( $args = array() ) {
                'addToGallery'       => __( 'Add to gallery' ),
                'addToGalleryTitle'  => __( 'Add to Gallery' ),
                'reverseOrder'       => __( 'Reverse order' ),
+
+               // Edit Image
+               'imageDetailsTitle'     => __( 'Image Details' ),
+               'imageReplaceTitle'     => __( 'Replace Image' ),
+               'imageDetailsCancel'    => __( 'Cancel Edit' ),
+               'editImage'             => __( 'Edit Image' ),
+
+               // Crop Image
+               'chooseImage' => __( 'Choose Image' ),
+               'selectAndCrop' => __( 'Select and Crop' ),
+               'skipCropping' => __( 'Skip Cropping' ),
+               'cropImage' => __( 'Crop Image' ),
+               'cropYourImage' => __( 'Crop your image' ),
+               'cropping' => __( 'Cropping&hellip;' ),
+               'suggestedDimensions' => __( 'Suggested image dimensions:' ),
+               'cropError' => __( 'There has been an error cropping your image.' ),
+
+               // Edit Audio
+               'audioDetailsTitle'     => __( 'Audio Details' ),
+               'audioReplaceTitle'     => __( 'Replace Audio' ),
+               'audioAddSourceTitle'   => __( 'Add Audio Source' ),
+               'audioDetailsCancel'    => __( 'Cancel Edit' ),
+
+               // Edit Video
+               'videoDetailsTitle'     => __( 'Video Details' ),
+               'videoReplaceTitle'     => __( 'Replace Video' ),
+               'videoAddSourceTitle'   => __( 'Add Video Source' ),
+               'videoDetailsCancel'    => __( 'Cancel Edit' ),
+               'videoSelectPosterImageTitle' => _( 'Select Poster Image' ),
+               'videoAddTrackTitle'    => __( 'Add Subtitles' ),
+
+               // Playlist
+               'playlistDragInfo'    => __( 'Drag and drop to reorder tracks.' ),
+               'createPlaylistTitle' => __( 'Create Audio Playlist' ),
+               'editPlaylistTitle'   => __( 'Edit Audio Playlist' ),
+               'cancelPlaylistTitle' => __( '&#8592; Cancel Audio Playlist' ),
+               'insertPlaylist'      => __( 'Insert audio playlist' ),
+               'updatePlaylist'      => __( 'Update audio playlist' ),
+               'addToPlaylist'       => __( 'Add to audio playlist' ),
+               'addToPlaylistTitle'  => __( 'Add to Audio Playlist' ),
+
+               // Video Playlist
+               'videoPlaylistDragInfo'    => __( 'Drag and drop to reorder videos.' ),
+               'createVideoPlaylistTitle' => __( 'Create Video Playlist' ),
+               'editVideoPlaylistTitle'   => __( 'Edit Video Playlist' ),
+               'cancelVideoPlaylistTitle' => __( '&#8592; Cancel Video Playlist' ),
+               'insertVideoPlaylist'      => __( 'Insert video playlist' ),
+               'updateVideoPlaylist'      => __( 'Update video playlist' ),
+               'addToVideoPlaylist'       => __( 'Add to video playlist' ),
+               'addToVideoPlaylistTitle'  => __( 'Add to Video Playlist' ),
        );
 
+       /**
+        * Filter the media view settings.
+        *
+        * @since 3.5.0
+        *
+        * @param array   $settings List of media view settings.
+        * @param WP_Post $post     Post object.
+        */
        $settings = apply_filters( 'media_view_settings', $settings, $post );
-       $strings  = apply_filters( 'media_view_strings',  $strings,  $post );
+
+       /**
+        * Filter the media view strings.
+        *
+        * @since 3.5.0
+        *
+        * @param array   $strings List of media view strings.
+        * @param WP_Post $post    Post object.
+        */
+       $strings = apply_filters( 'media_view_strings', $strings,  $post );
 
        $strings['settings'] = $settings;
 
        wp_localize_script( 'media-views', '_wpMediaViewsL10n', $strings );
 
        wp_enqueue_script( 'media-editor' );
+       wp_enqueue_script( 'media-audiovideo' );
        wp_enqueue_style( 'media-views' );
+       if ( is_admin() ) {
+               wp_enqueue_script( 'mce-view' );
+               wp_enqueue_script( 'image-edit' );
+       }
+       wp_enqueue_style( 'imgareaselect' );
        wp_plupload_default_settings();
 
        require_once ABSPATH . WPINC . '/media-template.php';
@@ -1944,11 +2892,16 @@ function wp_enqueue_media( $args = array() ) {
        add_action( 'wp_footer', 'wp_print_media_templates' );
        add_action( 'customize_controls_print_footer_scripts', 'wp_print_media_templates' );
 
+       /**
+        * Fires at the conclusion of wp_enqueue_media().
+        *
+        * @since 3.5.0
+        */
        do_action( 'wp_enqueue_media' );
 }
 
 /**
- * Retrieve media attached to the passed post
+ * Retrieve media attached to the passed post.
  *
  * @since 3.6.0
  *
@@ -1969,10 +2922,28 @@ function get_attached_media( $type, $post = 0 ) {
                'order' => 'ASC',
        );
 
+       /**
+        * Filter arguments used to retrieve media attached to the given post.
+        *
+        * @since 3.6.0
+        *
+        * @param array  $args Post query arguments.
+        * @param string $type Mime type of the desired media.
+        * @param mixed  $post Post ID or object.
+        */
        $args = apply_filters( 'get_attached_media_args', $args, $type, $post );
 
        $children = get_children( $args );
 
+       /**
+        * Filter the
+        *
+        * @since 3.6.0
+        *
+        * @param array  $children Associative array of media attached to the given post.
+        * @param string $type     Mime type of the media desired.
+        * @param mixed  $post     Post ID or object.
+        */
        return (array) apply_filters( 'get_attached_media', $children, $type, $post );
 }
 
@@ -2004,14 +2975,14 @@ function get_media_embedded_in_content( $content, $types = null ) {
 }
 
 /**
- * Retrieve galleries from the passed post's content
+ * Retrieve galleries from the passed post's content.
  *
  * @since 3.6.0
  *
- * @param mixed $post Optional. Post ID or object.
- * @param boolean $html Whether to return HTML or data in the array
+ * @param int|WP_Post $post Optional. Post ID or object.
+ * @param bool        $html Whether to return HTML or data in the array.
  * @return array A list of arrays, each containing gallery data and srcs parsed
- *             from the expanded shortcode
+ *                      from the expanded shortcode.
  */
 function get_post_galleries( $post, $html = true ) {
        if ( ! $post = get_post( $post ) )
@@ -2045,6 +3016,14 @@ function get_post_galleries( $post, $html = true ) {
                }
        }
 
+       /**
+        * Filter the list of all found galleries in the given post.
+        *
+        * @since 3.6.0
+        *
+        * @param array   $galleries Associative array of all found post galleries.
+        * @param WP_Post $post      Post object.
+        */
        return apply_filters( 'get_post_galleries', $galleries, $post );
 }
 
@@ -2053,14 +3032,23 @@ function get_post_galleries( $post, $html = true ) {
  *
  * @since 3.6.0
  *
- * @param mixed $post Optional. Post ID or object.
- * @param boolean $html Whether to return HTML or data
- * @return string|array Gallery data and srcs parsed from the expanded shortcode
+ * @param int|WP_Post $post Optional. Post ID or object.
+ * @param bool        $html Whether to return HTML or data.
+ * @return string|array Gallery data and srcs parsed from the expanded shortcode.
  */
 function get_post_gallery( $post = 0, $html = true ) {
        $galleries = get_post_galleries( $post, $html );
        $gallery = reset( $galleries );
 
+       /**
+        * Filter the first-found post gallery.
+        *
+        * @since 3.6.0
+        *
+        * @param array       $gallery   The first-found post gallery.
+        * @param int|WP_Post $post      Post ID or object.
+        * @param array       $galleries Associative array of all found post galleries.
+        */
        return apply_filters( 'get_post_gallery', $gallery, $post, $galleries );
 }
 
@@ -2090,3 +3078,28 @@ function get_post_gallery_images( $post = 0 ) {
        $gallery = get_post_gallery( $post, false );
        return empty( $gallery['src'] ) ? array() : $gallery['src'];
 }
+
+/**
+ * Maybe attempt to generate attachment metadata, if missing.
+ *
+ * @since 3.9.0
+ *
+ * @param WP_Post $attachment Attachment object.
+ */
+function wp_maybe_generate_attachment_metadata( $attachment ) {
+       if ( empty( $attachment ) || ( empty( $attachment->ID ) || ! $attachment_id = (int) $attachment->ID ) ) {
+               return;
+       }
+
+       $file = get_attached_file( $attachment_id );
+       $meta = wp_get_attachment_metadata( $attachment_id );
+       if ( empty( $meta ) && file_exists( $file ) ) {
+               $_meta = get_post_meta( $attachment_id );
+               $regeneration_lock = 'wp_generating_att_' . $attachment_id;
+               if ( ! array_key_exists( '_wp_attachment_metadata', $_meta ) && ! get_transient( $regeneration_lock ) ) {
+                       set_transient( $regeneration_lock, $file );
+                       wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $file ) );
+                       delete_transient( $regeneration_lock );
+               }
+       }
+}
index 55beadb1a4ce835418606300721f3c78ad7db170..0f3aaa979d77bc4d9308e3a687766657993f92a7 100644 (file)
@@ -16,8 +16,6 @@
  *
  * @since 2.9.0
  * @uses $wpdb WordPress database object for queries.
- * @uses do_action() Calls 'added_{$meta_type}_meta' with meta_id of added metadata entry,
- *             object ID, meta key, and meta value
  *
  * @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
@@ -26,7 +24,7 @@
  * @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 successful update, false on failure.
+ * @return int|bool The meta ID on success, false on failure.
  */
 function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique = false) {
        if ( !$meta_type || !$meta_key )
@@ -47,6 +45,22 @@ function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique =
        $meta_value = wp_unslash($meta_value);
        $meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type );
 
+       /**
+        * Filter whether to add metadata of a specific type.
+        *
+        * The dynamic portion of the hook, $meta_type, refers to the meta
+        * object type (comment, post, or user). Returning a non-null value
+        * will effectively short-circuit the function.
+        *
+        * @since 3.1.0
+        *
+        * @param null|bool $check      Whether to allow adding metadata for the given type.
+        * @param int       $object_id  Object ID.
+        * @param string    $meta_key   Meta key.
+        * @param mixed     $meta_value Meta value. Must be serializable if non-scalar.
+        * @param bool      $unique     Whether the specified meta key should be unique
+        *                              for the object. Optional. Default false.
+        */
        $check = apply_filters( "add_{$meta_type}_metadata", null, $object_id, $meta_key, $meta_value, $unique );
        if ( null !== $check )
                return $check;
@@ -59,6 +73,18 @@ function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique =
        $_meta_value = $meta_value;
        $meta_value = maybe_serialize( $meta_value );
 
+       /**
+        * Fires immediately before meta of a specific type is added.
+        *
+        * The dynamic portion of the hook, $meta_type, refers to the meta
+        * object type (comment, post, or user).
+        *
+        * @since 3.1.0
+        *
+        * @param int    $object_id  Object ID.
+        * @param string $meta_key   Meta key.
+        * @param mixed  $meta_value Meta value.
+        */
        do_action( "add_{$meta_type}_meta", $object_id, $meta_key, $_meta_value );
 
        $result = $wpdb->insert( $table, array(
@@ -74,6 +100,19 @@ function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique =
 
        wp_cache_delete($object_id, $meta_type . '_meta');
 
+       /**
+        * Fires immediately after meta of a specific type is added.
+        *
+        * The dynamic portion of the hook, $meta_type, refers to the meta
+        * object type (comment, post, or user).
+        *
+        * @since 2.9.0
+        *
+        * @param int    $mid        The meta ID after successful update.
+        * @param int    $object_id  Object ID.
+        * @param string $meta_key   Meta key.
+        * @param mixed  $meta_value Meta value.
+        */
        do_action( "added_{$meta_type}_meta", $mid, $object_id, $meta_key, $_meta_value );
 
        return $mid;
@@ -85,10 +124,6 @@ function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique =
  *
  * @since 2.9.0
  * @uses $wpdb WordPress database object for queries.
- * @uses do_action() Calls 'update_{$meta_type}_meta' before updating metadata with meta_id of
- *             metadata entry to update, object ID, meta key, and meta value
- * @uses do_action() Calls 'updated_{$meta_type}_meta' after updating metadata with meta_id of
- *             updated metadata entry, object ID, meta key, and meta value
  *
  * @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
@@ -96,7 +131,7 @@ function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique =
  * @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 bool True on successful update, false on failure.
+ * @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 = '') {
        if ( !$meta_type || !$meta_key )
@@ -119,6 +154,23 @@ function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_v
        $meta_value = wp_unslash($meta_value);
        $meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type );
 
+       /**
+        * Filter whether to update metadata of a specific type.
+        *
+        * The dynamic portion of the hook, $meta_type, refers to the meta
+        * object type (comment, post, or user). Returning a non-null value
+        * will effectively short-circuit the function.
+        *
+        * @since 3.1.0
+        *
+        * @param null|bool $check      Whether to allow updating metadata for the given type.
+        * @param int       $object_id  Object ID.
+        * @param string    $meta_key   Meta key.
+        * @param mixed     $meta_value Meta 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.
+        */
        $check = apply_filters( "update_{$meta_type}_metadata", null, $object_id, $meta_key, $meta_value, $prev_value );
        if ( null !== $check )
                return (bool) $check;
@@ -146,9 +198,32 @@ function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_v
                $where['meta_value'] = $prev_value;
        }
 
+       /**
+        * Fires immediately before updating metadata of a specific type.
+        *
+        * The dynamic portion of the hook, $meta_type, refers to the meta
+        * object type (comment, post, or user).
+        *
+        * @since 2.9.0
+        *
+        * @param int    $meta_id    ID of the metadata entry to update.
+        * @param int    $object_id  Object ID.
+        * @param string $meta_key   Meta key.
+        * @param mixed  $meta_value Meta value.
+        */
        do_action( "update_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
 
        if ( 'post' == $meta_type )
+               /**
+                * Fires immediately before updating a post's metadata.
+                *
+                * @since 2.9.0
+                *
+                * @param int    $meta_id    ID of metadata entry to update.
+                * @param int    $object_id  Object ID.
+                * @param string $meta_key   Meta key.
+                * @param mixed  $meta_value Meta value.
+                */
                do_action( 'update_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
 
        $result = $wpdb->update( $table, $data, $where );
@@ -157,10 +232,34 @@ function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_v
 
        wp_cache_delete($object_id, $meta_type . '_meta');
 
+       /**
+        * Fires immediately after updating metadata of a specific type.
+        *
+        * The dynamic portion of the hook, $meta_type, refers to the meta
+        * object type (comment, post, or user).
+        *
+        * @since 2.9.0
+        *
+        * @param int    $meta_id    ID of updated metadata entry.
+        * @param int    $object_id  Object ID.
+        * @param string $meta_key   Meta key.
+        * @param mixed  $meta_value Meta value.
+        */
        do_action( "updated_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
 
-       if ( 'post' == $meta_type )
+       if ( 'post' == $meta_type ) {
+               /**
+                * Fires immediately after updating a post's metadata.
+                *
+                * @since 2.9.0
+                *
+                * @param int    $meta_id    ID of updated metadata entry.
+                * @param int    $object_id  Object ID.
+                * @param string $meta_key   Meta key.
+                * @param mixed  $meta_value Meta value.
+                */
                do_action( 'updated_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
+       }
 
        return true;
 }
@@ -170,8 +269,6 @@ function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_v
  *
  * @since 2.9.0
  * @uses $wpdb WordPress database object for queries.
- * @uses do_action() Calls 'deleted_{$meta_type}_meta' after deleting with meta_id of
- *             deleted metadata entries, object ID, meta key, and meta value
  *
  * @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
@@ -201,6 +298,23 @@ function delete_metadata($meta_type, $object_id, $meta_key, $meta_value = '', $d
        $meta_key = wp_unslash($meta_key);
        $meta_value = wp_unslash($meta_value);
 
+       /**
+        * Filter whether to delete metadata of a specific type.
+        *
+        * The dynamic portion of the hook, $meta_type, refers to the meta
+        * object type (comment, post, or user). Returning a non-null value
+        * will effectively short-circuit the function.
+        *
+        * @since 3.1.0
+        *
+        * @param null|bool $delete     Whether to allow metadata deletion of the given type.
+        * @param int       $object_id  Object ID.
+        * @param string    $meta_key   Meta key.
+        * @param mixed     $meta_value Meta value. Must be serializable if non-scalar.
+        * @param bool      $delete_all Whether to delete the matching metadata entries
+        *                              for all objects, ignoring the specified $object_id.
+        *                              Default false.
+        */
        $check = apply_filters( "delete_{$meta_type}_metadata", null, $object_id, $meta_key, $meta_value, $delete_all );
        if ( null !== $check )
                return (bool) $check;
@@ -223,11 +337,32 @@ function delete_metadata($meta_type, $object_id, $meta_key, $meta_value = '', $d
        if ( $delete_all )
                $object_ids = $wpdb->get_col( $wpdb->prepare( "SELECT $type_column FROM $table WHERE meta_key = %s", $meta_key ) );
 
+       /**
+        * Fires immediately before deleting metadata of a specific type.
+        *
+        * The dynamic portion of the hook, $meta_type, refers to the meta
+        * object type (comment, post, or user).
+        *
+        * @since 3.1.0
+        *
+        * @param array  $meta_ids   An array of metadata entry IDs to delete.
+        * @param int    $object_id  Object ID.
+        * @param string $meta_key   Meta key.
+        * @param mixed  $meta_value Meta value.
+        */
        do_action( "delete_{$meta_type}_meta", $meta_ids, $object_id, $meta_key, $_meta_value );
 
        // Old-style action.
-       if ( 'post' == $meta_type )
+       if ( 'post' == $meta_type ) {
+               /**
+                * Fires immediately before deleting metadata for a post.
+                *
+                * @since 2.9.0
+                *
+                * @param array $meta_ids An array of post metadata entry IDs to delete.
+                */
                do_action( 'delete_postmeta', $meta_ids );
+       }
 
        $query = "DELETE FROM $table WHERE $id_column IN( " . implode( ',', $meta_ids ) . " )";
 
@@ -244,11 +379,32 @@ function delete_metadata($meta_type, $object_id, $meta_key, $meta_value = '', $d
                wp_cache_delete($object_id, $meta_type . '_meta');
        }
 
+       /**
+        * Fires immediately after deleting metadata of a specific type.
+        *
+        * The dynamic portion of the hook name, $meta_type, refers to the meta
+        * object type (comment, post, or user).
+        *
+        * @since 2.9.0
+        *
+        * @param array  $meta_ids   An array of deleted metadata entry IDs.
+        * @param int    $object_id  Object ID.
+        * @param string $meta_key   Meta key.
+        * @param mixed  $meta_value Meta value.
+        */
        do_action( "deleted_{$meta_type}_meta", $meta_ids, $object_id, $meta_key, $_meta_value );
 
        // Old-style action.
-       if ( 'post' == $meta_type )
+       if ( 'post' == $meta_type ) {
+               /**
+                * Fires immediately after deleting metadata for a post.
+                *
+                * @since 2.9.0
+                *
+                * @param array $meta_ids An array of deleted post metadata entry IDs.
+                */
                do_action( 'deleted_postmeta', $meta_ids );
+       }
 
        return true;
 }
@@ -273,6 +429,22 @@ function get_metadata($meta_type, $object_id, $meta_key = '', $single = false) {
        if ( !$object_id = absint($object_id) )
                return false;
 
+       /**
+        * Filter whether to retrieve metadata of a specific type.
+        *
+        * The dynamic portion of the hook, $meta_type, refers to the meta
+        * object type (comment, post, or user). Returning a non-null value
+        * will effectively short-circuit the function.
+        *
+        * @since 3.1.0
+        *
+        * @param null|array|string $value     The value get_metadata() should
+        *                                     return - a single metadata value,
+        *                                     or an array of values.
+        * @param int               $object_id Object ID.
+        * @param string            $meta_key  Meta key.
+        * @param string|array      $single    Meta value, or an array of values.
+        */
        $check = apply_filters( "get_{$meta_type}_metadata", null, $object_id, $meta_key, $single );
        if ( null !== $check ) {
                if ( $single && is_array( $check ) )
@@ -321,9 +493,10 @@ function metadata_exists( $meta_type, $object_id, $meta_key ) {
        if ( ! $object_id = absint( $object_id ) )
                return false;
 
+       /** This filter is documented in wp-includes/meta.php */
        $check = apply_filters( "get_{$meta_type}_metadata", null, $object_id, $meta_key, true );
        if ( null !== $check )
-               return true;
+               return (bool) $check;
 
        $meta_cache = wp_cache_get( $object_id, $meta_type . '_meta' );
 
@@ -431,10 +604,13 @@ function update_metadata_by_mid( $meta_type, $meta_id, $meta_value, $meta_key =
                $where = array();
                $where[$id_column] = $meta_id;
 
+               /** This action is documented in wp-includes/meta.php */
                do_action( "update_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
 
-               if ( 'post' == $meta_type )
+               if ( 'post' == $meta_type ) {
+                       /** This action is documented in wp-includes/meta.php */
                        do_action( 'update_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
+               }
 
                // Run the update query, all fields in $data are %s, $where is a %d.
                $result = $wpdb->update( $table, $data, $where, '%s', '%d' );
@@ -444,10 +620,13 @@ function update_metadata_by_mid( $meta_type, $meta_id, $meta_value, $meta_key =
                // Clear the caches.
                wp_cache_delete($object_id, $meta_type . '_meta');
 
+               /** This action is documented in wp-includes/meta.php */
                do_action( "updated_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
 
-               if ( 'post' == $meta_type )
+               if ( 'post' == $meta_type ) {
+                       /** This action is documented in wp-includes/meta.php */
                        do_action( 'updated_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
+               }
 
                return true;
        }
@@ -489,11 +668,23 @@ function delete_metadata_by_mid( $meta_type, $meta_id ) {
        if ( $meta = get_metadata_by_mid( $meta_type, $meta_id ) ) {
                $object_id = $meta->{$column};
 
+               /** This action is documented in wp-includes/meta.php */
                do_action( "delete_{$meta_type}_meta", (array) $meta_id, $object_id, $meta->meta_key, $meta->meta_value );
 
                // Old-style action.
-               if ( 'post' == $meta_type || 'comment' == $meta_type )
+               if ( 'post' == $meta_type || 'comment' == $meta_type ) {
+                       /**
+                        * Fires immediately before deleting post or comment metadata of a specific type.
+                        *
+                        * The dynamic portion of the hook, $meta_type, refers to the meta
+                        * object type (post or comment).
+                        *
+                        * @since 3.4.0
+                        *
+                        * @param int $meta_id ID of the metadata entry to delete.
+                        */
                        do_action( "delete_{$meta_type}meta", $meta_id );
+               }
 
                // Run the query, will return true if deleted, false otherwise
                $result = (bool) $wpdb->delete( $table, array( $id_column => $meta_id ) );
@@ -501,11 +692,23 @@ function delete_metadata_by_mid( $meta_type, $meta_id ) {
                // Clear the caches.
                wp_cache_delete($object_id, $meta_type . '_meta');
 
+               /** This action is documented in wp-includes/meta.php */
                do_action( "deleted_{$meta_type}_meta", (array) $meta_id, $object_id, $meta->meta_key, $meta->meta_value );
 
                // Old-style action.
-               if ( 'post' == $meta_type || 'comment' == $meta_type )
+               if ( 'post' == $meta_type || 'comment' == $meta_type ) {
+                       /**
+                        * Fires immediately after deleting post or comment metadata of a specific type.
+                        *
+                        * The dynamic portion of the hook, $meta_type, refers to the meta
+                        * object type (post or comment).
+                        *
+                        * @since 3.4.0
+                        *
+                        * @param int $meta_ids Deleted metadata entry ID.
+                        */
                        do_action( "deleted_{$meta_type}meta", $meta_id );
+               }
 
                return $result;
 
@@ -753,7 +956,7 @@ class WP_Meta_Query {
                // Split out the meta_key only queries (we can only do this for OR)
                if ( 'OR' == $this->relation ) {
                        foreach ( $this->queries as $k => $q ) {
-                               if ( ! array_key_exists( 'value', $q ) && ! empty( $q['key'] ) )
+                               if ( ( empty( $q['compare'] ) || 'NOT EXISTS' != $q['compare'] ) && ! array_key_exists( 'value', $q ) && ! empty( $q['key'] ) )
                                        $key_only_queries[$k] = $q;
                                else
                                        $queries[$k] = $q;
@@ -862,6 +1065,22 @@ class WP_Meta_Query {
                if ( ! empty( $join ) )
                        $join = ' ' . $join;
 
+               /**
+                * Filter the meta query's generated SQL.
+                *
+                * @since 3.1.0
+                *
+                * @param array $args {
+                *     An array of arguments.
+                *
+                *     @type array  $clauses           Array containing the query's JOIN and WHERE clauses.
+                *     @type array  $queries           Array of meta queries.
+                *     @type string $type              Type of meta.
+                *     @type string $primary_table     Primary table.
+                *     @type string $primary_id_column Primary column ID.
+                *     @type object $context           The main query object.
+                * }
+                */
                return apply_filters_ref_array( 'get_meta_sql', array( compact( 'join', 'where' ), $this->queries, $type, $primary_table, $primary_id_column, $context ) );
        }
 }
@@ -887,7 +1106,7 @@ function _get_meta_table($type) {
 }
 
 /**
- * Determine whether a meta key is protected
+ * Determine whether a meta key is protected.
  *
  * @since 3.1.3
  *
@@ -897,11 +1116,20 @@ function _get_meta_table($type) {
 function is_protected_meta( $meta_key, $meta_type = null ) {
        $protected = ( '_' == $meta_key[0] );
 
+       /**
+        * Filter whether a meta key is protected.
+        *
+        * @since 3.2.0
+        *
+        * @param bool   $protected Whether the key is protected. Default false.
+        * @param string $meta_key  Meta key.
+        * @param string $meta_type Meta type.
+        */
        return apply_filters( 'is_protected_meta', $protected, $meta_key, $meta_type );
 }
 
 /**
- * Sanitize meta value
+ * Sanitize meta value.
  *
  * @since 3.1.3
  *
@@ -911,6 +1139,20 @@ function is_protected_meta( $meta_key, $meta_type = null ) {
  * @return mixed Sanitized $meta_value
  */
 function sanitize_meta( $meta_key, $meta_value, $meta_type ) {
+
+       /**
+        * Filter the sanitization of a specific meta key of a specific meta type.
+        *
+        * The dynamic portions of the hook name, $meta_type and $meta_key, refer to the
+        * metadata object type (comment, post, or user) and the meta key value,
+        * respectively.
+        *
+        * @since 3.3.0
+        *
+        * @param mixed  $meta_value Meta value to sanitize.
+        * @param string $meta_key   Meta key.
+        * @param string $meta_type  Meta type.
+        */
        return apply_filters( "sanitize_{$meta_type}_meta_{$meta_key}", $meta_value, $meta_key, $meta_type );
 }
 
index 8d05f10c69c067654ea460f13c1c60b6fb2b3695..16a491818a36bf18318630be3cefd21fdae4b47d 100644 (file)
@@ -569,7 +569,7 @@ function update_blog_option( $id, $option, $value, $deprecated = null ) {
  *
  * @param int $new_blog The id of the blog you want to switch to. Default: current blog
  * @param bool $deprecated Deprecated argument
- * @return bool True on success, false if the validation failed
+ * @return bool Always returns True.
  */
 function switch_to_blog( $new_blog, $deprecated = null ) {
        global $wpdb, $wp_roles;
index 30026a87585326be1cfea85dc89d4fe4b11ba5af..5c7bfe2a8221bf2b37da503536c48b4ffc7044e5 100644 (file)
@@ -86,7 +86,7 @@ function graceful_fail( $message ) {
        $message = apply_filters( 'graceful_fail', $message );
        $message_template = apply_filters( 'graceful_fail_template',
 '<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml"><head profile="http://gmpg.org/xfn/11">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <title>Error!</title>
 <style type="text/css">
index b7b4b6af35a5930b6c929dc6622c08d9e22bcd24..431ba070aaf4ae5a3b6e8596b0f2b0d93ff5cb86 100644 (file)
@@ -275,8 +275,18 @@ function remove_user_from_blog($user_id, $blog_id = '', $reassign = '') {
 
        if ( $reassign != '' ) {
                $reassign = (int) $reassign;
-               $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_author = %d WHERE post_author = %d", $reassign, $user_id) );
-               $wpdb->query( $wpdb->prepare("UPDATE $wpdb->links SET link_owner = %d WHERE link_owner = %d", $reassign, $user_id) );
+               $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_author = %d", $user_id ) );
+               $link_ids = $wpdb->get_col( $wpdb->prepare( "SELECT link_id FROM $wpdb->links WHERE link_owner = %d", $user_id ) );
+
+               if ( ! empty( $post_ids ) ) {
+                       $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_author = %d WHERE post_author = %d", $reassign, $user_id ) );
+                       array_walk( $post_ids, 'clean_post_cache' );
+               }
+
+               if ( ! empty( $link_ids ) ) {
+                       $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->links SET link_owner = %d WHERE link_owner = %d", $reassign, $user_id ) );
+                       array_walk( $link_ids, 'clean_bookmark_cache' );
+               }
        }
 
        restore_current_blog();
@@ -870,7 +880,7 @@ function wpmu_signup_blog_notification( $domain, $path, $title, $user, $user_ema
                $from_name,
                esc_url( 'http://' . $domain . $path )
        );
-       wp_mail($user_email, $subject, $message, $message_headers);
+       wp_mail( $user_email, wp_specialchars_decode( $subject ), $message, $message_headers );
        return true;
 }
 
@@ -955,7 +965,7 @@ function wpmu_signup_user_notification( $user, $user_email, $key, $meta = array(
                $from_name,
                $user
        );
-       wp_mail($user_email, $subject, $message, $message_headers);
+       wp_mail( $user_email, wp_specialchars_decode( $subject ), $message, $message_headers );
        return true;
 }
 
@@ -1289,7 +1299,9 @@ Disable these notifications: %3$s'), $user->user_login, wp_unslash( $_SERVER['RE
  */
 function domain_exists($domain, $path, $site_id = 1) {
        global $wpdb;
+       $path = trailingslashit( $path );
        $result = $wpdb->get_var( $wpdb->prepare("SELECT blog_id FROM $wpdb->blogs WHERE domain = %s AND path = %s AND site_id = %d", $domain, $path, $site_id) );
+
        /**
         * Filter whether a blogname is taken.
         *
@@ -1509,7 +1521,7 @@ We hope you enjoy your new site. Thanks!
         * @param string $subject Subject of the email.
         */
        $subject = apply_filters( 'update_welcome_subject', sprintf( __( 'New %1$s Site: %2$s' ), $current_site->site_name, wp_unslash( $title ) ) );
-       wp_mail($user->user_email, $subject, $message, $message_headers);
+       wp_mail( $user->user_email, wp_specialchars_decode( $subject ), $message, $message_headers );
        return true;
 }
 
@@ -1587,7 +1599,7 @@ function wpmu_welcome_user_notification( $user_id, $password, $meta = array() )
         * @param string $subject Subject of the email.
         */
        $subject = apply_filters( 'update_welcome_user_subject', sprintf( __( 'New %1$s User: %2$s' ), $current_site->site_name, $user->user_login) );
-       wp_mail($user->user_email, $subject, $message, $message_headers);
+       wp_mail( $user->user_email, wp_specialchars_decode( $subject ), $message, $message_headers );
        return true;
 }
 
index 09746dbd75115e475e6a186f2d2a95a831c260e5..ee99398dfdf7c9ea91bd2273e2d1eb2a0e2b5035 100644 (file)
@@ -113,118 +113,256 @@ function ms_site_check() {
 }
 
 /**
- * Sets current site name.
+ * Retrieve a network object by its domain and path.
  *
- * @access private
- * @since 3.0.0
- * @return object $current_site object with site_name
+ * @since 3.9.0
+ *
+ * @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.
  */
-function get_current_site_name( $current_site ) {
+function get_network_by_path( $domain, $path, $segments = null ) {
        global $wpdb;
 
-       $current_site->site_name = wp_cache_get( $current_site->id . ':site_name', 'site-options' );
-       if ( ! $current_site->site_name ) {
-               $current_site->site_name = $wpdb->get_var( $wpdb->prepare( "SELECT meta_value FROM $wpdb->sitemeta WHERE site_id = %d AND meta_key = 'site_name'", $current_site->id ) );
-               if ( ! $current_site->site_name )
-                       $current_site->site_name = ucfirst( $current_site->domain );
-               wp_cache_set( $current_site->id . ':site_name', $current_site->site_name, 'site-options' );
+       $domains = $exact_domains = array( $domain );
+       $pieces = explode( '.', $domain );
+
+       /*
+        * It's possible one domain to search is 'com', but it might as well
+        * be 'localhost' or some other locally mapped domain.
+        */
+       while ( array_shift( $pieces ) ) {
+               if ( $pieces ) {
+                       $domains[] = implode( '.', $pieces );
+               }
+       }
+
+       /*
+        * If we've gotten to this function during normal execution, there is
+        * more than one network installed. At this point, who knows how many
+        * we have. Attempt to optimize for the situation where networks are
+        * only domains, thus meaning paths never need to be considered.
+        *
+        * This is a very basic optimization; anything further could have drawbacks
+        * depending on the setup, so this is best done per-install.
+        */
+       $using_paths = true;
+       if ( wp_using_ext_object_cache() ) {
+               $using_paths = wp_cache_get( 'networks_have_paths', 'site-options' );
+               if ( false === $using_paths ) {
+                       $using_paths = (bool) $wpdb->get_var( "SELECT id FROM $wpdb->site WHERE path <> '/' LIMIT 1" );
+                       wp_cache_add( 'networks_have_paths', (int) $using_paths, 'site-options'  );
+               }
        }
 
-       return $current_site;
+       $paths = array();
+       if ( $using_paths ) {
+               $path_segments = array_filter( explode( '/', trim( $path, "/" ) ) );
+
+               /**
+                * Filter the number of path segments to consider when searching for a site.
+                *
+                * @since 3.9.0
+                *
+                * @param int|null $segments The number of path segments to consider. WordPress by default looks at
+                *                           one path segment. The function default of null only makes sense when you
+                *                           know the requested path should match a network.
+                * @param string   $domain   The requested domain.
+                * @param string   $path     The requested path, in full.
+                */
+               $segments = apply_filters( 'network_by_path_segments_count', $segments, $domain, $path );
+
+               if ( null !== $segments && count($path_segments ) > $segments ) {
+                       $path_segments = array_slice( $path_segments, 0, $segments );
+               }
+
+               while ( count( $path_segments ) ) {
+                       $paths[] = '/' . implode( '/', $path_segments ) . '/';
+                       array_pop( $path_segments );
+               }
+
+               $paths[] = '/';
+       }
+
+       /**
+        * Determine a network by its domain and path.
+        *
+        * This allows one to short-circuit the default logic, perhaps by
+        * replacing it with a routine that is more optimal for your setup.
+        *
+        * Return null to avoid the short-circuit. Return false if no network
+        * can be found at the requested domain and path. Otherwise, return
+        * an object from wp_get_network().
+        *
+        * @since 3.9.0
+        *
+        * @param null|bool|object $network  Network value to return by path.
+        * @param string           $domain   The requested domain.
+        * @param string           $path     The requested path, in full.
+        * @param int|null         $segments The suggested number of paths to consult.
+        *                                   Default null, meaning the entire path was to be consulted.
+        * @param array            $paths    The paths to search for, based on $path and $segments.
+        */
+       $pre = apply_filters( 'pre_get_network_by_path', null, $domain, $path, $segments, $paths );
+       if ( null !== $pre ) {
+               return $pre;
+       }
+
+       // @todo Consider additional optimization routes, perhaps as an opt-in for plugins.
+       // We already have paths covered. What about how far domains should be drilled down (including www)?
+
+       $search_domains = "'" . implode( "', '", $wpdb->_escape( $domains ) ) . "'";
+
+       if ( ! $using_paths ) {
+               $network = $wpdb->get_row( "SELECT id, domain, path FROM $wpdb->site
+                       WHERE domain IN ($search_domains) ORDER BY CHAR_LENGTH(domain) DESC LIMIT 1" );
+               if ( $network ) {
+                       return wp_get_network( $network );
+               }
+               return false;
+
+       } else {
+               $search_paths = "'" . implode( "', '", $wpdb->_escape( $paths ) ) . "'";
+               $networks = $wpdb->get_results( "SELECT id, domain, path FROM $wpdb->site
+                       WHERE domain IN ($search_domains) AND path IN ($search_paths)
+                       ORDER BY CHAR_LENGTH(domain) DESC, CHAR_LENGTH(path) DESC" );
+       }
+
+       /*
+        * Domains are sorted by length of domain, then by length of path.
+        * The domain must match for the path to be considered. Otherwise,
+        * a network with the path of / will suffice.
+        */
+       $found = false;
+       foreach ( $networks as $network ) {
+               if ( $network->domain === $domain || "www.$network->domain" === $domain ) {
+                       if ( in_array( $network->path, $paths, true ) ) {
+                               $found = true;
+                               break;
+                       }
+               }
+               if ( $network->path === '/' ) {
+                       $found = true;
+                       break;
+               }
+       }
+
+       if ( $found ) {
+               return wp_get_network( $network );
+       }
+
+       return false;
 }
 
 /**
- * Sets current_site object.
+ * Retrieve an object containing information about the requested network.
  *
- * @access private
- * @since 3.0.0
- * @return object $current_site object
+ * @since 3.9.0
+ *
+ * @param object|int $network The network's database row or ID.
+ * @return object|bool Object containing network information if found, false if not.
  */
-function wpmu_current_site() {
-       global $wpdb, $current_site, $domain, $path, $sites, $cookie_domain;
-
-       if ( empty( $current_site ) )
-               $current_site = new stdClass;
-
-       if ( defined( 'DOMAIN_CURRENT_SITE' ) && defined( 'PATH_CURRENT_SITE' ) ) {
-               $current_site->id = defined( 'SITE_ID_CURRENT_SITE' ) ? SITE_ID_CURRENT_SITE : 1;
-               $current_site->domain = DOMAIN_CURRENT_SITE;
-               $current_site->path   = $path = PATH_CURRENT_SITE;
-               if ( defined( 'BLOG_ID_CURRENT_SITE' ) )
-                       $current_site->blog_id = BLOG_ID_CURRENT_SITE;
-               elseif ( defined( 'BLOGID_CURRENT_SITE' ) ) // deprecated.
-                       $current_site->blog_id = BLOGID_CURRENT_SITE;
-               if ( DOMAIN_CURRENT_SITE == $domain )
-                       $current_site->cookie_domain = $cookie_domain;
-               elseif ( substr( $current_site->domain, 0, 4 ) == 'www.' )
-                       $current_site->cookie_domain = substr( $current_site->domain, 4 );
-               else
-                       $current_site->cookie_domain = $current_site->domain;
-
-               wp_load_core_site_options( $current_site->id );
+function wp_get_network( $network ) {
+       global $wpdb;
 
-               return $current_site;
+       if ( ! is_object( $network ) ) {
+               $network = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->site WHERE id = %d", $network ) );
+               if ( ! $network ) {
+                       return false;
+               }
        }
 
-       $current_site = wp_cache_get( 'current_site', 'site-options' );
-       if ( $current_site )
-               return $current_site;
-
-       $sites = $wpdb->get_results( "SELECT * FROM $wpdb->site" ); // usually only one site
-       if ( 1 == count( $sites ) ) {
-               $current_site = $sites[0];
-               wp_load_core_site_options( $current_site->id );
-               $path = $current_site->path;
-               $current_site->blog_id = $wpdb->get_var( $wpdb->prepare( "SELECT blog_id FROM $wpdb->blogs WHERE domain = %s AND path = %s", $current_site->domain, $current_site->path ) );
-               $current_site = get_current_site_name( $current_site );
-               if ( substr( $current_site->domain, 0, 4 ) == 'www.' )
-                       $current_site->cookie_domain = substr( $current_site->domain, 4 );
-               wp_cache_set( 'current_site', $current_site, 'site-options' );
-               return $current_site;
-       }
-       $path = substr( $_SERVER[ 'REQUEST_URI' ], 0, 1 + strpos( $_SERVER[ 'REQUEST_URI' ], '/', 1 ) );
+       return $network;
+}
 
-       if ( $domain == $cookie_domain )
-               $current_site = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->site WHERE domain = %s AND path = %s", $domain, $path ) );
-       else
-               $current_site = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->site WHERE domain IN ( %s, %s ) AND path = %s ORDER BY CHAR_LENGTH( domain ) DESC LIMIT 1", $domain, $cookie_domain, $path ) );
+/**
+ * Retrieve a site object by its domain and path.
+ *
+ * @since 3.9.0
+ *
+ * @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.
+ */
+function get_site_by_path( $domain, $path, $segments = null ) {
+       global $wpdb;
 
-       if ( ! $current_site ) {
-               if ( $domain == $cookie_domain )
-                       $current_site = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->site WHERE domain = %s AND path='/'", $domain ) );
-               else
-                       $current_site = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->site WHERE domain IN ( %s, %s ) AND path = '/' ORDER BY CHAR_LENGTH( domain ) DESC LIMIT 1", $domain, $cookie_domain, $path ) );
+       $path_segments = array_filter( explode( '/', trim( $path, '/' ) ) );
+
+       /**
+        * Filter the number of path segments to consider when searching for a site.
+        *
+        * @since 3.9.0
+        *
+        * @param int|null $segments The number of path segments to consider. WordPress by default looks at
+        *                           one path segment following the network path. The function default of
+        *                           null only makes sense when you know the requested path should match a site.
+        * @param string   $domain   The requested domain.
+        * @param string   $path     The requested path, in full.
+        */
+       $segments = apply_filters( 'site_by_path_segments_count', $segments, $domain, $path );
+
+       if ( null !== $segments && count( $path_segments ) > $segments ) {
+               $path_segments = array_slice( $path_segments, 0, $segments );
        }
 
-       if ( $current_site ) {
-               $path = $current_site->path;
-               $current_site->cookie_domain = $cookie_domain;
-               return $current_site;
+       while ( count( $path_segments ) ) {
+               $paths[] = '/' . implode( '/', $path_segments ) . '/';
+               array_pop( $path_segments );
        }
 
-       if ( is_subdomain_install() ) {
-               $sitedomain = substr( $domain, 1 + strpos( $domain, '.' ) );
-               $current_site = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->site WHERE domain = %s AND path = %s", $sitedomain, $path) );
-               if ( $current_site ) {
-                       $current_site->cookie_domain = $current_site->domain;
-                       return $current_site;
-               }
+       $paths[] = '/';
 
-               $current_site = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->site WHERE domain = %s AND path='/'", $sitedomain) );
+       /**
+        * Determine a site by its domain and path.
+        *
+        * This allows one to short-circuit the default logic, perhaps by
+        * replacing it with a routine that is more optimal for your setup.
+        *
+        * Return null to avoid the short-circuit. Return false if no site
+        * can be found at the requested domain and path. Otherwise, return
+        * a site object.
+        *
+        * @since 3.9.0
+        *
+        * @param null|bool|object $site     Site value to return by path.
+        * @param string           $domain   The requested domain.
+        * @param string           $path     The requested path, in full.
+        * @param int|null         $segments The suggested number of paths to consult.
+        *                                   Default null, meaning the entire path was to be consulted.
+        * @param array            $paths    The paths to search for, based on $path and $segments.
+        */
+       $pre = apply_filters( 'pre_get_site_by_path', null, $domain, $path, $segments, $paths );
+       if ( null !== $pre ) {
+               return $pre;
        }
 
-       if ( $current_site || defined( 'WP_INSTALLING' ) ) {
-               $path = '/';
-               return $current_site;
+       /*
+        * @todo
+        * get_blog_details(), caching, etc. Consider alternative optimization routes,
+        * perhaps as an opt-in for plugins, rather than using the pre_* filter.
+        * For example: The segments filter can expand or ignore paths.
+        * If persistent caching is enabled, we could query the DB for a path <> '/'
+        * then cache whether we can just always ignore paths.
+        */
+
+       if ( count( $paths ) > 1 ) {
+               $paths = "'" . implode( "', '", $wpdb->_escape( $paths ) ) . "'";
+               $sql = $wpdb->prepare( "SELECT * FROM $wpdb->blogs WHERE domain = %s", $domain );
+               $sql .= " AND path IN ($paths) ORDER BY CHAR_LENGTH(path) DESC LIMIT 1";
+               $site = $wpdb->get_row( $sql );
+       } else {
+               $site = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->blogs WHERE domain = %s and path = %s", $domain, $paths[0] ) );
        }
 
-       // Still no dice.
-       wp_load_translations_early();
+       if ( $site ) {
+               // @todo get_blog_details()
+               return $site;
+       }
 
-       if ( 1 == count( $sites ) )
-               wp_die( sprintf( __( 'That site does not exist. Please try <a href="%s">%s</a>.' ), 'http://' . $sites[0]->domain . $sites[0]->path ) );
-       else
-               wp_die( __( 'No site defined on this host. If you are the owner of this site, please check <a href="http://codex.wordpress.org/Debugging_a_WordPress_Network">Debugging a WordPress Network</a> for help.' ) );
+       return false;
 }
 
 /**
@@ -262,3 +400,39 @@ function ms_not_installed() {
 
        wp_die( $msg, $title );
 }
+
+/**
+ * This deprecated function formerly set the site_name property of the $current_site object.
+ *
+ * This function simply returns the object, as before.
+ * The bootstrap takes care of setting site_name.
+ *
+ * @access private
+ * @since 3.0.0
+ * @deprecated 3.9.0
+ *
+ * @param object $current_site
+ * @return object
+ */
+function get_current_site_name( $current_site ) {
+       _deprecated_function( __FUNCTION__, '3.9' );
+       return $current_site;
+}
+
+/**
+ * This deprecated function managed much of the site and network loading in multisite.
+ *
+ * The current bootstrap code is now responsible for parsing the site and network load as
+ * well as setting the global $current_site object.
+ *
+ * @access private
+ * @since 3.0.0
+ * @deprecated 3.9.0
+ *
+ * @return object
+ */
+function wpmu_current_site() {
+       global $current_site;
+       _deprecated_function( __FUNCTION__, '3.9' );
+       return $current_site;
+}
index af2ea0d97add9b602747d782ec646bf487c00eb8..ddcbb997f2d6a9a2fb06694f40f123135a9dede1 100644 (file)
@@ -22,107 +22,176 @@ ms_subdomain_constants();
 
 if ( !isset( $current_site ) || !isset( $current_blog ) ) {
 
-       $domain = addslashes( $_SERVER['HTTP_HOST'] );
-       if ( false !== strpos( $domain, ':' ) ) {
-               if ( substr( $domain, -3 ) == ':80' ) {
-                       $domain = substr( $domain, 0, -3 );
-                       $_SERVER['HTTP_HOST'] = substr( $_SERVER['HTTP_HOST'], 0, -3 );
-               } elseif ( substr( $domain, -4 ) == ':443' ) {
-                       $domain = substr( $domain, 0, -4 );
-                       $_SERVER['HTTP_HOST'] = substr( $_SERVER['HTTP_HOST'], 0, -4 );
+       // Given the domain and path, let's try to identify the network and site.
+       // Usually, it's easier to query the site first, which declares its network.
+       // In limited situations, though, we either can or must find the network first.
+
+       $domain = strtolower( stripslashes( $_SERVER['HTTP_HOST'] ) );
+       if ( substr( $domain, -3 ) == ':80' ) {
+               $domain = substr( $domain, 0, -3 );
+               $_SERVER['HTTP_HOST'] = substr( $_SERVER['HTTP_HOST'], 0, -3 );
+       } elseif ( substr( $domain, -4 ) == ':443' ) {
+               $domain = substr( $domain, 0, -4 );
+               $_SERVER['HTTP_HOST'] = substr( $_SERVER['HTTP_HOST'], 0, -4 );
+       }
+
+       $path = strtolower( stripslashes( $_SERVER['REQUEST_URI'] ) );
+       if ( is_admin() ) {
+               $path = preg_replace( '#(.*)/wp-admin/.*#', '$1/', $path );
+       }
+       list( $path ) = explode( '?', $path );
+
+       // If the network is defined in wp-config.php, we can simply use that.
+       if ( defined( 'DOMAIN_CURRENT_SITE' ) && defined( 'PATH_CURRENT_SITE' ) ) {
+               $current_site = new stdClass;
+               $current_site->id = defined( 'SITE_ID_CURRENT_SITE' ) ? SITE_ID_CURRENT_SITE : 1;
+               $current_site->domain = DOMAIN_CURRENT_SITE;
+               $current_site->path = PATH_CURRENT_SITE;
+               if ( defined( 'BLOG_ID_CURRENT_SITE' ) ) {
+                       $current_site->blog_id = BLOG_ID_CURRENT_SITE;
+               } elseif ( defined( 'BLOGID_CURRENT_SITE' ) ) { // deprecated.
+                       $current_site->blog_id = BLOGID_CURRENT_SITE;
+               }
+
+               if ( $current_site->domain === $domain && $current_site->path === $path ) {
+                       $current_blog = get_site_by_path( $domain, $path );
+               } elseif ( '/' !== $current_site->path && $current_site->domain === $domain && 0 === strpos( $path, $current_site->path ) ) {
+                       // If the current network has a path and also matches the domain and path of the request,
+                       // we need to look for a site using the first path segment following the network's path.
+                       $current_blog = get_site_by_path( $domain, $path, 1 + count( explode( '/', trim( $current_site->path, '/' ) ) ) );
                } else {
-                       wp_load_translations_early();
-                       wp_die( __( 'Multisite only works without the port number in the URL.' ) );
+                       // Otherwise, use the first path segment (as usual).
+                       $current_blog = get_site_by_path( $domain, $path, 1 );
                }
-       }
 
-       $domain = rtrim( $domain, '.' );
-       $cookie_domain = $domain;
-       if ( substr( $cookie_domain, 0, 4 ) == 'www.' )
-               $cookie_domain = substr( $cookie_domain, 4 );
-
-       $path = preg_replace( '|([a-z0-9-]+.php.*)|', '', $_SERVER['REQUEST_URI'] );
-       $path = str_replace ( '/wp-admin/', '/', $path );
-       $path = preg_replace( '|(/[a-z0-9-]+?/).*|', '$1', $path );
-
-       $current_site = wpmu_current_site();
-       if ( ! isset( $current_site->blog_id ) )
-               $current_site->blog_id = $wpdb->get_var( $wpdb->prepare( "SELECT blog_id FROM $wpdb->blogs WHERE domain = %s AND path = %s", $current_site->domain, $current_site->path ) );
-
-       if ( is_subdomain_install() ) {
-               $current_blog = wp_cache_get( 'current_blog_' . $domain, 'site-options' );
-               if ( !$current_blog ) {
-                       $current_blog = get_blog_details( array( 'domain' => $domain ), false );
-                       if ( $current_blog )
-                               wp_cache_set( 'current_blog_' . $domain, $current_blog, 'site-options' );
+       } elseif ( ! is_subdomain_install() ) {
+               /*
+                * A "subdomain" install can be re-interpreted to mean "can support any domain".
+                * If we're not dealing with one of these installs, then the important part is determining
+                * the network first, because we need the network's path to identify any sites.
+                */
+               if ( ! $current_site = wp_cache_get( 'current_network', 'site-options' ) ) {
+                       // Are there even two networks installed?
+                       $one_network = $wpdb->get_row( "SELECT * FROM $wpdb->site LIMIT 2" ); // [sic]
+                       if ( 1 === $wpdb->num_rows ) {
+                               $current_site = wp_get_network( $one_network );
+                               wp_cache_add( 'current_network', $current_site, 'site-options' );
+                       } elseif ( 0 === $wpdb->num_rows ) {
+                               ms_not_installed();
+                       }
+               }
+               if ( empty( $current_site ) ) {
+                       $current_site = get_network_by_path( $domain, $path, 1 );
+               }
+
+               if ( empty( $current_site ) ) {
+                       ms_not_installed();
+               } elseif ( $path === $current_site->path ) {
+                       $current_blog = get_site_by_path( $domain, $path );
+               } else {
+                       // Search the network path + one more path segment (on top of the network path).
+                       $current_blog = get_site_by_path( $domain, $path, substr_count( $current_site->path, '/' ) );
                }
-               if ( $current_blog && $current_blog->site_id != $current_site->id ) {
-                       $current_site = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->site WHERE id = %d", $current_blog->site_id ) );
-                       if ( ! isset( $current_site->blog_id ) )
-                               $current_site->blog_id = $wpdb->get_var( $wpdb->prepare( "SELECT blog_id FROM $wpdb->blogs WHERE domain = %s AND path = %s", $current_site->domain, $current_site->path ) );
-               } else
-                       $blogname = substr( $domain, 0, strpos( $domain, '.' ) );
        } else {
-               $blogname = htmlspecialchars( substr( $_SERVER[ 'REQUEST_URI' ], strlen( $path ) ) );
-               if ( false !== strpos( $blogname, '/' ) )
-                       $blogname = substr( $blogname, 0, strpos( $blogname, '/' ) );
-               if ( false !== strpos( $blogname, '?' ) )
-                       $blogname = substr( $blogname, 0, strpos( $blogname, '?' ) );
-               $reserved_blognames = array( 'page', 'comments', 'blog', 'wp-admin', 'wp-includes', 'wp-content', 'files', 'feed' );
-               if ( $blogname != '' && ! in_array( $blogname, $reserved_blognames ) && ! is_file( $blogname ) )
-                       $path .= $blogname . '/';
-               $current_blog = wp_cache_get( 'current_blog_' . $domain . $path, 'site-options' );
-               if ( ! $current_blog ) {
-                       $current_blog = get_blog_details( array( 'domain' => $domain, 'path' => $path ), false );
-                       if ( $current_blog )
-                               wp_cache_set( 'current_blog_' . $domain . $path, $current_blog, 'site-options' );
+               // Find the site by the domain and at most the first path segment.
+               $current_blog = get_site_by_path( $domain, $path, 1 );
+               if ( $current_blog ) {
+                       $current_site = wp_get_network( $current_blog->site_id ? $current_blog->site_id : 1 );
+               } else {
+                       // If you don't have a site with the same domain/path as a network, you're pretty screwed, but:
+                       $current_site = get_network_by_path( $domain, $path, 1 );
                }
-               unset($reserved_blognames);
        }
 
-       if ( ! defined( 'WP_INSTALLING' ) && is_subdomain_install() && ! is_object( $current_blog ) ) {
-               if ( defined( 'NOBLOGREDIRECT' ) ) {
-                       $destination = NOBLOGREDIRECT;
-                       if ( '%siteurl%' == $destination )
-                               $destination = "http://" . $current_site->domain . $current_site->path;
-               } else {
-                       $destination = 'http://' . $current_site->domain . $current_site->path . 'wp-signup.php?new=' . str_replace( '.' . $current_site->domain, '', $domain );
+       // The network declared by the site trumps any constants.
+       if ( $current_blog && $current_blog->site_id != $current_site->id ) {
+               $current_site = wp_get_network( $current_blog->site_id );
+       }
+
+       // No network has been found, bail.
+       if ( empty( $current_site ) ) {
+               ms_not_installed();
+       }
+
+       // @todo Investigate when exactly this can occur.
+       if ( empty( $current_blog ) && defined( 'WP_INSTALLING' ) ) {
+               $current_blog = new stdClass;
+               $current_blog->blog_id = $blog_id = 1;
+       }
+
+       // No site has been found, bail.
+       if ( empty( $current_blog ) ) {
+               // We're going to redirect to the network URL, with some possible modifications.
+               $scheme = is_ssl() ? 'https' : 'http';
+               $destination = "$scheme://{$current_site->domain}{$current_site->path}";
+
+               /**
+                * Fires when a network can be determined but a site cannot.
+                *
+                * At the time of this action, the only recourse is to redirect somewhere
+                * and exit. If you want to declare a particular site, do so earlier.
+                *
+                * @since 3.9.0
+                *
+                * @param object $current_site The network that had been determined.
+                * @param string $domain       The domain used to search for a site.
+                * @param string $path         The path used to search for a site.
+                */
+               do_action( 'ms_site_not_found', $current_site, $domain, $path );
+
+               if ( is_subdomain_install() && ! defined( 'NOBLOGREDIRECT' ) ) {
+                       // For a "subdomain" install, redirect to the signup form specifically.
+                       $destination .= 'wp-signup.php?new=' . str_replace( '.' . $current_site->domain, '', $domain );
+               } elseif ( is_subdomain_install() ) {
+                       // For a "subdomain" install, the NOBLOGREDIRECT constant
+                       // can be used to avoid a redirect to the signup form.
+                       // Using the ms_site_not_found action is preferred to the constant.
+                       if ( '%siteurl%' !== NOBLOGREDIRECT ) {
+                               $destination = NOBLOGREDIRECT;
+                       }
+               } elseif ( 0 === strcasecmp( $current_site->domain, $domain ) ) {
+                       /*
+                        * If the domain we were searching for matches the network's domain,
+                        * it's no use redirecting back to ourselves -- it'll cause a loop.
+                        * As we couldn't find a site, we're simply not installed.
+                        */
+                       ms_not_installed();
                }
+
                header( 'Location: ' . $destination );
-               die();
+               exit;
        }
 
-       if ( ! defined( 'WP_INSTALLING' ) ) {
-               if ( $current_site && ! $current_blog ) {
-                       if ( $current_site->domain != $_SERVER[ 'HTTP_HOST' ] ) {
-                               header( 'Location: http://' . $current_site->domain . $current_site->path );
-                               exit;
-                       }
-                       $current_blog = get_blog_details( array( 'domain' => $current_site->domain, 'path' => $current_site->path ), false );
+       // @todo What if the domain of the network doesn't match the current site?
+       $current_site->cookie_domain = $current_site->domain;
+       if ( 'www.' === substr( $current_site->cookie_domain, 0, 4 ) ) {
+               $current_site->cookie_domain = substr( $current_site->cookie_domain, 4 );
+       }
+
+       // Figure out the current network's main site.
+       if ( ! isset( $current_site->blog_id ) ) {
+               if ( $current_blog->domain === $current_site->domain && $current_blog->path === $current_site->path ) {
+                       $current_site->blog_id = $current_blog->blog_id;
+               } elseif ( ! $current_site->blog_id = wp_cache_get( 'network:' . $current_site->id . ':main_site', 'site-options' ) ) {
+                       $current_site->blog_id = $wpdb->get_var( $wpdb->prepare( "SELECT blog_id FROM $wpdb->blogs WHERE domain = %s AND path = %s",
+                               $current_site->domain, $current_site->path ) );
+                       wp_cache_add( 'network:' . $current_site->id . ':main_site', $current_site->blog_id, 'site-options' );
                }
-               if ( ! $current_blog || ! $current_site )
-                       ms_not_installed();
        }
 
        $blog_id = $current_blog->blog_id;
        $public  = $current_blog->public;
 
-       if ( empty( $current_blog->site_id ) )
+       if ( empty( $current_blog->site_id ) ) {
+               // This dates to [MU134] and shouldn't be relevant anymore,
+               // but it could be possible for arguments passed to insert_blog() etc.
                $current_blog->site_id = 1;
-       $site_id = $current_blog->site_id;
-
-       $current_site = get_current_site_name( $current_site );
-
-       if ( ! $blog_id ) {
-               if ( defined( 'WP_INSTALLING' ) ) {
-                       $current_blog->blog_id = $blog_id = 1;
-               } else {
-                       wp_load_translations_early();
-                       $msg = ! $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->site'" ) ? ' ' . __( 'Database tables are missing.' ) : '';
-                       wp_die( __( 'No site by that name on this system.' ) . $msg );
-               }
        }
+
+       $site_id = $current_blog->site_id;
+       wp_load_core_site_options( $site_id );
 }
+
 $wpdb->set_prefix( $table_prefix, false ); // $table_prefix can be set in sunrise.php
 $wpdb->set_blog_id( $current_blog->blog_id, $current_blog->site_id );
 $table_prefix = $wpdb->get_blog_prefix();
@@ -132,5 +201,12 @@ $switched = false;
 // need to init cache again after blog_id is set
 wp_start_object_cache();
 
+if ( ! isset( $current_site->site_name ) ) {
+       $current_site->site_name = get_site_option( 'site_name' );
+       if ( ! $current_site->site_name ) {
+               $current_site->site_name = ucfirst( $current_site->domain );
+       }
+}
+
 // Define upload directory constants
 ms_upload_constants();
index 7aceb8f67a35ca33ef83eb87e236dd25294ecf0e..b1b8db1ed5bbd158470d0ba210be7cb56f277322 100644 (file)
@@ -10,7 +10,6 @@
 /**
  * Create HTML list of nav menu items.
  *
- * @package WordPress
  * @since 3.0.0
  * @uses Walker
  */
@@ -82,7 +81,7 @@ class Walker_Nav_Menu extends Walker {
        function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
                $indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
 
-               $class_names = $value = '';
+               $class_names = '';
 
                $classes = empty( $item->classes ) ? array() : (array) $item->classes;
                $classes[] = 'menu-item-' . $item->ID;
@@ -92,9 +91,11 @@ class Walker_Nav_Menu extends Walker {
                 *
                 * @since 3.0.0
                 *
+                * @see wp_nav_menu()
+                *
                 * @param array  $classes The CSS classes that are applied to the menu item's <li>.
                 * @param object $item    The current menu item.
-                * @param array  $args    An array of arguments. @see wp_nav_menu()
+                * @param array  $args    An array of wp_nav_menu() arguments.
                 */
                $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) );
                $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
@@ -104,14 +105,16 @@ class Walker_Nav_Menu extends Walker {
                 *
                 * @since 3.0.1
                 *
-                * @param string The ID that is applied to the menu item's <li>.
-                * @param object $item The current menu item.
-                * @param array $args An array of arguments. @see wp_nav_menu()
+                * @see wp_nav_menu()
+                *
+                * @param string $menu_id The ID that is applied to the menu item's <li>.
+                * @param object $item    The current menu item.
+                * @param array  $args    An array of wp_nav_menu() arguments.
                 */
                $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args );
                $id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
 
-               $output .= $indent . '<li' . $id . $value . $class_names .'>';
+               $output .= $indent . '<li' . $id . $class_names .'>';
 
                $atts = array();
                $atts['title']  = ! empty( $item->attr_title ) ? $item->attr_title : '';
@@ -124,16 +127,18 @@ class Walker_Nav_Menu extends Walker {
                 *
                 * @since 3.6.0
                 *
+                * @see wp_nav_menu()
+                *
                 * @param array $atts {
                 *     The HTML attributes applied to the menu item's <a>, empty strings are ignored.
                 *
-                *     @type string $title  The title attribute.
-                *     @type string $target The target attribute.
+                *     @type string $title  Title attribute.
+                *     @type string $target Target attribute.
                 *     @type string $rel    The rel attribute.
                 *     @type string $href   The href attribute.
                 * }
                 * @param object $item The current menu item.
-                * @param array  $args An array of arguments. @see wp_nav_menu()
+                * @param array  $args An array of wp_nav_menu() arguments.
                 */
                $atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args );
 
@@ -161,10 +166,12 @@ class Walker_Nav_Menu extends Walker {
                 *
                 * @since 3.0.0
                 *
+                * @see wp_nav_menu()
+                *
                 * @param string $item_output The menu item's starting HTML output.
                 * @param object $item        Menu item data object.
                 * @param int    $depth       Depth of menu item. Used for padding.
-                * @param array  $args        An array of arguments. @see wp_nav_menu()
+                * @param array  $args        An array of wp_nav_menu() arguments.
                 */
                $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
        }
@@ -190,28 +197,33 @@ class Walker_Nav_Menu extends Walker {
 /**
  * Displays a navigation menu.
  *
- * Optional $args contents:
- *
- * menu - The menu that is desired. Accepts (matching in order) id, slug, name. Defaults to blank.
- * menu_class - CSS class to use for the ul element which forms the menu. Defaults to 'menu'.
- * menu_id - The ID that is applied to the ul element which forms the menu. Defaults to the menu slug, incremented.
- * container - Whether to wrap the ul, and what to wrap it with. Defaults to 'div'.
- * container_class - the class that is applied to the container. Defaults to 'menu-{menu slug}-container'.
- * container_id - The ID that is applied to the container. Defaults to blank.
- * fallback_cb - If the menu doesn't exists, a callback function will fire. Defaults to 'wp_page_menu'. Set to false for no fallback.
- * before - Text before the link text.
- * after - Text after the link text.
- * link_before - Text before the link.
- * link_after - Text after the link.
- * echo - Whether to echo the menu or return it. Defaults to echo.
- * depth - how many levels of the hierarchy are to be included. 0 means all. Defaults to 0.
- * walker - allows a custom walker to be specified.
- * theme_location - the location in the theme to be used. Must be registered with register_nav_menu() in order to be selectable by the user.
- * items_wrap - How the list items should be wrapped. Defaults to a ul with an id and class. Uses printf() format with numbered placeholders.
- *
  * @since 3.0.0
  *
- * @param array $args Arguments
+ * @param array $args {
+ *     Optional. Array of nav menu arguments.
+ *
+ *     @type string        $menu            Desired menu. Accepts (matching in order) id, slug, name. Default empty.
+ *     @type string        $menu_class      CSS class to use for the ul element which forms the menu. Default 'menu'.
+ *     @type string        $menu_id         The ID that is applied to the ul element which forms the menu.
+ *                                          Default is the menu slug, incremented.
+ *     @type string        $container       Whether to wrap the ul, and what to wrap it with. Default 'div'.
+ *     @type string        $container_class Class that is applied to the container. Default 'menu-{menu slug}-container'.
+ *     @type string        $container_id    The ID that is applied to the container. Default empty.
+ *     @type callback|bool $fallback_cb     If the menu doesn't exists, a callback function will fire.
+ *                                          Default is 'wp_page_menu'. Set to false for no fallback.
+ *     @type string        $before          Text before the link text. Default empty.
+ *     @type string        $after           Text after the link text. Default empty.
+ *     @type string        $link_before     Text before the link. Default empty.
+ *     @type string        $link_after      Text after the link. Default empty.
+ *     @type bool          $echo            Whether to echo the menu or return it. Default true.
+ *     @type int           $depth           How many levels of the hierarchy are to be included. 0 means all. Default 0.
+ *     @type string        $walker          Allows a custom walker class to be specified. Default empty.
+ *     @type string        $theme_location  Theme location to be used. Must be registered with register_nav_menu()
+ *                                          in order to be selectable by the user.
+ *     @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.
  */
 function wp_nav_menu( $args = array() ) {
        static $menu_id_slugs = array();
@@ -226,11 +238,38 @@ function wp_nav_menu( $args = array() ) {
         *
         * @since 3.0.0
         *
-        * @param array $args Arguments from {@see wp_nav_menu()}.
+        * @see wp_nav_menu()
+        *
+        * @param array $args Array of wp_nav_menu() arguments.
         */
        $args = apply_filters( 'wp_nav_menu_args', $args );
        $args = (object) $args;
 
+       /**
+        * Filter whether to short-circuit the wp_nav_menu() output.
+        *
+        * Returning a non-null value to the filter will short-circuit
+        * wp_nav_menu(), echoing that value if $args->echo is true,
+        * returning that value otherwise.
+        *
+        * @since 3.9.0
+        *
+        * @see wp_nav_menu()
+        *
+        * @param string|null $output Nav menu output to short-circuit with. Default null.
+        * @param object      $args   An object containing wp_nav_menu() arguments.
+        */
+       $nav_menu = apply_filters( 'pre_wp_nav_menu', null, $args );
+
+       if ( null !== $nav_menu ) {
+               if ( $args->echo ) {
+                       echo $nav_menu;
+                       return;
+               }
+
+               return $nav_menu;
+       }
+
        // Get the nav menu based on the requested menu
        $menu = wp_get_nav_menu_object( $args->menu );
 
@@ -277,7 +316,8 @@ function wp_nav_menu( $args = array() ) {
                 *
                 * @since 3.0.0
                 *
-                * @param array The acceptable HTML tags for use as menu containers, defaults as 'div' and 'nav'.
+                * @param array $tags The acceptable HTML tags for use as menu containers.
+                *                    Default is array containing 'div' and 'nav'.
                 */
                $allowed_tags = apply_filters( 'wp_nav_menu_container_allowedtags', array( 'div', 'nav' ) );
                if ( in_array( $args->container, $allowed_tags ) ) {
@@ -341,8 +381,10 @@ function wp_nav_menu( $args = array() ) {
         *
         * @since 3.0.0
         *
+        * @see wp_nav_menu()
+        *
         * @param string $items The HTML list content for the menu items.
-        * @param array $args Arguments from {@see wp_nav_menu()}.
+        * @param array  $args  Array of wp_nav_menu() arguments.
         */
        $items = apply_filters( 'wp_nav_menu_items', $items, $args );
        /**
@@ -350,8 +392,10 @@ function wp_nav_menu( $args = array() ) {
         *
         * @since 3.0.0
         *
+        * @see wp_nav_menu()
+        *
         * @param string $items The HTML list content for the menu items.
-        * @param array $args Arguments from {@see wp_nav_menu()}.
+        * @param array  $args  Array of wp_nav_menu() arguments.
         */
        $items = apply_filters( "wp_nav_menu_{$menu->slug}_items", $items, $args );
 
@@ -370,8 +414,10 @@ function wp_nav_menu( $args = array() ) {
         *
         * @since 3.0.0
         *
+        * @see wp_nav_menu()
+        *
         * @param string $nav_menu The HTML content for the navigation menu.
-        * @param array $args Arguments from {@see wp_nav_menu()}.
+        * @param array  $args     Array of wp_nav_menu() arguments.
         */
        $nav_menu = apply_filters( 'wp_nav_menu', $nav_menu, $args );
 
@@ -385,7 +431,7 @@ function wp_nav_menu( $args = array() ) {
  * Add the class property classes for the current context, if applicable.
  *
  * @access private
- * @since 3.0
+ * @since 3.0.0
  *
  * @param array $menu_items The current menu item objects to which to add the class property information.
  */
index cf9ac1427e5efd1b06d2460f88aefc2b70d6f1bf..46a6b2b7f7f37f3cfbe4f2cf19df14aec4c853a4 100644 (file)
@@ -90,6 +90,9 @@ function unregister_nav_menu( $location ) {
 
        if ( is_array( $_wp_registered_nav_menus ) && isset( $_wp_registered_nav_menus[$location] ) ) {
                unset( $_wp_registered_nav_menus[$location] );
+               if ( empty( $_wp_registered_nav_menus ) ) {
+                       _remove_theme_support( 'menus' );
+               }
                return true;
        }
        return false;
@@ -198,6 +201,14 @@ function wp_delete_nav_menu( $menu ) {
        set_theme_mod( 'nav_menu_locations', $locations );
 
        if ( $result && !is_wp_error($result) )
+
+               /**
+                * Fires after a navigation menu has been successfully deleted.
+                *
+                * @since 3.0.0
+                *
+                * @param int $term_id ID of the deleted menu.
+                */
                do_action( 'wp_delete_nav_menu', $menu->term_id );
 
        return $result;
@@ -210,7 +221,7 @@ function wp_delete_nav_menu( $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|error object The menu's ID or WP_Error object.
+ * @return int|WP_Error object The menu's ID or WP_Error object.
  */
 function wp_update_nav_menu_object( $menu_id = 0, $menu_data = array() ) {
        $menu_id = (int) $menu_id;
@@ -246,6 +257,14 @@ function wp_update_nav_menu_object( $menu_id = 0, $menu_data = array() ) {
                if ( is_wp_error( $_menu ) )
                        return $_menu;
 
+               /**
+                * Fires after a navigation menu is successfully created.
+                *
+                * @since 3.0.0
+                *
+                * @param int   $term_id   ID of the new menu.
+                * @param array $menu_data An array of menu data.
+                */
                do_action( 'wp_create_nav_menu', $_menu['term_id'], $menu_data );
 
                return (int) $_menu['term_id'];
@@ -261,6 +280,14 @@ function wp_update_nav_menu_object( $menu_id = 0, $menu_data = array() ) {
        if ( is_wp_error( $update_response ) )
                return $update_response;
 
+       /**
+        * Fires after a navigation menu has been successfully updated.
+        *
+        * @since 3.0.0
+        *
+        * @param int   $menu_id   ID of the updated menu.
+        * @param array $menu_data An array of menu data.
+        */
        do_action( 'wp_update_nav_menu', $menu_id, $menu_data );
        return $menu_id;
 }
@@ -273,7 +300,7 @@ function wp_update_nav_menu_object( $menu_id = 0, $menu_data = array() ) {
  * @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 The menu item's database ID or WP_Error object on failure.
+ * @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() ) {
        $menu_id = (int) $menu_id;
@@ -281,12 +308,17 @@ function wp_update_nav_menu_item( $menu_id = 0, $menu_item_db_id = 0, $menu_item
 
        // make sure that we don't convert non-nav_menu_item objects into nav_menu_item objects
        if ( ! empty( $menu_item_db_id ) && ! is_nav_menu_item( $menu_item_db_id ) )
-               return new WP_Error('update_nav_menu_item_failed', __('The given object ID is not that of a menu item.'));
+               return new WP_Error( 'update_nav_menu_item_failed', __( 'The given object ID is not that of a menu item.' ) );
 
        $menu = wp_get_nav_menu_object( $menu_id );
 
-       if ( ( ! $menu && 0 !== $menu_id ) || is_wp_error( $menu ) )
+       if ( ! $menu && 0 !== $menu_id ) {
+               return new WP_Error( 'invalid_menu_id', __( 'Invalid menu ID.' ) );
+       }
+
+       if ( is_wp_error( $menu ) ) {
                return $menu;
+       }
 
        $defaults = array(
                'menu-item-db-id' => $menu_item_db_id,
@@ -357,10 +389,6 @@ function wp_update_nav_menu_item( $menu_id = 0, $menu_item_db_id = 0, $menu_item
 
        $update = 0 != $menu_item_db_id;
 
-       // Only set the menu term if it isn't set to avoid unnecessary wp_get_object_terms()
-       if ( $menu_id && ( ! $update || ! is_object_in_term( $menu_item_db_id, 'nav_menu', (int) $menu->term_id ) ) )
-               $post['tax_input'] = array( 'nav_menu' => array( intval( $menu->term_id ) ) );
-
        // New menu item. Default is draft status
        if ( ! $update ) {
                $post['ID'] = 0;
@@ -370,6 +398,12 @@ function wp_update_nav_menu_item( $menu_id = 0, $menu_item_db_id = 0, $menu_item
                        return $menu_item_db_id;
        }
 
+       // Associate the menu item with the menu term
+       // Only set the menu term if it isn't set to avoid unnecessary wp_get_object_terms()
+        if ( $menu_id && ( ! $update || ! is_object_in_term( $menu_item_db_id, 'nav_menu', (int) $menu->term_id ) ) ) {
+               wp_set_object_terms( $menu_item_db_id, array( $menu->term_id ), 'nav_menu' );
+       }
+
        if ( 'custom' == $args['menu-item-type'] ) {
                $args['menu-item-object-id'] = $menu_item_db_id;
                $args['menu-item-object'] = 'custom';
@@ -401,7 +435,18 @@ function wp_update_nav_menu_item( $menu_id = 0, $menu_item_db_id = 0, $menu_item
                wp_update_post( $post );
        }
 
-       do_action('wp_update_nav_menu_item', $menu_id, $menu_item_db_id, $args );
+       /**
+        * Fires after a navigation menu item has been updated.
+        *
+        * @since 3.0.0
+        *
+        * @see wp_update_nav_menu_items()
+        *
+        * @param int   $menu_id         ID of the updated menu.
+        * @param int   $menu_item_db_id ID of the updated menu item.
+        * @param array $args            An array of arguments used to update a menu item.
+        */
+       do_action( 'wp_update_nav_menu_item', $menu_id, $menu_item_db_id, $args );
 
        return $menu_item_db_id;
 }
@@ -417,6 +462,17 @@ function wp_update_nav_menu_item( $menu_id = 0, $menu_item_db_id = 0, $menu_item
 function wp_get_nav_menus( $args = array() ) {
        $defaults = array( 'hide_empty' => false, 'orderby' => 'none' );
        $args = wp_parse_args( $args, $defaults );
+
+       /**
+        * Filter the navigation menu objects being returned.
+        *
+        * @since 3.0.0
+        *
+        * @see get_terms()
+        *
+        * @param array $menus An array of menu objects.
+        * @param array $args  An array of arguments used to retrieve menu objects.
+        */
        return apply_filters( 'wp_get_nav_menus', get_terms( 'nav_menu',  $args), $args );
 }
 
@@ -546,6 +602,15 @@ function wp_get_nav_menu_items( $menu, $args = array() ) {
                }
        }
 
+       /**
+        * Filter the navigation menu items being returned.
+        *
+        * @since 3.0.0
+        *
+        * @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 apply_filters( 'wp_get_nav_menu_items',  $items, $menu, $args );
 }
 
@@ -622,10 +687,25 @@ function wp_setup_nav_menu_item( $menu_item ) {
 
                        $menu_item->target = empty( $menu_item->target ) ? get_post_meta( $menu_item->ID, '_menu_item_target', true ) : $menu_item->target;
 
+                       /**
+                        * Filter a navigation menu item's title attribute.
+                        *
+                        * @since 3.0.0
+                        *
+                        * @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;
 
-                       if ( empty( $menu_item->description ) )
-                               $menu_item->description = apply_filters( 'nav_menu_description',  wp_trim_words( $menu_item->post_content, 200 ) );
+                       if ( empty( $menu_item->description ) ) {
+                               /**
+                                * Filter a navigation menu item's description.
+                                *
+                                * @since 3.0.0
+                                *
+                                * @param string $description The menu item description.
+                                */
+                               $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;
@@ -646,7 +726,10 @@ function wp_setup_nav_menu_item( $menu_item ) {
                        $menu_item->url = get_permalink( $menu_item->ID );
                        $menu_item->target = '';
 
+                       /** This filter is documented in wp-includes/nav-menu.php */
                        $menu_item->attr_title = apply_filters( 'nav_menu_attr_title', '' );
+
+                       /** This filter is documented in wp-includes/nav-menu.php */
                        $menu_item->description = apply_filters( 'nav_menu_description', '' );
                        $menu_item->classes = array();
                        $menu_item->xfn = '';
@@ -673,6 +756,13 @@ function wp_setup_nav_menu_item( $menu_item ) {
 
        }
 
+       /**
+        * Filter a navigation menu item object.
+        *
+        * @since 3.0.0
+        *
+        * @param object $menu_item The menu item object.
+        */
        return apply_filters( 'wp_setup_nav_menu_item', $menu_item );
 }
 
@@ -702,11 +792,19 @@ function wp_get_associated_nav_menu_items( $object_id = 0, $object_type = 'post_
        );
        foreach( (array) $menu_items as $menu_item ) {
                if ( isset( $menu_item->ID ) && is_nav_menu_item( $menu_item->ID ) ) {
-                       if ( get_post_meta( $menu_item->ID, '_menu_item_type', true ) !== $object_type ||
-                               get_post_meta( $menu_item->ID, '_menu_item_object', true ) !== $taxonomy )
-                               continue;
-
-                       $menu_item_ids[] = (int) $menu_item->ID;
+                       $menu_item_type = get_post_meta( $menu_item->ID, '_menu_item_type', true );
+                       if (
+                               'post_type' == $object_type &&
+                               'post_type' == $menu_item_type
+                       ) {
+                               $menu_item_ids[] = (int) $menu_item->ID;
+                       } else if (
+                               'taxonomy' == $object_type &&
+                               'taxonomy' == $menu_item_type &&
+                               get_post_meta( $menu_item->ID, '_menu_item_object', true ) == $taxonomy
+                       ) {
+                               $menu_item_ids[] = (int) $menu_item->ID;
+                       }
                }
        }
 
index ec30231d5ebae0b481ee00a0e689cd05cb3c94cc..4cc8c28fa01e3e788bc9aa7016f77dca07a18b08 100644 (file)
@@ -3,6 +3,7 @@
  * Option API
  *
  * @package WordPress
+ * @subpackage Option
  */
 
 /**
  * If the option was serialized then it will be unserialized when it is returned.
  *
  * @since 1.5.0
- * @package WordPress
- * @subpackage Option
- * @uses apply_filters() Calls 'pre_option_$option' before checking the option.
- *     Any value other than false will "short-circuit" the retrieval of the option
- *     and return the returned value. You should not try to override special options,
- *     but you will not be prevented from doing so.
- * @uses apply_filters() Calls 'option_$option', after checking the option, with
- *     the option value.
  *
  * @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.
@@ -36,7 +29,19 @@ function get_option( $option, $default = false ) {
        if ( empty( $option ) )
                return false;
 
-       // Allow plugins to short-circuit options.
+       /**
+        * Filter the value of an existing option before it is retrieved.
+        *
+        * The dynamic portion of the hook name, $option, refers to the option name.
+        *
+        * Passing a truthy value to the filter will short-circuit retrieving
+        * the option value, returning the passed value instead.
+        *
+        * @since 1.5.0
+        *
+        * @param bool|mixed $pre_option Value to return instead of the option value.
+        *                               Default false to skip it.
+        */
        $pre = apply_filters( 'pre_option_' . $option, false );
        if ( false !== $pre )
                return $pre;
@@ -48,6 +53,18 @@ function get_option( $option, $default = false ) {
                // prevent non-existent options from triggering multiple queries
                $notoptions = wp_cache_get( 'notoptions', 'options' );
                if ( isset( $notoptions[$option] ) )
+
+                       /**
+                        * Filter the default value for an option.
+                        *
+                        * The dynamic portion of the hook name, $option, refers
+                        * to the option name.
+                        *
+                        * @since 3.4.0
+                        *
+                        * @param mixed $default The default value to return if the option
+                        *                       does not exist in the database.
+                        */
                        return apply_filters( 'default_option_' . $option, $default );
 
                $alloptions = wp_load_alloptions();
@@ -67,6 +84,8 @@ function get_option( $option, $default = false ) {
                                } else { // option does not exist, so we must cache its non-existence
                                        $notoptions[$option] = true;
                                        wp_cache_set( 'notoptions', $notoptions, 'options' );
+
+                                       /** This filter is documented in wp-includes/option.php */
                                        return apply_filters( 'default_option_' . $option, $default );
                                }
                        }
@@ -75,10 +94,12 @@ function get_option( $option, $default = false ) {
                $suppress = $wpdb->suppress_errors();
                $row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) );
                $wpdb->suppress_errors( $suppress );
-               if ( is_object( $row ) )
+               if ( is_object( $row ) ) {
                        $value = $row->option_value;
-               else
+               } else {
+                       /** This filter is documented in wp-includes/option.php */
                        return apply_filters( 'default_option_' . $option, $default );
+               }
        }
 
        // If home is not set use siteurl.
@@ -88,6 +109,17 @@ function get_option( $option, $default = false ) {
        if ( in_array( $option, array('siteurl', 'home', 'category_base', 'tag_base') ) )
                $value = untrailingslashit( $value );
 
+       /**
+        * Filter the value of an existing option.
+        *
+        * The dynamic portion of the hook name, $option, refers to the option name.
+        *
+        * @since 1.5.0 As 'option_' . $setting
+        * @since 3.0.0
+        *
+        * @param mixed $value Value of the option. If stored serialized, it will be
+        *                     unserialized prior to being returned.
+        */
        return apply_filters( 'option_' . $option, maybe_unserialize( $value ) );
 }
 
@@ -98,8 +130,6 @@ function get_option( $option, $default = false ) {
  * and 'notoptions' options.
  *
  * @since 2.2.0
- * @package WordPress
- * @subpackage Option
  *
  * @param string $option Option name.
  */
@@ -113,8 +143,6 @@ function wp_protect_special_option( $option ) {
  *
  * @uses attr Sanitizes value.
  * @since 1.5.0
- * @package WordPress
- * @subpackage Option
  *
  * @param string $option Option name.
  */
@@ -126,8 +154,6 @@ function form_option( $option ) {
  * Loads and caches all autoloaded options, if available or all options.
  *
  * @since 2.2.0
- * @package WordPress
- * @subpackage Option
  *
  * @return array List of all options.
  */
@@ -159,8 +185,6 @@ function wp_load_alloptions() {
  * Loads and caches certain often requested site options if is_multisite() and a persistent cache is not being used.
  *
  * @since 3.0.0
- * @package WordPress
- * @subpackage Option
  *
  * @param int $site_id Optional site ID for which to query the options. Defaults to the current site.
  */
@@ -199,13 +223,6 @@ function wp_load_core_site_options( $site_id = null ) {
  * to set whether an option is autoloaded, then you need to use the add_option().
  *
  * @since 1.0.0
- * @package WordPress
- * @subpackage Option
- *
- * @uses apply_filters() Calls 'pre_update_option_$option' hook to allow overwriting the
- *     option value to be stored.
- * @uses do_action() Calls 'update_option' hook before updating the option.
- * @uses do_action() Calls 'update_option_$option' and 'updated_option' hooks on success.
  *
  * @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.
@@ -225,8 +242,30 @@ function update_option( $option, $value ) {
 
        $value = sanitize_option( $option, $value );
        $old_value = get_option( $option );
+
+       /**
+        * Filter a specific option before its value is (maybe) serialized and updated.
+        *
+        * The dynamic portion of the hook name, $option, refers to the option name.
+        *
+        * @since 2.6.0
+        *
+        * @param mixed $value     The new, unserialized option value.
+        * @param mixed $old_value The old option value.
+        */
        $value = apply_filters( 'pre_update_option_' . $option, $value, $old_value );
 
+       /**
+        * Filter an option before its value is (maybe) serialized and updated.
+        *
+        * @since 3.9.0
+        *
+        * @param mixed  $value     The new, unserialized option value.
+        * @param string $option    Name of the option.
+        * @param mixed  $old_value The old option value.
+        */
+       $value = apply_filters( 'pre_update_option', $value, $option, $old_value );
+
        // If the new and old values are the same, no need to update.
        if ( $value === $old_value )
                return false;
@@ -236,7 +275,17 @@ function update_option( $option, $value ) {
 
        $serialized_value = maybe_serialize( $value );
 
+       /**
+        * Fires immediately before an option value is updated.
+        *
+        * @since 2.9.0
+        *
+        * @param string $option    Name of the option to update.
+        * @param mixed  $old_value The old option value.
+        * @param mixed  $value     The new option value.
+        */
        do_action( 'update_option', $option, $old_value, $value );
+
        $result = $wpdb->update( $wpdb->options, array( 'option_value' => $serialized_value ), array( 'option_name' => $option ) );
        if ( ! $result )
                return false;
@@ -257,7 +306,27 @@ function update_option( $option, $value ) {
                }
        }
 
+       /**
+        * Fires after the value of a specific option has been successfully updated.
+        *
+        * The dynamic portion of the hook name, $option, refers to the option name.
+        *
+        * @since 2.0.1
+        *
+        * @param mixed $old_value The old option value.
+        * @param mixed $value     The new option value.
+        */
        do_action( "update_option_{$option}", $old_value, $value );
+
+       /**
+        * Fires after the value of an option has been successfully updated.
+        *
+        * @since 2.9.0
+        *
+        * @param string $option    Name of the updated option.
+        * @param mixed  $old_value The old option value.
+        * @param mixed  $value     The new option value.
+        */
        do_action( 'updated_option', $option, $old_value, $value );
        return true;
 }
@@ -274,13 +343,8 @@ function update_option( $option, $value ) {
  * aren't adding a protected WordPress option. Care should be taken to not name
  * options the same as the ones which are protected.
  *
- * @package WordPress
- * @subpackage Option
  * @since 1.0.0
  *
- * @uses do_action() Calls 'add_option' hook before adding the option.
- * @uses do_action() Calls 'add_option_$option' and 'added_option' hooks on success.
- *
  * @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 mixed $deprecated Optional. Description. Not used anymore.
@@ -312,6 +376,15 @@ function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' )
 
        $serialized_value = maybe_serialize( $value );
        $autoload = ( 'no' === $autoload ) ? 'no' : 'yes';
+
+       /**
+        * Fires before an option is added.
+        *
+        * @since 2.9.0
+        *
+        * @param string $option Name of the option to add.
+        * @param mixed  $value  Value of the option.
+        */
        do_action( 'add_option', $option, $value );
 
        $result = $wpdb->query( $wpdb->prepare( "INSERT INTO `$wpdb->options` (`option_name`, `option_value`, `autoload`) VALUES (%s, %s, %s) ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)", $option, $serialized_value, $autoload ) );
@@ -335,7 +408,27 @@ function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' )
                wp_cache_set( 'notoptions', $notoptions, 'options' );
        }
 
+       /**
+        * Fires after a specific option has been added.
+        *
+        * The dynamic portion of the hook name, $option, refers to the option name.
+        *
+        * @since 2.5.0 As "add_option_{$name}"
+        * @since 3.0.0
+        *
+        * @param string $option Name of the option to add.
+        * @param mixed  $value  Value of the option.
+        */
        do_action( "add_option_{$option}", $option, $value );
+
+       /**
+        * Fires after an option has been added.
+        *
+        * @since 2.9.0
+        *
+        * @param string $option Name of the added option.
+        * @param mixed  $value  Value of the option.
+        */
        do_action( 'added_option', $option, $value );
        return true;
 }
@@ -343,13 +436,8 @@ function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' )
 /**
  * Removes option by name. Prevents removal of protected WordPress options.
  *
- * @package WordPress
- * @subpackage Option
  * @since 1.2.0
  *
- * @uses do_action() Calls 'delete_option' hook before option is deleted.
- * @uses do_action() Calls 'deleted_option' and 'delete_option_$option' hooks on success.
- *
  * @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.
  */
@@ -366,7 +454,16 @@ function delete_option( $option ) {
        $row = $wpdb->get_row( $wpdb->prepare( "SELECT autoload FROM $wpdb->options WHERE option_name = %s", $option ) );
        if ( is_null( $row ) )
                return false;
+
+       /**
+        * Fires immediately before an option is deleted.
+        *
+        * @since 2.9.0
+        *
+        * @param string $option Name of the option to delete.
+        */
        do_action( 'delete_option', $option );
+
        $result = $wpdb->delete( $wpdb->options, array( 'option_name' => $option ) );
        if ( ! defined( 'WP_INSTALLING' ) ) {
                if ( 'yes' == $row->autoload ) {
@@ -380,7 +477,25 @@ function delete_option( $option ) {
                }
        }
        if ( $result ) {
+
+               /**
+                * Fires after a specific option has been deleted.
+                *
+                * The dynamic portion of the hook name, $option, refers to the option name.
+                *
+                * @since 3.0.0
+                *
+                * @param string $option Name of the deleted option.
+                */
                do_action( "delete_option_$option", $option );
+
+               /**
+                * Fires after an option has been deleted.
+                *
+                * @since 2.9.0
+                *
+                * @param string $option Name of the deleted option.
+                */
                do_action( 'deleted_option', $option );
                return true;
        }
@@ -391,16 +506,21 @@ function delete_option( $option ) {
  * Delete a transient.
  *
  * @since 2.8.0
- * @package WordPress
- * @subpackage Transient
- *
- * @uses do_action() Calls 'delete_transient_$transient' hook before transient is deleted.
- * @uses do_action() Calls 'deleted_transient' hook on success.
  *
  * @param string $transient Transient name. Expected to not be SQL-escaped.
  * @return bool true if successful, false otherwise
  */
 function delete_transient( $transient ) {
+
+       /**
+        * Fires immediately before a specific transient is deleted.
+        *
+        * The dynamic portion of the hook name, $transient, refers to the transient name.
+        *
+        * @since 3.0.0
+        *
+        * @param string $transient Transient name.
+        */
        do_action( 'delete_transient_' . $transient, $transient );
 
        if ( wp_using_ext_object_cache() ) {
@@ -413,8 +533,18 @@ function delete_transient( $transient ) {
                        delete_option( $option_timeout );
        }
 
-       if ( $result )
+       if ( $result ) {
+
+               /**
+                * Fires after a transient is deleted.
+                *
+                * @since 3.0.0
+                *
+                * @param string $transient Deleted transient name.
+                */
                do_action( 'deleted_transient', $transient );
+       }
+
        return $result;
 }
 
@@ -424,20 +554,27 @@ function delete_transient( $transient ) {
  * If the transient does not exist or does not have a value, then the return value
  * will be false.
  *
- * @uses apply_filters() Calls 'pre_transient_$transient' hook before checking the transient.
- *     Any value other than false will "short-circuit" the retrieval of the transient
- *     and return the returned value.
- * @uses apply_filters() Calls 'transient_$option' hook, after checking the transient, with
- *     the transient value.
- *
  * @since 2.8.0
- * @package WordPress
- * @subpackage Transient
  *
  * @param string $transient Transient name. Expected to not be SQL-escaped
  * @return mixed Value of transient
  */
 function get_transient( $transient ) {
+
+       /**
+        * Filter the value of an existing transient.
+        *
+        * The dynamic portion of the hook name, $transient, refers to the transient name.
+        *
+        * Passing a truthy value to the filter will effectively short-circuit retrieval
+        * of the transient, returning the passed value instead.
+        *
+        * @since 2.8.0
+        *
+        * @param mixed $pre_transient The default value to return if the transient does not exist.
+        *                             Any value other than false will short-circuit the retrieval
+        *                             of the transient, and return the returned value.
+        */
        $pre = apply_filters( 'pre_transient_' . $transient, false );
        if ( false !== $pre )
                return $pre;
@@ -463,6 +600,15 @@ function get_transient( $transient ) {
                        $value = get_option( $transient_option );
        }
 
+       /**
+        * Filter an existing transient's value.
+        *
+        * The dynamic portion of the hook name, $transient, refers to the transient name.
+        *
+        * @since 2.8.0
+        *
+        * @param mixed $value Value of transient.
+        */
        return apply_filters( 'transient_' . $transient, $value );
 }
 
@@ -473,12 +619,6 @@ function get_transient( $transient ) {
  * it will be serialized before it is set.
  *
  * @since 2.8.0
- * @package WordPress
- * @subpackage Transient
- *
- * @uses apply_filters() Calls 'pre_set_transient_$transient' hook to allow overwriting the
- *     transient value to be stored.
- * @uses do_action() Calls 'set_transient_$transient' and 'setted_transient' hooks on success.
  *
  * @param string $transient Transient name. Expected to not be SQL-escaped.
  * @param mixed $value Transient value. Must be serializable if non-scalar. Expected to not be SQL-escaped.
@@ -486,7 +626,18 @@ function get_transient( $transient ) {
  * @return bool False if value was not set and true if value was set.
  */
 function set_transient( $transient, $value, $expiration = 0 ) {
+
+       /**
+        * Filter a specific transient before its value is set.
+        *
+        * The dynamic portion of the hook name, $transient, refers to the transient name.
+        *
+        * @since 3.0.0
+        *
+        * @param mixed $value New value of transient.
+        */
        $value = apply_filters( 'pre_set_transient_' . $transient, $value );
+
        $expiration = (int) $expiration;
 
        if ( wp_using_ext_object_cache() ) {
@@ -502,13 +653,48 @@ function set_transient( $transient, $value, $expiration = 0 ) {
                        }
                        $result = add_option( $transient, $value, '', $autoload );
                } else {
-                       if ( $expiration )
-                               update_option( $transient_timeout, time() + $expiration );
-                       $result = update_option( $transient, $value );
+                       // If expiration is requested, but the transient has no timeout option,
+                       // delete, then re-create transient rather than update.
+                       $update = true;
+                       if ( $expiration ) {
+                               if ( false === get_option( $transient_timeout ) ) {
+                                       delete_option( $transient );
+                                       add_option( $transient_timeout, time() + $expiration, '', 'no' );
+                                       $result = add_option( $transient, $value, '', 'no' );
+                                       $update = false;
+                               } else {
+                                       update_option( $transient_timeout, time() + $expiration );
+                               }
+                       }
+                       if ( $update ) {
+                               $result = update_option( $transient, $value );
+                       }
                }
        }
+
        if ( $result ) {
+
+               /**
+                * Fires after the value for a specific transient has been set.
+                *
+                * The dynamic portion of the hook name, $transient, refers to the transient name.
+                *
+                * @since 3.0.0
+                *
+                * @param mixed $value      Transient value.
+                * @param int   $expiration Time until expiration in seconds. Default 0.
+                */
                do_action( 'set_transient_' . $transient, $value, $expiration );
+
+               /**
+                * Fires after the value for a transient has been set.
+                *
+                * @since 3.0.0
+                *
+                * @param string $transient  The name of the transient.
+                * @param mixed  $value      Transient value.
+                * @param int    $expiration Time until expiration in seconds. Default 0.
+                */
                do_action( 'setted_transient', $transient, $value, $expiration );
        }
        return $result;
@@ -521,8 +707,6 @@ function set_transient( $transient, $value, $expiration = 0 ) {
  * cookie exists (different browser used), adds the last saved cookie restoring
  * the settings.
  *
- * @package WordPress
- * @subpackage Option
  * @since 2.7.0
  */
 function wp_user_settings() {
@@ -568,8 +752,6 @@ function wp_user_settings() {
 /**
  * Retrieve user interface setting value based on setting name.
  *
- * @package WordPress
- * @subpackage Option
  * @since 2.7.0
  *
  * @param string $name The name of the setting.
@@ -588,8 +770,6 @@ function get_user_setting( $name, $default = false ) {
  * Both $name and $value can contain only ASCII letters, numbers and underscores.
  * This function has to be used before any output has started as it calls setcookie().
  *
- * @package WordPress
- * @subpackage Option
  * @since 2.8.0
  *
  * @param string $name The name of the setting.
@@ -613,8 +793,6 @@ function set_user_setting( $name, $value ) {
  * Deleting settings would reset them to the defaults.
  * This function has to be used before any output has started as it calls setcookie().
  *
- * @package WordPress
- * @subpackage Option
  * @since 2.7.0
  *
  * @param mixed $names The name or array of names of the setting to be deleted.
@@ -645,8 +823,6 @@ function delete_user_setting( $names ) {
 /**
  * Retrieve all user interface settings.
  *
- * @package WordPress
- * @subpackage Option
  * @since 2.7.0
  *
  * @return array the last saved user settings or empty array.
@@ -680,8 +856,6 @@ function get_all_user_settings() {
 /**
  * Private. Set all user interface settings.
  *
- * @package WordPress
- * @subpackage Option
  * @since 2.8.0
  *
  * @param array $user_settings
@@ -717,8 +891,6 @@ function wp_set_all_user_settings( $user_settings ) {
 /**
  * Delete the user settings of the current user.
  *
- * @package WordPress
- * @subpackage Option
  * @since 2.7.0
  */
 function delete_all_user_settings() {
@@ -732,16 +904,9 @@ function delete_all_user_settings() {
 /**
  * Retrieve site option value based on name of option.
  *
- * @see get_option()
- * @package WordPress
- * @subpackage Option
  * @since 2.8.0
  *
- * @uses apply_filters() Calls 'pre_site_option_$option' before checking the option.
- *     Any value other than false will "short-circuit" the retrieval of the option
- *     and return the returned value.
- * @uses apply_filters() Calls 'site_option_$option', after checking the  option, with
- *     the option value.
+ * @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.
@@ -751,18 +916,46 @@ function delete_all_user_settings() {
 function get_site_option( $option, $default = false, $use_cache = true ) {
        global $wpdb;
 
-       // Allow plugins to short-circuit site options.
+       /**
+        * Filter an existing site option before it is retrieved.
+        *
+        * The dynamic portion of the hook name, $option, refers to the option name.
+        *
+        * Passing a truthy value to the filter will effectively short-circuit retrieval,
+        * returning the passed value instead.
+        *
+        * @since 2.9.0 As 'pre_site_option_' . $key
+        * @since 3.0.0
+        *
+        * @param mixed $pre_option The default value to return if the option does not exist.
+        */
        $pre = apply_filters( 'pre_site_option_' . $option, false );
+
        if ( false !== $pre )
                return $pre;
 
        // prevent non-existent options from triggering multiple queries
        $notoptions_key = "{$wpdb->siteid}:notoptions";
        $notoptions = wp_cache_get( $notoptions_key, 'site-options' );
-       if ( isset( $notoptions[$option] ) )
+
+       if ( isset( $notoptions[$option] ) ) {
+
+               /**
+                * Filter a specific default site option.
+                *
+                * The dynamic portion of the hook name, $option, refers to the option name.
+                *
+                * @since 3.4.0
+                *
+                * @param mixed $default The value to return if the site option does not exist
+                *                       in the database.
+                */
                return apply_filters( 'default_site_option_' . $option, $default );
+       }
 
        if ( ! is_multisite() ) {
+
+               /** This filter is documented in wp-includes/option.php */
                $default = apply_filters( 'default_site_option_' . $option, $default );
                $value = get_option($option, $default);
        } else {
@@ -781,11 +974,23 @@ function get_site_option( $option, $default = false, $use_cache = true ) {
                        } else {
                                $notoptions[$option] = true;
                                wp_cache_set( $notoptions_key, $notoptions, 'site-options' );
+
+                               /** This filter is documented in wp-includes/option.php */
                                $value = apply_filters( 'default_site_option_' . $option, $default );
                        }
                }
        }
 
+       /**
+        * Filter the value of an existing site option.
+        *
+        * The dynamic portion of the hook name, $option, refers to the option name.
+        *
+        * @since 2.9.0 As 'site_option_' . $key
+        * @since 3.0.0
+        *
+        * @param mixed $value Value of site option.
+        */
        return apply_filters( 'site_option_' . $option, $value );
 }
 
@@ -794,14 +999,9 @@ function get_site_option( $option, $default = false, $use_cache = true ) {
  *
  * Existing options will not be updated. Note that prior to 3.3 this wasn't the case.
  *
- * @see add_option()
- * @package WordPress
- * @subpackage Option
  * @since 2.8.0
  *
- * @uses apply_filters() Calls 'pre_add_site_option_$option' hook to allow overwriting the
- *     option value to be stored.
- * @uses do_action() Calls 'add_site_option_$option' and 'add_site_option' hooks on success.
+ * @see add_option()
  *
  * @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.
@@ -812,7 +1012,18 @@ function add_site_option( $option, $value ) {
 
        wp_protect_special_option( $option );
 
+       /**
+        * Filter the value of a specific site option before it is added.
+        *
+        * The dynamic portion of the hook name, $option, refers to the option name.
+        *
+        * @since 2.9.0 As 'pre_add_site_option_' . $key
+        * @since 3.0.0
+        *
+        * @param mixed $value Value of site option.
+        */
        $value = apply_filters( 'pre_add_site_option_' . $option, $value );
+
        $notoptions_key = "{$wpdb->siteid}:notoptions";
 
        if ( !is_multisite() ) {
@@ -845,8 +1056,30 @@ function add_site_option( $option, $value ) {
        }
 
        if ( $result ) {
+
+               /**
+                * Fires after a specific site option has been successfully added.
+                *
+                * The dynamic portion of the hook name, $option, refers to the option name.
+                *
+                * @since 2.9.0 As "add_site_option_{$key}"
+                * @since 3.0.0
+                *
+                * @param string $option Name of site option.
+                * @param mixed  $value  Value of site option.
+                */
                do_action( "add_site_option_{$option}", $option, $value );
+
+               /**
+                * Fires after a site option has been successfully added.
+                *
+                * @since 3.0.0
+                *
+                * @param string $option Name of site option.
+                * @param mixed  $value  Value of site option.
+                */
                do_action( "add_site_option", $option, $value );
+
                return true;
        }
        return false;
@@ -855,14 +1088,9 @@ function add_site_option( $option, $value ) {
 /**
  * Removes site option by name.
  *
- * @see delete_option()
- * @package WordPress
- * @subpackage Option
  * @since 2.8.0
  *
- * @uses do_action() Calls 'pre_delete_site_option_$option' hook before option is deleted.
- * @uses do_action() Calls 'delete_site_option' and 'delete_site_option_$option'
- *     hooks on success.
+ * @see delete_option()
  *
  * @param string $option Name of option to remove. Expected to not be SQL-escaped.
  * @return bool True, if succeed. False, if failure.
@@ -872,6 +1100,13 @@ function delete_site_option( $option ) {
 
        // ms_protect_special_option( $option ); @todo
 
+       /**
+        * Fires immediately before a specific site option is deleted.
+        *
+        * The dynamic portion of the hook name, $option, refers to the option name.
+        *
+        * @since 3.0.0
+        */
        do_action( 'pre_delete_site_option_' . $option );
 
        if ( !is_multisite() ) {
@@ -887,8 +1122,28 @@ function delete_site_option( $option ) {
        }
 
        if ( $result ) {
+
+               /**
+                * Fires after a specific site option has been deleted.
+                *
+                * The dynamic portion of the hook name, $option, refers to the option name.
+                *
+                * @since 2.9.0 As "delete_site_option_{$key}"
+                * @since 3.0.0
+                *
+                * @param string $option Name of the site option.
+                */
                do_action( "delete_site_option_{$option}", $option );
+
+               /**
+                * Fires after a site option has been deleted.
+                *
+                * @since 3.0.0
+                *
+                * @param string $option Name of the site option.
+                */
                do_action( "delete_site_option", $option );
+
                return true;
        }
        return false;
@@ -897,14 +1152,9 @@ function delete_site_option( $option ) {
 /**
  * Update the value of a site option that was already added.
  *
- * @see update_option()
  * @since 2.8.0
- * @package WordPress
- * @subpackage Option
  *
- * @uses apply_filters() Calls 'pre_update_site_option_$option' hook to allow overwriting the
- *     option value to be stored.
- * @uses do_action() Calls 'update_site_option_$option' and 'update_site_option' hooks on success.
+ * @see update_option()
  *
  * @param string $option Name of option. Expected to not be SQL-escaped.
  * @param mixed $value Option value. Expected to not be SQL-escaped.
@@ -916,6 +1166,18 @@ function update_site_option( $option, $value ) {
        wp_protect_special_option( $option );
 
        $old_value = get_site_option( $option );
+
+       /**
+        * Filter a specific site option before its value is updated.
+        *
+        * The dynamic portion of the hook name, $option, refers to the option name.
+        *
+        * @since 2.9.0 As 'pre_update_site_option_' . $key
+        * @since 3.0.0
+        *
+        * @param mixed $value     New value of site option.
+        * @param mixed $old_value Old value of site option.
+        */
        $value = apply_filters( 'pre_update_site_option_' . $option, $value, $old_value );
 
        if ( $value === $old_value )
@@ -946,8 +1208,32 @@ function update_site_option( $option, $value ) {
        }
 
        if ( $result ) {
+
+               /**
+                * Fires after the value of a specific site option has been successfully updated.
+                *
+                * The dynamic portion of the hook name, $option, refers to the option name.
+                *
+                * @since 2.9.0 As "update_site_option_{$key}"
+                * @since 3.0.0
+                *
+                * @param string $option    Name of site option.
+                * @param mixed  $value     Current value of site option.
+                * @param mixed  $old_value Old value of site option.
+                */
                do_action( "update_site_option_{$option}", $option, $value, $old_value );
+
+               /**
+                * Fires after the value of a site option has been successfully updated.
+                *
+                * @since 3.0.0
+                *
+                * @param string $option    Name of site option.
+                * @param mixed  $value     Current value of site option.
+                * @param mixed  $old_value Old value of site option.
+                */
                do_action( "update_site_option", $option, $value, $old_value );
+
                return true;
        }
        return false;
@@ -957,17 +1243,23 @@ function update_site_option( $option, $value ) {
  * Delete a site transient.
  *
  * @since 2.9.0
- * @package WordPress
- * @subpackage Transient
- *
- * @uses do_action() Calls 'delete_site_transient_$transient' hook before transient is deleted.
- * @uses do_action() Calls 'deleted_site_transient' hook on success.
  *
  * @param string $transient Transient name. Expected to not be SQL-escaped.
  * @return bool True if successful, false otherwise
  */
 function delete_site_transient( $transient ) {
+
+       /**
+        * Fires immediately before a specific site transient is deleted.
+        *
+        * The dynamic portion of the hook name, $transient, refers to the transient name.
+        *
+        * @since 3.0.0
+        *
+        * @param string $transient Transient name.
+        */
        do_action( 'delete_site_transient_' . $transient, $transient );
+
        if ( wp_using_ext_object_cache() ) {
                $result = wp_cache_delete( $transient, 'site-transient' );
        } else {
@@ -977,8 +1269,18 @@ function delete_site_transient( $transient ) {
                if ( $result )
                        delete_site_option( $option_timeout );
        }
-       if ( $result )
+       if ( $result ) {
+
+               /**
+                * Fires after a transient is deleted.
+                *
+                * @since 3.0.0
+                *
+                * @param string $transient Deleted transient name.
+                */
                do_action( 'deleted_site_transient', $transient );
+       }
+
        return $result;
 }
 
@@ -988,22 +1290,31 @@ function delete_site_transient( $transient ) {
  * If the transient does not exist or does not have a value, then the return value
  * will be false.
  *
- * @see get_transient()
  * @since 2.9.0
- * @package WordPress
- * @subpackage Transient
  *
- * @uses apply_filters() Calls 'pre_site_transient_$transient' hook before checking the transient.
- *     Any value other than false will "short-circuit" the retrieval of the transient
- *     and return the returned value.
- * @uses apply_filters() Calls 'site_transient_$option' hook, after checking the transient, with
- *     the transient value.
+ * @see get_transient()
  *
  * @param string $transient Transient name. Expected to not be SQL-escaped.
  * @return mixed Value of transient
  */
 function get_site_transient( $transient ) {
+
+       /**
+        * Filter the value of an existing site transient.
+        *
+        * The dynamic portion of the hook name, $transient, refers to the transient name.
+        *
+        * Passing a truthy value to the filter will effectively short-circuit retrieval,
+        * returning the passed value instead.
+        *
+        * @since 2.9.0
+        *
+        * @param mixed $pre_site_transient The default value to return if the site transient does not exist.
+        *                                  Any value other than false will short-circuit the retrieval
+        *                                  of the transient, and return the returned value.
+        */
        $pre = apply_filters( 'pre_site_transient_' . $transient, false );
+
        if ( false !== $pre )
                return $pre;
 
@@ -1027,6 +1338,15 @@ function get_site_transient( $transient ) {
                        $value = get_site_option( $transient_option );
        }
 
+       /**
+        * Filter the value of an existing site transient.
+        *
+        * The dynamic portion of the hook name, $transient, refers to the transient name.
+        *
+        * @since 2.9.0
+        *
+        * @param mixed $value Value of site transient.
+        */
        return apply_filters( 'site_transient_' . $transient, $value );
 }
 
@@ -1036,14 +1356,9 @@ function get_site_transient( $transient ) {
  * You do not need to serialize values, if the value needs to be serialize, then
  * it will be serialized before it is set.
  *
- * @see set_transient()
  * @since 2.9.0
- * @package WordPress
- * @subpackage Transient
  *
- * @uses apply_filters() Calls 'pre_set_site_transient_$transient' hook to allow overwriting the
- *     transient value to be stored.
- * @uses do_action() Calls 'set_site_transient_$transient' and 'setted_site_transient' hooks on success.
+ * @see set_transient()
  *
  * @param string $transient Transient name. Expected to not be SQL-escaped.
  * @param mixed $value Transient value. Expected to not be SQL-escaped.
@@ -1051,7 +1366,18 @@ function get_site_transient( $transient ) {
  * @return bool False if value was not set and true if value was set.
  */
 function set_site_transient( $transient, $value, $expiration = 0 ) {
+
+       /**
+        * Filter the value of a specific site transient before it is set.
+        *
+        * The dynamic portion of the hook name, $transient, refers to the transient name.
+        *
+        * @since 3.0.0
+        *
+        * @param mixed $value Value of site transient.
+        */
        $value = apply_filters( 'pre_set_site_transient_' . $transient, $value );
+
        $expiration = (int) $expiration;
 
        if ( wp_using_ext_object_cache() ) {
@@ -1070,7 +1396,28 @@ function set_site_transient( $transient, $value, $expiration = 0 ) {
                }
        }
        if ( $result ) {
+
+               /**
+                * Fires after the value for a specific site transient has been set.
+                *
+                * The dynamic portion of the hook name, $transient, refers to the transient name.
+                *
+                * @since 3.0.0
+                *
+                * @param mixed $value      Site transient value.
+                * @param int   $expiration Time until expiration in seconds. Default 0.
+                */
                do_action( 'set_site_transient_' . $transient, $value, $expiration );
+
+               /**
+                * Fires after the value for a site transient has been set.
+                *
+                * @since 3.0.0
+                *
+                * @param string $transient  The name of the site transient.
+                * @param mixed  $value      Site transient value.
+                * @param int    $expiration Time until expiration in seconds. Default 0.
+                */
                do_action( 'setted_site_transient', $transient, $value, $expiration );
        }
        return $result;
index 02733b2b0f4851dd8641467868990ac4ceaaf08c..3afb48cd10ef35a7cffe359d04d508eabba32374 100644 (file)
@@ -57,7 +57,7 @@ if ( !function_exists('get_user_by_email') ) :
 /**
  * Retrieve user info by email.
  *
- * @since 2.5
+ * @since 2.5.0
  * @deprecated 3.3.0
  * @deprecated Use get_user_by('email')
  *
@@ -74,8 +74,8 @@ if ( !function_exists('wp_setcookie') ) :
 /**
  * Sets a cookie for a user who just logged in. This function is deprecated.
  *
- * @since 1.5
- * @deprecated 2.5
+ * @since 1.5.0
+ * @deprecated 2.5.0
  * @deprecated Use wp_set_auth_cookie()
  * @see wp_set_auth_cookie()
  *
@@ -99,8 +99,8 @@ if ( !function_exists('wp_clearcookie') ) :
 /**
  * Clears the authentication cookie, logging the user out. This function is deprecated.
  *
- * @since 1.5
- * @deprecated 2.5
+ * @since 1.5.0
+ * @deprecated 2.5.0
  * @deprecated Use wp_clear_auth_cookie()
  * @see wp_clear_auth_cookie()
  */
@@ -120,7 +120,7 @@ if ( !function_exists('wp_get_cookie_login') ):
  * used anywhere in WordPress. Also, plugins shouldn't use it either.
  *
  * @since 2.0.3
- * @deprecated 2.5
+ * @deprecated 2.5.0
  * @deprecated No alternative
  *
  * @return bool Always returns false
@@ -177,7 +177,7 @@ endif;
  *
  * @since 2.2.0
  * @deprecated 3.5.0
- * @link http://wordpress.org/plugins/atom-publishing-protocol/
+ * @link https://wordpress.org/plugins/atom-publishing-protocol/
  */
 if ( ! class_exists( 'wp_atom_server' ) ) {
        class wp_atom_server {
index d84cb0a2cab7a514e4faadb3a411d18caf7168a7..ef2821fb2ad46d69340a0117a360eb696c716989 100644 (file)
@@ -18,7 +18,6 @@ if ( !function_exists('wp_set_current_user') ) :
  *
  * @since 2.0.3
  * @global object $current_user The current user object which holds the user data.
- * @uses do_action() Calls 'set_current_user' hook after setting the current user.
  *
  * @param int $id User ID
  * @param string $name User's username
@@ -34,7 +33,12 @@ function wp_set_current_user($id, $name = '') {
 
        setup_userdata( $current_user->ID );
 
-       do_action('set_current_user');
+       /**
+        * Fires after the current user is set.
+        *
+        * @since 2.0.1
+        */
+       do_action( 'set_current_user' );
 
        return $current_user;
 }
@@ -62,14 +66,15 @@ if ( !function_exists('get_currentuserinfo') ) :
  * Populate global variables with information about the currently logged in user.
  *
  * Will set the current user, if the current user is not set. The current user
- * will be set to the logged in person. If no user is logged in, then it will
+ * will be set to the logged-in person. If no user is logged-in, then it will
  * set the current user to 0, which is invalid and won't have any permissions.
  *
  * @since 0.71
+ *
  * @uses $current_user Checks if the current user is set
  * @uses wp_validate_auth_cookie() Retrieves current logged in user.
  *
- * @return bool|null False on XMLRPC Request and invalid auth cookie. Null when current user set
+ * @return bool|null False on XML-RPC Request and invalid auth cookie. Null when current user set.
  */
 function get_currentuserinfo() {
        global $current_user;
@@ -97,14 +102,26 @@ function get_currentuserinfo() {
                return false;
        }
 
-       if ( ! $user = wp_validate_auth_cookie() ) {
-                if ( is_blog_admin() || is_network_admin() || empty( $_COOKIE[LOGGED_IN_COOKIE] ) || !$user = wp_validate_auth_cookie( $_COOKIE[LOGGED_IN_COOKIE], 'logged_in' ) ) {
-                       wp_set_current_user( 0 );
-                       return false;
-                }
+       /**
+        * Filter the current user.
+        *
+        * The default filters use this to determine the current user from the
+        * request's cookies, if available.
+        *
+        * Returning a value of false will effectively short-circuit setting
+        * the current user.
+        *
+        * @since 3.9.0
+        *
+        * @param int|bool $user_id User ID if one has been determined, false otherwise.
+        */
+       $user_id = apply_filters( 'determine_current_user', false );
+       if ( ! $user_id ) {
+               wp_set_current_user( 0 );
+               return false;
        }
 
-       wp_set_current_user( $user );
+       wp_set_current_user( $user_id );
 }
 endif;
 
@@ -195,13 +212,7 @@ if ( !function_exists( 'wp_mail' ) ) :
  * be set using the 'wp_mail_charset' filter.
  *
  * @since 1.2.1
- * @uses apply_filters() Calls 'wp_mail' hook on an array of all of the parameters.
- * @uses apply_filters() Calls 'wp_mail_from' hook to get the from email address.
- * @uses apply_filters() Calls 'wp_mail_from_name' hook to get the from address name.
- * @uses apply_filters() Calls 'wp_mail_content_type' hook to get the email content type.
- * @uses apply_filters() Calls 'wp_mail_charset' hook to get the email charset
- * @uses do_action_ref_array() Calls 'phpmailer_init' hook on the reference to
- *             phpmailer object.
+ *
  * @uses PHPMailer
  *
  * @param string|array $to Array or comma-separated list of email addresses to send message.
@@ -213,6 +224,15 @@ if ( !function_exists( 'wp_mail' ) ) :
  */
 function wp_mail( $to, $subject, $message, $headers = '', $attachments = array() ) {
        // Compact the input, apply the filters, and extract them back out
+
+       /**
+        * Filter the wp_mail() arguments.
+        *
+        * @since 2.2.0
+        *
+        * @param array $args A compacted array of wp_mail() arguments, including the "to" email,
+        *                    subject, message, headers, and attachments values.
+        */
        extract( apply_filters( 'wp_mail', compact( 'to', 'subject', 'message', 'headers', 'attachments' ) ) );
 
        if ( !is_array($attachments) )
@@ -333,9 +353,23 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array()
                $from_email = 'wordpress@' . $sitename;
        }
 
-       // Plugin authors can override the potentially troublesome default
-       $phpmailer->From     = apply_filters( 'wp_mail_from'     , $from_email );
-       $phpmailer->FromName = apply_filters( 'wp_mail_from_name', $from_name  );
+       /**
+        * Filter the email address to send from.
+        *
+        * @since 2.2.0
+        *
+        * @param string $from_email Email address to send from.
+        */
+       $phpmailer->From = apply_filters( 'wp_mail_from', $from_email );
+
+       /**
+        * Filter the name to associate with the "from" email address.
+        *
+        * @since 2.3.0
+        *
+        * @param string $from_name Name associated with the "from" email address.
+        */
+       $phpmailer->FromName = apply_filters( 'wp_mail_from_name', $from_name );
 
        // Set destination addresses
        if ( !is_array( $to ) )
@@ -406,6 +440,13 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array()
        if ( !isset( $content_type ) )
                $content_type = 'text/plain';
 
+       /**
+        * Filter the wp_mail() content type.
+        *
+        * @since 2.3.0
+        *
+        * @param string $content_type Default wp_mail() content type.
+        */
        $content_type = apply_filters( 'wp_mail_content_type', $content_type );
 
        $phpmailer->ContentType = $content_type;
@@ -419,6 +460,14 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array()
                $charset = get_bloginfo( 'charset' );
 
        // Set the content-type and charset
+
+       /**
+        * Filter the default wp_mail() charset.
+        *
+        * @since 2.3.0
+        *
+        * @param string $charset Default email charset.
+        */
        $phpmailer->CharSet = apply_filters( 'wp_mail_charset', $charset );
 
        // Set custom headers
@@ -441,6 +490,13 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array()
                }
        }
 
+       /**
+        * Fires after PHPMailer is initialized.
+        *
+        * @since 2.2.0
+        *
+        * @param PHPMailer &$phpmailer The PHPMailer instance, passed by reference.
+        */
        do_action_ref_array( 'phpmailer_init', array( &$phpmailer ) );
 
        // Send!
@@ -466,7 +522,19 @@ function wp_authenticate($username, $password) {
        $username = sanitize_user($username);
        $password = trim($password);
 
-       $user = apply_filters('authenticate', null, $username, $password);
+       /**
+        * Filter the user to authenticate.
+        *
+        * If a non-null value is passed, the filter will effectively short-circuit
+        * authentication, returning an error instead.
+        *
+        * @since 2.8.0
+        *
+        * @param null|WP_User $user     User to authenticate.
+        * @param string       $username User login.
+        * @param string       $password User password
+        */
+       $user = apply_filters( 'authenticate', null, $username, $password );
 
        if ( $user == null ) {
                // TODO what should the error message be? (Or would these even happen?)
@@ -477,7 +545,14 @@ function wp_authenticate($username, $password) {
        $ignore_codes = array('empty_username', 'empty_password');
 
        if (is_wp_error($user) && !in_array($user->get_error_code(), $ignore_codes) ) {
-               do_action('wp_login_failed', $username);
+               /**
+                * Fires after a user login has failed.
+                *
+                * @since 2.5.0
+                *
+                * @param string $username User login.
+                */
+               do_action( 'wp_login_failed', $username );
        }
 
        return $user;
@@ -492,7 +567,13 @@ if ( !function_exists('wp_logout') ) :
  */
 function wp_logout() {
        wp_clear_auth_cookie();
-       do_action('wp_logout');
+
+       /**
+        * Fires after a user is logged-out.
+        *
+        * @since 1.5.0
+        */
+       do_action( 'wp_logout' );
 }
 endif;
 
@@ -506,7 +587,7 @@ if ( !function_exists('wp_validate_auth_cookie') ) :
  * Makes sure the cookie is not expired. Verifies the hash in cookie is what is
  * should be and compares the two.
  *
- * @since 2.5
+ * @since 2.5.0
  *
  * @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
@@ -514,7 +595,16 @@ if ( !function_exists('wp_validate_auth_cookie') ) :
  */
 function wp_validate_auth_cookie($cookie = '', $scheme = '') {
        if ( ! $cookie_elements = wp_parse_auth_cookie($cookie, $scheme) ) {
-               do_action('auth_cookie_malformed', $cookie, $scheme);
+               /**
+                * Fires if an authentication cookie is malformed.
+                *
+                * @since 2.7.0
+                *
+                * @param string $cookie Malformed auth cookie.
+                * @param string $scheme Authentication scheme. Values include 'auth', 'secure_auth',
+                *                       or 'logged_in'.
+                */
+               do_action( 'auth_cookie_malformed', $cookie, $scheme );
                return false;
        }
 
@@ -528,13 +618,27 @@ function wp_validate_auth_cookie($cookie = '', $scheme = '') {
 
        // Quick check to see if an honest cookie has expired
        if ( $expired < time() ) {
-               do_action('auth_cookie_expired', $cookie_elements);
+               /**
+                * Fires once an authentication cookie has expired.
+                *
+                * @since 2.7.0
+                *
+                * @param array $cookie_elements An array of data for the authentication cookie.
+                */
+               do_action( 'auth_cookie_expired', $cookie_elements );
                return false;
        }
 
        $user = get_user_by('login', $username);
        if ( ! $user ) {
-               do_action('auth_cookie_bad_username', $cookie_elements);
+               /**
+                * Fires if a bad username is entered in the user authentication process.
+                *
+                * @since 2.7.0
+                *
+                * @param array $cookie_elements An array of data for the authentication cookie.
+                */
+               do_action( 'auth_cookie_bad_username', $cookie_elements );
                return false;
        }
 
@@ -544,14 +648,29 @@ function wp_validate_auth_cookie($cookie = '', $scheme = '') {
        $hash = hash_hmac('md5', $username . '|' . $expiration, $key);
 
        if ( hash_hmac( 'md5', $hmac, $key ) !== hash_hmac( 'md5', $hash, $key ) ) {
-               do_action('auth_cookie_bad_hash', $cookie_elements);
+               /**
+                * Fires if a bad authentication cookie hash is encountered.
+                *
+                * @since 2.7.0
+                *
+                * @param array $cookie_elements An array of data for the authentication cookie.
+                */
+               do_action( 'auth_cookie_bad_hash', $cookie_elements );
                return false;
        }
 
        if ( $expiration < time() ) // AJAX/POST grace period set above
                $GLOBALS['login_grace_period'] = 1;
 
-       do_action('auth_cookie_valid', $cookie_elements, $user);
+       /**
+        * Fires once an authentication cookie has been validated.
+        *
+        * @since 2.7.0
+        *
+        * @param array   $cookie_elements An array of data for the authentication cookie.
+        * @param WP_User $user            User object.
+        */
+       do_action( 'auth_cookie_valid', $cookie_elements, $user );
 
        return $user->ID;
 }
@@ -561,9 +680,7 @@ if ( !function_exists('wp_generate_auth_cookie') ) :
 /**
  * Generate authentication cookie contents.
  *
- * @since 2.5
- * @uses apply_filters() Calls 'auth_cookie' hook on $cookie contents, User ID
- *             and expiration of cookie.
+ * @since 2.5.0
  *
  * @param int $user_id User ID
  * @param int $expiration Cookie expiration in seconds
@@ -580,7 +697,17 @@ function wp_generate_auth_cookie($user_id, $expiration, $scheme = 'auth') {
 
        $cookie = $user->user_login . '|' . $expiration . '|' . $hash;
 
-       return apply_filters('auth_cookie', $cookie, $user_id, $expiration, $scheme);
+       /**
+        * Filter the authentication cookie.
+        *
+        * @since 2.5.0
+        *
+        * @param string $cookie     Authentication cookie.
+        * @param int    $user_id    User ID.
+        * @param int    $expiration Authentication cookie expiration in seconds.
+        * @param string $scheme     Cookie scheme used. Accepts 'auth', 'secure_auth', or 'logged_in'.
+        */
+       return apply_filters( 'auth_cookie', $cookie, $user_id, $expiration, $scheme );
 }
 endif;
 
@@ -588,7 +715,7 @@ if ( !function_exists('wp_parse_auth_cookie') ) :
 /**
  * Parse a cookie into its components
  *
- * @since 2.7
+ * @since 2.7.0
  *
  * @param string $cookie
  * @param string $scheme Optional. The cookie scheme to use: auth, secure_auth, or logged_in
@@ -633,33 +760,64 @@ endif;
 
 if ( !function_exists('wp_set_auth_cookie') ) :
 /**
- * Sets the authentication cookies based User ID.
+ * Sets the authentication cookies based on user ID.
  *
  * The $remember parameter increases the time that the cookie will be kept. The
  * default the cookie is kept without remembering is two days. When $remember is
  * set, the cookies will be kept for 14 days or two weeks.
  *
- * @since 2.5
+ * @since 2.5.0
  *
  * @param int $user_id User ID
  * @param bool $remember Whether to remember the user
  */
 function wp_set_auth_cookie($user_id, $remember = false, $secure = '') {
        if ( $remember ) {
-               $expiration = time() + apply_filters('auth_cookie_expiration', 14 * DAY_IN_SECONDS, $user_id, $remember);
-               // Ensure the browser will continue to send the cookie after the expiration time is reached.
-               // Needed for the login grace period in wp_validate_auth_cookie().
+               /**
+                * Filter the duration of the authentication cookie expiration period.
+                *
+                * @since 2.8.0
+                *
+                * @param int  $length   Duration of the expiration period in seconds.
+                * @param int  $user_id  User ID.
+                * @param bool $remember Whether to remember the user login. Default false.
+                */
+               $expiration = time() + apply_filters( 'auth_cookie_expiration', 14 * DAY_IN_SECONDS, $user_id, $remember );
+
+               /*
+                * Ensure the browser will continue to send the cookie after the expiration time is reached.
+                * Needed for the login grace period in wp_validate_auth_cookie().
+                */
                $expire = $expiration + ( 12 * HOUR_IN_SECONDS );
        } else {
-               $expiration = time() + apply_filters('auth_cookie_expiration', 2 * DAY_IN_SECONDS, $user_id, $remember);
+               /** This filter is documented in wp-includes/pluggable.php */
+               $expiration = time() + apply_filters( 'auth_cookie_expiration', 2 * DAY_IN_SECONDS, $user_id, $remember );
                $expire = 0;
        }
 
        if ( '' === $secure )
                $secure = is_ssl();
 
-       $secure = apply_filters('secure_auth_cookie', $secure, $user_id);
-       $secure_logged_in_cookie = apply_filters('secure_logged_in_cookie', false, $user_id, $secure);
+       /**
+        * Filter whether the connection is secure.
+        *
+        * @since 3.1.0
+        *
+        * @param bool $secure  Whether the connection is secure.
+        * @param int  $user_id User ID.
+        */
+       $secure = apply_filters( 'secure_auth_cookie', $secure, $user_id );
+
+       /**
+        * Filter whether to use a secure cookie when logged-in.
+        *
+        * @since 3.1.0
+        *
+        * @param bool $cookie  Whether to use a secure cookie when logged-in.
+        * @param int  $user_id User ID.
+        * @param bool $secure  Whether the connection is secure.
+        */
+       $secure_logged_in_cookie = apply_filters( 'secure_logged_in_cookie', false, $user_id, $secure );
 
        if ( $secure ) {
                $auth_cookie_name = SECURE_AUTH_COOKIE;
@@ -672,8 +830,33 @@ function wp_set_auth_cookie($user_id, $remember = false, $secure = '') {
        $auth_cookie = wp_generate_auth_cookie($user_id, $expiration, $scheme);
        $logged_in_cookie = wp_generate_auth_cookie($user_id, $expiration, 'logged_in');
 
-       do_action('set_auth_cookie', $auth_cookie, $expire, $expiration, $user_id, $scheme);
-       do_action('set_logged_in_cookie', $logged_in_cookie, $expire, $expiration, $user_id, 'logged_in');
+       /**
+        * Fires immediately before the authentication cookie is set.
+        *
+        * @since 2.5.0
+        *
+        * @param string $auth_cookie Authentication cookie.
+        * @param int    $expire      Login grace period in seconds. Default 43,200 seconds, or 12 hours.
+        * @param int    $expiration  Duration in seconds the authentication cookie should be valid.
+        *                            Default 1,209,600 seconds, or 14 days.
+        * @param int    $user_id     User ID.
+        * @param string $scheme      Authentication scheme. Values include 'auth', 'secure_auth', or 'logged_in'.
+        */
+       do_action( 'set_auth_cookie', $auth_cookie, $expire, $expiration, $user_id, $scheme );
+
+       /**
+        * Fires immediately before the secure authentication cookie is set.
+        *
+        * @since 2.6.0
+        *
+        * @param string $logged_in_cookie The logged-in cookie.
+        * @param int    $expire           Login grace period in seconds. Default 43,200 seconds, or 12 hours.
+        * @param int    $expiration       Duration in seconds the authentication cookie should be valid.
+        *                                 Default 1,209,600 seconds, or 14 days.
+        * @param int    $user_id          User ID.
+        * @param string $scheme           Authentication scheme. Default 'logged_in'.
+        */
+       do_action( 'set_logged_in_cookie', $logged_in_cookie, $expire, $expiration, $user_id, 'logged_in' );
 
        setcookie($auth_cookie_name, $auth_cookie, $expire, PLUGINS_COOKIE_PATH, COOKIE_DOMAIN, $secure, true);
        setcookie($auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, $secure, true);
@@ -687,10 +870,15 @@ if ( !function_exists('wp_clear_auth_cookie') ) :
 /**
  * Removes all of the cookies associated with authentication.
  *
- * @since 2.5
+ * @since 2.5.0
  */
 function wp_clear_auth_cookie() {
-       do_action('clear_auth_cookie');
+       /**
+        * Fires just before the authentication cookies are cleared.
+        *
+        * @since 2.7.0
+        */
+       do_action( 'clear_auth_cookie' );
 
        setcookie( AUTH_COOKIE,        ' ', time() - YEAR_IN_SECONDS, ADMIN_COOKIE_PATH,   COOKIE_DOMAIN );
        setcookie( SECURE_AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, ADMIN_COOKIE_PATH,   COOKIE_DOMAIN );
@@ -735,14 +923,21 @@ if ( !function_exists('auth_redirect') ) :
 /**
  * Checks if a user is logged in, if not it redirects them to the login page.
  *
- * @since 1.5
+ * @since 1.5.0
  */
 function auth_redirect() {
        // Checks if a user is logged in, if not redirects them to the login page
 
        $secure = ( is_ssl() || force_ssl_admin() );
 
-       $secure = apply_filters('secure_auth_redirect', $secure);
+       /**
+        * Filter whether to use a secure authentication redirect.
+        *
+        * @since 3.1.0
+        *
+        * @param bool $secure Whether to use a secure authentication redirect. Default false.
+        */
+       $secure = apply_filters( 'secure_auth_redirect', $secure );
 
        // If https is required and request is http, redirect
        if ( $secure && !is_ssl() && false !== strpos($_SERVER['REQUEST_URI'], 'wp-admin') ) {
@@ -755,13 +950,28 @@ function auth_redirect() {
                }
        }
 
-       if ( is_user_admin() )
+       if ( is_user_admin() ) {
                $scheme = 'logged_in';
-       else
+       } else {
+               /**
+                * Filter the authentication redirect scheme.
+                *
+                * @since 2.9.0
+                *
+                * @param string $scheme Authentication redirect scheme. Default empty.
+                */
                $scheme = apply_filters( 'auth_redirect_scheme', '' );
+       }
 
        if ( $user_id = wp_validate_auth_cookie( '',  $scheme) ) {
-               do_action('auth_redirect', $user_id);
+               /**
+                * Fires before the authentication redirect.
+                *
+                * @since 2.8.0
+                *
+                * @param int $user_id User ID.
+                */
+               do_action( 'auth_redirect', $user_id );
 
                // If the user wants ssl but the session is not ssl, redirect.
                if ( !$secure && get_user_option('use_ssl', $user_id) && false !== strpos($_SERVER['REQUEST_URI'], 'wp-admin') ) {
@@ -796,7 +1006,6 @@ if ( !function_exists('check_admin_referer') ) :
  * To avoid security exploits.
  *
  * @since 1.2.0
- * @uses do_action() Calls 'check_admin_referer' on $action.
  *
  * @param string $action Action nonce
  * @param string $query_arg where to look for nonce in $_REQUEST (since 2.5)
@@ -812,7 +1021,16 @@ function check_admin_referer($action = -1, $query_arg = '_wpnonce') {
                wp_nonce_ays($action);
                die();
        }
-       do_action('check_admin_referer', $action, $result);
+
+       /**
+        * Fires once the admin request has been validated or not.
+        *
+        * @since 1.5.1
+        *
+        * @param string $action The nonce action.
+        * @param bool   $result Whether the admin request nonce was validated.
+        */
+       do_action( 'check_admin_referer', $action, $result );
        return $result;
 }
 endif;
@@ -845,7 +1063,15 @@ function check_ajax_referer( $action = -1, $query_arg = false, $die = true ) {
                        die( '-1' );
        }
 
-       do_action('check_ajax_referer', $action, $result);
+       /**
+        * Fires once the AJAX request has been validated or not.
+        *
+        * @since 2.1.0
+        *
+        * @param string $action The AJAX nonce action.
+        * @param bool   $result Whether the AJAX request nonce was validated.
+        */
+       do_action( 'check_ajax_referer', $action, $result );
 
        return $result;
 }
@@ -856,7 +1082,6 @@ if ( !function_exists('wp_redirect') ) :
  * Redirects to another page.
  *
  * @since 1.5.1
- * @uses apply_filters() Calls 'wp_redirect' hook on $location and $status.
  *
  * @param string $location The path to redirect to.
  * @param int $status Status code to use.
@@ -903,7 +1128,7 @@ if ( !function_exists('wp_sanitize_redirect') ) :
 /**
  * Sanitizes a URL for use in a redirect.
  *
- * @since 2.3
+ * @since 2.3.0
  *
  * @return string redirect-sanitized URL
  **/
@@ -930,7 +1155,8 @@ if ( !function_exists('wp_safe_redirect') ) :
  * instead. This prevents malicious redirects which redirect to another host,
  * but only used in a few places.
  *
- * @since 2.3
+ * @since 2.3.0
+ *
  * @uses wp_validate_redirect() To validate the redirect is to an allowed host.
  *
  * @return void Does not return anything
@@ -957,8 +1183,6 @@ if ( !function_exists('wp_validate_redirect') ) :
  * If the host is not allowed, then the redirect is to $default supplied
  *
  * @since 2.8.1
- * @uses apply_filters() Calls 'allowed_redirect_hosts' on an array containing
- *             WordPress host string and $location host string.
  *
  * @param string $location The redirect to validate
  * @param string $default The value to return if $location is not allowed
@@ -989,7 +1213,15 @@ function wp_validate_redirect($location, $default = '') {
 
        $wpp = parse_url(home_url());
 
-       $allowed_hosts = (array) apply_filters('allowed_redirect_hosts', array($wpp['host']), isset($lp['host']) ? $lp['host'] : '');
+       /**
+        * Filter the whitelist of hosts to redirect to.
+        *
+        * @since 2.3.0
+        *
+        * @param array       $hosts An array of allowed hosts.
+        * @param bool|string $host  The parsed host; empty if not isset.
+        */
+       $allowed_hosts = (array) apply_filters( 'allowed_redirect_hosts', array($wpp['host']), isset($lp['host']) ? $lp['host'] : '' );
 
        if ( isset($lp['host']) && ( !in_array($lp['host'], $allowed_hosts) && $lp['host'] != strtolower($wpp['host'])) )
                $location = $default;
@@ -1021,17 +1253,20 @@ function wp_notify_postauthor( $comment_id, $deprecated = null ) {
        $author  = get_userdata( $post->post_author );
 
        // Who to notify? By default, just the post author, but others can be added.
-       $emails = array( $author->user_email );
+       $emails = array();
+       if ( $author ) {
+               $emails[] = $author->user_email;
+       }
 
        /**
-        * Filter the list of emails to receive a comment notification.
+        * Filter the list of email addresses to receive a comment notification.
         *
-        * Normally just post authors are notified of emails.
-        * This filter lets you add others.
+        * By default, only post authors are notified of comments. This filter allows
+        * others to be added.
         *
         * @since 3.7.0
         *
-        * @param array $emails     Array of email addresses to receive a comment notification.
+        * @param array $emails     An array of email addresses to receive a comment notification.
         * @param int   $comment_id The comment ID.
         */
        $emails = apply_filters( 'comment_notification_recipients', $emails, $comment_id );
@@ -1048,28 +1283,29 @@ function wp_notify_postauthor( $comment_id, $deprecated = null ) {
        /**
         * Filter whether to notify comment authors of their comments on their own posts.
         *
-        * By default, comment authors don't get notified of their comments
-        * on their own post. This lets you override that.
+        * By default, comment authors aren't notified of their comments on their own
+        * posts. This filter allows you to override that.
         *
         * @since 3.8.0
         *
-        * @param bool $notify     Whether to notify the post author of their own comment. Default false.
+        * @param bool $notify     Whether to notify the post author of their own comment.
+        *                         Default false.
         * @param int  $comment_id The comment ID.
         */
        $notify_author = apply_filters( 'comment_notification_notify_author', false, $comment_id );
 
        // The comment was left by the author
-       if ( ! $notify_author && $comment->user_id == $post->post_author ) {
+       if ( $author && ! $notify_author && $comment->user_id == $post->post_author ) {
                unset( $emails[ $author->user_email ] );
        }
 
        // The author moderated a comment on their own post
-       if ( ! $notify_author && $post->post_author == get_current_user_id() ) {
+       if ( $author && ! $notify_author && $post->post_author == get_current_user_id() ) {
                unset( $emails[ $author->user_email ] );
        }
 
        // The post author is no longer a member of the blog
-       if ( ! $notify_author && ! user_can( $post->post_author, 'read_post', $post->ID ) ) {
+       if ( $author && ! $notify_author && ! user_can( $post->post_author, 'read_post', $post->ID ) ) {
                unset( $emails[ $author->user_email ] );
        }
 
@@ -1121,7 +1357,7 @@ function wp_notify_postauthor( $comment_id, $deprecated = null ) {
                        break;
        }
        $notify_message .= get_permalink($comment->comment_post_ID) . "#comments\r\n\r\n";
-       $notify_message .= sprintf( __('Permalink: %s'), get_permalink( $comment->comment_post_ID ) . '#comment-' . $comment_id ) . "\r\n";
+       $notify_message .= sprintf( __('Permalink: %s'), get_comment_link( $comment_id ) ) . "\r\n";
 
        if ( user_can( $post->post_author, 'edit_comment', $comment_id ) ) {
                if ( EMPTY_TRASH_DAYS )
@@ -1149,12 +1385,38 @@ function wp_notify_postauthor( $comment_id, $deprecated = null ) {
        if ( isset($reply_to) )
                $message_headers .= $reply_to . "\n";
 
-       $notify_message  = apply_filters( 'comment_notification_text',       $notify_message,  $comment_id );
-       $subject         = apply_filters( 'comment_notification_subject',    $subject,         $comment_id );
-       $message_headers = apply_filters( 'comment_notification_headers',    $message_headers, $comment_id );
+       /**
+        * Filter the comment notification email text.
+        *
+        * @since 1.5.2
+        *
+        * @param string $notify_message The comment notification email text.
+        * @param int    $comment_id     Comment ID.
+        */
+       $notify_message = apply_filters( 'comment_notification_text', $notify_message, $comment_id );
+
+       /**
+        * Filter the comment notification email subject.
+        *
+        * @since 1.5.2
+        *
+        * @param string $subject    The comment notification email subject.
+        * @param int    $comment_id Comment ID.
+        */
+       $subject = apply_filters( 'comment_notification_subject', $subject, $comment_id );
+
+       /**
+        * Filter the comment notification email headers.
+        *
+        * @since 1.5.2
+        *
+        * @param string $message_headers Headers for the comment notification email.
+        * @param int    $comment_id      Comment ID.
+        */
+       $message_headers = apply_filters( 'comment_notification_headers', $message_headers, $comment_id );
 
        foreach ( $emails as $email ) {
-               @wp_mail( $email, $subject, $notify_message, $message_headers );
+               @wp_mail( $email, wp_specialchars_decode( $subject ), $notify_message, $message_headers );
        }
 
        return true;
@@ -1165,7 +1427,8 @@ if ( !function_exists('wp_notify_moderator') ) :
 /**
  * Notifies the moderator of the blog about a new comment that is awaiting approval.
  *
- * @since 1.0
+ * @since 1.0.0
+ *
  * @uses $wpdb
  *
  * @param int $comment_id Comment ID
@@ -1234,13 +1497,48 @@ function wp_notify_moderator($comment_id) {
        $subject = sprintf( __('[%1$s] Please moderate: "%2$s"'), $blogname, $post->post_title );
        $message_headers = '';
 
-       $emails          = apply_filters( 'comment_moderation_recipients', $emails,          $comment_id );
-       $notify_message  = apply_filters( 'comment_moderation_text',       $notify_message,  $comment_id );
-       $subject         = apply_filters( 'comment_moderation_subject',    $subject,         $comment_id );
-       $message_headers = apply_filters( 'comment_moderation_headers',    $message_headers, $comment_id );
+       /**
+        * Filter the list of recipients for comment moderation emails.
+        *
+        * @since 3.7.0
+        *
+        * @param array $emails     List of email addresses to notify for comment moderation.
+        * @param int   $comment_id Comment ID.
+        */
+       $emails = apply_filters( 'comment_moderation_recipients', $emails, $comment_id );
+
+       /**
+        * Filter the comment moderation email text.
+        *
+        * @since 1.5.2
+        *
+        * @param string $notify_message Text of the comment moderation email.
+        * @param int    $comment_id     Comment ID.
+        */
+       $notify_message = apply_filters( 'comment_moderation_text', $notify_message, $comment_id );
+
+       /**
+        * Filter the comment moderation email subject.
+        *
+        * @since 1.5.2
+        *
+        * @param string $subject    Subject of the comment moderation email.
+        * @param int    $comment_id Comment ID.
+        */
+       $subject = apply_filters( 'comment_moderation_subject', $subject, $comment_id );
+
+       /**
+        * Filter the comment moderation email headers.
+        *
+        * @since 2.8.0
+        *
+        * @param string $message_headers Headers for the comment moderation email.
+        * @param int    $comment_id      Comment ID.
+        */
+       $message_headers = apply_filters( 'comment_moderation_headers', $message_headers, $comment_id );
 
        foreach ( $emails as $email ) {
-               @wp_mail( $email, $subject, $notify_message, $message_headers );
+               @wp_mail( $email, wp_specialchars_decode( $subject ), $notify_message, $message_headers );
        }
 
        return true;
@@ -1251,7 +1549,7 @@ if ( !function_exists('wp_password_change_notification') ) :
 /**
  * Notify the blog admin of a user changing password, normally via email.
  *
- * @since 2.7
+ * @since 2.7.0
  *
  * @param object $user User Object
  */
@@ -1270,12 +1568,14 @@ endif;
 
 if ( !function_exists('wp_new_user_notification') ) :
 /**
- * Notify the blog admin of a new user, normally via email.
+ * Email login credentials to a newly-registered user.
  *
- * @since 2.0
+ * A new user registration notification is also sent to admin email.
  *
- * @param int $user_id User ID
- * @param string $plaintext_pass Optional. The user's plaintext password
+ * @since 2.0.0
+ *
+ * @param int    $user_id        User ID.
+ * @param string $plaintext_pass Optional. The user's plaintext password. Default empty.
  */
 function wp_new_user_notification($user_id, $plaintext_pass = '') {
        $user = get_userdata( $user_id );
@@ -1309,11 +1609,18 @@ if ( !function_exists('wp_nonce_tick') ) :
  * A nonce has a lifespan of two ticks. Nonces in their second tick may be
  * updated, e.g. by autosave.
  *
- * @since 2.5
+ * @since 2.5.0
  *
  * @return int
  */
 function wp_nonce_tick() {
+       /**
+        * Filter the lifespan of nonces in seconds.
+        *
+        * @since 2.5.0
+        *
+        * @param int $lifespan Lifespan of nonces in seconds. Default 86,400 seconds, or one day.
+        */
        $nonce_life = apply_filters( 'nonce_life', DAY_IN_SECONDS );
 
        return ceil(time() / ( $nonce_life / 2 ));
@@ -1336,8 +1643,17 @@ if ( !function_exists('wp_verify_nonce') ) :
 function wp_verify_nonce($nonce, $action = -1) {
        $user = wp_get_current_user();
        $uid = (int) $user->ID;
-       if ( ! $uid )
+       if ( ! $uid ) {
+               /**
+                * Filter whether the user who generated the nonce is logged out.
+                *
+                * @since 3.5.0
+                *
+                * @param int    $uid    ID of the nonce-owning user.
+                * @param string $action The nonce action.
+                */
                $uid = apply_filters( 'nonce_user_logged_out', $uid, $action );
+       }
 
        $i = wp_nonce_tick();
 
@@ -1364,8 +1680,10 @@ if ( !function_exists('wp_create_nonce') ) :
 function wp_create_nonce($action = -1) {
        $user = wp_get_current_user();
        $uid = (int) $user->ID;
-       if ( ! $uid )
+       if ( ! $uid ) {
+               /** This filter is documented in wp-includes/pluggable.php */
                $uid = apply_filters( 'nonce_user_logged_out', $uid, $action );
+       }
 
        $i = wp_nonce_tick();
 
@@ -1401,7 +1719,7 @@ if ( !function_exists('wp_salt') ) :
  * Salting passwords helps against tools which has stored hashed values of
  * common dictionary strings. The added values makes it harder to crack.
  *
- * @since 2.5
+ * @since 2.5.0
  *
  * @link https://api.wordpress.org/secret-key/1.1/salt/ Create secrets for wp-config.php
  *
@@ -1410,8 +1728,18 @@ if ( !function_exists('wp_salt') ) :
  */
 function wp_salt( $scheme = 'auth' ) {
        static $cached_salts = array();
-       if ( isset( $cached_salts[ $scheme ] ) )
+       if ( isset( $cached_salts[ $scheme ] ) ) {
+               /**
+                * Filter the WordPress salt.
+                *
+                * @since 2.5.0
+                *
+                * @param string $cached_salt Cached salt for the given scheme.
+                * @param string $scheme      Authentication scheme. Values include 'auth',
+                *                            'secure_auth', 'logged_in', and 'nonce'.
+                */
                return apply_filters( 'salt', $cached_salts[ $scheme ], $scheme );
+       }
 
        static $duplicated_keys;
        if ( null === $duplicated_keys ) {
@@ -1457,6 +1785,8 @@ function wp_salt( $scheme = 'auth' ) {
        }
 
        $cached_salts[ $scheme ] = $key . $salt;
+
+       /** This filter is documented in wp-includes/pluggable.php */
        return apply_filters( 'salt', $cached_salts[ $scheme ], $scheme );
 }
 endif;
@@ -1485,7 +1815,8 @@ if ( !function_exists('wp_hash_password') ) :
  * For integration with other applications, this function can be overwritten to
  * instead use the other package password checking algorithm.
  *
- * @since 2.5
+ * @since 2.5.0
+ *
  * @global object $wp_hasher PHPass object
  * @uses PasswordHash::HashPassword
  *
@@ -1517,7 +1848,8 @@ if ( !function_exists('wp_check_password') ) :
  * For integration with other applications, this function can be overwritten to
  * instead use the other package password checking algorithm.
  *
- * @since 2.5
+ * @since 2.5.0
+ *
  * @global object $wp_hasher PHPass object used for checking the password
  *     against the $hash + $password
  * @uses PasswordHash::CheckPassword
@@ -1538,7 +1870,16 @@ function wp_check_password($password, $hash, $user_id = '') {
                        $hash = wp_hash_password($password);
                }
 
-               return apply_filters('check_password', $check, $password, $hash, $user_id);
+               /**
+                * Filter whether the plaintext password matches the encrypted password.
+                *
+                * @since 2.5.0
+                *
+                * @param bool   $check   Whether the passwords match.
+                * @param string $hash    The hashed password.
+                * @param int    $user_id User ID.
+                */
+               return apply_filters( 'check_password', $check, $password, $hash, $user_id );
        }
 
        // If the stored hash is longer than an MD5, presume the
@@ -1551,7 +1892,8 @@ function wp_check_password($password, $hash, $user_id = '') {
 
        $check = $wp_hasher->CheckPassword($password, $hash);
 
-       return apply_filters('check_password', $check, $password, $hash, $user_id);
+       /** This filter is documented in wp-includes/pluggable.php */
+       return apply_filters( 'check_password', $check, $password, $hash, $user_id );
 }
 endif;
 
@@ -1559,7 +1901,7 @@ if ( !function_exists('wp_generate_password') ) :
 /**
  * Generates a random password drawn from the defined set of characters.
  *
- * @since 2.5
+ * @since 2.5.0
  *
  * @param int $length The length of password to generate
  * @param bool $special_chars Whether to include standard special characters. Default true.
@@ -1579,8 +1921,14 @@ function wp_generate_password( $length = 12, $special_chars = true, $extra_speci
                $password .= substr($chars, wp_rand(0, strlen($chars) - 1), 1);
        }
 
-       // random_password filter was previously in random_password function which was deprecated
-       return apply_filters('random_password', $password);
+       /**
+        * Filter the randomly-generated password.
+        *
+        * @since 3.0.0
+        *
+        * @param string $password The generated password.
+        */
+       return apply_filters( 'random_password', $password );
 }
 endif;
 
@@ -1638,7 +1986,8 @@ if ( !function_exists('wp_set_password') ) :
  * For integration with other applications, this function can be overwritten to
  * instead use the other package password checking algorithm.
  *
- * @since 2.5
+ * @since 2.5.0
+ *
  * @uses $wpdb WordPress database object for queries
  * @uses wp_hash_password() Used to encrypt the user's password before passing to the database
  *
@@ -1659,7 +2008,8 @@ if ( !function_exists( 'get_avatar' ) ) :
 /**
  * Retrieve the avatar for a user who provided a user ID or email address.
  *
- * @since 2.5
+ * @since 2.5.0
+ *
  * @param int|string|object $id_or_email A user ID,  email address, or comment object
  * @param int $size Size of the avatar image
  * @param string $default URL to a default image to use if no avatar is available
@@ -1686,6 +2036,14 @@ function get_avatar( $id_or_email, $size = '96', $default = '', $alt = false ) {
                        $email = $user->user_email;
        } elseif ( is_object($id_or_email) ) {
                // No avatar for pingbacks or trackbacks
+
+               /**
+                * Filter the list of allowed comment types for retrieving avatars.
+                *
+                * @since 3.0.0
+                *
+                * @param array $types An array of content types. Default only contains 'comment'.
+                */
                $allowed_comment_types = apply_filters( 'get_avatar_comment_types', array( 'comment' ) );
                if ( ! empty( $id_or_email->comment_type ) && ! in_array( $id_or_email->comment_type, (array) $allowed_comment_types ) )
                        return false;
@@ -1752,7 +2110,18 @@ function get_avatar( $id_or_email, $size = '96', $default = '', $alt = false ) {
                $avatar = "<img alt='{$safe_alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />";
        }
 
-       return apply_filters('get_avatar', $avatar, $id_or_email, $size, $default, $alt);
+       /**
+        * Filter the avatar to retrieve.
+        *
+        * @since 2.5.0
+        *
+        * @param string            $avatar      Image tag for the user's avatar.
+        * @param int|object|string $id_or_email A user ID, email address, or comment object.
+        * @param int               $size        Square avatar width and height in pixels to retrieve.
+        * @param string            $alt         Alternative text to use in the avatar image tag.
+        *                                       Default empty.
+        */
+       return apply_filters( 'get_avatar', $avatar, $id_or_email, $size, $default, $alt );
 }
 endif;
 
@@ -1773,7 +2142,8 @@ if ( !function_exists( 'wp_text_diff' ) ) :
  * 'title_right' : Default is an empty string. Change the HTML to the right of
  *             the title.
  *
- * @since 2.6
+ * @since 2.6.0
+ *
  * @see wp_parse_args() Used to change defaults to user defined settings.
  * @uses Text_Diff
  * @uses WP_Text_Diff_Renderer_Table
index df4ba8d33ecb7b1f8a653dfa6999fc93a5abc0c5..7eba1bbdb6475c1d9dc0fed400732cc5e8c83acb 100644 (file)
@@ -16,7 +16,7 @@
  *
  * @package WordPress
  * @subpackage Plugin
- * @since 1.5
+ * @since 1.5.0
  */
 
 // Initialize the filter globals.
@@ -63,9 +63,6 @@ if ( ! isset( $wp_current_filter ) )
  * is valid. It is up to you to take care. This is done for optimization purposes,
  * so everything is as quick as possible.
  *
- * @package WordPress
- * @subpackage Plugin
- *
  * @global array $wp_filter      A multidimensional array of all hooks and the callbacks hooked to them.
  * @global array $merged_filters Tracks the tags that need to be merged for later. If the hook is added, it doesn't need to run through that process.
  *
@@ -91,9 +88,8 @@ function add_filter( $tag, $function_to_add, $priority = 10, $accepted_args = 1
 /**
  * Check if any filter has been registered for a hook.
  *
- * @package WordPress
- * @subpackage Plugin
- * @since 2.5
+ * @since 2.5.0
+ *
  * @global array $wp_filter Stores all of the filters
  *
  * @param string $tag The name of the filter hook.
@@ -146,9 +142,6 @@ function has_filter($tag, $function_to_check = false) {
  * $value = apply_filters( 'example_filter', 'filter me', $arg1, $arg2 );
  * </code>
  *
- * @package WordPress
- * @subpackage Plugin
- *
  * @global array $wp_filter         Stores all of the filters
  * @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
@@ -212,8 +205,6 @@ function apply_filters( $tag, $value ) {
  * @see apply_filters() This function is identical, but the arguments passed to the
  * functions hooked to <tt>$tag</tt> are supplied using an array.
  *
- * @package WordPress
- * @subpackage Plugin
  * @since 3.0.0
  * @global array $wp_filter Stores all of the filters
  * @global array $merged_filters Merges the filter hooks using this function.
@@ -273,9 +264,7 @@ function apply_filters_ref_array($tag, $args) {
  * when the hook was added. This goes for both filters and actions. No warning
  * will be given on removal failure.
  *
- * @package WordPress
- * @subpackage Plugin
- * @since 1.2
+ * @since 1.2.0
  *
  * @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.
@@ -301,7 +290,7 @@ function remove_filter( $tag, $function_to_remove, $priority = 10 ) {
 /**
  * Remove all of the hooks from a filter.
  *
- * @since 2.7
+ * @since 2.7.0
  *
  * @param string $tag The filter to remove hooks from.
  * @param int $priority The priority number to remove.
@@ -326,9 +315,7 @@ function remove_all_filters($tag, $priority = false) {
 /**
  * Retrieve the name of the current filter or action.
  *
- * @package WordPress
- * @subpackage Plugin
- * @since 2.5
+ * @since 2.5.0
  *
  * @return string Hook name of the current filter or action.
  */
@@ -337,6 +324,63 @@ function current_filter() {
        return end( $wp_current_filter );
 }
 
+/**
+ * Retrieve the name of the current action.
+ *
+ * @since 3.9.0
+ *
+ * @uses current_filter()
+ *
+ * @return string Hook name of the current action.
+ */
+function current_action() {
+       return current_filter();
+}
+
+/**
+ * Retrieve the name of a filter currently being processed.
+ *
+ * The function current_filter() only returns the most recent filter or action
+ * being executed. did_action() returns true once the action is initially
+ * processed. This function allows detection for any filter currently being
+ * executed (despite not being the most recent filter to fire, in the case of
+ * hooks called from hook callbacks) to be verified.
+ *
+ * @since 3.9.0
+ *
+ * @see current_filter()
+ * @see did_action()
+ * @global array $wp_current_filter Current filter.
+ *
+ * @param null|string $filter Optional. Filter to check. Defaults to null, which
+ *                            checks if any filter is currently being run.
+ * @return bool Whether the filter is currently in the stack
+ */
+function doing_filter( $filter = null ) {
+       global $wp_current_filter;
+
+       if ( null === $filter ) {
+               return ! empty( $wp_current_filter );
+       }
+
+       return in_array( $filter, $wp_current_filter );
+}
+
+/**
+ * Retrieve the name of an action currently being processed.
+ *
+ * @since 3.9.0
+ *
+ * @uses doing_filter()
+ *
+ * @param string|null $action Optional. Action to check. Defaults to null, which checks
+ *                            if any action is currently being run.
+ * @return bool Whether the action is currently in the stack.
+ */
+function doing_action( $action = null ) {
+       return doing_filter( $action );
+}
+
 /**
  * Hooks a function on to a specific action.
  *
@@ -347,9 +391,7 @@ function current_filter() {
  *
  * @uses add_filter() Adds an action. Parameter list and functionality are the same.
  *
- * @package WordPress
- * @subpackage Plugin
- * @since 1.2
+ * @since 1.2.0
  *
  * @param string $tag The name of the action to which the $function_to_add is hooked.
  * @param callback $function_to_add The name of the function you wish to be called.
@@ -373,9 +415,8 @@ function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1)
  * @see apply_filters() This function works similar with the exception that
  * nothing is returned and only the functions or methods are called.
  *
- * @package WordPress
- * @subpackage Plugin
- * @since 1.2
+ * @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.
  *
@@ -436,9 +477,8 @@ function do_action($tag, $arg = '') {
 /**
  * Retrieve the number of times an action is fired.
  *
- * @package WordPress
- * @subpackage Plugin
- * @since 2.1
+ * @since 2.1.0
+ *
  * @global array $wp_actions Increments the amount of times action was triggered.
  *
  * @param string $tag The name of the action hook.
@@ -459,9 +499,8 @@ function did_action($tag) {
  * @see do_action() This function is identical, but the arguments passed to the
  * functions hooked to <tt>$tag</tt> are supplied using an array.
  *
- * @package WordPress
- * @subpackage Plugin
- * @since 2.1
+ * @since 2.1.0
+ *
  * @global array $wp_filter Stores all of the filters
  * @global array $wp_actions Increments the amount of times action was triggered.
  *
@@ -514,9 +553,8 @@ function do_action_ref_array($tag, $args) {
 /**
  * Check if any action has been registered for a hook.
  *
- * @package WordPress
- * @subpackage Plugin
- * @since 2.5
+ * @since 2.5.0
+ *
  * @see has_filter() has_action() is an alias of has_filter().
  *
  * @param string $tag The name of the action hook.
@@ -537,9 +575,7 @@ function has_action($tag, $function_to_check = false) {
  * method can be used to remove default functions attached to a specific filter
  * hook and possibly replace them with a substitute.
  *
- * @package WordPress
- * @subpackage Plugin
- * @since 1.2
+ * @since 1.2.0
  *
  * @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.
@@ -553,7 +589,7 @@ function remove_action( $tag, $function_to_remove, $priority = 10 ) {
 /**
  * Remove all of the hooks from an action.
  *
- * @since 2.7
+ * @since 2.7.0
  *
  * @param string $tag The action to remove hooks from.
  * @param int $priority The priority number to remove them from.
@@ -572,9 +608,7 @@ function remove_all_actions($tag, $priority = false) {
  *
  * This method extracts the name of a plugin from its filename.
  *
- * @package WordPress
- * @subpackage Plugin
- * @since 1.5
+ * @since 1.5.0
  *
  * @access private
  *
@@ -582,23 +616,64 @@ function remove_all_actions($tag, $priority = false) {
  * @return string The name of a plugin.
  * @uses WP_PLUGIN_DIR
  */
-function plugin_basename($file) {
-       $file = str_replace('\\','/',$file); // sanitize for Win32 installs
-       $file = preg_replace('|/+|','/', $file); // remove any duplicate slash
-       $plugin_dir = str_replace('\\','/',WP_PLUGIN_DIR); // sanitize for Win32 installs
-       $plugin_dir = preg_replace('|/+|','/', $plugin_dir); // remove any duplicate slash
-       $mu_plugin_dir = str_replace('\\','/',WPMU_PLUGIN_DIR); // sanitize for Win32 installs
-       $mu_plugin_dir = preg_replace('|/+|','/', $mu_plugin_dir); // remove any duplicate slash
+function plugin_basename( $file ) {
+       global $wp_plugin_paths;
+
+       foreach ( $wp_plugin_paths as $dir => $realdir ) {
+               if ( strpos( $file, $realdir ) === 0 ) {
+                       $file = $dir . substr( $file, strlen( $realdir ) );
+               }
+       }
+
+       $file = wp_normalize_path( $file );
+       $plugin_dir = wp_normalize_path( WP_PLUGIN_DIR );
+       $mu_plugin_dir = wp_normalize_path( WPMU_PLUGIN_DIR );
+
        $file = preg_replace('#^' . preg_quote($plugin_dir, '#') . '/|^' . preg_quote($mu_plugin_dir, '#') . '/#','',$file); // get relative path from plugins dir
        $file = trim($file, '/');
        return $file;
 }
 
+/**
+ * Register a plugin's real path.
+ *
+ * This is used in plugin_basename() to resolve symlinked paths.
+ *
+ * @since 3.9.0
+ *
+ * @see plugin_basename()
+ *
+ * @param string $file Known path to the file.
+ * @return bool Whether the path was able to be registered.
+ */
+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;
+       if ( ! isset( $wp_plugin_path ) ) {
+               $wp_plugin_path   = wp_normalize_path( WP_PLUGIN_DIR   );
+               $wpmu_plugin_path = wp_normalize_path( WPMU_PLUGIN_DIR );
+       }
+
+       $plugin_path = wp_normalize_path( dirname( $file ) );
+       $plugin_realpath = wp_normalize_path( dirname( realpath( $file ) ) );
+
+       if ( $plugin_path === $wp_plugin_path || $plugin_path === $wpmu_plugin_path ) {
+               return false;
+       }
+
+       if ( $plugin_path !== $plugin_realpath ) {
+               $wp_plugin_paths[ $plugin_path ] = $plugin_realpath;
+       }
+
+       return true;
+}
+
 /**
  * Gets the filesystem directory path (with trailing slash) for the plugin __FILE__ passed in
- * @package WordPress
- * @subpackage Plugin
- * @since 2.8
+ *
+ * @since 2.8.0
  *
  * @param string $file The filename of the plugin (__FILE__)
  * @return string the filesystem path of the directory that contains the plugin
@@ -609,9 +684,8 @@ function plugin_dir_path( $file ) {
 
 /**
  * Gets the URL directory path (with trailing slash) for the plugin __FILE__ passed in
- * @package WordPress
- * @subpackage Plugin
- * @since 2.8
+ *
+ * @since 2.8.0
  *
  * @param string $file The filename of the plugin (__FILE__)
  * @return string the URL path of the directory that contains the plugin
@@ -633,9 +707,7 @@ function plugin_dir_url( $file ) {
  * wp-content/plugins/sample.php the name of this hook will be
  * 'activate_sample.php'.
  *
- * @package WordPress
- * @subpackage Plugin
- * @since 2.0
+ * @since 2.0.0
  *
  * @param string $file The filename of the plugin including the path.
  * @param callback $function the function hooked to the 'activate_PLUGIN' action.
@@ -658,9 +730,7 @@ function register_activation_hook($file, $function) {
  * wp-content/plugins/sample.php the name of this hook will be
  * 'deactivate_sample.php'.
  *
- * @package WordPress
- * @subpackage Plugin
- * @since 2.0
+ * @since 2.0.0
  *
  * @param string $file The filename of the plugin including the path.
  * @param callback $function the function hooked to the 'deactivate_PLUGIN' action.
@@ -690,7 +760,7 @@ function register_deactivation_hook($file, $function) {
  * should always check for the 'WP_UNINSTALL_PLUGIN' constant, before
  * executing.
  *
- * @since 2.7
+ * @since 2.7.0
  *
  * @param string $file
  * @param callback $callback The callback to run when the hook is called. Must be a static method or function.
@@ -720,9 +790,7 @@ function register_uninstall_hook( $file, $callback ) {
  * functions. This function does not check for the existence of the all hook, so
  * it will fail unless the all hook exists prior to this function call.
  *
- * @package WordPress
- * @subpackage Plugin
- * @since 2.5
+ * @since 2.5.0
  * @access private
  *
  * @uses $wp_filter Used to process all of the functions in the 'all' hook
@@ -758,8 +826,6 @@ function _wp_call_all_hook($args) {
  * Functions and static method callbacks are just returned as strings and
  * shouldn't have any speed penalty.
  *
- * @package WordPress
- * @subpackage Plugin
  * @access private
  * @since 2.2.3
  * @link http://trac.wordpress.org/ticket/3875
index 37290d5bd92f64462c91fc3743ee80192a690418..be462587a28cc031c36a65aea2e3e5bce83940bf 100644 (file)
@@ -96,7 +96,7 @@ function the_title_attribute( $args = '' ) {
  *
  * @since 0.71
  *
- * @param int|object $post Optional. Post ID or object.
+ * @param int|WP_Post $post Optional. Post ID or post object.
  * @return string
  */
 function get_the_title( $post = 0 ) {
@@ -107,14 +107,44 @@ function get_the_title( $post = 0 ) {
 
        if ( ! is_admin() ) {
                if ( ! empty( $post->post_password ) ) {
+
+                       /**
+                        * Filter the text prepended to the post title for protected posts.
+                        *
+                        * The filter is only applied on the front end.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param string $prepend Text displayed before the post title.
+                        *                        Default 'Protected: %s'.
+                        */
                        $protected_title_format = apply_filters( 'protected_title_format', __( 'Protected: %s' ) );
                        $title = sprintf( $protected_title_format, $title );
                } else if ( isset( $post->post_status ) && 'private' == $post->post_status ) {
+
+                       /**
+                        * Filter the text prepended to the post title of private posts.
+                        *
+                        * The filter is only applied on the front end.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param string $prepend Text displayed before the post title.
+                        *                        Default 'Private: %s'.
+                        */
                        $private_title_format = apply_filters( 'private_title_format', __( 'Private: %s' ) );
                        $title = sprintf( $private_title_format, $title );
                }
        }
 
+       /**
+        * Filter the post title.
+        *
+        * @since 0.71
+        *
+        * @param string $title The post title.
+        * @param int    $id    The post ID.
+        */
        return apply_filters( 'the_title', $title, $id );
 }
 
@@ -129,7 +159,7 @@ function get_the_title( $post = 0 ) {
  *
  * @since 1.5.0
  *
- * @param int $id Optional. Post ID.
+ * @param int|WP_Post $id Optional. Post ID or post object.
  */
 function the_guid( $id = 0 ) {
        echo esc_url( get_the_guid( $id ) );
@@ -144,13 +174,20 @@ function the_guid( $id = 0 ) {
  *
  * @since 1.5.0
  *
- * @param int $id Optional. Post ID.
+ * @param int|WP_Post $id Optional. Post ID or post object.
  * @return string
  */
 function get_the_guid( $id = 0 ) {
        $post = get_post($id);
 
-       return apply_filters('get_the_guid', $post->guid);
+       /**
+        * Filter the Global Unique Identifier (guid) of the post.
+        *
+        * @since 1.5.0
+        *
+        * @param string $post_guid Global Unique Identifier (guid) of the post.
+        */
+       return apply_filters( 'get_the_guid', $post->guid );
 }
 
 /**
@@ -163,6 +200,14 @@ function get_the_guid( $id = 0 ) {
  */
 function the_content( $more_link_text = null, $strip_teaser = false) {
        $content = get_the_content( $more_link_text, $strip_teaser );
+
+       /**
+        * Filter the post content.
+        *
+        * @since 0.71
+        *
+        * @param string $content Content of the current post.
+        */
        $content = apply_filters( 'the_content', $content );
        $content = str_replace( ']]>', ']]&gt;', $content );
        echo $content;
@@ -221,6 +266,15 @@ function get_the_content( $more_link_text = null, $strip_teaser = false ) {
                        $output .= '<span id="more-' . $post->ID . '"></span>' . $content[1];
                } else {
                        if ( ! empty( $more_link_text ) )
+
+                               /**
+                                * Filter the Read More link text.
+                                *
+                                * @since 2.8.0
+                                *
+                                * @param string $more_link_element Read More link element.
+                                * @param string $more_link_text    Read More text.
+                                */
                                $output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink() . "#more-{$post->ID}\" class=\"more-link\">$more_link_text</a>", $more_link_text );
                        $output = force_balance_tags( $output );
                }
@@ -248,10 +302,19 @@ function _convert_urlencoded_to_entities( $match ) {
  * Display the post excerpt.
  *
  * @since 0.71
- * @uses apply_filters() Calls 'the_excerpt' hook on post excerpt.
  */
 function the_excerpt() {
-       echo apply_filters('the_excerpt', get_the_excerpt());
+
+       /**
+        * Filter the displayed post excerpt.
+        *
+        * @since 0.71
+        *
+        * @see get_the_excerpt()
+        *
+        * @param string $post_excerpt The post excerpt.
+        */
+       echo apply_filters( 'the_excerpt', get_the_excerpt() );
 }
 
 /**
@@ -272,6 +335,13 @@ function get_the_excerpt( $deprecated = '' ) {
                return __( 'There is no excerpt because this is a protected post.' );
        }
 
+       /**
+        * Filter the retrieved post excerpt.
+        *
+        * @since 1.2.0
+        *
+        * @param string $post_excerpt The post excerpt.
+        */
        return apply_filters( 'get_the_excerpt', $post->post_excerpt );
 }
 
@@ -280,7 +350,7 @@ function get_the_excerpt( $deprecated = '' ) {
  *
  * @since 2.3.0
  *
- * @param int $id Optional. Post ID.
+ * @param int|WP_Post $id Optional. Post ID or post object.
  * @return bool
  */
 function has_excerpt( $id = 0 ) {
@@ -294,7 +364,7 @@ function has_excerpt( $id = 0 ) {
  * @since 2.7.0
  *
  * @param string|array $class One or more classes to add to the class list.
- * @param int $post_id An optional post ID.
+ * @param int|WP_Post $post_id Optional. Post ID or post object.
  */
 function post_class( $class = '', $post_id = null ) {
        // Separates classes with a single space, collates classes for post DIV
@@ -304,8 +374,9 @@ function post_class( $class = '', $post_id = null ) {
 /**
  * Retrieve the classes for the post div as an array.
  *
- * The class names are add are many. If the post is a sticky, then the 'sticky'
- * class name. The class 'hentry' is always added to each post. For each
+ * The class names are many. If the post is a sticky, then the 'sticky'
+ * class name. The class 'hentry' is always added to each post. If the post has a
+ * post thumbnail, 'has-post-thumbnail' is added as a class. For each
  * category, the class will be added with 'category-' with category slug is
  * added. The tags are the same way as the categories with 'tag-' before the tag
  * slug. All classes are passed through the filter, 'post_class' with the list
@@ -315,7 +386,7 @@ function post_class( $class = '', $post_id = null ) {
  * @since 2.7.0
  *
  * @param string|array $class One or more classes to add to the class list.
- * @param int $post_id An optional post ID.
+ * @param int|WP_Post $post_id Optional. Post ID or post object.
  * @return array Array of classes.
  */
 function get_post_class( $class = '', $post_id = null ) {
@@ -342,9 +413,13 @@ function get_post_class( $class = '', $post_id = null ) {
                        $classes[] = 'format-standard';
        }
 
-       // post requires password
-       if ( post_password_required($post->ID) )
+       // Post requires password
+       if ( post_password_required( $post->ID ) ) {
                $classes[] = 'post-password-required';
+       // Post thumbnails
+       } elseif ( ! is_attachment( $post ) && current_theme_supports( 'post-thumbnails' ) && has_post_thumbnail( $post->ID ) ) {
+               $classes[] = 'has-post-thumbnail';
+       }
 
        // sticky for Sticky Posts
        if ( is_sticky($post->ID) && is_home() && !is_paged() )
@@ -379,7 +454,16 @@ function get_post_class( $class = '', $post_id = null ) {
 
        $classes = array_map('esc_attr', $classes);
 
-       return apply_filters('post_class', $classes, $class, $post->ID);
+       /**
+        * Filter the list of CSS classes for the current post.
+        *
+        * @since 2.7.0
+        *
+        * @param array  $classes An array of post classes.
+        * @param string $class   A comma-separated list of additional classes added to the post.
+        * @param int    $post_id The post ID.
+        */
+       return apply_filters( 'post_class', $classes, $class, $post->ID );
 }
 
 /**
@@ -563,6 +647,14 @@ function get_body_class( $class = '' ) {
 
        $classes = array_map( 'esc_attr', $classes );
 
+       /**
+        * Filter the list of CSS body classes for the current post or page.
+        *
+        * @since 2.8.0
+        *
+        * @param array  $classes An array of body classes.
+        * @param string $class   A comma-separated list of additional classes added to the body.
+        */
        return apply_filters( 'body_class', $classes, $class );
 }
 
@@ -593,12 +685,9 @@ function post_password_required( $post = null ) {
        return ! $hasher->CheckPassword( $post->post_password, $hash );
 }
 
-/**
- * Page Template Functions for usage in Themes
- *
- * @package WordPress
- * @subpackage Template
- */
+//
+// Page Template Functions for usage in Themes
+//
 
 /**
  * The formatted output of a list of pages.
@@ -650,6 +739,14 @@ function wp_link_pages( $args = '' ) {
        );
 
        $r = wp_parse_args( $args, $defaults );
+
+       /**
+        * Filter the arguments used in retrieving page links for paginated posts.
+        *
+        * @since 3.0.0
+        *
+        * @param array $r An array of arguments for page links for paginated posts.
+        */
        $r = apply_filters( 'wp_link_pages_args', $r );
        extract( $r, EXTR_SKIP );
 
@@ -663,6 +760,15 @@ function wp_link_pages( $args = '' ) {
                                $link = $link_before . str_replace( '%', $i, $pagelink ) . $link_after;
                                if ( $i != $page || ! $more && 1 == $page )
                                        $link = _wp_link_page( $i ) . $link . '</a>';
+
+                               /**
+                                * Filter the HTML output of individual page number links.
+                                *
+                                * @since 3.6.0
+                                *
+                                * @param string $link The page number HTML output.
+                                * @param int    $i    Page number for paginated posts' page links.
+                                */
                                $link = apply_filters( 'wp_link_pages_link', $link, $i );
                                $output .= $separator . $link;
                        }
@@ -672,12 +778,16 @@ function wp_link_pages( $args = '' ) {
                        $i = $page - 1;
                        if ( $i ) {
                                $link = _wp_link_page( $i ) . $link_before . $previouspagelink . $link_after . '</a>';
+
+                               /** This filter is documented in wp-includes/post-template.php */
                                $link = apply_filters( 'wp_link_pages_link', $link, $i );
                                $output .= $separator . $link;
                        }
                        $i = $page + 1;
                        if ( $i <= $numpages ) {
                                $link = _wp_link_page( $i ) . $link_before . $nextpagelink . $link_after . '</a>';
+
+                               /** This filter is documented in wp-includes/post-template.php */
                                $link = apply_filters( 'wp_link_pages_link', $link, $i );
                                $output .= $separator . $link;
                        }
@@ -685,6 +795,14 @@ function wp_link_pages( $args = '' ) {
                }
        }
 
+       /**
+        * Filter the HTML output of page links for paginated posts.
+        *
+        * @since 3.6.0
+        *
+        * @param string $output HTML output of paginated posts' page links.
+        * @param array  $args   An array of arguments.
+        */
        $output = apply_filters( 'wp_link_pages', $output, $args );
 
        if ( $echo )
@@ -717,6 +835,19 @@ function _wp_link_page( $i ) {
                        $url = trailingslashit(get_permalink()) . user_trailingslashit($i, 'single_paged');
        }
 
+       if ( is_preview() ) {
+               $url = add_query_arg( array(
+                       'preview' => 'true'
+               ), $url );
+
+               if ( ( 'draft' !== $post->post_status ) && isset( $_GET['preview_id'], $_GET['preview_nonce'] ) ) {
+                       $url = add_query_arg( array(
+                               'preview_id'    => wp_unslash( $_GET['preview_id'] ),
+                               'preview_nonce' => wp_unslash( $_GET['preview_nonce'] )
+                       ), $url );
+               }
+       }
+
        return '<a href="' . esc_url( $url ) . '">';
 }
 
@@ -759,7 +890,17 @@ function the_meta() {
                                continue;
                        $values = array_map('trim', get_post_custom_values($key));
                        $value = implode($values,', ');
-                       echo apply_filters('the_meta_key', "<li><span class='post-meta-key'>$key:</span> $value</li>\n", $key, $value);
+
+                       /**
+                        * Filter the HTML output of the li element in the post custom fields list.
+                        *
+                        * @since 2.2.0
+                        *
+                        * @param string $html  The HTML output for the li element.
+                        * @param string $key   Meta key.
+                        * @param string $value Meta value.
+                        */
+                       echo apply_filters( 'the_meta_key', "<li><span class='post-meta-key'>$key:</span> $value</li>\n", $key, $value );
                }
                echo "</ul>\n";
        }
@@ -805,7 +946,14 @@ function wp_dropdown_pages($args = '') {
                $output .= "</select>\n";
        }
 
-       $output = apply_filters('wp_dropdown_pages', $output);
+       /**
+        * Filter the HTML output of a list of pages as a drop down.
+        *
+        * @since 2.1.0
+        *
+        * @param string $output HTML output for drop down list of pages.
+        */
+       $output = apply_filters( 'wp_dropdown_pages', $output );
 
        if ( $echo )
                echo $output;
@@ -842,7 +990,15 @@ function wp_list_pages($args = '') {
 
        // Allow plugins to filter an array of excluded pages (but don't put a nullstring into the array)
        $exclude_array = ( $r['exclude'] ) ? explode(',', $r['exclude']) : array();
-       $r['exclude'] = implode( ',', apply_filters('wp_list_pages_excludes', $exclude_array) );
+
+       /**
+        * Filter the array of pages to exclude from the pages list.
+        *
+        * @since 2.1.0
+        *
+        * @param array $exclude_array An array of page IDs to exclude.
+        */
+       $r['exclude'] = implode( ',', apply_filters( 'wp_list_pages_excludes', $exclude_array ) );
 
        // Query pages.
        $r['hierarchical'] = 0;
@@ -853,15 +1009,32 @@ function wp_list_pages($args = '') {
                        $output .= '<li class="pagenav">' . $r['title_li'] . '<ul>';
 
                global $wp_query;
-               if ( is_page() || is_attachment() || $wp_query->is_posts_page )
-                       $current_page = $wp_query->get_queried_object_id();
+               if ( is_page() || is_attachment() || $wp_query->is_posts_page ) {
+                       $current_page = get_queried_object_id();
+               } elseif ( is_singular() ) {
+                       $queried_object = get_queried_object();
+                       if ( is_post_type_hierarchical( $queried_object->post_type ) ) {
+                               $current_page = $queried_object->ID;
+                       }
+               }
+
                $output .= walk_page_tree($pages, $r['depth'], $current_page, $r);
 
                if ( $r['title_li'] )
                        $output .= '</ul></li>';
        }
 
-       $output = apply_filters('wp_list_pages', $output, $r);
+       /**
+        * Filter the HTML output of the pages to list.
+        *
+        * @since 1.5.1
+        *
+        * @see wp_list_pages()
+        *
+        * @param string $output HTML output of the pages list.
+        * @param array  $r      An array of page-listing arguments.
+        */
+       $output = apply_filters( 'wp_list_pages', $output, $r );
 
        if ( $r['echo'] )
                echo $output;
@@ -898,6 +1071,16 @@ function wp_list_pages($args = '') {
 function wp_page_menu( $args = array() ) {
        $defaults = array('sort_column' => 'menu_order, post_title', 'menu_class' => 'menu', 'echo' => true, 'link_before' => '', 'link_after' => '');
        $args = wp_parse_args( $args, $defaults );
+
+       /**
+        * Filter the arguments used to generate a page-based menu.
+        *
+        * @since 2.7.0
+        *
+        * @see wp_page_menu()
+        *
+        * @param array $args An array of page menu arguments.
+        */
        $args = apply_filters( 'wp_page_menu_args', $args );
 
        $menu = '';
@@ -933,6 +1116,17 @@ function wp_page_menu( $args = array() ) {
                $menu = '<ul>' . $menu . '</ul>';
 
        $menu = '<div class="' . esc_attr($args['menu_class']) . '">' . $menu . "</div>\n";
+
+       /**
+        * Filter the HTML output of a page-based menu.
+        *
+        * @since 2.7.0
+        *
+        * @see wp_page_menu()
+        *
+        * @param string $menu The HTML output.
+        * @param array  $args An array of arguments.
+        */
        $menu = apply_filters( 'wp_page_menu', $menu, $args );
        if ( $args['echo'] )
                echo $menu;
@@ -986,7 +1180,6 @@ function walk_page_dropdown_tree() {
 /**
  * Create HTML list of pages.
  *
- * @package WordPress
  * @since 2.1.0
  * @uses Walker
  */
@@ -1066,6 +1259,20 @@ class Walker_Page extends Walker {
                        $css_class[] = 'current_page_parent';
                }
 
+               /**
+                * Filter the list of CSS classes to include with each page item in the list.
+                *
+                * @since 2.8.0
+                *
+                * @see wp_list_pages()
+                *
+                * @param array   $css_class    An array of CSS classes to be applied
+                *                             to each list item.
+                * @param WP_Post $page         Page data object.
+                * @param int     $depth        Depth of page, used for padding.
+                * @param array   $args         An array of arguments.
+                * @param int     $current_page ID of the current page.
+                */
                $css_class = implode( ' ', apply_filters( 'page_css_class', $css_class, $page, $depth, $args, $current_page ) );
 
                if ( '' === $page->post_title )
@@ -1102,7 +1309,6 @@ class Walker_Page extends Walker {
 /**
  * Create HTML dropdown list of pages.
  *
- * @package WordPress
  * @since 2.1.0
  * @uses Walker
  */
@@ -1139,7 +1345,21 @@ class Walker_PageDropdown extends Walker {
                if ( $page->ID == $args['selected'] )
                        $output .= ' selected="selected"';
                $output .= '>';
-               $title = apply_filters( 'list_pages', $page->post_title, $page );
+
+               $title = $page->post_title;
+               if ( '' === $title ) {
+                       $title = sprintf( __( '#%d (no title)' ), $page->ID );
+               }
+
+               /**
+                * Filter the page title when creating an HTML drop-down list of pages.
+                *
+                * @since 3.1.0
+                *
+                * @param string $title Page title.
+                * @param object $page  Page data object.
+                */
+               $title = apply_filters( 'list_pages', $title, $page );
                $output .= $pad . esc_html( $title );
                $output .= "</option>\n";
        }
@@ -1154,7 +1374,7 @@ class Walker_PageDropdown extends Walker {
  *
  * @since 2.0.0
  *
- * @param int $id Optional. Post ID.
+ * @param int|WP_Post $id Optional. Post ID or post object.
  * @param bool $fullsize Optional, default is false. Whether to use full size.
  * @param bool $deprecated Deprecated. Not used.
  * @param bool $permalink Optional, default is false. Whether to include permalink.
@@ -1175,7 +1395,7 @@ function the_attachment_link( $id = 0, $fullsize = false, $deprecated = false, $
  * @since 2.5.0
  * @uses apply_filters() Calls 'wp_get_attachment_link' filter on HTML content with same parameters as function.
  *
- * @param int $id Optional. Post ID.
+ * @param int|WP_Post $id Optional. Post ID or post object.
  * @param string $size Optional, default is 'thumbnail'. Size of image, either array or string.
  * @param bool $permalink Optional, default is false. Whether to add permalink to image.
  * @param bool $icon Optional, default is false. Whether to include icon.
@@ -1204,6 +1424,18 @@ function wp_get_attachment_link( $id = 0, $size = 'thumbnail', $permalink = fals
        if ( trim( $link_text ) == '' )
                $link_text = $_post->post_title;
 
+       /**
+        * Filter a retrieved attachment page link.
+        *
+        * @since 2.7.0
+        *
+        * @param string      $link_html The page link HTML output.
+        * @param int         $id        Post ID.
+        * @param string      $size      Image size. Default 'thumbnail'.
+        * @param bool        $permalink Whether to add permalink to image. Default false.
+        * @param bool        $icon      Whether to include an icon. Default false.
+        * @param string|bool $text      If string, will be link text. Default false.
+        */
        return apply_filters( 'wp_get_attachment_link', "<a href='$url'>$link_text</a>", $id, $size, $permalink, $icon, $text );
 }
 
@@ -1211,7 +1443,6 @@ function wp_get_attachment_link( $id = 0, $size = 'thumbnail', $permalink = fals
  * Wrap attachment in <<p>> element before content.
  *
  * @since 2.0.0
- * @uses apply_filters() Calls 'prepend_attachment' hook on HTML content.
  *
  * @param string $content
  * @return string
@@ -1222,11 +1453,33 @@ function prepend_attachment($content) {
        if ( empty($post->post_type) || $post->post_type != 'attachment' )
                return $content;
 
-       $p = '<p class="attachment">';
-       // show the medium sized image representation of the attachment if available, and link to the raw file
-       $p .= wp_get_attachment_link(0, 'medium', false);
-       $p .= '</p>';
-       $p = apply_filters('prepend_attachment', $p);
+       if ( 0 === strpos( $post->post_mime_type, 'video' ) ) {
+               $meta = wp_get_attachment_metadata( get_the_ID() );
+               $atts = array( 'src' => wp_get_attachment_url() );
+               if ( ! empty( $meta['width'] ) && ! empty( $meta['height'] ) ) {
+                       $atts['width'] = (int) $meta['width'];
+                       $atts['height'] = (int) $meta['height'];
+               }
+               $p = wp_video_shortcode( $atts );
+       } elseif ( 0 === strpos( $post->post_mime_type, 'audio' ) ) {
+               $p = wp_audio_shortcode( array( 'src' => wp_get_attachment_url() ) );
+       } else {
+               $p = '<p class="attachment">';
+               // show the medium sized image representation of the attachment if available, and link to the raw file
+               $p .= wp_get_attachment_link(0, 'medium', false);
+               $p .= '</p>';
+       }
+
+       /**
+        * Filter the attachment markup to be prepended to the post content.
+        *
+        * @since 2.0.0
+        *
+        * @see prepend_attachment()
+        *
+        * @param string $p The attachment HTML output.
+        */
+       $p = apply_filters( 'prepend_attachment', $p );
 
        return "$p\n$content";
 }
@@ -1240,7 +1493,7 @@ function prepend_attachment($content) {
  *
  * @since 1.0.0
  * @uses apply_filters() Calls 'the_password_form' filter on output.
- * @param int|WP_Post $post Optional. A post id or post object. Defaults to the current post when in The Loop, undefined otherwise.
+ * @param int|WP_Post $post Optional. A post ID or post object.
  * @return string HTML content for password form for password protected post.
  */
 function get_the_password_form( $post = 0 ) {
@@ -1250,6 +1503,18 @@ function get_the_password_form( $post = 0 ) {
        <p>' . __( 'This content is password protected. To view it please enter your password below:' ) . '</p>
        <p><label for="' . $label . '">' . __( 'Password:' ) . ' <input name="post_password" id="' . $label . '" type="password" size="20" /></label> <input type="submit" name="Submit" value="' . esc_attr__( 'Submit' ) . '" /></p></form>
        ';
+
+       /**
+        * Filter the HTML output for the protected post password form.
+        *
+        * If modifying the password field, please note that the core database schema
+        * limits the password field to 20 characters regardless of the value of the
+        * size attribute in the form input.
+        *
+        * @since 2.7.0
+        *
+        * @param string $output The password form HTML output.
+        */
        return apply_filters( 'the_password_form', $output );
 }
 
@@ -1306,8 +1571,6 @@ function get_page_template_slug( $post_id = null ) {
 /**
  * Retrieve formatted date timestamp of a revision (linked to that revisions's page).
  *
- * @package WordPress
- * @subpackage Post_Revisions
  * @since 2.6.0
  *
  * @uses date_i18n()
@@ -1345,8 +1608,6 @@ function wp_post_revision_title( $revision, $link = true ) {
 /**
  * Retrieve formatted date timestamp of a revision (linked to that revisions's page).
  *
- * @package WordPress
- * @subpackage Post_Revisions
  * @since 3.6.0
  *
  * @uses date_i18n()
@@ -1398,8 +1659,6 @@ function wp_post_revision_title_expanded( $revision, $link = true ) {
  * Can output either a UL with edit links or a TABLE with diff interface, and
  * restore action links.
  *
- * @package WordPress
- * @subpackage Post_Revisions
  * @since 2.6.0
  *
  * @uses wp_get_post_revisions()
@@ -1407,7 +1666,7 @@ function wp_post_revision_title_expanded( $revision, $link = true ) {
  * @uses get_edit_post_link()
  * @uses get_the_author_meta()
  *
- * @param int|object $post_id Post ID or post object.
+ * @param int|WP_Post $post_id Optional. Post ID or post object.
  * @param string $type 'all' (default), 'revision' or 'autosave'
  * @return null
  */
@@ -1442,22 +1701,3 @@ function wp_list_post_revisions( $post_id = 0, $type = 'all' ) {
        echo $rows;
        echo "</ul>";
 }
-
-/**
- * Dashboard CSS fixes for 3.8.2.
- *
- * This function cheaply fixes #WP27082 and #WP26910 in lieu of
- * changing the massive wp-admin.css file in a point release.
- * This lucky includes file was already receiving an update.
- *
- * @since 3.8.2
- * @access private
- */
-function wp_382_css_hotfix() {
-       echo '<style type="text/css">
-#activity-widget #the-comment-list .comment-item { position: relative; }
-.tagsdiv .newtag { padding: 6px 10px; height: auto; }
-</style>
-';
-}
-add_action( 'admin_print_styles', 'wp_382_css_hotfix', 30 );
index 32ad86aad52c4b220137755827a363c89f7236ef..91201e79944069ea89b716cee9561c70493c94dd 100644 (file)
@@ -49,7 +49,7 @@ function the_post_thumbnail( $size = 'post-thumbnail', $attr = '' ) {
 /**
  * Update cache for thumbnails in the current loop
  *
- * @since 3.2
+ * @since 3.2.0
  *
  * @param object $wp_query Optional. A WP_Query instance. Defaults to the $wp_query global.
  */
index 857cd17a8eb4ba497f6c06f156a70408d4ce0983..d537148d29b157f855391c4a6a05eab35273c71b 100644 (file)
@@ -74,6 +74,8 @@ function create_initial_post_types() {
                'delete_with_user' => true,
                'supports' => array( 'title', 'author', 'comments' ),
        ) );
+       add_post_type_support( 'attachment:audio', 'thumbnail' );
+       add_post_type_support( 'attachment:video', 'thumbnail' );
 
        register_post_type( 'revision', array(
                'labels' => array(
@@ -189,6 +191,15 @@ function get_attached_file( $attachment_id, $unfiltered = false ) {
                $file = $uploads['basedir'] . "/$file";
        if ( $unfiltered )
                return $file;
+
+       /**
+        * Filter the attached file based on the given ID.
+        *
+        * @since 2.1.0
+        *
+        * @param string $file          Path to attached file.
+        * @param int    $attachment_id Attachment ID.
+        */
        return apply_filters( 'get_attached_file', $file, $attachment_id );
 }
 
@@ -199,7 +210,6 @@ function get_attached_file( $attachment_id, $unfiltered = false ) {
  * '_wp_attached_file' to store the path of the attachment.
  *
  * @since 2.1.0
- * @uses apply_filters() Calls 'update_attached_file' on file path and attachment ID.
  *
  * @param int $attachment_id Attachment ID
  * @param string $file File path for the attachment
@@ -209,7 +219,16 @@ function update_attached_file( $attachment_id, $file ) {
        if ( !get_post( $attachment_id ) )
                return false;
 
+       /**
+        * Filter the path to the attached file to update.
+        *
+        * @since 2.1.0
+        *
+        * @param string $file          Path to the attached file to update.
+        * @param int    $attachment_id Attachment ID.
+        */
        $file = apply_filters( 'update_attached_file', $file, $attachment_id );
+
        if ( $file = _wp_relative_upload_path( $file ) )
                return update_post_meta( $attachment_id, '_wp_attached_file', $file );
        else
@@ -222,7 +241,6 @@ function update_attached_file( $attachment_id, $file ) {
  * The path is relative to the current upload dir.
  *
  * @since 2.9.0
- * @uses apply_filters() Calls '_wp_relative_upload_path' on file path.
  *
  * @param string $path Full path to the file
  * @return string relative path on success, unchanged path on failure.
@@ -236,6 +254,14 @@ function _wp_relative_upload_path( $path ) {
                        $new_path = ltrim( $new_path, '/' );
        }
 
+       /**
+        * Filter the relative path to an uploaded file.
+        *
+        * @since 2.9.0
+        *
+        * @param string $new_path Relative path to the file.
+        * @param string $path     Full path to the file.
+        */
        return apply_filters( '_wp_relative_upload_path', $new_path, $path );
 }
 
@@ -380,7 +406,7 @@ function get_extended($post) {
  * @since 1.5.1
  * @link http://codex.wordpress.org/Function_Reference/get_post
  *
- * @param int|object $post Post ID or post object. Optional, default is the current post from the loop.
+ * @param int|WP_Post $post Optional. Post ID or post object.
  * @param string $output Optional, default is Object. Either OBJECT, ARRAY_A, or ARRAY_N.
  * @param string $filter Optional, default is raw.
  * @return WP_Post|null WP_Post on success or null on failure
@@ -710,7 +736,7 @@ final class WP_Post {
  *
  * @since 2.5.0
  *
- * @param int|object $post Post ID or post object
+ * @param int|WP_Post $post Post ID or post object.
  * @return array Ancestor IDs or empty array if none are found.
  */
 function get_post_ancestors( $post ) {
@@ -747,7 +773,7 @@ function get_post_ancestors( $post ) {
  * @uses sanitize_post_field() See for possible $context values.
  *
  * @param string $field Post field name.
- * @param int|object $post Post ID or post object.
+ * @param int|WP_Post $post Post ID or post object.
  * @param string $context Optional. How to filter the field. Default is 'display'.
  * @return string The value of the post field on success, empty string on failure.
  */
@@ -771,7 +797,7 @@ function get_post_field( $field, $post, $context = 'display' ) {
  *
  * @since 2.0.0
  *
- * @param int $ID Optional. Post ID. Default is the current post from the loop.
+ * @param int|WP_Post $ID Optional. Post ID or post object.
  * @return string|bool The mime type on success, false on failure.
  */
 function get_post_mime_type($ID = '') {
@@ -791,7 +817,7 @@ function get_post_mime_type($ID = '') {
  *
  * @since 2.0.0
  *
- * @param int $ID Optional. Post ID. Default is the current post from the loop.
+ * @param int|WP_Post $ID Optional. Post ID or post object.
  * @return string|bool Post status on success, false on failure.
  */
 function get_post_status($ID = '') {
@@ -876,8 +902,6 @@ function get_page_statuses() {
  *
  * Arguments prefixed with an _underscore shouldn't be used by plugins and themes.
  *
- * @package WordPress
- * @subpackage Post
  * @since 3.0.0
  * @uses $wp_post_statuses Inserts new post status object into the list
  *
@@ -951,8 +975,6 @@ function register_post_status($post_status, $args = array()) {
 /**
  * Retrieve a post status object by name
  *
- * @package WordPress
- * @subpackage Post
  * @since 3.0.0
  * @uses $wp_post_statuses
  * @see register_post_status
@@ -973,8 +995,6 @@ function get_post_status_object( $post_status ) {
 /**
  * Get a list of all registered post status objects.
  *
- * @package WordPress
- * @subpackage Post
  * @since 3.0.0
  * @uses $wp_post_statuses
  * @see register_post_status
@@ -1031,7 +1051,7 @@ function post_type_exists( $post_type ) {
  *
  * @since 2.1.0
  *
- * @param int|object $post Optional. Post ID or post object. Default is the current post from the loop.
+ * @param int|WP_Post $post Optional. Post ID or post object.
  * @return string|bool Post type on success, false on failure.
  */
 function get_post_type( $post = null ) {
@@ -1044,8 +1064,6 @@ function get_post_type( $post = null ) {
 /**
  * Retrieve a post type object by name
  *
- * @package WordPress
- * @subpackage Post
  * @since 3.0.0
  * @uses $wp_post_types
  * @see register_post_type
@@ -1066,8 +1084,6 @@ function get_post_type_object( $post_type ) {
 /**
  * Get a list of all registered post type objects.
  *
- * @package WordPress
- * @subpackage Post
  * @since 2.9.0
  * @uses $wp_post_types
  * @see register_post_type
@@ -1131,7 +1147,7 @@ function get_post_types( $args = array(), $output = 'names', $operator = 'and' )
  * - menu_icon - The url to the icon to be used for this menu. Defaults to use the posts icon.
  *     * Pass a base64-encoded SVG using a data URI, which will be colored to match the color scheme.
  *      This should begin with 'data:image/svg+xml;base64,'.
- *     * Pass the name of a Dashicons helper class to use a font icon, e.g. 'dashicons-piechart'.
+ *     * Pass the name of a Dashicons helper class to use a font icon, e.g. 'dashicons-chart-pie'.
  *     * Pass 'none' to leave div.wp-menu-image empty so an icon can be added via CSS.
  * - capability_type - The string to use to build the read, edit, and delete capabilities. Defaults to 'post'.
  *     * May be passed as an array to allow for alternative plurals when using this argument as a base to construct the
@@ -1335,6 +1351,14 @@ function register_post_type( $post_type, $args = array() ) {
                register_taxonomy_for_object_type( $taxonomy, $post_type );
        }
 
+       /**
+        * Fires after a post type is registered.
+        *
+        * @since 3.3.0
+        *
+        * @param string $post_type Post type.
+        * @param array  $args      Arguments used to register the post type.
+        */
        do_action( 'registered_post_type', $post_type, $args );
 
        return $args;
@@ -1501,6 +1525,19 @@ function get_post_type_labels( $post_type_object ) {
        $labels = _get_custom_object_labels( $post_type_object, $nohier_vs_hier_defaults );
 
        $post_type = $post_type_object->name;
+
+       /**
+        * Filter the labels of a specific post type.
+        *
+        * The dynamic portion of the hook name, $post_type, refers to
+        * the post type slug.
+        *
+        * @since 3.5.0
+        *
+        * @see get_post_type_labels() for the full list of labels.
+        *
+        * @param array $labels Array of labels for the given post type.
+        */
        return apply_filters( "post_type_labels_{$post_type}", $labels );
 }
 
@@ -1555,16 +1592,20 @@ add_action( 'admin_menu', '_add_post_type_submenus' );
 /**
  * Register support of certain features for a post type.
  *
- * All features are directly associated with a functional area of the edit screen, such as the
- * editor or a meta box: 'title', 'editor', 'comments', 'revisions', 'trackbacks', 'author',
- * 'excerpt', 'page-attributes', 'thumbnail', and 'custom-fields'.
+ * All core features are directly associated with a functional area of the edit
+ * screen, such as the editor or a meta box. Features include: 'title', 'editor',
+ * 'comments', 'revisions', 'trackbacks', 'author', 'excerpt', 'page-attributes',
+ * 'thumbnail', 'custom-fields', and 'post-formats'.
  *
- * Additionally, the 'revisions' feature dictates whether the post type will store revisions,
- * and the 'comments' feature dictates whether the comments count will show on the edit screen.
+ * Additionally, the 'revisions' feature dictates whether the post type will
+ * store revisions, and the 'comments' feature dictates whether the comments
+ * count will show on the edit screen.
  *
  * @since 3.0.0
- * @param string $post_type The post type for which to add the feature
- * @param string|array $feature the feature being added, can be an array of feature strings or a single string
+ *
+ * @param string       $post_type The post type for which to add the feature.
+ * @param string|array $feature   The feature being added, accpets an array of
+ *                                feature strings or a single string.
  */
 function add_post_type_support( $post_type, $feature ) {
        global $_wp_post_type_features;
@@ -1785,7 +1826,7 @@ function get_post_meta($post_id, $key = '', $single = false) {
  * @param string $meta_key Metadata key.
  * @param mixed $meta_value Metadata value. Must be serializable if non-scalar.
  * @param mixed $prev_value Optional. Previous value to check before removing.
- * @return bool True on success, false on failure.
+ * @return int|bool Meta ID if the key didn't exist, true on successful update, false on failure.
  */
 function update_post_meta($post_id, $meta_key, $meta_value, $prev_value = '') {
        // make sure meta is added to the post, not a revision
@@ -1941,17 +1982,6 @@ function sanitize_post($post, $context = 'display') {
  * when calling filters.
  *
  * @since 2.3.0
- * @uses apply_filters() Calls 'edit_$field' and '{$field_no_prefix}_edit_pre' passing $value and
- *  $post_id if $context == 'edit' and field name prefix == 'post_'.
- *
- * @uses apply_filters() Calls 'edit_post_$field' passing $value and $post_id if $context == 'db'.
- * @uses apply_filters() Calls 'pre_$field' passing $value if $context == 'db' and field name prefix == 'post_'.
- * @uses apply_filters() Calls '{$field}_pre' passing $value if $context == 'db' and field name prefix != 'post_'.
- *
- * @uses apply_filters() Calls '$field' passing $value, $post_id and $context if $context == anything
- *  other than 'raw', 'edit' and 'db' and field name prefix == 'post_'.
- * @uses apply_filters() Calls 'post_$field' passing $value if $context == anything other than 'raw',
- *  'edit' and 'db' and field name prefix != 'post_'.
  *
  * @param string $field The Post Object field name.
  * @param mixed $value The Post Object value.
@@ -1985,11 +2015,33 @@ function sanitize_post_field($field, $value, $post_id, $context) {
                $format_to_edit = array('post_content', 'post_excerpt', 'post_title', 'post_password');
 
                if ( $prefixed ) {
-                       $value = apply_filters("edit_{$field}", $value, $post_id);
-                       // Old school
-                       $value = apply_filters("{$field_no_prefix}_edit_pre", $value, $post_id);
+
+                       /**
+                        * Filter the value of a specific post field to edit.
+                        *
+                        * The dynamic portion of the hook name, $field, refers to the post field name.
+                        *
+                        * @since 2.3.0
+                        *
+                        * @param mixed $value   Value of the post field.
+                        * @param int   $post_id Post ID.
+                        */
+                       $value = apply_filters( "edit_{$field}", $value, $post_id );
+
+                       /**
+                        * Filter the value of a specific post field to edit.
+                        *
+                        * The dynamic portion of the hook name, $field_no_prefix, refers to
+                        * the post field name.
+                        *
+                        * @since 2.3.0
+                        *
+                        * @param mixed $value   Value of the post field.
+                        * @param int   $post_id Post ID.
+                        */
+                       $value = apply_filters( "{$field_no_prefix}_edit_pre", $value, $post_id );
                } else {
-                       $value = apply_filters("edit_post_{$field}", $value, $post_id);
+                       $value = apply_filters( "edit_post_{$field}", $value, $post_id );
                }
 
                if ( in_array($field, $format_to_edit) ) {
@@ -2002,18 +2054,65 @@ function sanitize_post_field($field, $value, $post_id, $context) {
                }
        } else if ( 'db' == $context ) {
                if ( $prefixed ) {
-                       $value = apply_filters("pre_{$field}", $value);
-                       $value = apply_filters("{$field_no_prefix}_save_pre", $value);
+
+                       /**
+                        * Filter the value of a specific post field before saving.
+                        *
+                        * The dynamic portion of the hook name, $field, refers to the post field name.
+                        *
+                        * @since 2.3.0
+                        *
+                        * @param mixed $value Value of the post field.
+                        */
+                       $value = apply_filters( "pre_{$field}", $value );
+
+                       /**
+                        * Filter the value of a specific field before saving.
+                        *
+                        * The dynamic portion of the hook name, $field_no_prefix, refers
+                        * to the post field name.
+                        *
+                        * @since 2.3.0
+                        *
+                        * @param mixed $value Value of the post field.
+                        */
+                       $value = apply_filters( "{$field_no_prefix}_save_pre", $value );
                } else {
-                       $value = apply_filters("pre_post_{$field}", $value);
-                       $value = apply_filters("{$field}_pre", $value);
+                       $value = apply_filters( "pre_post_{$field}", $value );
+
+                       /**
+                        * Filter the value of a specific post field before saving.
+                        *
+                        * The dynamic portion of the hook name, $field, refers to the post field name.
+                        *
+                        * @since 2.3.0
+                        *
+                        * @param mixed $value Value of the post field.
+                        */
+                       $value = apply_filters( "{$field}_pre", $value );
                }
        } else {
+
                // Use display filters by default.
-               if ( $prefixed )
-                       $value = apply_filters($field, $value, $post_id, $context);
-               else
-                       $value = apply_filters("post_{$field}", $value, $post_id, $context);
+               if ( $prefixed ) {
+
+                       /**
+                        * Filter the value of a specific post field for display.
+                        *
+                        * The dynamic portion of the hook name, $field, refers to the post field name.
+                        *
+                        * @since 2.3.0
+                        *
+                        * @param mixed  $value   Value of the prefixed post field.
+                        * @param int    $post_id Post ID.
+                        * @param string $context Context for how to sanitize the field. Possible
+                        *                        values include 'raw', 'edit', 'db', 'display',
+                        *                        'attribute' and 'js'.
+                        */
+                       $value = apply_filters( $field, $value, $post_id, $context );
+               } else {
+                       $value = apply_filters( "post_{$field}", $value, $post_id, $context );
+               }
        }
 
        if ( 'attribute' == $context )
@@ -2072,6 +2171,26 @@ function unstick_post($post_id) {
        update_option('sticky_posts', $stickies);
 }
 
+/**
+ * Return the cache key for wp_count_posts() based on the passed arguments
+ *
+ * @since 3.9.0
+ *
+ * @param string $type Optional. Post type to retrieve count
+ * @param string $perm Optional. 'readable' or empty.
+ * @return string The cache key.
+ */
+function _count_posts_cache_key( $type = 'post', $perm = '' ) {
+       $cache_key = 'posts-' . $type;
+       if ( 'readable' == $perm && is_user_logged_in() ) {
+               $post_type_object = get_post_type_object( $type );
+               if ( ! current_user_can( $post_type_object->cap->read_private_posts ) ) {
+                       $cache_key .= '_' . $perm . '_' . get_current_user_id();
+               }
+       }
+       return $cache_key;
+}
+
 /**
  * Count number of posts of a post type and if user has permissions to view.
  *
@@ -2097,16 +2216,15 @@ function wp_count_posts( $type = 'post', $perm = '' ) {
        if ( ! post_type_exists( $type ) )
                return new stdClass;
 
-       $user = wp_get_current_user();
-
-       $cache_key = 'posts-' . $type;
+       $cache_key = _count_posts_cache_key( $type, $perm );
 
        $query = "SELECT post_status, COUNT( * ) AS num_posts FROM {$wpdb->posts} WHERE post_type = %s";
        if ( 'readable' == $perm && is_user_logged_in() ) {
                $post_type_object = get_post_type_object($type);
-               if ( !current_user_can( $post_type_object->cap->read_private_posts ) ) {
-                       $cache_key .= '_' . $perm . '_' . $user->ID;
-                       $query .= " AND (post_status != 'private' OR ( post_author = '$user->ID' AND post_status = 'private' ))";
+               if ( ! current_user_can( $post_type_object->cap->read_private_posts ) ) {
+                       $query .= $wpdb->prepare( " AND (post_status != 'private' OR ( post_author = %d AND post_status = 'private' ))",
+                               get_current_user_id()
+                       );
                }
        }
        $query .= ' GROUP BY post_status';
@@ -2128,9 +2246,11 @@ function wp_count_posts( $type = 'post', $perm = '' ) {
         *
         * @since 3.7.0
         *
-        * @param object $counts An object containing the current post_type's post counts by status.
-        * @param string $type   The post type.
-        * @param string $perm   The permission to determine if the posts are 'readable' by the current user.
+        * @param object $counts An object containing the current post_type's post
+        *                       counts by status.
+        * @param string $type   Post type.
+        * @param string $perm   The permission to determine if the posts are 'readable'
+        *                       by the current user.
         */
        return apply_filters( 'wp_count_posts', $counts, $type, $perm );
 }
@@ -2146,7 +2266,7 @@ function wp_count_posts( $type = 'post', $perm = '' ) {
  * @since 2.5.0
  *
  * @param string|array $mime_type Optional. Array or comma-separated list of MIME patterns.
- * @return array Number of posts for each mime type.
+ * @return object An object containing the attachment counts by mime type.
  */
 function wp_count_attachments( $mime_type = '' ) {
        global $wpdb;
@@ -2185,7 +2305,14 @@ function get_post_mime_types() {
                'video' => array(__('Video'), __('Manage Video'), _n_noop('Video <span class="count">(%s)</span>', 'Video <span class="count">(%s)</span>')),
        );
 
-       return apply_filters('post_mime_types', $post_mime_types);
+       /**
+        * Filter the default list of post mime types.
+        *
+        * @since 2.5.0
+        *
+        * @param array $post_mime_types Default list of post mime types.
+        */
+       return apply_filters( 'post_mime_types', $post_mime_types );
 }
 
 /**
@@ -2282,8 +2409,7 @@ function wp_post_mime_type_where($post_mime_types, $table_alias = '') {
  * disabled, item is already in the trash, or $force_delete is true.
  *
  * @since 1.0.0
- * @uses do_action() on 'delete_post' before deletion unless post type is 'attachment'.
- * @uses do_action() on 'deleted_post' after deletion unless post type is 'attachment'.
+ *
  * @uses wp_delete_attachment() if post type is 'attachment'.
  * @uses wp_trash_post() if item should be trashed.
  *
@@ -2303,7 +2429,16 @@ function wp_delete_post( $postid = 0, $force_delete = false ) {
        if ( $post->post_type == 'attachment' )
                return wp_delete_attachment( $postid, $force_delete );
 
-       do_action('before_delete_post', $postid);
+       /**
+        * Fires before a post is deleted, at the start of wp_delete_post().
+        *
+        * @since 3.2.0
+        *
+        * @see wp_delete_post()
+        *
+        * @param int $postid Post ID.
+        */
+       do_action( 'before_delete_post', $postid );
 
        delete_post_meta($postid,'_wp_trash_meta_status');
        delete_post_meta($postid,'_wp_trash_meta_time');
@@ -2338,11 +2473,26 @@ function wp_delete_post( $postid = 0, $force_delete = false ) {
        foreach ( $post_meta_ids as $mid )
                delete_metadata_by_mid( 'post', $mid );
 
+       /**
+        * Fires immediately before a post is deleted from the database.
+        *
+        * @since 1.2.0
+        *
+        * @param int $postid Post ID.
+        */
        do_action( 'delete_post', $postid );
        $result = $wpdb->delete( $wpdb->posts, array( 'ID' => $postid ) );
        if ( ! $result ) {
                return false;
        }
+
+       /**
+        * Fires immediately after a post is deleted from the database.
+        *
+        * @since 2.2.0
+        *
+        * @param int $postid Post ID.
+        */
        do_action( 'deleted_post', $postid );
 
        clean_post_cache( $post );
@@ -2354,7 +2504,16 @@ function wp_delete_post( $postid = 0, $force_delete = false ) {
 
        wp_clear_scheduled_hook('publish_future_post', array( $postid ) );
 
-       do_action('after_delete_post', $postid);
+       /**
+        * Fires after a post is deleted, at the conclusion of wp_delete_post().
+        *
+        * @since 3.2.0
+        *
+        * @see wp_delete_post()
+        *
+        * @param int $postid Post ID.
+        */
+       do_action( 'after_delete_post', $postid );
 
        return $post;
 }
@@ -2393,8 +2552,7 @@ add_action( 'wp_trash_post',      '_reset_front_page_settings_for_post' );
  * If trash is disabled, the post or page is permanently deleted.
  *
  * @since 2.9.0
- * @uses do_action() on 'trash_post' before trashing
- * @uses do_action() on 'trashed_post' after trashing
+ *
  * @uses wp_delete_post() if trash is disabled
  *
  * @param int $post_id Post ID.
@@ -2410,7 +2568,14 @@ function wp_trash_post($post_id = 0) {
        if ( $post['post_status'] == 'trash' )
                return false;
 
-       do_action('wp_trash_post', $post_id);
+       /**
+        * Fires before a post is sent to the trash.
+        *
+        * @since 3.3.0
+        *
+        * @param int $post_id Post ID.
+        */
+       do_action( 'wp_trash_post', $post_id );
 
        add_post_meta($post_id,'_wp_trash_meta_status', $post['post_status']);
        add_post_meta($post_id,'_wp_trash_meta_time', time());
@@ -2420,7 +2585,14 @@ function wp_trash_post($post_id = 0) {
 
        wp_trash_post_comments($post_id);
 
-       do_action('trashed_post', $post_id);
+       /**
+        * Fires after a post is sent to the trash.
+        *
+        * @since 2.9.0
+        *
+        * @param int $post_id Post ID.
+        */
+       do_action( 'trashed_post', $post_id );
 
        return $post;
 }
@@ -2429,8 +2601,6 @@ function wp_trash_post($post_id = 0) {
  * Restores a post or page from the Trash
  *
  * @since 2.9.0
- * @uses do_action() on 'untrash_post' before undeletion
- * @uses do_action() on 'untrashed_post' after undeletion
  *
  * @param int $post_id Post ID.
  * @return mixed False on failure
@@ -2442,7 +2612,14 @@ function wp_untrash_post($post_id = 0) {
        if ( $post['post_status'] != 'trash' )
                return false;
 
-       do_action('untrash_post', $post_id);
+       /**
+        * Fires before a post is restored from the trash.
+        *
+        * @since 2.9.0
+        *
+        * @param int $post_id Post ID.
+        */
+       do_action( 'untrash_post', $post_id );
 
        $post_status = get_post_meta($post_id, '_wp_trash_meta_status', true);
 
@@ -2455,7 +2632,14 @@ function wp_untrash_post($post_id = 0) {
 
        wp_untrash_post_comments($post_id);
 
-       do_action('untrashed_post', $post_id);
+       /**
+        * Fires after a post is restored from the trash.
+        *
+        * @since 2.9.0
+        *
+        * @param int $post_id Post ID.
+        */
+       do_action( 'untrashed_post', $post_id );
 
        return $post;
 }
@@ -2464,10 +2648,8 @@ function wp_untrash_post($post_id = 0) {
  * Moves comments for a post to the trash
  *
  * @since 2.9.0
- * @uses do_action() on 'trash_post_comments' before trashing
- * @uses do_action() on 'trashed_post_comments' after trashing
  *
- * @param int|object $post Post ID or object.
+ * @param int|WP_Post $post Optional. Post ID or post object.
  * @return mixed False on failure
  */
 function wp_trash_post_comments($post = null) {
@@ -2479,7 +2661,14 @@ function wp_trash_post_comments($post = null) {
 
        $post_id = $post->ID;
 
-       do_action('trash_post_comments', $post_id);
+       /**
+        * Fires before comments are sent to the trash.
+        *
+        * @since 2.9.0
+        *
+        * @param int $post_id Post ID.
+        */
+       do_action( 'trash_post_comments', $post_id );
 
        $comments = $wpdb->get_results( $wpdb->prepare("SELECT comment_ID, comment_approved FROM $wpdb->comments WHERE comment_post_ID = %d", $post_id) );
        if ( empty($comments) )
@@ -2496,7 +2685,15 @@ function wp_trash_post_comments($post = null) {
 
        clean_comment_cache( array_keys($statuses) );
 
-       do_action('trashed_post_comments', $post_id, $statuses);
+       /**
+        * Fires after comments are sent to the trash.
+        *
+        * @since 2.9.0
+        *
+        * @param int   $post_id  Post ID.
+        * @param array $statuses Array of comment statuses.
+        */
+       do_action( 'trashed_post_comments', $post_id, $statuses );
 
        return $result;
 }
@@ -2505,10 +2702,8 @@ function wp_trash_post_comments($post = null) {
  * Restore comments for a post from the trash
  *
  * @since 2.9.0
- * @uses do_action() on 'untrash_post_comments' before trashing
- * @uses do_action() on 'untrashed_post_comments' after trashing
  *
- * @param int|object $post Post ID or object.
+ * @param int|WP_Post $post Optional. Post ID or post object.
  * @return mixed False on failure
  */
 function wp_untrash_post_comments($post = null) {
@@ -2525,7 +2720,14 @@ function wp_untrash_post_comments($post = null) {
        if ( empty($statuses) )
                return true;
 
-       do_action('untrash_post_comments', $post_id);
+       /**
+        * Fires before comments are restored for a post from the trash.
+        *
+        * @since 2.9.0
+        *
+        * @param int $post_id Post ID.
+        */
+       do_action( 'untrash_post_comments', $post_id );
 
        // Restore each comment to its original status
        $group_by_status = array();
@@ -2544,7 +2746,14 @@ function wp_untrash_post_comments($post = null) {
 
        delete_post_meta($post_id, '_wp_trash_meta_comments_status');
 
-       do_action('untrashed_post_comments', $post_id);
+       /**
+        * Fires after comments are restored for a post from the trash.
+        *
+        * @since 2.9.0
+        *
+        * @param int $post_id Post ID.
+        */
+       do_action( 'untrashed_post_comments', $post_id );
 }
 
 /**
@@ -2578,8 +2787,6 @@ function wp_get_post_categories( $post_id = 0, $args = array() ) {
  * is set to 'all'. There are other defaults that can be overridden in
  * {@link wp_get_object_terms()}.
  *
- * @package WordPress
- * @subpackage Post
  * @since 2.3.0
  *
  * @uses wp_get_object_terms() Gets the tags for returning. Args can be found here
@@ -2599,8 +2806,6 @@ function wp_get_post_tags( $post_id = 0, $args = array() ) {
  * is set to 'all'. There are other defaults that can be overridden in
  * {@link wp_get_object_terms()}.
  *
- * @package WordPress
- * @subpackage Post
  * @since 2.8.0
  *
  * @uses wp_get_object_terms() Gets the tags for returning. Args can be found here
@@ -2682,21 +2887,21 @@ function wp_get_recent_posts( $args = array(), $output = ARRAY_A ) {
  * @param array $postarr {
  *     An array of elements that make up a post to update or insert.
  *
- *     @type int    'ID'                    The post ID. If equal to something other than 0, the post with that ID will
- *                                          be updated. Default 0.
- *     @type string 'post_status'           The post status. Default 'draft'.
- *     @type string 'post_type'             The post type. Default 'post'.
- *     @type int    'post_author'           The ID of the user who added the post. Default the current user ID.
- *     @type bool   'ping_status'           Whether the post can accept pings. Default value of 'default_ping_status' option.
- *     @type int    'post_parent'           Set this for the post it belongs to, if any. Default 0.
- *     @type int    'menu_order'            The order it is displayed. Default 0.
- *     @type string 'to_ping'               Space or carriage return-separated list of URLs to ping. Default empty string.
- *     @type string 'pinged'                Space or carriage return-separated list of URLs that have been pinged.
- *                                          Default empty string.
- *     @type string 'post_password          The password to access the post. Default empty string.
- *     @type string 'guid'                  Global Unique ID for referencing the post.
- *     @type string 'post_content_filtered' The filtered post content. Default empty string.
- *     @type string 'post_excerpt'          The post excerpt. Default empty string.
+ *     @type int    $ID                    The post ID. If equal to something other than 0, the post with that ID will
+ *                                         be updated. Default 0.
+ *     @type string $post_status           The post status. Default 'draft'.
+ *     @type string $post_type             The post type. Default 'post'.
+ *     @type int    $post_author           The ID of the user who added the post. Default the current user ID.
+ *     @type bool   $ping_status           Whether the post can accept pings. Default value of 'default_ping_status' option.
+ *     @type int    $post_parent           Set this for the post it belongs to, if any. Default 0.
+ *     @type int    $menu_order            The order it is displayed. Default 0.
+ *     @type string $to_ping               Space or carriage return-separated list of URLs to ping. Default empty string.
+ *     @type string $pinged                Space or carriage return-separated list of URLs that have been pinged.
+ *                                         Default empty string.
+ *     @type string $post_password         The password to access the post. Default empty string.
+ *     @type string $guid'                 Global Unique ID for referencing the post.
+ *     @type string $post_content_filtered The filtered post content. Default empty string.
+ *     @type string $post_excerpt          The post excerpt. Default empty string.
  * }
  * @param bool  $wp_error Optional. Allow return of WP_Error on failure.
  * @return int|WP_Error The post ID on success. The value 0 or WP_Error on failure.
@@ -2745,6 +2950,22 @@ function wp_insert_post( $postarr, $wp_error = false ) {
        $maybe_empty = ! $post_content && ! $post_title && ! $post_excerpt && post_type_supports( $post_type, 'editor' )
                && post_type_supports( $post_type, 'title' ) && post_type_supports( $post_type, 'excerpt' );
 
+       /**
+        * Filter whether the post should be considered "empty".
+        *
+        * The post is considered "empty" if both:
+        * 1. The post type supports the title, editor, and excerpt fields
+        * 2. The title, editor, and excerpt fields are all empty
+        *
+        * Returning a truthy value to the filter will effectively short-circuit
+        * the new post being inserted, returning 0. If $wp_error is true, a WP_Error
+        * will be returned instead.
+        *
+        * @since 3.3.0
+        *
+        * @param bool  $maybe_empty Whether the post should be considered "empty".
+        * @param array $postarr     Array of post data.
+        */
        if ( apply_filters( 'wp_insert_post_empty_content', $maybe_empty, $postarr ) ) {
                if ( $wp_error )
                        return new WP_Error( 'empty_content', __( 'Content, title, and excerpt are empty.' ) );
@@ -2856,7 +3077,16 @@ function wp_insert_post( $postarr, $wp_error = false ) {
        else
                $post_parent = 0;
 
-       // Check the post_parent to see if it will cause a hierarchy loop
+       /**
+        * Filter the post parent -- used to check for and prevent hierarchy loops.
+        *
+        * @since 3.1.0
+        *
+        * @param int   $post_parent Post parent ID.
+        * @param int   $post_ID     Post ID.
+        * @param array $new_postarr Array of parsed post data.
+        * @param array $postarr     Array of sanitized, but otherwise unmodified post data.
+        */
        $post_parent = apply_filters( 'wp_insert_post_parent', $post_parent, $post_ID, compact( array_keys( $postarr ) ), $postarr );
 
        if ( isset($menu_order) )
@@ -2871,11 +3101,28 @@ function wp_insert_post( $postarr, $wp_error = false ) {
 
        // expected_slashed (everything!)
        $data = compact( array( 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_content_filtered', 'post_title', 'post_excerpt', 'post_status', 'post_type', 'comment_status', 'ping_status', 'post_password', 'post_name', 'to_ping', 'pinged', 'post_modified', 'post_modified_gmt', 'post_parent', 'menu_order', 'guid' ) );
-       $data = apply_filters('wp_insert_post_data', $data, $postarr);
+
+       /**
+        * Filter slashed post data just before it is inserted into the database.
+        *
+        * @since 2.7.0
+        *
+        * @param array $data    Array of slashed post data.
+        * @param array $postarr Array of sanitized, but otherwise unmodified post data.
+        */
+       $data = apply_filters( 'wp_insert_post_data', $data, $postarr );
        $data = wp_unslash( $data );
        $where = array( 'ID' => $post_ID );
 
        if ( $update ) {
+               /**
+                * Fires immediately before an existing post is updated in the database.
+                *
+                * @since 2.5.0
+                *
+                * @param int   $post_ID Post ID.
+                * @param array $data    Array of unslashed post data.
+                */
                do_action( 'pre_post_update', $post_ID, $data );
                if ( false === $wpdb->update( $wpdb->posts, $data, $where ) ) {
                        if ( $wp_error )
@@ -2939,7 +3186,7 @@ function wp_insert_post( $postarr, $wp_error = false ) {
 
        if ( !empty($page_template) && 'page' == $data['post_type'] ) {
                $post->page_template = $page_template;
-               $page_templates = wp_get_theme()->get_page_templates();
+               $page_templates = wp_get_theme()->get_page_templates( $post );
                if ( 'default' != $page_template && ! isset( $page_templates[ $page_template ] ) ) {
                        if ( $wp_error )
                                return new WP_Error('invalid_page_template', __('The page template is invalid.'));
@@ -2952,13 +3199,63 @@ function wp_insert_post( $postarr, $wp_error = false ) {
        wp_transition_post_status($data['post_status'], $previous_status, $post);
 
        if ( $update ) {
-               do_action('edit_post', $post_ID, $post);
+               /**
+                * Fires once an existing post has been updated.
+                *
+                * @since 1.2.0
+                *
+                * @param int     $post_ID Post ID.
+                * @param WP_Post $post    Post object.
+                */
+               do_action( 'edit_post', $post_ID, $post );
                $post_after = get_post($post_ID);
+
+               /**
+                * Fires once an existing post has been updated.
+                *
+                * @since 3.0.0
+                *
+                * @param int     $post_ID      Post ID.
+                * @param WP_Post $post_after   Post object following the update.
+                * @param WP_Post $post_before  Post object before the update.
+                */
                do_action( 'post_updated', $post_ID, $post_after, $post_before);
        }
 
+       /**
+        * Fires once a post has been saved.
+        *
+        * The dynamic portion of the hook name, $post->post_type, refers to
+        * the post type slug.
+        *
+        * @since 3.7.0
+        *
+        * @param int     $post_ID Post ID.
+        * @param WP_Post $post    Post object.
+        * @param bool    $update  Whether this is an existing post being updated or not.
+        */
        do_action( "save_post_{$post->post_type}", $post_ID, $post, $update );
+
+       /**
+        * Fires once a post has been saved.
+        *
+        * @since 1.5.0
+        *
+        * @param int     $post_ID Post ID.
+        * @param WP_Post $post    Post object.
+        * @param bool    $update  Whether this is an existing post being updated or not.
+        */
        do_action( 'save_post', $post_ID, $post, $update );
+
+       /**
+        * Fires once a post has been saved.
+        *
+        * @since 2.0.0
+        *
+        * @param int     $post_ID Post ID.
+        * @param WP_Post $post    Post object.
+        * @param bool    $update  Whether this is an existing post being updated or not.
+        */
        do_action( 'wp_insert_post', $post_ID, $post, $update );
 
        return $post_ID;
@@ -3028,9 +3325,8 @@ function wp_update_post( $postarr = array(), $wp_error = false ) {
  *
  * @since 2.1.0
  * @uses $wpdb
- * @uses do_action() Calls 'edit_post', 'save_post_{$post_type}', 'save_post' and 'wp_insert_post' on post_id and post data.
  *
- * @param int|object $post Post ID or object.
+ * @param int|WP_Post $post Post ID or post object.
  */
 function wp_publish_post( $post ) {
        global $wpdb;
@@ -3049,9 +3345,13 @@ function wp_publish_post( $post ) {
        $post->post_status = 'publish';
        wp_transition_post_status( 'publish', $old_status, $post );
 
+       /** This action is documented in wp-includes/post.php */
        do_action( 'edit_post', $post->ID, $post );
+       /** This action is documented in wp-includes/post.php */
        do_action( "save_post_{$post->post_type}", $post->ID, $post, true );
+       /** This action is documented in wp-includes/post.php */
        do_action( 'save_post', $post->ID, $post, true );
+       /** This action is documented in wp-includes/post.php */
        do_action( 'wp_insert_post', $post->ID, $post, true );
 }
 
@@ -3063,7 +3363,7 @@ function wp_publish_post( $post ) {
  *
  * @since 2.5.0
  *
- * @param int $post_id Post ID.
+ * @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) {
@@ -3119,6 +3419,14 @@ 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 ID != %d LIMIT 1";
                $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug, $post_ID ) );
 
+               /**
+                * Filter whether the post slug would make a bad attachment slug.
+                *
+                * @since 3.1.0
+                *
+                * @param bool   $bad_slug Whether the slug would be bad as an attachment slug.
+                * @param string $slug     The post slug.
+                */
                if ( $post_name_check || in_array( $slug, $feeds ) || apply_filters( 'wp_unique_post_slug_is_bad_attachment_slug', false, $slug ) ) {
                        $suffix = 2;
                        do {
@@ -3131,11 +3439,24 @@ function wp_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_p
        } elseif ( in_array( $post_type, $hierarchical_post_types ) ) {
                if ( 'nav_menu_item' == $post_type )
                        return $slug;
-               // Page slugs must be unique within their own trees. Pages are in a separate
-               // namespace than posts so page slugs are allowed to overlap post slugs.
+
+               /*
+                * Page slugs must be unique within their own trees. Pages are in a separate
+                * namespace than posts so page slugs are allowed to overlap post slugs.
+                */
                $check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND post_type IN ( '" . implode( "', '", esc_sql( $hierarchical_post_types ) ) . "' ) AND ID != %d AND post_parent = %d LIMIT 1";
                $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug, $post_ID, $post_parent ) );
 
+               /**
+                * Filter whether the post slug would make a bad hierarchical post slug.
+                *
+                * @since 3.1.0
+                *
+                * @param bool   $bad_slug    Whether the post slug would be bad in a hierarchical post context.
+                * @param string $slug        The post slug.
+                * @param string $post_type   Post type.
+                * @param int    $post_parent Post parent ID.
+                */
                if ( $post_name_check || in_array( $slug, $feeds ) || preg_match( "@^($wp_rewrite->pagination_base)?\d+$@", $slug )  || apply_filters( 'wp_unique_post_slug_is_bad_hierarchical_slug', false, $slug, $post_type, $post_parent ) ) {
                        $suffix = 2;
                        do {
@@ -3150,6 +3471,15 @@ 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 ) );
 
+               /**
+                * Filter whether the post slug would be bad as a flat slug.
+                *
+                * @since 3.1.0
+                *
+                * @param bool   $bad_slug  Whether the post slug would be bad as a flat slug.
+                * @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 ) ) {
                        $suffix = 2;
                        do {
@@ -3161,6 +3491,18 @@ function wp_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_p
                }
        }
 
+       /**
+        * Filter the unique post slug.
+        *
+        * @since 3.3.0
+        *
+        * @param string $slug          The post slug.
+        * @param int    $post_ID       Post ID.
+        * @param string $post_status   The post status.
+        * @param string $post_type     Post type.
+        * @param int    $post_parent   Post parent ID
+        * @param string $original_slug The original post slug.
+        */
        return apply_filters( 'wp_unique_post_slug', $slug, $post_ID, $post_status, $post_type, $post_parent, $original_slug );
 }
 
@@ -3192,8 +3534,6 @@ function _truncate_post_slug( $slug, $length = 200 ) {
  *
  * @uses wp_set_post_tags() Same first two parameters, but the last parameter is always set to true.
  *
- * @package WordPress
- * @subpackage Post
  * @since 2.3.0
  *
  * @param int $post_id Post ID
@@ -3304,21 +3644,49 @@ function wp_set_post_categories( $post_ID = 0, $post_categories = array(), $appe
  * parameter and POSTTYPE is post_type post data.
  *
  * @since 2.3.0
- * @link http://codex.wordpress.org/Post_Status_Transitions
  *
- * @uses do_action() Calls 'transition_post_status' on $new_status, $old_status and
- *  $post if there is a status change.
- * @uses do_action() Calls '{$old_status}_to_{$new_status}' on $post if there is a status change.
- * @uses do_action() Calls '{$new_status}_{$post->post_type}' on post ID and $post.
+ * @link http://codex.wordpress.org/Post_Status_Transitions
  *
  * @param string $new_status Transition to this post status.
  * @param string $old_status Previous post status.
  * @param object $post Post data.
  */
 function wp_transition_post_status($new_status, $old_status, $post) {
-       do_action('transition_post_status', $new_status, $old_status, $post);
-       do_action("{$old_status}_to_{$new_status}", $post);
-       do_action("{$new_status}_{$post->post_type}", $post->ID, $post);
+       /**
+        * Fires when a post is transitioned from one status to another.
+        *
+        * @since 2.3.0
+        *
+        * @param string  $new_status New post status.
+        * @param string  $old_status Old post status.
+        * @param WP_Post $post       Post object.
+        */
+       do_action( 'transition_post_status', $new_status, $old_status, $post );
+
+       /**
+        * Fires when a post is transitioned from one status to another.
+        *
+        * The dynamic portions of the hook name, $new_status and $old status,
+        * refer to the old and new post statuses, respectively.
+        *
+        * @since 2.3.0
+        *
+        * @param WP_Post $post Post object.
+        */
+       do_action( "{$old_status}_to_{$new_status}", $post );
+
+       /**
+        * Fires when a post is transitioned from one status to another.
+        *
+        * The dynamic portions of the hook name, $new_status and $post->post_type,
+        * refer to the new post status and post type, respectively.
+        *
+        * @since 2.3.0
+        *
+        * @param int     $post_id Post ID.
+        * @param WP_Post $post    Post object.
+        */
+       do_action( "{$new_status}_{$post->post_type}", $post->ID, $post );
 }
 
 //
@@ -3342,7 +3710,16 @@ function add_ping($post_id, $uri) {
        $pung = preg_split('/\s/', $pung);
        $pung[] = $uri;
        $new = implode("\n", $pung);
-       $new = apply_filters('add_ping', $new);
+
+       /**
+        * Filter the new ping URL to add for the given post.
+        *
+        * @since 2.0.0
+        *
+        * @param string $new New ping URL to add.
+        */
+       $new = apply_filters( 'add_ping', $new );
+
        // expected_slashed ($new)
        $new = wp_unslash($new);
        return $wpdb->update( $wpdb->posts, array( 'pinged' => $new ), array( 'ID' => $post_id ) );
@@ -3370,7 +3747,16 @@ function get_enclosed($post_id) {
                        $pung[] = trim( $enclosure[ 0 ] );
                }
        }
-       $pung = apply_filters('get_enclosed', $pung, $post_id);
+
+       /**
+        * Filter the list of enclosures already enclosed for the given post.
+        *
+        * @since 2.0.0
+        *
+        * @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;
 }
 
@@ -3388,7 +3774,15 @@ function get_pung($post_id) {
        $pung = $wpdb->get_var( $wpdb->prepare( "SELECT pinged FROM $wpdb->posts WHERE ID = %d", $post_id ));
        $pung = trim($pung);
        $pung = preg_split('/\s/', $pung);
-       $pung = apply_filters('get_pung', $pung);
+
+       /**
+        * Filter the list of already-pinged URLs for the given post.
+        *
+        * @since 2.0.0
+        *
+        * @param array $pung Array of URLs already pinged for the given post.
+        */
+       $pung = apply_filters( 'get_pung', $pung );
        return $pung;
 }
 
@@ -3406,7 +3800,15 @@ function get_to_ping($post_id) {
        $to_ping = $wpdb->get_var( $wpdb->prepare( "SELECT to_ping FROM $wpdb->posts WHERE ID = %d", $post_id ));
        $to_ping = sanitize_trackback_urls( $to_ping );
        $to_ping = preg_split('/\s/', $to_ping, -1, PREG_SPLIT_NO_EMPTY);
-       $to_ping = apply_filters('get_to_ping',  $to_ping);
+
+       /**
+        * Filter the list of URLs yet to ping for the given post.
+        *
+        * @since 2.0.0
+        *
+        * @param array $to_ping List of URLs yet to ping.
+        */
+       $to_ping = apply_filters( 'get_to_ping', $to_ping );
        return $to_ping;
 }
 
@@ -3490,10 +3892,10 @@ function get_page( $page, $output = OBJECT, $filter = 'raw') {
  *
  * @param string $page_path Page path
  * @param string $output Optional. Output type. OBJECT, ARRAY_N, or ARRAY_A. Default OBJECT.
- * @param string $post_type Optional. Post type. Default page.
+ * @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
  */
-function get_page_by_path($page_path, $output = OBJECT, $post_type = 'page') {
+function get_page_by_path( $page_path, $output = OBJECT, $post_type = 'page' ) {
        global $wpdb;
 
        $page_path = rawurlencode(urldecode($page_path));
@@ -3503,9 +3905,24 @@ function get_page_by_path($page_path, $output = OBJECT, $post_type = 'page') {
        $parts = esc_sql( $parts );
        $parts = array_map( 'sanitize_title_for_query', $parts );
 
-       $in_string = "'". implode( "','", $parts ) . "'";
-       $post_type_sql = esc_sql( $post_type );
-       $pages = $wpdb->get_results( "SELECT ID, post_name, post_parent, post_type FROM $wpdb->posts WHERE post_name IN ($in_string) AND (post_type = '$post_type_sql' OR post_type = 'attachment')", OBJECT_K );
+       $in_string = "'" . implode( "','", $parts ) . "'";
+
+       if ( is_array( $post_type ) ) {
+               $post_types = $post_type;
+       } else {
+               $post_types = array( $post_type, 'attachment' );
+       }
+
+       $post_types = esc_sql( $post_types );
+       $post_type_in_string = "'" . implode( "','", $post_types ) . "'";
+       $sql = "
+               SELECT ID, post_name, post_parent, post_type
+               FROM $wpdb->posts
+               WHERE post_name IN ($in_string)
+               AND post_type IN ($post_type_in_string)
+       ";
+
+       $pages = $wpdb->get_results( $sql, OBJECT_K );
 
        $revparts = array_reverse( $parts );
 
@@ -3544,12 +3961,32 @@ function get_page_by_path($page_path, $output = OBJECT, $post_type = 'page') {
  *
  * @param string $page_title Page title
  * @param string $output Optional. Output type. OBJECT, ARRAY_N, or ARRAY_A. Default OBJECT.
- * @param string $post_type Optional. Post type. Default page.
+ * @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
  */
-function get_page_by_title($page_title, $output = OBJECT, $post_type = 'page' ) {
+function get_page_by_title( $page_title, $output = OBJECT, $post_type = 'page' ) {
        global $wpdb;
-       $page = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_title = %s AND post_type= %s", $page_title, $post_type ) );
+
+       if ( is_array( $post_type ) ) {
+               $post_type = esc_sql( $post_type );
+               $post_type_in_string = "'" . implode( "','", $post_type ) . "'";
+               $sql = $wpdb->prepare( "
+                       SELECT ID
+                       FROM $wpdb->posts
+                       WHERE post_title = %s
+                       AND post_type IN ($post_type_in_string)
+               ", $page_title );
+       } else {
+               $sql = $wpdb->prepare( "
+                       SELECT ID
+                       FROM $wpdb->posts
+                       WHERE post_title = %s
+                       AND post_type = %s
+               ", $page_title, $post_type );
+       }
+
+       $page = $wpdb->get_var( $sql );
+
        if ( $page )
                return get_post( $page, $output );
 
@@ -3698,7 +4135,7 @@ function get_pages( $args = array() ) {
                'sort_column' => 'post_title', 'hierarchical' => 1,
                'exclude' => array(), 'include' => array(),
                'meta_key' => '', 'meta_value' => '',
-               'authors' => '', 'parent' => -1, 'exclude_tree' => '',
+               'authors' => '', 'parent' => -1, 'exclude_tree' => array(),
                'number' => '', 'offset' => 0,
                'post_type' => 'page', 'post_status' => 'publish',
        );
@@ -3734,7 +4171,8 @@ function get_pages( $args = array() ) {
        if ( $cache = wp_cache_get( $cache_key, 'posts' ) ) {
                // Convert to WP_Post instances
                $pages = array_map( 'get_post', $cache );
-               $pages = apply_filters('get_pages', $pages, $r);
+               /** This filter is documented in wp-includes/post.php */
+               $pages = apply_filters( 'get_pages', $pages, $r );
                return $pages;
        }
 
@@ -3864,7 +4302,8 @@ function get_pages( $args = array() ) {
        $pages = $wpdb->get_results($query);
 
        if ( empty($pages) ) {
-               $pages = apply_filters('get_pages', array(), $r);
+               /** This filter is documented in wp-includes/post.php */
+               $pages = apply_filters( 'get_pages', array(), $r );
                return $pages;
        }
 
@@ -3880,17 +4319,20 @@ function get_pages( $args = array() ) {
        if ( $child_of || $hierarchical )
                $pages = get_page_children($child_of, $pages);
 
-       if ( !empty($exclude_tree) ) {
-               $exclude = (int) $exclude_tree;
-               $children = get_page_children($exclude, $pages);
-               $excludes = array();
-               foreach ( $children as $child )
-                       $excludes[] = $child->ID;
-               $excludes[] = $exclude;
-               $num_pages = count($pages);
+       if ( ! empty( $exclude_tree ) ) {
+               $exclude = wp_parse_id_list( $exclude_tree );
+               foreach( $exclude as $id ) {
+                       $children = get_page_children( $id, $pages );
+                       foreach ( $children as $child ) {
+                               $exclude[] = $child->ID;
+                       }
+               }
+
+               $num_pages = count( $pages );
                for ( $i = 0; $i < $num_pages; $i++ ) {
-                       if ( in_array($pages[$i]->ID, $excludes) )
-                               unset($pages[$i]);
+                       if ( in_array( $pages[$i]->ID, $exclude ) ) {
+                               unset( $pages[$i] );
+                       }
                }
        }
 
@@ -3903,7 +4345,15 @@ function get_pages( $args = array() ) {
        // Convert to WP_Post instances
        $pages = array_map( 'get_post', $pages );
 
-       $pages = apply_filters('get_pages', $pages, $r);
+       /**
+        * Filter the retrieved list of pages.
+        *
+        * @since 2.1.0
+        *
+        * @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;
 }
@@ -3965,8 +4415,6 @@ function is_local_attachment($url) {
  *
  * @since 2.0.0
  * @uses $wpdb
- * @uses do_action() Calls 'edit_attachment' on $post_ID if this is an update.
- * @uses do_action() Calls 'add_attachment' on $post_ID if this is not an update.
  *
  * @param string|array $object Arguments to override defaults.
  * @param string $file Optional filename.
@@ -4070,6 +4518,17 @@ function wp_insert_attachment($object, $file = false, $parent = 0) {
 
        // expected_slashed (everything!)
        $data = compact( array( 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_content_filtered', 'post_title', 'post_excerpt', 'post_status', 'post_type', 'comment_status', 'ping_status', 'post_password', 'post_name', 'to_ping', 'pinged', 'post_modified', 'post_modified_gmt', 'post_parent', 'menu_order', 'post_mime_type', 'guid' ) );
+
+       /**
+        * Filter attachment post data before it is updated in or added
+        * to the database.
+        *
+        * @since 3.9.0
+        *
+        * @param array $data   Array of sanitized attachment post data.
+        * @param array $object Array of un-sanitized attachment post data.
+        */
+       $data = apply_filters( 'wp_insert_attachment_data', $data, $object );
        $data = wp_unslash( $data );
 
        if ( $update ) {
@@ -4118,9 +4577,24 @@ function wp_insert_attachment($object, $file = false, $parent = 0) {
                add_post_meta( $post_ID, '_wp_attachment_context', $context, true );
 
        if ( $update) {
-               do_action('edit_attachment', $post_ID);
+               /**
+                * Fires once an existing attachment has been updated.
+                *
+                * @since 2.0.0
+                *
+                * @param int $post_ID Attachment ID.
+                */
+               do_action( 'edit_attachment', $post_ID );
        } else {
-               do_action('add_attachment', $post_ID);
+
+               /**
+                * Fires once an attachment has been added.
+                *
+                * @since 2.0.0
+                *
+                * @param int $post_ID Attachment ID.
+                */
+               do_action( 'add_attachment', $post_ID );
        }
 
        return $post_ID;
@@ -4138,7 +4612,6 @@ function wp_insert_attachment($object, $file = false, $parent = 0) {
  *
  * @since 2.0.0
  * @uses $wpdb
- * @uses do_action() Calls 'delete_attachment' hook on Attachment ID.
  *
  * @param int $post_id Attachment ID.
  * @param bool $force_delete Whether to bypass trash and force deletion. Defaults to false.
@@ -4172,7 +4645,14 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
        if ( is_multisite() )
                delete_transient( 'dirsize_cache' );
 
-       do_action('delete_attachment', $post_id);
+       /**
+        * Fires before an attachment is deleted, at the start of wp_delete_attachment().
+        *
+        * @since 2.0.0
+        *
+        * @param int $post_id Attachment ID.
+        */
+       do_action( 'delete_attachment', $post_id );
 
        wp_delete_object_term_relationships($post_id, array('category', 'post_tag'));
        wp_delete_object_term_relationships($post_id, get_object_taxonomies($post->post_type));
@@ -4187,11 +4667,13 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
        foreach ( $post_meta_ids as $mid )
                delete_metadata_by_mid( 'post', $mid );
 
+       /** This action is documented in wp-includes/post.php */
        do_action( 'delete_post', $post_id );
        $result = $wpdb->delete( $wpdb->posts, array( 'ID' => $post_id ) );
        if ( ! $result ) {
                return false;
        }
+       /** This action is documented in wp-includes/post.php */
        do_action( 'deleted_post', $post_id );
 
        $uploadpath = wp_upload_dir();
@@ -4201,7 +4683,7 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
                if (! $wpdb->get_row( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE meta_key = '_wp_attachment_metadata' AND meta_value LIKE %s AND post_id <> %d", '%' . $meta['thumb'] . '%', $post_id)) ) {
                        $thumbfile = str_replace(basename($file), $meta['thumb'], $file);
                        /** This filter is documented in wp-admin/custom-header.php */
-                       $thumbfile = apply_filters('wp_delete_file', $thumbfile);
+                       $thumbfile = apply_filters( 'wp_delete_file', $thumbfile );
                        @ unlink( path_join($uploadpath['basedir'], $thumbfile) );
                }
        }
@@ -4217,13 +4699,13 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
                foreach ( $backup_sizes as $size ) {
                        $del_file = path_join( dirname($meta['file']), $size['file'] );
                        /** This filter is documented in wp-admin/custom-header.php */
-                       $del_file = apply_filters('wp_delete_file', $del_file);
+                       $del_file = apply_filters( 'wp_delete_file', $del_file );
                        @ unlink( path_join($uploadpath['basedir'], $del_file) );
                }
        }
 
        /** This filter is documented in wp-admin/custom-header.php */
-       $file = apply_filters('wp_delete_file', $file);
+       $file = apply_filters( 'wp_delete_file', $file );
 
        if ( ! empty($file) )
                @ unlink($file);
@@ -4252,6 +4734,15 @@ function wp_get_attachment_metadata( $post_id = 0, $unfiltered = false ) {
        if ( $unfiltered )
                return $data;
 
+       /**
+        * Filter the attachment meta data.
+        *
+        * @since 2.1.0
+        *
+        * @param array|bool $data    Array of meta data for the given attachment, or false
+        *                            if the object does not exist.
+        * @param int        $post_id Attachment ID.
+        */
        return apply_filters( 'wp_get_attachment_metadata', $data, $post->ID );
 }
 
@@ -4269,6 +4760,14 @@ function wp_update_attachment_metadata( $post_id, $data ) {
        if ( !$post = get_post( $post_id ) )
                return false;
 
+       /**
+        * Filter the updated attachment meta data.
+        *
+        * @since 2.1.0
+        *
+        * @param array $data    Array of updated attachment meta data.
+        * @param int   $post_id Attachment ID.
+        */
        if ( $data = apply_filters( 'wp_update_attachment_metadata', $data, $post->ID ) )
                return update_post_meta( $post->ID, '_wp_attachment_metadata', $data );
        else
@@ -4306,6 +4805,14 @@ function wp_get_attachment_url( $post_id = 0 ) {
        if ( empty($url) ) //If any of the above options failed, Fallback on the GUID as used pre-2.7, not recommended to rely upon this.
                $url = get_the_guid( $post->ID );
 
+       /**
+        * Filter the attachment URL.
+        *
+        * @since 2.1.0
+        *
+        * @param string $url     URL for the given attachment.
+        * @param int    $post_id Attachment ID.
+        */
        $url = apply_filters( 'wp_get_attachment_url', $url, $post->ID );
 
        if ( empty( $url ) )
@@ -4331,8 +4838,17 @@ function wp_get_attachment_thumb_file( $post_id = 0 ) {
 
        $file = get_attached_file( $post->ID );
 
-       if ( !empty($imagedata['thumb']) && ($thumbfile = str_replace(basename($file), $imagedata['thumb'], $file)) && file_exists($thumbfile) )
+       if ( !empty($imagedata['thumb']) && ($thumbfile = str_replace(basename($file), $imagedata['thumb'], $file)) && file_exists($thumbfile) ) {
+               /**
+                * Filter the attachment thumbnail file path.
+                *
+                * @since 2.1.0
+                *
+                * @param string $thumbfile File path to the attachment thumbnail.
+                * @param int    $post_id   Attachment ID.
+                */
                return apply_filters( 'wp_get_attachment_thumb_file', $thumbfile, $post->ID );
+       }
        return false;
 }
 
@@ -4360,6 +4876,14 @@ function wp_get_attachment_thumb_url( $post_id = 0 ) {
 
        $url = str_replace(basename($url), basename($thumb), $url);
 
+       /**
+        * Filter the attachment thumbnail URL.
+        *
+        * @since 2.1.0
+        *
+        * @param string $url     URL for the attachment thumbnail.
+        * @param int    $post_id Attachment ID.
+        */
        return apply_filters( 'wp_get_attachment_thumb_url', $url, $post->ID );
 }
 
@@ -4424,9 +4948,32 @@ function wp_mime_type_icon( $mime = 0 ) {
                $icon_files = wp_cache_get('icon_files');
 
                if ( !is_array($icon_files) ) {
-                       $icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/crystal' );
-                       $icon_dir_uri = apply_filters( 'icon_dir_uri', includes_url('images/crystal') );
-                       $dirs = apply_filters( 'icon_dirs', array($icon_dir => $icon_dir_uri) );
+                       /**
+                        * Filter the icon directory path.
+                        *
+                        * @since 2.0.0
+                        *
+                        * @param string $path Icon directory absolute path.
+                        */
+                       $icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/media' );
+
+                       /**
+                        * Filter the icon directory URI.
+                        *
+                        * @since 2.0.0
+                        *
+                        * @param string $uri Icon directory URI.
+                        */
+                       $icon_dir_uri = apply_filters( 'icon_dir_uri', includes_url( 'images/media' ) );
+
+                       /**
+                        * Filter the list of icon directory URIs.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param array $uris List of icon directory URIs.
+                        */
+                       $dirs = apply_filters( 'icon_dirs', array( $icon_dir => $icon_dir_uri ) );
                        $icon_files = array();
                        while ( $dirs ) {
                                $keys = array_keys( $dirs );
@@ -4473,7 +5020,17 @@ function wp_mime_type_icon( $mime = 0 ) {
                }
        }
 
-       return apply_filters( 'wp_mime_type_icon', $icon, $mime, $post_id ); // Last arg is 0 if function pass mime type.
+       /**
+        * Filter the mime type icon.
+        *
+        * @since 2.1.0
+        *
+        * @param string $icon    Path to the mime type icon.
+        * @param string $mime    Mime type.
+        * @param int    $post_id Attachment ID. Will equal 0 if the function passed
+        *                        the mime type.
+        */
+       return apply_filters( 'wp_mime_type_icon', $icon, $mime, $post_id );
 }
 
 /**
@@ -4553,9 +5110,18 @@ function get_posts_by_author_sql( $post_type, $full = true, $post_author = null,
        if ( ! $post_type_obj )
                return $full ? 'WHERE 1 = 0' : ' 1 = 0 ';
 
-       // This hook is deprecated. Why you'd want to use it, I dunno.
-       if ( ! $cap = apply_filters( 'pub_priv_sql_capability', '' ) )
+       /**
+        * 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 ( $full ) {
                if ( null === $post_author ) {
@@ -4599,12 +5165,19 @@ function get_posts_by_author_sql( $post_type, $full = true, $post_author = null,
  *
  * @since 0.71
  *
- * @uses apply_filters() Calls 'get_lastpostdate' filter
- *
  * @param string $timezone The location to get the time. Can be 'gmt', 'blog', or 'server'.
  * @return string The date of the last post.
  */
 function get_lastpostdate($timezone = 'server') {
+       /**
+        * Filter the date the last post was published.
+        *
+        * @since 2.3.0
+        *
+        * @param string $date     Date the last post was published. Likely values are 'gmt',
+        *                         'blog', or 'server'.
+        * @param string $timezone Location to use for getting the post published date.
+        */
        return apply_filters( 'get_lastpostdate', _get_last_post_time( $timezone, 'date' ), $timezone );
 }
 
@@ -4616,7 +5189,6 @@ function get_lastpostdate($timezone = 'server') {
  * 'gmt' is when the last post was modified in GMT time.
  *
  * @since 1.2.0
- * @uses apply_filters() Calls 'get_lastpostmodified' filter
  *
  * @param string $timezone The location to get the time. Can be 'gmt', 'blog', or 'server'.
  * @return string The date the post was last modified.
@@ -4628,6 +5200,14 @@ function get_lastpostmodified($timezone = 'server') {
        if ( $lastpostdate > $lastpostmodified )
                $lastpostmodified = $lastpostdate;
 
+       /**
+        * Filter the date the last post was modified.
+        *
+        * @since 2.3.0
+        *
+        * @param string $lastpostmodified Date the last post was modified.
+        * @param string $timezone         Location to use for getting the post modified date.
+        */
        return apply_filters( 'get_lastpostmodified', $lastpostmodified, $timezone );
 }
 
@@ -4682,8 +5262,6 @@ function _get_last_post_time( $timezone, $field ) {
 /**
  * Updates posts in cache.
  *
- * @package WordPress
- * @subpackage Cache
  * @since 1.5.1
  *
  * @param array $posts Array of post objects
@@ -4705,13 +5283,9 @@ function update_post_cache( &$posts ) {
  * This function not run if $_wp_suspend_cache_invalidation is not empty. See
  * wp_suspend_cache_invalidation().
  *
- * @package WordPress
- * @subpackage Cache
  * @since 2.0.0
  *
- * @uses do_action() Calls 'clean_post_cache' on $id before adding children (if any).
- *
- * @param int|object $post Post ID or object to remove from the cache
+ * @param int|WP_Post $post Post ID or post object to remove from the cache.
  */
 function clean_post_cache( $post ) {
        global $_wp_suspend_cache_invalidation, $wpdb;
@@ -4730,6 +5304,14 @@ function clean_post_cache( $post ) {
 
        wp_cache_delete( 'wp_get_archives', 'general' );
 
+       /**
+        * Fires immediately after the given post's cache is cleaned.
+        *
+        * @since 2.5.0
+        *
+        * @param int     $post_id Post ID.
+        * @param WP_Post $post    Post object.
+        */
        do_action( 'clean_post_cache', $post->ID, $post );
 
        if ( is_post_type_hierarchical( $post->post_type ) )
@@ -4737,6 +5319,14 @@ function clean_post_cache( $post ) {
 
        if ( 'page' == $post->post_type ) {
                wp_cache_delete( 'all_page_ids', 'posts' );
+
+               /**
+                * Fires immediately after the given page's cache is cleaned.
+                *
+                * @since 2.5.0
+                *
+                * @param int $post_id Post ID.
+                */
                do_action( 'clean_page_cache', $post->ID );
        }
 
@@ -4746,8 +5336,6 @@ function clean_post_cache( $post ) {
 /**
  * Call major cache updating functions for list of Post objects.
  *
- * @package WordPress
- * @subpackage Cache
  * @since 1.5.0
  *
  * @uses update_post_cache()
@@ -4800,8 +5388,6 @@ function update_post_caches(&$posts, $post_type = 'post', $update_term_cache = t
  * metadata cache for the posts. Therefore, the functions, which call this
  * function, do not need to perform SQL queries on their own.
  *
- * @package WordPress
- * @subpackage Cache
  * @since 2.1.0
  *
  * @param array $post_ids List of post IDs.
@@ -4820,12 +5406,8 @@ function update_postmeta_cache($post_ids) {
  * This function will not run if $_wp_suspend_cache_invalidation is not empty. See
  * wp_suspend_cache_invalidation().
  *
- * @package WordPress
- * @subpackage Cache
  * @since 3.0.0
  *
- * @uses do_action() Calls 'clean_attachment_cache' on $id.
- *
  * @param int $id The attachment ID in the cache to clean
  * @param bool $clean_terms optional. Whether to clean terms cache
  */
@@ -4843,7 +5425,14 @@ function clean_attachment_cache($id, $clean_terms = false) {
        if ( $clean_terms )
                clean_object_term_cache($id, 'attachment');
 
-       do_action('clean_attachment_cache', $id);
+       /**
+        * Fires after the given attachment's cache is cleaned.
+        *
+        * @since 3.0.0
+        *
+        * @param int $id Attachment ID.
+        */
+       do_action( 'clean_attachment_cache', $id );
 }
 
 //
@@ -4856,7 +5445,6 @@ function clean_attachment_cache($id, $clean_terms = false) {
  * @since 2.3.0
  * @access private
  * @uses $wpdb
- * @uses do_action() Calls 'private_to_published' on post ID if this is a 'private_to_published' call.
  * @uses wp_clear_scheduled_hook() with 'publish_future_post' and post ID.
  *
  * @param string $new_status New post status
@@ -4870,7 +5458,16 @@ function _transition_post_status($new_status, $old_status, $post) {
                // Reset GUID if transitioning to publish and it is empty
                if ( '' == get_the_guid($post->ID) )
                        $wpdb->update( $wpdb->posts, array( 'guid' => get_permalink( $post->ID ) ), array( 'ID' => $post->ID ) );
-               do_action('private_to_published', $post->ID);  // Deprecated, use private_to_publish
+
+               /**
+                * Fires when a post's status is transitioned from private to published.
+                *
+                * @since 1.5.0
+                * @deprecated 2.3.0 Use 'private_to_publish' instead.
+                *
+                * @param int $post_id Post ID.
+                */
+               do_action('private_to_published', $post->ID);
        }
 
        // If published posts changed clear the lastpostmodified cache
@@ -4881,6 +5478,11 @@ function _transition_post_status($new_status, $old_status, $post) {
                }
        }
 
+       if ( $new_status !== $old_status ) {
+               wp_cache_delete( _count_posts_cache_key( $post->post_type ), 'counts' );
+               wp_cache_delete( _count_posts_cache_key( $post->post_type, 'readable' ), 'counts' );
+       }
+
        // Always clears the hook in case the post status bounced from future to draft.
        wp_clear_scheduled_hook('publish_future_post', array( $post->ID ) );
 }
@@ -4909,13 +5511,20 @@ function _future_post_hook( $deprecated, $post ) {
  * @since 2.3.0
  * @access private
  * @uses XMLRPC_REQUEST and WP_IMPORTING constants.
- * @uses do_action() Calls 'xmlrpc_publish_post' on post ID if XMLRPC_REQUEST is defined.
  *
  * @param int $post_id The ID in the database table of the post being published
  */
 function _publish_post_hook($post_id) {
-       if ( defined('XMLRPC_REQUEST') )
-               do_action('xmlrpc_publish_post', $post_id);
+       if ( defined( 'XMLRPC_REQUEST' ) ) {
+               /**
+                * Fires when _publish_post_hook() is called during an XML-RPC request.
+                *
+                * @since 2.1.0
+                *
+                * @param int $post_id Post ID.
+                */
+               do_action( 'xmlrpc_publish_post', $post_id );
+       }
 
        if ( defined('WP_IMPORTING') )
                return;
@@ -4991,7 +5600,7 @@ function wp_check_post_hierarchy_for_loops( $post_parent, $post_ID ) {
  *
  * @since 3.1.0
  *
- * @param int|object $post Post ID or object where thumbnail should be attached.
+ * @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.
  */
@@ -5012,7 +5621,7 @@ function set_post_thumbnail( $post, $thumbnail_id ) {
  *
  * @since 3.3.0
  *
- * @param int|object $post Post ID or object where thumbnail should be removed from.
+ * @param int|WP_Post $post Post ID or post object where thumbnail should be removed from.
  * @return bool True on success, false on failure.
  */
 function delete_post_thumbnail( $post ) {
index 446cebca0d83de1d140e87bed534c72e92b28651..fcaac1008ffd453d476659967a01ac755e30d171 100644 (file)
  * @since 1.5.0
  * @uses $wp_query
  *
- * @param string $var The variable key to retrieve.
+ * @param string $var       The variable key to retrieve.
+ * @param mixed  $default   Value to return if the query variable is not set. Default ''.
  * @return mixed
  */
-function get_query_var($var) {
+function get_query_var( $var, $default = '' ) {
        global $wp_query;
 
-       return $wp_query->get($var);
+       return $wp_query->get( $var, $default );
 }
 
 /**
@@ -175,9 +176,10 @@ function is_post_type_archive( $post_types = '' ) {
  * @since 2.0.0
  * @uses $wp_query
  *
+ * @param mixed $attachment Attachment ID, title, slug, or array of such.
  * @return bool
  */
-function is_attachment() {
+function is_attachment( $attachment = '' ) {
        global $wp_query;
 
        if ( ! isset( $wp_query ) ) {
@@ -185,7 +187,7 @@ function is_attachment() {
                return false;
        }
 
-       return $wp_query->is_attachment();
+       return $wp_query->is_attachment( $attachment );
 }
 
 /**
@@ -1712,7 +1714,14 @@ class WP_Query {
                $this->query_vars_hash = md5( serialize( $this->query_vars ) );
                $this->query_vars_changed = false;
 
-               do_action_ref_array('parse_query', array(&$this));
+               /**
+                * Fires after the main query vars have been parsed.
+                *
+                * @since 1.5.0
+                *
+                * @param WP_Query &$this The WP_Query instance (passed by reference).
+                */
+               do_action_ref_array( 'parse_query', array( &$this ) );
        }
 
        /**
@@ -1919,6 +1928,13 @@ class WP_Query {
 
                $this->tax_query = new WP_Tax_Query( $tax_query );
 
+               /**
+                * Fires after taxonomy-related query vars have been parsed.
+                *
+                * @since 3.7.0
+                *
+                * @param WP_Query $this The WP_Query instance.
+                */
                do_action( 'parse_tax_query', $this );
        }
 
@@ -2115,13 +2131,15 @@ class WP_Query {
         * @access public
         *
         * @param string $query_var Query variable key.
+        * @param mixed  $default   Value to return if the query variable is not set. Default ''.
         * @return mixed
         */
-       function get($query_var) {
-               if ( isset($this->query_vars[$query_var]) )
-                       return $this->query_vars[$query_var];
+       function get( $query_var, $default = '' ) {
+               if ( isset( $this->query_vars[ $query_var ] ) ) {
+                       return $this->query_vars[ $query_var ];
+               }
 
-               return '';
+               return $default;
        }
 
        /**
@@ -2154,7 +2172,18 @@ class WP_Query {
 
                $this->parse_query();
 
-               do_action_ref_array('pre_get_posts', array(&$this));
+               /**
+                * Fires after the query variable object is created, but before the actual query is run.
+                *
+                * Note: If using conditional tags, use the method versions within the passed instance
+                * (e.g. $this->is_main_query() instead of is_main_query()). This is because the functions
+                * like is_main_query() test against the global $wp_query instance, not the passed one.
+                *
+                * @since 2.0.0
+                *
+                * @param WP_Query &$this The WP_Query instance (passed by reference).
+                */
+               do_action_ref_array( 'pre_get_posts', array( &$this ) );
 
                // Shorthand.
                $q = &$this->query_vars;
@@ -2219,8 +2248,9 @@ class WP_Query {
                                $q['post_type'] = '';
                }
                $post_type = $q['post_type'];
-               if ( !isset($q['posts_per_page']) || $q['posts_per_page'] == 0 )
-                       $q['posts_per_page'] = get_option('posts_per_page');
+               if ( empty( $q['posts_per_page'] ) ) {
+                       $q['posts_per_page'] = get_option( 'posts_per_page' );
+               }
                if ( isset($q['showposts']) && $q['showposts'] ) {
                        $q['showposts'] = (int) $q['showposts'];
                        $q['posts_per_page'] = $q['showposts'];
@@ -2235,7 +2265,12 @@ class WP_Query {
                        }
                }
                if ( $this->is_feed ) {
-                       $q['posts_per_page'] = get_option('posts_per_rss');
+                       // This overrides posts_per_page.
+                       if ( ! empty( $q['posts_per_rss'] ) ) {
+                               $q['posts_per_page'] = $q['posts_per_rss'];
+                       } else {
+                               $q['posts_per_page'] = get_option( 'posts_per_rss' );
+                       }
                        $q['nopaging'] = false;
                }
                $q['posts_per_page'] = (int) $q['posts_per_page'];
@@ -2673,6 +2708,15 @@ class WP_Query {
                                $post_type_cap = $post_type;
                }
 
+               if ( isset( $q['post_password'] ) ) {
+                       $where .= $wpdb->prepare( " AND $wpdb->posts.post_password = %s", $q['post_password'] );
+                       if ( empty( $q['perm'] ) ) {
+                               $q['perm'] = 'readable';
+                       }
+               } elseif ( isset( $q['has_password'] ) ) {
+                       $where .= sprintf( " AND $wpdb->posts.post_password %s ''", $q['has_password'] ? '!=' : '=' );
+               }
+
                if ( 'any' == $post_type ) {
                        $in_search_post_types = get_post_types( array('exclude_from_search' => false) );
                        if ( empty( $in_search_post_types ) )
@@ -2755,8 +2799,10 @@ class WP_Query {
                                foreach ( $statuswheres as $index => $statuswhere )
                                        $statuswheres[$index] = "($statuswhere OR ($wpdb->posts.post_status = 'inherit' AND " . str_replace($wpdb->posts, 'p2', $statuswhere) . "))";
                        }
-                       foreach ( $statuswheres as $statuswhere )
-                               $where .= " AND $statuswhere";
+                       $where_status = implode( ' OR ', $statuswheres );
+                       if ( ! empty( $where_status ) ) {
+                               $where .= " AND ($where_status)";
+                       }
                } elseif ( !$this->is_singular ) {
                        $where .= " AND ($wpdb->posts.post_status = 'publish'";
 
@@ -2791,11 +2837,30 @@ class WP_Query {
                        $where .= $clauses['where'];
                }
 
-               // Apply filters on where and join prior to paging so that any
-               // manipulations to them are reflected in the paging by day queries.
+               /*
+                * Apply filters on where and join prior to paging so that any
+                * manipulations to them are reflected in the paging by day queries.
+                */
                if ( !$q['suppress_filters'] ) {
-                       $where = apply_filters_ref_array('posts_where', array( $where, &$this ) );
-                       $join = apply_filters_ref_array('posts_join', array( $join, &$this ) );
+                       /**
+                        * Filter the WHERE clause of the query.
+                        *
+                        * @since 1.5.0
+                        *
+                        * @param string   $where The WHERE clause of the query.
+                        * @param WP_Query &$this The WP_Query instance (passed by reference).
+                        */
+                       $where = apply_filters_ref_array( 'posts_where', array( $where, &$this ) );
+
+                       /**
+                        * Filter the JOIN clause of the query.
+                        *
+                        * @since 1.5.0
+                        *
+                        * @param string   $where The JOIN clause of the query.
+                        * @param WP_Query &$this The WP_Query instance (passed by reference).
+                        */
+                       $join = apply_filters_ref_array( 'posts_join', array( $join, &$this ) );
                }
 
                // Paging
@@ -2826,11 +2891,55 @@ class WP_Query {
                        }
 
                        if ( !$q['suppress_filters'] ) {
-                               $cjoin = apply_filters_ref_array('comment_feed_join', array( $cjoin, &$this ) );
-                               $cwhere = apply_filters_ref_array('comment_feed_where', array( $cwhere, &$this ) );
-                               $cgroupby = apply_filters_ref_array('comment_feed_groupby', array( $cgroupby, &$this ) );
-                               $corderby = apply_filters_ref_array('comment_feed_orderby', array( 'comment_date_gmt DESC', &$this ) );
-                               $climits = apply_filters_ref_array('comment_feed_limits', array( 'LIMIT ' . get_option('posts_per_rss'), &$this ) );
+                               /**
+                                * Filter the JOIN clause of the comments feed query before sending.
+                                *
+                                * @since 2.2.0
+                                *
+                                * @param string   $cjoin The JOIN clause of the query.
+                                * @param WP_Query &$this The WP_Query instance (passed by reference).
+                                */
+                               $cjoin = apply_filters_ref_array( 'comment_feed_join', array( $cjoin, &$this ) );
+
+                               /**
+                                * Filter the WHERE clause of the comments feed query before sending.
+                                *
+                                * @since 2.2.0
+                                *
+                                * @param string   $cwhere The WHERE clause of the query.
+                                * @param WP_Query &$this  The WP_Query instance (passed by reference).
+                                */
+                               $cwhere = apply_filters_ref_array( 'comment_feed_where', array( $cwhere, &$this ) );
+
+                               /**
+                                * Filter the GROUP BY clause of the comments feed query before sending.
+                                *
+                                * @since 2.2.0
+                                *
+                                * @param string   $cgroupby The GROUP BY clause of the query.
+                                * @param WP_Query &$this    The WP_Query instance (passed by reference).
+                                */
+                               $cgroupby = apply_filters_ref_array( 'comment_feed_groupby', array( $cgroupby, &$this ) );
+
+                               /**
+                                * Filter the ORDER BY clause of the comments feed query before sending.
+                                *
+                                * @since 2.8.0
+                                *
+                                * @param string   $corderby The ORDER BY clause of the query.
+                                * @param WP_Query &$this    The WP_Query instance (passed by reference).
+                                */
+                               $corderby = apply_filters_ref_array( 'comment_feed_orderby', array( 'comment_date_gmt DESC', &$this ) );
+
+                               /**
+                                * Filter the LIMIT clause of the comments feed query before sending.
+                                *
+                                * @since 2.8.0
+                                *
+                                * @param string   $climits The JOIN clause of the query.
+                                * @param WP_Query &$this   The WP_Query instance (passed by reference).
+                                */
+                               $climits = apply_filters_ref_array( 'comment_feed_limits', array( 'LIMIT ' . get_option('posts_per_rss'), &$this ) );
                        }
                        $cgroupby = ( ! empty( $cgroupby ) ) ? 'GROUP BY ' . $cgroupby : '';
                        $corderby = ( ! empty( $corderby ) ) ? 'ORDER BY ' . $corderby : '';
@@ -2853,37 +2962,216 @@ class WP_Query {
 
                $pieces = array( 'where', 'groupby', 'join', 'orderby', 'distinct', 'fields', 'limits' );
 
-               // Apply post-paging filters on where and join. Only plugins that
-               // manipulate paging queries should use these hooks.
+               /*
+                * Apply post-paging filters on where and join. Only plugins that
+                * manipulate paging queries should use these hooks.
+                */
                if ( !$q['suppress_filters'] ) {
-                       $where          = apply_filters_ref_array( 'posts_where_paged', array( $where, &$this ) );
-                       $groupby        = apply_filters_ref_array( 'posts_groupby',             array( $groupby, &$this ) );
-                       $join           = apply_filters_ref_array( 'posts_join_paged',  array( $join, &$this ) );
-                       $orderby        = apply_filters_ref_array( 'posts_orderby',             array( $orderby, &$this ) );
-                       $distinct       = apply_filters_ref_array( 'posts_distinct',    array( $distinct, &$this ) );
-                       $limits         = apply_filters_ref_array( 'post_limits',               array( $limits, &$this ) );
-                       $fields         = apply_filters_ref_array( 'posts_fields',              array( $fields, &$this ) );
-
-                       // Filter all clauses at once, for convenience
+                       /**
+                        * Filter the WHERE clause of the query.
+                        *
+                        * Specifically for manipulating paging queries.
+                        *
+                        * @since 1.5.0
+                        *
+                        * @param string   $where The WHERE clause of the query.
+                        * @param WP_Query &$this The WP_Query instance (passed by reference).
+                        */
+                       $where = apply_filters_ref_array( 'posts_where_paged', array( $where, &$this ) );
+
+                       /**
+                        * Filter the GROUP BY clause of the query.
+                        *
+                        * @since 2.0.0
+                        *
+                        * @param string   $groupby The GROUP BY clause of the query.
+                        * @param WP_Query &$this   The WP_Query instance (passed by reference).
+                        */
+                       $groupby = apply_filters_ref_array( 'posts_groupby', array( $groupby, &$this ) );
+
+                       /**
+                        * Filter the JOIN clause of the query.
+                        *
+                        * Specifically for manipulating paging queries.
+                        *
+                        * @since 1.5.0
+                        *
+                        * @param string   $join  The JOIN clause of the query.
+                        * @param WP_Query &$this The WP_Query instance (passed by reference).
+                        */
+                       $join = apply_filters_ref_array( 'posts_join_paged', array( $join, &$this ) );
+
+                       /**
+                        * Filter the ORDER BY clause of the query.
+                        *
+                        * @since 1.5.1
+                        *
+                        * @param string   $orderby The ORDER BY clause of the query.
+                        * @param WP_Query &$this   The WP_Query instance (passed by reference).
+                        */
+                       $orderby = apply_filters_ref_array( 'posts_orderby', array( $orderby, &$this ) );
+
+                       /**
+                        * Filter the DISTINCT clause of the query.
+                        *
+                        * @since 2.1.0
+                        *
+                        * @param string   $distinct The DISTINCT clause of the query.
+                        * @param WP_Query &$this    The WP_Query instance (passed by reference).
+                        */
+                       $distinct = apply_filters_ref_array( 'posts_distinct', array( $distinct, &$this ) );
+
+                       /**
+                        * Filter the LIMIT clause of the query.
+                        *
+                        * @since 2.1.0
+                        *
+                        * @param string   $limits The LIMIT clause of the query.
+                        * @param WP_Query &$this  The WP_Query instance (passed by reference).
+                        */
+                       $limits = apply_filters_ref_array( 'post_limits', array( $limits, &$this ) );
+
+                       /**
+                        * Filter the SELECT clause of the query.
+                        *
+                        * @since 2.1.0
+                        *
+                        * @param string   $fields The SELECT clause of the query.
+                        * @param WP_Query &$this  The WP_Query instance (passed by reference).
+                        */
+                       $fields = apply_filters_ref_array( 'posts_fields', array( $fields, &$this ) );
+
+                       /**
+                        * Filter all query clauses at once, for convenience.
+                        *
+                        * Covers the WHERE, GROUP BY, JOIN, ORDER BY, DISTINCT,
+                        * fields (SELECT), and LIMITS clauses.
+                        *
+                        * @since 3.1.0
+                        *
+                        * @param array    $clauses The list of clauses for the query.
+                        * @param WP_Query &$this   The WP_Query instance (passed by reference).
+                        */
                        $clauses = (array) apply_filters_ref_array( 'posts_clauses', array( compact( $pieces ), &$this ) );
-                       foreach ( $pieces as $piece )
+
+                       foreach ( $pieces as $piece ) {
                                $$piece = isset( $clauses[ $piece ] ) ? $clauses[ $piece ] : '';
+                       }
                }
 
-               // Announce current selection parameters. For use by caching plugins.
+               /**
+                * Fires to announce the query's current selection parameters.
+                *
+                * For use by caching plugins.
+                *
+                * @since 2.3.0
+                *
+                * @param string $selection The assembled selection query.
+                */
                do_action( 'posts_selection', $where . $groupby . $orderby . $limits . $join );
 
-               // Filter again for the benefit of caching plugins. Regular plugins should use the hooks above.
+               /*
+                * Filter again for the benefit of caching plugins.
+                * Regular plugins should use the hooks above.
+                */
                if ( !$q['suppress_filters'] ) {
-                       $where          = apply_filters_ref_array( 'posts_where_request',               array( $where, &$this ) );
-                       $groupby        = apply_filters_ref_array( 'posts_groupby_request',             array( $groupby, &$this ) );
-                       $join           = apply_filters_ref_array( 'posts_join_request',                array( $join, &$this ) );
-                       $orderby        = apply_filters_ref_array( 'posts_orderby_request',             array( $orderby, &$this ) );
-                       $distinct       = apply_filters_ref_array( 'posts_distinct_request',    array( $distinct, &$this ) );
-                       $fields         = apply_filters_ref_array( 'posts_fields_request',              array( $fields, &$this ) );
-                       $limits         = apply_filters_ref_array( 'post_limits_request',               array( $limits, &$this ) );
-
-                       // Filter all clauses at once, for convenience
+                       /**
+                        * Filter the WHERE clause of the query.
+                        *
+                        * For use by caching plugins.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param string   $where The WHERE clause of the query.
+                        * @param WP_Query &$this The WP_Query instance (passed by reference).
+                        */
+                       $where = apply_filters_ref_array( 'posts_where_request', array( $where, &$this ) );
+
+                       /**
+                        * Filter the GROUP BY clause of the query.
+                        *
+                        * For use by caching plugins.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param string   $groupby The GROUP BY clause of the query.
+                        * @param WP_Query &$this   The WP_Query instance (passed by reference).
+                        */
+                       $groupby = apply_filters_ref_array( 'posts_groupby_request', array( $groupby, &$this ) );
+
+                       /**
+                        * Filter the JOIN clause of the query.
+                        *
+                        * For use by caching plugins.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param string   $join  The JOIN clause of the query.
+                        * @param WP_Query &$this The WP_Query instance (passed by reference).
+                        */
+                       $join = apply_filters_ref_array( 'posts_join_request', array( $join, &$this ) );
+
+                       /**
+                        * Filter the ORDER BY clause of the query.
+                        *
+                        * For use by caching plugins.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param string   $orderby The ORDER BY clause of the query.
+                        * @param WP_Query &$this   The WP_Query instance (passed by reference).
+                        */
+                       $orderby = apply_filters_ref_array( 'posts_orderby_request', array( $orderby, &$this ) );
+
+                       /**
+                        * Filter the DISTINCT clause of the query.
+                        *
+                        * For use by caching plugins.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param string   $distinct The DISTINCT clause of the query.
+                        * @param WP_Query &$this    The WP_Query instance (passed by reference).
+                        */
+                       $distinct = apply_filters_ref_array( 'posts_distinct_request', array( $distinct, &$this ) );
+
+                       /**
+                        * Filter the SELECT clause of the query.
+                        *
+                        * For use by caching plugins.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param string   $fields The SELECT clause of the query.
+                        * @param WP_Query &$this  The WP_Query instance (passed by reference).
+                        */
+                       $fields = apply_filters_ref_array( 'posts_fields_request', array( $fields, &$this ) );
+
+                       /**
+                        * Filter the LIMIT clause of the query.
+                        *
+                        * For use by caching plugins.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param string   $limits The LIMIT clause of the query.
+                        * @param WP_Query &$this  The WP_Query instance (passed by reference).
+                        */
+                       $limits = apply_filters_ref_array( 'post_limits_request', array( $limits, &$this ) );
+
+                       /**
+                        * Filter all query clauses at once, for convenience.
+                        *
+                        * For use by caching plugins.
+                        *
+                        * Covers the WHERE, GROUP BY, JOIN, ORDER BY, DISTINCT,
+                        * fields (SELECT), and LIMITS clauses.
+                        *
+                        * @since 3.1.0
+                        *
+                        * @param array    $pieces The pieces of the query.
+                        * @param WP_Query &$this  The WP_Query instance (passed by reference).
+                        */
                        $clauses = (array) apply_filters_ref_array( 'posts_clauses_request', array( compact( $pieces ), &$this ) );
                        foreach ( $pieces as $piece )
                                $$piece = isset( $clauses[ $piece ] ) ? $clauses[ $piece ] : '';
@@ -2901,6 +3189,14 @@ class WP_Query {
                $this->request = $old_request = "SELECT $found_rows $distinct $fields FROM $wpdb->posts $join WHERE 1=1 $where $groupby $orderby $limits";
 
                if ( !$q['suppress_filters'] ) {
+                       /**
+                        * Filter the completed SQL query before sending.
+                        *
+                        * @since 2.0.0
+                        *
+                        * @param array    $request The complete SQL query.
+                        * @param WP_Query &$this   The WP_Query instance (passed by reference).
+                        */
                        $this->request = apply_filters_ref_array( 'posts_request', array( $this->request, &$this ) );
                }
 
@@ -2909,7 +3205,7 @@ class WP_Query {
                        $this->post_count = count( $this->posts );
                        $this->set_found_posts( $q, $limits );
 
-                       return $this->posts;
+                       return array_map( 'intval', $this->posts );
                }
 
                if ( 'id=>parent' == $q['fields'] ) {
@@ -2918,13 +3214,26 @@ class WP_Query {
                        $this->set_found_posts( $q, $limits );
 
                        $r = array();
-                       foreach ( $this->posts as $post )
-                               $r[ $post->ID ] = $post->post_parent;
-
+                       foreach ( $this->posts as $post ) {
+                               $r[ (int) $post->ID ] = (int) $post->post_parent;
+                       }
                        return $r;
                }
 
                $split_the_query = ( $old_request == $this->request && "$wpdb->posts.*" == $fields && !empty( $limits ) && $q['posts_per_page'] < 500 );
+
+               /**
+                * Filter whether to split the query.
+                *
+                * Splitting the query will cause it to fetch just the IDs of the found posts
+                * (and then individually fetch each post by ID), rather than fetching every
+                * complete row at once. One massive result vs. many small results.
+                *
+                * @since 3.4.0
+                *
+                * @param bool     $split_the_query Whether or not to split the query.
+                * @param WP_Query $this            The WP_Query instance.
+                */
                $split_the_query = apply_filters( 'split_the_query', $split_the_query, $this );
 
                if ( $split_the_query ) {
@@ -2932,6 +3241,14 @@ class WP_Query {
 
                        $this->request = "SELECT $found_rows $distinct $wpdb->posts.ID FROM $wpdb->posts $join WHERE 1=1 $where $groupby $orderby $limits";
 
+                       /**
+                        * Filter the Post IDs SQL request before sending.
+                        *
+                        * @since 3.4.0
+                        *
+                        * @param string   $request The post ID request.
+                        * @param WP_Query $this    The WP_Query instance.
+                        */
                        $this->request = apply_filters( 'posts_request_ids', $this->request, $this );
 
                        $ids = $wpdb->get_col( $this->request );
@@ -2952,18 +3269,36 @@ class WP_Query {
                if ( $this->posts )
                        $this->posts = array_map( 'get_post', $this->posts );
 
-               // Raw results filter. Prior to status checks.
-               if ( !$q['suppress_filters'] )
-                       $this->posts = apply_filters_ref_array('posts_results', array( $this->posts, &$this ) );
+               if ( ! $q['suppress_filters'] ) {
+                       /**
+                        * Filter the raw post results array, prior to status checks.
+                        *
+                        * @since 2.3.0
+                        *
+                        * @param array    $posts The post results array.
+                        * @param WP_Query &$this The WP_Query instance (passed by reference).
+                        */
+                       $this->posts = apply_filters_ref_array( 'posts_results', array( $this->posts, &$this ) );
+               }
 
                if ( !empty($this->posts) && $this->is_comment_feed && $this->is_singular ) {
-                       $cjoin = apply_filters_ref_array('comment_feed_join', array( '', &$this ) );
-                       $cwhere = apply_filters_ref_array('comment_feed_where', array( "WHERE comment_post_ID = '{$this->posts[0]->ID}' AND comment_approved = '1'", &$this ) );
-                       $cgroupby = apply_filters_ref_array('comment_feed_groupby', array( '', &$this ) );
+                       /** This filter is documented in wp-includes/query.php */
+                       $cjoin = apply_filters_ref_array( 'comment_feed_join', array( '', &$this ) );
+
+                       /** This filter is documented in wp-includes/query.php */
+                       $cwhere = apply_filters_ref_array( 'comment_feed_where', array( "WHERE comment_post_ID = '{$this->posts[0]->ID}' AND comment_approved = '1'", &$this ) );
+
+                       /** This filter is documented in wp-includes/query.php */
+                       $cgroupby = apply_filters_ref_array( 'comment_feed_groupby', array( '', &$this ) );
                        $cgroupby = ( ! empty( $cgroupby ) ) ? 'GROUP BY ' . $cgroupby : '';
-                       $corderby = apply_filters_ref_array('comment_feed_orderby', array( 'comment_date_gmt DESC', &$this ) );
+
+                       /** This filter is documented in wp-includes/query.php */
+                       $corderby = apply_filters_ref_array( 'comment_feed_orderby', array( 'comment_date_gmt DESC', &$this ) );
                        $corderby = ( ! empty( $corderby ) ) ? 'ORDER BY ' . $corderby : '';
-                       $climits = apply_filters_ref_array('comment_feed_limits', array( 'LIMIT ' . get_option('posts_per_rss'), &$this ) );
+
+                       /** This filter is documented in wp-includes/query.php */
+                       $climits = apply_filters_ref_array( 'comment_feed_limits', array( 'LIMIT ' . get_option('posts_per_rss'), &$this ) );
+
                        $comments_request = "SELECT $wpdb->comments.* FROM $wpdb->comments $cjoin $cwhere $cgroupby $corderby $climits";
                        $this->comments = $wpdb->get_results($comments_request);
                        $this->comment_count = count($this->comments);
@@ -2997,8 +3332,17 @@ class WP_Query {
                                }
                        }
 
-                       if ( $this->is_preview && $this->posts && current_user_can( $edit_cap, $this->posts[0]->ID ) )
+                       if ( $this->is_preview && $this->posts && current_user_can( $edit_cap, $this->posts[0]->ID ) ) {
+                               /**
+                                * Filter the single post for preview mode.
+                                *
+                                * @since 2.7.0
+                                *
+                                * @param WP_Post  $post_preview  The Post object.
+                                * @param WP_Query &$this         The WP_Query instance (passed by reference).
+                                */
                                $this->posts[0] = get_post( apply_filters_ref_array( 'the_preview', array( $this->posts[0], &$this ) ) );
+                       }
                }
 
                // Put sticky posts at the top of the posts array
@@ -3042,8 +3386,18 @@ class WP_Query {
                        }
                }
 
-               if ( !$q['suppress_filters'] )
-                       $this->posts = apply_filters_ref_array('the_posts', array( $this->posts, &$this ) );
+               if ( ! $q['suppress_filters'] ) {
+                       /**
+                        * Filter the array of retrieved posts after they've been fetched and
+                        * internally processed.
+                        *
+                        * @since 1.5.0
+                        *
+                        * @param array    $posts The array of retrieved posts.
+                        * @param WP_Query &$this The WP_Query instance (passed by reference).
+                        */
+                       $this->posts = apply_filters_ref_array( 'the_posts', array( $this->posts, &$this ) );
+               }
 
                // Ensure that any posts added/modified via one of the filters above are
                // of the type WP_Post and are filtered.
@@ -3079,11 +3433,28 @@ class WP_Query {
                if ( $q['no_found_rows'] || ( is_array( $this->posts ) && ! $this->posts ) )
                        return;
 
-               if ( ! empty( $limits ) )
+               if ( ! empty( $limits ) ) {
+                       /**
+                        * Filter the query to run for retrieving the found posts.
+                        *
+                        * @since 2.1.0
+                        *
+                        * @param string   $found_posts The query to run to find the found posts.
+                        * @param WP_Query &$this       The WP_Query instance (passed by reference).
+                        */
                        $this->found_posts = $wpdb->get_var( apply_filters_ref_array( 'found_posts_query', array( 'SELECT FOUND_ROWS()', &$this ) ) );
-               else
+               } else {
                        $this->found_posts = count( $this->posts );
+               }
 
+               /**
+                * Filter the number of found posts for the query.
+                *
+                * @since 2.1.0
+                *
+                * @param int      $found_posts The number of posts found.
+                * @param WP_Query &$this       The WP_Query instance (passed by reference).
+                */
                $this->found_posts = apply_filters_ref_array( 'found_posts', array( $this->found_posts, &$this ) );
 
                if ( ! empty( $limits ) )
@@ -3122,7 +3493,14 @@ class WP_Query {
                $this->in_the_loop = true;
 
                if ( $this->current_post == -1 ) // loop has just started
-                       do_action_ref_array('loop_start', array(&$this));
+                       /**
+                        * Fires once the loop is started.
+                        *
+                        * @since 2.0.0
+                        *
+                        * @param WP_Query &$this The WP_Query instance (passed by reference).
+                        */
+                       do_action_ref_array( 'loop_start', array( &$this ) );
 
                $post = $this->next_post();
                setup_postdata($post);
@@ -3143,7 +3521,14 @@ class WP_Query {
                if ( $this->current_post + 1 < $this->post_count ) {
                        return true;
                } elseif ( $this->current_post + 1 == $this->post_count && $this->post_count > 0 ) {
-                       do_action_ref_array('loop_end', array(&$this));
+                       /**
+                        * Fires once the loop has ended.
+                        *
+                        * @since 2.0.0
+                        *
+                        * @param WP_Query &$this The WP_Query instance (passed by reference).
+                        */
+                       do_action_ref_array( 'loop_end', array( &$this ) );
                        // Do some cleaning up after the loop
                        $this->rewind_posts();
                }
@@ -3194,7 +3579,12 @@ class WP_Query {
                $comment = $this->next_comment();
 
                if ( $this->current_comment == 0 ) {
-                       do_action('comment_loop_start');
+                       /**
+                        * Fires once the comment loop is started.
+                        *
+                        * @since 2.2.0
+                        */
+                       do_action( 'comment_loop_start' );
                }
        }
 
@@ -3391,10 +3781,30 @@ class WP_Query {
         *
         * @since 3.1.0
         *
+        * @param mixed $attachment Attachment ID, title, slug, or array of such.
         * @return bool
         */
-       function is_attachment() {
-               return (bool) $this->is_attachment;
+       function is_attachment( $attachment = '' ) {
+               if ( ! $this->is_attachment ) {
+                       return false;
+               }
+
+               if ( empty( $attachment ) ) {
+                       return true;
+               }
+
+               $attachment = (array) $attachment;
+
+               $post_obj = $this->get_queried_object();
+
+               if ( in_array( $post_obj->ID, $attachment ) ) {
+                       return true;
+               } elseif ( in_array( $post_obj->post_title, $attachment ) ) {
+                       return true;
+               } elseif ( in_array( $post_obj->post_name, $attachment ) ) {
+                       return true;
+               }
+               return false;
        }
 
        /**
@@ -3971,7 +4381,14 @@ function setup_postdata( $post ) {
                $pages = array( $post->post_content );
        }
 
-       do_action_ref_array('the_post', array(&$post));
+       /**
+        * Fires once the post data has been setup.
+        *
+        * @since 2.8.0
+        *
+        * @param WP_Post &$post The Post object (passed by reference).
+        */
+       do_action_ref_array( 'the_post', array( &$post ) );
 
        return true;
 }
index 5f441d3f5a7c4a56077d3f70e8f63b6d619b02e7..48523032e7798022e8998c479e433831e04ee548 100644 (file)
@@ -16,8 +16,6 @@
  * @since 2.6.0
  * @access private
  *
- * @uses apply_filters() Calls '_wp_post_revision_fields' on 'title', 'content' and 'excerpt' 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.
@@ -33,7 +31,20 @@ function _wp_post_revision_fields( $post = null, $autosave = false ) {
                        'post_excerpt' => __( 'Excerpt' ),
                );
 
-               // Runs only once
+               /**
+                * Filter the list of fields saved in post revisions.
+                *
+                * Included by default: 'post_title', 'post_content' and 'post_excerpt'.
+                *
+                * Disallowed fields: 'ID', 'post_name', 'post_parent', 'post_date',
+                * 'post_date_gmt', 'post_status', 'post_type', 'comment_count',
+                * and 'post_author'.
+                *
+                * @since 2.6.0
+                *
+                * @param array $fields List of fields to revision. Contains 'post_title',
+                *                      'post_content', and 'post_excerpt' by default.
+                */
                $fields = apply_filters( '_wp_post_revision_fields', $fields );
 
                // WP uses these internally either in versioning or elsewhere - they cannot be versioned
@@ -99,7 +110,21 @@ function wp_save_post_revision( $post_id ) {
                        }
                }
 
-               if ( isset( $last_revision ) && apply_filters( 'wp_save_post_revision_check_for_changes', true, $last_revision, $post ) ) {
+               /**
+                * Filter whether the post has changed since the last revision.
+                *
+                * By default a revision is saved only if one of the revisioned fields has changed.
+                * This filter can override that so a revision is saved even if nothing has changed.
+                *
+                * @since 3.6.0
+                *
+                * @param bool $check_for_changes Whether to check for changes before saving a new revision.
+                *                                Default true.
+                * @param int  $last_revision     ID of the last revision.
+                * @param int  $post              Post ID.
+                *
+                */
+               if ( isset( $last_revision ) && apply_filters( 'wp_save_post_revision_check_for_changes', $check_for_changes = true, $last_revision, $post ) ) {
                        $post_has_changed = false;
 
                        foreach ( array_keys( _wp_post_revision_fields() ) as $field ) {
@@ -215,7 +240,7 @@ function wp_is_post_autosave( $post ) {
  *
  * @param int|object|array $post Post ID, post object OR post array.
  * @param bool $autosave Optional. Is the revision an autosave?
- * @return mixed Null or 0 if error, new revision ID if success.
+ * @return mixed WP_Error or 0 if error, new revision ID if success.
  */
 function _wp_put_post_revision( $post = null, $autosave = false ) {
        if ( is_object($post) )
@@ -223,8 +248,8 @@ function _wp_put_post_revision( $post = null, $autosave = false ) {
        elseif ( !is_array($post) )
                $post = get_post($post, ARRAY_A);
 
-       if ( !$post || empty($post['ID']) )
-               return;
+       if ( ! $post || empty($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' ) );
@@ -237,8 +262,16 @@ function _wp_put_post_revision( $post = null, $autosave = false ) {
        if ( is_wp_error($revision_id) )
                return $revision_id;
 
-       if ( $revision_id )
+       if ( $revision_id ) {
+               /**
+                * Fires once a revision has been saved.
+                *
+                * @since 2.6.0
+                *
+                * @param int $revision_id Post revision ID.
+                */
                do_action( '_wp_put_post_revision', $revision_id );
+       }
 
        return $revision_id;
 }
@@ -256,11 +289,10 @@ function _wp_put_post_revision( $post = null, $autosave = false ) {
  * @return mixed Null if error or post object if success.
  */
 function wp_get_post_revision(&$post, $output = OBJECT, $filter = 'raw') {
-       $null = null;
        if ( !$revision = get_post( $post, OBJECT, $filter ) )
                return $revision;
        if ( 'revision' !== $revision->post_type )
-               return $null;
+               return null;
 
        if ( $output == OBJECT ) {
                return $revision;
@@ -284,8 +316,6 @@ function wp_get_post_revision(&$post, $output = OBJECT, $filter = 'raw') {
  *
  * @uses wp_get_post_revision()
  * @uses wp_update_post()
- * @uses do_action() Calls 'wp_restore_post_revision' on post ID and revision ID if wp_update_post()
- *  is successful.
  *
  * @param int|object $revision_id Revision ID or revision object.
  * @param array $fields Optional. What fields to restore from. Defaults to all.
@@ -325,6 +355,14 @@ function wp_restore_post_revision( $revision_id, $fields = null ) {
        // Update last edit user
        update_post_meta( $post_id, '_edit_last', get_current_user_id() );
 
+       /**
+        * Fires after a post revision has been restored.
+        *
+        * @since 2.6.0
+        *
+        * @param int $post_id     Post ID.
+        * @param int $revision_id Post revision ID.
+        */
        do_action( 'wp_restore_post_revision', $post_id, $revision['ID'] );
 
        return $post_id;
@@ -351,8 +389,17 @@ function wp_delete_post_revision( $revision_id ) {
        if ( is_wp_error( $delete ) )
                return $delete;
 
-       if ( $delete )
+       if ( $delete ) {
+               /**
+                * Fires once a post revision has been deleted.
+                *
+                * @since 2.6.0
+                *
+                * @param int          $revision_id Post revision ID.
+                * @param object|array $revision    Post revision object or array.
+                */
                do_action( 'wp_delete_post_revision', $revision->ID, $revision );
+       }
 
        return $delete;
 }
@@ -407,7 +454,6 @@ function wp_revisions_enabled( $post ) {
  * @since 3.6.0
  *
  * @uses post_type_supports()
- * @uses apply_filters() Calls 'wp_revisions_to_keep' hook on the number of revisions.
  *
  * @param object $post The post object.
  * @return int The number of revisions to keep.
@@ -423,6 +469,16 @@ function wp_revisions_to_keep( $post ) {
        if ( ! post_type_supports( $post->post_type, 'revisions' ) )
                $num = 0;
 
+       /**
+        * Filter the number of revisions to save for the given post.
+        *
+        * Overrides the value of WP_POST_REVISIONS.
+        *
+        * @since 3.6.0
+        *
+        * @param int     $num  Number of revisions to store.
+        * @param WP_Post $post Post object.
+        */
        return (int) apply_filters( 'wp_revisions_to_keep', $num, $post );
 }
 
index 2b48cdf83cd2f32c64448ff61761194b9655ec6e..0de3b3e34db5dd4176b776c15f4dd100a3b256c4 100644 (file)
@@ -250,10 +250,11 @@ define( 'EP_ALL', EP_PERMALINK | EP_ATTACHMENT | EP_ROOT | EP_COMMENTS | EP_SEAR
  *
  * @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.
  */
-function add_rewrite_endpoint( $name, $places ) {
+function add_rewrite_endpoint( $name, $places, $query_var = null ) {
        global $wp_rewrite;
-       $wp_rewrite->add_endpoint( $name, $places );
+       $wp_rewrite->add_endpoint( $name, $places, $query_var );
 }
 
 /**
@@ -288,7 +289,14 @@ function _wp_filter_taxonomy_base( $base ) {
 function url_to_postid($url) {
        global $wp_rewrite;
 
-       $url = apply_filters('url_to_postid', $url);
+       /**
+        * Filter the URL to derive the post ID from.
+        *
+        * @since 2.2.0
+        *
+        * @param string $url The URL to derive the post ID from.
+        */
+       $url = apply_filters( 'url_to_postid', $url );
 
        // First, check to see if there is a 'p=N' or 'page_id=N' to match against
        if ( preg_match('#[?&](p|page_id|attachment_id)=(\d+)#', $url, $values) )       {
@@ -354,7 +362,7 @@ function url_to_postid($url) {
                if ( !empty($url) && ($url != $request) && (strpos($match, $url) === 0) )
                        $request_match = $url . '/' . $request;
 
-               if ( preg_match("!^$match!", $request_match, $matches) ) {
+               if ( preg_match("#^$match#", $request_match, $matches) ) {
 
                        if ( $wp_rewrite->use_verbose_page_rules && preg_match( '/pagename=\$matches\[([0-9]+)\]/', $query, $varmatch ) ) {
                                // this is a verbose page match, lets check to be sure about it
@@ -1265,7 +1273,7 @@ class WP_Rewrite {
                                //match everything after the endpoint name, but allow for nothing to appear there
                                $epmatch = $endpoint[1] . '(/(.*))?/?$';
                                //this will be appended on to the rest of the query for each dir
-                               $epquery = '&' . $endpoint[1] . '=';
+                               $epquery = '&' . $endpoint[2] . '=';
                                $ep_query_append[$epmatch] = array ( $endpoint[0], $epquery );
                        }
                }
@@ -1558,36 +1566,105 @@ class WP_Rewrite {
                }
                $registration_pages['.*wp-register.php$'] = $this->index . '?register=true'; // Deprecated
 
-               // Post
+               // Post rewrite rules.
                $post_rewrite = $this->generate_rewrite_rules( $this->permalink_structure, EP_PERMALINK );
-               $post_rewrite = apply_filters('post_rewrite_rules', $post_rewrite);
 
-               // Date
+               /**
+                * Filter rewrite rules used for "post" archives.
+                *
+                * @since 1.5.0
+                *
+                * @param array $post_rewrite The rewrite rules for posts.
+                */
+               $post_rewrite = apply_filters( 'post_rewrite_rules', $post_rewrite );
+
+               // Date rewrite rules.
                $date_rewrite = $this->generate_rewrite_rules($this->get_date_permastruct(), EP_DATE);
-               $date_rewrite = apply_filters('date_rewrite_rules', $date_rewrite);
 
-               // Root
+               /**
+                * Filter rewrite rules used for date archives.
+                *
+                * Likely date archives would include /yyyy/, /yyyy/mm/, and /yyyy/mm/dd/.
+                *
+                * @since 1.5.0
+                *
+                * @param array $date_rewrite The rewrite rules for date archives.
+                */
+               $date_rewrite = apply_filters( 'date_rewrite_rules', $date_rewrite );
+
+               // Root-level rewrite rules.
                $root_rewrite = $this->generate_rewrite_rules($this->root . '/', EP_ROOT);
-               $root_rewrite = apply_filters('root_rewrite_rules', $root_rewrite);
 
-               // Comments
+               /**
+                * Filter rewrite rules used for root-level archives.
+                *
+                * Likely root-level archives would include pagination rules for the homepage
+                * as well as site-wide post feeds (e.g. /feed/, and /feed/atom/).
+                *
+                * @since 1.5.0
+                *
+                * @param array $root_rewrite The root-level rewrite rules.
+                */
+               $root_rewrite = apply_filters( 'root_rewrite_rules', $root_rewrite );
+
+               // Comments rewrite rules.
                $comments_rewrite = $this->generate_rewrite_rules($this->root . $this->comments_base, EP_COMMENTS, false, true, true, false);
-               $comments_rewrite = apply_filters('comments_rewrite_rules', $comments_rewrite);
 
-               // Search
+               /**
+                * Filter rewrite rules used for comment feed archives.
+                *
+                * Likely comments feed archives include /comments/feed/, and /comments/feed/atom/.
+                *
+                * @since 1.5.0
+                *
+                * @param array $comments_rewrite The rewrite rules for the site-wide comments feeds.
+                */
+               $comments_rewrite = apply_filters( 'comments_rewrite_rules', $comments_rewrite );
+
+               // Search rewrite rules.
                $search_structure = $this->get_search_permastruct();
                $search_rewrite = $this->generate_rewrite_rules($search_structure, EP_SEARCH);
-               $search_rewrite = apply_filters('search_rewrite_rules', $search_rewrite);
 
-               // Authors
+               /**
+                * Filter rewrite rules used for search archives.
+                *
+                * Likely search-related archives include /search/search+query/ as well as
+                * pagination and feed paths for a search.
+                *
+                * @since 1.5.0
+                *
+                * @param array $search_rewrite The rewrite rules for search queries.
+                */
+               $search_rewrite = apply_filters( 'search_rewrite_rules', $search_rewrite );
+
+               // Author rewrite rules.
                $author_rewrite = $this->generate_rewrite_rules($this->get_author_permastruct(), EP_AUTHORS);
-               $author_rewrite = apply_filters('author_rewrite_rules', $author_rewrite);
 
-               // Pages
+               /**
+                * Filter rewrite rules used for author archives.
+                *
+                * Likely author archives would include /author/author-name/, as well as
+                * pagination and feed paths for author archives.
+                *
+                * @since 1.5.0
+                *
+                * @param array $author_rewrite The rewrite rules for author archives.
+                */
+               $author_rewrite = apply_filters( 'author_rewrite_rules', $author_rewrite );
+
+               // Pages rewrite rules.
                $page_rewrite = $this->page_rewrite_rules();
-               $page_rewrite = apply_filters('page_rewrite_rules', $page_rewrite);
 
-               // Extra permastructs
+               /**
+                * Filter rewrite rules used for "page" post type archives.
+                *
+                * @since 1.5.0
+                *
+                * @param array $page_rewrite The rewrite rules for the "page" post type.
+                */
+               $page_rewrite = apply_filters( 'page_rewrite_rules', $page_rewrite );
+
+               // Extra permastructs.
                foreach ( $this->extra_permastructs as $permastructname => $struct ) {
                        if ( is_array( $struct ) ) {
                                if ( count( $struct ) == 2 )
@@ -1598,9 +1675,30 @@ class WP_Rewrite {
                                $rules = $this->generate_rewrite_rules( $struct );
                        }
 
-                       $rules = apply_filters($permastructname . '_rewrite_rules', $rules);
-                       if ( 'post_tag' == $permastructname )
-                               $rules = apply_filters('tag_rewrite_rules', $rules);
+                       /**
+                        * Filter rewrite rules used for individual permastructs.
+                        *
+                        * The dynamic portion of the hook name, $permastructname, refers
+                        * to the name of the registered permastruct, e.g. 'post_tag' (tags),
+                        * 'category' (categories), etc.
+                        *
+                        * @since 3.1.0
+                        *
+                        * @param array $rules The rewrite rules generated for the current permastruct.
+                        */
+                       $rules = apply_filters( $permastructname . '_rewrite_rules', $rules );
+                       if ( 'post_tag' == $permastructname ) {
+
+                               /**
+                                * Filter rewrite rules used specifically for Tags.
+                                *
+                                * @since 2.3.0
+                                * @deprecated 3.1.0 Use 'post_tag_rewrite_rules' instead
+                                *
+                                * @param array $rules The rewrite rules generated for tags.
+                                */
+                               $rules = apply_filters( 'tag_rewrite_rules', $rules );
+                       }
 
                        $this->extra_rules_top = array_merge($this->extra_rules_top, $rules);
                }
@@ -1611,8 +1709,23 @@ class WP_Rewrite {
                else
                        $this->rules = array_merge($this->extra_rules_top, $robots_rewrite, $deprecated_files, $registration_pages, $root_rewrite, $comments_rewrite, $search_rewrite,  $author_rewrite, $date_rewrite, $post_rewrite, $page_rewrite, $this->extra_rules);
 
-               do_action_ref_array('generate_rewrite_rules', array(&$this));
-               $this->rules = apply_filters('rewrite_rules_array', $this->rules);
+               /**
+                * Fires after the rewrite rules are generated.
+                *
+                * @since 1.5.0
+                *
+                * @param WP_Rewrite $this Current WP_Rewrite instance, passed by reference.
+                */
+               do_action_ref_array( 'generate_rewrite_rules', array( &$this ) );
+
+               /**
+                * Filter the full set of generated rewrite rules.
+                *
+                * @since 1.5.0
+                *
+                * @param array $this->rules The compiled array of rewrite rules.
+                */
+               $this->rules = apply_filters( 'rewrite_rules_array', $this->rules );
 
                return $this->rules;
        }
@@ -1720,8 +1833,25 @@ class WP_Rewrite {
 
                $rules .= "</IfModule>\n";
 
-               $rules = apply_filters('mod_rewrite_rules', $rules);
-               $rules = apply_filters('rewrite_rules', $rules);  // Deprecated
+               /**
+                *
+                * Filter the list of rewrite rules formatted for output to an .htaccess file.
+                *
+                * @since 1.5.0
+                *
+                * @param string $rules mod_rewrite Rewrite rules formatted for .htaccess.
+                */
+               $rules = apply_filters( 'mod_rewrite_rules', $rules );
+
+               /**
+                * Filter the list of rewrite rules formatted for output to an .htaccess file.
+                *
+                * @since 1.5.0
+                * @deprecated 1.5.0 Use the mod_rewrite_rules filter instead.
+                *
+                * @param string $rules mod_rewrite Rewrite rules formatted for .htaccess.
+                */
+               $rules = apply_filters( 'rewrite_rules', $rules );  // Deprecated
 
                return $rules;
        }
@@ -1767,7 +1897,14 @@ class WP_Rewrite {
 </configuration>';
                }
 
-               $rules = apply_filters('iis7_url_rewrite_rules', $rules);
+               /**
+                * Filter the list of rewrite rules formatted for output to a web.config.
+                *
+                * @since 2.8.0
+                *
+                * @param string $rules Rewrite rules formatted for IIS web.config.
+                */
+               $rules = apply_filters( 'iis7_url_rewrite_rules', $rules );
 
                return $rules;
        }
@@ -1818,20 +1955,24 @@ class WP_Rewrite {
        /**
         * Add an endpoint, like /trackback/.
         *
-        * See {@link add_rewrite_endpoint()} for full documentation.
-        *
-        * @see add_rewrite_endpoint()
         * @since 2.1.0
+        * @since 3.9.0 $query_var parameter added.
         * @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 $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.
         */
-       function add_endpoint($name, $places) {
+       function add_endpoint( $name, $places, $query_var = null ) {
                global $wp;
-               $this->endpoints[] = array ( $places, $name );
-               $wp->add_query_var($name);
+               if ( null === $query_var ) {
+                       $query_var = $name;
+               }
+               $this->endpoints[] = array( $places, $name, $query_var );
+               $wp->add_query_var( $query_var );
        }
 
        /**
@@ -1910,10 +2051,12 @@ class WP_Rewrite {
                 * A "hard" flush updates .htaccess (Apache) or web.config (IIS).
                 *
                 * @since 3.7.0
-                * @param bool $hard Defaults to true.
+                *
+                * @param bool $hard Whether to flush rewrite rules "hard". Default true.
                 */
-               if ( ! $hard || ! apply_filters( 'flush_rewrite_rules_hard', true ) )
+               if ( ! $hard || ! apply_filters( 'flush_rewrite_rules_hard', true ) ) {
                        return;
+               }
                if ( function_exists( 'save_mod_rewrite_rules' ) )
                        save_mod_rewrite_rules();
                if ( function_exists( 'iis7_save_url_rewrite_rules' ) )
@@ -1972,7 +2115,16 @@ class WP_Rewrite {
                        $old_permalink_structure = $this->permalink_structure;
                        update_option('permalink_structure', $permalink_structure);
                        $this->init();
-                       do_action('permalink_structure_changed', $old_permalink_structure, $permalink_structure);
+
+                       /**
+                        * Fires after the permalink structure is updated.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param string $old_permalink_structure The previous permalink structure.
+                        * @param string $permalink_structure     The new permalink structure.
+                        */
+                       do_action( 'permalink_structure_changed', $old_permalink_structure, $permalink_structure );
                }
        }
 
index 6e3244f26338c534c8bc0e595e26bc5604513ab7..36725bd67dbde518e4d152d70a9a4a523866dd00 100644 (file)
@@ -50,8 +50,11 @@ require( ABSPATH . WPINC . '/functions.wp-styles.php' );
 function wp_default_scripts( &$scripts ) {
        include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version
 
-       if ( ! defined( 'SCRIPT_DEBUG' ) )
-               define( 'SCRIPT_DEBUG', false !== strpos( $wp_version, '-src' ) );
+       $develop_src = false !== strpos( $wp_version, '-src' );
+
+       if ( ! defined( 'SCRIPT_DEBUG' ) ) {
+               define( 'SCRIPT_DEBUG', $develop_src );
+       }
 
        if ( ! $guessurl = site_url() ) {
                $guessed_url = true;
@@ -64,6 +67,7 @@ function wp_default_scripts( &$scripts ) {
        $scripts->default_dirs = array('/wp-admin/js/', '/wp-includes/js/');
 
        $suffix = SCRIPT_DEBUG ? '' : '.min';
+       $dev_suffix = $develop_src ? '' : '.min';
 
        $scripts->add( 'utils', "/wp-includes/js/utils$suffix.js" );
        did_action( 'init' ) && $scripts->localize( 'utils', 'userSettings', array(
@@ -113,12 +117,28 @@ function wp_default_scripts( &$scripts ) {
 
        $scripts->add( 'heartbeat', "/wp-includes/js/heartbeat$suffix.js", array('jquery'), false, 1 );
        did_action( 'init' ) && $scripts->localize( 'heartbeat', 'heartbeatSettings',
+               /**
+                * Filter the Heartbeat settings.
+                *
+                * @since 3.6.0
+                *
+                * @param array $settings Heartbeat settings array.
+                */
                apply_filters( 'heartbeat_settings', array() )
        );
 
        $scripts->add( 'wp-auth-check', "/wp-includes/js/wp-auth-check$suffix.js", array('heartbeat'), false, 1 );
        did_action( 'init' ) && $scripts->localize( 'wp-auth-check', 'authcheckL10n', array(
                'beforeunload' => __('Your session has expired. You can log in again from this page or go to the login page.'),
+
+               /**
+                * Filter the authentication check interval.
+                *
+                * @since 3.6.0
+                *
+                * @param int $interval The interval in which to check a user's authentication.
+                *                      Default 3 minutes in seconds, or 180.
+                */
                'interval' => apply_filters( 'wp_auth_check_interval', 3 * MINUTE_IN_SECONDS ),
        ) );
 
@@ -139,47 +159,47 @@ function wp_default_scripts( &$scripts ) {
        $scripts->add( 'cropper', '/wp-includes/js/crop/cropper.js', array('scriptaculous-dragdrop') );
 
        // jQuery
-       $scripts->add( 'jquery', false, array( 'jquery-core', 'jquery-migrate' ), '1.10.2' );
-       $scripts->add( 'jquery-core', '/wp-includes/js/jquery/jquery.js', array(), '1.10.2' );
+       $scripts->add( 'jquery', false, array( 'jquery-core', 'jquery-migrate' ), '1.11.0' );
+       $scripts->add( 'jquery-core', '/wp-includes/js/jquery/jquery.js', array(), '1.11.0' );
        $scripts->add( 'jquery-migrate', "/wp-includes/js/jquery/jquery-migrate$suffix.js", array(), '1.2.1' );
 
        // full jQuery UI
-       $scripts->add( 'jquery-ui-core', '/wp-includes/js/jquery/ui/jquery.ui.core.min.js', array('jquery'), '1.10.3', 1 );
-       $scripts->add( 'jquery-effects-core', '/wp-includes/js/jquery/ui/jquery.ui.effect.min.js', array('jquery'), '1.10.3', 1 );
-
-       $scripts->add( 'jquery-effects-blind', '/wp-includes/js/jquery/ui/jquery.ui.effect-blind.min.js', array('jquery-effects-core'), '1.10.3', 1 );
-       $scripts->add( 'jquery-effects-bounce', '/wp-includes/js/jquery/ui/jquery.ui.effect-bounce.min.js', array('jquery-effects-core'), '1.10.3', 1 );
-       $scripts->add( 'jquery-effects-clip', '/wp-includes/js/jquery/ui/jquery.ui.effect-clip.min.js', array('jquery-effects-core'), '1.10.3', 1 );
-       $scripts->add( 'jquery-effects-drop', '/wp-includes/js/jquery/ui/jquery.ui.effect-drop.min.js', array('jquery-effects-core'), '1.10.3', 1 );
-       $scripts->add( 'jquery-effects-explode', '/wp-includes/js/jquery/ui/jquery.ui.effect-explode.min.js', array('jquery-effects-core'), '1.10.3', 1 );
-       $scripts->add( 'jquery-effects-fade', '/wp-includes/js/jquery/ui/jquery.ui.effect-fade.min.js', array('jquery-effects-core'), '1.10.3', 1 );
-       $scripts->add( 'jquery-effects-fold', '/wp-includes/js/jquery/ui/jquery.ui.effect-fold.min.js', array('jquery-effects-core'), '1.10.3', 1 );
-       $scripts->add( 'jquery-effects-highlight', '/wp-includes/js/jquery/ui/jquery.ui.effect-highlight.min.js', array('jquery-effects-core'), '1.10.3', 1 );
-       $scripts->add( 'jquery-effects-pulsate', '/wp-includes/js/jquery/ui/jquery.ui.effect-pulsate.min.js', array('jquery-effects-core'), '1.10.3', 1 );
-       $scripts->add( 'jquery-effects-scale', '/wp-includes/js/jquery/ui/jquery.ui.effect-scale.min.js', array('jquery-effects-core'), '1.10.3', 1 );
-       $scripts->add( 'jquery-effects-shake', '/wp-includes/js/jquery/ui/jquery.ui.effect-shake.min.js', array('jquery-effects-core'), '1.10.3', 1 );
-       $scripts->add( 'jquery-effects-slide', '/wp-includes/js/jquery/ui/jquery.ui.effect-slide.min.js', array('jquery-effects-core'), '1.10.3', 1 );
-       $scripts->add( 'jquery-effects-transfer', '/wp-includes/js/jquery/ui/jquery.ui.effect-transfer.min.js', array('jquery-effects-core'), '1.10.3', 1 );
-
-       $scripts->add( 'jquery-ui-accordion', '/wp-includes/js/jquery/ui/jquery.ui.accordion.min.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-autocomplete', '/wp-includes/js/jquery/ui/jquery.ui.autocomplete.min.js', array('jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position', 'jquery-ui-menu'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-button', '/wp-includes/js/jquery/ui/jquery.ui.button.min.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-datepicker', '/wp-includes/js/jquery/ui/jquery.ui.datepicker.min.js', array('jquery-ui-core'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-dialog', '/wp-includes/js/jquery/ui/jquery.ui.dialog.min.js', array('jquery-ui-resizable', 'jquery-ui-draggable', 'jquery-ui-button', 'jquery-ui-position'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-draggable', '/wp-includes/js/jquery/ui/jquery.ui.draggable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-droppable', '/wp-includes/js/jquery/ui/jquery.ui.droppable.min.js', array('jquery-ui-draggable'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-menu', '/wp-includes/js/jquery/ui/jquery.ui.menu.min.js', array( 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position' ), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-mouse', '/wp-includes/js/jquery/ui/jquery.ui.mouse.min.js', array('jquery-ui-widget'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-position', '/wp-includes/js/jquery/ui/jquery.ui.position.min.js', array('jquery'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-progressbar', '/wp-includes/js/jquery/ui/jquery.ui.progressbar.min.js', array('jquery-ui-widget'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-resizable', '/wp-includes/js/jquery/ui/jquery.ui.resizable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-selectable', '/wp-includes/js/jquery/ui/jquery.ui.selectable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-slider', '/wp-includes/js/jquery/ui/jquery.ui.slider.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-sortable', '/wp-includes/js/jquery/ui/jquery.ui.sortable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-spinner', '/wp-includes/js/jquery/ui/jquery.ui.spinner.min.js', array( 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-button' ), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-tabs', '/wp-includes/js/jquery/ui/jquery.ui.tabs.min.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-tooltip', '/wp-includes/js/jquery/ui/jquery.ui.tooltip.min.js', array( 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position' ), '1.10.3', 1 );
-       $scripts->add( 'jquery-ui-widget', '/wp-includes/js/jquery/ui/jquery.ui.widget.min.js', array('jquery'), '1.10.3', 1 );
+       $scripts->add( 'jquery-ui-core', '/wp-includes/js/jquery/ui/jquery.ui.core.min.js', array('jquery'), '1.10.4', 1 );
+       $scripts->add( 'jquery-effects-core', '/wp-includes/js/jquery/ui/jquery.ui.effect.min.js', array('jquery'), '1.10.4', 1 );
+
+       $scripts->add( 'jquery-effects-blind', '/wp-includes/js/jquery/ui/jquery.ui.effect-blind.min.js', array('jquery-effects-core'), '1.10.4', 1 );
+       $scripts->add( 'jquery-effects-bounce', '/wp-includes/js/jquery/ui/jquery.ui.effect-bounce.min.js', array('jquery-effects-core'), '1.10.4', 1 );
+       $scripts->add( 'jquery-effects-clip', '/wp-includes/js/jquery/ui/jquery.ui.effect-clip.min.js', array('jquery-effects-core'), '1.10.4', 1 );
+       $scripts->add( 'jquery-effects-drop', '/wp-includes/js/jquery/ui/jquery.ui.effect-drop.min.js', array('jquery-effects-core'), '1.10.4', 1 );
+       $scripts->add( 'jquery-effects-explode', '/wp-includes/js/jquery/ui/jquery.ui.effect-explode.min.js', array('jquery-effects-core'), '1.10.4', 1 );
+       $scripts->add( 'jquery-effects-fade', '/wp-includes/js/jquery/ui/jquery.ui.effect-fade.min.js', array('jquery-effects-core'), '1.10.4', 1 );
+       $scripts->add( 'jquery-effects-fold', '/wp-includes/js/jquery/ui/jquery.ui.effect-fold.min.js', array('jquery-effects-core'), '1.10.4', 1 );
+       $scripts->add( 'jquery-effects-highlight', '/wp-includes/js/jquery/ui/jquery.ui.effect-highlight.min.js', array('jquery-effects-core'), '1.10.4', 1 );
+       $scripts->add( 'jquery-effects-pulsate', '/wp-includes/js/jquery/ui/jquery.ui.effect-pulsate.min.js', array('jquery-effects-core'), '1.10.4', 1 );
+       $scripts->add( 'jquery-effects-scale', '/wp-includes/js/jquery/ui/jquery.ui.effect-scale.min.js', array('jquery-effects-core'), '1.10.4', 1 );
+       $scripts->add( 'jquery-effects-shake', '/wp-includes/js/jquery/ui/jquery.ui.effect-shake.min.js', array('jquery-effects-core'), '1.10.4', 1 );
+       $scripts->add( 'jquery-effects-slide', '/wp-includes/js/jquery/ui/jquery.ui.effect-slide.min.js', array('jquery-effects-core'), '1.10.4', 1 );
+       $scripts->add( 'jquery-effects-transfer', '/wp-includes/js/jquery/ui/jquery.ui.effect-transfer.min.js', array('jquery-effects-core'), '1.10.4', 1 );
+
+       $scripts->add( 'jquery-ui-accordion', '/wp-includes/js/jquery/ui/jquery.ui.accordion.min.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-autocomplete', '/wp-includes/js/jquery/ui/jquery.ui.autocomplete.min.js', array('jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position', 'jquery-ui-menu'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-button', '/wp-includes/js/jquery/ui/jquery.ui.button.min.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-datepicker', '/wp-includes/js/jquery/ui/jquery.ui.datepicker.min.js', array('jquery-ui-core'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-dialog', '/wp-includes/js/jquery/ui/jquery.ui.dialog.min.js', array('jquery-ui-resizable', 'jquery-ui-draggable', 'jquery-ui-button', 'jquery-ui-position'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-draggable', '/wp-includes/js/jquery/ui/jquery.ui.draggable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-droppable', '/wp-includes/js/jquery/ui/jquery.ui.droppable.min.js', array('jquery-ui-draggable'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-menu', '/wp-includes/js/jquery/ui/jquery.ui.menu.min.js', array( 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position' ), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-mouse', '/wp-includes/js/jquery/ui/jquery.ui.mouse.min.js', array('jquery-ui-widget'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-position', '/wp-includes/js/jquery/ui/jquery.ui.position.min.js', array('jquery'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-progressbar', '/wp-includes/js/jquery/ui/jquery.ui.progressbar.min.js', array('jquery-ui-widget'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-resizable', '/wp-includes/js/jquery/ui/jquery.ui.resizable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-selectable', '/wp-includes/js/jquery/ui/jquery.ui.selectable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-slider', '/wp-includes/js/jquery/ui/jquery.ui.slider.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-sortable', '/wp-includes/js/jquery/ui/jquery.ui.sortable.min.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-spinner', '/wp-includes/js/jquery/ui/jquery.ui.spinner.min.js', array( 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-button' ), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-tabs', '/wp-includes/js/jquery/ui/jquery.ui.tabs.min.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-tooltip', '/wp-includes/js/jquery/ui/jquery.ui.tooltip.min.js', array( 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position' ), '1.10.4', 1 );
+       $scripts->add( 'jquery-ui-widget', '/wp-includes/js/jquery/ui/jquery.ui.widget.min.js', array('jquery'), '1.10.4', 1 );
 
        // deprecated, not used in core, most functionality is included in jQuery 1.3
        $scripts->add( 'jquery-form', "/wp-includes/js/jquery/jquery.form$suffix.js", array('jquery'), '3.37.0', 1 );
@@ -193,7 +213,11 @@ function wp_default_scripts( &$scripts ) {
        $scripts->add( 'jquery-hotkeys', "/wp-includes/js/jquery/jquery.hotkeys$suffix.js", array('jquery'), '0.0.2m', 1 );
        $scripts->add( 'jquery-table-hotkeys', "/wp-includes/js/jquery/jquery.table-hotkeys$suffix.js", array('jquery', 'jquery-hotkeys'), false, 1 );
        $scripts->add( 'jquery-touch-punch', "/wp-includes/js/jquery/jquery.ui.touch-punch.js", array('jquery-ui-widget', 'jquery-ui-mouse'), '0.2.2', 1 );
-       $scripts->add( 'jquery-masonry', "/wp-includes/js/jquery/jquery.masonry.min.js", array('jquery'), '2.1.05', 1 );
+
+       // Masonry v2 depended on jQuery. v3 does not. The older jquery-masonry handle is a shiv.
+       // It sets jQuery as a dependency, as the theme may have been implicitly loading it this way.
+       $scripts->add( 'masonry', "/wp-includes/js/masonry.min.js", array(), '3.1.2', 1 );
+       $scripts->add( 'jquery-masonry', "/wp-includes/js/jquery/jquery.masonry$dev_suffix.js", array( 'jquery', 'masonry' ), '3.1.2', 1 );
 
        $scripts->add( 'thickbox', "/wp-includes/js/thickbox/thickbox.js", array('jquery'), '3.1-20121105', 1 );
        did_action( 'init' ) && $scripts->localize( 'thickbox', 'thickboxL10n', array(
@@ -242,19 +266,16 @@ function wp_default_scripts( &$scripts ) {
                'error_uploading' => __('&#8220;%s&#8221; has failed to upload.')
        );
 
-       $scripts->add( 'plupload', '/wp-includes/js/plupload/plupload.js', array(), '1.5.7' );
-       $scripts->add( 'plupload-html5', '/wp-includes/js/plupload/plupload.html5.js', array('plupload'), '1.5.7' );
-       $scripts->add( 'plupload-flash', '/wp-includes/js/plupload/plupload.flash.js', array('plupload'), '1.5.7' );
-       $scripts->add( 'plupload-silverlight', '/wp-includes/js/plupload/plupload.silverlight.js', array('plupload'), '1.5.7' );
-       $scripts->add( 'plupload-html4', '/wp-includes/js/plupload/plupload.html4.js', array('plupload'), '1.5.7' );
-
-       // cannot use the plupload.full.js, as it loads browserplus init JS from Yahoo
-       $scripts->add( 'plupload-all', false, array('plupload', 'plupload-html5', 'plupload-flash', 'plupload-silverlight', 'plupload-html4'), '1.5.7' );
+       $scripts->add( 'plupload', '/wp-includes/js/plupload/plupload.full.min.js', array(), '2.1.1' );
+       // Back compat handles:
+       foreach ( array( 'all', 'html5', 'flash', 'silverlight', 'html4' ) as $handle ) {
+               $scripts->add( "plupload-$handle", false, array( 'plupload' ), '2.1.1' );
+       }
 
-       $scripts->add( 'plupload-handlers', "/wp-includes/js/plupload/handlers$suffix.js", array('plupload-all', 'jquery') );
+       $scripts->add( 'plupload-handlers', "/wp-includes/js/plupload/handlers$suffix.js", array( 'plupload', 'jquery' ) );
        did_action( 'init' ) && $scripts->localize( 'plupload-handlers', 'pluploadL10n', $uploader_l10n );
 
-       $scripts->add( 'wp-plupload', "/wp-includes/js/plupload/wp-plupload$suffix.js", array('plupload-all', 'jquery', 'json2', 'media-models'), false, 1 );
+       $scripts->add( 'wp-plupload', "/wp-includes/js/plupload/wp-plupload$suffix.js", array( 'plupload', 'jquery', 'json2', 'media-models' ), false, 1 );
        did_action( 'init' ) && $scripts->localize( 'wp-plupload', 'pluploadL10n', $uploader_l10n );
 
        // keep 'swfupload' for back-compat.
@@ -266,12 +287,12 @@ function wp_default_scripts( &$scripts ) {
        $scripts->add( 'swfupload-handlers', "/wp-includes/js/swfupload/handlers$suffix.js", array('swfupload-all', 'jquery'), '2201-20110524');
        did_action( 'init' ) && $scripts->localize( 'swfupload-handlers', 'swfuploadL10n', $uploader_l10n );
 
-       $scripts->add( 'comment-reply', "/wp-includes/js/comment-reply$suffix.js" );
+       $scripts->add( 'comment-reply', "/wp-includes/js/comment-reply$suffix.js", array(), false, 1 );
 
        $scripts->add( 'json2', "/wp-includes/js/json2$suffix.js", array(), '2011-02-23');
 
-       $scripts->add( 'underscore', '/wp-includes/js/underscore.min.js', array(), '1.4.4', 1 );
-       $scripts->add( 'backbone', '/wp-includes/js/backbone.min.js', array('underscore','jquery'), '1.0.0', 1 );
+       $scripts->add( 'underscore', "/wp-includes/js/underscore$dev_suffix.js", array(), '1.6.0', 1 );
+       $scripts->add( 'backbone', "/wp-includes/js/backbone$dev_suffix.js", array( 'underscore','jquery' ), '1.1.2', 1 );
 
        $scripts->add( 'wp-util', "/wp-includes/js/wp-util$suffix.js", array('underscore', 'jquery'), false, 1 );
        did_action( 'init' ) && $scripts->localize( 'wp-util', '_wpUtilSettings', array(
@@ -286,7 +307,7 @@ function wp_default_scripts( &$scripts ) {
 
        $scripts->add( 'imgareaselect', "/wp-includes/js/imgareaselect/jquery.imgareaselect$suffix.js", array('jquery'), '0.9.10', 1 );
 
-       $scripts->add( 'mediaelement', "/wp-includes/js/mediaelement/mediaelement-and-player.min.js", array('jquery'), '2.13.0', 1 );
+       $scripts->add( 'mediaelement', "/wp-includes/js/mediaelement/mediaelement-and-player.min.js", array('jquery'), '2.14.2', 1 );
        did_action( 'init' ) && $scripts->localize( 'mediaelement', 'mejsL10n', array(
                'language' => get_bloginfo( 'language' ),
                'strings'  => array(
@@ -307,10 +328,12 @@ function wp_default_scripts( &$scripts ) {
 
 
        $scripts->add( 'wp-mediaelement', "/wp-includes/js/mediaelement/wp-mediaelement.js", array('mediaelement'), false, 1 );
-       did_action( 'init' ) && $scripts->localize( 'wp-mediaelement', '_wpmejsSettings', array(
+       did_action( 'init' ) && $scripts->localize( 'mediaelement', '_wpmejsSettings', array(
                'pluginPath' => includes_url( 'js/mediaelement/', 'relative' ),
        ) );
 
+       $scripts->add( 'wp-playlist', "/wp-includes/js/mediaelement/wp-playlist.js", array( 'wp-util', 'backbone', 'mediaelement' ), false, 1 );
+
        $scripts->add( 'zxcvbn-async', "/wp-includes/js/zxcvbn-async$suffix.js", array(), '1.0' );
        did_action( 'init' ) && $scripts->localize( 'zxcvbn-async', '_zxcvbnSettings', array(
                'src' => empty( $guessed_url ) ? includes_url( '/js/zxcvbn.min.js' ) : $scripts->base_url . '/wp-includes/js/zxcvbn.min.js',
@@ -333,7 +356,7 @@ function wp_default_scripts( &$scripts ) {
 
        $scripts->add( 'admin-bar', "/wp-includes/js/admin-bar$suffix.js", array(), false, 1 );
 
-       $scripts->add( 'wplink', "/wp-includes/js/wplink$suffix.js", array( 'jquery', 'wpdialogs' ), false, 1 );
+       $scripts->add( 'wplink', "/wp-includes/js/wplink$suffix.js", array( 'jquery' ), false, 1 );
        did_action( 'init' ) && $scripts->localize( 'wplink', 'wpLinkL10n', array(
                'title' => __('Insert/edit link'),
                'update' => __('Update'),
@@ -342,9 +365,7 @@ function wp_default_scripts( &$scripts ) {
                'noMatchesFound' => __('No matches found.')
        ) );
 
-       $scripts->add( 'wpdialogs', "/wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog$suffix.js", array( 'jquery-ui-dialog' ), false, 1 );
-
-       $scripts->add( 'wpdialogs-popup', "/wp-includes/js/tinymce/plugins/wpdialogs/js/popup$suffix.js", array( 'wpdialogs' ), false, 1 );
+       $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 );
        did_action( 'init' ) && $scripts->localize( 'word-count', 'wordCountL10n', array(
@@ -360,6 +381,8 @@ function wp_default_scripts( &$scripts ) {
        $scripts->add( 'customize-base',     "/wp-includes/js/customize-base$suffix.js",     array( 'jquery', 'json2' ), 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 );
        did_action( 'init' ) && $scripts->localize( 'customize-controls', '_wpCustomizeControlsL10n', array(
                'activate'  => __( 'Save &amp; Activate' ),
@@ -373,6 +396,9 @@ function wp_default_scripts( &$scripts ) {
                '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( 'accordion', "/wp-admin/js/accordion$suffix.js", array( 'jquery' ), false, 1 );
 
        $scripts->add( 'shortcode', "/wp-includes/js/shortcode$suffix.js", array( 'underscore' ), false, 1 );
@@ -386,9 +412,10 @@ function wp_default_scripts( &$scripts ) {
 
        // To enqueue media-views or media-editor, call wp_enqueue_media().
        // Both rely on numerous settings, styles, and templates to operate correctly.
-       $scripts->add( 'media-views',  "/wp-includes/js/media-views$suffix.js",  array( 'utils', 'media-models', 'wp-plupload', 'jquery-ui-sortable' ), false, 1 );
+       $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( 'mce-view', "/wp-includes/js/mce-view$suffix.js", array( 'shortcode', 'media-models' ), 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 );
 
        if ( is_admin() ) {
                $scripts->add( 'admin-tags', "/wp-admin/js/tags$suffix.js", array('jquery', 'wp-ajax-response'), false, 1 );
@@ -432,6 +459,8 @@ function wp_default_scripts( &$scripts ) {
                        'privatelyPublished' => __('Privately Published'),
                        'published' => __('Published'),
                        'comma' => _x( ',', 'tag delimiter' ),
+                       'saveAlert' => __('The changes you made will be lost if you navigate away from this page.'),
+                       'savingText' => __('Saving Draft&#8230;'),
                ) );
 
                $scripts->add( 'link', "/wp-admin/js/link$suffix.js", array( 'wp-lists', 'postbox' ), false, 1 );
@@ -447,10 +476,6 @@ function wp_default_scripts( &$scripts ) {
                $scripts->add( 'admin-widgets', "/wp-admin/js/widgets$suffix.js", array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable' ), false, 1 );
 
                $scripts->add( 'theme', "/wp-admin/js/theme$suffix.js", array( 'wp-backbone' ), false, 1 );
-               $scripts->add( 'theme-install', "/wp-admin/js/theme-install$suffix.js", array( 'jquery' ), false, 1 );
-
-               // @todo: Core no longer uses theme-preview.js. Remove?
-               $scripts->add( 'theme-preview', "/wp-admin/js/theme-preview$suffix.js", array( 'thickbox', 'jquery' ), false, 1 );
 
                $scripts->add( 'inline-edit-post', "/wp-admin/js/inline-edit-post$suffix.js", array( 'jquery', 'suggest', 'heartbeat' ), false, 1 );
                did_action( 'init' ) && $scripts->localize( 'inline-edit-post', 'inlineEditL10n', array(
@@ -471,6 +496,8 @@ function wp_default_scripts( &$scripts ) {
                        'ays' => __('Are you sure you want to install this plugin?')
                ) );
 
+               $scripts->add( 'updates', "/wp-admin/js/updates$suffix.js", array( 'jquery' ) );
+
                $scripts->add( 'farbtastic', '/wp-admin/js/farbtastic.js', array('jquery'), '1.2' );
 
                $scripts->add( 'iris', '/wp-admin/js/iris.min.js', array( 'jquery-ui-draggable', 'jquery-ui-slider', 'jquery-touch-punch' ), false, 1 );
@@ -486,7 +513,10 @@ function wp_default_scripts( &$scripts ) {
 
                $scripts->add( 'list-revisions', "/wp-includes/js/wp-list-revisions$suffix.js" );
 
-               $scripts->add( 'media', "/wp-admin/js/media$suffix.js", array( 'jquery-ui-draggable' ), false, 1 );
+               $scripts->add( 'media', "/wp-admin/js/media$suffix.js", array( 'jquery' ), false, 1 );
+               did_action( 'init' ) && $scripts->localize( 'media', 'attachMediaBoxL10n', array(
+                       'error' => __( 'An error has occurred. Please reload the page and try again.' ),
+               ));
 
                $scripts->add( 'image-edit', "/wp-admin/js/image-edit$suffix.js", array('jquery', 'json2', 'imgareaselect'), false, 1 );
                did_action( 'init' ) && $scripts->localize( 'image-edit', 'imageEditL10n', array(
@@ -547,15 +577,6 @@ function wp_default_styles( &$styles ) {
        $styles->text_direction = function_exists( 'is_rtl' ) && is_rtl() ? 'rtl' : 'ltr';
        $styles->default_dirs = array('/wp-admin/', '/wp-includes/css/');
 
-       $suffix = SCRIPT_DEBUG ? '' : '.min';
-
-       $rtl_styles = array( 'wp-admin', 'ie', 'media', 'admin-bar', 'customize-controls', 'media-views', 'wp-color-picker', 'wp-pointer', 'editor-buttons', 'farbtastic', 'wp-auth-check', 'wp-jquery-ui-dialog', 'media-views', 'buttons', 'install', 'colors-fresh' );
-
-       $styles->add( 'wp-admin', "/wp-admin/css/wp-admin$suffix.css", array( 'open-sans', 'dashicons' ) );
-
-       $styles->add( 'ie', "/wp-admin/css/ie$suffix.css" );
-       $styles->add_data( 'ie', 'conditional', 'lte IE 7' );
-
        $open_sans_font_url = '';
 
        /* translators: If there are characters in your language that are not supported
@@ -581,35 +602,57 @@ function wp_default_styles( &$styles ) {
                $open_sans_font_url = "//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets";
        }
 
-       $styles->add( 'open-sans', $open_sans_font_url );
+       // Register a stylesheet for the selected admin color scheme.
+       $styles->add( 'colors', true, array( 'wp-admin', 'buttons', 'open-sans', 'dashicons' ) );
 
-       // Dashicons
-       $styles->add( 'dashicons', "/wp-includes/css/dashicons$suffix.css" );
+       $suffix = SCRIPT_DEBUG ? '' : '.min';
 
-       // Register "meta" stylesheet for admin colors. All colors-* style sheets should have the same version string.
-       $styles->add( 'colors', true, array( 'wp-admin', 'buttons', 'open-sans', 'dashicons' ) );
+       // 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( 'ie',                 "/wp-admin/css/ie$suffix.css" );
 
-       // do not refer to this directly, the right one is queued by the above "meta" colors handle
-       $styles->add( 'colors-fresh', "/wp-admin/css/colors$suffix.css", array( 'wp-admin', 'buttons' ) );
+       $styles->add_data( 'ie', 'conditional', 'lte IE 7' );
 
-       $styles->add( 'media', "/wp-admin/css/media$suffix.css" );
-       $styles->add( 'install', "/wp-admin/css/install$suffix.css", array( 'buttons', 'open-sans' ) );
-       $styles->add( 'thickbox', '/wp-includes/js/thickbox/thickbox.css', array( 'dashicons' ), '20131201' );
-       $styles->add( 'farbtastic', '/wp-admin/css/farbtastic.css', array(), '1.3u1' );
-       $styles->add( 'wp-color-picker', "/wp-admin/css/color-picker$suffix.css" );
-       $styles->add( 'jcrop', "/wp-includes/js/jcrop/jquery.Jcrop.min.css", array(), '0.9.12' );
-       $styles->add( 'imgareaselect', '/wp-includes/js/imgareaselect/imgareaselect.css', array(), '0.9.8' );
-       $styles->add( 'admin-bar', "/wp-includes/css/admin-bar$suffix.css", array( 'open-sans', 'dashicons' ) );
-       $styles->add( 'wp-jquery-ui-dialog', "/wp-includes/css/jquery-ui-dialog$suffix.css", array( 'dashicons' ) );
+       // Common dependencies
+       $styles->add( 'buttons',   "/wp-includes/css/buttons$suffix.css" );
+       $styles->add( 'dashicons', "/wp-includes/css/dashicons$suffix.css" );
+       $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( 'wp-pointer', "/wp-includes/css/wp-pointer$suffix.css", array( 'dashicons' ) );
-       $styles->add( 'customize-controls', "/wp-admin/css/customize-controls$suffix.css", array( 'wp-admin', 'colors', 'ie' ) );
-       $styles->add( 'media-views', "/wp-includes/css/media-views$suffix.css", array( 'buttons', 'dashicons' ) );
-       $styles->add( 'buttons', "/wp-includes/css/buttons$suffix.css" );
-       $styles->add( 'wp-auth-check', "/wp-includes/css/wp-auth-check$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' ) );
+
+       // 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.13.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' ), '20131201' );
 
-       $styles->add( 'mediaelement', "/wp-includes/js/mediaelement/mediaelementplayer.min.css", array(), '2.13.0' );
-       $styles->add( 'wp-mediaelement', "/wp-includes/js/mediaelement/wp-mediaelement.css", array( 'mediaelement' ) );
+       // Deprecated CSS
+       $styles->add( 'media',      "/wp-admin/css/deprecated-media$suffix.css" );
+       $styles->add( 'farbtastic', '/wp-admin/css/farbtastic.css', array(), '1.3u1' );
+       $styles->add( 'jcrop',      "/wp-includes/js/jcrop/jquery.Jcrop.min.css", array(), '0.9.12' );
+       $styles->add( 'colors-fresh', false, array( 'wp-admin', 'buttons' ) ); // Old handle.
+
+       // RTL CSS
+       $rtl_styles = array(
+               // wp-admin
+               'wp-admin', 'install', 'wp-color-picker', 'customize-controls', 'customize-widgets', 'ie', 'login',
+               // wp-includes
+               'buttons', 'admin-bar', 'wp-auth-check', 'editor-buttons', 'media-views', 'wp-pointer',
+               'wp-jquery-ui-dialog',
+               // deprecated
+               'media', 'farbtastic',
+       );
 
        foreach ( $rtl_styles as $rtl_style ) {
                $styles->add_data( $rtl_style, 'rtl', 'replace' );
@@ -655,8 +698,6 @@ function wp_just_in_time_script_localization() {
 
        wp_localize_script( 'autosave', 'autosaveL10n', array(
                'autosaveInterval' => AUTOSAVE_INTERVAL,
-               'savingText' => __('Saving Draft&#8230;'),
-               'saveAlert' => __('The changes you made will be lost if you navigate away from this page.'),
                'blog_id' => get_current_blog_id(),
        ) );
 
@@ -683,11 +724,12 @@ function wp_just_in_time_script_localization() {
  * @return string URL path to CSS stylesheet for Administration Screens.
  */
 function wp_style_loader_src( $src, $handle ) {
+       global $_wp_admin_css_colors;
+
        if ( defined('WP_INSTALLING') )
                return preg_replace( '#^wp-admin/#', './', $src );
 
-       if ( 'colors' == $handle || 'colors-rtl' == $handle ) {
-               global $_wp_admin_css_colors;
+       if ( 'colors' == $handle ) {
                $color = get_user_option('admin_color');
 
                if ( empty($color) || !isset($_wp_admin_css_colors[$color]) )
@@ -697,6 +739,10 @@ function wp_style_loader_src( $src, $handle ) {
                $parsed = parse_url( $src );
                $url = $color->url;
 
+               if ( ! $url ) {
+                       return false;
+               }
+
                if ( isset($parsed['query']) && $parsed['query'] ) {
                        wp_parse_str( $parsed['query'], $qv );
                        $url = add_query_arg( $qv, $url );
@@ -714,7 +760,7 @@ function wp_style_loader_src( $src, $handle ) {
  * Postpones the scripts that were queued for the footer.
  * print_footer_scripts() is called in the footer to print these scripts.
  *
- * @since 2.8
+ * @since 2.8.0
  *
  * @see wp_print_scripts()
  */
@@ -733,8 +779,16 @@ function print_head_scripts() {
        $wp_scripts->do_concat = $concatenate_scripts;
        $wp_scripts->do_head_items();
 
-       if ( apply_filters('print_head_scripts', true) )
+       /**
+        * Filter whether to print the head scripts.
+        *
+        * @since 2.8.0
+        *
+        * @param bool $print Whether to print the head scripts. Default true.
+        */
+       if ( apply_filters( 'print_head_scripts', true ) ) {
                _print_scripts();
+       }
 
        $wp_scripts->reset();
        return $wp_scripts->done;
@@ -743,7 +797,7 @@ function print_head_scripts() {
 /**
  * Prints the scripts that were queued for the footer or too late for the HTML head.
  *
- * @since 2.8
+ * @since 2.8.0
  */
 function print_footer_scripts() {
        global $wp_scripts, $concatenate_scripts;
@@ -755,8 +809,16 @@ function print_footer_scripts() {
        $wp_scripts->do_concat = $concatenate_scripts;
        $wp_scripts->do_footer_items();
 
-       if ( apply_filters('print_footer_scripts', true) )
+       /**
+        * Filter whether to print the footer scripts.
+        *
+        * @since 2.8.0
+        *
+        * @param bool $print Whether to print the footer scripts. Default true.
+        */
+       if ( apply_filters( 'print_footer_scripts', true ) ) {
                _print_scripts();
+       }
 
        $wp_scripts->reset();
        return $wp_scripts->done;
@@ -799,7 +861,7 @@ function _print_scripts() {
  * Postpones the scripts that were queued for the footer.
  * wp_print_footer_scripts() is called in the footer to print these scripts.
  *
- * @since 2.8
+ * @since 2.8.0
  */
 function wp_print_head_scripts() {
        if ( ! did_action('wp_print_scripts') ) {
@@ -828,10 +890,15 @@ function _wp_footer_scripts() {
 /**
  * Hooks to print the scripts and styles in the footer.
  *
- * @since 2.8
+ * @since 2.8.0
  */
 function wp_print_footer_scripts() {
-       do_action('wp_print_footer_scripts');
+       /**
+        * Fires when footer scripts are printed.
+        *
+        * @since 2.8.0
+        */
+       do_action( 'wp_print_footer_scripts' );
 }
 
 /**
@@ -840,16 +907,21 @@ function wp_print_footer_scripts() {
  * Allows plugins to queue scripts for the front end using wp_enqueue_script().
  * Runs first in wp_head() where all is_home(), is_page(), etc. functions are available.
  *
- * @since 2.8
+ * @since 2.8.0
  */
 function wp_enqueue_scripts() {
-       do_action('wp_enqueue_scripts');
+       /**
+        * Fires when scripts and styles are enqueued.
+        *
+        * @since 2.8.0
+        */
+       do_action( 'wp_enqueue_scripts' );
 }
 
 /**
  * Prints the styles queue in the HTML head on admin pages.
  *
- * @since 2.8
+ * @since 2.8.0
  */
 function print_admin_styles() {
        global $wp_styles, $concatenate_scripts, $compress_css;
@@ -865,8 +937,16 @@ function print_admin_styles() {
 
        $wp_styles->do_items(false);
 
-       if ( apply_filters('print_admin_styles', true) )
+       /**
+        * Filter whether to print the admin styles.
+        *
+        * @since 2.8.0
+        *
+        * @param bool $print Whether to print the admin styles. Default true.
+        */
+       if ( apply_filters( 'print_admin_styles', true ) ) {
                _print_styles();
+       }
 
        $wp_styles->reset();
        return $wp_styles->done;
@@ -886,8 +966,16 @@ function print_late_styles() {
        $wp_styles->do_concat = $concatenate_scripts;
        $wp_styles->do_footer_items();
 
-       if ( apply_filters('print_late_styles', true) )
+       /**
+        * Filter whether to print the styles queued too late for the HTML head.
+        *
+        * @since 3.3.0
+        *
+        * @param bool $print Whether to print the 'late' styles. Default true.
+        */
+       if ( apply_filters( 'print_late_styles', true ) ) {
                _print_styles();
+       }
 
        $wp_styles->reset();
        return $wp_styles->done;
@@ -923,7 +1011,7 @@ function _print_styles() {
 /**
  * Determine the concatenation and compression settings for scripts and styles.
  *
- * @since 2.8
+ * @since 2.8.0
  */
 function script_concat_settings() {
        global $concatenate_scripts, $compress_scripts, $compress_css;
index dafb3a14051b975357154390f8e689265ce4523a..15f8561d5b11d0a6d6bfac29a209407f7647c72a 100644 (file)
  *
  * @package WordPress
  * @subpackage Shortcodes
- * @since 2.5
+ * @since 2.5.0
  */
 
 /**
  * Container for storing shortcode tags and their hook to call for the shortcode
  *
- * @since 2.5
+ * @since 2.5.0
+ *
  * @name $shortcode_tags
  * @var array
  * @global array $shortcode_tags
@@ -84,7 +85,8 @@ $shortcode_tags = array();
  * add_shortcode('baztag', 'baztag_func');
  * </code>
  *
- * @since 2.5
+ * @since 2.5.0
+ *
  * @uses $shortcode_tags
  *
  * @param string $tag Shortcode tag to be searched in post content.
@@ -100,7 +102,8 @@ function add_shortcode($tag, $func) {
 /**
  * Removes hook for shortcode.
  *
- * @since 2.5
+ * @since 2.5.0
+ *
  * @uses $shortcode_tags
  *
  * @param string $tag shortcode tag to remove hook for.
@@ -118,7 +121,8 @@ function remove_shortcode($tag) {
  * shortcodes global by a empty array. This is actually a very efficient method
  * for removing all shortcodes.
  *
- * @since 2.5
+ * @since 2.5.0
+ *
  * @uses $shortcode_tags
  */
 function remove_all_shortcodes() {
@@ -151,6 +155,10 @@ function shortcode_exists( $tag ) {
  * @return boolean
  */
 function has_shortcode( $content, $tag ) {
+       if ( false === strpos( $content, '[' ) ) {
+               return false;
+       }
+
        if ( shortcode_exists( $tag ) ) {
                preg_match_all( '/' . get_shortcode_regex() . '/s', $content, $matches, PREG_SET_ORDER );
                if ( empty( $matches ) )
@@ -171,7 +179,8 @@ function has_shortcode( $content, $tag ) {
  * without any filtering. This might cause issues when plugins are disabled but
  * the shortcode will still show up in the post or content.
  *
- * @since 2.5
+ * @since 2.5.0
+ *
  * @uses $shortcode_tags
  * @uses get_shortcode_regex() Gets the search pattern for searching shortcodes.
  *
@@ -181,6 +190,10 @@ function has_shortcode( $content, $tag ) {
 function do_shortcode($content) {
        global $shortcode_tags;
 
+       if ( false === strpos( $content, '[' ) ) {
+               return $content;
+       }
+
        if (empty($shortcode_tags) || !is_array($shortcode_tags))
                return $content;
 
@@ -203,7 +216,8 @@ function do_shortcode($content) {
  * 5 - The content of a shortcode when it wraps some content.
  * 6 - An extra ] to allow for escaping shortcodes with double [[]]
  *
- * @since 2.5
+ * @since 2.5.0
+ *
  * @uses $shortcode_tags
  *
  * @return string The shortcode search regular expression
@@ -250,7 +264,7 @@ function get_shortcode_regex() {
  * Regular Expression callable for do_shortcode() for calling shortcode hook.
  * @see get_shortcode_regex for details of the match array contents.
  *
- * @since 2.5
+ * @since 2.5.0
  * @access private
  * @uses $shortcode_tags
  *
@@ -284,7 +298,7 @@ function do_shortcode_tag( $m ) {
  * attribute as the value in the key/value pair. This allows for easier
  * retrieval of the attributes, since all attributes have to be known.
  *
- * @since 2.5
+ * @since 2.5.0
  *
  * @param string $text
  * @return array List of attributes and their value.
@@ -322,7 +336,7 @@ function shortcode_parse_atts($text) {
  * If the $atts list has unsupported attributes, then they will be ignored and
  * removed from the final returned list.
  *
- * @since 2.5
+ * @since 2.5.0
  *
  * @param array $pairs Entire list of supported attributes and their defaults.
  * @param array $atts User defined attributes in shortcode tag.
@@ -359,7 +373,8 @@ function shortcode_atts( $pairs, $atts, $shortcode = '' ) {
 /**
  * Remove all shortcode tags from the given content.
  *
- * @since 2.5
+ * @since 2.5.0
+ *
  * @uses $shortcode_tags
  *
  * @param string $content Content to remove shortcode tags.
@@ -368,6 +383,10 @@ function shortcode_atts( $pairs, $atts, $shortcode = '' ) {
 function strip_shortcodes( $content ) {
        global $shortcode_tags;
 
+       if ( false === strpos( $content, '[' ) ) {
+               return $content;
+       }
+
        if (empty($shortcode_tags) || !is_array($shortcode_tags))
                return $content;
 
index 2f2ba6f73ef68cb70b6f892425655235d7b8cea4..df209a50e14bab487b2e40579cfc49112ee06fdd 100644 (file)
@@ -24,6 +24,14 @@ function create_initial_taxonomies() {
        if ( ! did_action( 'init' ) ) {
                $rewrite = array( 'category' => false, 'post_tag' => false, 'post_format' => false );
        } else {
+
+               /**
+                * Filter the post formats rewrite base.
+                *
+                * @since 3.1.0
+                *
+                * @param string $context Context of the rewrite base. Default 'type'.
+                */
                $post_format_base = apply_filters( 'post_format_rewrite_base', 'type' );
                $rewrite = array(
                        'category' => array(
@@ -123,8 +131,6 @@ add_action( 'init', 'create_initial_taxonomies', 0 ); // highest priority
 /**
  * Get a list of registered taxonomy objects.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 3.0.0
  * @uses $wp_taxonomies
  * @see register_taxonomy
@@ -152,8 +158,6 @@ function get_taxonomies( $args = array(), $output = 'names', $operator = 'and' )
  * <code><?php $taxonomies = get_object_taxonomies('post'); ?></code> Should
  * result in <code>Array('category', 'post_tag')</code>
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses $wp_taxonomies
@@ -192,8 +196,6 @@ function get_object_taxonomies($object, $output = 'names') {
  * The get_taxonomy function will first check that the parameter string given
  * is a taxonomy object and if it is, it will return it.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses $wp_taxonomies
@@ -216,8 +218,6 @@ function get_taxonomy( $taxonomy ) {
  *
  * Formerly is_taxonomy(), introduced in 2.3.0.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 3.0.0
  *
  * @uses $wp_taxonomies
@@ -239,8 +239,6 @@ function taxonomy_exists( $taxonomy ) {
  *
  * A false return value might also mean that the taxonomy does not exist.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses taxonomy_exists() Checks whether taxonomy exists
@@ -289,6 +287,8 @@ function is_taxonomy_hierarchical($taxonomy) {
  *     * If not set, the default is inherited from public.
  * - show_tagcloud - Whether to list the taxonomy in the Tag Cloud Widget.
  *     * If not set, the default is inherited from show_ui.
+ * - show_admin_column - Whether to display a column for the taxonomy on its post type listing screens.
+ *     * Defaults to false.
  * - meta_box_cb - Provide a callback function for the meta box display.
  *     * If not set, defaults to post_categories_meta_box for hierarchical taxonomies
  *     and post_tags_meta_box for non-hierarchical.
@@ -336,6 +336,7 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
                'show_in_menu'          => null,
                'show_in_nav_menus'     => null,
                'show_tagcloud'         => null,
+               'show_admin_column'     => false,
                'meta_box_cb'           => null,
                'capabilities'          => array(),
                'rewrite'               => true,
@@ -419,6 +420,15 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
        // register callback handling for metabox
        add_filter( 'wp_ajax_add-' . $taxonomy, '_wp_ajax_add_hierarchical_term' );
 
+       /**
+        * Fires after a taxonomy is registered.
+        *
+        * @since 3.3.0
+        *
+        * @param string       $taxonomy    Taxonomy slug.
+        * @param array|string $object_type Object type or array of object types.
+        * @param array|string $args        Array or string of taxonomy registration arguments.
+        */
        do_action( 'registered_taxonomy', $taxonomy, $object_type, $args );
 }
 
@@ -485,8 +495,6 @@ function get_taxonomy_labels( $tax ) {
 /**
  * Add an already registered taxonomy to an object type.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 3.0.0
  * @uses $wp_taxonomies Modifies taxonomy object
  *
@@ -554,8 +562,6 @@ function unregister_taxonomy_for_object_type( $taxonomy, $object_type ) {
  * using PHP sort family functions or using the database by using $args with
  * either ASC or DESC array. The value should be in the key named 'order'.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses $wpdb
@@ -915,8 +921,6 @@ class WP_Tax_Query {
  * example, if 'category', it would be 'get_category' as the filter name. Useful
  * for custom taxonomies or plugging into default taxonomies.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses $wpdb
@@ -932,7 +936,6 @@ class WP_Tax_Query {
  */
 function get_term($term, $taxonomy, $output = OBJECT, $filter = 'raw') {
        global $wpdb;
-       $null = null;
 
        if ( empty($term) ) {
                $error = new WP_Error('invalid_term', __('Empty Term'));
@@ -951,17 +954,37 @@ function get_term($term, $taxonomy, $output = OBJECT, $filter = 'raw') {
                if ( is_object($term) )
                        $term = $term->term_id;
                if ( !$term = (int) $term )
-                       return $null;
+                       return null;
                if ( ! $_term = wp_cache_get($term, $taxonomy) ) {
                        $_term = $wpdb->get_row( $wpdb->prepare( "SELECT t.*, tt.* FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy = %s AND t.term_id = %d LIMIT 1", $taxonomy, $term) );
                        if ( ! $_term )
-                               return $null;
+                               return null;
                        wp_cache_add($term, $_term, $taxonomy);
                }
        }
 
-       $_term = apply_filters('get_term', $_term, $taxonomy);
-       $_term = apply_filters("get_$taxonomy", $_term, $taxonomy);
+       /**
+        * Filter a term.
+        *
+        * @since 2.3.0
+        *
+        * @param int|object $_term    Term object or ID.
+        * @param string     $taxonomy The taxonomy slug.
+        */
+       $_term = apply_filters( 'get_term', $_term, $taxonomy );
+
+       /**
+        * Filter a taxonomy.
+        *
+        * The dynamic portion of the filter name, $taxonomy, refers
+        * to the taxonomy slug.
+        *
+        * @since 2.3.0
+        *
+        * @param int|object $_term    Term object or ID.
+        * @param string     $taxonomy The taxonomy slug.
+        */
+       $_term = apply_filters( "get_$taxonomy", $_term, $taxonomy );
        $_term = sanitize_term($_term, $taxonomy, $filter);
 
        if ( $output == OBJECT ) {
@@ -989,8 +1012,6 @@ 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.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses $wpdb
@@ -1035,8 +1056,12 @@ function get_term_by($field, $value, $taxonomy, $output = OBJECT, $filter = 'raw
 
        wp_cache_add($term->term_id, $term, $taxonomy);
 
-       $term = apply_filters('get_term', $term, $taxonomy);
-       $term = apply_filters("get_$taxonomy", $term, $taxonomy);
+       /** This filter is documented in wp-includes/taxonomy.php */
+       $term = apply_filters( 'get_term', $term, $taxonomy );
+
+       /** This filter is documented in wp-includes/taxonomy.php */
+       $term = apply_filters( "get_$taxonomy", $term, $taxonomy );
+
        $term = sanitize_term($term, $taxonomy, $filter);
 
        if ( $output == OBJECT ) {
@@ -1058,8 +1083,6 @@ function get_term_by($field, $value, $taxonomy, $output = OBJECT, $filter = 'raw
  *
  * Will return an empty array if $term does not exist in $taxonomy.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses $wpdb
@@ -1068,7 +1091,7 @@ function get_term_by($field, $value, $taxonomy, $output = OBJECT, $filter = 'raw
  *
  * @param string $term_id ID of Term to get children
  * @param string $taxonomy Taxonomy Name
- * @return array|WP_Error List of Term Objects. WP_Error returned if $taxonomy does not exist
+ * @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) )
@@ -1084,6 +1107,10 @@ function get_term_children( $term_id, $taxonomy ) {
        $children = $terms[$term_id];
 
        foreach ( (array) $terms[$term_id] as $child ) {
+               if ( $term_id == $child ) {
+                       continue;
+               }
+
                if ( isset($terms[$child]) )
                        $children = array_merge($children, get_term_children($child, $taxonomy));
        }
@@ -1098,8 +1125,6 @@ function get_term_children( $term_id, $taxonomy ) {
  * reasons and for simplicity of usage. See sanitize_term_field() for more
  * information.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses sanitize_term_field() Passes the return value in sanitize_term_field on success.
@@ -1131,8 +1156,6 @@ function get_term_field( $field, $term, $taxonomy, $context = 'display' ) {
  * Return value is sanitize_term() and usage is for sanitizing the term for
  * editing. Function is for contextual and simplicity.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses sanitize_term() Passes the return value on success
@@ -1242,8 +1265,6 @@ function get_term_to_edit( $id, $taxonomy ) {
  * query (such as 'terms_clauses'), setting 'cache_domain' to a unique value will not overwrite
  * the cache for similar queries. Default value is 'core'.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses $wpdb
@@ -1277,7 +1298,7 @@ function get_terms($taxonomies, $args = '') {
        $args['number'] = absint( $args['number'] );
        $args['offset'] = absint( $args['offset'] );
        if ( !$single_taxonomy || ! is_taxonomy_hierarchical( reset( $taxonomies ) ) ||
-               '' !== $args['parent'] ) {
+               ( '' !== $args['parent'] && 0 !== $args['parent'] ) ) {
                $args['child_of'] = 0;
                $args['hierarchical'] = false;
                $args['pad_counts'] = false;
@@ -1290,6 +1311,14 @@ function get_terms($taxonomies, $args = '') {
                $args['pad_counts'] = false;
        }
 
+       /**
+        * Filter the terms query arguments.
+        *
+        * @since 3.1.0
+        *
+        * @param array        $args       An array of arguments.
+        * @param string|array $taxonomies A taxonomy or array of taxonomies.
+        */
        $args = apply_filters( 'get_terms_args', $args, $taxonomies );
 
        extract($args, EXTR_SKIP);
@@ -1317,7 +1346,17 @@ function get_terms($taxonomies, $args = '') {
        $cache_key = "get_terms:$key:$last_changed";
        $cache = wp_cache_get( $cache_key, 'terms' );
        if ( false !== $cache ) {
-               $cache = apply_filters('get_terms', $cache, $taxonomies, $args);
+
+               /**
+                * Filter the given taxonomy's terms cache.
+                *
+                * @since 2.3.0
+                *
+                * @param array        $cache      Cached array of terms for the given taxonomy.
+                * @param string|array $taxonomies A taxonomy or array of taxonomies.
+                * @param array        $args       An array of arguments to get terms.
+                */
+               $cache = apply_filters( 'get_terms', $cache, $taxonomies, $args );
                return $cache;
        }
 
@@ -1337,6 +1376,15 @@ 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 array        $args       An array of terms query arguments.
+        * @param string|array $taxonomies A taxonomy or array of taxonomies.
+        */
        $orderby = apply_filters( 'get_terms_orderby', $orderby, $args, $taxonomies );
 
        if ( !empty($orderby) )
@@ -1385,6 +1433,15 @@ function get_terms($taxonomies, $args = '') {
        if ( ! empty( $exclusions ) )
                $exclusions = ' AND t.term_id NOT IN (' . $exclusions . ')';
 
+       /**
+        * Filter the terms to exclude from the terms query.
+        *
+        * @since 2.3.0
+        *
+        * @param string       $exclusions NOT IN clause of the terms query.
+        * @param array        $args       An array of terms query arguments.
+        * @param string|array $taxonomies A taxonomy or array of taxonomies.
+        */
        $exclusions = apply_filters( 'list_terms_exclusions', $exclusions, $args, $taxonomies );
 
        if ( ! empty( $exclusions ) )
@@ -1458,11 +1515,30 @@ function get_terms($taxonomies, $args = '') {
 
        $_fields = $fields;
 
+       /**
+        * Filter the fields to select in the terms query.
+        *
+        * @since 2.8.0
+        *
+        * @param array        $selects    An array of fields to select for the terms query.
+        * @param array        $args       An array of term query arguments.
+        * @param string|array $taxonomies A taxonomy or array of taxonomies.
+        */
        $fields = implode( ', ', apply_filters( 'get_terms_fields', $selects, $args, $taxonomies ) );
 
        $join = "INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id";
 
        $pieces = array( 'fields', 'join', 'where', 'orderby', 'order', 'limits' );
+
+       /**
+        * Filter the terms query SQL clauses.
+        *
+        * @since 3.1.0
+        *
+        * @param array        $pieces     Terms query SQL clauses.
+        * @param string|array $taxonomies A taxonomy or array of taxonomies.
+        * @param array        $args       An array of terms query arguments.
+        */
        $clauses = apply_filters( 'terms_clauses', compact( $pieces ), $taxonomies, $args );
        foreach ( $pieces as $piece )
                $$piece = isset( $clauses[ $piece ] ) ? $clauses[ $piece ] : '';
@@ -1483,7 +1559,9 @@ function get_terms($taxonomies, $args = '') {
 
        if ( empty($terms) ) {
                wp_cache_add( $cache_key, array(), 'terms', DAY_IN_SECONDS );
-               $terms = apply_filters('get_terms', array(), $taxonomies, $args);
+
+               /** This filter is documented in wp-includes/taxonomy.php */
+               $terms = apply_filters( 'get_terms', array(), $taxonomies, $args );
                return $terms;
        }
 
@@ -1501,11 +1579,15 @@ function get_terms($taxonomies, $args = '') {
        if ( $hierarchical && $hide_empty && is_array( $terms ) ) {
                foreach ( $terms as $k => $term ) {
                        if ( ! $term->count ) {
-                               $children = _get_term_children( $term->term_id, $terms, reset( $taxonomies ) );
-                               if ( is_array( $children ) )
-                                       foreach ( $children as $child )
-                                               if ( $child->count )
+                               $children = get_term_children( $term->term_id, reset( $taxonomies ) );
+                               if ( is_array( $children ) ) {
+                                       foreach ( $children as $child_id ) {
+                                               $child = get_term( $child_id, reset( $taxonomies ) );
+                                               if ( $child->count ) {
                                                        continue 2;
+                                               }
+                                       }
+                               }
 
                                // It really is empty
                                unset($terms[$k]);
@@ -1540,6 +1622,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;
 }
@@ -1549,8 +1632,6 @@ function get_terms($taxonomies, $args = '') {
  *
  * Formerly is_term(), introduced in 2.3.0.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 3.0.0
  *
  * @uses $wpdb
@@ -1645,8 +1726,6 @@ function term_is_ancestor_of( $term1, $term2, $taxonomy ) {
  *
  * The $term is expected to be either an array or an object.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses sanitize_term_field Used to sanitize all fields in a term
@@ -1695,8 +1774,6 @@ function sanitize_term($term, $taxonomy, $context = 'display') {
  * without creating your own filter function. Simply create a function that
  * hooks into the filter you need.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses $wpdb
@@ -1720,26 +1797,130 @@ function sanitize_term_field($field, $value, $term_id, $taxonomy, $context) {
                return $value;
 
        if ( 'edit' == $context ) {
-               $value = apply_filters("edit_term_{$field}", $value, $term_id, $taxonomy);
-               $value = apply_filters("edit_{$taxonomy}_{$field}", $value, $term_id);
+
+               /**
+                * Filter a term field to edit before it is sanitized.
+                *
+                * The dynamic portion of the filter name, $field, refers to the term field.
+                *
+                * @since 2.3.0
+                *
+                * @param mixed $value     Value of the term field.
+                * @param int   $term_id   Term ID.
+                * @param string $taxonomy Taxonomy slug.
+                */
+               $value = apply_filters( "edit_term_{$field}", $value, $term_id, $taxonomy );
+
+               /**
+                * Filter the taxonomy field to edit before it is sanitized.
+                *
+                * The dynamic portions of the filter name, $taxonomy, and $field, refer
+                * to the taxonomy slug and taxonomy field, respectively.
+                *
+                * @since 2.3.0
+                *
+                * @param mixed $value   Value of the taxonomy field to edit.
+                * @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
                        $value = esc_attr($value);
        } else if ( 'db' == $context ) {
-               $value = apply_filters("pre_term_{$field}", $value, $taxonomy);
-               $value = apply_filters("pre_{$taxonomy}_{$field}", $value);
+
+               /**
+                * Filter a term field value before it is sanitized.
+                *
+                * The dynamic portion of the filter name, $field, refers to the term field.
+                *
+                * @since 2.3.0
+                *
+                * @param mixed  $value    Value of the term field.
+                * @param string $taxonomy Taxonomy slug.
+                */
+               $value = apply_filters( "pre_term_{$field}", $value, $taxonomy );
+
+               /**
+                * Filter a taxonomy field before it is sanitized.
+                *
+                * The dynamic portions of the filter name, $taxonomy, and $field, refer
+                * to the taxonomy slug and field name, respectively.
+                *
+                * @since 2.3.0
+                *
+                * @param mixed $value Value of the taxonomy field.
+                */
+               $value = apply_filters( "pre_{$taxonomy}_{$field}", $value );
                // Back compat filters
-               if ( 'slug' == $field )
-                       $value = apply_filters('pre_category_nicename', $value);
+               if ( 'slug' == $field ) {
+                       /**
+                        * Filter the category nicename before it is sanitized.
+                        *
+                        * Use the pre_{$taxonomy}_{$field} hook instead.
+                        *
+                        * @since 2.0.3
+                        *
+                        * @param string $value The category nicename.
+                        */
+                       $value = apply_filters( 'pre_category_nicename', $value );
+               }
 
        } else if ( 'rss' == $context ) {
-               $value = apply_filters("term_{$field}_rss", $value, $taxonomy);
-               $value = apply_filters("{$taxonomy}_{$field}_rss", $value);
+
+               /**
+                * Filter the term field for use in RSS.
+                *
+                * The dynamic portion of the filter name, $field, refers to the term field.
+                *
+                * @since 2.3.0
+                *
+                * @param mixed  $value    Value of the term field.
+                * @param string $taxonomy Taxonomy slug.
+                */
+               $value = apply_filters( "term_{$field}_rss", $value, $taxonomy );
+
+               /**
+                * Filter the taxonomy field for use in RSS.
+                *
+                * The dynamic portions of the hook name, $taxonomy, and $field, refer
+                * to the taxonomy slug and field name, respectively.
+                *
+                * @since 2.3.0
+                *
+                * @param mixed $value Value of the taxonomy field.
+                */
+               $value = apply_filters( "{$taxonomy}_{$field}_rss", $value );
        } else {
                // Use display filters by default.
-               $value = apply_filters("term_{$field}", $value, $term_id, $taxonomy, $context);
-               $value = apply_filters("{$taxonomy}_{$field}", $value, $term_id, $context);
+
+               /**
+                * Filter the term field sanitized for display.
+                *
+                * The dynamic portion of the filter name, $field, refers to the term field name.
+                *
+                * @since 2.3.0
+                *
+                * @param mixed  $value    Value of the term field.
+                * @param int    $term_id  Term ID.
+                * @param string $taxonomy Taxonomy slug.
+                * @param string $context  Context to retrieve the term field value.
+                */
+               $value = apply_filters( "term_{$field}", $value, $term_id, $taxonomy, $context );
+
+               /**
+                * Filter the taxonomy field sanitized for display.
+                *
+                * The dynamic portions of the filter name, $taxonomy, and $field, refer
+                * to the taxonomy slug and taxonomy field, respectively.
+                *
+                * @since 2.3.0
+                *
+                * @param mixed  $value   Value of the taxonomy field.
+                * @param int    $term_id Term ID.
+                * @param string $context Context to retrieve the taxonomy field value.
+                */
+               $value = apply_filters( "{$taxonomy}_{$field}", $value, $term_id, $context );
        }
 
        if ( 'attribute' == $context )
@@ -1755,8 +1936,6 @@ 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).
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses get_terms()
@@ -1788,8 +1967,6 @@ function wp_count_terms( $taxonomy, $args = array() ) {
  * a particular taxonomy or taxonomies. Does not remove the term or
  * taxonomy itself.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  * @uses wp_remove_object_terms()
  *
@@ -1820,14 +1997,10 @@ function wp_delete_object_term_relationships( $object_id, $taxonomies ) {
  *
  * The $args 'force_default' will force the term supplied as default to be
  * assigned even if the object was not going to be termless
- * @package WordPress
- * @subpackage Taxonomy
+ *
  * @since 2.3.0
  *
  * @uses $wpdb
- * @uses do_action() Calls both 'delete_term' and 'delete_$taxonomy' action
- *     hooks, passing term ID, term taxonomy ID, and deleted term object. 'delete_term'
- *     also gets taxonomy as the third parameter.
  *
  * @param int $term Term ID
  * @param string $taxonomy Taxonomy Name
@@ -1871,8 +2044,24 @@ function wp_delete_term( $term, $taxonomy, $args = array() ) {
                $parent = $term_obj->parent;
 
                $edit_tt_ids = $wpdb->get_col( "SELECT `term_taxonomy_id` FROM $wpdb->term_taxonomy WHERE `parent` = " . (int)$term_obj->term_id );
+
+               /**
+                * Fires immediately before a term to delete's children are reassigned a parent.
+                *
+                * @since 2.9.0
+                *
+                * @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' ) );
+
+               /**
+                * Fires immediately after a term to delete's children are reassigned a parent.
+                *
+                * @since 2.9.0
+                *
+                * @param array $edit_tt_ids An array of term taxonomy IDs for the given term.
+                */
                do_action( 'edited_term_taxonomies', $edit_tt_ids );
        }
 
@@ -1899,8 +2088,23 @@ function wp_delete_term( $term, $taxonomy, $args = array() ) {
        // Get the object before deletion so we can pass to actions below
        $deleted_term = get_term( $term, $taxonomy );
 
+       /**
+        * Fires immediately before a term taxonomy ID is deleted.
+        *
+        * @since 2.9.0
+        *
+        * @param int $tt_id Term taxonomy ID.
+        */
        do_action( 'delete_term_taxonomy', $tt_id );
        $wpdb->delete( $wpdb->term_taxonomy, array( 'term_taxonomy_id' => $tt_id ) );
+
+       /**
+        * Fires immediately after a term taxonomy ID is deleted.
+        *
+        * @since 2.9.0
+        *
+        * @param int $tt_id Term taxonomy ID.
+        */
        do_action( 'deleted_term_taxonomy', $tt_id );
 
        // Delete the term if no taxonomies use it.
@@ -1909,7 +2113,32 @@ function wp_delete_term( $term, $taxonomy, $args = array() ) {
 
        clean_term_cache($term, $taxonomy);
 
+       /**
+        * Fires after a term is deleted from the database and the cache is cleaned.
+        *
+        * @since 2.5.0
+        *
+        * @param int     $term         Term ID.
+        * @param int     $tt_id        Term taxonomy ID.
+        * @param string  $taxonomy     Taxonomy slug.
+        * @param mixed   $deleted_term Copy of the already-deleted term, in the form specified
+        *                              by the parent function. WP_Error otherwise.
+        */
        do_action( 'delete_term', $term, $tt_id, $taxonomy, $deleted_term );
+
+       /**
+        * Fires after a term in a specific taxonomy is deleted.
+        *
+        * The dynamic portion of the hook name, $taxonomy, refers to the specific
+        * taxonomy the term belonged to.
+        *
+        * @since 2.3.0
+        *
+        * @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. WP_Error otherwise.
+        */
        do_action( "delete_$taxonomy", $term, $tt_id, $deleted_term );
 
        return true;
@@ -1951,8 +2180,6 @@ function wp_delete_category( $cat_ID ) {
  * terms objects will be returned. If either 'ids' or 'names' is used, then an
  * array of all matching term ids or term names will be returned respectively.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  * @uses $wpdb
  *
@@ -1970,7 +2197,7 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
        if ( !is_array($taxonomies) )
                $taxonomies = array($taxonomies);
 
-       foreach ( (array) $taxonomies as $taxonomy ) {
+       foreach ( $taxonomies as $taxonomy ) {
                if ( ! taxonomy_exists($taxonomy) )
                        return new WP_Error('invalid_taxonomy', __('Invalid taxonomy'));
        }
@@ -2068,7 +2295,18 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
        if ( ! $terms )
                $terms = array();
 
-       return apply_filters('wp_get_object_terms', $terms, $object_ids, $taxonomies, $args);
+       /**
+        * Filter the terms for a given object or objects.
+        *
+        * @since 2.8.0
+        *
+        * @param array        $terms      An array of terms for the given object or objects.
+        * @param array|int    $object_ids Object ID or array of IDs.
+        * @param array|string $taxonomies A taxonomy or array of taxonomies.
+        * @param array        $args       An array of arguments for retrieving terms for
+        *                                 the given object(s).
+        */
+       return apply_filters( 'wp_get_object_terms', $terms, $object_ids, $taxonomies, $args );
 }
 
 /**
@@ -2122,6 +2360,14 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
        if ( ! taxonomy_exists($taxonomy) )
                return new WP_Error('invalid_taxonomy', __('Invalid taxonomy'));
 
+       /**
+        * Filter a term before it is sanitized and inserted into the database.
+        *
+        * @since 3.0.0
+        *
+        * @param string $term     The term to add or update.
+        * @param string $taxonomy Taxonomy slug.
+        */
        $term = apply_filters( 'pre_insert_term', $term, $taxonomy );
                if ( is_wp_error( $term ) )
                        return $term;
@@ -2157,8 +2403,26 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
                } else {
                        // The alias isn't in a group, so let's create a new one and firstly add the alias term to it.
                        $term_group = $wpdb->get_var("SELECT MAX(term_group) FROM $wpdb->terms") + 1;
+
+                       /**
+                        * Fires immediately before the given terms are edited.
+                        *
+                        * @since 2.9.0
+                        *
+                        * @param int    $term_id  Term ID.
+                        * @param string $taxonomy Taxonomy slug.
+                        */
                        do_action( 'edit_terms', $alias->term_id, $taxonomy );
                        $wpdb->update($wpdb->terms, compact('term_group'), array('term_id' => $alias->term_id) );
+
+                       /**
+                        * Fires immediately after the given terms are edited.
+                        *
+                        * @since 2.9.0
+                        *
+                        * @param int    $term_id  Term ID
+                        * @param string $taxonomy Taxonomy slug.
+                        */
                        do_action( 'edited_terms', $alias->term_id, $taxonomy );
                }
        }
@@ -2202,8 +2466,12 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
        // Seems unreachable, However, Is used in the case that a term name is provided, which sanitizes to an empty string.
        if ( empty($slug) ) {
                $slug = sanitize_title($slug, $term_id);
+
+               /** This action is documented in wp-includes/taxonomy.php */
                do_action( 'edit_terms', $term_id, $taxonomy );
                $wpdb->update( $wpdb->terms, compact( 'slug' ), compact( 'term_id' ) );
+
+               /** This action is documented in wp-includes/taxonomy.php */
                do_action( 'edited_terms', $term_id, $taxonomy );
        }
 
@@ -2215,15 +2483,59 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
        $wpdb->insert( $wpdb->term_taxonomy, compact( 'term_id', 'taxonomy', 'description', 'parent') + array( 'count' => 0 ) );
        $tt_id = (int) $wpdb->insert_id;
 
-       do_action("create_term", $term_id, $tt_id, $taxonomy);
-       do_action("create_$taxonomy", $term_id, $tt_id);
+       /**
+        * Fires immediately after a new term is created, before the term cache is 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( "create_term", $term_id, $tt_id, $taxonomy );
+
+       /**
+        * Fires after a new term is created for a specific taxonomy.
+        *
+        * The dynamic portion of the hook name, $taxonomy, refers
+        * to the slug of the taxonomy the term was created for.
+        *
+        * @since 2.3.0
+        *
+        * @param int $term_id Term ID.
+        * @param int $tt_id   Term taxonomy ID.
+        */
+       do_action( "create_$taxonomy", $term_id, $tt_id );
 
-       $term_id = apply_filters('term_id_filter', $term_id, $tt_id);
+       /**
+        * Filter the term ID after a new term is created.
+        *
+        * @since 2.3.0
+        *
+        * @param int $term_id Term ID.
+        * @param int $tt_id   Taxonomy term ID.
+        */
+       $term_id = apply_filters( 'term_id_filter', $term_id, $tt_id );
 
        clean_term_cache($term_id, $taxonomy);
 
-       do_action("created_term", $term_id, $tt_id, $taxonomy);
-       do_action("created_$taxonomy", $term_id, $tt_id);
+       /**
+        * Fires after a new term is created, and after the term cache has been cleaned.
+        *
+        * @since 2.3.0
+        */
+       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.
+        *
+        * @since 2.3.0
+        *
+        * @param int $term_id Term ID.
+        * @param int $tt_id   Term taxonomy ID.
+        */
+       do_action( "created_$taxonomy", $term_id, $tt_id );
 
        return array('term_id' => $term_id, 'term_taxonomy_id' => $tt_id);
 }
@@ -2239,8 +2551,6 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
  * A term has no meaning until it is given context by defining which taxonomy it
  * exists under.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  * @uses wp_remove_object_terms()
  *
@@ -2289,8 +2599,26 @@ function wp_set_object_terms($object_id, $terms, $taxonomy, $append = false) {
 
                if ( $wpdb->get_var( $wpdb->prepare( "SELECT term_taxonomy_id FROM $wpdb->term_relationships WHERE object_id = %d AND term_taxonomy_id = %d", $object_id, $tt_id ) ) )
                        continue;
+
+               /**
+                * Fires immediately before an object-term relationship is added.
+                *
+                * @since 2.9.0
+                *
+                * @param int $object_id Object ID.
+                * @param int $tt_id     Term taxonomy ID.
+                */
                do_action( 'add_term_relationship', $object_id, $tt_id );
                $wpdb->insert( $wpdb->term_relationships, array( 'object_id' => $object_id, 'term_taxonomy_id' => $tt_id ) );
+
+               /**
+                * Fires immediately after an object-term relationship is added.
+                *
+                * @since 2.9.0
+                *
+                * @param int $object_id Object ID.
+                * @param int $tt_id     Term taxonomy ID.
+                */
                do_action( 'added_term_relationship', $object_id, $tt_id );
                $new_tt_ids[] = $tt_id;
        }
@@ -2328,16 +2656,26 @@ function wp_set_object_terms($object_id, $terms, $taxonomy, $append = false) {
 
        wp_cache_delete( $object_id, $taxonomy . '_relationships' );
 
-       do_action('set_object_terms', $object_id, $terms, $tt_ids, $taxonomy, $append, $old_tt_ids);
+       /**
+        * Fires after an object's terms have been set.
+        *
+        * @since 2.8.0
+        *
+        * @param int    $object_id  Object ID.
+        * @param array  $terms      An array of object terms.
+        * @param array  $tt_ids     An array of term taxonomy IDs.
+        * @param string $taxonomy   Taxonomy slug.
+        * @param bool   $append     Whether to append new terms to the old terms.
+        * @param array  $old_tt_ids Old array of term taxonomy IDs.
+        */
+       do_action( 'set_object_terms', $object_id, $terms, $tt_ids, $taxonomy, $append, $old_tt_ids );
        return $tt_ids;
 }
 
 /**
  * Add term(s) associated with a given object.
  *
- * @package WordPress
- * @subpackage Taxonomy
- * @since 3.6
+ * @since 3.6.0
  * @uses wp_set_object_terms()
  *
  * @param int $object_id The ID of the object to which the terms will be added.
@@ -2352,14 +2690,9 @@ function wp_add_object_terms( $object_id, $terms, $taxonomy ) {
 /**
  * Remove term(s) associated with a given object.
  *
- * @package WordPress
- * @subpackage Taxonomy
- * @since 3.6
+ * @since 3.6.0
  * @uses $wpdb
  *
- * @uses apply_filters() Calls 'delete_term_relationships' hook with object_id and tt_ids as parameters.
- * @uses apply_filters() Calls 'deleted_term_relationships' hook with object_id and tt_ids as parameters.
- *
  * @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.
@@ -2401,8 +2734,26 @@ function wp_remove_object_terms( $object_id, $terms, $taxonomy ) {
 
        if ( $tt_ids ) {
                $in_tt_ids = "'" . implode( "', '", $tt_ids ) . "'";
+
+               /**
+                * Fires immediately before an object-term relationship is deleted.
+                *
+                * @since 2.9.0
+                *
+                * @param int   $object_id Object ID.
+                * @param array $tt_ids    An array of term taxonomy IDs.
+                */
                do_action( 'delete_term_relationships', $object_id, $tt_ids );
                $deleted = $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->term_relationships WHERE object_id = %d AND term_taxonomy_id IN ($in_tt_ids)", $object_id ) );
+
+               /**
+                * Fires immediately after an object-term relationship is deleted.
+                *
+                * @since 2.9.0
+                *
+                * @param int   $object_id Object ID.
+                * @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 );
 
@@ -2427,8 +2778,6 @@ function wp_remove_object_terms( $object_id, $terms, $taxonomy ) {
  *
  * The only purpose for $term is for appending a parent, if one exists.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  * @uses $wpdb
  *
@@ -2500,14 +2849,9 @@ function wp_unique_term_slug($slug, $term) {
  * For what can be overrode in $args, check the term scheme can contain and stay
  * away from the term keys.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses $wpdb
- * @uses do_action() Will call both 'edit_term' and 'edit_$taxonomy' twice.
- * @uses apply_filters() Will call the 'term_id_filter' filter and pass the term
- *     id and taxonomy id.
  *
  * @param int $term_id The ID of the term
  * @param string $taxonomy The context in which to relate the term to the object.
@@ -2560,13 +2904,29 @@ function wp_update_term( $term_id, $taxonomy, $args = array() ) {
                } else {
                        // The alias isn't in a group, so let's create a new one and firstly add the alias term to it.
                        $term_group = $wpdb->get_var("SELECT MAX(term_group) FROM $wpdb->terms") + 1;
+
+                       /** This action is documented in wp-includes/taxonomy.php */
                        do_action( 'edit_terms', $alias->term_id, $taxonomy );
                        $wpdb->update( $wpdb->terms, compact('term_group'), array( 'term_id' => $alias->term_id ) );
+
+                       /** This action is documented in wp-includes/taxonomy.php */
                        do_action( 'edited_terms', $alias->term_id, $taxonomy );
                }
        }
 
-       // Check $parent to see if it will cause a hierarchy loop
+       /**
+        * Filter the term parent.
+        *
+        * Hook to this filter to see if it will cause a hierarchy loop.
+        *
+        * @since 3.1.0
+        *
+        * @param int    $parent   ID of the parent term.
+        * @param int    $term_id  Term ID.
+        * @param string $taxonomy Taxonomy slug.
+        * @param array  $args     Compacted array of update arguments for the given term.
+        * @param array  $args     An array of update arguments for the given term.
+        */
        $parent = apply_filters( 'wp_update_term_parent', $parent, $term_id, $taxonomy, compact( array_keys( $args ) ), $args );
 
        // Check for duplicate slug
@@ -2579,28 +2939,100 @@ function wp_update_term( $term_id, $taxonomy, $args = array() ) {
                else
                        return new WP_Error('duplicate_term_slug', sprintf(__('The slug &#8220;%s&#8221; is already in use by another term'), $slug));
        }
+
+       /** This action is documented in wp-includes/taxonomy.php */
        do_action( 'edit_terms', $term_id, $taxonomy );
        $wpdb->update($wpdb->terms, compact( 'name', 'slug', 'term_group' ), compact( 'term_id' ) );
        if ( empty($slug) ) {
                $slug = sanitize_title($name, $term_id);
                $wpdb->update( $wpdb->terms, compact( 'slug' ), compact( 'term_id' ) );
        }
+
+       /** This action is documented in wp-includes/taxonomy.php */
        do_action( 'edited_terms', $term_id, $taxonomy );
 
        $tt_id = $wpdb->get_var( $wpdb->prepare( "SELECT tt.term_taxonomy_id FROM $wpdb->term_taxonomy AS tt INNER JOIN $wpdb->terms AS t ON tt.term_id = t.term_id WHERE tt.taxonomy = %s AND t.term_id = %d", $taxonomy, $term_id) );
+
+       /**
+        * Fires immediate before a term-taxonomy relationship is updated.
+        *
+        * @since 2.9.0
+        *
+        * @param int    $tt_id    Term taxonomy ID.
+        * @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 ) );
+
+       /**
+        * Fires immediately after a term-taxonomy relationship is updated.
+        *
+        * @since 2.9.0
+        *
+        * @param int    $tt_id    Term taxonomy ID.
+        * @param string $taxonomy Taxonomy slug.
+        */
        do_action( 'edited_term_taxonomy', $tt_id, $taxonomy );
 
-       do_action("edit_term", $term_id, $tt_id, $taxonomy);
-       do_action("edit_$taxonomy", $term_id, $tt_id);
+       // 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 ) {
+               clean_object_term_cache( $objects, $object_type );
+       }
 
-       $term_id = apply_filters('term_id_filter', $term_id, $tt_id);
+       /**
+        * Fires after a term has been updated, but before 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( "edit_term", $term_id, $tt_id, $taxonomy );
+
+       /**
+        * Fires after a term in a specific taxonomy has been updated, but before 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.
+        * @param int $tt_id   Term taxonomy ID.
+        */
+       do_action( "edit_$taxonomy", $term_id, $tt_id );
+
+       /** This filter is documented in wp-includes/taxonomy.php */
+       $term_id = apply_filters( 'term_id_filter', $term_id, $tt_id );
 
        clean_term_cache($term_id, $taxonomy);
 
-       do_action("edited_term", $term_id, $tt_id, $taxonomy);
-       do_action("edited_$taxonomy", $term_id, $tt_id);
+       /**
+        * Fires after a term has been updated, and 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( "edited_term", $term_id, $tt_id, $taxonomy );
+
+       /**
+        * Fires after a term for a specific taxonomy has been updated, and 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.
+        * @param int $tt_id   Term taxonomy ID.
+        */
+       do_action( "edited_$taxonomy", $term_id, $tt_id );
 
        return array('term_id' => $term_id, 'term_taxonomy_id' => $tt_id);
 }
@@ -2635,8 +3067,6 @@ function wp_defer_term_counting($defer=null) {
  * The default action is to count what the amount of terms have the relationship
  * of term ID. Once that is done, then update the database.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  * @uses $wpdb
  *
@@ -2719,13 +3149,9 @@ function wp_update_term_count_now( $terms, $taxonomy ) {
  * term IDs have to exist within the taxonomy $object_type for the deletion to
  * take place.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @see get_object_taxonomies() for more on $object_type
- * @uses do_action() Will call action hook named, 'clean_object_term_cache' after completion.
- *     Passes, function params in same order.
  *
  * @param int|array $object_ids Single or list of term object ID(s)
  * @param array|string $object_type The taxonomy object type
@@ -2736,18 +3162,26 @@ function clean_object_term_cache($object_ids, $object_type) {
 
        $taxonomies = get_object_taxonomies( $object_type );
 
-       foreach ( $object_ids as $id )
-               foreach ( $taxonomies as $taxonomy )
+       foreach ( $object_ids as $id ) {
+               foreach ( $taxonomies as $taxonomy ) {
                        wp_cache_delete($id, "{$taxonomy}_relationships");
+               }
+       }
 
-       do_action('clean_object_term_cache', $object_ids, $object_type);
+       /**
+        * Fires after the object term cache has been cleaned.
+        *
+        * @since 2.5.0
+        *
+        * @param array  $object_ids An array of object IDs.
+        * @param string $objet_type Object type.
+        */
+       do_action( 'clean_object_term_cache', $object_ids, $object_type );
 }
 
 /**
  * Will remove all of the term ids from the cache.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  * @uses $wpdb
  *
@@ -2757,7 +3191,6 @@ function clean_object_term_cache($object_ids, $object_type) {
  */
 function clean_term_cache($ids, $taxonomy = '', $clean_taxonomy = true) {
        global $wpdb;
-       static $cleaned = array();
 
        if ( !is_array($ids) )
                $ids = array($ids);
@@ -2785,10 +3218,6 @@ function clean_term_cache($ids, $taxonomy = '', $clean_taxonomy = true) {
        }
 
        foreach ( $taxonomies as $taxonomy ) {
-               if ( isset($cleaned[$taxonomy]) )
-                       continue;
-               $cleaned[$taxonomy] = true;
-
                if ( $clean_taxonomy ) {
                        wp_cache_delete('all_ids', $taxonomy);
                        wp_cache_delete('get', $taxonomy);
@@ -2797,7 +3226,15 @@ function clean_term_cache($ids, $taxonomy = '', $clean_taxonomy = true) {
                        _get_term_hierarchy($taxonomy);
                }
 
-               do_action('clean_term_cache', $ids, $taxonomy);
+               /**
+                * Fires once after each taxonomy's term cache has been cleaned.
+                *
+                * @since 2.5.0
+                *
+                * @param array  $ids      An array of term IDs.
+                * @param string $taxonomy Taxonomy slug.
+                */
+               do_action( 'clean_term_cache', $ids, $taxonomy );
        }
 
        wp_cache_set( 'last_changed', microtime(), 'terms' );
@@ -2806,8 +3243,6 @@ function clean_term_cache($ids, $taxonomy = '', $clean_taxonomy = true) {
 /**
  * Retrieves the taxonomy relationship to the term object id.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @uses wp_cache_get() Retrieves taxonomy relationship from cache
@@ -2834,8 +3269,6 @@ function get_object_term_cache($id, $taxonomy) {
  * lot of terms that exist in a lot of taxonomies. The amount of time increases
  * for each term and it also increases for each taxonomy the term belongs to.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  * @uses wp_get_object_terms() Used to get terms from the database to update
  *
@@ -2893,8 +3326,6 @@ function update_object_term_cache($object_ids, $object_type) {
 /**
  * Updates Terms to Taxonomy in cache.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  *
  * @param array $terms List of Term objects to change
@@ -2917,8 +3348,6 @@ function update_term_cache($terms, $taxonomy = '') {
 /**
  * Retrieves children of taxonomy as Term IDs.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @access private
  * @since 2.3.0
  *
@@ -2952,8 +3381,6 @@ function _get_term_hierarchy($taxonomy) {
  * 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.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @access private
  * @since 2.3.0
  *
@@ -2982,8 +3409,9 @@ function _get_term_children($term_id, $terms, $taxonomy) {
                        $use_id = true;
                }
 
-               if ( $term->term_id == $term_id )
+               if ( $term->term_id == $term_id ) {
                        continue;
+               }
 
                if ( $term->parent == $term_id ) {
                        if ( $use_id )
@@ -3008,8 +3436,6 @@ function _get_term_children($term_id, $terms, $taxonomy) {
  * Recalculates term counts by including items from child terms. Assumes all
  * relevant children are already in the $terms argument.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @access private
  * @since 2.3.0
  * @uses $wpdb
@@ -3074,8 +3500,6 @@ function _pad_term_counts(&$terms, $taxonomy) {
  * Private function for the default callback for post_tag and category
  * taxonomies.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @access private
  * @since 2.3.0
  * @uses $wpdb
@@ -3111,8 +3535,11 @@ function _update_post_term_count( $terms, $taxonomy ) {
                if ( $object_types )
                        $count += (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_relationships, $wpdb->posts WHERE $wpdb->posts.ID = $wpdb->term_relationships.object_id AND post_status = 'publish' AND post_type IN ('" . implode("', '", $object_types ) . "') AND term_taxonomy_id = %d", $term ) );
 
+               /** This action is documented in wp-includes/taxonomy.php */
                do_action( 'edit_term_taxonomy', $term, $taxonomy );
                $wpdb->update( $wpdb->term_taxonomy, compact( 'count' ), array( 'term_taxonomy_id' => $term ) );
+
+               /** This action is documented in wp-includes/taxonomy.php */
                do_action( 'edited_term_taxonomy', $term, $taxonomy );
        }
 }
@@ -3122,8 +3549,6 @@ function _update_post_term_count( $terms, $taxonomy ) {
  *
  * Default callback for the link_category taxonomy.
  *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 3.3.0
  * @uses $wpdb
  *
@@ -3136,8 +3561,11 @@ function _update_generic_term_count( $terms, $taxonomy ) {
        foreach ( (array) $terms as $term ) {
                $count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_relationships WHERE term_taxonomy_id = %d", $term ) );
 
+               /** This action is documented in wp-includes/taxonomy.php */
                do_action( 'edit_term_taxonomy', $term, $taxonomy );
                $wpdb->update( $wpdb->term_taxonomy, compact( 'count' ), array( 'term_taxonomy_id' => $term ) );
+
+               /** This action is documented in wp-includes/taxonomy.php */
                do_action( 'edited_term_taxonomy', $term, $taxonomy );
        }
 }
@@ -3147,10 +3575,6 @@ function _update_generic_term_count( $terms, $taxonomy ) {
  *
  * @since 2.5.0
  *
- * @uses apply_filters() Calls 'term_link' with term link and term object, and taxonomy parameters.
- * @uses apply_filters() For the post_tag Taxonomy, Calls 'tag_link' with tag link and tag ID as parameters.
- * @uses apply_filters() For the category Taxonomy, Calls 'category_link' filter on category link and category ID.
- *
  * @param object|int|string $term
  * @param string $taxonomy (optional if $term is object)
  * @return string|WP_Error HTML link to taxonomy term archive on success, WP_Error if term does not exist.
@@ -3204,12 +3628,42 @@ function get_term_link( $term, $taxonomy = '') {
                $termlink = home_url( user_trailingslashit($termlink, 'category') );
        }
        // Back Compat filters.
-       if ( 'post_tag' == $taxonomy )
+       if ( 'post_tag' == $taxonomy ) {
+
+               /**
+                * Filter the tag link.
+                *
+                * @since 2.3.0
+                * @deprecated 2.5.0 Use 'term_link' instead.
+                *
+                * @param string $termlink Tag link URL.
+                * @param int    $term_id  Term ID.
+                */
                $termlink = apply_filters( 'tag_link', $termlink, $term->term_id );
-       elseif ( 'category' == $taxonomy )
+       } elseif ( 'category' == $taxonomy ) {
+
+               /**
+                * Filter the category link.
+                *
+                * @since 1.5.0
+                * @deprecated 2.5.0 Use 'term_link' instead.
+                *
+                * @param string $termlink Category link URL.
+                * @param int    $term_id  Term ID.
+                */
                $termlink = apply_filters( 'category_link', $termlink, $term->term_id );
+       }
 
-       return apply_filters('term_link', $termlink, $term, $taxonomy);
+       /**
+        * Filter the term link.
+        *
+        * @since 2.5.0
+        *
+        * @param string $termlink Term link URL.
+        * @param object $term     Term object.
+        * @param string $taxonomy Taxonomy slug.
+        */
+       return apply_filters( 'term_link', $termlink, $term, $taxonomy );
 }
 
 /**
@@ -3254,7 +3708,7 @@ function the_taxonomies($args = array()) {
  *
  * @since 2.5.0
  *
- * @param int $post Optional. Post ID or will use Global Post ID (in loop).
+ * @param int|WP_Post $post Optional. Post ID or post object.
  * @param array $args Override the defaults.
  * @return array
  */
@@ -3301,7 +3755,7 @@ function get_the_taxonomies($post = 0, $args = array() ) {
  * @since 2.5.0
  * @uses get_object_taxonomies()
  *
- * @param int $post Optional. Post ID
+ * @param int|WP_Post $post Optional. Post ID or post object.
  * @return array
  */
 function get_post_taxonomies($post = 0) {
@@ -3395,7 +3849,9 @@ function get_ancestors($object_id = 0, $object_type = '') {
        $ancestors = array();
 
        if ( empty( $object_id ) ) {
-               return apply_filters('get_ancestors', $ancestors, $object_id, $object_type);
+
+               /** This filter is documented in wp-includes/taxonomy.php */
+               return apply_filters( 'get_ancestors', $ancestors, $object_id, $object_type );
        }
 
        if ( is_taxonomy_hierarchical( $object_type ) ) {
@@ -3408,7 +3864,16 @@ function get_ancestors($object_id = 0, $object_type = '') {
                $ancestors = get_post_ancestors($object_id);
        }
 
-       return apply_filters('get_ancestors', $ancestors, $object_id, $object_type);
+       /**
+        * Filter a given object's ancestors.
+        *
+        * @since 3.1.0
+        *
+        * @param array  $ancestors   An array of object ancestors.
+        * @param int    $object_id   Object ID.
+        * @param string $object_type Type of object.
+        */
+       return apply_filters( 'get_ancestors', $ancestors, $object_id, $object_type );
 }
 
 /**
@@ -3466,4 +3931,4 @@ function wp_check_term_hierarchy_for_loops( $parent, $term_id, $taxonomy ) {
                wp_update_term( $loop_member, $taxonomy, array( 'parent' => 0 ) );
 
        return $parent;
-}
+}
\ No newline at end of file
index 05f773486c38c7b61b5a689a557120cd705a8d2a..98024479ff738d13b313307c1738e43f6cfba9f2 100644 (file)
@@ -18,7 +18,7 @@
  *
  * @param string $type Filename without extension.
  * @param array $templates An optional list of template candidates
- * @return string Full path to file.
+ * @return string Full path to template file.
  */
 function get_query_template( $type, $templates = array() ) {
        $type = preg_replace( '|[^a-z0-9-]+|', '', $type );
@@ -44,9 +44,13 @@ 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.
+ *
  * @since 3.0.0
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to index template file.
  */
 function get_index_template() {
        return get_query_template('index');
@@ -55,9 +59,13 @@ function get_index_template() {
 /**
  * Retrieve path of 404 template in current or parent template.
  *
+ * The template path is filterable via the '404_template' hook.
+ *
  * @since 1.5.0
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to 404 template file.
  */
 function get_404_template() {
        return get_query_template('404');
@@ -66,9 +74,13 @@ function get_404_template() {
 /**
  * Retrieve path of archive template in current or parent template.
  *
+ * The template path is filterable via the 'archive_template' hook.
+ *
  * @since 1.5.0
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to archive template file.
  */
 function get_archive_template() {
        $post_types = array_filter( (array) get_query_var( 'post_type' ) );
@@ -87,9 +99,13 @@ 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.
+ *
  * @since 3.7.0
  *
- * @return string
+ * @see get_archive_template()
+ *
+ * @return string Full path to archive template file.
  */
 function get_post_type_archive_template() {
        $post_type = get_query_var( 'post_type' );
@@ -106,9 +122,13 @@ 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.
+ *
  * @since 1.5.0
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to author template file.
  */
 function get_author_template() {
        $author = get_queried_object();
@@ -131,10 +151,13 @@ function get_author_template() {
  * 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.
+ *
  * @since 1.5.0
- * @uses apply_filters() Calls 'category_template' on file path of category template.
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to category template file.
  */
 function get_category_template() {
        $category = get_queried_object();
@@ -157,10 +180,13 @@ function get_category_template() {
  * 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.
+ *
  * @since 2.3.0
- * @uses apply_filters() Calls 'tag_template' on file path of tag template.
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to tag template file.
  */
 function get_tag_template() {
        $tag = get_queried_object();
@@ -188,10 +214,13 @@ 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.
+ *
  * @since 2.5.0
- * @uses apply_filters() Calls 'taxonomy_template' filter on found path.
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to taxonomy template file.
  */
 function get_taxonomy_template() {
        $term = get_queried_object();
@@ -211,9 +240,13 @@ function get_taxonomy_template() {
 /**
  * Retrieve path of date template in current or parent template.
  *
+ * The template path is filterable via the 'date_template' hook.
+ *
  * @since 1.5.0
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to date template file.
  */
 function get_date_template() {
        return get_query_template('date');
@@ -223,13 +256,15 @@ function get_date_template() {
  * Retrieve path of home template in current or parent 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.
+ *
  * @since 1.5.0
- * @uses apply_filters() Calls 'home_template' on file path of home template.
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to home template file.
  */
 function get_home_template() {
        $templates = array( 'home.php', 'index.php' );
@@ -240,12 +275,14 @@ function get_home_template() {
 /**
  * Retrieve path of front-page template in current or parent template.
  *
- * Looks for 'front-page.php'.
+ * Looks for 'front-page.php'. The template path is filterable via the
+ * 'front_page_template' hook.
  *
  * @since 3.0.0
- * @uses apply_filters() Calls 'front_page_template' on file path of template.
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to front page template file.
  */
 function get_front_page_template() {
        $templates = array('front-page.php');
@@ -260,9 +297,13 @@ 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.
+ *
  * @since 1.5.0
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to page template file.
  */
 function get_page_template() {
        $id = get_queried_object_id();
@@ -291,9 +332,13 @@ function get_page_template() {
 /**
  * Retrieve path of paged template in current or parent template.
  *
+ * The template path is filterable via the 'paged_template' hook.
+ *
  * @since 1.5.0
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to paged template file.
  */
 function get_paged_template() {
        return get_query_template('paged');
@@ -302,9 +347,13 @@ function get_paged_template() {
 /**
  * Retrieve path of search template in current or parent template.
  *
+ * The template path is filterable via the 'search_template' hook.
+ *
  * @since 1.5.0
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to search template file.
  */
 function get_search_template() {
        return get_query_template('search');
@@ -313,9 +362,13 @@ function get_search_template() {
 /**
  * Retrieve path of single template in current or parent template.
  *
+ * The template path is filterable via the 'single_template' hook.
+ *
  * @since 1.5.0
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to single template file.
  */
 function get_single_template() {
        $object = get_queried_object();
@@ -340,9 +393,13 @@ function get_single_template() {
  * Some examples for the 'text/plain' mime type are 'text.php', 'plain.php', and
  * finally 'text_plain.php'.
  *
+ * The template path is filterable via the 'attachment_template' hook.
+ *
  * @since 2.0.0
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to attachment template file.
  */
 function get_attachment_template() {
        global $posts;
@@ -371,10 +428,13 @@ 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.
+ *
  * @since 1.5.0
- * @uses apply_filters() Calls 'comments_popup_template' filter on path.
  *
- * @return string
+ * @see get_query_template()
+ *
+ * @return string Full path to comments popup template file.
  */
 function get_comments_popup_template() {
        $template = get_query_template( 'comments_popup', array( 'comments-popup.php' ) );
index 789742b23e823ba42ee45a1f05b21f399fe9a6b9..29871b0fd2b0a7b4e5eee5b0c874eda7c535a21f 100644 (file)
@@ -115,7 +115,7 @@ else: // have_posts()
 <?php endif; ?>
 <!-- // this is just the end of the motor - don't touch that line either :) -->
 <?php //} ?>
-<p class="credit"><?php timer_stop(1); ?> <cite><?php printf(__('Powered by <a href="%s" title="Powered by WordPress, state-of-the-art semantic personal publishing platform"><strong>WordPress</strong></a>'), 'http://wordpress.org/'); ?></cite></p>
+<p class="credit"><?php timer_stop(1); ?> <cite><?php printf(__('Powered by <a href="%s" title="Powered by WordPress, state-of-the-art semantic personal publishing platform"><strong>WordPress</strong></a>'), 'https://wordpress.org/'); ?></cite></p>
 <?php // Seen at http://www.mijnkopthee.nl/log2/archive/2003/05/28/esc(18) ?>
 <script type="text/javascript">
 <!--
index 0e987edef41f4aff606de979f3029a647a2df76c..52b1d72297ae6b57c366294cf26ef9a37c385b08 100644 (file)
@@ -15,7 +15,7 @@ _deprecated_file( sprintf( __( 'Theme without %1$s' ), basename(__FILE__) ), '3.
 <!-- If you'd like to support WordPress, having the "powered by" link somewhere on your blog is the best way; it's our only promotion or advertising. -->
        <p>
                <?php printf(__('%1$s is proudly powered by %2$s'), get_bloginfo('name'),
-               '<a href="http://wordpress.org/">WordPress</a>'); ?>
+               '<a href="https://wordpress.org/">WordPress</a>'); ?>
                <br /><?php printf(__('%1$s and %2$s.'), '<a href="' . get_bloginfo('rss2_url') . '">' . __('Entries (RSS)') . '</a>', '<a href="' . get_bloginfo('comments_rss2_url') . '">' . __('Comments (RSS)') . '</a>'); ?>
                <!-- <?php printf(__('%d queries. %s seconds.'), get_num_queries(), timer_stop(0, 3)); ?> -->
        </p>
index 2758773b1e5c87d17f236aade62cf06990e68fd2..b54d64c25358070c6fb6c794a9788381077fffd9 100644 (file)
@@ -11,8 +11,8 @@ _deprecated_file( sprintf( __( 'Theme without %1$s' ), basename(__FILE__) ), '3.
 ?>
 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
-
-<head profile="http://gmpg.org/xfn/11">
+<head>
+<link rel="profile" href="http://gmpg.org/xfn/11" />
 <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
 
 <title><?php wp_title('&laquo;', true, 'right'); ?> <?php bloginfo('name'); ?></title>
index 7c0939b6b8cf542370ac6170f011c475b8b495e1..fc529c9a4bef0aa6a582cd4f02d692304d882304 100644 (file)
@@ -72,7 +72,7 @@ _deprecated_file( sprintf( __( 'Theme without %1$s' ), basename(__FILE__) ), '3.
                                        <li><?php wp_loginout(); ?></li>
                                        <li><a href="http://validator.w3.org/check/referer" title="<?php esc_attr_e('This page validates as XHTML 1.0 Transitional'); ?>"><?php _e('Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr>'); ?></a></li>
                                        <li><a href="http://gmpg.org/xfn/"><abbr title="<?php esc_attr_e('XHTML Friends Network'); ?>"><?php _e('XFN'); ?></abbr></a></li>
-                                       <li><a href="http://wordpress.org/" title="<?php esc_attr_e('Powered by WordPress, state-of-the-art semantic personal publishing platform.'); ?>">WordPress</a></li>
+                                       <li><a href="https://wordpress.org/" title="<?php esc_attr_e('Powered by WordPress, state-of-the-art semantic personal publishing platform.'); ?>">WordPress</a></li>
                                        <?php wp_meta(); ?>
                                </ul>
                                </li>
index e1091259012f4b09631b63ec77ce5205ed61a329..00b3c39d1f49eca50a892d2ed59f9a475d6ced43 100644 (file)
@@ -187,7 +187,7 @@ function get_stylesheet_directory() {
  * @return string
  */
 function get_stylesheet_directory_uri() {
-       $stylesheet = get_stylesheet();
+       $stylesheet = str_replace( '%2F', '/', rawurlencode( get_stylesheet() ) );
        $theme_root_uri = get_theme_root_uri( $stylesheet );
        $stylesheet_dir_uri = "$theme_root_uri/$stylesheet";
 
@@ -318,7 +318,7 @@ function get_template_directory() {
  * @return string Template directory URI.
  */
 function get_template_directory_uri() {
-       $template = get_template();
+       $template = str_replace( '%2F', '/', rawurlencode( get_template() ) );
        $theme_root_uri = get_theme_root_uri( $template );
        $template_dir_uri = "$theme_root_uri/$template";
 
@@ -752,10 +752,18 @@ function preview_theme_ob_filter_callback( $matches ) {
  * @param string $stylesheet Stylesheet name
  */
 function switch_theme( $stylesheet ) {
-       global $wp_theme_directories, $sidebars_widgets;
+       global $wp_theme_directories, $wp_customize, $sidebars_widgets;
 
-       if ( is_array( $sidebars_widgets ) )
-               set_theme_mod( 'sidebars_widgets', array( 'time' => time(), 'data' => $sidebars_widgets ) );
+       $_sidebars_widgets = null;
+       if ( 'wp_ajax_customize_save' === current_action() ) {
+               $_sidebars_widgets = $wp_customize->post_value( $wp_customize->get_setting( 'old_sidebars_widgets_data' ) );
+       } elseif ( is_array( $sidebars_widgets ) ) {
+               $_sidebars_widgets = $sidebars_widgets;
+       }
+
+       if ( is_array( $_sidebars_widgets ) ) {
+               set_theme_mod( 'sidebars_widgets', array( 'time' => time(), 'data' => $_sidebars_widgets ) );
+       }
 
        $old_theme  = wp_get_theme();
        $new_theme = wp_get_theme( $stylesheet );
@@ -782,9 +790,19 @@ function switch_theme( $stylesheet ) {
 
        update_option( 'current_theme', $new_name );
 
+       // Migrate from the old mods_{name} option to theme_mods_{slug}.
        if ( is_admin() && false === get_option( 'theme_mods_' . $stylesheet ) ) {
                $default_theme_mods = (array) get_option( 'mods_' . $new_name );
                add_option( "theme_mods_$stylesheet", $default_theme_mods );
+       } else {
+               /*
+                * Since retrieve_widgets() is called when initializing the customizer theme,
+                * we need to to remove the theme mods to avoid overwriting changes made via
+                * the widget customizer when accessing wp-admin/widgets.php.
+                */
+               if ( 'wp_ajax_customize_save' === current_action() ) {
+                       remove_theme_mod( 'sidebars_widgets' );
+               }
        }
 
        update_option( 'theme_switched', $old_theme->get_stylesheet() );
@@ -913,8 +931,21 @@ function get_theme_mod( $name, $default = false ) {
  */
 function set_theme_mod( $name, $value ) {
        $mods = get_theme_mods();
+       $old_value = isset( $mods[ $name ] ) ? $mods[ $name ] : false;
 
-       $mods[ $name ] = $value;
+       /**
+        * Filter the theme mod value on save.
+        *
+        * The dynamic portion of the hook name, $name, refers to the key name of
+        * the modification array. For example, 'header_textcolor', 'header_image',
+        * and so on depending on the theme options.
+        *
+        * @since 3.9.0
+        *
+        * @param string $value     The new value of the theme mod.
+        * @param string $old_value The current value of the theme mod.
+        */
+       $mods[ $name ] = apply_filters( "pre_set_theme_mod_$name", $value, $old_value );
 
        $theme = get_option( 'stylesheet' );
        update_option( "theme_mods_$theme", $mods );
@@ -1124,7 +1155,7 @@ function get_uploaded_header_images() {
                return array();
 
        foreach ( (array) $headers as $header ) {
-               $url = esc_url_raw( $header->guid );
+               $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();
@@ -1204,7 +1235,8 @@ function register_default_headers( $headers ) {
  * @since 3.0.0
  *
  * @param string|array $header The header string id (key of array) to remove, or an array thereof.
- * @return True on success, false on failure.
+ * @return bool|void A single header returns true on success, false on failure.
+ *                   There is currently no return value for multiple headers.
  */
 function unregister_default_headers( $header ) {
        global $_wp_default_headers;
@@ -1270,7 +1302,11 @@ function _custom_background_cb() {
 
        // $color is the saved custom color.
        // A default has to be specified in style.css. It will not be printed here.
-       $color = get_theme_mod( 'background_color' );
+       $color = get_background_color();
+
+       if ( $color === get_theme_support( 'custom-background', 'default-color' ) ) {
+               $color = false;
+       }
 
        if ( ! $background && ! $color )
                return;
@@ -1366,7 +1402,9 @@ function remove_editor_styles() {
  * The init hook may be too late for some features.
  *
  * @since 2.9.0
- * @param string $feature the feature being added
+ *
+ * @param string $feature The feature being added.
+ * @return void|bool False on failure, void otherwise.
  */
 function add_theme_support( $feature ) {
        global $_wp_theme_features;
@@ -1385,6 +1423,7 @@ function add_theme_support( $feature ) {
                case 'html5' :
                        // You can't just pass 'html5', you need to pass an array of types.
                        if ( empty( $args[0] ) ) {
+                               // Build an array of types for back-compat.
                                $args = array( 0 => array( 'comment-list', 'comment-form', 'search-form' ) );
                        } elseif ( ! is_array( $args[0] ) ) {
                                _doing_it_wrong( "add_theme_support( 'html5' )", 'You need to pass an array of types.', '3.6.1' );
@@ -1559,7 +1598,8 @@ add_action( 'wp_loaded', '_custom_header_background_just_in_time' );
 /**
  * Gets the theme support arguments passed when registering that support
  *
- * @since 3.1
+ * @since 3.1.0
+ *
  * @param string $feature the feature to check
  * @return array The array of extra arguments
  */
@@ -1723,12 +1763,17 @@ function current_theme_supports( $feature ) {
  * Checks a theme's support for a given feature before loading the functions which implement it.
  *
  * @since 2.9.0
- * @param string $feature the feature being checked
- * @param string $include the file containing the functions that implement the feature
+ *
+ * @param string $feature The feature being checked.
+ * @param string $include Path to the file.
+ * @return bool True if the current theme supports the supplied feature, false otherwise.
  */
-function require_if_theme_supports( $feature, $include) {
-       if ( current_theme_supports( $feature ) )
+function require_if_theme_supports( $feature, $include ) {
+       if ( current_theme_supports( $feature ) ) {
                require ( $include );
+               return true;
+       }
+       return false;
 }
 
 /**
@@ -1764,6 +1809,12 @@ function check_theme_switched() {
        if ( $stylesheet = get_option( 'theme_switched' ) ) {
                $old_theme = wp_get_theme( $stylesheet );
 
+               // Prevent retrieve_widgets() from running since Customizer already called it up front
+               if ( get_option( 'theme_switched_via_customizer' ) ) {
+                       remove_action( 'after_switch_theme', '_wp_sidebars_changed' );
+                       update_option( 'theme_switched_via_customizer', false );
+               }
+
                if ( $old_theme->exists() ) {
                        /**
                         * Fires on the first WP load after a theme switch if the old theme still exists.
@@ -1891,4 +1942,4 @@ function wp_customize_support_script() {
                }());
        </script>
        <?php
-}
\ No newline at end of file
+}
index ead8e39885afab86f5c538147e368614e29d41f3..3639907b799af6e911be8a05fdee223198ae46cd 100644 (file)
@@ -13,7 +13,6 @@
  * WordPress server at api.wordpress.org server. Will only check if WordPress
  * isn't installing.
  *
- * @package WordPress
  * @since 2.3.0
  * @uses $wp_version Used to check against the newest WordPress version.
  *
@@ -117,7 +116,7 @@ function wp_version_check( $extra_stats = array(), $force_check = false ) {
 
        $response = wp_remote_post( $url, $options );
        if ( $ssl && is_wp_error( $response ) ) {
-               trigger_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="http://wordpress.org/support/">support forums</a>.' ) . ' ' . '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)', headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
+               trigger_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>.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
                $response = wp_remote_post( $http_url, $options );
        }
 
@@ -143,7 +142,7 @@ function wp_version_check( $extra_stats = array(), $force_check = false ) {
                                $offer[ $offer_key ] = esc_html( $value );
                }
                $offer = (object) array_intersect_key( $offer, array_fill_keys( array( 'response', 'download', 'locale',
-                       'packages', 'current', 'version', 'php_version', 'mysql_version', 'new_bundled', 'partial_version', 'notify_email' ), '' ) );
+                       'packages', 'current', 'version', 'php_version', 'mysql_version', 'new_bundled', 'partial_version', 'notify_email', 'support_email' ), '' ) );
        }
 
        $updates = new stdClass();
@@ -154,7 +153,20 @@ function wp_version_check( $extra_stats = array(), $force_check = false ) {
        if ( isset( $body['translations'] ) )
                $updates->translations = $body['translations'];
 
-       set_site_transient( 'update_core',  $updates);
+       set_site_transient( 'update_core', $updates );
+
+       if ( ! empty( $body['ttl'] ) ) {
+               $ttl = (int) $body['ttl'];
+               if ( $ttl && ( time() + $ttl < wp_next_scheduled( 'wp_version_check' ) ) ) {
+                       // Queue an event to re-run the update check in $ttl seconds.
+                       wp_schedule_single_event( time() + $ttl, 'wp_version_check' );
+               }
+       }
+
+       // Trigger a background updates check if running non-interactively, and we weren't called from the update handler.
+       if ( defined( 'DOING_CRON' ) && DOING_CRON && ! doing_action( 'wp_maybe_auto_update' ) ) {
+               do_action( 'wp_maybe_auto_update' );
+       }
 }
 
 /**
@@ -164,7 +176,6 @@ function wp_version_check( $extra_stats = array(), $force_check = false ) {
  * all plugins installed. Checks against the WordPress server at
  * api.wordpress.org. Will only check if WordPress isn't installing.
  *
- * @package WordPress
  * @since 2.3.0
  * @uses $wp_version Used to notify the WordPress version.
  *
@@ -205,7 +216,11 @@ function wp_update_plugins( $extra_stats = array() ) {
                        $timeout = HOUR_IN_SECONDS;
                        break;
                default :
-                       $timeout = 12 * HOUR_IN_SECONDS;
+                       if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
+                               $timeout = 0;
+                       } else {
+                               $timeout = 12 * HOUR_IN_SECONDS;
+                       }
        }
 
        $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked );
@@ -269,7 +284,7 @@ function wp_update_plugins( $extra_stats = array() ) {
 
        $raw_response = wp_remote_post( $url, $options );
        if ( $ssl && is_wp_error( $raw_response ) ) {
-               trigger_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="http://wordpress.org/support/">support forums</a>.' ) . ' ' . '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)', headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
+               trigger_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>.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
                $raw_response = wp_remote_post( $http_url, $options );
        }
 
@@ -300,7 +315,6 @@ function wp_update_plugins( $extra_stats = array() ) {
  * WordPress server at api.wordpress.org. Will only check if WordPress isn't
  * installing.
  *
- * @package WordPress
  * @since 2.7.0
  * @uses $wp_version Used to notify the WordPress version.
  *
@@ -352,7 +366,11 @@ function wp_update_themes( $extra_stats = array() ) {
                        $timeout = HOUR_IN_SECONDS;
                        break;
                default :
-                       $timeout = 12 * HOUR_IN_SECONDS;
+                       if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
+                               $timeout = 0;
+                       } else {
+                               $timeout = 12 * HOUR_IN_SECONDS;
+                       }
        }
 
        $time_not_changed = isset( $last_update->last_checked ) && $timeout > ( time() - $last_update->last_checked );
@@ -414,7 +432,7 @@ function wp_update_themes( $extra_stats = array() ) {
 
        $raw_response = wp_remote_post( $url, $options );
        if ( $ssl && is_wp_error( $raw_response ) ) {
-               trigger_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="http://wordpress.org/support/">support forums</a>.' ) . ' ' . '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)', headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
+               trigger_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>.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
                $raw_response = wp_remote_post( $http_url, $options );
        }
 
index 3bc29e14af8d17d74af39cf64849e9553aa438cb..5a9dc466ac9fbdf760d629dfb673e051917438e7 100644 (file)
@@ -3,6 +3,7 @@
  * WordPress User API
  *
  * @package WordPress
+ * @subpackage Users
  */
 
 /**
@@ -20,9 +21,9 @@
  *
  * @param array $credentials Optional. User info in order to sign on.
  * @param bool $secure_cookie Optional. Whether to use secure cookie.
- * @return object Either WP_Error on failure, or WP_User on success.
+ * @return WP_User|WP_Error WP_User on success, WP_Error on failure.
  */
-function wp_signon( $credentials = '', $secure_cookie = '' ) {
+function wp_signon( $credentials = array(), $secure_cookie = '' ) {
        if ( empty($credentials) ) {
                if ( ! empty($_POST['log']) )
                        $credentials['user_login'] = $_POST['log'];
@@ -37,13 +38,40 @@ function wp_signon( $credentials = '', $secure_cookie = '' ) {
        else
                $credentials['remember'] = false;
 
-       // TODO do we deprecate the wp_authentication action?
-       do_action_ref_array('wp_authenticate', array(&$credentials['user_login'], &$credentials['user_password']));
+       /**
+        * Fires before the user is authenticated.
+        *
+        * The variables passed to the callbacks are passed by reference,
+        * and can be modified by callback functions.
+        *
+        * @since 1.5.1
+        *
+        * @todo Decide whether to deprecate the wp_authenticate action.
+        *
+        * @param string $user_login    Username, passed by reference.
+        * @param string $user_password User password, passed by reference.
+        */
+       do_action_ref_array( 'wp_authenticate', array( &$credentials['user_login'], &$credentials['user_password'] ) );
 
        if ( '' === $secure_cookie )
                $secure_cookie = is_ssl();
 
-       $secure_cookie = apply_filters('secure_signon_cookie', $secure_cookie, $credentials);
+       /**
+        * Filter whether to use a secure sign-on cookie.
+        *
+        * @since 3.1.0
+        *
+        * @param bool  $secure_cookie Whether to use a secure sign-on cookie.
+        * @param array $credentials {
+        *     Array of entered sign-on data.
+        *
+        *     @type string $user_login    Username.
+        *     @type string $user_password Password entered.
+        *     @type bool   $remember      Whether to 'remember' the user. Increases the time
+        *                                 that the cookie will be kept. Default false.
+        * }
+        */
+       $secure_cookie = apply_filters( 'secure_signon_cookie', $secure_cookie, $credentials );
 
        global $auth_secure_cookie; // XXX ugly hack to pass this to wp_authenticate_cookie
        $auth_secure_cookie = $secure_cookie;
@@ -61,16 +89,32 @@ function wp_signon( $credentials = '', $secure_cookie = '' ) {
        }
 
        wp_set_auth_cookie($user->ID, $credentials['remember'], $secure_cookie);
-       do_action('wp_login', $user->user_login, $user);
+       /**
+        * Fires after the user has successfully logged in.
+        *
+        * @since 1.5.0
+        *
+        * @param string  $user_login Username.
+        * @param WP_User $user       WP_User object of the logged-in user.
+        */
+       do_action( 'wp_login', $user->user_login, $user );
        return $user;
 }
 
 /**
  * Authenticate the user using the username and password.
+ *
+ * @since 2.8.0
+ *
+ * @param WP_User|WP_Error|null $user     WP_User or WP_Error object from a previous callback. Default null.
+ * @param string                $username Username for authentication.
+ * @param string                $password Password for authentication.
+ * @return WP_User|WP_Error WP_User on success, WP_Error on failure.
  */
-add_filter('authenticate', 'wp_authenticate_username_password', 20, 3);
 function wp_authenticate_username_password($user, $username, $password) {
-       if ( is_a($user, 'WP_User') ) { return $user; }
+       if ( is_a( $user, 'WP_User' ) ) {
+               return $user;
+       }
 
        if ( empty($username) || empty($password) ) {
                if ( is_wp_error( $user ) )
@@ -92,7 +136,16 @@ function wp_authenticate_username_password($user, $username, $password) {
        if ( !$user )
                return new WP_Error( 'invalid_username', sprintf( __( '<strong>ERROR</strong>: Invalid username. <a href="%s" title="Password Lost and Found">Lost your password</a>?' ), wp_lostpassword_url() ) );
 
-       $user = apply_filters('wp_authenticate_user', $user, $password);
+       /**
+        * Filter whether the given user can be authenticated with the provided $password.
+        *
+        * @since 2.5.0
+        *
+        * @param WP_User|WP_Error $user     WP_User or WP_Error object if a previous
+        *                                   callback failed authentication.
+        * @param string           $password Password to check against the user.
+        */
+       $user = apply_filters( 'wp_authenticate_user', $user, $password );
        if ( is_wp_error($user) )
                return $user;
 
@@ -105,9 +158,18 @@ function wp_authenticate_username_password($user, $username, $password) {
 
 /**
  * Authenticate the user using the WordPress auth cookie.
+ *
+ * @since 2.8.0
+ *
+ * @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.
+ * @return WP_User|WP_Error WP_User on success, WP_Error on failure.
  */
 function wp_authenticate_cookie($user, $username, $password) {
-       if ( is_a($user, 'WP_User') ) { return $user; }
+       if ( is_a( $user, 'WP_User' ) ) {
+               return $user;
+       }
 
        if ( empty($username) && empty($password) ) {
                $user_id = wp_validate_auth_cookie();
@@ -131,13 +193,24 @@ function wp_authenticate_cookie($user, $username, $password) {
 }
 
 /**
- * For multisite blogs, check if the authenticated user has been marked as a
+ * For Multisite blogs, check if the authenticated user has been marked as a
  * spammer, or if the user's primary blog has been marked as spam.
  *
  * @since 3.7.0
+ *
+ * @param WP_User|WP_Error|null $user WP_User or WP_Error object from a previous callback. Default null.
+ * @return WP_User|WP_Error WP_User on success, WP_Error if the user is considered a spammer.
  */
 function wp_authenticate_spam_check( $user ) {
        if ( $user && is_a( $user, 'WP_User' ) && is_multisite() ) {
+               /**
+                * Filter whether the user has been marked as a spammer.
+                *
+                * @since 3.7.0
+                *
+                * @param bool    $spammed Whether the user is considered a spammer.
+                * @param WP_User $user    User to check against.
+                */
                $spammed = apply_filters( 'check_is_user_spammed', is_user_spammy(), $user );
 
                if ( $spammed )
@@ -146,11 +219,39 @@ function wp_authenticate_spam_check( $user ) {
        return $user;
 }
 
+/**
+ * Validate the logged-in cookie.
+ *
+ * Checks the logged-in cookie if the previous auth cookie could not be
+ * validated and parsed.
+ *
+ * This is a callback for the determine_current_user filter, rather than API.
+ *
+ * @since 3.9.0
+ *
+ * @param int|bool $user 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.
+ */
+function wp_validate_logged_in_cookie( $user_id ) {
+       if ( $user_id ) {
+               return $user_id;
+       }
+
+       if ( is_blog_admin() || is_network_admin() || empty( $_COOKIE[LOGGED_IN_COOKIE] ) ) {
+               return false;
+       }
+
+       return wp_validate_auth_cookie( $_COOKIE[LOGGED_IN_COOKIE], 'logged_in' );
+}
+
 /**
  * Number of posts user has written.
  *
  * @since 3.0.0
- * @uses $wpdb WordPress database object for queries.
+ *
+ * @global wpdb $wpdb WordPress database object for queries.
  *
  * @param int $userid User ID.
  * @return int Amount of posts user has written.
@@ -162,7 +263,15 @@ function count_user_posts($userid) {
 
        $count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" );
 
-       return apply_filters('get_usernumposts', $count, $userid);
+       /**
+        * Filter the number of posts a user has written.
+        *
+        * @since 2.7.0
+        *
+        * @param int $count  The user's post count.
+        * @param int $userid User ID.
+        */
+       return apply_filters( 'get_usernumposts', $count, $userid );
 }
 
 /**
@@ -229,14 +338,13 @@ function get_current_user_id() {
  * The option will first check for the per site name and then the per Network name.
  *
  * @since 2.0.0
- * @uses $wpdb WordPress database object for queries.
- * @uses apply_filters() Calls 'get_user_option_$option' hook with result,
- *             option parameter, and user data object.
- *
- * @param string $option User option name.
- * @param int $user Optional. User ID.
- * @param bool $deprecated Use get_option() to check for an option in the options table.
- * @return mixed
+ *
+ * @global wpdb $wpdb WordPress database object for queries.
+ *
+ * @param string $option     User option name.
+ * @param int    $user       Optional. User ID.
+ * @param bool   $deprecated Use get_option() to check for an option in the options table.
+ * @return mixed User option value on success, false on failure.
  */
 function get_user_option( $option, $user = 0, $deprecated = '' ) {
        global $wpdb;
@@ -258,7 +366,18 @@ function get_user_option( $option, $user = 0, $deprecated = '' ) {
        else
                $result = false;
 
-       return apply_filters("get_user_option_{$option}", $result, $option, $user);
+       /**
+        * Filter a specific user option value.
+        *
+        * The dynamic portion of the hook name, $option, refers to the user option name.
+        *
+        * @since 2.5.0
+        *
+        * @param mixed   $result Value for the user's option.
+        * @param string  $option Name of the option being retrieved.
+        * @param WP_User $user   WP_User object of the user whose option is being retrieved.
+        */
+       return apply_filters( "get_user_option_{$option}", $result, $option, $user );
 }
 
 /**
@@ -271,13 +390,16 @@ function get_user_option( $option, $user = 0, $deprecated = '' ) {
  * Deletes the user option if $newvalue is empty.
  *
  * @since 2.0.0
- * @uses $wpdb WordPress database object for queries
  *
- * @param int $user_id User ID
+ * @global wpdb $wpdb WordPress database object for queries.
+ *
+ * @param int    $user_id     User ID.
  * @param string $option_name User option name.
- * @param mixed $newvalue User option value.
- * @param bool $global Optional. Whether option name is global or blog specific. Default false (blog specific).
- * @return unknown
+ * @param mixed  $newvalue    User option value.
+ * @param bool   $global      Optional. Whether option name is global or blog specific.
+ *                            Default false (blog specific).
+ * @return int|bool User meta ID if the option didn't exist, true on successful update,
+ *                  false on failure.
  */
 function update_user_option( $user_id, $option_name, $newvalue, $global = false ) {
        global $wpdb;
@@ -296,12 +418,14 @@ function update_user_option( $user_id, $option_name, $newvalue, $global = false
  * it will prepend the WordPress table prefix to the option name.
  *
  * @since 3.0.0
- * @uses $wpdb WordPress database object for queries
  *
- * @param int $user_id User ID
+ * @global wpdb $wpdb WordPress database object for queries.
+ *
+ * @param int    $user_id     User ID
  * @param string $option_name User option name.
- * @param bool $global Optional. Whether option name is global or blog specific. Default false (blog specific).
- * @return unknown
+ * @param bool   $global      Optional. Whether option name is global or blog specific.
+ *                            Default false (blog specific).
+ * @return bool True on success, false on failure.
  */
 function delete_user_option( $user_id, $option_name, $global = false ) {
        global $wpdb;
@@ -353,15 +477,32 @@ class WP_User_Query {
        var $query_limit;
 
        /**
-        * PHP5 constructor
+        * PHP5 constructor.
         *
         * @since 3.1.0
         *
-        * @param string|array $args The query variables
+        * @param string|array $args Optional. The query variables.
         * @return WP_User_Query
         */
        function __construct( $query = null ) {
-               if ( !empty( $query ) ) {
+               if ( ! empty( $query ) ) {
+                       $this->prepare_query( $query );
+                       $this->query();
+               }
+       }
+
+       /**
+        * Prepare the query variables.
+        *
+        * @since 3.1.0
+        *
+        * @param string|array $args Optional. The query variables.
+        */
+       function prepare_query( $query = array() ) {
+               global $wpdb;
+
+               if ( empty( $this->query_vars ) || ! empty( $query ) ) {
+                       $this->query_limit = null;
                        $this->query_vars = wp_parse_args( $query, array(
                                'blog_id' => $GLOBALS['blog_id'],
                                'role' => '',
@@ -380,20 +521,7 @@ class WP_User_Query {
                                'fields' => 'all',
                                'who' => ''
                        ) );
-
-                       $this->prepare_query();
-                       $this->query();
                }
-       }
-
-       /**
-        * Prepare the query variables
-        *
-        * @since 3.1.0
-        * @access private
-        */
-       function prepare_query() {
-               global $wpdb;
 
                $qv =& $this->query_vars;
 
@@ -496,6 +624,18 @@ class WP_User_Query {
                                        $search_columns = array('user_login', 'user_nicename');
                        }
 
+                       /**
+                        * 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'.
+                        *
+                        * @since 3.6.0
+                        *
+                        * @param array         $search_columns Array of column names to be searched.
+                        * @param string        $search         Text being searched.
+                        * @param WP_User_Query $this           The current WP_User_Query instance.
+                        */
                        $search_columns = apply_filters( 'user_search_columns', $search_columns, $search, $this );
 
                        $this->query_where .= $this->get_search_sql( $search, $search_columns, $wild );
@@ -525,7 +665,9 @@ class WP_User_Query {
                                $cap_meta_query['compare'] = 'like';
                        }
 
-                       $qv['meta_query'][] = $cap_meta_query;
+                       if ( empty( $qv['meta_query'] ) || ! in_array( $cap_meta_query, $qv['meta_query'], true ) ) {
+                               $qv['meta_query'][] = $cap_meta_query;
+                       }
                }
 
                $meta_query = new WP_Meta_Query();
@@ -548,26 +690,50 @@ class WP_User_Query {
                        $this->query_where .= " AND $wpdb->users.ID NOT IN ($ids)";
                }
 
+               /**
+                * Fires after the WP_User_Query has been parsed, and before
+                * the query is executed.
+                *
+                * The passed WP_User_Query object contains SQL parts formed
+                * from parsing the given query.
+                *
+                * @since 3.1.0
+                *
+                * @param WP_User_Query $this The current WP_User_Query instance,
+                *                            passed by reference.
+                */
                do_action_ref_array( 'pre_user_query', array( &$this ) );
        }
 
        /**
-        * Execute the query, with the current variables
+        * Execute the query, with the current variables.
         *
         * @since 3.1.0
-        * @access private
+        *
+        * @global wpdb $wpdb WordPress database object for queries.
         */
        function query() {
                global $wpdb;
 
                $qv =& $this->query_vars;
 
+               $query = "SELECT $this->query_fields $this->query_from $this->query_where $this->query_orderby $this->query_limit";
+
                if ( is_array( $qv['fields'] ) || 'all' == $qv['fields'] ) {
-                       $this->results = $wpdb->get_results("SELECT $this->query_fields $this->query_from $this->query_where $this->query_orderby $this->query_limit");
+                       $this->results = $wpdb->get_results( $query );
                } else {
-                       $this->results = $wpdb->get_col("SELECT $this->query_fields $this->query_from $this->query_where $this->query_orderby $this->query_limit");
+                       $this->results = $wpdb->get_col( $query );
                }
 
+               /**
+                * Filter SELECT FOUND_ROWS() query for the current WP_User_Query instance.
+                *
+                * @since 3.2.0
+                *
+                * @global wpdb $wpdb WordPress database object.
+                *
+                * @param string $sql The SELECT FOUND_ROWS() query for the current WP_User_Query.
+                */
                if ( isset( $qv['count_total'] ) && $qv['count_total'] )
                        $this->total_users = $wpdb->get_var( apply_filters( 'found_users_query', 'SELECT FOUND_ROWS()' ) );
 
@@ -647,24 +813,24 @@ class WP_User_Query {
        }
 
        /**
-        * Return the list of users
+        * Return the list of users.
         *
         * @since 3.1.0
         * @access public
         *
-        * @return array
+        * @return array Array of results.
         */
        function get_results() {
                return $this->results;
        }
 
        /**
-        * Return the total number of users for the current query
+        * Return the total number of users for the current query.
         *
         * @since 3.1.0
         * @access public
         *
-        * @return array
+        * @return array Array of total users.
         */
        function get_total() {
                return $this->total_users;
@@ -675,10 +841,10 @@ class WP_User_Query {
  * Retrieve list of users matching criteria.
  *
  * @since 3.1.0
- * @uses $wpdb
+ *
  * @uses WP_User_Query See for default arguments and information.
  *
- * @param array $args Optional.
+ * @param array $args Optional. Array of arguments.
  * @return array List of users.
  */
 function get_users( $args = array() ) {
@@ -696,9 +862,13 @@ function get_users( $args = array() ) {
  *
  * @since 3.0.0
  *
- * @param int $user_id User ID
- * @param bool $all Whether to retrieve all blogs, or only blogs that are not marked as deleted, archived, or spam.
- * @return array A list of the user's blogs. An empty array if the user doesn't exist or belongs to no blogs.
+ * @global wpdb $wpdb WordPress database object for queries.
+ *
+ * @param int  $user_id User ID
+ * @param bool $all     Whether to retrieve all blogs, or only blogs that are not
+ *                      marked as deleted, archived, or spam.
+ * @return array A list of the user's blogs. An empty array if the user doesn't exist
+ *               or belongs to no blogs.
  */
 function get_blogs_of_user( $user_id, $all = false ) {
        global $wpdb;
@@ -776,6 +946,16 @@ function get_blogs_of_user( $user_id, $all = false ) {
                }
        }
 
+       /**
+        * Filter the list of blogs a user belongs to.
+        *
+        * @since MU
+        *
+        * @param array $blogs   An array of blog objects belonging to the user.
+        * @param int   $user_id User ID.
+        * @param bool  $all     Whether the returned blogs array should contain all blogs, including
+        *                       those marked 'deleted', 'archived', or 'spam'. Default false.
+        */
        return apply_filters( 'get_blogs_of_user', $blogs, $user_id, $all );
 }
 
@@ -875,7 +1055,7 @@ function get_user_meta($user_id, $key = '', $single = false) {
  * @param string $meta_key Metadata key.
  * @param mixed $meta_value Metadata value.
  * @param mixed $prev_value Optional. Previous value to check before removing.
- * @return bool True on success, false on failure.
+ * @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 = '') {
        return update_metadata('user', $user_id, $meta_key, $meta_value, $prev_value);
@@ -1033,9 +1213,12 @@ function setup_userdata($for_user_id = '') {
  * </ol>
  *
  * @since 2.3.0
- * @uses $wpdb WordPress database object for queries
  *
- * @param string|array $args Optional. Override defaults.
+ * @global wpdb $wpdb WordPress database object for queries.
+ *
+ * @todo Hash-notate arguments array.
+ *
+ * @param string|array $args Optional. Array of user arguments.
  * @return string|null Null on display. String of HTML content on retrieve.
  */
 function wp_dropdown_users( $args = '' ) {
@@ -1095,7 +1278,14 @@ function wp_dropdown_users( $args = '' ) {
                $output .= "</select>";
        }
 
-       $output = apply_filters('wp_dropdown_users', $output);
+       /**
+        * Filter the wp_dropdown_users() HTML output.
+        *
+        * @since 2.3.0
+        *
+        * @param string $output HTML output generated by wp_dropdown_users().
+        */
+       $output = apply_filters( 'wp_dropdown_users', $output );
 
        if ( $echo )
                echo $output;
@@ -1111,12 +1301,6 @@ function wp_dropdown_users( $args = '' ) {
  * when calling filters.
  *
  * @since 2.3.0
- * @uses apply_filters() Calls 'edit_$field' passing $value and $user_id if $context == 'edit'.
- *  $field is prefixed with 'user_' if it isn't already.
- * @uses apply_filters() Calls 'pre_$field' passing $value if $context == 'db'. $field is prefixed with
- *  'user_' if it isn't already.
- * @uses apply_filters() Calls '$field' passing $value, $user_id and $context if $context == anything
- *  other than 'raw', 'edit' and 'db'. $field is prefixed with 'user_' if it isn't already.
  *
  * @param string $field The user Object field name.
  * @param mixed $value The user Object value.
@@ -1140,9 +1324,23 @@ function sanitize_user_field($field, $value, $user_id, $context) {
 
        if ( 'edit' == $context ) {
                if ( $prefixed ) {
-                       $value = apply_filters("edit_{$field}", $value, $user_id);
+
+                       /** This filter is documented in wp-includes/post.php */
+                       $value = apply_filters( "edit_{$field}", $value, $user_id );
                } else {
-                       $value = apply_filters("edit_user_{$field}", $value, $user_id);
+
+                       /**
+                        * Filter a user field value in the 'edit' context.
+                        *
+                        * The dynamic portion of the hook name, $field, refers to the prefixed user
+                        * field being filtered, such as 'user_login', 'user_email', 'first_name', etc.
+                        *
+                        * @since 2.9.0
+                        *
+                        * @param mixed $value   Value of the prefixed user field.
+                        * @param int   $user_id User ID.
+                        */
+                       $value = apply_filters( "edit_user_{$field}", $value, $user_id );
                }
 
                if ( 'description' == $field )
@@ -1151,16 +1349,44 @@ function sanitize_user_field($field, $value, $user_id, $context) {
                        $value = esc_attr($value);
        } else if ( 'db' == $context ) {
                if ( $prefixed ) {
-                       $value = apply_filters("pre_{$field}", $value);
+                       /** This filter is documented in wp-includes/post.php */
+                       $value = apply_filters( "pre_{$field}", $value );
                } else {
-                       $value = apply_filters("pre_user_{$field}", $value);
+
+                       /**
+                        * Filter the value of a user field in the 'db' context.
+                        *
+                        * The dynamic portion of the hook name, $field, refers to the prefixed user
+                        * field being filtered, such as 'user_login', 'user_email', 'first_name', etc.
+                        *
+                        * @since 2.9.0
+                        *
+                        * @param mixed $value Value of the prefixed user field.
+                        */
+                       $value = apply_filters( "pre_user_{$field}", $value );
                }
        } else {
                // Use display filters by default.
-               if ( $prefixed )
-                       $value = apply_filters($field, $value, $user_id, $context);
-               else
-                       $value = apply_filters("user_{$field}", $value, $user_id, $context);
+               if ( $prefixed ) {
+
+                       /** This filter is documented in wp-includes/post.php */
+                       $value = apply_filters( $field, $value, $user_id, $context );
+               } else {
+
+                       /**
+                        * Filter the value of a user field in a standard context.
+                        *
+                        * The dynamic portion of the hook name, $field, refers to the prefixed user
+                        * field being filtered, such as 'user_login', 'user_email', 'first_name', etc.
+                        *
+                        * @since 2.9.0
+                        *
+                        * @param mixed  $value   The user object value to sanitize.
+                        * @param int    $user_id User ID.
+                        * @param string $context The context to filter within.
+                        */
+                       $value = apply_filters( "user_{$field}", $value, $user_id, $context );
+               }
        }
 
        if ( 'user_url' == $field )
@@ -1228,7 +1454,6 @@ function username_exists( $username ) {
  * Checks whether the given email exists.
  *
  * @since 2.1.0
- * @uses $wpdb
  *
  * @param string $email Email.
  * @return bool|int The user's ID on success, and false on failure.
@@ -1252,6 +1477,14 @@ function email_exists( $email ) {
 function validate_username( $username ) {
        $sanitized = sanitize_user( $username, true );
        $valid = ( $sanitized == $username );
+       /**
+        * Filter whether the provided username is valid or not.
+        *
+        * @since 2.0.1
+        *
+        * @param bool   $valid    Whether given username is valid.
+        * @param string $username Username to check.
+        */
        return apply_filters( 'validate_username', $valid, $username );
 }
 
@@ -1287,10 +1520,10 @@ function validate_username( $username ) {
  * 'yim' - User's Yahoo IM account.
  *
  * @since 2.0.0
- * @uses $wpdb WordPress database layer.
- * @uses apply_filters() Calls filters for most of the $userdata fields with the prefix 'pre_user'. See note above.
- * @uses do_action() Calls 'profile_update' hook when updating giving the user's ID
- * @uses do_action() Calls 'user_register' hook when creating a new user giving the user's ID
+ *
+ * @global wpdb $wpdb WordPress database object for queries.
+ *
+ * @todo Hash-notate arguments array.
  *
  * @param mixed $userdata An array of user data or a user object of type stdClass or WP_User.
  * @return int|WP_Error The newly created user's ID or a WP_Error object if the user could not be created.
@@ -1317,7 +1550,17 @@ function wp_insert_user( $userdata ) {
        }
 
        $user_login = sanitize_user($user_login, true);
-       $user_login = apply_filters('pre_user_login', $user_login);
+
+       /**
+        * Filter a username after it has been sanitized.
+        *
+        * This filter is called before the user is created or updated.
+        *
+        * @since 2.0.3
+        *
+        * @param string $user_login Username after it has been sanitized.
+        */
+       $user_login = apply_filters( 'pre_user_login', $user_login );
 
        //Remove any non-printable chars from the login string to see if we have ended up with an empty username
        $user_login = trim($user_login);
@@ -1330,30 +1573,78 @@ function wp_insert_user( $userdata ) {
 
        if ( empty($user_nicename) )
                $user_nicename = sanitize_title( $user_login );
-       $user_nicename = apply_filters('pre_user_nicename', $user_nicename);
+
+       /**
+        * Filter a user's nicename before the user is created or updated.
+        *
+        * @since 2.0.3
+        *
+        * @param string $user_nicename The user's nicename.
+        */
+       $user_nicename = apply_filters( 'pre_user_nicename', $user_nicename );
 
        if ( empty($user_url) )
                $user_url = '';
-       $user_url = apply_filters('pre_user_url', $user_url);
+
+       /**
+        * Filter a user's URL before the user is created or updated.
+        *
+        * @since 2.0.3
+        *
+        * @param string $user_url The user's URL.
+        */
+       $user_url = apply_filters( 'pre_user_url', $user_url );
 
        if ( empty($user_email) )
                $user_email = '';
-       $user_email = apply_filters('pre_user_email', $user_email);
+
+       /**
+        * Filter a user's email before the user is created or updated.
+        *
+        * @since 2.0.3
+        *
+        * @param string $user_email The user's email.
+        */
+       $user_email = apply_filters( 'pre_user_email', $user_email );
 
        if ( !$update && ! defined( 'WP_IMPORTING' ) && email_exists($user_email) )
                return new WP_Error( 'existing_user_email', __( 'Sorry, that email address is already used!' ) );
 
        if ( empty($nickname) )
                $nickname = $user_login;
-       $nickname = apply_filters('pre_user_nickname', $nickname);
+
+       /**
+        * Filter a user's nickname before the user is created or updated.
+        *
+        * @since 2.0.3
+        *
+        * @param string $nickname The user's nickname.
+        */
+       $nickname = apply_filters( 'pre_user_nickname', $nickname );
 
        if ( empty($first_name) )
                $first_name = '';
-       $first_name = apply_filters('pre_user_first_name', $first_name);
+
+       /**
+        * Filter a user's first name before the user is created or updated.
+        *
+        * @since 2.0.3
+        *
+        * @param string $first_name The user's first name.
+        */
+       $first_name = apply_filters( 'pre_user_first_name', $first_name );
 
        if ( empty($last_name) )
                $last_name = '';
-       $last_name = apply_filters('pre_user_last_name', $last_name);
+
+       /**
+        * Filter a user's last name before the user is created or updated.
+        *
+        * @since 2.0.3
+        *
+        * @param string $last_name The user's last name.
+        */
+       $last_name = apply_filters( 'pre_user_last_name', $last_name );
 
        if ( empty( $display_name ) ) {
                if ( $update )
@@ -1368,11 +1659,27 @@ function wp_insert_user( $userdata ) {
                else
                        $display_name = $user_login;
        }
+
+       /**
+        * Filter a user's display name before the user is created or updated.
+        *
+        * @since 2.0.3
+        *
+        * @param string $display_name The user's display name.
+        */
        $display_name = apply_filters( 'pre_user_display_name', $display_name );
 
        if ( empty($description) )
                $description = '';
-       $description = apply_filters('pre_user_description', $description);
+
+       /**
+        * Filter a user's description before the user is created or updated.
+        *
+        * @since 2.0.3
+        *
+        * @param string $description The user's description.
+        */
+       $description = apply_filters( 'pre_user_description', $description );
 
        if ( empty($rich_editing) )
                $rich_editing = 'true';
@@ -1431,10 +1738,26 @@ function wp_insert_user( $userdata ) {
        wp_cache_delete($user_id, 'users');
        wp_cache_delete($user_login, 'userlogins');
 
-       if ( $update )
-               do_action('profile_update', $user_id, $old_user_data);
-       else
-               do_action('user_register', $user_id);
+       if ( $update ) {
+               /**
+                * Fires immediately after an existing user is updated.
+                *
+                * @since 2.0.0
+                *
+                * @param int    $user_id       User ID.
+                * @param object $old_user_data Object containing user's data prior to update.
+                */
+               do_action( 'profile_update', $user_id, $old_user_data );
+       } else {
+               /**
+                * Fires immediately after a new user is registered.
+                *
+                * @since 1.5.0
+                *
+                * @param int $user_id User ID.
+                */
+               do_action( 'user_register', $user_id );
+       }
 
        return $user_id;
 }
@@ -1449,7 +1772,8 @@ function wp_insert_user( $userdata ) {
  * cleared.
  *
  * @since 2.0.0
- * @see wp_insert_user() For what fields can be set in $userdata
+ *
+ * @see wp_insert_user() For what fields can be set in $userdata.
  *
  * @param mixed $userdata An array of user data or a user object of type stdClass or WP_User.
  * @return int|WP_Error The updated user's ID or a WP_Error object if the user could not be updated.
@@ -1587,7 +1911,7 @@ function _wp_get_user_contactmethods( $user = null ) {
  * 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.
  *
- * @uses $wpdb WordPress Database object
+ * @global wpdb $wpdb WordPress database object for queries.
  *
  * @param string $key       Hash to validate sending user's password.
  * @param string $login     The user login.
@@ -1643,6 +1967,14 @@ function check_password_reset_key($key, $login) {
  * @param string $new_pass New password for the user in plaintext
  */
 function reset_password( $user, $new_pass ) {
+       /**
+        * Fires before the user's password is reset.
+        *
+        * @since 1.5.0
+        *
+        * @param object $user     The user.
+        * @param string $new_pass New user password.
+        */
        do_action( 'password_reset', $user, $new_pass );
 
        wp_set_password( $new_pass, $user->ID );
@@ -1662,6 +1994,13 @@ function register_new_user( $user_login, $user_email ) {
        $errors = new WP_Error();
 
        $sanitized_user_login = sanitize_user( $user_login );
+       /**
+        * Filter the email address of a user being registered.
+        *
+        * @since 2.1.0
+        *
+        * @param string $user_email The email address of the new user.
+        */
        $user_email = apply_filters( 'user_registration_email', $user_email );
 
        // Check the username
@@ -1684,8 +2023,35 @@ function register_new_user( $user_login, $user_email ) {
                $errors->add( 'email_exists', __( '<strong>ERROR</strong>: This email is already registered, please choose another one.' ) );
        }
 
+       /**
+        * Fires when submitting registration form data, before the user is created.
+        *
+        * @since 2.1.0
+        *
+        * @param string   $sanitized_user_login The submitted username after being sanitized.
+        * @param string   $user_email           The submitted email.
+        * @param WP_Error $errors               Contains any errors with submitted username and email,
+        *                                       e.g., an empty field, an invalid username or email,
+        *                                       or an existing username or email.
+        */
        do_action( 'register_post', $sanitized_user_login, $user_email, $errors );
 
+       /**
+        * Filter the errors encountered when a new user is being registered.
+        *
+        * The filtered WP_Error object may, for example, contain errors for an invalid
+        * or existing username or email address. A WP_Error object should always returned,
+        * but may or may not contain errors.
+        *
+        * If any errors are present in $errors, this will abort the user's registration.
+        *
+        * @since 2.1.0
+        *
+        * @param WP_Error $errors               A WP_Error object containing any errors encountered
+        *                                       during registration.
+        * @param string   $sanitized_user_login User's username after it has been sanitized.
+        * @param string   $user_email           User's email.
+        */
        $errors = apply_filters( 'registration_errors', $errors, $sanitized_user_login, $user_email );
 
        if ( $errors->get_error_code() )
index f1e67b627b70e04651f0da413730e9320421b0bc..996d17383007a05de96a777a43d588a4d1b90ae8 100644 (file)
@@ -6,8 +6,11 @@
  * for the browser to set which one is currently being used.
  *
  * Detects which user environment WordPress is being used on.
- * Only attempts to check for Apache and IIS. Two web servers
- * with known permalink capability.
+ * Only attempts to check for Apache, Nginx and IIS -- three web
+ * servers with known pretty permalink capability.
+ *
+ * Note: Though Nginx is detected, WordPress does not currently
+ * generate rewrite rules for it. See http://codex.wordpress.org/Nginx
  *
  * @package WordPress
  */
index 15ae453cbef19fb57ba5625cc0c9a73d9519f5a8..370b65c63548a8ae6f1806ff9617a321c23956b3 100644 (file)
@@ -4,21 +4,21 @@
  *
  * @global string $wp_version
  */
-$wp_version = '3.8.3';
+$wp_version = '3.9';
 
 /**
  * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
  *
  * @global int $wp_db_version
  */
-$wp_db_version = 26692;
+$wp_db_version = 27916;
 
 /**
  * Holds the TinyMCE version
  *
  * @global string $tinymce_version
  */
-$tinymce_version = '359-20131026';
+$tinymce_version = '4021-20140412';
 
 /**
  * Holds the required PHP version
index 6bd99473b7e12ae45ff1a6b1e7a1ed3ee7ea9b51..4905bbdb07eab32665cbf4880a735a287a3110a3 100644 (file)
@@ -19,7 +19,7 @@
  *
  * @package WordPress
  * @subpackage Widgets
- * @since 2.8
+ * @since 2.8.0
  */
 class WP_Widget {
 
@@ -163,6 +163,21 @@ class WP_Widget {
                return array($this, 'form_callback');
        }
 
+       /**
+        * Determine if we're in the Customizer; if true, then the object cache gets
+        * suspended and widgets should check this to decide whether they should
+        * store anything persistently to the object cache, to transients, or
+        * anywhere else.
+        *
+        * @since 3.9.0
+        *
+        * @return bool True if Customizer is on, false if not.
+        */
+       function is_preview() {
+               global $wp_customize;
+               return ( isset( $wp_customize ) && $wp_customize->is_preview() ) ;
+       }
+
        /** Generate the actual widget content.
         *      Just finds the instance and calls widget().
         *      Do NOT over-ride this function. */
@@ -176,22 +191,47 @@ class WP_Widget {
 
                if ( array_key_exists( $this->number, $instance ) ) {
                        $instance = $instance[$this->number];
-                       // filters the widget's settings, return false to stop displaying the widget
-                       $instance = apply_filters('widget_display_callback', $instance, $this, $args);
-                       if ( false !== $instance )
-                               $this->widget($args, $instance);
+
+                       /**
+                        * Filter the settings for a particular widget instance.
+                        *
+                        * Returning false will effectively short-circuit display of the widget.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param array     $instance The current widget instance's settings.
+                        * @param WP_Widget $this     The current widget instance.
+                        * @param array     $args     An array of default widget arguments.
+                        */
+                       $instance = apply_filters( 'widget_display_callback', $instance, $this, $args );
+
+                       if ( false === $instance ) {
+                               return;
+                       }
+
+                       $was_cache_addition_suspended = wp_suspend_cache_addition();
+                       if ( $this->is_preview() && ! $was_cache_addition_suspended ) {
+                               wp_suspend_cache_addition( true );
+                       }
+
+                       $this->widget( $args, $instance );
+
+                       if ( $this->is_preview() ) {
+                               wp_suspend_cache_addition( $was_cache_addition_suspended );
+                       }
                }
        }
 
-       /** Deal with changed settings.
-        *      Do NOT over-ride this function. */
-       function update_callback( $widget_args = 1 ) {
+       /**
+        * Deal with changed settings.
+        *
+        * Do NOT over-ride this function.
+        *
+        * @param mixed $deprecated Not used.
+        */
+       function update_callback( $deprecated = 1 ) {
                global $wp_registered_widgets;
 
-               if ( is_numeric($widget_args) )
-                       $widget_args = array( 'number' => $widget_args );
-
-               $widget_args = wp_parse_args( $widget_args, array( 'number' => -1 ) );
                $all_instances = $this->get_settings();
 
                // We need to update the data
@@ -229,12 +269,34 @@ class WP_Widget {
 
                                $old_instance = isset($all_instances[$number]) ? $all_instances[$number] : array();
 
-                               $instance = $this->update($new_instance, $old_instance);
+                               $was_cache_addition_suspended = wp_suspend_cache_addition();
+                               if ( $this->is_preview() && ! $was_cache_addition_suspended ) {
+                                       wp_suspend_cache_addition( true );
+                               }
+
+                               $instance = $this->update( $new_instance, $old_instance );
+
+                               if ( $this->is_preview() ) {
+                                       wp_suspend_cache_addition( $was_cache_addition_suspended );
+                               }
 
-                               // filters the widget's settings before saving, return false to cancel saving (keep the old settings if updating)
-                               $instance = apply_filters('widget_update_callback', $instance, $new_instance, $old_instance, $this);
-                               if ( false !== $instance )
+                               /**
+                                * Filter a widget's settings before saving.
+                                *
+                                * Returning false will effectively short-circuit the widget's ability
+                                * to update settings.
+                                *
+                                * @since 2.8.0
+                                *
+                                * @param array     $instance     The current widget instance's settings.
+                                * @param array     $new_instance Array of new widget settings.
+                                * @param array     $old_instance Array of old widget settings.
+                                * @param WP_Widget $this         The current widget instance.
+                                */
+                               $instance = apply_filters( 'widget_update_callback', $instance, $new_instance, $old_instance, $this );
+                               if ( false !== $instance ) {
                                        $all_instances[$number] = $instance;
+                               }
 
                                break; // run only once
                        }
@@ -244,8 +306,11 @@ class WP_Widget {
                $this->updated = true;
        }
 
-       /** Generate the control form.
-        *      Do NOT over-ride this function. */
+       /**
+        * Generate the control form.
+        *
+        * Do NOT over-ride this function.
+        */
        function form_callback( $widget_args = 1 ) {
                if ( is_numeric($widget_args) )
                        $widget_args = array( 'number' => $widget_args );
@@ -262,15 +327,39 @@ class WP_Widget {
                        $instance = $all_instances[ $widget_args['number'] ];
                }
 
-               // filters the widget admin form before displaying, return false to stop displaying it
-               $instance = apply_filters('widget_form_callback', $instance, $this);
+               /**
+                * Filter the widget instance's settings before displaying the control form.
+                *
+                * Returning false effectively short-circuits display of the control form.
+                *
+                * @since 2.8.0
+                *
+                * @param array     $instance The current widget instance's settings.
+                * @param WP_Widget $this     The current widget instance.
+                */
+               $instance = apply_filters( 'widget_form_callback', $instance, $this );
 
                $return = null;
                if ( false !== $instance ) {
                        $return = $this->form($instance);
-                       // add extra fields in the widget form - be sure to set $return to null if you add any
-                       // if the widget has no form the text echoed from the default form method can be hidden using css
-                       do_action_ref_array( 'in_widget_form', array(&$this, &$return, $instance) );
+
+                       /**
+                        * Fires at the end of the widget control form.
+                        *
+                        * Use this hook to add extra fields to the widget form. The hook
+                        * is only fired if the value passed to the 'widget_form_callback'
+                        * hook is not false.
+                        *
+                        * Note: If the widget has no form, the text echoed from the default
+                        * form method can be hidden using CSS.
+                        *
+                        * @since 2.8.0
+                        *
+                        * @param WP_Widget $this     The widget instance, passed by reference.
+                        * @param null      $return   Return null if new fields are added.
+                        * @param array     $instance An array of the widget's settings.
+                        */
+                       do_action_ref_array( 'in_widget_form', array( &$this, &$return, $instance ) );
                }
                return $return;
        }
@@ -311,7 +400,7 @@ class WP_Widget {
  *
  * @package WordPress
  * @subpackage Widgets
- * @since 2.8
+ * @since 2.8.0
  */
 class WP_Widget_Factory {
        var $widgets = array();
@@ -385,8 +474,8 @@ $_wp_sidebars_widgets = array();
 /**
  * Private
  */
- $GLOBALS['_wp_deprecated_widgets_callbacks'] = array(
-       'wp_widget_pages',
+$GLOBALS['_wp_deprecated_widgets_callbacks'] = array(
+       'wp_widget_pages',
        'wp_widget_pages_control',
        'wp_widget_calendar',
        'wp_widget_calendar_control',
@@ -408,7 +497,7 @@ $_wp_sidebars_widgets = array();
        'wp_widget_rss_control',
        'wp_widget_recent_comments',
        'wp_widget_recent_comments_control'
- );
+);
 
 /* Template tags & API functions */
 
@@ -571,6 +660,13 @@ function register_sidebar($args = array()) {
 
        add_theme_support('widgets');
 
+       /**
+        * Fires once a sidebar has been registered.
+        *
+        * @since 3.0.0
+        *
+        * @param array $sidebar Parsed arguments for the registered sidebar.
+        */
        do_action( 'register_sidebar', $sidebar );
 
        return $sidebar['id'];
@@ -644,6 +740,14 @@ function wp_register_sidebar_widget($id, $name, $output_callback, $options = arr
        $widget = array_merge($widget, $options);
 
        if ( is_callable($output_callback) && ( !isset($wp_registered_widgets[$id]) || did_action( 'widgets_init' ) ) ) {
+
+               /**
+                * Fires once for each registered widget.
+                *
+                * @since 3.0.0
+                *
+                * @param array $widget An array of default widget arguments.
+                */
                do_action( 'wp_register_sidebar_widget', $widget );
                $wp_registered_widgets[$id] = $widget;
        }
@@ -700,6 +804,14 @@ function wp_sidebar_description( $id ) {
  * @param int|string $id Widget ID.
  */
 function wp_unregister_sidebar_widget($id) {
+
+       /**
+        * Fires just before a widget is removed from a sidebar.
+        *
+        * @since 3.0.0
+        *
+        * @param int $id The widget ID.
+        */
        do_action( 'wp_unregister_sidebar_widget', $id );
 
        wp_register_sidebar_widget($id, '', '');
@@ -859,9 +971,27 @@ function dynamic_sidebar($index = 1) {
 
        $sidebars_widgets = wp_get_sidebars_widgets();
        if ( empty( $wp_registered_sidebars[ $index ] ) || empty( $sidebars_widgets[ $index ] ) || ! is_array( $sidebars_widgets[ $index ] ) ) {
-               return false;
+               /** This action is documented in wp-includes/widgets.php */
+               do_action( 'dynamic_sidebar_before', $index, false );
+               /** This action is documented in wp-includes/widgets.php */
+               do_action( 'dynamic_sidebar_after',  $index, false );
+               /** This filter is documented in wp-includes/widgets.php */
+               return apply_filters( 'dynamic_sidebar_has_widgets', false, $index );
        }
 
+       /**
+        * Fires before widgets are rendered in a dynamic sidebar.
+        *
+        * Note: The action also fires for empty sidebars, and on both the front-end
+        * and back-end, including the Inactive Widgets sidebar on the Widgets screen.
+        *
+        * @since 3.9.0
+        *
+        * @param int|string $index       Index, name, or ID of the dynamic sidebar.
+        * @param bool       $has_widgets Whether the sidebar is populated with widgets.
+        *                                Default true.
+        */
+       do_action( 'dynamic_sidebar_before', $index, true );
        $sidebar = $wp_registered_sidebars[$index];
 
        $did_one = false;
@@ -885,11 +1015,68 @@ function dynamic_sidebar($index = 1) {
                $classname_ = ltrim($classname_, '_');
                $params[0]['before_widget'] = sprintf($params[0]['before_widget'], $id, $classname_);
 
+               /**
+                * Filter the parameters passed to a widget's display callback.
+                *
+                * Note: The filter is evaluated on both the front-end and back-end,
+                * including for the Inactive Widgets sidebar on the Widgets screen.
+                *
+                * @since 2.5.0
+                *
+                * @see register_sidebar()
+                *
+                * @param array $params {
+                *     @type array $args  {
+                *         An array of widget display arguments.
+                *
+                *         @type string $name          Name of the sidebar the widget is assigned to.
+                *         @type string $id            ID of the sidebar the widget is assigned to.
+                *         @type string $description   The sidebar description.
+                *         @type string $class         CSS class applied to the sidebar container.
+                *         @type string $before_widget HTML markup to prepend to each widget in the sidebar.
+                *         @type string $after_widget  HTML markup to append to each widget in the sidebar.
+                *         @type string $before_title  HTML markup to prepend to the widget title when displayed.
+                *         @type string $after_title   HTML markup to append to the widget title when displayed.
+                *         @type string $widget_id     ID of the widget.
+                *         @type string $widget_name   Name of the widget.
+                *     }
+                *     @type array $widget_args {
+                *         An array of multi-widget arguments.
+                *
+                *         @type int $number Number increment used for multiples of the same widget.
+                *     }
+                * }
+                */
                $params = apply_filters( 'dynamic_sidebar_params', $params );
 
                $callback = $wp_registered_widgets[$id]['callback'];
 
-               do_action( 'dynamic_sidebar', $wp_registered_widgets[$id] );
+               /**
+                * Fires before a widget's display callback is called.
+                *
+                * Note: The action fires on both the front-end and back-end, including
+                * for widgets in the Inactive Widgets sidebar on the Widgets screen.
+                *
+                * The action is not fired for empty sidebars.
+                *
+                * @since 3.0.0
+                *
+                * @param array $widget_id {
+                *     An associative array of widget arguments.
+                *
+                *     @type string $name                Name of the widget.
+                *     @type string $id                  Widget ID.
+                *     @type array|callback $callback    When the hook is fired on the front-end, $callback is an array
+                *                                       containing the widget object. Fired on the back-end, $callback
+                *                                       is 'wp_widget_control', see $_callback.
+                *     @type array          $params      An associative array of multi-widget arguments.
+                *     @type string         $classname   CSS class applied to the widget container.
+                *     @type string         $description The widget description.
+                *     @type array          $_callback   When the hook is fired on the back-end, $_callback is populated
+                *                                       with an array containing the widget object, see $callback.
+                * }
+                */
+               do_action( 'dynamic_sidebar', $wp_registered_widgets[ $id ] );
 
                if ( is_callable($callback) ) {
                        call_user_func_array($callback, $params);
@@ -897,6 +1084,35 @@ function dynamic_sidebar($index = 1) {
                }
        }
 
+       /**
+        * Fires after widgets are rendered in a dynamic sidebar.
+        *
+        * Note: The action also fires for empty sidebars, and on both the front-end
+        * and back-end, including the Inactive Widgets sidebar on the Widgets screen.
+        *
+        * @since 3.9.0
+        *
+        * @param int|string $index       Index, name, or ID of the dynamic sidebar.
+        * @param bool       $has_widgets Whether the sidebar is populated with widgets.
+        *                                Default true.
+        */
+       do_action( 'dynamic_sidebar_after', $index, true );
+
+       /**
+        * Filter whether a sidebar has widgets.
+        *
+        * Note: The filter is also evaluated for empty sidebars, and on both the front-end
+        * and back-end, including the Inactive Widgets sidebar on the Widgets screen.
+        *
+        * @since 3.9.0
+        *
+        * @param bool       $did_one Whether at least one widget was rendered in the sidebar.
+        *                            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;
 }
 
@@ -967,7 +1183,7 @@ function is_dynamic_sidebar() {
 /**
  * Whether a sidebar is in use.
  *
- * @since 2.8
+ * @since 2.8.0
  *
  * @param mixed $index Sidebar name, id or number to check.
  * @return bool true if the sidebar is in use, false otherwise.
@@ -976,7 +1192,17 @@ function is_active_sidebar( $index ) {
        $index = ( is_int($index) ) ? "sidebar-$index" : sanitize_title($index);
        $sidebars_widgets = wp_get_sidebars_widgets();
        $is_active_sidebar = ! empty( $sidebars_widgets[$index] );
-       return $is_active_sidebar;
+
+       /**
+        * Filter whether a dynamic sidebar is considered "active".
+        *
+        * @since 3.9.0
+        *
+        * @param bool       $is_active_sidebar Whether or not the sidebar should be considered "active".
+        *                                      In other words, whether the sidebar contains any widgets.
+        * @param int|string $index             Index, name, or ID of the dynamic sidebar.
+        */
+       return apply_filters( 'is_active_sidebar', $is_active_sidebar, $index );
 }
 
 /* Internal Functions */
@@ -1013,7 +1239,14 @@ function wp_get_sidebars_widgets($deprecated = true) {
        if ( is_array( $sidebars_widgets ) && isset($sidebars_widgets['array_version']) )
                unset($sidebars_widgets['array_version']);
 
-       $sidebars_widgets = apply_filters('sidebars_widgets', $sidebars_widgets);
+       /**
+        * Filter the list of sidebars and their widgets.
+        *
+        * @since 2.7.0
+        *
+        * @param array $sidebars_widgets An associative array of sidebars and their widgets.
+        */
+       $sidebars_widgets = apply_filters( 'sidebars_widgets', $sidebars_widgets );
        return $sidebars_widgets;
 }
 
@@ -1109,9 +1342,9 @@ function wp_convert_widget_settings($base_name, $option_name, $settings) {
 }
 
 /**
- * Output an arbitrary widget as a template tag
+ * Output an arbitrary widget as a template tag.
  *
- * @since 2.8
+ * @since 2.8.0
  *
  * @param string $widget the widget's PHP class name (see default-widgets.php)
  * @param array $instance the widget's instance settings
@@ -1131,6 +1364,15 @@ function the_widget($widget, $instance = array(), $args = array()) {
        $args = wp_parse_args($args, $default_args);
        $instance = wp_parse_args($instance);
 
+       /**
+        * Fires before rendering the requested widget.
+        *
+        * @since 3.0.0
+        *
+        * @param string $widget   The widget's class name.
+        * @param array  $instance The current widget instance's settings.
+        * @param array  $args     An array of the widget's sidebar arguments.
+        */
        do_action( 'the_widget', $widget, $instance, $args );
 
        $widget_obj->_set(-1);
@@ -1159,8 +1401,16 @@ function _wp_sidebars_changed() {
        retrieve_widgets(true);
 }
 
-// look for "lost" widgets, this has to run at least on each theme change
-function retrieve_widgets($theme_changed = false) {
+/**
+ * Look for "lost" widgets, this has to run at least on each theme change.
+ *
+ * @since 2.8.0
+ *
+ * @param mixed $theme_changed Whether the theme was changed as a boolean. A value
+ *                             of 'customize' defers updates for the customizer.
+ * @return array
+ */
+function retrieve_widgets( $theme_changed = false ) {
        global $wp_registered_sidebars, $sidebars_widgets, $wp_registered_widgets;
 
        $registered_sidebar_keys = array_keys( $wp_registered_sidebars );
@@ -1170,7 +1420,10 @@ function retrieve_widgets($theme_changed = false) {
        if ( is_array( $old_sidebars_widgets ) ) {
                // time() that sidebars were stored is in $old_sidebars_widgets['time']
                $_sidebars_widgets = $old_sidebars_widgets['data'];
-               remove_theme_mod( 'sidebars_widgets' );
+
+               if ( 'customize' === $theme_changed ) {
+                       remove_theme_mod( 'sidebars_widgets' );
+               }
 
                foreach ( $_sidebars_widgets as $sidebar => $widgets ) {
                        if ( 'wp_inactive_widgets' == $sidebar || 'orphaned_widgets' == substr( $sidebar, 0, 16 ) )
@@ -1253,7 +1506,9 @@ function retrieve_widgets($theme_changed = false) {
        }
 
        $sidebars_widgets['wp_inactive_widgets'] = array_merge($lost_widgets, (array) $sidebars_widgets['wp_inactive_widgets']);
-       wp_set_sidebars_widgets($sidebars_widgets);
+       if ( 'customize' === $theme_changed ) {
+               wp_set_sidebars_widgets( $sidebars_widgets );
+       }
 
        return $sidebars_widgets;
 }
index 9fcd4a7cab9653439858653a42940e01eba89221..c72a644c420a6a78efc3228c90a666d391fcdf81 100644 (file)
@@ -17,7 +17,8 @@ define( 'EZSQL_VERSION', 'WP1.25' );
 /**
  * @since 0.71
  */
-define( 'OBJECT', 'OBJECT', true );
+define( 'OBJECT', 'OBJECT' );
+define( 'object', 'OBJECT' ); // Back compat.
 
 /**
  * @since 2.5.0
@@ -157,6 +158,16 @@ class wpdb {
         */
        var $queries;
 
+       /**
+        * The number of times to retry reconnecting before dying.
+        *
+        * @since 3.9.0
+        * @access protected
+        * @see wpdb::check_connection()
+        * @var int
+        */
+       protected $reconnect_retries = 5;
+
        /**
         * WordPress table prefix
         *
@@ -170,6 +181,15 @@ class wpdb {
         */
        var $prefix = '';
 
+       /**
+        * WordPress base table prefix.
+        *
+        * @since 3.0.0
+        * @access public
+        * @var string
+        */
+        public $base_prefix;
+
        /**
         * Whether the database queries are ready to start executing.
         *
@@ -509,6 +529,34 @@ class wpdb {
         */
        public $is_mysql = null;
 
+       /**
+        * A list of incompatible SQL modes.
+        *
+        * @since 3.9.0
+        * @access protected
+        * @var array
+        */
+       protected $incompatible_modes = array( 'NO_ZERO_DATE', 'ONLY_FULL_GROUP_BY',
+               'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES', 'TRADITIONAL' );
+
+       /**
+        * Whether to use mysqli over mysql.
+        *
+        * @since 3.9.0
+        * @access private
+        * @var bool
+        */
+       private $use_mysqli = false;
+
+       /**
+        * Whether we've managed to successfully connect at some point
+        *
+        * @since 3.9.0
+        * @access private
+        * @var bool
+        */
+       private $has_connected = false;
+
        /**
         * Connects to the database server and selects a database
         *
@@ -530,6 +578,22 @@ class wpdb {
                if ( WP_DEBUG && WP_DEBUG_DISPLAY )
                        $this->show_errors();
 
+               /* Use ext/mysqli if it exists and:
+                *  - WP_USE_EXT_MYSQL is defined as false, or
+                *  - We are a development version of WordPress, or
+                *  - We are running PHP 5.5 or greater, or
+                *  - ext/mysql is not loaded.
+                */
+               if ( function_exists( 'mysqli_connect' ) ) {
+                       if ( defined( 'WP_USE_EXT_MYSQL' ) ) {
+                               $this->use_mysqli = ! WP_USE_EXT_MYSQL;
+                       } elseif ( version_compare( phpversion(), '5.5', '>=' ) || ! function_exists( 'mysql_connect' ) ) {
+                               $this->use_mysqli = true;
+                       } elseif ( false !== strpos( $GLOBALS['wp_version'], '-' ) ) {
+                               $this->use_mysqli = true;
+                       }
+               }
+
                $this->init_charset();
 
                $this->dbuser = $dbuser;
@@ -637,17 +701,95 @@ class wpdb {
                if ( ! isset( $collate ) )
                        $collate = $this->collate;
                if ( $this->has_cap( 'collation' ) && ! empty( $charset ) ) {
-                       if ( function_exists( 'mysql_set_charset' ) && $this->has_cap( 'set_charset' ) ) {
-                               mysql_set_charset( $charset, $dbh );
+                       if ( $this->use_mysqli ) {
+                               if ( function_exists( 'mysqli_set_charset' ) && $this->has_cap( 'set_charset' ) ) {
+                                       mysqli_set_charset( $dbh, $charset );
+                               } else {
+                                       $query = $this->prepare( 'SET NAMES %s', $charset );
+                                       if ( ! empty( $collate ) )
+                                               $query .= $this->prepare( ' COLLATE %s', $collate );
+                                       mysqli_query( $query, $dbh );
+                               }
                        } else {
-                               $query = $this->prepare( 'SET NAMES %s', $charset );
-                               if ( ! empty( $collate ) )
-                                       $query .= $this->prepare( ' COLLATE %s', $collate );
-                               mysql_query( $query, $dbh );
+                               if ( function_exists( 'mysql_set_charset' ) && $this->has_cap( 'set_charset' ) ) {
+                                       mysql_set_charset( $charset, $dbh );
+                               } else {
+                                       $query = $this->prepare( 'SET NAMES %s', $charset );
+                                       if ( ! empty( $collate ) )
+                                               $query .= $this->prepare( ' COLLATE %s', $collate );
+                                       mysql_query( $query, $dbh );
+                               }
                        }
                }
        }
 
+       /**
+        * Change the current SQL mode, and ensure its WordPress compatibility.
+        *
+        * If no modes are passed, it will ensure the current MySQL server
+        * modes are compatible.
+        *
+        * @since 3.9.0
+        *
+        * @param array $modes Optional. A list of SQL modes to set.
+        */
+       function set_sql_mode( $modes = array() ) {
+               if ( empty( $modes ) ) {
+                       if ( $this->use_mysqli ) {
+                               $res = mysqli_query( $this->dbh, 'SELECT @@SESSION.sql_mode' );
+                       } else {
+                               $res = mysql_query( 'SELECT @@SESSION.sql_mode', $this->dbh );
+                       }
+
+                       if ( empty( $res ) ) {
+                               return;
+                       }
+
+                       if ( $this->use_mysqli ) {
+                               $modes_array = mysqli_fetch_array( $res );
+                               if ( empty( $modes_array[0] ) ) {
+                                       return;
+                               }
+                               $modes_str = $modes_array[0];
+                       } else {
+                               $modes_str = mysql_result( $res, 0 );
+                       }
+
+                       if ( empty( $modes_str ) ) {
+                               return;
+                       }
+
+                       $modes = explode( ',', $modes_str );
+               }
+
+               $modes = array_change_key_case( $modes, CASE_UPPER );
+
+               /**
+                * Filter the list of incompatible SQL modes to exclude.
+                *
+                * @since 3.9.0
+                *
+                * @see wpdb::$incompatible_modes
+                *
+                * @param array $incompatible_modes An array of incompatible modes.
+                */
+               $incompatible_modes = (array) apply_filters( 'incompatible_sql_modes', $this->incompatible_modes );
+
+               foreach( $modes as $i => $mode ) {
+                       if ( in_array( $mode, $incompatible_modes ) ) {
+                               unset( $modes[ $i ] );
+                       }
+               }
+
+               $modes_str = implode( ',', $modes );
+
+               if ( $this->use_mysqli ) {
+                       mysqli_query( $this->dbh, "SET SESSION sql_mode='$modes_str'" );
+               } else {
+                       mysql_query( "SET SESSION sql_mode='$modes_str'", $this->dbh );
+               }
+       }
+
        /**
         * Sets the table prefix for the WordPress tables.
         *
@@ -830,17 +972,24 @@ class wpdb {
                if ( is_null($dbh) )
                        $dbh = $this->dbh;
 
-               if ( !@mysql_select_db( $db, $dbh ) ) {
+               if ( $this->use_mysqli ) {
+                       $success = @mysqli_select_db( $dbh, $db );
+               } else {
+                       $success = @mysql_select_db( $db, $dbh );
+               }
+               if ( ! $success ) {
                        $this->ready = false;
-                       wp_load_translations_early();
-                       $this->bail( sprintf( __( '<h1>Can&#8217;t select database</h1>
+                       if ( ! did_action( 'template_redirect' ) ) {
+                               wp_load_translations_early();
+                               $this->bail( sprintf( __( '<h1>Can&#8217;t select database</h1>
 <p>We were able to connect to the database server (which means your username and password is okay) but not able to select the <code>%1$s</code> database.</p>
 <ul>
 <li>Are you sure it exists?</li>
 <li>Does the user <code>%2$s</code> have permission to use the <code>%1$s</code> database?</li>
 <li>On some systems the name of your database is prefixed with your username, so it would be like <code>username_%1$s</code>. Could that be the problem?</li>
 </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="http://wordpress.org/support/">WordPress Support Forums</a>.</p>' ), htmlspecialchars( $db, ENT_QUOTES ), htmlspecialchars( $this->dbuser, ENT_QUOTES ) ), 'db_select_fail' );
+<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;
                }
        }
@@ -866,8 +1015,9 @@ class wpdb {
        }
 
        /**
-        * Real escape, using mysql_real_escape_string()
+        * Real escape, using mysqli_real_escape_string() or mysql_real_escape_string()
         *
+        * @see mysqli_real_escape_string()
         * @see mysql_real_escape_string()
         * @since 2.8.0
         * @access private
@@ -876,8 +1026,13 @@ class wpdb {
         * @return string escaped
         */
        function _real_escape( $string ) {
-               if ( $this->dbh )
-                       return mysql_real_escape_string( $string, $this->dbh );
+               if ( $this->dbh ) {
+                       if ( $this->use_mysqli ) {
+                               return mysqli_real_escape_string( $this->dbh, $string );
+                       } else {
+                               return mysql_real_escape_string( $string, $this->dbh );
+                       }
+               }
 
                $class = get_class( $this );
                _doing_it_wrong( $class, "$class must set a database connection for use with escaping.", E_USER_NOTICE );
@@ -993,6 +1148,11 @@ class wpdb {
                if ( is_null( $query ) )
                        return;
 
+               // This is not meant to be foolproof -- but it will catch obviously incorrect usage.
+               if ( strpos( $query, '%' ) === false ) {
+                       _doing_it_wrong( 'wpdb::prepare', sprintf( __( 'The query argument of %s must have a placeholder.' ), 'wpdb::prepare()' ), '3.9' );
+               }
+
                $args = func_get_args();
                array_shift( $args );
                // If args were passed as an array (as in vsprintf), move them up
@@ -1018,8 +1178,13 @@ class wpdb {
        function print_error( $str = '' ) {
                global $EZSQL_ERROR;
 
-               if ( !$str )
-                       $str = mysql_error( $this->dbh );
+               if ( !$str ) {
+                       if ( $this->use_mysqli ) {
+                               $str = mysqli_error( $this->dbh );
+                       } else {
+                               $str = mysql_error( $this->dbh );
+                       }
+               }
                $EZSQL_ERROR[] = array( 'query' => $this->last_query, 'error_str' => $str );
 
                if ( $this->suppress_errors )
@@ -1122,38 +1287,103 @@ class wpdb {
                $this->rows_affected = $this->num_rows = 0;
                $this->last_error  = '';
 
-               if ( is_resource( $this->result ) )
-                       mysql_free_result( $this->result );
+               if ( is_resource( $this->result ) ) {
+                       if ( $this->use_mysqli ) {
+                               mysqli_free_result( $this->result );
+                       } else {
+                               mysql_free_result( $this->result );
+                       }
+               }
        }
 
        /**
-        * Connect to and select database
+        * Connect to and select database.
+        *
+        * If $allow_bail is false, the lack of database connection will need
+        * to be handled manually.
         *
         * @since 3.0.0
+        * @since 3.9.0 $allow_bail parameter added.
+        *
+        * @param bool $allow_bail Optional. Allows the function to bail. Default true.
+        * @return bool True with a successful connection, false on failure.
         */
-       function db_connect() {
+       function db_connect( $allow_bail = true ) {
 
                $this->is_mysql = true;
 
                $new_link = defined( 'MYSQL_NEW_LINK' ) ? MYSQL_NEW_LINK : true;
                $client_flags = defined( 'MYSQL_CLIENT_FLAGS' ) ? MYSQL_CLIENT_FLAGS : 0;
 
-               if ( WP_DEBUG ) {
-                       $error_reporting = false;
-                       if ( defined( 'E_DEPRECATED' ) ) {
-                               $error_reporting = error_reporting();
-                               error_reporting( $error_reporting ^ E_DEPRECATED );
+               if ( $this->use_mysqli ) {
+                       $this->dbh = mysqli_init();
+
+                       // mysqli_real_connect doesn't support the host param including a port or socket
+                       // like mysql_connect does. This duplicates how mysql_connect detects a port and/or socket file.
+                       $port = null;
+                       $socket = null;
+                       $host = $this->dbhost;
+                       $port_or_socket = strstr( $host, ':' );
+                       if ( ! empty( $port_or_socket ) ) {
+                               $host = substr( $host, 0, strpos( $host, ':' ) );
+                               $port_or_socket = substr( $port_or_socket, 1 );
+                               if ( 0 !== strpos( $port_or_socket, '/' ) ) {
+                                       $port = intval( $port_or_socket );
+                                       $maybe_socket = strstr( $port_or_socket, ':' );
+                                       if ( ! empty( $maybe_socket ) ) {
+                                               $socket = substr( $maybe_socket, 1 );
+                                       }
+                               } else {
+                                       $socket = $port_or_socket;
+                               }
                        }
-                       $this->dbh = mysql_connect( $this->dbhost, $this->dbuser, $this->dbpassword, $new_link, $client_flags );
-                       if ( false !== $error_reporting ) {
-                               error_reporting( $error_reporting );
+
+                       if ( WP_DEBUG ) {
+                               mysqli_real_connect( $this->dbh, $host, $this->dbuser, $this->dbpassword, null, $port, $socket, $client_flags );
+                       } else {
+                               @mysqli_real_connect( $this->dbh, $host, $this->dbuser, $this->dbpassword, null, $port, $socket, $client_flags );
+                       }
+
+                       if ( $this->dbh->connect_errno ) {
+                               $this->dbh = null;
+
+                               /* It's possible ext/mysqli is misconfigured. Fall back to ext/mysql if:
+                                *  - We haven't previously connected, and
+                                *  - WP_USE_EXT_MYSQL isn't set to false, and
+                                *  - ext/mysql is loaded.
+                                */
+                               $attempt_fallback = true;
+
+                               if ( $this->has_connected ) {
+                                       $attempt_fallback = false;
+                               } else if ( defined( 'WP_USE_EXT_MYSQL' ) && ! WP_USE_EXT_MYSQL ) {
+                                       $attempt_fallback = false;
+                               } else if ( ! function_exists( 'mysql_connect' ) ) {
+                                       $attempt_fallback = false;
+                               }
+
+                               if ( $attempt_fallback ) {
+                                       $this->use_mysqli = false;
+                                       $this->db_connect();
+                               }
                        }
                } else {
-                       $this->dbh = @mysql_connect( $this->dbhost, $this->dbuser, $this->dbpassword, $new_link, $client_flags );
+                       if ( WP_DEBUG ) {
+                               $this->dbh = mysql_connect( $this->dbhost, $this->dbuser, $this->dbpassword, $new_link, $client_flags );
+                       } else {
+                               $this->dbh = @mysql_connect( $this->dbhost, $this->dbuser, $this->dbpassword, $new_link, $client_flags );
+                       }
                }
 
-               if ( !$this->dbh ) {
+               if ( ! $this->dbh && $allow_bail ) {
                        wp_load_translations_early();
+
+                       // Load custom DB error template, if present.
+                       if ( file_exists( WP_CONTENT_DIR . '/db-error.php' ) ) {
+                               require_once( WP_CONTENT_DIR . '/db-error.php' );
+                               die();
+                       }
+
                        $this->bail( sprintf( __( "
 <h1>Error establishing a database connection</h1>
 <p>This either means that the username and password information in your <code>wp-config.php</code> file is incorrect or we can't contact the database server at <code>%s</code>. This could mean your host's database server is down.</p>
@@ -1162,17 +1392,97 @@ class wpdb {
        <li>Are you sure that you have typed the correct hostname?</li>
        <li>Are you sure that the database server is running?</li>
 </ul>
-<p>If you're unsure what these terms mean you should probably contact your host. If you still need help you can always visit the <a href='http://wordpress.org/support/'>WordPress Support Forums</a>.</p>
+<p>If you're unsure what these terms mean you should probably contact your host. If you still need help you can always visit the <a href='https://wordpress.org/support/'>WordPress Support Forums</a>.</p>
 " ), htmlspecialchars( $this->dbhost, ENT_QUOTES ) ), 'db_connect_fail' );
 
-                       return;
+                       return false;
+               } else if ( $this->dbh ) {
+                       $this->has_connected = true;
+                       $this->set_charset( $this->dbh );
+                       $this->set_sql_mode();
+                       $this->ready = true;
+                       $this->select( $this->dbname, $this->dbh );
+
+                       return true;
                }
 
-               $this->set_charset( $this->dbh );
+               return false;
+       }
 
-               $this->ready = true;
+       /**
+        * Check that the connection to the database is still up. If not, try to reconnect.
+        *
+        * If this function is unable to reconnect, it will forcibly die, or if after the
+        * the template_redirect hook has been fired, return false instead.
+        *
+        * If $allow_bail is false, the lack of database connection will need
+        * to be handled manually.
+        *
+        * @since 3.9.0
+        *
+        * @param bool $allow_bail Optional. Allows the function to bail. Default true.
+        * @return bool True if the connection is up.
+        */
+       function check_connection( $allow_bail = true ) {
+               if ( $this->use_mysqli ) {
+                       if ( @mysqli_ping( $this->dbh ) ) {
+                               return true;
+                       }
+               } else {
+                       if ( @mysql_ping( $this->dbh ) ) {
+                               return true;
+                       }
+               }
 
-               $this->select( $this->dbname, $this->dbh );
+               $error_reporting = false;
+
+               // Disable warnings, as we don't want to see a multitude of "unable to connect" messages
+               if ( WP_DEBUG ) {
+                       $error_reporting = error_reporting();
+                       error_reporting( $error_reporting & ~E_WARNING );
+               }
+
+               for ( $tries = 1; $tries <= $this->reconnect_retries; $tries++ ) {
+                       // On the last try, re-enable warnings. We want to see a single instance of the
+                       // "unable to connect" message on the bail() screen, if it appears.
+                       if ( $this->reconnect_retries === $tries && WP_DEBUG ) {
+                               error_reporting( $error_reporting );
+                       }
+
+                       if ( $this->db_connect( false ) ) {
+                               if ( $error_reporting ) {
+                                       error_reporting( $error_reporting );
+                               }
+
+                               return true;
+                       }
+
+                       sleep( 1 );
+               }
+
+               // If template_redirect has already happened, it's too late for wp_die()/dead_db().
+               // Let's just return and hope for the best.
+               if ( did_action( 'template_redirect' ) ) {
+                       return false;
+               }
+
+               if ( ! $allow_bail ) {
+                       return false;
+               }
+
+               // We weren't able to reconnect, so we better bail.
+               $this->bail( sprintf( ( "
+<h1>Error reconnecting to the database</h1>
+<p>This means that we lost contact with the database server at <code>%s</code>. This could mean your host's database server is down.</p>
+<ul>
+       <li>Are you sure that the database server is running?</li>
+       <li>Are you sure that the database server is not under particularly heavy load?</li>
+</ul>
+<p>If you're unsure what these terms mean you should probably contact your host. If you still need help you can always visit the <a href='https://wordpress.org/support/'>WordPress Support Forums</a>.</p>
+" ), htmlspecialchars( $this->dbhost, ENT_QUOTES ) ), 'db_connect_fail' );
+
+               // Call dead_db() if bail didn't die, because this database is no more. It has ceased to be (at least temporarily).
+               dead_db();
        }
 
        /**
@@ -1188,12 +1498,15 @@ class wpdb {
        function query( $query ) {
                if ( ! $this->ready )
                        return false;
+
                /**
                 * Filter the database query.
                 *
-                * Some queries are made before the plugins have been loaded, and thus cannot be filtered with this method.
+                * Some queries are made before the plugins have been loaded,
+                * and thus cannot be filtered with this method.
                 *
                 * @since 2.1.0
+                *
                 * @param string $query Database query.
                 */
                $query = apply_filters( 'query', $query );
@@ -1207,17 +1520,35 @@ class wpdb {
                // Keep track of the last query for debug..
                $this->last_query = $query;
 
-               if ( defined( 'SAVEQUERIES' ) && SAVEQUERIES )
-                       $this->timer_start();
+               $this->_do_query( $query );
 
-               $this->result = @mysql_query( $query, $this->dbh );
-               $this->num_queries++;
+               // MySQL server has gone away, try to reconnect
+               $mysql_errno = 0;
+               if ( ! empty( $this->dbh ) ) {
+                       if ( $this->use_mysqli ) {
+                               $mysql_errno = mysqli_errno( $this->dbh );
+                       } else {
+                               $mysql_errno = mysql_errno( $this->dbh );
+                       }
+               }
 
-               if ( defined( 'SAVEQUERIES' ) && SAVEQUERIES )
-                       $this->queries[] = array( $query, $this->timer_stop(), $this->get_caller() );
+               if ( empty( $this->dbh ) || 2006 == $mysql_errno ) {
+                       if ( $this->check_connection() ) {
+                               $this->_do_query( $query );
+                       } else {
+                               $this->insert_id = 0;
+                               return false;
+                       }
+               }
 
                // If there is an error then take note of it..
-               if ( $this->last_error = mysql_error( $this->dbh ) ) {
+               if ( $this->use_mysqli ) {
+                       $this->last_error = mysqli_error( $this->dbh );
+               } else {
+                       $this->last_error = mysql_error( $this->dbh );
+               }
+
+               if ( $this->last_error ) {
                        // Clear insert_id on a subsequent failed insert.
                        if ( $this->insert_id && preg_match( '/^\s*(insert|replace)\s/i', $query ) )
                                $this->insert_id = 0;
@@ -1229,18 +1560,33 @@ class wpdb {
                if ( preg_match( '/^\s*(create|alter|truncate|drop)\s/i', $query ) ) {
                        $return_val = $this->result;
                } elseif ( preg_match( '/^\s*(insert|delete|update|replace)\s/i', $query ) ) {
-                       $this->rows_affected = mysql_affected_rows( $this->dbh );
+                       if ( $this->use_mysqli ) {
+                               $this->rows_affected = mysqli_affected_rows( $this->dbh );
+                       } else {
+                               $this->rows_affected = mysql_affected_rows( $this->dbh );
+                       }
                        // Take note of the insert_id
                        if ( preg_match( '/^\s*(insert|replace)\s/i', $query ) ) {
-                               $this->insert_id = mysql_insert_id($this->dbh);
+                               if ( $this->use_mysqli ) {
+                                       $this->insert_id = mysqli_insert_id( $this->dbh );
+                               } else {
+                                       $this->insert_id = mysql_insert_id( $this->dbh );
+                               }
                        }
                        // Return number of rows affected
                        $return_val = $this->rows_affected;
                } else {
                        $num_rows = 0;
-                       while ( $row = @mysql_fetch_object( $this->result ) ) {
-                               $this->last_result[$num_rows] = $row;
-                               $num_rows++;
+                       if ( $this->use_mysqli ) {
+                               while ( $row = @mysqli_fetch_object( $this->result ) ) {
+                                       $this->last_result[$num_rows] = $row;
+                                       $num_rows++;
+                               }
+                       } else {
+                               while ( $row = @mysql_fetch_object( $this->result ) ) {
+                                       $this->last_result[$num_rows] = $row;
+                                       $num_rows++;
+                               }
                        }
 
                        // Log number of rows the query returned
@@ -1252,6 +1598,33 @@ class wpdb {
                return $return_val;
        }
 
+       /**
+        * Internal function to perform the mysql_query() call.
+        *
+        * @since 3.9.0
+        *
+        * @access private
+        * @see wpdb::query()
+        *
+        * @param string $query The query to run.
+        */
+       private function _do_query( $query ) {
+               if ( defined( 'SAVEQUERIES' ) && SAVEQUERIES ) {
+                       $this->timer_start();
+               }
+
+               if ( $this->use_mysqli ) {
+                       $this->result = @mysqli_query( $this->dbh, $query );
+               } else {
+                       $this->result = @mysql_query( $query, $this->dbh );
+               }
+               $this->num_queries++;
+
+               if ( defined( 'SAVEQUERIES' ) && SAVEQUERIES ) {
+                       $this->queries[] = array( $query, $this->timer_stop(), $this->get_caller() );
+               }
+       }
+
        /**
         * Insert a row into a table.
         *
@@ -1488,6 +1861,9 @@ class wpdb {
                        return $this->last_result[$y] ? get_object_vars( $this->last_result[$y] ) : null;
                } elseif ( $output == ARRAY_N ) {
                        return $this->last_result[$y] ? array_values( get_object_vars( $this->last_result[$y] ) ) : null;
+               } elseif ( strtoupper( $output ) === OBJECT ) {
+                       // Back compat for OBJECT being previously case insensitive.
+                       return $this->last_result[$y] ? $this->last_result[$y] : null;
                } else {
                        $this->print_error( " \$db->get_row(string query, output type, int offset) -- Output type must be one of: OBJECT, ARRAY_A, ARRAY_N" );
                }
@@ -1567,6 +1943,9 @@ class wpdb {
                                }
                        }
                        return $new_array;
+               } elseif ( strtoupper( $output ) === OBJECT ) {
+                       // Back compat for OBJECT being previously case insensitive.
+                       return $this->last_result;
                }
                return null;
        }
@@ -1582,8 +1961,14 @@ class wpdb {
                if ( $this->col_info )
                        return;
 
-               for ( $i = 0; $i < @mysql_num_fields( $this->result ); $i++ ) {
-                       $this->col_info[ $i ] = @mysql_fetch_field( $this->result, $i );
+               if ( $this->use_mysqli ) {
+                       for ( $i = 0; $i < @mysqli_num_fields( $this->result ); $i++ ) {
+                               $this->col_info[ $i ] = @mysqli_fetch_field( $this->result );
+                       }
+               } else {
+                       for ( $i = 0; $i < @mysql_num_fields( $this->result ); $i++ ) {
+                               $this->col_info[ $i ] = @mysql_fetch_field( $this->result, $i );
+                       }
                }
        }
 
@@ -1755,6 +2140,11 @@ class wpdb {
         * @return false|string false on failure, version number on success
         */
        function db_version() {
-               return preg_replace( '/[^0-9.].*/', '', mysql_get_server_info( $this->dbh ) );
+               if ( $this->use_mysqli ) {
+                       $server_info = mysqli_get_server_info( $this->dbh );
+               } else {
+                       $server_info = mysql_get_server_info( $this->dbh );
+               }
+               return preg_replace( '/[^0-9.].*/', '', $server_info );
        }
 }
index 268d2b3495edda67ce81213bafce685dbcd5c6c2..7bb53343d16e14fdaf4a4e39b21d2faa28eed312 100644 (file)
@@ -68,9 +68,7 @@ function login_header( $title = 'Log In', $message = '', $wp_error = '' ) {
        <title><?php bloginfo('name'); ?> &rsaquo; <?php echo $title; ?></title>
        <?php
 
-       wp_admin_css( 'wp-admin', true );
-       wp_admin_css( 'colors-fresh', true );
-       wp_admin_css( 'ie', true );
+       wp_admin_css( 'login', true );
 
        // Remove all stored post data on logging out.
        // This could be added by add_action('login_head'...) like wp_shake_js()
@@ -98,7 +96,7 @@ function login_header( $title = 'Log In', $message = '', $wp_error = '' ) {
                $login_header_url   = network_home_url();
                $login_header_title = get_current_site()->site_name;
        } else {
-               $login_header_url   = __( 'http://wordpress.org/' );
+               $login_header_url   = __( 'https://wordpress.org/' );
                $login_header_title = __( 'Powered by WordPress' );
        }
 
@@ -133,6 +131,7 @@ function login_header( $title = 'Log In', $message = '', $wp_error = '' ) {
                if ( 'success' ===  $interim_login )
                        $classes[] = 'interim-login-success';
        }
+       $classes[] =' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
 
        /**
         * Filter the login page body classes.
@@ -390,7 +389,7 @@ function retrieve_password() {
         */
        $message = apply_filters( 'retrieve_password_message', $message, $key );
 
-       if ( $message && !wp_mail($user_email, $title, $message) )
+       if ( $message && !wp_mail( $user_email, wp_specialchars_decode( $title ), $message ) )
                wp_die( __('The e-mail could not be sent.') . "<br />\n" . __('Possible reason: your host may have disabled the mail() function.') );
 
        return true;
@@ -614,9 +613,20 @@ case 'rp' :
        </p>
 
        <div id="pass-strength-result" class="hide-if-no-js"><?php _e('Strength indicator'); ?></div>
-       <p class="description indicator-hint"><?php _e('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; ).'); ?></p>
+       <p class="description indicator-hint"><?php _e('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; ).'); ?></p>
 
        <br class="clear" />
+
+       <?php
+       /**
+        * Fires following the 'Strength indicator' meter in the user password reset form.
+        *
+        * @since 3.9.0
+        *
+        * @param WP_User $user User object of the user whose password is being reset.
+        */
+       do_action( 'resetpass_form', $user );
+       ?>
        <p class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e('Reset Password'); ?>" /></p>
 </form>
 
@@ -746,11 +756,18 @@ default:
        if ( !$secure_cookie && is_ssl() && force_ssl_login() && !force_ssl_admin() && ( 0 !== strpos($redirect_to, 'https') ) && ( 0 === strpos($redirect_to, 'http') ) )
                $secure_cookie = false;
 
-       // If cookies are disabled we can't log in even with a valid user+pass
-       if ( isset($_POST['testcookie']) && empty($_COOKIE[TEST_COOKIE]) )
-               $user = new WP_Error('test_cookie', __("<strong>ERROR</strong>: Cookies are blocked or not supported by your browser. You must <a href='http://www.google.com/cookies.html'>enable cookies</a> to use WordPress."));
-       else
-               $user = wp_signon('', $secure_cookie);
+       $user = wp_signon( '', $secure_cookie );
+
+       if ( empty( $_COOKIE[ LOGGED_IN_COOKIE ] ) ) {
+               if ( headers_sent() ) {
+                       $user = new WP_Error( 'test_cookie', sprintf( __( '<strong>ERROR</strong>: Cookies are blocked due to unexpected output. For help, please see <a href="%1$s">this documentation</a> or try the <a href="%2$s">support forums</a>.' ),
+                               __( 'http://codex.wordpress.org/Cookies' ), __( 'https://wordpress.org/support/' ) ) );
+               } elseif ( isset( $_POST['testcookie'] ) && empty( $_COOKIE[ TEST_COOKIE ] ) ) {
+                       // If cookies are disabled we can't log in even with a valid user+pass
+                       $user = new WP_Error( 'test_cookie', sprintf( __( '<strong>ERROR</strong>: Cookies are blocked or not supported by your browser. You must <a href="%s">enable cookies</a> to use WordPress.' ),
+                               __( 'http://codex.wordpress.org/Cookies' ) ) );
+               }
+       }
 
        $requested_redirect_to = isset( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
        /**
index 40d3a61e1ab4098d7baaa43aa7a77451b6ad0000..9f731950236c55811ab0e704cfa5ff231e987200 100644 (file)
@@ -164,6 +164,8 @@ if ( is_multisite() ) {
 // Define must-use plugin directory constants, which may be overridden in the sunrise.php drop-in.
 wp_plugin_directory_constants();
 
+$GLOBALS['wp_plugin_paths'] = array();
+
 // Load must-use plugins.
 foreach ( wp_get_mu_plugins() as $mu_plugin ) {
        include_once( $mu_plugin );
@@ -173,6 +175,7 @@ unset( $mu_plugin );
 // Load network activated plugins.
 if ( is_multisite() ) {
        foreach( wp_get_active_network_plugins() as $network_plugin ) {
+               wp_register_plugin_realpath( $network_plugin );
                include_once( $network_plugin );
        }
        unset( $network_plugin );
@@ -206,8 +209,10 @@ create_initial_post_types();
 register_theme_directory( get_theme_root() );
 
 // Load active plugins.
-foreach ( wp_get_active_and_valid_plugins() as $plugin )
+foreach ( wp_get_active_and_valid_plugins() as $plugin ) {
+       wp_register_plugin_realpath( $plugin );
        include_once( $plugin );
+}
 unset( $plugin );
 
 // Load pluggable functions.
@@ -248,7 +253,7 @@ do_action( 'sanitize_comment_cookies' );
  * @global object $wp_the_query
  * @since 2.0.0
  */
-$wp_the_query = new WP_Query();
+$GLOBALS['wp_the_query'] = new WP_Query();
 
 /**
  * Holds the reference to @see $wp_the_query
@@ -256,7 +261,7 @@ $wp_the_query = new WP_Query();
  * @global object $wp_query
  * @since 1.5.0
  */
-$wp_query = $wp_the_query;
+$GLOBALS['wp_query'] = $GLOBALS['wp_the_query'];
 
 /**
  * Holds the WordPress Rewrite object for creating pretty URLs
@@ -270,7 +275,7 @@ $GLOBALS['wp_rewrite'] = new WP_Rewrite();
  * @global object $wp
  * @since 2.0.0
  */
-$wp = new WP();
+$GLOBALS['wp'] = new WP();
 
 /**
  * WordPress Widget Factory Object
@@ -331,7 +336,7 @@ if ( ! defined( 'WP_INSTALLING' ) || 'wp-activate.php' === $pagenow ) {
 do_action( 'after_setup_theme' );
 
 // Set up current user.
-$wp->init();
+$GLOBALS['wp']->init();
 
 /**
  * Fires after WordPress has finished loading but before any headers are sent.
index 3163120bf2142009b7463d796e0171f6f1daa51b..9c663820e08ca5bc59204fd791c13cf9b5358784 100644 (file)
@@ -46,7 +46,8 @@ header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
       /**
        * Add additional APIs to the Really Simple Discovery (RSD) endpoint.
        *
-       * @see http://cyber.law.harvard.edu/blogs/gems/tech/rsd.html
+       * @link http://cyber.law.harvard.edu/blogs/gems/tech/rsd.html
+          *
        * @since 3.5.0
        */
       do_action( 'xmlrpc_rsd_apis' );
@@ -73,7 +74,8 @@ $post_default_title = "";
  * Filter the class used for handling XML-RPC requests.
  *
  * @since 3.1.0
- * @param string The name of the XML-RPC server class.
+ *
+ * @param string $class The name of the XML-RPC server class.
  */
 $wp_xmlrpc_server_class = apply_filters( 'wp_xmlrpc_server_class', 'wp_xmlrpc_server' );
 $wp_xmlrpc_server = new $wp_xmlrpc_server_class;